一种空间对象的空间形态重塑方法技术

技术编号:25442594 阅读:29 留言:0更新日期:2020-08-28 22:29
本发明专利技术公开了一种空间对象的空间形态重塑方法,包括以下步骤:S1、判断是否与复杂面要素相交,不相交直接跳到S9;S2、得到复杂面要素的外环线和所有内环线;S3、判断所有环线是否与重塑线相交,相交环的个数为0则跳到S9;S4、相交环的个数不为0,进入到S5的重塑环线函数;S5、由重塑环线函数得到重塑环形;S6、重塑环线是外环线,使用外环线和所有内环线创建出多边形面要素;S7、重塑环线是内环线,使用外环线和重塑内环线以及其他内环线创建多边形面要素;S8、返回多边形要素;S9、算法结束。本发明专利技术与现有技术相比的优点在于:避免了大量调用GEOS空间操作算法,使用拓扑面化的特点较少次数的调用空间操作算法,提升了要素重塑效率。

【技术实现步骤摘要】
一种空间对象的空间形态重塑方法
本专利技术涉及要素重塑工具,具体是指一种空间对象的空间形态重塑方法。
技术介绍
要素重塑工具是QGIS自带的高级编辑工具,主要用于修改面要素的内环线与外环线的形状,属于图形编辑的一种工具,用来修改矢量边界的形状,具体要求是:重塑线只能与一个环线相交,若相交且从外部闭合,则会填充闭合区域,若相交且从内部闭合,则会挖去重叠部分。现有的原生算法因其设计上的不足,导致实际使用时时间损耗过长且效率低下,不适用于本领域的多项要素重塑工作。因此,设计出一种空间对象的空间形态重塑方法势在必行。
技术实现思路
本专利技术要解决的技术问题是原生算法耗时主要在于重塑环线函数中几个标识的判断,每个点的判断都需要使用GEOSAPI的缓冲区包含等空间操作,使用四个标识的不同情况来得到正确环线不仅耗时长且处理情况复杂。为解决上述技术问题,本专利技术提供的技术方案为:一种空间对象的空间形态重塑方法,包括以下步骤:S1、判断是否与复杂面要素相交,不相交直接跳到S9;S2、得到复杂面要素的外环线和所有内环线;S3、判断所有环线是否与重塑线相交,相交环的个数为0则跳到S9;S4、相交环的个数不为0,进入到S5的重塑环线函数;S5、由重塑环线函数得到重塑环形;S6、重塑环线是外环线,使用外环线和所有内环线创建出多边形面要素;S7、重塑环线是内环线,使用外环线和重塑内环线以及其他内环线创建多边形面要素;S8、返回多边形要素;S9、算法结束。本专利技术与现有技术相比的优点在于:避免了大量调用GEOS空间操作算法,使用拓扑面化的特点较少次数的调用空间操作算法,重塑效率基本上与arcgis整形工具消耗时间基本相等,对于复杂面要素的重塑时间为3秒左右,设计思路清晰,算法架构完整且合理,使用便捷,提升了要素重塑效率。作为改进,S5的重塑环线函数包括以下步骤:S1、创建环线多边形;S2、将环线与重塑线合并,拓扑化成为多边形集合;S3、遍历多边形集合,得到当前多边形,同时得到多边形内点;S4、判断内点是否在环线多边形中,是则进入到内部多边形;否则进入到外部多边形;S5、遍历结束;S6、找到边长最长的内部多边形;S7、遍历所有外部多边形;S8、当外部多边形与最长的内部多边形相邻时,则与最长的内部多边形合并得到结果多边形,否则继续下一外部多边形;S9、遍历结束;S10、返回结果多边形的外环。作为改进,通过GEOS的拓扑化函数将闭合环线都拓扑出面要素,只需要将外部面与周长最长面要素合并,内部面删除,得到的结果环线便是重塑的环线。作为改进,处理多部件要素时,需要多次进入到重塑算法。附图说明图1是一种空间对象的空间形态重塑方法的拓扑流程示意图。图2是一种空间对象的空间形态重塑方法的算法流程图。图3是一种空间对象的空间形态重塑方法的重塑环形函数的算法流程图。图4是实施例的拓扑流程示意图。如图所示:1、重塑线,2、重塑面一,3、面一,4、面二,5、面三,6、重塑面二,7、面四,8、面五,9、面六,10、面七,11、外部多边形,12、内部多边形,13、最长内部多边形,14、相邻的外部多边形。具体实施方式下面结合附图对本专利技术做进一步的详细说明。本专利技术在具体实施时,一种空间对象的空间形态重塑方法,包括以下步骤:S1、判断是否与复杂面要素相交,不相交直接跳到S9;S2、得到复杂面要素的外环线和所有内环线;S3、判断所有环线是否与重塑线相交,相交环的个数为0则跳到S9;S4、相交环的个数不为0,进入到S5的重塑环线函数;S5、由重塑环线函数得到重塑环形;S6、重塑环线是外环线,使用外环线和所有内环线创建出多边形面要素;S7、重塑环线是内环线,使用外环线和重塑内环线以及其他内环线创建多边形面要素;S8、返回多边形要素;S9、算法结束。所述S5的重塑环线函数包括以下步骤:S1、创建环线多边形;S2、将环线与重塑线合并,拓扑化成为多边形集合;S3、遍历多边形集合,得到当前多边形,同时得到多边形内点;S4、判断内点是否在环线多边形中,是则进入到内部多边形;否则进入到外部多边形;S5、遍历结束;S6、找到边长最长的内部多边形;S7、遍历所有外部多边形;S8、当外部多边形与最长的内部多边形相邻时,则与最长的内部多边形合并得到结果多边形,否则继续下一外部多边形;S9、遍历结束;S10、返回结果多边形的外环。所述一种空间对象的空间形态重塑方法通过GEOS的拓扑化函数将闭合环线都拓扑出面要素,只需要将外部面与周长最长面要素合并,内部面删除,得到的结果环线便是重塑的环线。所述一种空间对象的空间形态重塑方法处理多部件要素时,需要多次进入到重塑算法。本专利技术的工作原理:改进重塑算法通过GEOS的拓扑化函数将闭合环线都拓扑出面要素,故只需要将外部面与周长最长面要素合并,内部面删除掉,得到的结果环线必然是重塑的环线。如图1中,需要留下面三5和面一3合并,删除面二。在处理多部件要素时,如果是多部件要素,需要多次进入到重塑算法。实施例:图4为简单重塑情况,重塑面一2被重塑线1分割,合并拓扑化后生成带有面四7、面五8、面六9、面七10的重塑面二6,面六9和面七10作为外部多边形11,其余作为内部多边形12,变换后生成对应的相邻的外部多边形14和最长内部多边形13,经合并后得到外环。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本专利技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。在本专利技术中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利技术中的具体含义。在本专利技术中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度小于第二特征。本文档来自技高网...

【技术保护点】
1.一种空间对象的空间形态重塑方法,其特征在于包括以下步骤:/nS1、判断是否与复杂面要素相交,不相交直接跳到S9;/nS2、得到复杂面要素的外环线和所有内环线;/nS3、判断所有环线是否与重塑线相交,相交环的个数为0则跳到S9;/nS4、相交环的个数不为0,进入到S5的重塑环线函数;/nS5、由重塑环线函数得到重塑环形;/nS6、重塑环线是外环线,使用外环线和所有内环线创建出多边形面要素;/nS7、重塑环线是内环线,使用外环线和重塑内环线以及其他内环线创建多边形面要素;/nS8、返回多边形要素;/nS9、算法结束。/n

【技术特征摘要】
1.一种空间对象的空间形态重塑方法,其特征在于包括以下步骤:
S1、判断是否与复杂面要素相交,不相交直接跳到S9;
S2、得到复杂面要素的外环线和所有内环线;
S3、判断所有环线是否与重塑线相交,相交环的个数为0则跳到S9;
S4、相交环的个数不为0,进入到S5的重塑环线函数;
S5、由重塑环线函数得到重塑环形;
S6、重塑环线是外环线,使用外环线和所有内环线创建出多边形面要素;
S7、重塑环线是内环线,使用外环线和重塑内环线以及其他内环线创建多边形面要素;
S8、返回多边形要素;
S9、算法结束。


2.根据权利要求1所述的一种空间对象的空间形态重塑方法,其特征在于:所述S5的重塑环线函数包括以下步骤:
S1、创建环线多边形;
S2、将环线与重塑线合并,拓扑化成为多边形集合;
S3、遍历多边形集合,得到当前...

【专利技术属性】
技术研发人员:刘小春张亚军姚亮李坡
申请(专利权)人:苏州中科蓝迪软件技术有限公司
类型:发明
国别省市:江苏;32

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

1