一种半自动化综合矢量多边形的方法与流程

文档序号:11155524阅读:299来源:国知局
一种半自动化综合矢量多边形的方法与制造工艺

本发明涉及地理信息数据处理技术领域,尤其涉及一种半自动化综合矢量多边形的方法。



背景技术:

在地理信息数据处理过程中,不同尺度的地图所能承载的信息量各不相同,在多比例尺数据库的建设过程中,大比例尺数据的生产通常由高精度的遥感或摄影测量影像、经过矢量化生产而得,若各级数据均采用矢量化采集的方式,造成数据生产周期长、工作量大、重复采集等现象,因此通常采用数据缩编的方法获取小比例尺数据。

在已有大比例尺数据的基础上进行小比例尺数据的生产过程中,由于地图的承载量的缩小对地图数据进行的选取和概括,称为地图缩编。在矢量数据的点线面三种类型中,点数据的综合方法已经逐渐成熟,线、面数据由于其数据结构复杂、具有多样性,其综合方法仍需进一步开发。



技术实现要素:

本发明的目的在于提供一种半自动化综合矢量多边形的方法,从而解决现有技术中存在的前述问题。

为了实现上述目的,本发明采用的技术方案如下:

一种半自动化综合矢量多边形的方法,包括如下步骤:

S1,指定待处理的矢量图层,设置允许综合的容差值;

S2,在所述待处理的矢量图层中,通过用户交互选取多个多边形要素;

S3,根据设置的容差值,对S2中选择的多个多边形要素进行两两综合,循环处理至完成几何图形的缩编,得到综合多边形;

S4,将综合前的任意一个多边形要素的属性赋值给所述综合多边形,完成所述综合多边形属性的缩编,得到综合结果;

S5,保存所述综合结果,同时删除综合前被选中的所述多边形要素。

优选地,S2具体为,通过鼠标框选的交互方式选择临近的、符合缩编规则的多个多边形要素。

优选地,S3包括如下步骤:

S31,获取S2中被选中的多边形要素中的两个要素作为当前操作对象;

S32,计算当前操作对象中的一个多边形的节点与另一个多边形的距离,获取在容差值内的节点集合;

S33,将所述节点集合转换成多点对象,并获取所述多点对象的凸包多边形;

S34,对所述凸包多边形进行直角化,得到直角化多边形,将所述直角化多边形作为当前操作对象的两个多边形之间的填充多边形;

S35,将当前操作对象的两个多边形与填充多边形进行合并,得到综合多边形;

S36,选取所述综合多边形和剩余的多边形要素中的一个作为当前操作对象,重复S32-S35,至S2中被选中的所有的多边形要素均处理完成。

优选地,S31具体为:按照被选中要素的ID值由小到大排序,首先取ID值最小的一个要素作为一个当前操作对象A;计算其他要素与当前操作对象A的空间距离,选择与A距离最近的要素作为另一个当前操作对象B。

优选地,S32具体为:依次计算A要素的各个节点与B要素的最近距离Dis1,若距离Dis1小于容差值,则将对应的节点及B要素上的最近距离点存储在容差值内的节点集合中;依次计算B要素的各个节点与A要素的最近距离Dis2,若距离Dis2小于容差值,则将对应的节点及A要素上的最近距离点存储在容差值内的节点集合中。

优选地,S33具体为:将S32中保存的节点集合构成多点对象,通过ConverxHull()方法获取所述多点对象的凸包多边形。

优选地,S34中,所述对所述凸包多边形进行直角化,包括如下步骤:

S341,获取起始边线,所述起始边线的两个端点均属于同一个合并处理前的多边形;

S342,判断下一条边线与所述起始边线之间的夹角,如果夹角远远小于或大于90度,则在所述下一条边线的起止点之间插入直角点,否则,无需处理;

S343,以插入的直角点与起始边线终点的连线作为新的起始边线,重复S342,至所有的边线均处理完成,得到直角化的凸包多边形。

优选地,S342中,所述在所述下一条边线的起止点之间插入直角点,具体为,在所述起始边线的终点处做垂线,将所述下一条边到所述垂线的垂足点作为直角点。

优选地,S1中,所述容差值的单位与所述待处理的矢量图层的空间参考系一致,所述容差值根据数据缩编的比例尺进行设置。

本发明的有益效果是:本发明实施例提供的半自动化综合矢量多边形的方法,在地理信息行业DLG数据的生产过程中,为表示地表建筑物的矢量面要素的缩编过程提供了一种半自动化综合的方法,改善了现有的数据缩编方式,提高了数据生产效率。

附图说明

图1是本发明实施例提供的半自动化综合矢量多边形的方法流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明实施例提供了一种半自动化综合矢量多边形的方法,包括如下步骤:

S1,指定待处理的矢量图层,设置允许综合的容差值;

S2,在所述待处理的矢量图层中,通过用户交互选取多个多边形要素;

S3,根据设置的容差值,对S2中选择的多个多边形要素进行两两综合,循环处理至完成几何图形的缩编,得到综合多边形;

S4,将综合前的任意一个多边形要素的属性赋值给所述综合多边形,完成所述综合多边形属性的缩编,得到综合结果;

S5,保存所述综合结果,同时删除综合前被选中的所述多边形要素。

上述方法的实际工作过程为:

在执行综合过程之前,由用户指定综合对象及允许综合的距离容差值,进而由用户通过鼠标框选方式选择综合要素列表,程序通过循环处理的方式对被选中的要素进行两两综合,将符合要求的节点构成多点对象、获取其凸包多边形并进行直角化,将直角化多边形作为两多边形之间的填充多边形,通过要素合并获取综合结果,最后将综合前一个要素的属性赋值给综合结果,删除原有要素。

上述方法可以实现表示地表建筑物的矢量线、面要素数据的半自动化综合过程,对于结构复杂、多样性的线、面数据的综合,提高了数据生产效率。

在本发明的一个优选实施例中,S2具体为,通过鼠标框选的交互方式选择临近的、符合缩编规则的多个多边形要素。

实际操作过程中,可以利用ArcGIS Objects二次开发技术,以鼠标框选的方式实现要素的交互选择,与鼠标框选图形的空间关系为相交或包含的多边形要素存储到数据列表中,作为待综合对象。

在本发明的一个优选实施例中,S3可以包括如下步骤:

S31,获取S2中被选中的多边形要素中的两个要素作为当前操作对象;

S32,计算当前操作对象中的一个多边形的节点与另一个多边形的距离,获取在容差值内的节点集合;

S33,将所述节点集合转换成多点对象,并获取所述多点对象的凸包多边形;

S34,对所述凸包多边形进行直角化,得到直角化多边形,将所述直角化多边形作为当前操作对象的两个多边形之间的填充多边形;

S35,将当前操作对象的两个多边形与填充多边形进行合并,得到综合多边形;

S36,选取所述综合多边形和剩余的多边形要素中的一个作为当前操作对象,重复S32-S35,至S2中被选中的所有的多边形要素均处理完成。

其中,S31具体可以为:按照被选中要素的ID值由小到大排序,首先取ID值最小的一个要素作为一个当前操作对象A;计算其他要素与当前操作对象A的空间距离,选择与A距离最近的要素作为另一个当前操作对象B。

S32具体可以为:依次计算A要素的各个节点与B要素的最近距离Dis1,若距离Dis1小于容差值,则将对应的节点及B要素上的最近距离点存储在容差值内的节点集合中;依次计算B要素的各个节点与A要素的最近距离Dis2,若距离Dis2小于容差值,则将对应的节点及A要素上的最近距离点存储在容差值内的节点集合中。

S33具体可以为:将S32中保存的节点集合构成多点对象,通过ConverxHull()方法获取所述多点对象的凸包多边形。

在本发明的一个优选实施例中,S34中,所述对所述凸包多边形进行直角化,可以包括如下步骤:

S341,获取起始边线,所述起始边线的两个端点均属于同一个合并处理前的多边形;

S342,判断下一条边线与所述起始边线之间的夹角,如果夹角远远小于或大于90度,则在所述下一条边线的起止点之间插入直角点,否则,无需处理;

S343,以插入的直角点与起始边线终点的连线作为新的起始边线,重复S342,至所有的边线均处理完成,得到直角化的凸包多边形。

S342中,所述在所述下一条边线的起止点之间插入直角点,具体可以为,在所述起始边线的终点处做垂线,将所述下一条边到所述垂线的垂足点作为直角点。

S1中,所述容差值的单位与所述待处理的矢量图层的空间参考系一致,所述容差值根据数据缩编的比例尺进行设置。

其中,容差值是指允许综合的最大距离,容差值的单位与所述待处理的矢量图层的空间参考系一致,若被处理图层的空间参考为地理坐标系,则单位为度;若被处理图层的空间参考系为投影平面坐标系,则单位为米。

具体实施例

本发明实施例利用ArcGIS Objects二次开发技术,提供了一种半自动化综合矢量多边形的方法,采用如下步骤进行实施:

步骤一,参数设置。

利用窗体交互,选择当前地图文档中的面要素图层,设置允许要素综合的容差值Limit。

具体的,允许要素综合的容差值,其单位与被操作的矢量图层的空间参考系相关:若空间参考为地理坐标系,则单位为度;若空间参考为投影平面直角坐标系,则单位为米。

参数设置完成后,自动在工作目录下新建指定图层的副本文件,之后的处理过程将在该副本文件中进行。

步骤二,用户交互选择多边形要素。

利用ArcGIS Objects二次开发技术,以鼠标框选的方式实现要素的交互选择,与鼠标框选图形的空间关系为相交或包含的要素存储到数据列表中,作为待综合对象。

步骤三,对S2步骤中被选择的数据进行两两综合,获取综合后的多边形,详细步骤为:

S31,在第一次循环中,将被选中要素按照ID值由小到大排序,首先取ID值最小的一个要素作为当前操作对象A;计算其他要素与当前操作对象A的空间距离,选择与其距离最近的要素作为综合对象B。

S32,依次计算A要素的各个节点与B要素的最近距离Dis1,若距离小于容差值(Dis1<Limit),则该节点与B要素上的最近距离点作为建立填充多边形的节点;依次计算B要素的各个节点与A要素的距离Dis2,若该距离小于容差值(Dis2<Limit),则该节点与A要素上的最近距离点作为建立填充多边形的节点,上述符合要求的节点存储到列表中。

S33,将S32步骤符合要求的节点列表中保存的节点构成多点对象IMultiPoint,通过ConverxHull()方法获取该多点对象的凸包多边形。

S34,对S33步骤中所述的凸包多边形进行直角化,详细步骤为:

S341,优选地,对凸包多边形的边线进行循环处理获取起始边,若边线的两个端点均属于A或B(即属于同一个合并前多边形),且两点在多边形中的序号相邻,则该边线作为起始边;

S342,根据节点在凸包多边形中的编号处理其他边线,若下一条边线与起始边线的夹角与90度相差较大,则在该边线的起止点之间插入直角点;具体方法为,在起始边的终点处做垂线,计算下一条边到该垂线的垂足点,该垂足点即为直角点;

S343,以新插入的直角点与起始边的终点的连线作为起始边,对其他边线进行依次处理,获取直角化的凸包多边形。

S35,将S34步骤中直角化的凸包多边形作为填充多边形,与原始要素A、要素B进行合并,获取综合后的多边形要素。

步骤四,完成属性信息的综合,属性信息则将合并前的第一个要素的属性迁移到新建要素中。

步骤五,保存综合结果,将综合后的过变形及其属性保存到要素类中,并删除综合前选中的要素。

通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明实施例提供的半自动化综合矢量多边形的方法,在地理信息行业DLG数据的生产过程中,为表示地表建筑物的矢量面要素的缩编过程提供了一种半自动化综合的方法,改善了现有的数据缩编方式,提高了数据生产效率。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域人员应该理解的是,上述实施例提供的方法步骤的时序可根据实际情况进行适应性调整,也可根据实际情况并发进行。

上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,例如:个人计算机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,例如:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1