轨迹系列5——验证轨迹GPS坐标转换为本地坐标的四/七参数是否准确的一种方案
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处: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/
如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^
轨迹系列5——验证轨迹GPS坐标转换为本地坐标的四/七参数是否准确的一种方案的更多相关文章
- 火星02坐标转换为WGS84坐标
import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import jav ...
- unity---世界坐标和本地坐标的转换
会受到缩放的影响 用的比较多的是 本地坐标转换为世界坐标,比如在自己周围释放物体 当物体发生旋转,方向会发生变化
- Cesium之球心坐标与本地坐标
1球心坐标(ECEF)与本地坐标(NEU) 假如你来到一个陌生城市,你很可能需要问路.通常会告诉你向北走100米,右转,向东走100米,理解起来很直观.你给儿子买了一个地球仪,你从北京(39,115) ...
- canvas中window坐标转换为canvas坐标
function getMousePos(canvas, evt) { var rect = canvas.getBoundingClientRect(); return { x: evt.clien ...
- GPS转换为百度坐标
原文地址:http://www.cnblogs.com/zhaohuionly/archive/2013/06/18/3142623.html 最近在做一个关于手机定位的小应用,需求是这样的,用户通过 ...
- GPS坐标换算为百度坐标
最近在做一个关于手机定位的小应用,需求是这样的,用户通过手机(Wp8)进行二维码扫描操作并且记录用户的当前位置,在PC上可以查看用户所在地图的位置,做法就是在用户扫描条码时,通过手机GPS获取当前在地 ...
- GPS坐标换算为百度坐标(转)
最近在做一个关于手机定位的小应用,需求是这样的,用户通过手机(Wp8)进行二维码扫描操作并且记录用户的当前位置,在PC上可以查看用户所在地图的位置,做法就是在用户扫描条码时,通过手机GPS获取当前在地 ...
- 百度坐标(BD-09)、国测局坐标(火星坐标,GCJ-02)和WGS-84坐标互转
// 坐标转换 var coordTransform = (function () { // 一些常量 var PI = 3.1415926535897932384626; var X_PI = 3. ...
- 网络游戏开发-客户端4 关于Egret的本地坐标和舞台坐标
因为最近公司事情比较多,所以没怎么更新博客. 不过咱们这个游戏还是在继续往下写. 今天晚上打算写斗地主的出牌动画,遇到一个问题,就是关于本地坐标和舞台坐标的计算问题 在Egret官网的解释是:x 和 ...
随机推荐
- React Native 0.50版本新功能简介
React Native在2017年经历了众多版本的迭代,从接触的0.29版本开始,到前不久发布的0.52版本,React Native作为目前最受欢迎的移动跨平台方案.虽然,目前存在着很多的功能和性 ...
- 美图App的移动端DNS优化实践:HTTPS请求耗时减小近半
本文引用了颜向群发表于高可用架构公众号上的文章<聊聊HTTPS环境DNS优化:美图App请求耗时节约近半案例>的部分内容,感谢原作者. 1.引言 移动互联网时代,APP 厂商之间的竞争非常 ...
- NIO类库
NIO概述 从JDK1.4开始,引入了新的I/O类库,它们位于java.nio包中,其目的在于提高I/O的操作效率.nio是new io的缩写. 参考文章:NIO BIO AIO区别 java.nio ...
- [Swift]LeetCode132. 分割回文串 II | Palindrome Partitioning II
Given a string s, partition s such that every substring of the partition is a palindrome. Return the ...
- [SQL]LeetCode184. 部门工资最高的员工 | Department Highest Salary
The Employee table holds all employees. Every employee has an Id, a salary, and there is also a colu ...
- [Swift]LeetCode448. 找到所有数组中消失的数字 | Find All Numbers Disappeared in an Array
Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and ot ...
- [Swift]LeetCode916.单词子集 | Word Subsets
We are given two arrays A and B of words. Each word is a string of lowercase letters. Now, say that ...
- 8分钟学会使用AutoMapper
一.什么是AutoMapper与为什么用它. 它是一种对象与对象之间的映射器,让AutoMapper有意思的就是在于它提供了一些将类型A映射到类型B这种无聊的实例,只要B遵循AutoMapper已经建 ...
- Echarts图标自适应问题(已解决)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- qt QClipBoard
部分思路借鉴这篇文章: Qt学习之路(55): 剪贴板操作 剪贴板,这个词相信大家都比较熟悉,比如使用offiece的时候就会有粘贴板,文本编辑的时候Ctrl+C和Ctrl+V的使用, ...