天天看點

高德地圖百度地圖糾偏

百度地圖、高德地圖加載WMS(EPSG:3857)偏移

在使用高德地圖API和百度地圖API的時候,如果要加載地圖服務如WMS,WMTS等,這些地圖服務常用的投影坐标系是EPSG:3857。加載上去會發現存在偏移,因為投影坐标系不一緻。

高德的坐标系是GCJ-02,而百度的坐标系是在GCJ-02再次偏移的BD-09,這些坐标系是沒有收錄在EPSG中的,是以無法用Proj.4庫來做坐标轉換。

我們是否可以通過整體的偏移來做呢?不行的,因為GCJ-02坐标系相對于WMS坐标系的偏差是非線性随機的。這麼做感覺就是在為難國内的開發者,一方面不能不使用WGS坐标,因為這個是國際通用的,另一方面又在設定重重障礙讓WGS坐标和GCJ-02坐标難以轉化。

不過也不是束手無策的,高德和百度都有提供單點的坐标轉換功能,我們可以利用單點的坐标轉換來實作切片的偏移。也有一個開源的項目 gcoord 融合了百度高德的轉化

百度高德在請求切片圖層的時候,對于每一個切片來說,切片的BBOX坐标是可以計算出來的。在預設情況下,會使用計算出來的BBOX坐标請求WMS或是WMTS服務,這樣是有偏差的。我們可以對計算出來的BBOX坐标進行單點偏移,使用偏移後的BBOX坐标請求地圖服務就可以實作地圖的吻合。

百度地圖:

高德地圖:

幫助類

繼續閱讀