自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iOS定位與坐標(biāo)系算法

移動(dòng)開發(fā) iOS 算法
在開始這個(gè)題目之前,先給大家再次掃掃盲,掃的不是坐標(biāo)系統(tǒng)的盲,而是我們國(guó)家 所使用的坐標(biāo)系統(tǒng)。大家都知道,美國(guó)GPS使用的是WGS84的坐標(biāo)系統(tǒng),以經(jīng)緯度的形式來(lái)表示地球平面上的某一個(gè)位置,這應(yīng)該是國(guó)際共識(shí)。但在我國(guó),出 于國(guó)家安全考慮,國(guó)內(nèi)所有導(dǎo)航電子地圖必須使用國(guó)家測(cè)繪局制定的加密坐標(biāo)系統(tǒng),即將一個(gè)真實(shí)的經(jīng)緯度坐標(biāo)加密成一個(gè)不正確的經(jīng)緯度坐標(biāo),我們?cè)跇I(yè)內(nèi)將前者 稱之為地球坐標(biāo),后者稱之為火星坐標(biāo),具體的說明可以參看百度百科中關(guān)于火星坐標(biāo)系統(tǒng)的解釋。

在開始這個(gè)題目之前,先給大家再次掃掃盲,掃的不是坐標(biāo)系統(tǒng)的盲,而是我們國(guó)家 所使用的坐標(biāo)系統(tǒng)。好的,下面開始介紹iOS定位與坐標(biāo)算法。

大家都知道,美國(guó)GPS使用的是WGS84的坐標(biāo)系統(tǒng),以經(jīng)緯度的形式來(lái)表示地球平面上的某一個(gè)位置,這應(yīng)該是國(guó)際共識(shí)。但在我國(guó),出 于國(guó)家安全考慮,國(guó)內(nèi)所有導(dǎo)航電子地圖必須使用國(guó)家測(cè)繪局制定的加密坐標(biāo)系統(tǒng),即將一個(gè)真實(shí)的經(jīng)緯度坐標(biāo)加密成一個(gè)不正確的經(jīng)緯度坐標(biāo),我們?cè)跇I(yè)內(nèi)將前者 稱之為地球坐標(biāo),后者稱之為火星坐標(biāo),具體的說明可以參看百度百科中關(guān)于火星坐標(biāo)系統(tǒng)的解釋。

1.國(guó)內(nèi)各地圖API坐標(biāo)系統(tǒng)比較

參考http://rovertang.com/labs/map-compare/

結(jié)論是:

API 坐標(biāo)系
百度地圖API 百度坐標(biāo)
騰訊搜搜地圖API 火星坐標(biāo)
搜狐搜狗地圖API 搜狗坐標(biāo)*
阿里云地圖API 火星坐標(biāo)
圖吧MapBar地圖API 圖吧坐標(biāo)
高德MapABC地圖API 火星坐標(biāo)
靈圖51ditu地圖API 火星坐標(biāo)

2.下面是百度官方對(duì)百度坐標(biāo)為何有偏移的解釋

  國(guó)際經(jīng)緯度坐標(biāo)標(biāo)準(zhǔn)為WGS-84,國(guó)內(nèi)必須至少使用國(guó)測(cè)局制定的GCJ-02,對(duì)地理位置進(jìn)行首次加密。百度坐標(biāo)在此基礎(chǔ)上,進(jìn)行了BD-09二次加密措施,更加保護(hù)了個(gè)人隱私。百度對(duì)外接口的坐標(biāo)系并不是GPS采集的真實(shí)經(jīng)緯度,需要通過坐標(biāo)轉(zhuǎn)換接口進(jìn)行轉(zhuǎn)換。

3.火星坐標(biāo)系 (GCJ-02) 與百度坐標(biāo)系 (BD-09) 的轉(zhuǎn)換算法

GCJ-02(火星坐標(biāo)) 和 BD-09 (百度坐標(biāo))

算法代碼如下,其中 bd_encrypt 將 GCJ-02 坐標(biāo)轉(zhuǎn)換成 BD-09 坐標(biāo), bd_decrypt 反之。

  1. void bd_encrypt(double gg_lat, double gg_lon, double &bd_lat, double &bd_lon) 
  2.  
  3.     double x = gg_lon, y = gg_lat;  
  4.     double z = sqrt(x * x + y * y) + 0.00002 * sin(y * x_pi);  
  5.     double theta = atan2(y, x) + 0.000003 * cos(x * x_pi);  
  6.     bd_lon = z * cos(theta) + 0.0065;  
  7.     bd_lat = z * sin(theta) + 0.006;  
  8. void bd_decrypt(double bd_lat, double bd_lon, double &gg_lat, double &gg_lon) 
  9.     double x = bd_lon - 0.0065, y = bd_lat - 0.006; 
  10.     double z = sqrt(x * x + y * y) - 0.00002 * sin(y * x_pi); 
  11.     double theta = atan2(y, x) - 0.000003 * cos(x * x_pi); 
  12.     gg_lon = z * cos(theta); 
  13.     gg_lat = z * sin(theta); 

好,總結(jié)到這,希望讓大家對(duì)iOS定位與坐標(biāo)算法有更深的理解,也希望對(duì)大家有所幫助。

責(zé)任編輯:閆佳明 來(lái)源: cnblogs
相關(guān)推薦

2023-03-29 07:31:09

WebGL坐標(biāo)系

2021-10-03 15:08:32

Android

2011-08-08 17:17:55

Cocos2D 坐標(biāo) OpenglES

2023-01-13 11:35:09

自動(dòng)駕駛

2013-05-22 14:38:44

iOS開發(fā)Cocos2d-x坐標(biāo)系統(tǒng)

2023-04-24 09:52:12

2023-07-07 13:56:01

圖形編輯器畫布縮放

2013-05-22 15:49:46

2023-01-17 09:16:57

視口坐標(biāo)圖形編輯器

2010-01-14 17:27:17

VB.NET坐標(biāo)系統(tǒng)

2023-10-12 09:49:00

自動(dòng)駕駛技術(shù)

2013-07-24 19:04:52

iOS開發(fā)學(xué)習(xí)CGRectInset

2011-07-27 14:48:21

iPhone Cocos2D 坐標(biāo)

2009-08-17 08:07:00

c#畫圖模式

2025-01-06 08:20:00

雷達(dá)AI生成

2011-06-24 17:38:09

Qt 坐標(biāo) 事件

2011-08-09 16:25:16

Cocos2d視圖坐標(biāo)

2014-07-17 14:51:52

2022-01-10 09:00:00

人工智能數(shù)據(jù)機(jī)器

2012-02-01 09:33:36

百度地圖API
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)