Google 全國(guó) 地圖 糾偏數(shù)據(jù) 偏移數(shù)據(jù) 火星坐標(biāo)修正 方案2010-04-09 10:40:05| 分類: GPS相關(guān) | 標(biāo)簽: |字號(hào)大中小 訂閱
中國(guó)地圖和衛(wèi)星圖都存則偏移量,,這個(gè)是由中國(guó)規(guī)劃局,確定的,,一個(gè)偏移算法,,實(shí)際上是沒(méi)有什么特殊規(guī)律的,,他的生成算法是有規(guī)律,不過(guò)這個(gè)規(guī)律你我都很難拿到,,那我們?cè)趺唇鉀Q這個(gè)偏差呢,,畢竟做地圖開(kāi)發(fā)的都存在衛(wèi)星圖和地圖的切換,誰(shuí)不想讓切換以后的地圖對(duì)上呢,! 后來(lái)我發(fā)現(xiàn)google的地圖服務(wù),,ditu.gogle開(kāi)始的都沒(méi)有偏差,maps.google開(kāi)頭的服務(wù)就有偏差,,我就開(kāi)始查找google的取偏移量算法,,事前我還是圖破解google手機(jī)版本的數(shù)據(jù),沒(méi)有成功,,估計(jì)是使用了自己的壓縮或加密算法,,最后也沒(méi)有找到規(guī)律,后來(lái)才嘗試破解web版本的 不過(guò)web版本的接口我對(duì)于js不是特別熟悉,,所以本次破解放棄了分析源代碼的步驟,,而是直接采用排除法 那就是把地圖部分訪問(wèn)的全部地址,一個(gè)接一個(gè)封殺掉,,查找那個(gè)氣偏移做用的網(wǎng)址 http://ditu.google.cn/maps/vp?spn=0.0,0.0&z=18&vp=39.111195,117.148067 最后找到了就是這個(gè),,記住每次測(cè)試用清理瀏覽器緩存哦,使用fixfox的fildder和adblock就夠了 然后就是 分析每次返回內(nèi)容的規(guī)律,,黃天不負(fù)有心人啊,,我總算是搞定了,下面是我整理的接口 Google 中國(guó)地圖偏移接口
1. 接口地址:http://ditu.google.cn/maps/vp?spn=0.0,0.0&z=18&vp=39.111195,117.148067
(注:.cn和.com都可以,,我用國(guó)內(nèi)服務(wù)器就會(huì)選擇.cn用美國(guó)服務(wù)器就會(huì)選擇.com) 2. 返回內(nèi)容中的有效部分: 3. (39.111195, 117.148067, 18, [9, -2, 18, -4, 37, -8, 74, -16, 149, -33, 298, -67, 596, -135, 1193, -270]) 4. Spn參數(shù)暫時(shí)未知實(shí)際意義,,但是需要上發(fā)spn參數(shù),任意兩個(gè)小數(shù)用逗號(hào)分開(kāi) Vp參數(shù)緯經(jīng)度值,,用逗號(hào)分隔,,z參數(shù)為地圖縮放級(jí)別,無(wú)實(shí)際意義 5. 取回的部分中有效數(shù)字為[9, -2, 18, -4, 37, -8, 74, -16, 149, -33, 298, -67, 596, -134, 1192, -268]這個(gè)數(shù)組總共有8組數(shù)字,,每?jī)蓚€(gè)為一組,,分為別從11級(jí)到18級(jí)的地圖和衛(wèi)星圖的偏移像素?cái)?shù)量,我們前一組數(shù)字精確的等于后一組數(shù)字除二,,我們?yōu)榱说玫阶罹_的偏移,,故選擇第18級(jí)的偏移量1193,-270,,1193為x方向上精度的偏移像素,,-270為y方向上維度偏移像素 6. 經(jīng)緯度的偏移轉(zhuǎn)換我們需要江經(jīng)緯度39.111195,117.148067轉(zhuǎn)化為18級(jí)像素值25620917 和 55392414,然后分別加上偏移量-270,1193,然后再轉(zhuǎn)化為經(jīng)緯度39.11231854918217 和117.15446412563324,,即位偏移后的經(jīng)緯度
數(shù)據(jù)經(jīng)度 每0.01個(gè)經(jīng)緯度一個(gè)偏移量 總共數(shù)據(jù)量(9557005)條 數(shù)據(jù)格式CSV文件 每一個(gè)經(jīng)度一個(gè)文件 從73-134總共62個(gè)文件 總大小480MB 數(shù)據(jù)介紹 依次為 經(jīng)度 緯度 此位置偏移像素X,Y放心(google地圖的第18級(jí)偏移量,,沒(méi)向上一級(jí)除2) 此位置經(jīng)緯度偏移 保留6位小數(shù) 定位用足夠了 用此方法全國(guó)可以定位精確到5米內(nèi),大城市基本無(wú)偏移 |
|