一种复合界址线的自动规范化方法

文档序号:30096832发布日期:2022-05-18 11:09阅读:202来源:国知局
一种复合界址线的自动规范化方法

1.本发明属于土地勘测定界技术领域,具体涉及一种复合界址线的自动规范化方法。


背景技术:

2.土地勘测定界是为自然资源行政主管部门用地审批和地籍管理等提供科学、准确的基础资料而进行的技术服务性工作。其界址线成果一般采用autocad软件生成的多段线来表示,而审批和管理部门则多采用地理信息系统(geographic information system,gis)软件的面状地物来管理,这就不可避免地涉及数据格式转换的问题。带有圆弧、带有孔(孤岛)的复合界址线,在转换过程中不可避免的存在转换后出现偏差、错位、自相交等问题。
3.界址线成果的正确提取、转换是一项非常重要的工作,当前人工操作的作业模式亟待优化,否则将直接影响到用地审批和地籍管理的科学性。在数据生产和转换过程中,复合界址线经常存在以下问题:

、圆弧、多段线组合的复合界址线经常会出现偏差、错位,或错误地转换为位置诡异的圆弧定位;

、部分带有孤岛的界址线,因内、外多段线的连接线存在自相交,转换成gis面域时将提示失败,而手工增加节点难以控制精度;

、界址点编号原则上应以用地范围为单位,从左到右,自上而下统一编号,因此界址线的起点最好转换到左上角,否则将可能因为软件存在的缺陷而无法生成满足规范要求的界址点成果,人工修改界址点大大增加了作业员的劳动强度,而且容易出错。
4.目前,已有一些针对以上问题的自动处理算法,例如,李朝奎等提出了一种界址点与界址线提取的优化算法;何春林使用arcgis软件的模型构建器制作模型工具,实现了自动化红线圆弧转换折线;杨光、刘虎、刘京等提出了带圆弧多段线转普通多段线的算法;王德强等利用c#程序找到了对界址点编号不同要求的编号方法。但对于问题

的自动规范化研究成果较少;对以上三种问题统一处理的研究成果也少见。实际工作中,问题



经常借助cass、arcgis软件来处理,问题

通常通过手工编辑来解决,不仅费时费力,也容易出错。因此,我们提出一种复合界址线的自动规范化方法来解决上述问题。


技术实现要素:

5.本发明的目的在于提供一种复合界址线的自动规范化方法,通过该方法可以大幅提高工作效率,提升界址线处理的数据质量,以解决上述背景技术中提出的问题。
6.为实现上述目的,本发明采用了如下技术方案:
7.一种复合界址线的自动规范化方法,包括如下步骤:
8.s1、将带圆弧的复合多段线转为普通多段线,得到普通多段线;
9.s2、将带孤岛的界址线去除自相交,得到界址线;
10.s3、将界址线起点转换到左上角,得到新的界址线;
11.s4、将新的界址线进行算法实现与实例分析,完成界址线的自动规范化。
12.优选的,步骤1中所述复合多段线包括轻量多段线和多段线,轻量多段线的节点坐标数组由x,y组成,所述多段线的节点坐标由x,y,z组成,圆弧则保存了半径、圆心、起点坐标、终点坐标和起止方位角的参数。
13.优选的,在转换带圆弧多段线转为普通多段线过程中,包括如下步骤:
14.a1、判断复合多段线的方向,得到新的节点坐标数组;
15.a2、圆弧转为普通多段线,获取圆弧上的任意点坐标;
16.a3、转换误差计算与控制,得到普通多段线。
17.优选的,步骤a1中所述复合多段线的方向在判断时,需先判断其方向是顺时针或逆时针,然后根据多段线的方向,依次内插节点,生产新的节点坐标数组;其中顺时针或逆时针方向判断的方法是利用式格林公式计算出代数和s,若s为正值即为逆时针,格林公式如下:
[0018][0019]
式中,s为多段线面积,(xi,yi)为节点i的坐标。
[0020]
优选的,步骤a2中所述任意点坐标在获取时采用极坐标法的等角切分算法计算出圆弧上任意位置的坐标,通过autocad弧线自带的圆心坐标、半径、弧长、夹角大小、起始点坐标、起始方位角等属性,根据如下公式的极坐标法可以便捷的获取圆弧上的任意点坐标,
[0021]
xi=x0+r
×
cos(a0+a)
[0022]
yi=y0+r
×
sin(a0+a)
[0023]
式中,(x0,y0)为圆弧圆心点坐标,r为圆弧半径,a0为圆弧起始点坐标方位角,a为圆弧上i点到起始点的夹角,均可从vba自带的参数中获取到。
[0024]
优选的,步骤a3中所述转换误差计算与控制时,根据推导转换误差计算公式,改进手工调制节点数,然后在程序中自动设置节点数,转换后圆弧变成了等腰三角形,面积产生了误差,推导转换误差计算公式如下:
[0025][0026][0027][0028]
式中,s1为原来的圆弧面积,r、a为圆弧半径和圆心角,s2为转换后的等腰三角形面积,n为转换后的等腰三角形个数,δs为转换误差。
[0029]
优选的,步骤s2中所述带孤岛的界址线在去除自相交时,采用用户交互的方法程序提示用户选择自相交的线段ab,若存在自相交的情况,用户在a、b点上分别单击选择,若不存在则直接跳过,然后,程序根据节点a、b的坐标,自动在ab线段的中点处垂直移动距离d添加新节点,这样可以节省大量的时间。
[0030]
优选的,步骤3中所述界址线起点在转换到左上角时,包括如下过程:
[0031]
b1、使用getboundingbox方法可直接获取整个多段线的外接矩形,其返回值为外
接矩形的左下角、右上角角点的坐标,取其平均值即是外接矩形的中心作为原点,再计算原点到每个节点的方位角,查找方位角在270
°‑
360
°
之间且距原点最远的点,此时获取到的就是规范规定的左上角的点,且相对其它节点来说是凸出的点,适合用作起点;
[0032]
b2、记录新的起点在节点数组中的位置,并根据界址线是顺时针或者逆时针,分别采用正序/逆序的方法生成新的数组,最后,利用新的数组生成一条新的界址线,删除原来的界址线即生成了起点在左上角顺时针的界址线,这样有利于后续工序的顺利开展,可确保最终成果顺利导入gis系统。
[0033]
优选的,步骤4中所述新的界址线进行算法实现与实例分析时,由于土地勘测定界图不仅涉及到界址点、界址线,还需要图名图框、界址点成果表的内容,在autocad中采用vba编程实现以上的算法,直接嵌入autocad中以工具栏的形式配合原有的南方cass软件使用,图名图框、界址点成果表内容仍然使用cass原有的功能,程序简单易用,响应速度快,达到更好的调试和使用效果,在算法实现过程中,充分利用了autocad的自带函数,可以提高程序的稳定性及运行效率。
[0034]
优选的,所述算法实现与实例分析的具体流程为,先参数设置,再多段线方向判定,若判断存在圆弧时,再圆弧转多段线后去除圆弧生成新的多段线,若判断不存在圆弧时,则直接去除圆弧生成新的多段线,去除圆弧多段线后再判断是否存在孤岛,若存在孤岛则进行孤岛增加节点,再进入转换多段线起点,若不存在孤岛,则转换多段线起点。
[0035]
本发明提出的一种复合界址线的自动规范化方法,与现有技术相比,具有以下优点:
[0036]
本发明主要是先将带圆弧的复合多段线转为普通多段线,得到普通多段线,再将带孤岛的界址线去除自相交,得到界址线,再将将界址线起点转换到左上角,得到新的界址线,最后新的界址线进行算法实现与实例分析,完成界址线的自动规范化,该方法提出了根据精度要求反推圆弧节点数量的公式,在孤岛连接线上自动增加节点以避免界址线自相交的方法,以及自动转换界址线起点到左上角的算法,在autocad中采用vba编程实现复合界址线的自动规范化,可以大幅提高工作效率,提升界址线处理的数据质量。
附图说明
[0037]
图1为本发明的流程框图;
[0038]
图2为本发明的法实现与实例分析流程图;
[0039]
如图3为带圆弧多段线示意图;
[0040]
图4为转换圆弧后的普通多段线示意图;
[0041]
图5为利用极坐标法计算圆弧上任意位置的坐标示意图;
[0042]
图6为圆弧转为普通多段线的误差示意图:
[0043]
图7为带孤岛的界址线示意图;
[0044]
图8为增加节点后的带孤岛界址线示意图;
[0045]
图9为带孤岛界址线自动增加节点示意图;
[0046]
图10为获取界址线的外接矩形示意图;
[0047]
图11为查找界址线新的起点示意图;
[0048]
图12为根据界址线顺时针或逆时针分别正序或逆序生成新的组数示意图;
[0049]
图13为复杂界址线自动规范化结果示意图。
具体实施方式
[0050]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0051]
本发明提供了一种复合界址线的自动规范化方法,包括如下步骤:
[0052]
s1、将带圆弧的复合多段线转为普通多段线,得到普通多段线;
[0053]
其中,复合多段线包括轻量多段线和多段线,轻量多段线的节点坐标数组由x,y组成,多段线的节点坐标由x,y,z组成,圆弧则保存了半径、圆心、起点坐标、终点坐标和起止方位角的参数,如图3所示为带圆弧多段线,图4为转换圆弧后的普通多段线。
[0054]
在转换带圆弧多段线转为普通多段线过程中,包括如下步骤:
[0055]
a1、判断复合多段线的方向,得到新的节点坐标数组;
[0056]
复合多段线的方向在判断时,需先判断其方向是顺时针或逆时针,然后根据多段线的方向,依次内插节点,生产新的节点坐标数组;其中顺时针或逆时针方向判断的方法是利用式格林公式计算出代数和s,若s为正值即为逆时针,且s为多边形面积,利用该方法除了判断复合多段线的方向,还能得到多边形的面积,有助于控制转换误差,格林公式如下:
[0057][0058]
式中,s为多段线面积,(xi,yi)为节点i的坐标。
[0059]
a2、圆弧转为普通多段线,获取圆弧上的任意点坐标;
[0060]
如图5所示为利用极坐标法计算圆弧上任意位置的坐标,任意点坐标在获取时采用极坐标法的等角切分算法计算出圆弧上任意位置的坐标,通过autocad弧线自带的圆心坐标、半径、弧长、夹角大小、起始点坐标、起始方位角等属性,根据如下公式的极坐标法可以便捷的获取圆弧上的任意点坐标,
[0061]
xi=x0+r
×
cos(a0+a)
[0062]
yi=y0+r
×
sin(a0+a)
[0063]
式中,(x0,y0)为圆弧圆心点坐标,r为圆弧半径,a0为圆弧起始点坐标方位角,a为圆弧上i点到起始点的夹角,均可从vba自带的参数中获取到。
[0064]
a3、转换误差计算与控制,得到普通多段线;
[0065]
转换误差计算与控制时,如图6所示为圆弧转为普通多段线的误差示意图,根据推导转换误差计算公式,改进手工调制节点数,然后在程序中自动设置节点数,转换后圆弧变成了等腰三角形,面积产生了误差,推导转换误差计算公式如下:
[0066]
[0067][0068][0069]
式中,s1为原来的圆弧面积,r、a为圆弧半径和圆心角,s2为转换后的等腰三角形面积,n为转换后的等腰三角形个数,δs为转换误差。
[0070]
《土地勘测定界规程》规定,图解法两次量算面积较差应满足下式:
[0071][0072]
式中m为勘测定界图纸比例尺分母,若m取1:500将导致限差很大,不符合转换需求。工作中一般控制非市政类地块红线转换面积误差在
±
1m2以内,市政类工程(线状工程)红线转换面积误差在红线面积的
±
0.03%以内。为计算合理的节点数n,本文默认m取值为10,并作为参数供用户自行调整,以适应不同项目的精度要求,即:
[0073][0074]
式(1)中的正弦函数利用泰勒级数展开为:
[0075][0076]
并代入式(1)、(2),可得:
[0077][0078]
式(3)经整理后,可得:
[0079][0080]
上式即为满足相应精度要求的圆弧节点数公式。在转换前,根据圆弧半径r、圆心角a即可计算出对应的节点数n,确保转换精度。对于含有多个圆弧的复合多段线,各个圆弧的转换节点数n可以根据各自的圆心角、面积按式(10)分别计算。
[0081]
s2、将带孤岛的界址线去除自相交,得到界址线;
[0082]
带孤岛的界址线在去除自相交时,如图9所示为带孤岛界址线自动增加节点,采用用户交互的方法程序提示用户选择自相交的线段ab,若存在自相交的情况,用户在a、b点上分别单击选择,若不存在则直接跳过,然后,程序根据节点a、b的坐标,自动在ab线段的中点处垂直移动距离d添加新节点,这样可以节省大量的时间,如图7所示为带孤岛的界址线,如图8为增加节点后的带孤岛界址线。
[0083]
s3、将界址线起点转换到左上角,得到新的界址线;
[0084]
界址线起点在转换到左上角时,包括如下过程:
[0085]
b1、如图10所示为获取界址线的外接矩形,使用getboundingbox方法可直接获取整个多段线的外接矩形,其返回值为外接矩形的左下角、右上角角点的坐标,取其平均值即是外接矩形的中心作为原点,再计算原点到每个节点的方位角,查找方位角在270-360
°
之间且距原点最远的点,此时获取到的就是规范规定的左上角的点,且相对其它节点来说是凸出的点,适合用作起点,如图11所示为查找界址线新的起点示意图;
[0086]
b2、记录新的起点在节点数组中的位置,并根据界址线是顺时针或者逆时针,分别采用正序/逆序的方法生成新的数组,如图12所示为根据界址线顺时针或逆时针分别正序或逆序生成新的组数示意图,最后,利用新的数组生成一条新的界址线,删除原来的界址线即生成了起点在左上角顺时针的界址线,这样有利于后续工序的顺利开展,可确保最终成果顺利导入gis系统。
[0087]
s4、将新的界址线进行算法实现与实例分析,完成界址线的自动规范化;
[0088]
新的界址线进行算法实现与实例分析时,由于土地勘测定界图不仅涉及到界址点、界址线,还需要图名图框、界址点成果表的内容,在autocad中采用vba编程实现以上的算法,直接嵌入autocad中以工具栏的形式配合原有的南方cass软件使用,图名图框、界址点成果表内容仍然使用cass原有的功能,程序简单易用,响应速度快,达到更好的调试和使用效果,在算法实现过程中,充分利用了autocad的自带函数,可以提高程序的稳定性及运行效率。
[0089]
算法实现与实例分析的具体流程为,如图2所示,先参数设置,再多段线方向判定,若判断存在圆弧时,再圆弧转多段线后去除圆弧生成新的多段线,若判断不存在圆弧时,则直接去除圆弧生成新的多段线,去除圆弧多段线后再判断是否存在孤岛,若存在孤岛则进行孤岛增加节点,再进入转换多段线起点,若不存在孤岛,则转换多段线起点。
[0090]
如图7中带有两个圆弧,带有孤岛的复合界址线为例,运行程序后自动用普通多段线代替圆弧,在孤岛连接处增加一个节点,得到如图13所示的结果,规范化后的界址线起点在左上角圆弧的起点处,以图中左上角的圆弧为例,该圆弧半径228.72m,圆心角60
°
,根据公式(4)计算得到节点数应为98.11,则程序自动根据节点数做等角切分。分析自动规范化后的误差发现,前后面积相差0.84m2,达到了规范化目标。
[0091]
综上,本发明从勘测定界中复合界址线转换过程中产生的问题出发,探讨复合界址线自动规范化的相关算法,提出了根据精度要求反推圆弧节点数量的公式,在孤岛连接线上自动增加节点以避免界址线自相交的方法,以及自动转换界址线起点到左上角的算法,在autocad中采用vba编程实现复合界址线的自动规范化,可以大幅提高工作效率,提升界址线处理的数据质量。
[0092]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1