时间:2022-07-22 09:49:32
摘要 数字地图平面点位中误差是衡量地图数据质量的重要精度指标。在大面积进行平面点位精度检测时,如何快速有效地进行点位中误差计算是十分必要的。本文就大面积数字测图生产项目中,GPS网络RKT或全站仪进行大量检测点时,自动计算点位中误差问题进行了探讨,结合autoCAD数字测图软件平台,用VBA开发了相应的计算模块,试验结果表明,它具有使用方便、快速高效计算DLG数字地图平面点位中误差的功能,在数字地图数据精度检测项 目中有一定实用价值。
关键词:数字线划图质量控制点位中误差
中图分类号:O213文献标识码: A
1.0 概述
1.1数字测图成果质量要求
数字地图现在进入一个广泛应用的时代,如何保证和有效控制数字地图质量是十分重要的。根据矢量数字地图数据生产的过程,地图数据质量控制的主要内容包括地图数据完整性检查、地图数据逻辑一致性检查、地图数据位置精度检查、地图数据属性精度检查、地图数据时间精度检查、地图要素拓扑关系检查、地图要素空间关系检查和地图元数据检查等几个方面。
质量是数字地图产品的生命线。《1:500 1:1000 1:2000 外业数字测图技术规程》(GB/T 14912―2005)规范对地物点位置精度都规定了相应的精度指标和要求,地物点平面位置精度要求如表1所示。
表1地物点平面位置精度要求 (单位: 米)
地区分类 比例尺 点位中误差 邻近地物点间距中误差
城镇 工业建筑区
平地 丘陵地 1:500 ± 0.15(± 0.25) ± 0.12(± 0.20)
1:1000 ± 0.30(± 0.50) ± 0.24(± 0.40)
1:2000 ± 0.60(± 1.00) ± 0.48(± 0.80)
困难地区
隐蔽地区 1:500 ± 0.23(± 0.40) ± 0.18(± 0.30)
1:1000 ± 0.45(± 0.80) ± 0.36(± 0.60)
1:2000 ± 0.90(± 1.60) ± 0.72(± 1.20)
1.2数字测图平面精度检测方法与要求
现行的《测绘成果质量检查与验收》规范规定,数字地图的数学精度检测按单位成果进行,数字地图的单位成果为图幅。
图类单位成果的检测点(边)应均匀分布、位置明显。检测点(边)数量视地物复杂程度、比例尺等具体情况确定,每幅图一般可选取20~50检测点(边)。
在允许中误差2倍以内(含2倍)的误差均要参与数学精度统计,超过允许中误差2倍的误差视为初差。同精度检测时,在允许中误差2倍)的误差均要参与数学精度统计,超过允许中误差2倍)的误差视为初差。
检测点(边)数量少于20时,以误差的算术平均值代替中误差;大于20时,按中误差公式计算中误差。
按GB/T18315 2001 《数字地形图系列和基本要求》规范要求,在平坦、丘陵地区1:500~2000大比例尺地形图地物点对最近野外控制点的图上点位中误差不得大于0.6mm,山地、高山地地区不得大于0.8mm。
2.0 实验方案
2.1实验区概况
本实验以某开发区数字地形测图项目为例,进行了相关实验。
测区范围面积约40Km2 ,成图比例尺为1:1000,图幅约为160幅,布设一级(E级)GPS点23个,二级(F级)GPS点153个;四等水准路线长约47Km;全站仪、GPS--RTK外业数据采集,室内用CASS软件数字化成图。
测区属丘陵地貌,植被茂盛,通视条件不佳。主要地形为坎高约1米的梯田,测区中央的山呈狭长形,海拔约150米左右。
测区内居民地较为密集,主要为农村居民点,地势较平坦,房屋结构主要为砖混类型,层次多数为2层;村落中未经详细规划,房屋较散乱,房前与屋后大多栽种树木,通视不便。
交通较为便利,测区内有国道和省道经过,乡镇间、村落间均有硬路面道路。
属经济较为发达的地区,主要农作物为水稻。
2.2精度检测与计算技术路线
由于本项目数据采集采用全站仪和GPS-RTK技术,数字测图是以AUTOCAD为平台的CASS软件,
所以,精度检测与计算技术路线如下:
2.3计算模块开发语言
因为数字测图是以AUTOCAD为平台的CASS软件,点位中误差计算模块的开发,采用AutoCAD二次开发模式是十分方便的。在开发语言上可以选择C++、C#、LISP VBA等语言来开发,相比之下,VBA具有界面友好、开发方便的特点,本实验采用VBA进行点位中误差计算模块的开发。
VBA工程是由许多程序模块、类模块和窗体组成的集合,他们同时运行即可完成指定的功能。
VBA可与AutoCAD在同一进程空间中运行,这使程序执行得非常快。对话框的构造快速而有效。这使开发人员可以构造原型应用程序并迅速收到设计的反馈。工程可以是独立的,也可以嵌入到图形中。这样就为开发人员提供了非常灵活的方式来他们的应用程序。代码模块的独立性,一个功能代码模块往往只需修改个别参数就能在其他工程中使用。 VBA支持调用Windows底层API,使编程有更多选择,也更加方便。软件执行死机的时候你可以终止你的应用程序而不必关闭应用软件,然后即时进行跟踪调试。
当然VBA也有自己的缺点,VBA缺点 是密码容易被破解。
3.0计算模块开发
3.1点位中误差计算模型
用散点法检测点的平面精度时,设某点的图上量测坐标为(Xi,Yi,Hi),而该点的检测坐标为(yi,xi,hi),则该点位较差i=。当检测时的精度高于原观测点精度时,用公式(1)计算点位中误差;若检测时的精度等于原观测点精度时用公式(2)计算点位中误差。
M= (1)
M=(2)
从而检测出点位的平面精度。
式中--点位较差;n―检测点总数;M―平面点位中误差。
3.2点位中误差计算模块开发流程
3.3技术难点与关键语句
主要技术难点在判断每个检测点的相关地物点上。本文解决此问题思路是创建对象选择集,以每个检测点为圆心,以2允许中误差为半径绘制辅助圆,判断辅助圆和对象选择集中哪个对象相交,然后取出点位差,依次循环,至所有检测点完成,最后求出平面点位中误差。
图1 辅助圆定位示意图
(1)创建对象选择集
对象选择集是被指定作为一个整体来处理的一组AutoCAD对象。一个选择集可以由单一的对象组成,也可以是多个对象的组合。例如,某个图层上具有某种颜色的一组对象构成一个选择集。
在VBA中,需要先创建选择集,然后将对象添加到选择集中。
例如:创建空的选择集
Sub CreateSelSet()
Dim SelSet as AcadSelectionSet
Set SelSet = ThisDrawing.SelectionSets.add (“编辑集1”)
End Sub
选择集创建后,可以使用下列方法把对象添加到当前的选择集中:
AddItem:加入一个或多个对象到指定的选择集中;
Select:选取对象并放入到当前选择集中。可以将所有对象(All)、位于矩形区域内的对象(窗口)和穿越多边形区域的对象(交叉)等对象加入到选择集中;
SelectAtPoint:选取多边形框内的对象并加入到当前选择集中;
SelectOnScreen:提示用户点选屏幕中的对象并添加到选择集中。
为了控制选择集的大小,提高速度,可以使用过滤器来构造选择集,根据对象属性(例如颜色线型)或者对象的类型来选择对象,即从一个选择中再筛选一些符合条件的图形对象。例如,可以选择一个地图上的颜色为红色的对象,或者选择某个图层上的对象。
要使用过滤器构造选择集,需要设置过滤器的类型和过滤条件。过滤器的类型实质是用哪一种过滤器。AutoCAD ActiveX Automation使用DXF组码来指定过滤器的类型。详见表2所示。
表2 DXF组码表
DXF码 过 滤 器 类 型
0 对象类型(字符串),如Line、Circle、Arc等
2 对象名称(字符串),命名对象的表格名称
8 图层名称(字符串),如图层0
60 对象可见性(整数),使用0=可见,1=不可见
62 颜色号码(整数),范围从0―256的数值索引值。0表示BYBLOCK。256F表示BYLAYER。负值表示图层关闭
67 模型空间/图纸空间指示码(整数),使用0或者省略表示模型空间,1表示图纸空间
一个工程中不能有重名的选择集,所以在创建选择集前,需要判断是否已有同样名字的选择集存在,如果存在,则把它删除。这样才能保证代码运行时的正确性。具体如何操作请参看第四章的源代码部分。
(2)求交点坐标
求交点坐标的问题,可以采用VBA求交点坐标函数IntersectWith()来解决。
语法:RetVal = object.IntersectWith (IntersectObject,ExtendOption)
IntersectObject:为所有图形对象 (除了 Pviewport 和 PolygonMesh)中的任一个。
ExtendOption:该选项指定两个对象中是否没有、单个或两个对象延伸来得到交点。
acExtendNone----------两个对象均不延伸。
acExtendThisEntity---- 延伸基本对象。
acExtendOtherEntity----延伸作为参数传递的对象。 。
acExtendBoth----------- 延伸两个对象。
RetVal:返回Variant[变体] (双精度数组)、点数组为图形中对象与其它对象相交的点数组。
(3) AutoCAD VBA和Excel VBA的连接
VBA应用程序可以和Excel进行无缝连接,交换数据十分方便。可以利用Automation ActiveX接口把AutoCAD图形数据信息传送到Excel中,创建表格清单,方便使用。
3.4模块界面与功能实现
计算模块的界面设计如图1、图2所示。
图1平面点位中误差计算模块界面
图2数据格式转换界面
检测环境设置主要完成图幅调入、范围设置,创建辅助层(检测点、辅助圆)。
数据格式转换主要完成平面坐标变换、坐标常数加减、X、Y坐标位置互换和属性项的增减。
精度计算设置主要完成平面点位中误差计算、点距中误差计算和高程中误差计算。
在完成相应的设置后,计算操作步骤如下:
(1)点击读入检测数据按钮,读入野外采集的检测数据;
(2)点击计算开始按钮,进行相应的精度计算;
(3)点击成果输出按钮,输出计算结果。
计算结果可以用文本形式和Excel表格形式输出。
本案例统计计算了285个检测点的平面点位较差,成果如表3所示。因为采用同精度检测,所以点位中误差按公式(2)计算,本例的中误差为:
M= = ±= ± 0.23 m
表3检测点坐标较差统计表(单位:米)
序号 属性码 图上坐标 检测坐标 较差
X Y X' Y' ΔX ΔY x2 y2 2
1 F 4436.443 3381.121 4436.413 3381.144 0.030 -0.023 0.0009 0.001 0.001
2 F 4443.125 3372.534 4443.097 3372.557 0.028 -0.023 0.00078 0.001 0.001
3 F 4442.378 3370.922 4442.278 3370.852 0.100 0.070 0.01 0.005 0.015
4 F 4438.808 3369.374 4438.878 3369.474 -0.070 -0.100 0.0049 0.010 0.015
5 F 4442.603 3360.528 4442.688 3360.598 -0.085 -0.070 0.00723 0.005 0.012
6 F 4451.050 3340.772 4451.112 3340.790 -0.062 -0.018 0.00384 0.000 0.004
7 F 4452.566 3337.224 4452.486 3337.129 0.080 0.095 0.0064 0.009 0.015
8 F 4454.922 3341.444 4454.982 3341.544 -0.060 -0.100 0.0036 0.010 0.014
9 F 4480.977 3356.789 4480.917 3356.709 0.060 0.080 0.0036 0.006 0.010
10 F 4422.732 3380.639 4422.782 3380.611 -0.050 0.028 0.0025 0.001 0.003
11 F 4357.854 3350.993 4357.904 3350.903 -0.050 0.090 0.0025 0.008 0.011
12 F 4365.279 3354.600 4365.249 3354.646 0.030 -0.046 0.0009 0.002 0.003
13 F 4372.672 3358.230 4372.702 3358.185 -0.030 0.045 0.0009 0.002 0.003
14 F 4375.354 3357.519 4375.424 3357.579 -0.070 -0.060 0.0049 0.004 0.009
15 F 4365.098 3342.360 4365.208 3342.361 -0.110 -0.001 0.0121 0.000 0.012
16 F 4367.235 3337.957 4367.287 3337.998 -0.052 -0.041 0.0027 0.002 0.004
17 F 4368.492 3332.900 4368.432 3332.912 0.060 -0.012 0.0036 0.000 0.004
18 F 4369.860 3323.790 4369.824 3323.712 0.036 0.078 0.0013 0.006 0.007
19 F 4362.609 3320.383 4362.689 3320.383 -0.080 0.000 0.0064 0.000 0.006
20 F 4351.679 3323.700 4351.609 3323.770 0.070 -0.070 0.0049 0.005 0.010
21 F 4375.016 3312.902 4375.116 3312.952 -0.100 -0.050 0.01 0.003 0.013
22 F 4348.136 3341.485 4348.106 3341.495 0.030 -0.010 0.0009 0.000 0.001
23 F 4339.034 3337.138 4339.134 3337.108 -0.100 0.030 0.01 0.001 0.011
24 F 4305.421 3315.261 4305.381 3315.211 0.040 0.050 0.0016 0.003 0.004
25 F 4325.559 3323.937 4325.501 3323.951 0.058 -0.014 0.00336 0.000 0.004
26 F 4326.188 3324.251 4326.108 3324.381 0.080 -0.130 0.0064 0.017 0.023
27 F 4347.371 3333.503 4347.251 3333.463 0.120 0.040 0.0144 0.002 0.016
28 F 4302.428 3319.805 4302.378 3319.895 0.050 -0.090 0.0025 0.008 0.011
29 F 4320.986 3328.590 4321.086 3328.699 -0.100 -0.109 0.01 0.012 0.022
30 F 4311.931 3324.362 4311.831 3324.282 0.100 0.080 0.01 0.006 0.016
注:F―房屋类检测点
4.0结论
通过本次试验可知,数字线划图的平面点位中误差计算是可以实现自动化的,使用本文介绍的计算方案,投资少、收效快、计算精度可靠,使用方便,有一定生产实用价值。但以下几点还有待进一步研究:
①点距中误差计算还不能实现自动过程,主要是外业量测边长和图上相应边长怎样匹配。
②检测点不明显时, 如在辅助圆出现多个匹配特征点时,计算判读易出错。解决这一问题的思路是否可以采用坐标、地物编码与标号等方法来解决。
③高程中误差的自动计算仍然需要进一步研究,主要原因是在选取高程检测点时无法和图上高程匹配,有的检测高程点处图上无高程,要人为内插求得,所以,难以自动计算,另外,等线区域的高程检测可以进一步研究。
综上所述,检测数据采集时,若能够考虑以上情况,可以提高精度检测作业速度,达到满意效果。参考文献
[1] 范国雄,数字化测图 建筑工业出版社,2003.5
[2] 潘正风,杨正尧等. 数字测图原理与方法. 武汉大学出版社, 2004.6
[3] 胡伍生,范国雄等 土木工程测量学东南大学出版社,2011.6