對互聯網中常見地圖的座標系探討

文章版權由做者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/算法

1.背景

目前項目中使用百度地圖、高德地圖、谷歌中國地圖、天地圖的需求愈來愈多,這裏我跟你們一塊兒對各地圖使用的座標系作一個簡單的探討。微信

2.百度地圖——BD-09

百度地圖是在GCJ-02座標系上,又本身對座標加密了一次,它官方文檔裏說叫BD-09,目前從GPS座標轉到百度座標有接口提供,反過來不提供。函數

固然,目前反轉方法在咱們實際項目中已經解決,精確度能夠達到0.5M之內。工具

2.1百度瓦片獲取思路

百度地圖的投影仍是標準的Web橫軸墨卡託投影,因此其切圖的座標原點、範圍都是能夠計算出來的。瓦片大小、基本URL也均可以經過監聽百度的URL獲取。須要注意的是,百度地圖的瓦片行列號和負載地址在不一樣級別上都會有所不一樣,其變化規則以下:測試

瓦片的行列號是每增長一個級別便會進行一個規則的偏移,其偏移算法以下:加密

                                                 

2.2本地座標系圖層與百度底圖疊加的探討

2.2.1 強行對瓦片數據進行糾偏

在最新的arcBruTile0.7中已經支持對百度地圖的添加。能夠加載了百度瓦片後,經過尋找百度地圖上與本地地圖上的控制點對進行強行糾偏。插件

缺點是柵格圖像糾偏形變是很難避免的,並且工做量也大,而且很難自動化。blog

2.2.2 將矢量數據轉換爲百度座標系——以天津90座標系爲例

a.獲取WGS84到天津90座標系上的7參數。接口

b.經過創建控制點庫(已研發),利用工具(已研發)將天津90座標系數據自動轉換爲WGS84座標系數據。文檔

c.再創建WGS84與百度座標系之間的控制點庫(已研發),將WGS84數據再轉換爲百度座標系數據。

d.疊加後測試。

2.2.3結果展現

                                            

 

3.高德地圖和谷歌中國地圖——GCJ-02

3.1地圖座標系的探討

高德地圖和谷歌地圖均是使用的GCJ-02座標系,如下爲測試例子:

 

具體來講GCJ-02座標系與WGS84座標系偏移通常在100M上下,這種處理技術,是經過一種方法將一張地圖修改成另一張地圖,修改完成以後,地圖上的點,會發生大到幾百米,小到幾十米的偏移。若是你用幾何上座標轉換的方法想復原原地圖,難度很大,由於處理技術的處理映射函數是非線性的。網上有不少兩個座標之間的轉換方法,可是精確度通常般,在10M左右。

在國內,GCJ-02帶來的偏移最大有700米左右,偏移的絕對值能夠參考下圖(最紅處接近700 m,最藍處大約 20 米):

 

3.2本地座標系數據疊加到GCJ-02座標系上

3.2.1轉換流程

因爲本地數據並不會是大範圍的,因此其局部偏移上能夠經過線性方法暫時逼近。

a.本地座標數據轉換爲WGS84座標數據。

b.對本地WGS84座標數據進行Web橫軸墨卡託投影。

c.將投影后的數據疊加到高德或者谷歌中國地圖上。

d.進行線性偏移。

3.2.2結果展現

 

4.天地圖——CGCS2000

4.1座標系研究

天地圖上不一樣省份使用的座標系可能不一樣,目前來看我經手過的浙江、四川均爲標準的國標2000座標系。可是有些地方爲當地座標系,還需測繪局提供保密插件進行處理。

國標2000座標系與WGS84座標系誤差不大,由於CGCS2000座標系與WGS84座標系的原點、尺度、定向及定向演變的定義都是相同的,參考橢球的參數略有不一樣而已。相同的座標點,在CGCS2000與WGS84下,經度是相同的,只在緯度上存有0.11mm上下的區別,能夠忽略掉。

4.2 本地座標系矢量數據疊加到天地圖上

a.將本地數據轉換爲WGS84或者國標2000座標系數據。

b.疊加到天地圖上。

4.3結果展現

 

                                                                  -----歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/

                                                                      若是您以爲本文確實幫助了您,能夠微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^

                                      

相關文章
相關標籤/搜索