靳娟丽,李乃良
(1.天水三和数码测绘院,甘肃天水 741000; 2.蚌埠市勘测设计研究院,安徽蚌埠 233000)
在广州SCS中,界址点、界址线的属性都是以AutoCAD扩展属性的方式存储在界址点中,没有界址线属性的查看与编辑命令。这样界址点的检查包含两部分,第一部分是空间位置检查,即界址点必须位于与界址线相对应的拐点上;第二是界址点的属性信息检查,属性信息包含两部分,一部分是界址点属性,如界址点名,点类型等,一部分是界址线属性,如连接点名,界址线类型等。所以针对界址线的检查与处理即是针对以上两种空间位置和属性信息检查。
图1 界址点属性编辑对话框
在基于AutoCAD二次开发的广州SCS地形地籍成图软件中,用封闭的重量多段线(Polyline)表示界址线,用多段线的顶点上绘制一个圆表示界址点,其属性如图1所示。圆心位置表示界址点的位置,圆心与多段线对应的定位置相同。因数据来源非常多,同时加上数据的不断更新,经常是调整了界址线的位置而界址点的位置没有做同步调整,致使界址点不在对应的界址线顶点上。对于位置相差较大的情况很容易发现错误,手工调整即可。反而是位置相差极小的界址点人工不易发现,在入库后才被提示界址点位置错误。为在入库前能够发现并解决这一问题,需在广州SCS中解决这一问题。因界址点位置与界址线对应顶点位置相差极小,人工查找,即使在放大倍率极大情况下也极难发现,所以采用编程方式(采用c#2008与Auto-CAD 2008开发,因程序过长,本处只介绍编程策略,不表示程序,以下同)进行查找并进行处理,其编程策略主要如下:检索本街坊内全部界址线,提取所有界址线的顶点,形成以界址线顶点构成的界址点库;检索所有的界址点,逐个处理界址点,如果本界址点在界址点库中有和距离小于允许值(考虑计算误差允许值设定一般为0.000001即可)的界址点,则认为本界址点位于界址线顶点上,否则认为本界址点不在界址线顶点上。程序设计时一般采用自动处理,即如果界址点与界址点库中最小距离的点其距离大于允许值而又小于允许自动调整最大值(自动调整总是在一定范围内进行),在北京地籍调查中,要求界址点间距大于 0.1 m,设定一个界址点距离最近的界址线顶点的距离小于0.05时方自动将界址点自动调整到最近的界址线拐点上,否则做一个标记,留待手工处理。如图2为界址点位置自动检查前情况,图3为界址点位置检查与处理后情况,可见界址点212不在界址线顶点上,但距离最近的界址点顶点距离小于允许自动调整最大值,检查处理后的界址点212自动调整位置到界址线对应的顶点上,而界址点208尽管也不在界址线顶点上,但距离最近的界址点顶点距离大于允许自动调整最大值,界址点位置检查与处理后,位置没有调整,做一个标志,留待手工处理。
图2 界址点位置检查前
图3 界址点位置检查与处理后
理论上来说,一个界址线顶点上只应该有一个界址点,而基于AutoCAD二次开发的广州SCS地形地籍成图软件中,使用闭合多段线表示界址线。当有相邻的宗地时,界址线之间就会存在公共边、公共顶点,在一个顶点处就会有多个界址点存在。在一个街坊内,界址点要统一编号,这就要求一个街坊内界址点不能有重号。另外,在同一个界址线顶点处,可以有多个界址点,但界址点号必须相同,即同名界址点必须同位,同位界址点必须同名。因本次调查为变更调查,界址点号原已统编,本次只能对有变更的地方进行调整,界址点号也只能手工编号,所以会存在同名界址点号不同位情况和同位界址点号不同名情况。采用编程进行检查,编程策略为,同点名不同位置界址点检查策略为,定义结构体数据类型,保存界址点名和界址点号,生成一个界址点的界址点名、界址点坐标库,两两进行比较。如果两个界址点名相同而界址点坐标不同说明界址点同名不同位,进行连线表示用于手工处理。对于同位不同名检查策略则是两两比较界址点坐标。如果坐标相同而点名不同则为同位不同名界址点,用一标志标示进行手工处理。如图4所示,对于同名不同位(图面注记的界址点名和属性中记录的界址点名应该相同,但有时会存在不同情况,检查时以属性中记录的界址点名为准,为保持图面注记和属性记录的一致,可在需要时将图面注记删除,然后用属性记录中的属性重新进行图面注记即可。图4中界址点227和界址点241显示界址点同名,实为属性记录中界址点名相同)的界址点,用连线表示何点与何点同名不同位,并加文字说明。对同位不同名界址点,用一标志表示,并加注文字说明,便于手工处理时方便查找和修改。
图4 同名、同位界址点的同位、同名检查
在地籍图中,要求每一个界址线的顶点上至少有一个界址点,本检查的策略为将所有界址点生成界址点库,然后逐个分析界址线顶点,只要该顶点在界址点库中没有与其距离小于设定值的界址点,即认为该顶点处无界址点,进行标示,留待手工处理。这一检查只能检查,不能自动处理,因为不能调整界址线的顶点到最近的界址点上,也不能将最近的界址点移动到界址线顶点上。图5为界址线顶点上无界址点检查结果。
图5 界址线顶点上无界址点检查
在广州SCS地形地籍成图软件中,相邻界址点号的赋值都是人工判断进行的,这一过程极为缓慢,而且容易出错。经分析,这一过程可以自动进行,处理方法如下:逐点分析界址点,如果一个界址点其属性记录中没有相邻界址点号,则搜索经过该界址点的界址线,产生该界址线的顶点库和对应顶点的界址点号,检索到和本界址点对应的顶点的上一顶点,获取对应界址点号到本界址点的相邻界址点号即可。
在广州SCS地形地籍成图软件中,勘丈边长的赋值是根据外业勘丈结果手工一个一个赋值的,在赋值的过程并没有提醒理论值应该为多少,所以即使输入错误也不能及时发现,所以需对勘丈边长进行检查。检查的策略为使用界址边的理论边长和勘丈边长进行对比,界址边的理论值可用本界址点的坐标和相邻界址点的坐标计算获得,如果大于限差,则予以标示进行提示。如图6为界址点中勘丈边长检查结果,用标示进行标识,并用文字进行详细说明便于查找和修改。
图6 界址点中勘丈边长检查
本项目采用以上方式对北京市第二次土地调查中的界址点进行界址点的检查和处理,大幅提高了地籍图中关于界址点的数据质量和处理速度,提高了数据提交后验收的通过率。
[1][美]Bill Evjen,Rockford Lhotka等.Visual Basic 2005高级编程[M].北京:清华大学出版社,2006
[2][美]David F.Rogers.计算机图形学的算法基础[M].北京:机械工业出版社,2002
[3]曾洪飞,张帆,卢择临.AutoCAD VBA& VB.NET开发基础教程与实例[M].北京:中国电力出版社,2008