一种面状行政区域层次关系的构建方法及系统与流程

专利2022-06-28  103


本发明涉及一种面状行政区域层次关系的构建方法及系统,属于地理信息系统空间数据处理技术领域。



背景技术:

行政区域是国家为了进行分级管理而实行的区域划分政策,我国主要划分为省级行政区、县级行政区、乡级行政区三个行政级别。在地理信息系统中,对不同级别的行政区域空间数据的组织管理主要是采用分层管理的方式,将不同级别的行政区域的空间数据组织在不同的图层中,这种方式便于空间数据的组织管理,但是却割裂了不同级别的行政区域间的层次关系,即仅仅实现了空间数据的横向管理,却忽视了纵向管理。

构建不同级别间的行政区域面状空间数据的方式主要有两种,一种是交互方式构建,即通过图形交互方式确定不同层级间面状要素的空间关系;另一种是自动构建,即通过空间关系算子计算并构建出面状要素间的层级关系。对于较少数据量、较少层级关系的空间数据而言,可以采用交互方式构建,但对于较大数据量、较多层级关系的空间数据而言,交互方式构建不仅工作量大而且容易出错,因而往往采用自动构建方式。自动构建方式的关键在于空间关系算子,目前,对于空间数据拓扑关系的计算模型,最有代表性的是9-交模型,如图1所示,能够计算“面-面空间关系”的主要是相离(disjoint)、相接(meet)、交叠(overlap)、相等(equal)、包含(contain)、在内部(inside)、覆盖(cover)和被覆盖(coveredby),能够用于面状行政区域层次关系计算的主要是包含、覆盖等。对于图2-1和图2-2中的情况1和情况2而言,现有空间关系算子可以做出准确的计算和判断,但是对于情况3(如图2-3所示)而言,往往会被空间关系算子计判断为交叠,而导致无法构建层次关系,但实际上a区域和b区域交叠的部分面积很小,往往是由于在采集行政区域边界时造成的误差,而且这种情况在不同来源的行政区域数据中十分常见。



技术实现要素:

本发明的目的是提供一种面状行政区域层次关系的构建方法及系统,以解决目前层次关系构建过程中覆盖关系判断易出错的问题。

本发明为解决上述技术问题而提供一种面状行政区域层次关系的构建方法,该构建方法包括以下步骤:

1)获取面状行政区域要素的空间几何数据;

2)利用两个面状行政区域要素所在多边形之间的关系确定覆盖误差区域,根据覆盖误差区域和覆盖误差区域面积构建空间关系算子,零空间关系算子等于覆盖误差比,覆盖误差比指的是覆盖误差区域面积和被覆盖要素落入覆盖要素的覆盖面积之间的比值;

3)根据覆盖误差比判断两个面状行政区域要素之间是否构成覆盖层次关系,若构成,则对覆盖层次关系进行数据组织,实现面状行政区域层次关系的构建。

本发明还提供了一种面状行政区域层次关系的构建系统,该构建系统包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器与所述存储器相耦合,所述处理器执行所述计算机程序时实现如本发明的的面状行政区域层次关系的构建方法。

本发明通过定义覆盖误差区域和计算覆盖误差区域面积进行空间关系算子重构,利用重构后空间关系算子来实现对两个面状行政区域的是否存在覆盖层次关系的判断,重构后的空间关系算子采用覆盖误差比描述空间关系,根据覆盖误差比大小实现对覆盖关系的判断,避免了在两个面状区域间由于误差引起较小交叠而被判为交叠关系,提高了覆盖关系判断的准确性。

进一步地,本发明给出了覆盖误差区域的确定过程,所述步骤2)中覆盖误差区域的确定过程如下:

a.确定两个面状行政区域所在多边形每条边之间的交点,得到两个面状行政区域的交点集合{p1,p2,...,pn};

b.依次从所述交点集合中选取两个交点pi和pi-1,分别确定被覆盖多边形边界上被所选取的两个交点截断的点集合pi以及覆盖多边形边界上被所选取的两个交点截断的点集合pi′;

c.将步骤b中得到的各点集合按照设定顺序组成多边形,覆盖误差区域为组成的多边形集合。

进一步地,本发明给出了覆盖多边形的确定过程,覆盖多边形的确定过程如下:

a.从交点集合{p1,p2,...,pn}中取出首末交点p1和pn,确定被首末交点p1和pn截断的被覆盖多边形落在覆盖多边形内部的点集合pinside;

b.从点集合pi中选取i为奇数的点,从点集合pi′中选取i为偶数时的点,将所取出的点按照设定顺序构成边界点集合pboundary;

c.将点集合pinside和pboundary中的点按照一定顺序组成多边形,该多边形即为覆盖多边形。

进一步地,为方便数据存储、组织,所述步骤3)采用树状结构对覆盖层次关系进行数据组织。

进一步地,为提高层次关系的构造的准确性和效率,该方法还包括对获取面状行政区域要素的空间几何数据进行预处理的步骤,所述的预处理包括同名要素合并和/或零散多边形过滤。

进一步地,为方便计算覆盖误差区域的面积,所述的覆盖误差区域的面积采用多边形面积计算公式得到,采用的计算公式为:

其中serror为覆盖误差区域的面积,(xi,yi)为构成覆盖误差区域多边形的第i个顶点坐标。

进一步地,为实现对空间关系的全方面判别,该方法还包括对空间包含关系的判断,若一个要素的空间几何数据完全包含另一个要素的空间几何数据,则判定二者构成包含的层次关系。

附图说明

图1是现有的9种面-面拓扑关系示意图;

图2-1是面-面拓扑关系中情况1的关系示意图;

图2-2是面-面拓扑关系中情况2的关系示意图;

图2-3是面-面拓扑关系中情况3(覆盖)的关系示意图;

图3是本发明面状行政区域层次关系的构建方法的流程图;

图4是本发明中空间关系算子重构示意图;

图5是本发明实施例覆盖误差区域示意图;

图6是本发明实施例两个多边形构成的覆盖误差区域示意图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步地说明。

方法实施例

本发明针对目前面状行政区域层次关系构建过程中存在覆盖关系易被判定为交叠关系的问题,提出了一种面状行政区域层次关系的构建方法,该构建方法通过定义覆盖误差区域和计算覆盖误差区域面积进行空间关系算子重构,利用重构后空间关系算子来实现对两个面状行政区域的是否存在覆盖层次关系的判断。实现流程如图3所示,具体实施过程如下。

1.获取面状行政区域要素的空间几何数据。

本发明针对的面状行政区域要素的空间几何数据指的是面状行政区域的坐标数据,可以是各种电子地图数据。在gis矢量数据模型中,要素是对几何图形和属性信息的封装,行政区域要素的几何图形是多边形(既然说的是区域那就是多边形,如果是行政中心那就是点)。在得到上述数据后,还需要对数据进行预处理,数据预处理主要是对不满足要求的数据进行过滤,以便于后续处理和降低干扰数据对计算和判断结果的影响。首先是同名要素合并,即将要素中同名的要素合并为一个要素;其次是零散多边形过滤,面状行政区域要素的空间几何数据往往是复合几何体(即多面,multipolygon),但零散的小多边形并不利于数据的处理,因此需要将这些干扰数据过滤掉,即每一个要素仅保留其面积最大的部分,而删除其余零散多边形。

2.重构空间关系算子。

现有的空间关系算子无法满足面状空间数据间层次关系的判断,因此需要对空间关系算子进行重构,这也是本发明的核心部分。空间关系算子重构的基本方案如图4所示,首先是对现有原始元算子进行扩展和改进,形成改进后的元算子,通过组合和重排,再形成重构算子,进而实现层次关系的构建。原始元算子指的是现有的基础计算算子如长度、角度、面积、关系(包含、相交、分离等)、线段求交点、点到线段的距离等,这些算子是本发明算法的基础,但是这些算子都比较基础,因此需要在其基础上进行扩展(或封装),使之能够满足更高的要求,如构建覆盖多边形、计算覆盖误差面积等,最终的重构算子则是对本发明的最高层次的封装,它的输入是需要进行层次关系判断的两两多边形,输出则是是否构成层次关系。

覆盖误差区域的形成原因主要就是两份数据(在进行数据生产时,上级行政区和下级行政区往往是两个不同的图层)在不同的采集过程中造成的覆盖,因为人工采集的两个图层的数据不可能完全吻合,所以形成这种误差区域是必然的事情。定义覆盖误差区域如图5所示,如果两个要素的边界部分相似,则相似部分的边界线间构成的多边形区域则称为覆盖误差区域;如图6所示,行政区域a为被覆盖多边形,行政区域b为覆盖多边形,浅色区域为覆盖误差区域,深色区域为被覆盖多边形落入覆盖多边形的区域。

在构建覆盖误差区域时,由于没有直接获取两个区域相交结果的空间算子,因此需要对现有算子进行扩展和改造。首先计算两个多边形每条边之间的交点,构成交点集合{p1,p2,...,pn}。依次取两个交点pi和pi-1,分别计算被覆盖多边形边界上被pi和pi-1截断的点的集合pi,以及覆盖多边形边界上被pi和pi-1截断的点的集合pi′,将点集合pi和pi′按照顺时针(或逆时针)顺序组成多边形,将所有的零散多边形组织成集合即获得了覆盖误差区域多边形集合。

对于落入覆盖要素中的覆盖多边形而言,取首末交点p1和pn,计算被该节点对截断的被覆盖多边形落在覆盖多边形内部的点集合pinside,取出上一步中所有i为奇数时的点的集合pi′,以及所有i为偶数时的点集合pi,将所有的点集合,按照收尾相接的顺序构成边界点集合pboundary(收尾相接处的相同节点仅保留一个),最后将pinside和pboundary中的节点按照顺时针(或逆时针)的顺序组织成多边形,即构成了覆盖多边形。

记覆盖误差区域的面积为serror,可以通过多边形面积计算公式来计算误差区域的面积,即:

其中(xi,yi)为构成覆盖误差区域多边形的第i个顶点坐标。

同样,被覆盖要素落入罗覆盖要素的区域面积也可以按照上式计算。计算覆盖误差区域面积和被覆盖要素落入覆盖要素的覆盖面积之间的比值,将该比值定义为覆盖误差比ρ,该覆盖误差比ρ即为重构后的空间关系算子。

ρ=serror/scover

3.空间层次关系判断。

根据重构的关系算子判断两个面状行政区域间是否符合覆盖关系,具体而言,通过判断覆盖误差比的大小来判定,给定一个阈值ε,若两个面状行政区域间的覆盖误差比ρ大于阈值ε,则说明这两个面状行政区域之间为覆盖关系。

本发明除了能够准确判定覆盖关系外,还能够进行包含关系的判断,该种关系的判断采用的是现有面面包含关系的判断方式,主要是判断两个面状行政区域间是否存在一个包含另一个的情况。

当对多于两个的面状行政区域空间数据图层间构建层次关系时,需要确定构建次序,本发明中采用人工指定的方式,将级别较高的图层排在前面,级别较低的图层则排在后面,在进行层次关系构建时,按照排列的顺序,依次构建两两图层间要素的层次关系,但要保证排列靠前的图层要素包含(或覆盖)排列靠后的图层要素,而不能出现排列靠后的图层要素包含(或覆盖)排列靠前的图层要素。

4.进行空间层次关系组织。

由于行政区域间是严格的树状结构,所以本发明采用树状结构模型对空间层次关系进行组织。为了能够与空间数据解耦,本发明将行政区域要素映射为节点(node),通过getparentnode接口获取上级节点,通过getchildnodes接口获得当前节点的所有下级节点,通过getreferencefeature接口获取当前节点所关联的行政区域要素。这样每一颗树的根节点就是整个层次关系的入口,多个这样的根节点组织在一起就构成了森林,只要将每棵树的根节点管理起来即可。本发明采用节点集合nodecollection对根节点进行组织,通过getrootnode接口获得某一个根节点,通过getrootnodes接口获得所有的根节点。

系统实施例

本发明的面状行政区域层次关系的构建系统包括存储器和处理器,以及存储在存储器上并在处理器上运行的计算机程序,处理器与存储器相耦合,处理器执行计算机程序时实现本发明的的面状行政区域层次关系的构建方法。该方法的具体实现过程已在方法的实施例中进行了详细说明,这里不再赘述。

本发明通过定义覆盖误差区域和计算覆盖误差区域面积进行空间关系算子重构,利用重构后空间关系算子来实现对两个面状行政区域的是否存在覆盖层次关系的判断,重构后的空间关系算子采用覆盖误差比描述空间关系,根据覆盖误差比大小实现对覆盖关系的判断,避免了在两个面状区域间由于误差引起较小交叠而被判为交叠关系,提高了覆盖关系判断的准确性。


技术特征:

1.一种面状行政区域层次关系的构建方法,其特征在于,该构建方法包括以下步骤:

1)获取面状行政区域要素的空间几何数据;

2)利用两个面状行政区域要素所在多边形之间的关系确定覆盖误差区域,根据覆盖误差区域和覆盖误差区域面积构建空间关系算子,令空间关系算子等于覆盖误差比,覆盖误差比指的是覆盖误差区域面积和被覆盖要素落入覆盖要素的覆盖面积之间的比值;

3)根据覆盖误差比判断两个面状行政区域要素之间是否构成覆盖层次关系,若构成,则对覆盖层次关系进行数据组织,实现面状行政区域层次关系的构建。

2.根据权利要求1所述的面状行政区域层次关系的构建方法,其特征在于,所述步骤2)中覆盖误差区域的确定过程如下:

a.确定两个面状行政区域所在多边形每条边之间的交点,得到两个面状行政区域的交点集合{p1,p2,...,pn};

b.依次从所述交点集合中选取两个交点pi和pi-1,分别确定被覆盖多边形边界上被所选取的两个交点截断的点集合pi以及覆盖多边形边界上被所选取的两个交点截断的点集合pi′;

c.将步骤b中得到的各点集合按照设定顺序组成多边形,覆盖误差区域为组成的多边形集合。

3.根据权利要求2所述的面状行政区域层次关系的构建方法,其特征在于,覆盖多边形的确定过程如下:

a.从交点集合{p1,p2,...,pn}中取出首末交点p1和pn,确定被首末交点p1和pn截断的被覆盖多边形落在覆盖多边形内部的点集合pinside;

b.从点集合pi中选取i为奇数的点,从点集合pi′中选取i为偶数时的点,将所取出的点按照设定顺序构成边界点集合pboundary;

c.将点集合pinside和pboundary中的点按照一定顺序组成多边形,该多边形即为覆盖多边形。

4.根据权利要求1-3中任一项所述的面状行政区域层次关系的构建方法,其特征在于,所述步骤3)采用树状结构对覆盖层次关系进行数据组织。

5.根据权利要求1-3中任一项所述的面状行政区域层次关系的构建方法,其特征在于,该方法还包括对获取面状行政区域要素的空间几何数据进行预处理的步骤,所述的预处理包括同名要素合并和/或零散多边形过滤。

6.根据权利要求2所述的面状行政区域层次关系的构建方法,其特征在于,所述的覆盖误差区域的面积采用多边形面积计算公式得到,采用的计算公式为:

其中serror为覆盖误差区域的面积,(xi,yi)为构成覆盖误差区域多边形的第i个顶点坐标。

7.根据权利要求1-3中任一项所述的面状行政区域层次关系的构建方法,其特征在于,该方法还包括对空间包含关系的判断,若一个要素的空间几何数据完全包含另一个要素的空间几何数据,则判定二者构成包含的层次关系。

8.一种面状行政区域层次关系的构建系统,其特征在于,该构建系统包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器与所述存储器相耦合,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的面状行政区域层次关系的构建方法。

技术总结
本发明涉及一种面状行政区域层次关系的构建方法及系统,属于地理信息系统空间数据处理技术领域。本发明通过定义覆盖误差区域和计算覆盖误差区域面积进行空间关系算子重构,利用重构后空间关系算子来实现对两个面状行政区域的是否存在覆盖层次关系的判断,重构后的空间关系算子采用覆盖误差比描述空间关系,根据覆盖误差比大小实现对覆盖关系的判断,避免了在两个面状区域间由于误差引起较小交叠而被判为交叠关系,提高了覆盖关系判断的准确性。

技术研发人员:华一新;张政;曹一冰;崔虎平;郭玥晗;张永树
受保护的技术使用者:中国人民解放军战略支援部队信息工程大学
技术研发日:2019.12.31
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-9333.html

最新回复(0)