一粟矿、前言:
目前基于位置的應(yīng)用越來越多凰棉,如滴滴打車、美團外賣陌粹、大眾點評等等撒犀。在實際的工作中或者是個人開發(fā)項目都有對地圖位置相關(guān)的功能需求,目前國內(nèi)比較常見的地圖開發(fā)平臺有百度掏秩、高德或舞,國外的google。對于剛接觸到地圖開發(fā)的開發(fā)者蒙幻,可能會遇到各種各樣的問題映凳,如為什么有各平臺的地圖坐標系不一樣?同樣的經(jīng)緯度在兩個平臺上為什么會差這么多邮破?它們之間是什么關(guān)系诈豌?什么又是墨卡托坐標?本文將針對這些問題進行簡單解釋抒和。
二矫渔、坐標系
WGS-84:是美國設(shè)計的全球大地坐標系。國際標準利用GPS采集的坐標就是WGS-84坐標系的坐標摧莽。一般用度庙洼、分、秒表示镊辕。
GCJ-02:是中國國家測繪地理信息局發(fā)布的坐標系送膳,又稱“火星坐標系”或“出版坐標系”。是為了國家安全丑蛤,對在WGS-84基礎(chǔ)上進行參數(shù)、偏移處理撕阎,得到的坐標系受裹。國內(nèi)要求互聯(lián)網(wǎng)地圖必須至少采用這個坐標系,或者在這個坐標系上再次進行參數(shù)虏束、偏移處理棉饶。
BD-09:是百度在GCJ-02的基礎(chǔ)上再次進行參數(shù)、偏移處理得到的百度坐標系镇匀。
三照藻、坐標偏差
google、高德地圖在國外采用的WGS-84坐標系汗侵,在國內(nèi)采用的GCJ-02幸缕。
百度地圖在全球都采用的BD-09坐標系群发。
因此要想坐標位置準確,那么必須滿足相應(yīng)的坐標展示在對應(yīng)的地圖坐標系上发乔。
比如解放碑點的位置GPS坐標為(0熟妓,0),那么在高德地圖上的坐標可能就為(1栏尚,2)起愈,在百度地圖上
坐標可能就為(3,4)译仗。為什么不一樣抬虽,就是因為三個平臺采用的參考不一樣,及坐標系不一樣纵菌。
當然三種坐標可以相互轉(zhuǎn)換阐污,網(wǎng)上已經(jīng)有很多例子。
四产艾、地圖投影
我們都知道地球是個不規(guī)則的橢球疤剑,空間位置實際是一個球面坐標,而地圖投影就是將3D的球面轉(zhuǎn)換到2D的平面闷堡。
平時我們一般說的經(jīng)緯度坐標就是一種球面坐標隘膘,范圍取值,經(jīng)度[-180,180]杠览,緯度[-90,90]弯菊。
而投影坐標是米或者千米等為單位的,是一種以xy表示的平面坐標踱阿,范圍是最小(-20037508.3427892, -20037508.3427892 )到最大(20037508.3427892, 20037508.3427892)管钳。
目前大部分互聯(lián)網(wǎng)地圖都采用的web墨卡托投影
五、其他
1软舌、GPS的度分秒坐標轉(zhuǎn)換到度
例:41°37'21.52換算37分就是37/60度才漆,21.52秒就是21.52/3600度,結(jié)果就是41 + 37/60 + 21.52/3600 度佛点。
2醇滥、經(jīng)緯度順序
有些公司(比如高德,百度超营,騰訊)是先經(jīng)度鸳玩,再緯度,即Point(lng lat)演闭。但谷歌坐標的順序恰好相反不跟,是(lat lng)。