查看原文
其他

【投稿】坐标系太多傻傻分不清?点线面坐标互转操作送你丨城市数据派

吴德馨 城市数据派 2021-09-20


【投稿吗?有稿费的那种!】(点击看详情),是由城市数据派主办的征稿活动,我们希望能够提供更新鲜、更好玩、更有价值的内容,因此决定为派友们开放平台,提供交流和展示才能的机会。小派在此恭候派友们投稿分享!


【本期看点】

你常常遇到,从高德地图、百度地图等商业地图爬取的数据,按经纬度转换成点之后,与WGS84坐标的底图对不上吗?


如果想对纠正偏移的坐标点相对比较简单,在网上找算法反算一下即可。但线文件或者面文件进行坐标转换该怎么实现呢?


本文将给大家普及一下点线面文件在地球坐标、火星坐标、百度坐标相互转换操作攻略。详解往下拉!

本期投稿


吴德馨

广州市交通运输研究所

信息模型部工程师



01  互联网地图的坐标系现状


在GIS领域,规划师们经常需要从高德地图、百度地图等商业地图爬取数据,但大家爬取下来的数据将经纬度转换成点之后会发现与WGS84坐标的底图会有一定偏差,对不上,这种现象出现是因为我国的测绘法要求商业地图需要对坐标进行加密。


上述情况出现的原因在很多文章中都有普及,在我国所有的公开的电子地图、导航设备,都需要加入国家保密插件,它是对真实坐标系统进行人为的加偏处理,按照特殊的算法,将真实的坐标加密成虚假的坐标。


国内大部分的在线地图都是采用的在WGS84坐标进行加密基础上形成的火星坐标系,也叫国测局坐标系(GCJ02);百度地图采用的是百度坐标(BD09),是在GCJ-02基础上二次加密而成。


国内主要商业地图的采用的坐标系

02  点文件地球坐标、火星坐标、百度坐标相互转换方法


目前,关于坐标点在GCJ02、BD09、WGS84这三套坐标系之间的转换有很多研究成果,主要分为三种模式:
1)借助工具转换:如未来交通实验室开发的万能坐标转换;2) 借助代码进行转换:Coordtransform坐标转换库,提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换的工具模块;https://github.com/wandergis/coordTransform3)利用各个地图提供的Web API来转换:如高德坐标转换Web API;https://lbs.amap.com/api/webservice/guide/api/convert/

03  线面文件坐标转换的转换步骤


单点或者多点的坐标转换相对简单,把点按照相应的算法逻辑计算一下就可以实现转换, 但如果想对线文件或者面文件转换该怎么实现呢?
规划师在应用GIS过程中,可能会遇到需要结合高德、百度等商业地图参照绘制路网、建筑、规划区域等等情形(在ArcGIS中添加在线地图插件http://www.arctiler.com/p_plugin.html绘制好路网之后如何和原先的WGS84数据对应呢?
在ArcGIS中添加底图参照并绘制路网
绘制的路网无法与无偏移WGS84底图对应
这种情形在百度地图、谷歌地图、腾讯地图都会出现,前面介绍的坐标转换其基本原理都是输入一个坐标值,然后对坐标值反算转换到我们坐标,坐标转换工具、Web API等转换模式对于线文件、面文件坐标都不适用。 如何解决线文件的坐标转换,唯一可行的路径先把线变成“点”,然后依次转换点坐标就行了。
需要借助的工具包括ArcGIS软件要素转JSON工具箱和JSON转要素工具箱、Python编程。具体来说分为三步:
 第一步 打开ArcGIS桌面版,在系统工具箱中点击打开Conversion Tools—JSON工具箱,借助要素转json工具把线文件、面文件所有的拐点提取出来,生成json文件,用文本工具打开转换后的json文件,其中paths部分就是要素的所有拐点信息。
待转换坐标文件导出成JSON文件操作步骤
导出的JSON文件字段含义简介


 第二步 需要用到Python编程,编写代码读取转换后的json文件,引入点坐标转换的Coordtransform坐标转换库,根据我们自己的需求对拐点的坐标依次进行坐标转换,将计算出新坐标替换原先坐标,转换的代码如下,可以按照自己的需求引入坐标转换算法。
借助Python编程将待转换坐标JSON文件中的拐点转换坐标的代码


 第三步 只需已经完成坐标转换的json文件转回线文件即可。打开ArcGIS桌面版,在系统工具箱中点击打开Conversion Tools—JSON工具箱,利用JSON转要素工具将JSON文件转回线文件,操作步骤如下图。


JSON文件转换成线文件的操作步骤
红色为转换成WGS84坐标的线文件与无偏移的谷歌地球底图完美对应




 期待合作 

商业合作、投稿等,请联系客服小派派微信号 xiaopaipai_udparty,加好友必须备注:合作+机构名称/个人姓名

赶快加我,等你



 更多服务 




: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存