不同坐標系經緯度相互轉換


公司需要解析出任意采集到的地址在百度坐標系下的經緯度,原來調用百度地圖地理編碼API服務即可,但是一些國外的地址在百度地圖下得到的經緯度誤差很大,因此,
我使用到了google地圖api,但是隨之產生的問題是google地圖api得到的坐標基於wgs84坐標系,所以剩下的問題就是如何將基於wgs84坐標系的經緯度轉為百度坐標系
經緯度。這里發現一個不錯的網站,直接提供坐標轉換服務。

https://artoria2e5.github.io/PRCoords/demo

但是待轉換的數據量較大,如果每次手動轉化太慢太麻煩,如果爬蟲請求也比較慢,而且若萬一網站察覺到關閉服務也是不好。

其實這些坐標系無非是采用了不同的模型或測量參數,那么這個網站能給出結果無非是js執行了一些不同坐標系轉換計算工作,那么直接學習他的計算過程我就能模仿一份了。

查看調用過程很簡單,使用chrom瀏覽器調試工具即可。流程如下:

一,定位到"scre that!" 按鈕對應的click事件

 

二,進入該js代碼,發現調用了fill_output函數

 

 三,使用chrom搜索工具搜索fill_output關鍵詞,找到代碼位置

 

 四,找到關鍵部分,打上斷點

 

五,在線調試,找到關鍵js模塊,PRCoords.js模塊

接下來,我們只要用自己擅長的語言替換js代碼就能實現一個不同坐標系經緯度轉換工作了。

我使用的是go語言完成的,這種坐標系轉換很適合做web API,因此我提供了一個web api服務,目前還沒有實際部署,代碼在我github上:https://github.com/Tarantiner/coord

運行很簡單,使用go編譯運行即可,效果如圖





免責聲明!

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



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