文章出处
https://blog.csdn.net/m0_37738114/article/details/80452485
一、国内常用坐标系
1、WGS-84坐标系:地心坐标系,GPS原始坐标体系
在中国,任何一个地图产品都不允许使用GPS坐标,据说是为了保密。
2、GCJ-02 坐标系:国测局坐标,火星坐标系
1)国测局02年发布的坐标体系,它是一种对经纬度数据的加密算法,即加入随机的偏差。
2)互联网地图在国内必须至少使用GCJ-02进行首次加密,不允许直接使用WGS-84坐标下的地理数据,同时任何坐标系均不可转换为WGS-84坐标。
3)是国内最广泛使用的坐标体系,高德、腾讯、Google中国地图都使用它。
3、CGCS2000坐标系:国家大地坐标系
该坐标系是通过中国GPS 连续运行基准站、 空间大地控制网以及天文大地网与空间地网联合平差建立的地心大地坐标系统。
4、BD-09坐标系
百度中国地图所采用的坐标系,由GCJ-02进行进一步的偏移算法得到。
5、搜狗坐标系
搜狗地图所采用的坐标系,由GCJ-02进行进一步的偏移算法得到。
6、图吧坐标系
图吧地图所采用的坐标系,由GCJ-02进行进一步的偏移算法得到。
二、国内地图软件所采用的坐标系简介
1、百度地图 1)境内(包括港澳台):BD09 a、在GCJ-02坐标系基础上再次加密 b、支持WGS-84、GCJ-02转换成BD09,反向不支持,并且批量转换一次有条数限制 2)境外:WGS-84 | 2、高德地图: 1)境内:GCJ-02 a、WGS-84——>GCJ-02(高德有接口提供,反过来没有) 2)境外:暂不支持 3)AMap 就是高德地图,是高德地图在纳斯达克上市用的名字,主要面向互联网企业或个人提供免费API服务 4)MapABC 是高德集团底下的图盟公司,主要面向大众型企业或政府机关,并提供付费的有偿服务 5)Amap和MapABC,数据和服务都是共享的,所以Mapabc用Amap的API是正常的 |
3、google地图 1)境内:GCJ-02 a、数据来源于高德,两者互通 2)境外:WGS-84 | 4、天地图 全球统一:CGCS2000 |
5、腾讯地图:soso地图 境内:GCJ02 | 6、微软bing地图:BingMap 全球统一:WGS-84 |
7、搜狗地图 境内:搜狗坐标系 a、在GCJ-02坐标系基础上再次加密 b、支持WGS-84、GCJ-02、BD09转换成搜狗坐标,反向不支持 | 8、图吧地图: MapBar 境内:图吧坐标系 a、在GCJ-02坐标系基础上再次加密 |
9、阿里云地图 境内:GCJ-02 | 10、灵图地图:51ditu 境内:GCJ-02 |
三、各个坐标系之间的转换
1 | 1、以下代码,提供的转换算法如下: |
1 | 2、百度在线转换API |
1 | 3、百度地图获取WGS-84坐标 |
1 | 4、CGCS2000坐标与WGS-84坐标的转换 |
四、取自一段大神的总结
采用自家坐标体系,而不采用国内通用的火星坐标体系,实在是自寻短处。当然,百度是因为做的足够大、足够好,所以很霸道,也为以后一统天下而不让别人瓜分之而做准备吧。搜狗虽然用自家坐标体系,但能将地球坐标直接导入,此举也属唯一。而图吧地图不知道学什么加密方式,以前用地球坐标用的好好的,现在用图吧自己的坐标,难道是因为给百度做过所以也来了这么一招?或者沿用百度?不得而知。
做地图开发的时候,不希望被一家地图API迁就,所以采用火星坐标GCJ-02是正确的选择,希望本文能够对选择使用谁家API的开发者提供一点帮助吧。就我个人而言,我绝不会使用非火星坐标系统的地图API,虽然百度地图API很好很强大确实很吸引我。