对互联网中常见地图的坐标系探讨
文章版權(quán)由作者李曉暉和博客園共有,若轉(zhuǎn)載請于明顯處標(biāo)明出處:http://www.cnblogs.com/naaoveGIS/。
1.背景
目前項目中使用百度地圖、高德地圖、谷歌中國地圖、天地圖的需求越來越多,這里我跟大家一起對各地圖使用的坐標(biāo)系做一個簡單的探討。
2.百度地圖——BD-09
百度地圖是在GCJ-02坐標(biāo)系上,又自己對坐標(biāo)加密了一次,它官方文檔里說叫BD-09,目前從GPS坐標(biāo)轉(zhuǎn)到百度坐標(biāo)有接口提供,反過來不提供。
當(dāng)然,目前反轉(zhuǎn)方法在我們實際項目中已經(jīng)解決,精確度可以達(dá)到0.5M以內(nèi)。
2.1百度瓦片獲取思路
百度地圖的投影還是標(biāo)準(zhǔn)的Web橫軸墨卡托投影,所以其切圖的坐標(biāo)原點、范圍都是可以計算出來的。瓦片大小、基本URL也都可以通過監(jiān)聽百度的URL獲取。需要注意的是,百度地圖的瓦片行列號和負(fù)載地址在不同級別上都會有所不同,其變化規(guī)則如下:
瓦片的行列號是每增加一個級別便會進(jìn)行一個規(guī)則的偏移,其偏移算法如下:
? ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? ? ? ? ?
2.2本地坐標(biāo)系圖層與百度底圖疊加的探討
2.2.1 強行對瓦片數(shù)據(jù)進(jìn)行糾偏
在最新的arcBruTile0.7中已經(jīng)支持對百度地圖的添加。可以加載了百度瓦片后,通過尋找百度地圖上與本地地圖上的控制點對進(jìn)行強行糾偏。
缺點是柵格圖像糾偏形變是很難避免的,而且工作量也大,并且很難自動化。
2.2.2 將矢量數(shù)據(jù)轉(zhuǎn)換為百度坐標(biāo)系——以天津90坐標(biāo)系為例
a.獲取WGS84到天津90坐標(biāo)系上的7參數(shù)。
b.通過建立控制點庫(已研發(fā)),利用工具(已研發(fā))將天津90坐標(biāo)系數(shù)據(jù)自動轉(zhuǎn)換為WGS84坐標(biāo)系數(shù)據(jù)。
c.再建立WGS84與百度坐標(biāo)系之間的控制點庫(已研發(fā)),將WGS84數(shù)據(jù)再轉(zhuǎn)換為百度坐標(biāo)系數(shù)據(jù)。
d.疊加后測試。
2.2.3結(jié)果展示
????????????????????????????????????????????
?
3.高德地圖和谷歌中國地圖——GCJ-02
3.1地圖坐標(biāo)系的探討
高德地圖和谷歌地圖均是使用的GCJ-02坐標(biāo)系,以下為測試?yán)?#xff1a;
?
具體來說GCJ-02坐標(biāo)系與WGS84坐標(biāo)系偏移一般在100M上下,這種處理技術(shù),是通過一種方法將一張地圖修改為另外一張地圖,修改完成之后,地圖上的點,會發(fā)生大到幾百米,小到幾十米的偏移。如果你用幾何上坐標(biāo)轉(zhuǎn)換的方法想復(fù)原原地圖,難度很大,因為處理技術(shù)的處理映射函數(shù)是非線性的。網(wǎng)上有很多兩個坐標(biāo)之間的轉(zhuǎn)換方法,但是精確度一般般,在10M左右。
在國內(nèi),GCJ-02帶來的偏移最大有700米左右,偏移的絕對值可以參考下圖(最紅處接近700 m,最藍(lán)處大約 20 米):
?
3.2本地坐標(biāo)系數(shù)據(jù)疊加到GCJ-02坐標(biāo)系上
3.2.1轉(zhuǎn)換流程
由于本地數(shù)據(jù)并不會是大范圍的,所以其局部偏移上可以通過線性方法暫時逼近。
a.本地坐標(biāo)數(shù)據(jù)轉(zhuǎn)換為WGS84坐標(biāo)數(shù)據(jù)。
b.對本地WGS84坐標(biāo)數(shù)據(jù)進(jìn)行Web橫軸墨卡托投影。
c.將投影后的數(shù)據(jù)疊加到高德或者谷歌中國地圖上。
d.進(jìn)行線性偏移。
3.2.2結(jié)果展示
?
4.天地圖——CGCS2000
4.1坐標(biāo)系研究
天地圖上不同省份使用的坐標(biāo)系可能不同,目前來看我經(jīng)手過的浙江、四川均為標(biāo)準(zhǔn)的國標(biāo)2000坐標(biāo)系。但是有些地方為當(dāng)?shù)刈鴺?biāo)系,還需測繪局提供保密插件進(jìn)行處理。
國標(biāo)2000坐標(biāo)系與WGS84坐標(biāo)系偏差不大,因為CGCS2000坐標(biāo)系與WGS84坐標(biāo)系的原點、尺度、定向及定向演變的定義都是相同的,參考橢球的參數(shù)略有不同而已。相同的坐標(biāo)點,在CGCS2000與WGS84下,經(jīng)度是相同的,只在緯度上存有0.11mm上下的區(qū)別,可以忽略掉。
4.2 本地坐標(biāo)系矢量數(shù)據(jù)疊加到天地圖上
a.將本地數(shù)據(jù)轉(zhuǎn)換為WGS84或者國標(biāo)2000坐標(biāo)系數(shù)據(jù)。
b.疊加到天地圖上。
4.3結(jié)果展示
?
???????????????????????????????????????????????????????????????? ?-----歡迎轉(zhuǎn)載,但保留版權(quán),請于明顯處標(biāo)明出處:http://www.cnblogs.com/naaoveGIS/
????????????????????????????????????????????????????????????????????? 如果您覺得本文確實幫助了您,可以微信掃一掃,進(jìn)行小額的打賞和鼓勵,謝謝 ^_^
?
總結(jié)
以上是生活随笔為你收集整理的对互联网中常见地图的坐标系探讨的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 支付宝支付代码
- 下一篇: verilog扰码器设计及仿真