高德API支持WMS服务器,GCJ02-Correct
高德地圖百度地圖糾偏
1、寫在前面
在使用高德地圖API和百度地圖API的時(shí)候,如果要加載地圖服務(wù)如WMS,WMTS等,這些地圖服務(wù)常用的投影坐標(biāo)系是EPSG:3857。加載上去會發(fā)現(xiàn)存在偏移,因?yàn)橥队白鴺?biāo)系不一致。
高德的坐標(biāo)系是GCJ-02,而百度的坐標(biāo)系是在GCJ-02再次偏移的BD-09,這些坐標(biāo)系是沒有收錄在EPSG中的,所以無法用Proj.4庫來做坐標(biāo)轉(zhuǎn)換。
我們是否可以通過整體的偏移來做呢?不行的,因?yàn)镚CJ-02坐標(biāo)系相對于WMS坐標(biāo)系的偏差是非線性隨機(jī)的。這么做感覺就是在為難國內(nèi)的開發(fā)者,一方面不能不使用WGS坐標(biāo),因?yàn)檫@個(gè)是國際通用的,另一方面又在設(shè)置重重障礙讓W(xué)GS坐標(biāo)和GCJ-02坐標(biāo)難以轉(zhuǎn)化。
不過也不是束手無策的,高德和百度都有提供單點(diǎn)的坐標(biāo)轉(zhuǎn)換功能,我們可以利用單點(diǎn)的坐標(biāo)轉(zhuǎn)換來實(shí)現(xiàn)切片的偏移。也有一個(gè)開源的項(xiàng)目 gcoord 融合了百度高德的轉(zhuǎn)化
2、思路
百度高德在請求切片圖層的時(shí)候,對于每一個(gè)切片來說,切片的BBOX坐標(biāo)是可以計(jì)算出來的。在默認(rèn)情況下,會使用計(jì)算出來的BBOX坐標(biāo)請求WMS或是WMTS服務(wù),這樣是有偏差的。我們可以對計(jì)算出來的BBOX坐標(biāo)進(jìn)行單點(diǎn)偏移,使用偏移后的BBOX坐標(biāo)請求地圖服務(wù)就可以實(shí)現(xiàn)地圖的吻合。
總結(jié)
以上是生活随笔為你收集整理的高德API支持WMS服务器,GCJ02-Correct的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 时钟抖动与时钟偏斜
- 下一篇: 职场健康:久坐不动最伤五部位 简单动作可