今天来说说坐标系转换的事情。
不同的API提供商可能会使⽤不同的坐标系,根据相关法律的规定,GPS获取的原始坐标⼜不能在互联⽹上对外提供,所以要使⽤API展⽰GPS数据就需要了解有关坐标系转换的内容。
通常GPS获取的经纬度属于,在我国,这个坐标是不能直接应⽤在互联⽹服务上的,⾄少要经过国家测绘局的加密。google map在中国⼤陆地区的数据使⽤的就是经过国测局加密之后的坐标系,⽽google earth在中国地区仍然使⽤的是WGS84坐标系。
坐标转换
百度地图时光机在哪
如果有GPS获取的坐标,或者之前从google map api获取的坐标,如何正确的转换到百度地图上呢?
⾸先我们打开google earth,获取鸟巢体育场处的位置:北纬39度59分29.38秒,东经116度23分24.99秒。
这是“度分秒”单位制的,我们把它转换为“度”,即:39.9914944,116.3902750。这是WGS84坐标系(与GPS获取的⼀致),为了在百度地图上显⽰正确位置需要调⽤转换接⼝得到:116.40293253658,39.999254873942。这个坐标在百度地图上显⽰位置为:
可以看到在百度地图上位置与google earth中是⼀样的。
同样如果是通过google map api获取的坐标也需要经过坐标转换。可以在如下地址进⾏坐标转换,也可以获取代码⾃⾏调⽤接⼝进⾏转换。
如果发现获取的GPS坐标转换后在百度地图上有偏移,那么建议将这个原始坐标在google earth中进⾏验证,如果google earth中的位置与百度地图上的位置⼀致,那么说明原始坐标就是有偏移的,与转换过程没有关系。