轨迹系列5——验证轨迹GPS坐标转换为本地坐标的四/七参数是否准确的一种方案

时间:2021-08-08 22:10:47

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

1. 背景

目前对多个项目轨迹不准确的情况做了排查,发现导致轨迹偏移百分之七八十的原因反而是转换四参数不准确导致。所以,比起进行轨迹优化等,最根本需要解决的是四参数(通过三个及以上控制点对换算得出)不准确问题。那么如何判断四/七参数是否准确呢?针对这个问题我们给出一个通用方案。

2.原理说明

这里,我们从两个方面着手,一个是验证我们系统地图本身是否偏移,第二个是验证在地图准确的情况下四参数是否准确。

如果地图本身偏移,则应该先解决地图偏移问题后再进行第二步验证。

3.验证地图本身是否偏移

验证地图是否准确我们分为了两种情况,最简单的情况即是存在参考数据的情况,复杂些的情况则为没有参考数据的情况。

3.1有参考数据的情况

在使用地图页面上通过图层树勾选,将路灯或者行道树此类有明显排布规则的图层叠加显示在地图上,查看图层数据是否有偏移,如果没有则说明地图本身是准确的。

轨迹系列5——验证轨迹GPS坐标转换为本地坐标的四/七参数是否准确的一种方案

3.2无参考数据的情况

当无参考数据时,若地图底图是ArcGIS Server发布的,可以分别通过在arcmap中加载地图服务的地图和在系统地图中选择同名点来获取两对坐标,对其进行比较以验证系统地图是否有偏移。

轨迹系列5——验证轨迹GPS坐标转换为本地坐标的四/七参数是否准确的一种方案

其中,arcgis server发布的地图服务可以直接拖拽到arcmap的Table of Contents中出图,鼠标在地图上移动时,右下角的地图坐标会同步变化。

轨迹系列5——验证轨迹GPS坐标转换为本地坐标的四/七参数是否准确的一种方案

在系统地图上,可以借助工具栏上的定位工具,在地图上点选以获得对应坐标。

如果地图来源是天地图、互联网地图或其他第三方天地图的资源,则可以在网上搜索相应的添加到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),建议选择位置明显便于定位的点,如道路交叉口。

利用系统地图的工具栏中定位按钮,然后在地图上点选,以获取其地图坐标:

轨迹系列5——验证轨迹GPS坐标转换为本地坐标的四/七参数是否准确的一种方案

如上图所示,在廊坊市人民*附近的广阳道和光华路十字路口*选取一个,其地图平面坐标为(472305.8106223327, 4378112.87180241)

4.2获取同名点的WGS84经纬度坐标

利用http://www.gpsspg.com/maps.htm 可以获取WGS84经纬度坐标:

轨迹系列5——验证轨迹GPS坐标转换为本地坐标的四/七参数是否准确的一种方案

找到与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坐标转换为本地坐标的四/七参数是否准确的一种方案

轨迹系列5——验证轨迹GPS坐标转换为本地坐标的四/七参数是否准确的一种方案的更多相关文章

  1. 火星02坐标转换为WGS84坐标

    import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import jav ...

  2. Cesium之球心坐标与本地坐标

    1球心坐标(ECEF)与本地坐标(NEU) 假如你来到一个陌生城市,你很可能需要问路.通常会告诉你向北走100米,右转,向东走100米,理解起来很直观.你给儿子买了一个地球仪,你从北京(39,115) ...

  3. canvas中window坐标转换为canvas坐标

    function getMousePos(canvas, evt) { var rect = canvas.getBoundingClientRect(); return { x: evt.clien ...

  4. GPS转换为百度坐标

    原文地址:http://www.cnblogs.com/zhaohuionly/archive/2013/06/18/3142623.html 最近在做一个关于手机定位的小应用,需求是这样的,用户通过 ...

  5. GPS坐标换算为百度坐标

    最近在做一个关于手机定位的小应用,需求是这样的,用户通过手机(Wp8)进行二维码扫描操作并且记录用户的当前位置,在PC上可以查看用户所在地图的位置,做法就是在用户扫描条码时,通过手机GPS获取当前在地 ...

  6. GPS坐标换算为百度坐标(转)

    最近在做一个关于手机定位的小应用,需求是这样的,用户通过手机(Wp8)进行二维码扫描操作并且记录用户的当前位置,在PC上可以查看用户所在地图的位置,做法就是在用户扫描条码时,通过手机GPS获取当前在地 ...

  7. 百度坐标(BD-09)、国测局坐标(火星坐标,GCJ-02)和WGS-84坐标互转

    // 坐标转换 var coordTransform = (function () { // 一些常量 var PI = 3.1415926535897932384626; var X_PI = 3. ...

  8. 网络游戏开发-客户端4 关于Egret的本地坐标和舞台坐标

    因为最近公司事情比较多,所以没怎么更新博客. 不过咱们这个游戏还是在继续往下写. 今天晚上打算写斗地主的出牌动画,遇到一个问题,就是关于本地坐标和舞台坐标的计算问题 在Egret官网的解释是:x 和 ...

  9. 七参数计算正确性验证——Coord软件使用

    我计算了一套七参数,但是别人说计算结果不正确,我只好验证一下. 最后知道为啥算错了,原来是尺度K的单位问题,我计算七参数的单位是PPM,而下面软件的单位是m所以需要除以1000000进行计算. 下面是 ...

随机推荐

  1. swift判断是否真机or模拟器

    之前一直用的这种,不知道为什么不怎么靠谱 #if TARGET_IPHONE_SIMULATOR//模拟器 #else//真机 #endif 现在用这种: if Platform.isSimulato ...

  2. Python 单例

    方法1: 1 class Singleton(object): def __new__(cls, *args, **kwargs): if '_inst' not in vars(cls): cls. ...

  3. WinForm TextBox 焦点停留到文本最后

    最近写个 WinForm 项目,TextBox 控件有内容的时候,获取焦点,光标总是在最前面,很不便于输入.那怎么样让光标停留到最后呢?如下代码可以实现:            this.txtBox ...

  4. DNN - Modules - QR Code Generator

    Dotnetnuke 平台上的二维码模块.支持DNN 7.x平台的安装 QR码(快速响应码)是二维条形码.随着移动设备市场正以快速的步伐,QR码正在成为非常重要的营销工具.与移动电话或平板电脑的扫描, ...

  5. 发现一个时隐时现的bug!

    在awk里可以这样使用正则: #截取 a.cn?fr= 中的1211 -]+/) > ) { fr = substr(url,RSTRART + , RLENGTH - ) } #截取 a.cn ...

  6. 注解【介绍、基本Annotation、元Anntation、自定义注解、注入基本信息、对象】

    什么是注解? 注解:Annotation-. 注解其实就是代码中的特殊标记,这些标记可以在编译.类加载.运行时被读取,并执行相对应的处理. 为什么我们需要用到注解? 传统的方式,我们是通过配置文件(x ...

  7. PV UV QPS 并发数

    TPS(Transactions Per Second):每秒事务数 QPS(Query Per Second):每秒请求数,QPS其实是衡量吞吐量的一个常用指标,就是说服务器在一秒的时间内处理了多少 ...

  8. Linux下rsync daemon模式下的错误汇总

    一.前言:最近学习服务环境搭建,遇到了许多大大小小的问题,不过还好,经过我的一通努力终于都解决了,所以分享出来给自己留个纪念,同时也希望能帮助学习中的朋友. 二.环境:两台服务器环境相同 1 [roo ...

  9. lamp下mysql安全加固

    lamp下mysql安全加固 1.修改root用户口令,删除空口令 缺省安装的MySQL的root用户是空密码的,为了安全起见,必须修改为强密码,所谓的强密码,至少8位,由字母.数字和符号组成的不规律 ...

  10. What's New In Zeebe: Scaling Zeebe, New Client APIs, Faster Requests, Timestamps, NodeJS Client, and Default Topic is Back!

    Written by Daniel Meyer on May 16 2018 in the What's New In Zeebe category. Welcome to the first-eve ...