文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/
1. 背景
目前对多个项目轨迹不准确的情况做了排查,发现导致轨迹偏移百分之七八十的原因反而是转换四参数不准确导致。所以,比起进行轨迹优化等,最根本需要解决的是四参数(通过三个及以上控制点对换算得出)不准确问题。那么如何判断四/七参数是否准确呢?针对这个问题我们给出一个通用方案。
2.原理说明
这里,我们从两个方面着手,一个是验证我们系统地图本身是否偏移,第二个是验证在地图准确的情况下四参数是否准确。
如果地图本身偏移,则应该先解决地图偏移问题后再进行第二步验证。
3.验证地图本身是否偏移
验证地图是否准确我们分为了两种情况,最简单的情况即是存在参考数据的情况,复杂些的情况则为没有参考数据的情况。
3.1有参考数据的情况
在使用地图页面上通过图层树勾选,将路灯或者行道树此类有明显排布规则的图层叠加显示在地图上,查看图层数据是否有偏移,如果没有则说明地图本身是准确的。
3.2无参考数据的情况
当无参考数据时,若地图底图是ArcGIS Server发布的,可以分别通过在arcmap中加载地图服务的地图和在系统地图中选择同名点来获取两对坐标,对其进行比较以验证系统地图是否有偏移。
其中,arcgis server发布的地图服务可以直接拖拽到arcmap的Table of Contents中出图,鼠标在地图上移动时,右下角的地图坐标会同步变化。
在系统地图上,可以借助工具栏上的定位工具,在地图上点选以获得对应坐标。
如果地图来源是天地图、互联网地图或其他第三方天地图的资源,则可以在网上搜索相应的添加到arcmap中的方法,或者用其他方法获取同名点位置正确的地图坐标。这里提供一个“在Arcmap中加载互联网地图资源的4种方法”的例子:http://www.cnblogs.com/skyofbitbit/p/3724479.html。
4.地图精度准确的情况下验证四参数是否正确
其流程为:地图上获取一个本地坐标A1(X,Y),互联网地图上获取一个相同地点上的A2(LAT,LOG),将A1用四参数转换后成为A3(X,Y)。A1和A3对比精度即可。
4.1.在系统地图上获取参考控制点本地坐标
在系统地图上选择一个合适的位置,把地图放大到最大,选取一个当地平面坐标系的点,获取其平面坐标(x, y),建议选择位置明显便于定位的点,如道路交叉口。
利用系统地图的工具栏中定位按钮,然后在地图上点选,以获取其地图坐标:
如上图所示,在廊坊市人民政府附近的广阳道和光华路十字路口中央选取一个,其地图平面坐标为(472305.8106223327, 4378112.87180241)
4.2获取同名点的WGS84经纬度坐标
利用http://www.gpsspg.com/maps.htm 可以获取WGS84经纬度坐标:
找到与1中同名的位置,在地图上点选以获得其经纬度坐标(北纬N39°32′11.26″ 东经E116°40′45.40″),转换成小数形式为(116.67927777777778,39.53646111111111)
4.3四/七参数法转当地平面
利用已获取的WGS84转当地平面的正转参数(四参数或七参数),将其转换为当地平面,如廊坊现场的转换四参数为:
四参数:-134706.625179201#6463.79711914063#0.0111178719813301#0.999964601080147#0#116
将4.2中获取到的北纬N39°32′11.26″ 东经E116°40′45.40″)坐标通过该四参数转换后的当地平面坐标为(472310.28591671225,4378112.980450279)。
4.4转换结果精度评价
最后,把点选得到的当地平面坐标和用手机转换参数得到的当地平面坐标进行对比,以验证手机提供的WGS84转当地平面的转换参数是否正确:
地图点选坐标:(472305.8106223327, 4378112.87180241)
参数转换坐标:(472310.28591671225,4378112.980450279)
通过本例的结果对比,发现x方向偏差大概为4.5米,y方向偏差大概为0.1米,考虑到人为在地图上选取同名点的误差,廊坊现场提供的手机坐标转换参数还是比较准确的。
-----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/
如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^