CN111506576A - 一种基于区域四叉树的地块编码方法及装置 - Google Patents
一种基于区域四叉树的地块编码方法及装置 Download PDFInfo
- Publication number
- CN111506576A CN111506576A CN202010271288.1A CN202010271288A CN111506576A CN 111506576 A CN111506576 A CN 111506576A CN 202010271288 A CN202010271288 A CN 202010271288A CN 111506576 A CN111506576 A CN 111506576A
- Authority
- CN
- China
- Prior art keywords
- grid
- level
- current
- region
- parcel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/70—Type of the data to be coded, other than image and sound
- H03M7/705—Unicode
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于区域四叉树的地块编码方法及装置,所述方法包括如下步骤:步骤S1,将待编码区域空间按不同层级进行空间单元的划分,每个层级根据区域四叉树规则划分成大小相等的空间网格单元,并通过选定的坐标系统对每个层级的最小网格单元格进行唯一编码;步骤S2,依次考察待编码区域的每一个地块,根据当前地块的位置和大小,计算并确定与所述当前地块大小相当、且包含该当前地块几何体重心的相应层级的网格单元,将该网格单元的编号作为当前地块的编码。
Description
技术领域
本发明涉及地理信息系统(GIS)技术领域,特别是涉及一种基于区域四叉树的地块编码方法及装置。
背景技术
地理要素(Feature)是地理信息系统(Geographic Information System,GIS)中用来描述客观世界中离散的地理实体的一种数据抽象和表述,如行政区划、河流、道路、建筑物等。在GIS中,地理要素通常分为点、线、面三种形式。
所有地理要素都有刻画其空间位置和形状特征的信息,一般称为地理几何体(geometry)。除地理几何体外,地理要素还有许多非空间信息,称之为属性(Atributes),如建筑物的名称、类型、所有权、使用情况等。为了实现对地理要素的有效管理,需要给每个地理要素进行唯一的编码。
目前通常采用层次编码的方法对地理要素进行编码,如利用地理要素分类码结合行政区划代码等给地理要素进行唯一性编码就是最为常用的方法。这种编码的优点是编码的每一位数字或字母都包含了特定的信息,如要素类型、所属行政区划(省、县、镇、村)。缺点是每一个要素都需要人工来来编码,工作量十分巨大,适合于对地理要素采集时初始化编码,更新与维护非常困难,且容易造成人为的错误等。一旦相关分类发生变化,如行政区划调整,则地理要素编码也要随之作调整,否则失去其指示意义。
农田地块(以下简称地块或田块)是农业生产的基本单元和农业生产管理的核心元素,是指以农村道路、沟渠、田埂等为自然边界、直接和间接用于农业生产的农田地块。包括能独立耕种的地块(耕地),也包括具有同一属性、集中连片的园地、林地、养殖用地等其他农用地。从地理信息的角度看,农田地块是一种面状地理要素。
在农用地管理系统中,需要对每一个农田地块进行唯一编码,以实现信息交换、地块空间信息与属性信息的关联以及地块信息的查询等基本要求。地块编码是指为区别同类其他农田地块而规定的,用来唯一标识某一农田地块身份的编号,也称为田块识别码。地块编码要具有唯一性、确定性和稳定性。
传统的农田地块编码就是参考行政区划代码设计而来的。有代表性的设计是在行政区划代码的基础上在后面增加若干位数字,对田块的进行顺序编号,如图1所示。
传统地块编码的优点是编码方法简单,方便人工编排,但也有如下缺点:
1)地块编号没有统一规则。基于行政区划代码的地块编码,便于人工编排和识别,但是地块编号的顺序具有随意性和不确定性,没有统一的方法,不方便计算机程序实现,后续更新时容易混乱。
2)编码不具稳定性。由于城市发展和建设管理的需要,区县、镇、村、组的行政单元和代码存在经常性调整。如浦东与南汇的合并,以及城郊结合部镇、村的合并和界线调整。行政区划代码的调整和变动,需要对地块进行重新编码,否则失去对行政区划的指示意义。
3)不能很好支持地块的动态管理。由于土地流转和种植作物的调整等原因,需要经常性的对农田地块进行拆分、重组和边界调整。传统地块编码方法对地块的拆分、合并和重组不能很好适应,并面临编码空间管理上混乱的困难。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种基于区域四叉树的地块编码方法及装置,以基于矢量空间数据的四叉树索引技术对农田地块实现了面向面状地理要素编码的目的。
为达上述目的,本发明提出一种基于区域四叉树的地块编码方法,包括如下步骤:
步骤S1,将待编码区域空间按不同层级进行空间单元的划分,每个层级根据区域四叉树规则划分成大小相等的空间网格单元,并通过选定的坐标系统对每个层级的最小网格单元格进行唯一编码;
步骤S2,依次考察待编码区域的每一个地块,确定当前地块的位置和大小,计算并确定与所述当前地块大小相当、且包含该当前地块几何体重心的相应层级的网格单元,将该网格单元的编号作为当前地块的编码。
优选地,步骤S1进一步包括:
步骤S100,将所述待编码区域由粗到细划分为n个层级,每个层级划分为若干大小相等、有规则的网格单元;
步骤S101,选定一坐标系统,基于所述坐标系统对每个层级的各网格单元进行无重复编码,所述编码信息中至少包括层级、区域、南北向网格以及东西向网格信息。
优选地,于步骤S1中,根据最小可耕种田块的大小初步确定第n层网格单元大小,将待编码区域划分为2n*2n个网格单元作为第n层,然后确定第n-1层网格单元大小,划分相应数量的网格单元,依此向上层级划分,下一层级的网格单元数量是上一层级的网格单元数量的4倍,其每个网格单元的边长则为上一层级网格单元边长的1/2,直至最顶层待编码区域划分完毕,最顶层为2*2个网络单元。
优选地,于步骤S101中,所述编码信息中至少包括1位字符的层级码、1位字符的区位码、5位数字的南北向网格代码以及5位数字的东西向网格代码。
优选地,步骤S2进一步包括:
步骤S200,根据当前地块的最小边界矩形确定所选择的网格单元的大小及待查询网格层级L;
步骤S201,以当前地块的几何重心点坐标来确定当前地块对应的网格单元位置。
优选地,步骤S201进一步包括:
步骤S201a,确定当前地块的几何重心点坐标;
步骤S201b,于待查询网格层级L查找包含当前地块几何体重心的网格单元,将该单元网格编码作为当前地块的初始编码。
优选地,于步骤S201a,以当前地块几何起点为原点,沿顺时针旋转方向,对地块进行连续三角剖分,计算出每个三角形的几何中心坐标(xi,yi)和三角形面积si,从而计算出当前地块的几何体重心坐标G(gx,gy)。
优选地,步骤S201还包括:
步骤S201c,利用获得的网格单元裁剪当前地块几何体,计算裁剪后的几何体面积Sf和网格单元面积Sr之比;如果比值大于预设值,则将步骤S201b确定的网格单元代码赋给当前地块,完成编码,否则进入步骤S201d;
步骤S201d,将网格层级L加1,于L+1层查找包含当前地块几何体重心的网格单元,并返回步骤S201c,直到满足条件或最后层级查找完毕。
优选地,于步骤S2后,还包括如下步骤:
步骤S3,于解码时,获取待解码地块的编码信息,根据所述编码信息依次解析出所述待解码地块所处的层级、区域以及所处层级的南北向网格以及东西向网格信息,计算出当前地块中心点的坐标方位,从而获得当前地块的大小和位置。
为达到上述目的,本发明还提供一种基于区域四叉树的地块编码装置,包括:
空间划分编码单元,用于将待编码区域空间按不同层级进行空间单元的划分,每个层级根据区域四叉树规则分成大小相等的空间网格单元,并通过选定坐标系统对每个层级的最小单元格进行唯一编码;
地块编码单元,用于依次考察待编码区域的每一个地块,确定当前地块的位置和大小,选择一个与当前地块大小相当、且包含该地块几何体重心的相应层级的网格单元,将该网格单元的编号作为当前地块的初始编码,并通过计算,进一步获取当前地块的最终编码。
与现有技术相比,本发明一种基于区域四叉树的地块编码方法及装置通过根据地理要素的空间信息,基于矢量空间数据的区域四叉树索引(金字塔索引)技术对地块实现了面向面状地理要素的编码,由于本发明的编码方法只与地块的空间位置和形状有关,不受行政区划边界调整的影响,具有稳定性,而且本发明支持农田地块的动态更新,对合并、拆分和重组后的地块,能够自动生成不重复的新编码而无需对地块重新编码,且具有唯一性和确定性。
附图说明
图1为传统的地块编码示意图;
图2为本发明一种基于区域四叉树的地块编码方法的步骤流程图;
图3为本发明具体实施例中基于区域四叉树索引的区域划分示意图;
图4a为本发明实施例中编码规则示例图;
图4b为本发明实施例中网格编码示意图;
图5为本发明具体实施例中区位码(以上海市为例)示例图;
图6a与图6b为本发明具体实施例中几何体重心的计算示意图;
图7为本发明具体实施例中地块拆分及编码示意图;
图8为本发明一种基于区域四叉树的地块编码装置的系统架构图;
图9为本发明实施例中基于区域四叉树的地块编码流程图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
在介绍本发明之前,先介绍本发明的涉及的几个概念:本发明采用基于矢量空间数据区域四叉树索引技术对农田地块进行无重复编码,所述的矢量空间数据的区域四叉树索引也称为金字塔索引,是一种将区域空间按不同层级进行空间单元的划分,每个层级按一定规则分成大小相等的空间网格单元,然后将地理要素(农田地块)按网格单元进行编码和索引,以支持海量空间数据快速检索的技术方法。
图2为本发明一种基于区域四叉树的地块编码方法的步骤流程图。如图2所示,本发明一种基于区域四叉树的地块编码方法,包括如下步骤:
步骤S1,将待编码区域空间按不同层级进行空间单元的划分,每个层级根据区域四叉树规则划分成大小相等的空间网格单元,并通过选定坐标系统对每个层级的最小单元格进行唯一编码。
具体地,步骤S1进一步包括:
步骤S100,将所述待编码区域由粗到细划分为n个层级,每个层级划分为若干大小相等、有规则的网格单元。
具体地,将整个待编码区域由粗到细划分成n个层级,每层都划分为一定数量大小相等的矩形网格单元,如图3所示,假设最顶层为2*2=4个网格单元,第2层为4*4=16个网格单元,依此类推,第n层为2n*2n个网格单元。在本发明具体实施例中,下一层级的网格单元数量是上一层级的网格单元数量的4倍,其每个网格单元的边长则为上一层级网格单元边长的1/2。
在本发明具体实施例中,最底层网格单元大小的确定参考最小可耕种田块的大小。也就是说,根据最小可耕种田块的大小初步确定最底层(即第n层)网格单元大小,将待编码区域划分为2n*2n个网格单元作为第n层,然后确定第n-1层网格单元大小,划分相应数量的网格单元,依此向上层级划分,直至最顶层待编码区域划分完毕,最顶层为2*2个网络单元。
步骤S101,选定坐标系统,对每个层级的各网格单元进行无重复编码,所述编码信息中至少包括层级、区域、南北向网格以及东西向网格信息。
在本发明具体实施案例中,对各网格单元编码的码长设定为12,由四部分构成,如图4a所示,具体包括层级码(1位字符)、区位码(1位字符)、南北向(行)网格代码(5位数字)以及东西向(列)网格代码(5位数字)。
其中层级码为0-F的16进制代码,表示当前网格单元所处的层级,也即代表网格的大小等级。层级码自上而下,顺序增加,最顶层的层级码为0,最底层的层级码为F。层级码数字(位序)增加1,网格单元边长减小1/2。层级码数字减少1,则网格单元的边长增加1倍,最底层F的网格大小的设计参考最小可耕种田块的大小的范围。如可设层级码为F的网格大小2.5m*2.5m(约0.01亩),则层级码E的网格大小为5m*5m。层级码为1的网格大小为2.5*214m*2.5*214m,即边长为40960m的矩形网格单元。
区位码根据选定的坐标系统确定,以I、J、K、L四个字符代表待编码区域的四个象限。以选定的某城市坐标为例,基本单位为米,图5所示,图中的I、J、K、L四个字符代表区域的四个象限。其中:
I-东北象限(I),J-东南象限(II),
K-西南象限(III),L-西北象限(IV
在本发明具体实施例中,为满足实际区域应用的需求,南北向(行)网格代码以及东西向(列)网格代码分别至少包含5位数字,也就是说,在实际区域应用时,码长应该为10位或以上。编码数字为0~9;L层级为15或以上。具体编码过程如下,首先从最底层开始,从左(西)向右(东),从上(北)向下(南)顺序编码,然后对上一层编码,上一层(L层)网格单元编码对应的下一层(L+1层)4个网格单元代码的第一个单元编码,即东北方向角的单元,也就是左上角单元的编码。在本发明实施例中,为方便说明,以一个L=3层的区域四叉树编码示例(为简便说明,本实施例以2位编码,坐标原点在左上角,不分象限,如图4b所示,具体应用中的5位数字编码可以在其前面补0),先对最底层(L=3)网格进行顺序编码,L-1层的编码则是基于L层编码从左上角开始,对行号和列号进行间隔取值。但需说明的是,本发明的编码方式不以此为限,只要可对每个层级的各网格单元进行无重复编码即可。
步骤S2,依次考察待编码区域内的每一个地块,根据当前地块的位置和大小,计算并确定与当前地块大小相当、且包含该地块(地理要素)几何体重心的相应层级的网格单元,将该网格单元的编号作为当前地块的编码。
具体地,步骤S2进一步包括:
步骤S200,根据当前地块的最小边界矩形(MBR,Minimum Boundary Rectangle)确定所选择的网格单元的大小及待查询网格层级L。MBR定义为刚好包络一个地理要素(农田地块)的最小矩形,即地理要素的外接矩形。MBR是用来辅助进行地理要素的空间定位、地理编码和空间索引的基本特征。
在本发明具体实施例中,以农田地块为例,根据地块的最小边界矩形(MBR,Minimum Boundary Rectangle)来确定待选网格单元的大小,即待编码网格单元所在的层级L。
设某一农田地块MBR的短边为Lmin,对应的网格单元边长为D,网格单元大小的确定满足:D/2=<Lmin<D。选择满足条件的网格层级L,作为待查询网格层级。计算方法为:
L=15-Ceil(Log2(Lmin/Dmin))
其中:Ceil为向上取整函数,Log2()为取以2为底的对数,Dmin为最小层级网格单元的边长,这里是F层网格单元的大小。如果网格单元是不是正方形(边长不相等),D值取矩形长边,从而确保地块大小能最大程度与待选网格单元大小相符合。
步骤S201,以当前地块的几何重心点坐标来确定当前地块对应的网格单元位置。
具体地,步骤S201进一步包括:
步骤S201a,确定当前地块的几何重心点坐标。具体地,以当前地块几何起点为原点,沿顺时针旋转方向,对地块进行连续三角剖分,如图6a(当前地块为凸多边形)及图6b(当前地块为凹多边形)所示,计算出每个三角形的几何中心坐标(xi,yi)和三角形面积si,则当前地块的几何体重心坐标G(gx,gy)的计算方法如下:
gx=Σ(xi*si)/Σyi
gy=Σ(yi*si)/Σyi
其中,Si值为三角形另外两个顶点的对应矢量的叉积除以2。即:
si=((x2-x0)*(y1-y0)-(x1-x0)*(y2-y0))/2
步骤S201b,于待查询网格层级L查找包含当前地块几何体重心的网格单元。也就是说,根据当前地块的几何重心点坐标以及步骤S200利用MBR初步查询、确定的当前地块对应的网格单元大小及网格层级L计算当前地块对应的网格单元的行号和列号。
具体地,于步骤S201b中,通过如下网格单元编码公式计算出当前地块对应的网格单元的行号和列号:
mult=Int(power(2,L-1));
Rid=Int(gy/(Dmin*mult))*mult+1
Cid=Int(gx/(Dmin*mult))*mult+1
其中Rid,Cid分别为网格单元的行号和列号,gx,gy为当前地块的几何体重心。Int()为取整函数,Power(2,x)为2的x幂次方。
优选地,步骤S201还包括:
步骤S201c,利用获得的网格单元裁剪当前地块几何体,计算裁剪后的几何体面积Sf和网格单元面积Sr之比。如果比值r=Sf/Sr>0.5,则将步骤S201b确定的网格单元代码赋给当前地块,完成编码,结束,否则进入步骤S201d;
步骤S201d,设L=L+1,继续查找下一层中包含当前地块几何体重心的网格单元,并返回步骤S201c,直到满足条件或最后层级查找完毕。
也就是说,在本发明具体实施例中,考虑到面状几何要素在空间上是不重叠的,独占的。在进行网格单元编码分配时,以面积较大的地块要素(r>0.5)优先获取该单元的编码。对于面积小于该单元格面积一半的地块,将在该网格的细分网格(下一层级网格)中分配编码,从而保证编码的唯一性,解决编码冲突的问题。
优选地,于步骤S2后,还包括如下步骤:
步骤S3,于解码时,获取待解码地块的编码信息,根据所述编码信息依次解析出所述待解码地块所处的层级、区域以及所处层级的南北向网格以及东西向网格信息,计算出当前地块中心点的坐标方位,从而获得当前地块的大小和位置。
在本发明具体实施例中,L=15层,假设某地块的编码为:9K0020300079,根据该编码中包含的信息解算可得:该地块位于上海西南方向(第III象限),该地块中心点的坐标方位约为:
x:=-79*2.5m*215-9=-12640m,
y:=-203*2.5m*215-9=-32480m,
地块大小介于80m*80m和160m*160m之间(层级为9)。该地块面积为10亩到38亩之间,地块到市中心距离约为
D=(x*x+y*y)1/2=45.05km。
即根据对地块编码的解析,则可获得该地块的大小和位置。
优选地,本发明还支持农田地块的拆分和合并的自动编码,本发明可根据新生成地块的位置和大小,返回步骤S2,对其进行唯一确定的编码。根据步骤S201b和S201c的编码计算和赋值规则,拆分和合并后的地块编码具有唯一性和确定性,即位置和大小确定的地块,编码是唯一的和无歧义的。
图7演示的是根据金字塔索引技术和编码方法(以上海地区的实践为例,L=15层),地块A拆分为地块B和地块C前后的编码变化。其中,地块A(9K00203000079)的层级码为9(图中仅示出行号和列号的后两位),拆分后两个地块的层级码都变为10(A级),其中地块B的编码为AK0020300079,地块C的编码为AK0021900095(不是最后一层,因此编码不连续)。需说明的是,这里的拆分仅示例说明,当然如果拆分后地块,其中一个或若干个地块过小,该地块的层级码将为11(B级)或更大,其编码方法见步骤S2。
这里需说明的是,本发明实施例中利用12位的编码可满足对于25.6万平方公里区域任意位置、任意大小地块(小于0.01亩)的编码。其中:最小可编码地块(层级为F)面积小于0.01亩(2.5*2.5=6.25平方米),最大可编码(层级为0)地块面积大于4000万亩(25000平方公里)。理论上,完全满足对任意大小地块的唯一确定性编码。
当然,如果增加一位层级码,即层级码为2位,扩展到13位编码码长,本发明可编码空间范围的向上可扩展至全球范围,向下网格精度可精确到亚米级(层级码值L>25),对于具体的码长本发明不作限制,在此不予赘述。
图8为本发明一种基于区域四叉树的地块编码装置的系统架构图。如图8所示,本发明一种基于区域四叉树的地块编码装置,包括:
空间划分编码单元80,用于将待编码区域空间按不同层级进行空间单元的划分,每个层级根据区域四叉树规则划分成大小相等的空间网格单元,并通过选定坐标系统对每个层级的最小单元格进行唯一编码。
具体地,空间划分编码单元80进一步包括:
空间划分模块801,用于将所述待编码区域由粗到细划分为n个层级,每个层级划分为若干大小相等、有规则的网格单元。
具体地,空间划分单元801将整个待编码区域由粗到细划分成n个层级,每层都划分为一定数量大小相等的矩形网格单元,假设最顶层为2*2=4个网格单元,第2层为4*4=16个网格单元,依此类推,第n层为n*n个网格单元。在本发明具体实施例中,下一层级的网格单元数量是上一层级的网格单元数量的4倍,其每个网格单元的边长则为上一层级网格单元边长的1/2。
在本发明具体实施例中,最底层网格单元大小的确定参考最小可耕种田块的大小。也就是说,根据最小可耕种田块的大小初步确定最底层(即第n层)网格单元大小,将待编码区域划分为2n*2n个网格单元作为第n层,然后确定第n-1层网格单元大小,划分相应数量的网格单元,依此向上层级划分,直至最顶层待编码区域划分完毕。
网格单元编码模块802,用于选定坐标系统,对每个层级的各网格单元进行无重复编码,所述编码信息中至少包括层级、区域、南北向网格以及东西向网格信息。
在本发明具体实施例中,对各网格单元编码的码长设定为12,由四部分构成,具体包括层级码(1位字符)、区位码(1位字符)、南北向(行)网格代码(5位数字)以及东西向(列)网格代码(5位数字)。
其中层级码为0-F的16进制代码,表示当前网格单元所处的层级,也即代表网格的大小等级。层级码自上而下,顺序增加,最顶层的层级码为0,最底层的层级码为F。层级码数字(位序)增加1,网格单元边长减小1/2,层级码数字减少1,则网格单元的边长增加1倍。最底层F的网格大小的设计参考最小可耕种田块的大小的范围。如可设层级码为F的网格大小2.5m*2.5m(约0.01亩),则层级码E的网格大小为5m*5m。层级码为1的网格大小为2.5*214mm*2.5*214mm,即边长为40960m的矩形网格单元。
区位码根据选定的坐标系统确定,可以I、J、K、L四个字符代表待编码区域的四个象限。其中:
I-东北象限(I),J-东南象限(II),
K-西南象限(III),L-西北象限(IV
在本发明具体实施例中,为满足实际区域应用的需求,南北向(行)网格代码以及东西向(列)网格代码分别至少包含5位数字,也就是说,在实际区域应用时,码长应该为10位或以上。编码数字为0~9;L层级为15或以上。
地块编码单元81,用于依次考察待编码区域的每一个地块,根据当前地块的位置和大小,计算并确定与当前地块大小相当、且包含该地块(地理要素)几何体重心的相应层级的网格单元,将该网格单元的编号作为当前地块的初始编码。
具体地,地块编码单元81进一步包括:
网络层级初步确定模块810,用于根据当前地块的最小边界矩形(MBR,MinimumBoundary Rectangle)来确定所选择的网格单元的大小及待查询网格层级L。
在本发明具体实施例中,以农田地块为例,根据地块的最小边界矩形(MBR,Minimum Boundary Rectangle)来确定网格单元的大小。MBR定义为刚好包络一个地理要素(农田地块)的最小矩形,即地理要素的外接矩形。MBR是用来辅助进行地理要素的空间定位、地理编码和空间索引的基本特征。
设某一农田地块MBR的短边为Lmin,对应的网格单元边长为D,网格单元大小的确定满足:D/2=<Lmin<d。选择满足条件的网格层级L,作为待查询网格层级。计算方法为:
L=15-Ceil(Log2(Lmin/Dmin))
其中:Ceil为向上取整函数,Log2()为取以2为底的对数,Dmin为最小层级网格单元的边长。
网格单元位置确定模块811,以当前地块的几何重心点坐标来确定当前地块对应的网格单元位置。
具体地,网格单元位置确定模块811进一步包括:
几何重心点坐标计算模块,用于确定当前地块的几何重心点坐标。具体地,以当前地块几何起点为原点,沿顺时针旋转方向,对地块进行连续三角剖分,如图5所示,计算出每个三角形的几何中心坐标(xi,yi)和三角形面积si,则当前地块的几何体重心坐标G(gx,gy)的计算方法如下:
gx=Σ(xi*si)/Σyi
gy=Σ(yi*si)/Σyi
其中,Si值为三角形另外两个顶点的对应矢量的叉积除以2。即:
si=((x2-x0)*(y1-y0)-(x1-x0)*(y2-y0))/2
网格单元初步确定模块,用于于待查询网格层级L查找包含当前地块几何体重心的网格单元。也就是说,根据当前地块的几何重心点坐标以及网络层级初步确定模块810利用MBR初步查询、确定的当前地块对应的网格单元大小及网格层级L计算当前地块对应的网格单元的行号和列号。
具体地,网格单元初步确定模块通过如下网格单元编码公式计算出当前地块对应的网格单元的行号和列号:
mult=Int(power(2,L-1));
Rid=Int(gy/(Dmin*mult))*mult+1
Cid=Int(gx/(Dmin*mult))*mult+1
其中Rid,Cid分别为网格单元的行号和列号,gx,gy为当前地块的几何体重心。Int()为取整函数,Power(2,x)为2的x幂次方。
优选地,网格单元位置确定模块811还包括:
面积占优确定模块,用于利用获得的网格单元裁剪当前地块几何体,计算裁剪后的几何体面积Sf和网格单元面积Sr之比,如果比值r=Sf/Sr>0.5,则将网格单元初步确定模块确定的网格单元代码赋给当前地块,完成编码,结束,否则进入递归查询模块;
递归查询模块,设L=L+1,继续查找包含当前地块几何体重心的网格单元,并返回面积占优确定模块,直到满足条件或最后层级查找完毕。
也就是说,在本发明具体实施例中,考虑到面状几何要素在空间上是不重叠的,独占的。在进行网格单元编码分配时,以面积较大的地块要素(r>0.5)优先获取该单元的编码。对于面积小于该单元格面积一半的地块,将在该网格的细分网格(下一层级网格)中分配编码,从而保证编码的唯一性,解决编码冲突的问题。
优选地,本发明之地块编码装置还包括:
解码单元82,用于于解码时,获取待解码地块的编码信息,根据所述编码信息依次解析出所述待解码地块所处的层级、区域以及所处层级的南北向网格以及东西向网格信息,计算出当前地块中心点的坐标方位,从而获得当前地块的大小和位置。
在本发明具体实施例中,假设某地块的编码为:9K0020300079,根据该编码中包含的信息解算可得:该地块位于上海西南方向(第III象限),该地块中心点的坐标方位约为:
x:=-79*2.5m*215-9=-12640m,
y:=-203*2.5m*215-9=-32480m,
地块大小介于80m*80m和160m*160m之间(层级为9)。该地块面积为10亩到38亩之间,地块到市中心距离约为:
D=(x*x+y*y)1/2=45.05km。
即根据对地块编码的解析,可获得该地块的大小和位置。
实施例
如图9所示,在本实施例中,本发明一种基于区域四叉树的地块编码方法的流程如下:
步骤1,确定待编码区域,进行区域四叉树划分。
将整个待编码区域由粗到细划分成n个层级,每层都划分为一定数量大小相等、有规则(通常是矩形)的网格单元(图3)。如最顶层为2*2=4个网格单元,第2层为4*4=16个网格单元,依此类推。第n层为n*n个网格单元。下一层网格单元的数量是上一层的4倍,每个网格单元的边长是上一层的1/2。
步骤2,对每个层级的网格单元进行无重复、顺序编码。具体编码如下:
地块编码的码长共12位。共由四个部分组成(图3:地块编码=层级码(1位字符)+区位码(1位字符)+南北向(行)网格代码(5位数字)+东西向(列)网格代码(5位数字)。
步骤3,计算待查询网格层级L
根据农田地块的最小边界矩形MBR来确定网格单元的大小。MBR定义为刚好包络一个地理要素(农田地块)的最小矩形,即地理要素的外接矩形。MBR是用来辅助进行地理要素的空间定位、地理编码和空间索引的基本特征。
设某一地块MBR的短边为Lmin,对应的网格单元边长为D,网格单元大小的确定满足:D/2=<Lmin<d。选择满足条件的网格层级L,作为待查询网格。计算方法为:
L=15-Ceil(Log2(Lmin/Dmin))
其中:Ceil为向上取整函数。Log2()为取以2为底的对数。Dmin是最小层级网格单元的边长
步骤4,若L值有效,则于L层以地块的几何重心点坐标来确定对应的网格单元位置;
步骤5,若查找成功,则用获得的网格单元裁剪地块几何体,计算裁剪后的几何体面积Sf和网格单元面积Sr之比。如果比值r=Sf/Sr>0.5,则将网格单元代码赋给地块,完成编码,结束。否则进入步骤6;
步骤6,设L=L+1,继续查找包含地块几何体重心的网格单元,并返回步骤5。
综上所述,本发明一种基于区域四叉树的地块编码方法及装置通过根据地理要素的空间信息,基于矢量空间数据的区域四叉树索引(金字塔索引)技术对地块实现了面向面状地理要素的编码,由于本发明的编码方法只与地块的空间位置和形状有关,不受行政区划边界调整的影响,具有稳定性,而且本发明支持农田地块的动态更新,对合并、拆分和重组后的地块,能够自动生成不重复的新编码而无需对地块重新编码,且具有唯一性和确定性。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
Claims (10)
1.一种基于区域四叉树的地块编码方法,包括如下步骤:
步骤S1,将待编码区域空间按不同层级进行空间单元的划分,每个层级根据区域四叉树规则划分成大小相等的空间网格单元,并通过选定的坐标系统对每个层级的最小网格单元格进行唯一编码;
步骤S2,依次考察待编码区域的每一个地块,根据当前地块的位置和大小,计算并确定与所述当前地块大小相当、且包含该当前地块几何体重心的相应层级的网格单元,将该网格单元的编号作为当前地块的编码。
2.如权利要求1所述的一种基于区域四叉树的地块编码方法,其特征在于,步骤S1进一步包括:
步骤S100,将所述待编码区域由粗到细划分为n个层级,每个层级按区域四叉树规则划分为若干大小相等、有规则的网格单元;
步骤S101,选定一坐标系统,基于所述坐标系统对每个层级的各网格单元进行无重复编码,所述编码信息中至少包括层级、区域、南北向网格以及东西向网格信息。
3.如权利要求2所述的一种基于区域四叉树的地块编码方法,其特征在于:于步骤S1中,根据最小可耕种田块的大小初步确定第n层网格单元大小,将待编码区域划分为2n*2n个网格单元作为第n层,然后确定第n-1层网格单元大小,划分相应数量的网格单元,依此向上层级划分,下一层级的网格单元数量是上一层级的网格单元数量的4倍,其每个网格单元的边长则为上一层级网格单元边长的1/2,直至最顶层待编码区域划分完毕,最顶层为2*2个网络单元。
4.如权利要求2所述的一种基于区域四叉树的地块编码方法,其特征在于:于步骤S101中,所述编码信息中至少包括1位字符的层级码、1位字符的区位码、5位数字的南北向网格代码以及5位数字的东西向网格代码。
5.如权利要求4所述的一种基于区域四叉树的地块编码方法,其特征在于,步骤S2进一步包括:
步骤S200,根据当前地块的最小边界矩形确定所选择的网格单元的大小及待查询网格层级L;
步骤S201,以当前地块的几何重心点坐标来确定当前地块对应的网格单元位置。
6.如权利要求5所述的一种基于区域四叉树的地块编码方法,其特征在于,步骤S201进一步包括:
步骤S201a,确定当前地块的几何重心点坐标;
步骤S201b,于待查询网格层级L查找包含当前地块几何体重心的网格单元,将该单元网格编码作为当前地块的初始编码。
7.如权利要求6所述的一种基于区域四叉树的地块编码方法,其特征在于:于步骤S201a,以当前地块几何起点为原点,沿顺时针旋转方向,对地块进行连续三角剖分,计算出每个三角形的几何中心坐标(xi,yi)和三角形面积si,从而计算出当前地块的几何体重心坐标G(gx,gy)。
8.如权利要求6所述的一种基于区域四叉树的地块编码方法,其特征在于,步骤S201还包括:
步骤S201c,利用获得的网格单元裁剪当前地块几何体,计算裁剪后的几何体面积Sf和网格单元面积Sr之比;如果比值大于预设值,则将步骤S201b确定的网格单元代码赋给当前地块,完成编码,否则进入步骤S201d;
步骤S201d,设L=L+1,继续查找下一层中包含当前地块几何体重心的网格单元,并返回步骤S201c,直到满足条件或最后层级查找完毕。
9.如权利要求1所述的一种基于区域四叉树的地块编码方法,其特征在于,于步骤S2后,还包括如下步骤:
步骤S3,于解码时,获取待解码地块的编码信息,根据所述编码信息依次解析出所述待解码地块所处的层级、区域以及所处层级的南北向网格以及东西向网格信息,计算出当前地块中心点的坐标方位,从而获得当前地块的大小和位置。
10.一种基于区域四叉树的地块编码装置,包括:
空间划分编码单元,用于将待编码区域空间按不同层级进行空间单元的划分,每个层级根据区域四叉树规则划分成大小相等的空间网格单元,并通过选定坐标系统对每个层级的最小单元格进行唯一编码;
地块编码单元,用于依次考察待编码区域的每一个地块,根据当前地块的位置和大小,计算并确定与当前地块大小相当、且包含该地块几何体重心的相应层级的网格单元,将该网格单元的编号作为当前地块的编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010271288.1A CN111506576B (zh) | 2020-04-08 | 2020-04-08 | 一种基于区域四叉树的地块编码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010271288.1A CN111506576B (zh) | 2020-04-08 | 2020-04-08 | 一种基于区域四叉树的地块编码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111506576A true CN111506576A (zh) | 2020-08-07 |
CN111506576B CN111506576B (zh) | 2023-05-09 |
Family
ID=71875945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010271288.1A Active CN111506576B (zh) | 2020-04-08 | 2020-04-08 | 一种基于区域四叉树的地块编码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506576B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113487163A (zh) * | 2021-06-30 | 2021-10-08 | 支付宝(杭州)信息技术有限公司 | 基于地理位置信息进行业务预测的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289464A (zh) * | 2011-07-18 | 2011-12-21 | 南京师范大学 | 一种矢量数据空间特征的编码方法 |
CN105608164A (zh) * | 2015-12-21 | 2016-05-25 | 北京中诚盛源技术发展有限公司 | 一种面向实名制企业信息的网格划分与编码方法 |
CN105630968A (zh) * | 2015-12-23 | 2016-06-01 | 华中师范大学 | 面向Cassandra的分布式可扩展四叉树索引机制及基于该机制的查询方法 |
CN106021480A (zh) * | 2016-05-19 | 2016-10-12 | 福建农林大学 | 一种基于网格划分的并行空间划分方法及其系统 |
CN106055563A (zh) * | 2016-05-19 | 2016-10-26 | 福建农林大学 | 一种基于网格划分的并行空间查询方法及其系统 |
CN109992636A (zh) * | 2019-03-22 | 2019-07-09 | 中国人民解放军战略支援部队信息工程大学 | 时空编码方法、时空索引及查询方法及装置 |
-
2020
- 2020-04-08 CN CN202010271288.1A patent/CN111506576B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289464A (zh) * | 2011-07-18 | 2011-12-21 | 南京师范大学 | 一种矢量数据空间特征的编码方法 |
CN105608164A (zh) * | 2015-12-21 | 2016-05-25 | 北京中诚盛源技术发展有限公司 | 一种面向实名制企业信息的网格划分与编码方法 |
CN105630968A (zh) * | 2015-12-23 | 2016-06-01 | 华中师范大学 | 面向Cassandra的分布式可扩展四叉树索引机制及基于该机制的查询方法 |
CN106021480A (zh) * | 2016-05-19 | 2016-10-12 | 福建农林大学 | 一种基于网格划分的并行空间划分方法及其系统 |
CN106055563A (zh) * | 2016-05-19 | 2016-10-26 | 福建农林大学 | 一种基于网格划分的并行空间查询方法及其系统 |
CN109992636A (zh) * | 2019-03-22 | 2019-07-09 | 中国人民解放军战略支援部队信息工程大学 | 时空编码方法、时空索引及查询方法及装置 |
Non-Patent Citations (1)
Title |
---|
姜晶莉: "面向空间关联的空间关系计算方法" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113487163A (zh) * | 2021-06-30 | 2021-10-08 | 支付宝(杭州)信息技术有限公司 | 基于地理位置信息进行业务预测的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111506576B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766433B (zh) | 一种基于Geo-BTree的范围查询方法及装置 | |
CN103383682B (zh) | 一种地理编码方法、位置查询系统及方法 | |
CN107798054B (zh) | 一种基于Trie的范围查询方法及装置 | |
CN107153711A (zh) | 地理信息数据处理方法及装置 | |
CN110909093B (zh) | 智慧地标控制网的构建方法及装置 | |
CN113010620B (zh) | 基于地理多级网格的自然资源数据索引统计方法及系统 | |
WO2016095749A1 (zh) | 电子地图中查询空间对象和建立空间索引的方法及装置 | |
CN107463585B (zh) | 指纹数据入库处理方法及装置 | |
EP3333725A1 (en) | Method and computer program product for the production of a location identifier | |
CN105913347A (zh) | 一种面向住房信息采集的房屋编码方法 | |
CN109885638B (zh) | 一种三维立体空间索引方法及系统 | |
CN116610672A (zh) | 一种基于时空编码的空管数据分布式存储与快速查询方法 | |
CN114238384B (zh) | 区域定位方法、装置、设备和存储介质 | |
CN116450958A (zh) | 检测点选址方法、装置、电子设备及可读存储介质 | |
CN111506576B (zh) | 一种基于区域四叉树的地块编码方法及装置 | |
CN111414445A (zh) | 一种应用地理信息的地址反解析方法 | |
CN113722415B (zh) | 点云数据的处理方法、装置、电子设备及存储介质 | |
CN112597262B (zh) | 一种基于空间网格的行业地址序号生成方法及装置 | |
CN106649425A (zh) | 一种顾及空间邻近性的矢量空间数据编码方法 | |
CN114387419B (zh) | 一种基于多维空间剖分的三维地理实体编码方法及装置 | |
CN114490902B (zh) | 二维地理实体的多维空间自适应剖分与编码方法及系统 | |
CN110989886A (zh) | 基于空间地图的三维空间网格选取方法及装置 | |
US20220188580A1 (en) | System and method for computing region centers by point clustering | |
CN113868555A (zh) | 一种轨迹检索方法、装置、设备以及存储介质 | |
CN114092654A (zh) | 兼容北斗网格的数字地球三维空间场景管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |