續前一篇,上一篇提到百度地圖糾偏的基本思路,經過經過一天的努力,實現了百度地圖坐標偏移參數的提取,步驟以及實現效果如下:
1、數據來源:四川省的省道矢量數據
2、提取坐標偏移參數的過程如下:
A、將四川省地圖范圍按一定的范圍划分成多個相同的網格
B、為網格准備糾偏數據:讀取四川省省道矢量數據,並將矢量數據分配到划分的網格
C、加載百度在線或者離線地圖,繪制矢量數據,使用頁面上的按鈕,將省道圖形移動到正確的位置,記錄偏移參數。
D、采用查表法對地圖進行“糾偏”:將需要添加到地圖上的坐標,采用查表法找到該坐標所在的區域,加上坐標偏移參數后,繪制到地圖上。
准備的糾偏數據:
本人較熟悉GIS基礎算法和常用地圖文件讀取,在此不詳細介紹生成過程。
“糾偏”頁面:
如上圖所示,輸入id點擊加載,在地圖上繪制線路,並通過上下左右幾個按鈕,對圖形就行移動,並記錄糾偏參數,糾偏后如下圖所示:
經過糾偏並記錄糾偏參數后,形成如下文件:
糾偏后的效果:
上面幾張圖,展示了不同地點糾偏后的效果圖,可以看出基本實現了坐標糾偏。
存在的主要問題:
工作量:目前我只做了四川省的糾偏參數,因為要一個個在頁面上移動數據並記錄糾偏參數,所以效率較低。大概獲取一個省的糾偏參數,需要大半天到1天時間。因為時間關系,暫時不做其他省市的糾偏參數提取。有興趣的朋友可以聯系索取其他省市的數據,我的QQ:8313632