文章版權由做者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/。算法
目前項目中使用百度地圖、高德地圖、谷歌中國地圖、天地圖的需求愈來愈多,這裏我跟你們一塊兒對各地圖使用的座標系作一個簡單的探討。微信
百度地圖是在GCJ-02座標系上,又本身對座標加密了一次,它官方文檔裏說叫BD-09,目前從GPS座標轉到百度座標有接口提供,反過來不提供。函數
固然,目前反轉方法在咱們實際項目中已經解決,精確度能夠達到0.5M之內。工具
百度地圖的投影仍是標準的Web橫軸墨卡託投影,因此其切圖的座標原點、範圍都是能夠計算出來的。瓦片大小、基本URL也均可以經過監聽百度的URL獲取。須要注意的是,百度地圖的瓦片行列號和負載地址在不一樣級別上都會有所不一樣,其變化規則以下:測試
瓦片的行列號是每增長一個級別便會進行一個規則的偏移,其偏移算法以下:加密
在最新的arcBruTile0.7中已經支持對百度地圖的添加。能夠加載了百度瓦片後,經過尋找百度地圖上與本地地圖上的控制點對進行強行糾偏。插件
缺點是柵格圖像糾偏形變是很難避免的,並且工做量也大,而且很難自動化。blog
a.獲取WGS84到天津90座標系上的7參數。接口
b.經過創建控制點庫(已研發),利用工具(已研發)將天津90座標系數據自動轉換爲WGS84座標系數據。文檔
c.再創建WGS84與百度座標系之間的控制點庫(已研發),將WGS84數據再轉換爲百度座標系數據。
d.疊加後測試。
高德地圖和谷歌地圖均是使用的GCJ-02座標系,如下爲測試例子:
具體來講GCJ-02座標系與WGS84座標系偏移通常在100M上下,這種處理技術,是經過一種方法將一張地圖修改成另一張地圖,修改完成以後,地圖上的點,會發生大到幾百米,小到幾十米的偏移。若是你用幾何上座標轉換的方法想復原原地圖,難度很大,由於處理技術的處理映射函數是非線性的。網上有不少兩個座標之間的轉換方法,可是精確度通常般,在10M左右。
在國內,GCJ-02帶來的偏移最大有700米左右,偏移的絕對值能夠參考下圖(最紅處接近700 m,最藍處大約 20 米):
因爲本地數據並不會是大範圍的,因此其局部偏移上能夠經過線性方法暫時逼近。
a.本地座標數據轉換爲WGS84座標數據。
b.對本地WGS84座標數據進行Web橫軸墨卡託投影。
c.將投影后的數據疊加到高德或者谷歌中國地圖上。
d.進行線性偏移。
天地圖上不一樣省份使用的座標系可能不一樣,目前來看我經手過的浙江、四川均爲標準的國標2000座標系。可是有些地方爲當地座標系,還需測繪局提供保密插件進行處理。
國標2000座標系與WGS84座標系誤差不大,由於CGCS2000座標系與WGS84座標系的原點、尺度、定向及定向演變的定義都是相同的,參考橢球的參數略有不一樣而已。相同的座標點,在CGCS2000與WGS84下,經度是相同的,只在緯度上存有0.11mm上下的區別,能夠忽略掉。
a.將本地數據轉換爲WGS84或者國標2000座標系數據。
b.疊加到天地圖上。
-----歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/
若是您以爲本文確實幫助了您,能夠微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^