定位系統座標系

由於項目的原因,博主最近天天圍繞着地圖轉來轉去~~~

之前,由於Leaflet其自身的輕便性,博主和很多開發人員一樣,偏愛着這個插件。

然而,隨着對地圖功能需求的提升,以及開發的深入,越到後面,越發現,Leaflet已經不能達到使用需求,且出現了很多問題。這些無解的問題,使得我不得不反思,是不是應該在這個項目上,棄用Leaflet。

在這邊總結下項目需求:根據用戶使用不同的語言加載不同的地圖,如使用英語就加載谷歌地圖;如使用中文,則加載高德或者百度地圖。而這樣,需要用到座標定位、markers聚合、路徑糾偏等等~~~

在之前的項目中,我們採用了:在leaflet的基礎上,加載高德和谷歌的底層,勉強能湊合着用。後面由於需求的修改,需要再leaflet的基礎上,加載百度地圖,這就引發了很多其他問題。

當然,如果你的項目需求僅僅是國內且不允許地圖拖動,那麼,顯然沒什麼問題。網絡上有插件和很多這種文章,可以幫助你解決這種問題:百度地圖座標轉換成墨卡託投影座標Proj4Leaflet API

但是如果顯示的範圍需要擴大到全球,且允許用戶自行拖拽,就會發現一堆問題。

顯示不全:
在這裏插入圖片描述
leaflet+高德地圖,循環拖拽時,如圖:這使得,如果你沒有拖回原來的視圖,你將無法看到原先可以看到的信息:
在這裏插入圖片描述
這使得我不得不考慮根據不同的應用場景,而調用不同的地圖。

而爲了解決以上提出的問題,我們需要對定位座標系統有一些認識:

1.我們常用的座標系有哪些?

WGS84:大地座標系,是目前廣泛使用的GPS全球衛星定位系統使用的座標系。

GCJ02:又稱火星座標系,是由中國國家測繪局制定的地理座標系統,是由WGS84加密後得到的座標系。是國內最廣泛使用的座標體系,高德、騰訊、Google中國地圖都使用它

BD09:爲百度座標系,在GCJ02座標系基礎上再次加密。其中bd09ll表示百度經緯度座標,bd09mc表示百度墨卡托米制座標。
在這裏插入圖片描述
2.什麼是墨卡託投影(Mercator projection)?

墨卡託投影,也叫做:正軸等角圓柱投影。由荷蘭地圖學家墨卡託(G.Mercator)於1569年創立。百度地圖Google Maps使用的投影方法都是墨卡託投影。

墨卡託投影不適合在高緯度地區使用。

墨卡託投影的地圖最大的缺點就是和現實差別太大,變形非常嚴重:比如非洲和格陵蘭島,加拿大。

其他:百度地圖座標系說明書

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章