网络坐标纠偏心得分享

在日常数据处理中,经常会使用到火星坐标(GCJ02)、百度坐标(BD09)以及国际通用的地球坐标(WGS84),这三者之间是存在偏差的。要进行坐标纠偏首先需要明白这几个坐标系之间的区别是什么。

众所周知,国内的数据但凡是带坐标的都是保密数据,所有的保密数据都需要经过加密转到再放到网络上,所以就有了火星坐标(GCJ02)和百度坐标(BD09)的由来。

WGS84坐标经过加密后形成了GCJ02坐标,BD09坐标又是在GCJ02的基础上,再一次经过加密后形成的。

在网络坐标转换中,我们比较关注的是WGS84和GCJ02的坐标系之间的相互转换。一般我们会将数据从WGS84转换成GCJ02叫做正算,这种加密方式目前已经有公开的算法,误差也较小,基本上可以认为其是正确的,关键是反算。可能有些人会疑惑,既然已经知道的正算的算法,为什么还求不出来反算的公式呢?

嘿,问的好,因为我也不会。我只知道,WGS84到GCJ02是一种非线型加密。每个区域的矢量都是不一样的。

目前网络上也有以公式法反算的算法,但基本上误差都是在米级的,这也基本已经满足了我们日常使用的需求。

虽然不会归不会,不过把人家优秀的开源算法拿来改吧改吧自己用,还是成的。

于是,我基于github.com/GaryLea/ChangeCoordinate的坐标纠偏算法,封装了一个自定义转换器,据博主所说,其反算的最大误差在5米左右。

之后,在网络上 https://github.com/googollee/eviltransform 找到一种精度更高的的迭代逼近法,可以通过预设误差,不断迭代计算,精度可达微米级别。

根据以上两种算法,将其封装到了FME自定义转换器中,实现了坐标点对的GCJ02、BD09、WGS84坐标的相互转换。

模版很简单,主要就是一个PythonCaller转换器。总体算法都是基于github.com/GaryLea/ChangeCoordinate写的,后来将坐标反算的算法换了一下,改成 https://github.com/googollee/eviltransform 的算法,精度更高,不过随之而来的就是转换效率的降低。

有兴趣的可以去下载源码查看一下,不过需要注意这两个算法的lng,lat分别代表的X和Y轴是相反的,我就因此被坑了好久。
在这里插入图片描述
代码的实现过程是很粗糙的,因为我确实不会python。具体代码也很简单我就不贴出来了,大家可以自己去将转换器下载下来看一下,基本上就是github上的用法没有改变。

而且我也很用心的写了帮助,使用注意事项都在帮助里面。

这个自定义转换器,很多想法都是参照一篇文章做的。
https://mp.weixin.qq.com/s/khqt5j8X09hfY6jutY-sEw这是真正的大佬,他的每一篇文章我都拜读过。在此博客的基础上,不断追述源头,如我这样的小白,也能对坐标纠偏有一些了解了。

最后老样子,附上转换器链接
链接:https://pan.baidu.com/s/1c_BlidUhNVkiiznYnHRtog
提取码:owhi

既然都有网络坐标纠偏了,肯定有POI数据爬取,基本思路都已经实现了,只是一直没时间写……囧

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
≡≡≡≡≡≡≡≡≡≡≡≡≡『软件介绍』≡≡≡≡≡≡≡≡≡≡≡≡≡ 邮箱:arctiler@gmail.com 『太乐地图下载器』支持谷歌、天地图、百度、诺基亚、搜搜、ArcGIS Online、高德、超图云服务、必应、雅虎的街道地图、卫星地图(卫片)、标签/卫星混合地图、地表地形图的高速下载、无缝拼接、无损压缩、地图纠偏坐标系转换、离线浏览和地图服务发布(WMTS\WMS)。 【支持无偏移的谷歌国外服务器卫星地图的下载,避免纠偏带来的二次花费】 【支持地图纠偏,独家纠偏算法,纠偏后可与矢量数据完美叠加】 主要功能: 01.支持10个主流地图厂商的40多款在线地图的浏览、下载 02.支持按行政区划下载、画框下载、多边形下载、导入KML下载 (下载方式灵活) 03.Web地图服务发布 -- 灵活搭建自己的局域网地图服务器 (将下载地图发布为Web服务(WMTS/WMS),供ArcGIS、SuperMap、Openlayers等客户端直接远程访问,支持Openlayers的离线浏览) 04.支持无缝拼接成单张大图 (支持无损压缩、分块拼接,可在ArcMap、Erdas Imagine中直接打开,包含坐标范围\投影信息等) 05.支持导出成ArcGIS切片缓存格式 (可在ArcMap中直接打开,也可用于ArcGIS Server发布为底图服务) 06.支持导出成Google格式切片 (导出后可直接在浏览器中调用Google API离线浏览) 07.支持导出成TMS标准切片 08.支持导出SQLite格式切片 09.支持影像投影转换 (支持任意投影之间的影像投影转换,如将具备谷歌投影的地图转为WGS84等) 10.支持影像金字塔构建 (更快速的在第三方软件中浏览大图) 11.支持多任务、多线程的高速下载,支持任务的断点续传 12.支持地理标注,支持读取GPX路线、轨迹信息 13.更为简洁的Win8操作界面,更为简便的地图下载流程

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值