吴美容
(江苏兰德数码科技有限公司,江苏南京 210007)
基于TIN设计的地形图精度检测软件
吴美容∗
(江苏兰德数码科技有限公司,江苏南京 210007)
目前国内行业商用软件如CASS、广州开思等在地形图高程精度评定方面相对较弱。以往都是采用手工逐点量距内插计算检测点位的高程并进行高程中误差统计,若碰到几百个检测点,手工计算工作量非常大而且容易出错,因此根据工作需要研制开发基于AutoCAD平台的地形图精度检测软件就变得很有意义,借助程序计算代替传统的手工计算使得工作效率大为提高。实践证明,软件设计思路明晰,算法可靠。
地形图;精度;高程;中误差;软件
工程建设前期均须测绘大比例尺原始地形图,以作为设计人员规划设计之用。目前,测绘单位常采用全站仪、RTK或近景摄影测量进行外业碎部点数据采集,然后运用行业成图软件生成地形图。地形图精度是否达到规范要求,需要进行精度检测。检测分为平面精度检测和高程精度检测,二者可以分开进行也可以同时进行。CASS 7.1检查入库菜单里面点位误差检查和边长误差检查即是针对平面精度检测。实践中一般采取以下三种方法针对高程精度进行检测:①点位还原法,即从所有碎部点数据中随机抽取总点数的10%~20%个数据,全站仪利用点的平面坐标采用极坐标法于实地放样出该点,然后测量点位二次高程并且与点位的一次高程进行比较,最后根据所抽取的子样统计得出的中误差来估计总体的精度;②剖面法,即检测人员于实地进行断面测量,内业根据断面数据文件生成断面图并与根据地形图所剖得到的断面图进行比较;③检查点法,即检测人员在测区内采集任意点位三维数据,点位要求覆盖整个测区要有一定的密度且分布均匀,然后展点到所生成的地形图中去,采用内插的方法计算点位的图面高程并与点位的抽测高程进行比较,最后计算中误差。该方法是实践中比较常用的方法。本文正是基于第3种方法编写地形图精度检测软件。
2.1 构TIN
原始数据为∗.dat格式文件。三角网构网算法归为两大类[1];即静态三角网和动态三角网。静态算法中以三角网生长算法较为典型,动态算法中则以数据逐点插入算法较为普遍。软件基于文献[2,3]介绍的构网思路采用三角网生长算法中的递归生长算法。该算法首先生成第一个三角形,然后由第一个三角形向外扩展直到最后联结全部离散点构成Delaunay三角网。该算法涉及的相关判别法则限于篇幅,在此不作详细阐述,直接给出构网结果,如图1所示。
图1 Delaunay三角网
2.2 展点
该部分将检测数据(∗.dat格式)展点到图形中去。相关代码:
2.3 检测
该部分根据上面所生成的三角网及展点进行点位高程中误差统计。
算法的基本流程:
程序首先建立两个选择集合,分别用于存放检测点及三角形元素,其次建立双循环结构对于检测点集合中的每一个点元素遍历三角网集合中的每一个三角形元素,并进行点与三角形位置关系的判断,若位于某三角形则调用该三角形的顶点数据,采用线性插值的内插方法进行相应的内插计算,将结果放入指定的数组,最终程序建立与Excel的通讯将结果输出到Excel指定区域。
算法的数据结构:
(1)判断检测点与三角网中三角形的关系[4]
图2 点位关系判断
思路:如图2,△V1V2V3的三个顶点的坐标分别为V1(x1,y1),V2(x2,y2),V3(x3,y3),任一点P(x,y)。则点P和△V1V2V3的位置关系如下判定,L1、L2、L3定义如下:
判断条件:
L1=0或L2=0或L3=0时点P在△V1V2V3的某一边上;
L1>0且L2>0且L3>0或L1<0且L2<0且L3<0时点P在△V1V2V3内;
除去以上两种情况时点P在△V1V2V3外。
代码如下:
(2)计算检测点在三角形中的高程[5][6]
思路:
使用空间三角形3个顶点数据确定一个平面,继而计算出内插点的高程。
采用平面线性内插公式:ax+by+cz+d=0,其中:
代码如下:
(3)循环计算并输出[7,8,9]
以雅砻江某水电站坝区供水泵站原始地形检测为例。
地形图高程中误差统计表 表1
图3 高程误差折线图
结论:
(1)第27号点的高程偏差较大,分析可能系野外测量过程中棱镜高输入错误,棱镜高值输小了,需予以检查。
(2)高程中误差0.6 m满足行业规范中关于山地、高山地高程中误差不大于1 m的要求;但是根据高程误差折线图统计有23个点出现负值,占到总点数的76.7%,分析认为该原始地形有抬高的趋势。对于工程建设而言,大面积抬高原始地形意味着增加土石方开挖量,无形中增加业主的投资成本。因此,即使高程中误差满足要求,也必须对抬高原始地形的趋势予以关注控制。
(1)程序运用VBA语言编写,在Win XP系统AtuoCAD 2004平台下运行成功。具体运用时可将宏代码添加到自定义菜单下面运用十分方便,具体代码为:
(2)测绘人员将测绘原理与计算机语言结合起来进行二次开发能够解决实际中出现的新问题,也提高了工作的效率。该软件经过多个工程地形图检测实践,证明其正确、实用,提高了内业成图检测的作业效率。
(3)程序设计每个点需要遍历三角网并进行判断、内插计算等操作。因此,点数越多,三角网越复杂,程序进行内插计算所花费的时间也越长。本程序的数据结构优化将是接下来需要研究的课题。
[1] 李志林,朱庆.数字高程模型(第二版)[M].武汉:武汉大学出版社,2003
[2] 刘友光,黄桂兰,黄全义等.工程中数字地面模型的建立与应用及大比例尺数字测图[M].武汉:武汉测绘科技大学出版社,1997
[3] 吴力新,史文中.地理信息系统原理与算法[M].北京:科学出版社,2003
[4] 龚健雅.地理信息系统基础[M].北京:科学出版社,2001
[5] 张宏,温永宁,刘爱利等.地理信息系统算法基础[M].北京:科学出版社,2006
[6] 姜友谊,黎晓.数字地面模型内插方法的优劣分析[J].西安科技学院学报,2001,21(3)
[7] 佟士懋,邢芳芳,夏齐霄.AutoCAD ActiveX/VBA二次开发技术基础及应用实例[M].北京:国防工业出版社,2006
[8] 佟彪.VB语言与测量程序设计[M].北京:中国电力出版社,2007
[9] 陈佳丽.Visual Basic程序设计基础与实训教程[M].北京:清华大学出版社,2005
Design Precision Examination Software of Topographic Map Based on TIN
Wu MeiRong
(Jiangsu Digitaland Technology Co.,Ltd.Nanjing 210007,China)
Commercial software,such as CASS and Guangzhou KAISI which are widely used in domestic S&M industry,are relatively weak in terms of Elevation accuracy evaluation.In the past,the elevation is calculated by manual interpolation then carries out statistics work of the elevation RME.If encountering hundreds of checkpoints or even more,the workload is enormous and manual calculation error is prone.So it is very necessary and meaningful to research and develop,based on AutoCAD platform,topographic map accuracy testing software.Instead of using traditional manual calculation,it makes efficiency of calculation greatly improved.Practice shows that the design ideas is clear,algorithm is reliable.
Topographical Map;Precision;Elevation;RMSE;Software
1672-8262(2010)03-134-04
P209
B
2010—10—29
吴美容(1982—),女,工程师,主要从事航测遥感内业技术工作。