基于AutoCAD的多边形间的间隙核查

更新时间:2023-11-15 01:59:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于AutoCAD的多边形间的间隙核查

The Study of Clearance Examination in Polygons Based on AutoCAD 摘要:在AutoCAD中,设计多边形间的间隙检查软件,可快速地发现多边形间的重叠与间隙,从而保证了地籍测量中的宗地、图斑的拓扑关系的正确性,保证了地籍测量图的质量。

关键词:AutoCAD;多边形;小错误原理;重叠;间隙 一、引言

在地籍测量中,要求宗地与宗地之间、图斑与图斑之间、宗地与图斑之间的公共边必须完全重合,既不能重叠,也不能有间隙。作业人员一般通过街坊面积与宗地面积之和或街坊面积与图斑面积之和是否相等来检验多边形的公共边是否完全重合。如果不相等,则通常作法是将AutoCAD图形导入到CIS软件如ArcGIS等软件中,利用GIS软件的拓扑检查功能进行检查。这一边程存在三个问题,①不同的软件相互转换,过程复杂;②GIS软件在拓扑检查过程中速度比较慢;③作业人员的素质要求较高,要求既要熟练掌握地籍测绘软件,还要掌握GIS软件。所以很多的作业单位在实际作业中对于面积不等时采取的是将图形放大,手工寻找的方式。这一过程极为缓慢,而且不易发现,经常是面对一个小问题就需要找很长时间。通过对Auto-CAD的多边形数据结构进行分析,基于小错误原理,利用VB.NET编程,可以精确地定位多边形间的间隙。

二、小错误原理

测绘人员在作业时,对于公共边一般通过实体捕捉点的方式或公共边复制的方式来保证点的完全重合从而保证公共边的完全重合,然而销不留神,就会捕捉到错误点上从而使得公共边不重合。然而这种错误一般较小即小错误,总是在一定范围内,如一个绘图单位或更小,所以产生的多边形的重叠或间隙一般也较少。所以在处理多边形某个点处是否有间隙存在时,只要在该点周边很小的范围内分析即可,这样可以大大减少数据的处理量,提高数据处理效率。

三、间隙的分析与判断

在地籍测绘中,宗地和图斑的边界线只能是直线段,不能是弧线,所以多边形间的间隙判断可归结为多边形的顶点和相邻多边形的边之间的关系的判断。如果多边形A某个顶点1处的一定范围内有一多边形B,如果顶点1到多边形B所有边对应的线段距离均大于零,则多边形A在顶点1处与多边形B有间隙。如图1所示,多边形A顶点1处的一定范围内有一个多边形B,顶点1在一定范围内可探测到多边形B,顶点1到多边形B所有的边对应的线段的距离均大于零,所以多边形A在顶点1处与多边形B的间隙。而多边形A在顶点4外在一定范围内也可探测到多边形B,但顶点4与多边形B边3-4和边4-5的距离为零,所以多边形A在机点4处与多边形B没有间隙。多边形A在顶点2处一定范围内探测不到多边形的存在,所以多边形A在顶点2处没有间隙。

四、多边形的重叠和间隙的合并处理

如图2所示,多边形A在顶点1处和多边形B有间隙;如图3所示,多边形A在顶点1处和多边形B有重叠。从图形来看,无论是多边形间的间隙还是多边形间的重叠,均可归结为多边形间的间隙来进行处理。

五、点到线段的距离的计算

如图4所示,点到线段的垂点可能在线段上,如点2在线段34的垂点点6在线段34上;也可能在线段外,如点1在线段34的垂点点5则在线段43的延长线上。作出规定,如果点在线段上的垂点在线段之外,则认为点到线段的距离无穷大,在实际编程时给予一个很大的数值即可。判断一个点对应某线段其垂足是否在线段上,如图4所示,计算直线L34的方位角A34,可得到通过点2

垂直于直线L34的直线L26的方位角A26=A34+90°,从而可得到直线A26的直线方程,直线L34的直线方程可通过点3、点4的坐标计算得到,从而解算出直线L34与直线L26的交点6的坐标。通过点3、点4、点6的坐标可计算点3和点4的距离D34,点3与点6的距离D36,点4与点6的距离D46,如果D34

六、多边形间的间隙的核查程序设计

通过以上的分析可以得出,通过探测多边形的某个顶点处一定范围内多边形,计算该顶点与其他多边形的边的距离从而得出某个多边形的某个顶点处是否存在多边形的间隙或重叠情况。采用Vi-sual Studio2008中VB.NET语言基于AutoCAD2008进行程序设计,程序的主要语句如下:

Dim Pstr As PromptDoubleOptions=New PromptDoubleOptions(Chr(10)&“搜索范围”)

确定在顶点的多大范围探测多边形

Dim Vall As TypedValue=New TypdeValue(DxfCode.Start,“lwpolyline”)确定要处理的多边形的实体类型,轻量多义线

Dim Resl As PromptSelectionResult=Ed.GetSelection(Optsel,Filterl)‘获取要处理的多边形

I1=Poly.NumberOfVertices For12=0 TOI1-1

PtC.Add(Poly.GetPoint3dAt(I2)) Next

获取当前要处理的多边形的顶点集合

Tools.ZoomWindow(Pt1,Pt2)‘当前要处理的多边形的顶点周边一定区域移到当前屏幕显示区域Ed.SelectCrossingWindow(Pt1,Pt2,Filter1)‘在当前顶点的周围探测多边形

If Dist1>Limit Then Num=Num+1

Tools.RunCommand(False,“insert”,“间隙标志”,PtC.Item(11),“5”,“5”,“0”)

Tools.RunCommand(False,“text”,PtC.Item(I1),“1”,“0”,“此处存在间隙!”)

End If

如果当前顶点到某个多边形的最小边的距离大于允许值,则说明该顶点处与某个多边形有缝隙存在,用一预定义图块标记在该顶点位置,同时用文字说明,便于后期处理时发现。

七、示例

如图5所示,根据以上原理设计的程序,可发现间隙的存在,同时用一已定义的图块进行标志,同时加文字说明,便于程序处理后的发现及处理。

八、结束语

通过在AutoCAD中设计间隙检查程序,解决了在AutoCAD中的多边形间的重叠与间隙的核查问题,可有效发现地籍图中宗地、图斑间的重叠和间隙。因采用小错误原理,仅处理顶点处周边一定范围内的多边形,大幅度地减少了数据处理量和提高了数据处理效率。与其他各种拓扑检查方法相比具有简单方便、快速准确的特点,可大量减少内业数据处理的人员投入和提高数据质量。在北京市丰台区全国第二次土地调查中,使用间隙核查程序进行宗地与图斑的重叠与间隙核查,大大提高了数据处理的效率和数据质量,使得提交的成果数据顺利通过了检查验收和入库。 参考文献:

[1]兰圪生.AutoLisp学习引导[M].北京:中国铁道出版社2003 [2]JORDANS.Visual Basic 6编程宝典[M].北京:电子工业出版社2004

本文来源:https://www.bwwdw.com/article/dgmv.html

Top