线要素构建多边形的方法、装置及系统制造方法及图纸

技术编号:25690629 阅读:41 留言:0更新日期:2020-09-18 21:02
本公开是关于一种线要素构建多边形的方法、装置及系统,方法包括:对输入的线要素进行求交结点化,得到无内交点的线要素集合;根据线要素集合确定对应的初始结点集合和初始弧段集合;确定并删除初始结点集合和初始弧段集合中不参与组成多边形的无用结点和无用弧段,得到目标结点集合和目标弧段集合;依次在目标结点集合中的每个结点处对其所连接的所有弧段进行预设的处理操作;依次在每个结点处,从结点连接弧段中方位角最小的弧段开始,按照逆时针方向依次建立形成夹角的两条相邻弧段的半边后继以及半边前驱的拓扑关系;根据半边后继拓扑关系,确定至少一个完整的多边形;从至少一个多边形中删除满足预设条件的多边形,得到目标多边形。

【技术实现步骤摘要】
线要素构建多边形的方法、装置及系统
本公开涉及地理数据空间分析
,尤其涉及一种基于双向半边结构的线要素构建多边形的方法、装置及系统。
技术介绍
线要素快速构建多边形是地理数据空间拓扑关系建立的重要内容,在城市基础地理信息数据库更新、CAD数据转换为GIS数据、DLG数据入库等过程中均有着重要的应用,如利用城市道路网的线数据构造街区多边形等。现有线要素自动构建多边形方法主要有左转算法、结点依次搜索算法及改进算法等。左转算法是从起始点的任一连接线段开始,搜索前进方向左侧夹角最小的线段,将搜索到的线段作为当前线段继续搜索,直至回到起始结点,根据搜索到的线段形成多边形。结点依次搜索算法是从某一结点开始搜索,根据结点和线段的连接信息搜索形成同级结点和次级结点,并依次搜索同级结点、次级结点和上级结点,获得相应的多边形。现有线要素自动构建多边形方法基本上都是根据夹角最小原则,利用结点-弧段拓扑关系,从某一结点连接的某一弧段出发,在前进方向上迭代搜索合适的结点、弧段,直至回到出发的起始结点,在理想情况下该类方法可以拓扑构面,但在实际生产中由于线要素的复杂性,会导致一些问题,如产生重复多边形和无效多边形,结点-弧段拓扑关系中存在悬挂结点、悬弧和桥弧时无法构面等问题。
技术实现思路
为克服相关技术中存在的问题,本公开提供一种线要素构建多边形的方法、装置及系统。根据本公开实施例的第一方面,提供一种线要素构建多边形的方法,包括:对输入的线要素进行求交结点化,得到无内交点的线要素集合;根据所述线要素集合确定对应的初始结点集合和初始弧段集合,并构建结点与弧段的拓扑关系;确定并删除所述初始结点集合和所述初始弧段集合中不参与组成多边形的无用结点和无用弧段,得到目标结点集合和目标弧段集合;依次在所述目标结点集合中的每个结点处对其所连接的所有弧段进行预设的处理操作,所述预设的处理操作包括:弧段的方位角计算、弧段的方位角排序以及弧段的两条半边生成处理;依次在所述每个结点处,从所述结点连接弧段中方位角最小的弧段开始,按照逆时针方向依次构建形成夹角的两条相邻弧段的半边后继以及半边前驱的拓扑关系;根据所述半边后继拓扑关系,确定至少一个完整的多边形;从所述至少一个多边形中删除满足预设条件的多边形,得到目标多边形。在一个实施例中,优选地,所述对输入的线要素进行求交结点化,得到无内交点的线要素集合,包括:判断输入的每条线要素与其他线要素是否相交;当线要素与其他线要素相交时,从所述线要素和其他线要素的交点处将两条线要素拆分成四条线要素,并加入所述线要素集合中;所述确定并删除所述初始结点集合和所述初始弧段集合中不参与组成多边形的无用结点和无用弧段,包括:判断每个结点连接的弧段数量,从中提取出弧段数量为1的悬挂结点;删除所述悬挂结点和其连接的悬挂弧段,得到初筛目标结点集合和初筛弧段集合;对于所述初筛弧段集合中的每个弧段,将所述弧段从网络中断开,并采用路径搜索算法确定所述弧段的两端结点之间是否存在另一条路径;当确定不存在另一条路径时,将所述弧段与其两端的结点删除,以得到所述目标结点集合和目标弧段集合。在一个实施例中,优选地,所述依次在所述目标结点集合中的每个结点处对其连接的所有弧段进行预设的处理操作,包括:判断每个结点处于其所连接的每个弧段的坐标串起点还是坐标串终点;当确定结点处于弧段的坐标串起点时,计算所述结点与所述弧段的坐标串中第二个结点组成的射线的方位角;当确定结点处于弧段的坐标串终点时,计算所述结点与所述弧段的坐标串中倒数第二个结点组成的射线的方位角;按照方位角从小到大的顺序,对每个结点连接的所有弧段进行排序;根据所述所有弧段中每个弧段生成两条半边,其中,所述两条半边的起始点分别为该弧段的两端结点。在一个实施例中,优选地,依次在所述每个结点处,从所述结点连接弧段中方位角最小的弧段开始,按照逆时针方向依次构建形成夹角的两条相邻弧段的半边后继以及半边前驱的拓扑关系,包括:依次在所述每个结点处,从所述结点连接弧段中方位角最小的弧段开始,按照逆时针方向依次获取形成夹角的相邻的两条弧段,根据所述相邻的两条弧段中方位角排序在后的第一弧段确定从所述第一弧段的另一端结点出发的第一目标半边,和根据所述相邻的两条弧段中方位角排序在前的第二弧段确定从所述结点出发的第二目标半边;将所述第一目标半边的后继指向所述第二目标半边,并将所述第二目标半边的前驱指向第一目标半边。在一个实施例中,优选地,所述根据所述半边后继拓扑关系,得到至少一个完整的多边形,包括:根据所述半边后继拓扑关系,进行后继指针迭代跟踪,得到至少一个完整的多边形;所述从所述至少一个多边形中删除满足预设条件的多边形,得到目标多边形,包括:从所述至少一个多边形中删除由最外围的半边按照顺时针方向跟踪形成的多边形。根据本公开实施例的第二方面,提供一种线要素构建多边形的装置,包括:第一处理模块,用于对输入的线要素进行求交结点化,得到无内交点的线要素集合;第一确定模块,用于根据所述线要素集合确定对应的初始结点集合和初始弧段集合,并构建结点与弧段的拓扑关系;第一删除模块,用于确定并删除所述初始结点集合和所述初始弧段集合中不参与组成多边形的无用结点和无用弧段,得到目标结点集合和目标弧段集合;第二处理模块,用于依次在所述目标结点集合中的每个结点处对其所连接的所有弧段进行预设的处理操作,所述预设的处理操作包括:弧段的方位角计算、弧段的方位角排序以及弧段的两条半边生成处理;第二确定模块,用于依次在所述每个结点处,从所述结点连接弧段中方位角最小的弧段开始,按照逆时针方向依次构建形成夹角的两条相邻弧段的半边后继以及半边前驱的拓扑关系;第三确定模块,用于根据所述半边后继拓扑关系,确定至少一个完整的多边形;第二删除模块,用于从所述至少一个多边形中删除满足预设条件的多边形,得到目标多边形。在一个实施例中,优选地,所述第一处理模块包括:第一判断单元,用于判断输入的每条线要素与其他线要素是否相交;拆分单元,用于当线要素与其他线要素相交时,从所述线要素和其他线要素的交点处将两条线要素拆分成四条线要素,并加入所述线要素集合中;所述第一删除模块包括:第二判断单元,用于判断每个结点连接的弧段数量,从中提取出弧段数量为1的悬挂结点;第一删除单元,用于删除所述悬挂结点和其连接的悬挂弧段,得到初筛结点集合和初筛弧段集合;第一确定单元,用于针对所述初筛弧段集合中的每个弧段,将所述弧段从网络中断开,并采用路径搜索算法确定所述弧段的两端结点之间是否存在另一条路径;第二删除单元,用于当确定不存在另一条路径时,将所述弧段与其两端的结点删除,以得到所述目标结点集合和目标弧段集合。在一个实施例中,优选地,所述第二处理模块包括:<本文档来自技高网...

【技术保护点】
1.一种线要素构建多边形的方法,其特征在于,包括:/n对输入的线要素进行求交结点化,得到无内交点的线要素集合;/n根据所述线要素集合确定对应的初始结点集合和初始弧段集合,并构建结点与弧段的拓扑关系;/n确定并删除所述初始结点集合和所述初始弧段集合中不参与组成多边形的无用结点和无用弧段,得到目标结点集合和目标弧段集合;/n依次在所述目标结点集合中的每个结点处对其所连接的所有弧段进行预设的处理操作,所述预设的处理操作包括:弧段的方位角计算、弧段的方位角排序以及弧段的两条半边生成处理;/n依次在所述每个结点处,从所述结点连接弧段中方位角最小的弧段开始,按照逆时针方向依次构建形成夹角的两条相邻弧段的半边后继以及半边前驱的拓扑关系;/n根据所述半边后继拓扑关系,确定至少一个完整的多边形;/n从所述至少一个多边形中删除满足预设条件的多边形,得到目标多边形。/n

【技术特征摘要】
1.一种线要素构建多边形的方法,其特征在于,包括:
对输入的线要素进行求交结点化,得到无内交点的线要素集合;
根据所述线要素集合确定对应的初始结点集合和初始弧段集合,并构建结点与弧段的拓扑关系;
确定并删除所述初始结点集合和所述初始弧段集合中不参与组成多边形的无用结点和无用弧段,得到目标结点集合和目标弧段集合;
依次在所述目标结点集合中的每个结点处对其所连接的所有弧段进行预设的处理操作,所述预设的处理操作包括:弧段的方位角计算、弧段的方位角排序以及弧段的两条半边生成处理;
依次在所述每个结点处,从所述结点连接弧段中方位角最小的弧段开始,按照逆时针方向依次构建形成夹角的两条相邻弧段的半边后继以及半边前驱的拓扑关系;
根据所述半边后继拓扑关系,确定至少一个完整的多边形;
从所述至少一个多边形中删除满足预设条件的多边形,得到目标多边形。


2.根据权利要求1所述的线要素构建多边形的方法,其特征在于,
所述对输入的线要素进行求交结点化,得到无内交点的线要素集合,包括:
判断输入的每条线要素与其他线要素是否相交;
当线要素与其他线要素相交时,从所述线要素和其他线要素的交点处将两条线要素拆分成四条线要素,并加入所述线要素集合中;
所述确定并删除所述初始结点集合和所述初始弧段集合中不参与组成多边形的无用结点和无用弧段,包括:
判断每个结点连接的弧段数量,从中提取出弧段数量为1的悬挂结点;
删除所述悬挂结点和其连接的悬挂弧段,得到初筛结点集合和初筛弧段集合;
对于所述初筛弧段集合中的每个弧段,将所述弧段从网络中断开,并采用路径搜索算法确定所述弧段的两端结点之间是否存在另一条路径;
当确定不存在另一条路径时,将所述弧段与其两端的结点删除,以得到所述目标结点集合和目标弧段集合。


3.根据权利要求1所述的线要素构建多边形的方法,其特征在于,所述依次在所述目标结点集合中的每个结点处对其连接的所有弧段进行预设的处理操作,包括:
判断每个结点处于其所连接的每个弧段的坐标串起点还是坐标串终点;
当确定结点处于弧段的坐标串起点时,计算所述结点与所述弧段的坐标串中第二个结点组成的射线的方位角;
当确定结点处于弧段的坐标串终点时,计算所述结点与所述弧段的坐标串中倒数第二个结点组成的射线的方位角;
按照方位角从小到大的顺序,对每个结点连接的所有弧段进行排序;
根据所述所有弧段中每个弧段生成两条半边,其中,所述两条半边的起始点分别为该弧段的两端结点。


4.根据权利要求3所述的线要素构建多边形的方法,其特征在于,依次在所述每个结点处,从所述结点连接弧段中方位角最小的弧段开始,按照逆时针方向依次构建形成夹角的两条相邻弧段的半边后继以及半边前驱的拓扑关系,包括:
依次在所述每个结点处,从所述结点连接弧段中方位角最小的弧段开始,按照逆时针方向依次获取形成夹角的相邻的两条弧段,根据所述相邻的两条弧段中方位角排序在后的第一弧段确定从所述第一弧段的另一端结点出发的第一目标半边,和根据所述相邻的两条弧段中方位角排序在前的第二弧段确定从所述结点出发的第二目标半边;
将所述第一目标半边的后继指向所述第二目标半边,并将所述第二目标半边的前驱指向第一目标半边。


5.根据权利要求1所述的线要素构建多边形的方法,其特征在于,
所述根据所述半边后继拓扑关系,得到至少一个完整的多边形,包括:
根据所述半边后继拓扑关系,进行后继指针迭代跟踪,得到至少一个完整的多边形;
所述从所述至少一个多边形中删除满足预设条件的多边形,得到目标多边形,包括:
从所述至少一个多边形中删除由最外围的半边按照顺时针方向跟踪形成的多边形。


6.一种线要素构建多边形的装置,其特征在于,包括:
第一处理模块,用于对输入的线要素进行求交结点化,得到无内交点的线要素集合;
第一确定模块,用于根据所述线要素集合确定对应的初始结点集合和初始弧段集合,并构建结点与弧段的拓扑关系;
第一删除模块,用于确定并删除所述初始结点集合和所述初始弧段集合中不参与组成多边形的无用结点和无用弧段,得到目标结点集合...

【专利技术属性】
技术研发人员:吴文周苏奋振
申请(专利权)人:中国科学院地理科学与资源研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1