亲宝软件园·资讯

展开

不同坐标系经纬度相互转换

Tarantino 人气:0

公司需要解析出任意采集到的地址在百度坐标系下的经纬度,原来调用百度地图地理编码API服务即可,但是一些国外的地址在百度地图下得到的经纬度误差很大,因此,
我使用到了google地图api,但是随之产生的问题是google地图api得到的坐标基于wgs84坐标系,所以剩下的问题就是如何将基于wgs84坐标系的经纬度转为百度坐标系
经纬度。这里发现一个不错的网站,直接提供坐标转换服务。

https://artoria2e5.github.io/PRCoords/demo。

但是待转换的数据量较大,如果每次手动转化太慢太麻烦,如果爬虫请求也比较慢,而且若万一网站察觉到关闭服务也是不好。

其实这些坐标系无非是采用了不同的模型或测量参数,那么这个网站能给出结果无非是js执行了一些不同坐标系转换计算工作,那么直接学习他的计算过程我就能模仿一份了。

查看调用过程很简单,使用chrom浏览器调试工具即可。流程如下:

一,定位到"scre that!" 按钮对应的click事件

 

二,进入该js代码,发现调用了fill_output函数

 

 三,使用chrom搜索工具搜索fill_output关键词,找到代码位置

 

 四,找到关键部分,打上断点

 

五,在线调试,找到关键js模块,PRCoords.js模块

接下来,我们只要用自己擅长的语言替换js代码就能实现一个不同坐标系经纬度转换工作了。

我使用的是go语言完成的,这种坐标系转换很适合做web API,因此我提供了一个web api服务,目前还没有实际部署,代码在我github上:https://github.com/Tarantiner/coord

运行很简单,使用go编译运行即可,效果如图




加载全部内容

相关教程
猜你喜欢
用户评论