一种根据指定面积的矢量多边形自动分割方法与流程

文档序号:12273055阅读:903来源:国知局
一种根据指定面积的矢量多边形自动分割方法与流程

本发明涉及矢量图形数据的编辑处理方法,具体涉及一种根据指定面积的矢量多边形自动分割方法。



背景技术:

世间万物都在不断地变化中,空间矢量数据是对现实事物的数字化表达,为保持数据的现势性,需要常常对数据库中的数据进行相应的编辑处理,包括新增、删除、分割、合并等具体的操作,更新原有数据使其能更加准确地还原真实世界。

目前,大多数矢量数据的编辑处理软件在进行矢量多边形的分割时,基本上由人为进行手动画切割线,然后根据所画切割线进行切割。但是当遇到想要将某一个矢量多边形分割成多个指定面积的图形时,现有的需要靠人为操作的方法则无法完成,因为手动画切割线时不能得知该切割线分割后的图形面积是否满足指定要求。例如在农村土地承包经营权确权调查中,凡土地已承包到户、四至信息明确清晰的,都要求确权确地。对农村土地规模流转、土地整理等原因导致原有承包地块四至难以明确的,可在所涉整片土地测量定位基础上,采取虚拟还原、按序排位等农民认可的办法确权确地。这时就要对原有承包地块分割成几块指定面积大小的地块。根据指定面积的矢量多边形自动分割方法可以大量减少人为操作,大大提高了工作效率。



技术实现要素:

本发明的目的是克服现有技术的不足,提供一种根据指定面积的矢量多边形自动分割方法。

本发明的目的是通过以下技术方案来实现的:

一种根据指定面积的矢量多边形自动分割方法,包括如下步骤:

步骤1:获取指定分割后各矢量多边形的面积列表,将第i个面积值记为Si

步骤2:从待分割的矢量多边形中获取任意一条边界线段,以此线的延长线与矢量多边形外包框的相交线为基准线,将基准线向矢量多边形所在一侧平移Δh距离,以平移后的基准线或基准线延长线作为切割线,对矢量多边形进行切割;

步骤3:计算切割后的矢量多边形面积ST,并计算与指定面积列表中的第i个值Si的差值ΔS,若计算得到的ΔS首次大于0时,此后每次平移切割线之前都将Δh值的一半作为新的Δh值;然后再进行如下判定。同时进行如下判定:当|ΔS|大于给定的面积误差阈值d时且ΔS<0,则向使ST值变大的方向继续平移距离Δh;当|ΔS|大于给定的面积误差阈值d时且ΔS>0,则向使ST值变小的方向平移距离Δh;当|ΔS|不大于给定的面积误差阈值d时,将该切割线作为最终切割线;

步骤4:不断重复步骤3,直至获得最终切割线,对矢量多边形进行切割;然后将切割得到的图形进行保存,并开始第i+1个图形的分割。

基于上述技术方案,本发明还可以提供如下进一步的实现方式:

所述的步骤1中,获取用户指定的分割面积,并以数组的形式存储这组面积值,用于后续调用。

所述的步骤2包括:

步骤2.1:获取目标矢量多边形的边界线,然后获取某一边界线段与多边形外包框的相交线段作为基准线;

步骤2.2:以基准线的方向为中线,判断目标矢量多边形在基准线的左侧还是右侧,并将此基准线往该侧平移距离Δh;

步骤2.3:根据目标矢量多边形的最小外包矩形求出该图形的最小和最大的纵坐标值,分别为Ymin和Ymax,计算出平移后所得基准线或其延长线与直线Y=Ymin以及直线Y=Ymax的交点P1,P2,根据公式(1)和公式(2)分别求出交点P1的横坐标X0和点P2的横坐标X1,以交点P1(X0,Ymin),P2(X1,Ymax)为首尾点构建一条新的线段作为切割线;

公式(1)和公式(2)中,(x1,y1)和(x2,y2)为平移后所得基准线的首尾两点坐标,Ymin和Ymax分别为目标矢量多边形的最小和最大的纵坐标值。

不断平移切割线直至找出能切割出符合面积要求的最终切割线,在寻找最终切割线的过程中,当平移次数大于预设最大值nmax时,停止平移,选取待分割的矢量多边形的另一边界线作为基准线,重新进行步骤1~4寻找最终切割线。

所述的步骤4中,当完成第i个面积值的切割时,将切割后矢量多边形的剩余部分作为下一个待分割的矢量多边形,以上次分割的最终切割线为基准线,重复寻找最终切割线的过程,直至分割出所述的面积列表中所有面积值的矢量多边形为止。

本发明与现有技术相比具有有益效果:

(1)现有的矢量数据处理方法中基本没有按照指定面积切割出符合面积大小要求的图形的实现方法,本发明为矢量面状图形数据的编辑处理提供了一种新的自动化分割方法和解决思路。

(2)本发明提供了一种按照指定面积大小自动化分割的方法,解决了人工处理难度大、效率低、精度低的问题,减少了大量的人为操作,提高了矢量多边形数据分割的自动化水平。

附图说明

图1为本发明一种根据指定面积的矢量多边形自动分割方法的流程图;

图2为按照指定面积分割前后的地块形状,其中(a)为分割前地块的截图;(b)为按照指定面积分割出200m2和333m2两个地块后的截图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步详细说明。

如图1所示,一种根据指定面积的矢量多边形自动分割方法,包括如下步骤:

步骤1:获取指定分割后各矢量多边形的面积列表,将第i个面积值记为Si;获取的该组分割面积值以数组的形式存储,用于后续依次调用。批量切割过程中,首先调取第一个面积值,完成切割后依次调取后续的面积值。

步骤2:从待分割的矢量多边形中获取任意一条边界线段,以此线的延长线与矢量多边形外包框的相交线为基准线,将基准线向矢量多边形所在一侧平移Δh距离,以平移后的基准线或基准线延长线作为切割线,对矢量多边形进行切割。该步骤的具体实现方式为:

步骤2.1:首先获取目标矢量多边形的边界线,然后随机选择该目标矢量多边形的任意一段边界线,将该段边界线与多边形外包框的相交线段作为基准线;

步骤2.2:以基准线的方向为中线,判断目标矢量多边形在基准线的左侧还是右侧,并将此基准线往目标矢量多边形所在的一侧平移距离Δh。Δh的值可以根据目标矢量多边形的形状分布预设一个合适大小初始值,以免后续平移次数过多,降低分割效率。

步骤2.3:寻找目标矢量多边形的最小外包矩形,求出该矩形边界上所有点中最小和最大的纵坐标值,分别记为Ymin和Ymax,计算出平移后所得基准线或其延长线与直线Y=Ymin以及直线Y=Ymax的交点P1,P2,根据公式(1)和公式(2)分别求出交点P1的横坐标X0和点P2的横坐标X1,以交点P1(X0,Ymin),P2(X1,Ymax)为首尾点构建一条新的线段作为切割线;

公式(1)和公式(2)中,(x1,y1)和(x2,y2)为平移后所得基准线的首尾两点坐标,Ymin和Ymax分别为目标矢量多边形的最小和最大的纵坐标值。

步骤3:当完成一次平移后,计算基准线、切割线以及矢量多边形的边界所围成的切割后的矢量多边形面积ST,并计算与指定面积列表中的第i个值Si的差值ΔS=ST-Si。在第一次ΔS>0之前,Δh值保持不变,直到第一次ΔS>0(切割线第一次跨越目标切割线位置)后,每次平移切割线之前都将Δh值的一半作为新的Δh值。因此,在逼近目标切割线之后,Δh会以Δh,Δh/2,Δh/4,…进行递减,形成不断向目标面积值不断收缩靠拢的趋势。

完成上述过程后,再进行如下判定:当|ΔS|大于给定的面积误差阈值d时且ΔS<0,则向使ST值变大的方向继续平移距离Δh;当|ΔS|大于给定的面积误差阈值d时且ΔS>0,则向使ST值变小的方向平移距离Δh;当|ΔS|不大于给定的面积误差阈值d时,将该切割线作为最终切割线;

步骤4:不断重复步骤3,直至获得最终切割线,对矢量多边形进行切割。但需要注意的是,考虑到部分极端情况(如选取了矢量凹多边形优角所在边,导致无法判断起始切割方向)以及切割的效率问题(如恰好在狭长多边形最狭长方向寻找目标切割线,导致移动次数过多),在寻找最终切割线的过程中,当平移次数大于预设最大值nmax时,认为其无法找到最终切割线,因此停止平移。此时需重新选取待分割的矢量多边形的另一段边界线作为基准线,重新进行步骤1~4寻找最终切割线。当完成第i个面积值的切割时,从面积值列表中调取下一个面积值,将切割后矢量多边形的剩余部分作为下一个待分割的矢量多边形,以上次分割的最终切割线为基准线,重复寻找最终切割线的过程,直至分割出所述的面积列表中所有面积值的矢量多边形为止。

为了更好的使本领域技术人员理解本发明,下面以农田地块的面状图形数据为例,基于上述方法,通过实施例进行阐述。

实施例:

以农经权调查过程中“虚拟还原”政策下的虚拟分割为例,按照指定面积对目标地块进行自动分割。农村土地因各种原因导致原有承包地块四至信息不明确,因此需要在所涉整片土地测量定位基础上,采取虚拟还原、按序排位等农民认可的办法确权确地。这时需要对原有承包地块分割成几块指定面积大小的地块。本实施例中,采用的目标矢量多边形即为此类农田地块的面状图形数据。具体分割过程如下:

第一步是选取要分割的地块要素,获取要分割的目标地块面积值200m2、333m2,以数组的方式进行存储。初始Δh设置为10m,面积误差阈值d设置为1m2,原有地块为8×10m的长方形(如图2中a所示)。

第二步是获取所选的地块要素的边界,选择左上侧长度为10m的边界线段,以此为基准线向右平移距离10m,求出该目标地块的最小和最大纵坐标值Ymin和Ymax,求出平移后的线段或者该线的延长线与直线Y=Ymin和Y=Ymax的交点,以这两点连线作为切割线;

第三步是分别计算切割线左右的地块面积,选择与指定面积列表中第1个面积200m2差值进行比较,矢量多边形面积ST为100m2,ΔS=ST-Si=-100m2,绝对值大于d,因此仍然需要向右移动。由于ΔS未大于0,向右移动距离仍然为10m。第二次移动完成后,ST为200m2,ΔS=0m2,小于d,满足要求。因此将此切割线作为最终切割线。

第四步是以最终切割线对所选的目标地块进行分割,将最初的基准线、该段切割线以及长方形的两条侧边围成的矩形作为第1个面积200m2所对应的矢量多边形,进行保存。然后,读取待切割的第2个面积为333m2,因此将原地块的剩余部分作为下一个待分割的地块,以上次分割的最终切割线为基准线,继续重复前述步骤。进行之前,本实施例中将初始Δh重新设置为10m,当然也可以设置为其他值。

首先,将剩余部分的基准线向右移动10m,选择与第2个面积333m2差值进行比较,矢量多边形面积ST为100m2,ΔS=ST-Si=-233m2,绝对值大于d,因此仍然需要向右移动。由于ΔS未大于0,向右移动距离仍然为10m。第二次移动完成后,ST为200m2,ΔS=-133m2,绝对值大于d,因此仍然需要向右移动。由于ΔS仍未大于0,向右移动距离仍然为10m。第三次移动完成后,ST为300m2,ΔS=-33m2,绝对值大于d且小于0,因此仍然需要向右移动10m。第四次移动完成后,ST为400m2,ΔS=67m2,绝对值大于d,需要向左移动。且由于ΔS已首次大于0,本次移动及后续每次移动前,都需要将Δh减少一半。本次中,Δh重新设置为5m,切割线向左移动5m2。第五次移动完成后,ST为350m2,ΔS=17m2,绝对值大于d,还需要向左移动。Δh重新设置为2.5m,切割线向左移动2.5m。第六次移动完成后,ST为325m2,ΔS=-8m2,绝对值大于d,需要向右移动。Δh重设为1.25m,切割线向右移动1.25m2。第七次移动完成后,ST为337.5m2,ΔS=4.5m2,绝对值大于d,还需要向左移动。Δh重设为0.625m,切割线向左移动0.625m。此时ST为331.25m2,ΔS=-1.75m2。依次类推,直至第十次移动完成,ST为332.8125m2,ΔS=-0.1875m2。|ΔS|≤1m2,满足要求,因此将第十次切割时的切割线作为最终切割线。

最终,分割出两个面积为200m2、333m2的地块,如图2(b)所示。保存分割后的3个地块图形,完成整个切割过程。由此可见,该方法可以将目标矢量多边形自动分割成多个指定面积大小的矢量图形,解决了人工处理过程中难度大、效率低、精度低的问题,在矢量图形数据的编辑处理应用中具有重要的意义。

需要注意的是,上述实施例仅用于解释说明本发明要求保护的内容,但并不是用于限制本发明的要求保护的范围。本领域技术人员在本发明精神内所做的改进和替换,均属于保护范围内。

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