2012年9月23日 星期日

GPS 中國地圖偏移量快速尋找方法

上一編GPS紀綠中國路線時偏移說到需要為路線紀錄做偏移修正, 但又如何得出偏移量呢?


尋找偏移量的方法:
1. 先在地圖裏找一個地點做參考點, 一般我會使用兩條主幹道 (e.g. S字的省道)的交匯點作準.
2. 在Google map的"Map View"裏, 用cursor指著交匯點中心, 右按滑鼠, 按"這裏有什麼?" 之後就會如下圖所示, 出現該地點的經緯道.
S358及錦江路交匯點的座標為22.799525, 113.801404
3. 在Google map的"Satellite View"裏, 用cursor指著同一位置 (注意, 位置是有少少不同的, 這就是為何使用幹道作參考點, 在Satellite View裏幹道較為明顯容易標示) 右按滑鼠, 按"這裏有什麼?"

衛星圖沒有任何街道標記, 唯有用地形及街道的形狀辨認出同一位置



把兩個數值算一算, 就可以得出了偏移量. 這次這個位置得出了-0.0029,0.0050 這個約數.


注意:
  1. 在此再說明一次, 地圖偏移這現象於不同地區不同省分是不同程度的. 這種"線性修正"只適合一小個區域, 太大片的區域會出現不同程度的偏差.
  2. Google map是指maps.google.com.hk, 請勿使用內地的ditu.google.com.hk. 內地版是已經修正的, 無法求出偏移量.

GPS紀綠中國路線時偏移

很多回內地騎單車的朋友, 也喜歡使用GPS logger把騎車行程紀綠下來. 一來很多騎行是別人帶隊, 自己回家後總希望把路線重溫一次, 也希望把路線分享給朋友, 讓朋友可以依路線再去玩.

GPS logger很容易買到, 亦有不同的硬件可以做到, 例如:
- Holux 245
- iPhone 2/3G/4GS+GPS紀綠行程軟件 (e.g. Endomondo)
- 大部份既Android電話+GPS紀綠行程軟件 (e.g. Everytrail, GPS Essentials)
- Garmin Edge 500 / 800

但不少內地騎行的朋友發現,紀錄後的路線古古怪怪的, 總是和地圖有些偏差:
Fig. 1 GPS紀綠路線與地圖偏移 (From Everytrail)

紅色線偏離了幹道, 非常不合理吧?

不同討論區對此現象有不同說法, 有人表示此乃中國對地圖進行了加密處理, 對不同地方的地圖與GPS座標故意做成偏移, 以達到軍事保密的目的........亦有人認為只是內地測量地圖的方法與美國等其它國家不同, 在座標轉換時出現了偏差.....

甚麼理由也好, 但需要想辦法修正. Holux 245附送的eztour軟件已經內置修正, 最簡單.
但就如我使用Motorola DEFY (Android 2.3.7 CM7) + GPS Essential就沒有那麼幸福了, 需要自己動手修正.

自己動手修正你需要:
1. gpsinfoshare GPS座標修正軟體 (到google找, 很容易找到)
2. GPS路線紀錄檔案 (我習慣使用GPX 1.1格式)
3. 偏移量 (廣東省用 緯-0.0029/經0.0046就滿足一般需要. 下一編文章會再談如何算出來)

1: gpsinfoshare的界面

2: gpsinfoshare支持的檔案格式, 揀一個

3: 載入GPX檔案(由你的GPS logger提供), 再選擇經緯度手動補償, 廣東省內跟上圖輸入已可以
 最後輸出檔案, 再匯入到一般地圖軟件或路線分享網站 (e.g. Google earth, Everytrail, 等等)就可以.

修正完成後:
Fig. 2 修正完成

注意, 跟據網上不同論壇綜合說法, 內地不同地方的偏移量是有不同的. 以上介紹的"線性修正" 只適用於較為小的區域 (e.g. 於某一省內). 如路線紀錄為穿洲過省, 很大可能無法做一個完美的修正.

Ref:
Garmin 糾偏地圖
http://bbs.dospy.com/thread-12401348-1-164-1.html

修正前:
http://www.everytrail.com/fullscreen.php?trip_id=1781023&code=75fee9cfabd654f0f4379375b1ba642e

修正後:
http://www.everytrail.com/fullscreen.php?trip_id=1684471&code=82eb82a8f6a2d577225acd5631b3c4e2