openlayers應用“三”:百度地圖糾偏


前兩篇文章介紹了openlayers3加載百度在線和離線瓦片地圖,頁面上能夠正常顯示。地圖加載后在地圖上顯示一條GPS軌跡,發現離實際位置相差太遠,如下圖所示:

 

軌跡形狀和實際形狀相同,但是位移太遠,采用坐標加偏移的方法(在原有經緯度坐標基礎上進行數值增減),得到和實際軌跡完全重新的新的軌跡,如下圖所示:

 

在地圖上添加另外一條車輛軌跡,發現使用相同的坐標偏移量后,第二條軌跡又存在偏差,第二條軌跡未做偏移前如圖所示:

 

經過坐標偏移后如下圖:

 

可以看到地圖上兩條軌跡,使用相同的坐標偏移量,不能進行“糾偏”,繼續調整第二條軌跡的坐標偏移量,使第二條軌跡也和實際位置重合,第二條軌跡“糾偏”后如下圖所示:

 

上述“糾偏”過程可以看出,百度地圖對數據進行了二次偏移,並且偏移量不是線性的,但是一定區域內,坐標偏移量是相同的,上述兩條車輛軌跡的區域,采用相同的偏移量,可以在地圖上和實際道路完全重合。

百度坐標“糾偏”的基本思路:將一定范圍的地圖划分為多個矩形區域,在這些區域添加一些參照坐標(如該矩形區域內的高速,國道等),將這些坐標繪制到頁面上,將圖形移動到跟設計道路或者參照目標完全重合的位置,得到該矩形區域的坐標偏移量。在地圖上繪制圖元對象時,得出每個坐標點所在區域的偏移量,對坐標點進行偏移,從而實現百度地圖“糾偏”。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM