摘要:做過地圖相關開發的同學肯定會遇到這樣一個問題同樣的經緯度坐標,在百度地圖和高德地圖上位置不一樣。解決方案百度地圖以及高德地圖都提供了一些方法來轉換不同坐標系下的坐標,但是它們都需要進行網絡請求,性能很差。
做過地圖相關開發的同學肯定會遇到這樣一個問題:同樣的經緯度坐標,在百度地圖和高德地圖上位置不一樣。
我們通常用經緯度來表示一個地理位置,但是由于一些原因,我們從不同渠道得到的經緯度信息可能并不是在同一個坐標系下。
高德地圖、騰訊地圖以及谷歌中國區地圖使用的是GCJ-02坐標系
百度地圖使用的是BD-09坐標系
底層接口(HTML5 Geolocation或ios、安卓API)通過GPS設備獲取的坐標使用的是WGS-84坐標系
不同的坐標系之間可能有幾十到幾百米的偏移,所以在開發基于地圖的產品,或者做地理數據可視化時,我們需要修正不同坐標系之間的偏差。
WGS-84 - 世界大地測量系統WGS-84(World Geodetic System, WGS)是使用最廣泛的坐標系,也是世界通用的坐標系,GPS設備得到的經緯度就是在WGS84坐標系下的經緯度。通常通過底層接口得到的定位信息都是WGS84坐標系。
GCJ-02 - 國測局坐標GCJ-02(G-Guojia國家,C-Cehui測繪,J-Ju局),又被稱為火星坐標系,是一種基于WGS-84制定的大地測量系統,由中國國測局制定。此坐標系所采用的混淆算法會在經緯度中加入隨機的偏移。
國家規定,中國大陸所有公開地理數據都需要至少用GCJ-02進行加密,也就是說我們從國內公司的產品中得到的數據,一定是經過了加密的。絕大部分國內互聯網地圖提供商都是使用GCJ-02坐標系,包括高德地圖,谷歌地圖中國區等。
導航電子地圖在公開出版、銷售、傳播、展示和使用前,必須進行空間位置技術處理。—?GB 20263―2006《導航電子地圖安全處理技術基本要求》,4.1BD-09 - 百度坐標系
BD-09(Baidu, BD)是百度地圖使用的地理坐標系,其在GCJ-02上多增加了一次變換,用來保護用戶隱私。從百度產品中得到的坐標都是BD-09坐標系。
解決方案百度地圖以及高德地圖都提供了一些方法來轉換不同坐標系下的坐標,但是它們都需要進行網絡請求,性能很差。
在春節假期時,我做了一個庫gcoord來做這些事。
gcoord主要解決了兩個問題
能將坐標在不同坐標系下相互轉換
能夠處理GeoJSON
GeoJSON是地理行業一種通用的數據格式,它本質上就是JSON,不過對字段有一些約定。
gcoord使用起來非常簡單
例如從手機的GPS得到一個經緯度坐標,需要將其展示在百度地圖上,則可以通過gcoord將當前坐標從WGS-84坐標系轉換為BD-09坐標系
var result = gcoord.transform( [ 116.403988, 39.914266 ], // 經緯度坐標 gcoord.WGS84, // 當前坐標系 gcoord.BD09 // 目標坐標系 ); console.log( result ); // [ 116.41661560068297, 39.92196580126834 ]
詳細的使用方式請查看gcoord的文檔
歡迎大家star
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/110122.html
摘要:實際中我們可能會用到不同的地圖,那么就對應到不同坐標系的轉換,比如說,你有一份的數據服務,你要展現在百度或者高德地圖上,這時候你就需要轉換了。 地圖坐標轉換 LBS,基于位置的服務(Location Based Service),近年來已經無處不在,尤其是我們前端,相信或多或少都有接觸一些地圖API服務,比如高德、百度啊、谷歌啊~但是用的時候可能看到下面這些字眼:比如BD09、火星坐標...
摘要:高德和在國內都是使用坐標系或在此基礎上面加密為直接的坐標系,可以說,是國內最廣泛使用的坐標系百度坐標系,百度坐標系是在坐標系的基礎上再次加密偏移后形成的坐標系,只適用于百度地圖。 概述 一:在進行地圖開發過程中,我們一般能接觸到以下三種類型的地圖坐標系: 1.WGS-84原始坐標系,一般用國際GPS紀錄儀記錄下來的經緯度,通過GPS定位拿到的原始經緯度,Google和高德地圖定位的的經...
眾所周知,Python的一個使用場景還是比較多的,在工作當中,也會涉及到多方面的一些事情。那么,今天小編寫這篇文章的一個主要目的,給大家來介紹關于如何用Python完成百度與搞得地圖轉換,下面就給大家詳細介紹下。 一、地理編碼與逆編碼 地理編碼與逆編碼表示的是地名地址與地理坐標(經緯度)互相轉換的過程。其中,將地址信息映射為地理坐標的過程稱之為地理編碼;將地理坐標轉換為地址信息的過程稱之為...
摘要:前提了解坐標系分類經緯度美國,國際通用,如谷歌國外地圖地圖火星系國測局制定的標準,國內地圖必須至少使用此對位置進行首次加密,高德地圖騰訊搜搜地圖阿里云地圖靈圖地圖谷歌中國地圖百度在標準基礎上進行二次加密,百度地圖這兩天一直在研究經緯度 前提了解: 坐標系分類(經緯度): WGS84 美國GPS,國際通用,如谷歌國外地圖、osm地圖 火星系GCJ-02 國測局制定的標準,國內地圖必須至少...
摘要:轉換的結果和百度提供的接口精確到小數點后位請放心使用衛星橢球坐標投影到平面地圖坐標系的投影因子。 WGS-84:是國際標準,GPS坐標(Google Earth使用、或者GPS模塊) GCJ-02:中國坐標偏移標準,Google Map、高德、騰訊使用 BD-09:百度坐標偏移標準,Baidu Map使用 WGS-84 to GCJ-02 GPS.gcj_encrypt(); GC...
閱讀 687·2021-11-18 10:07
閱讀 2878·2021-09-22 16:04
閱讀 873·2021-08-16 10:50
閱讀 3326·2019-08-30 15:56
閱讀 1784·2019-08-29 13:22
閱讀 2647·2019-08-26 17:15
閱讀 1228·2019-08-26 10:57
閱讀 1103·2019-08-23 15:23