iOS の位置決めと座標系アルゴリズム

iOS の位置決めと座標系アルゴリズム

この話題を始める前に、もう一度皆さんの無知を解明させてください。私が解明したいのは、座標系についての無知ではなく、我が国で使用されている座標系についての無知です。さて、iOS の位置決めと座標アルゴリズムの紹介を始めましょう。

ご存知のとおり、米国の GPS は WGS84 座標系を使用しており、これは経度と緯度を使用して地球平面上の特定の位置を表します。これは国際的なコンセンサスであるべきです。しかし、我が国では、国家安全保障上の理由から、国内のすべてのナビゲーション電子地図は国家測量地図地理情報局が開発した暗号化座標系、つまり実際の経度と緯度座標を暗号化して誤った経度と緯度座標にしなければなりません。業界では前者を地球座標、後者を火星座標と呼んでいます。具体的な手順については、百度百科事典の火星座標系の説明を参照してください。

1. 国内の各種地図APIの座標系の比較

参照 http://rovertang.com/labs/map-compare/

結論:

翻訳座標系
百度マップAPI百度座標
テンセント ソソマップ API火星の座標
捜狐捜狗マップAPIソゴウ座標*
アリババクラウドマップAPI火星の座標
MapBar マップ API画像バー座標
AmapABC マップ API火星の座標
霊徒51dituマップAPI火星の座標

2. 以下は、Baidu座標がオフセットされる理由についてのBaiduの公式説明である。

国際的な緯度経度座標規格はWGS-84です。国内では、少なくとも国家測量地図局が開発したGCJ-02を使用して初めて地理的位置を暗号化する必要があります。これを踏まえ、Baidu Coordinates は個人のプライバシーをさらに保護するために BD-09 二次暗号化対策を実施しました。 Baidu の外部インターフェースの座標系は、GPS によって収集された実際の経度と緯度ではないため、座標変換インターフェースを介して変換する必要があります。

3. 火星座標系(GCJ-02)と百度座標系(BD-09)間の変換アルゴリズム

GCJ-02(火星座標)とBD-09(百度座標)

アルゴリズム コードは次のとおりです。bd_encrypt は GCJ-02 座標を BD-09 座標に変換し、bd_decrypt はその逆を行います。

  1. void bd_encrypt(ダブルgg_lat、ダブルgg_lon、ダブル&bd_lat、ダブル&bd_lon)
  2. {  
  3. ダブルx = gg_lon、y = gg_lat;  
  4. ダブルz = sqrt(x * x + y * y) + 0.00002 * sin(y * x_pi);  
  5. ダブルシータ = 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. }
  9. void bd_decrypt( double bd_lat、 double bd_lon、 double &gg_lat、 double &gg_lon)
  10. {
  11. ダブルx = bd_lon - 0.0065、y = bd_lat - 0.006;
  12. ダブルz = sqrt(x * x + y * y) - 0.00002 * sin(y * x_pi);
  13. ダブルシータ = atan2(y, x) - 0.000003 * cos(x * x_pi);
  14. gg_lon = z * cos(theta);
  15. gg_lat = z * sin(theta);
  16. }

まとめると、iOS の位置決めと座標アルゴリズムについてより深く理解していただき、またそれがお役に立てば幸いです。

<<:  ビッグデータと人工知能のために生まれた新しい職業:アルゴリズム専門家

>>:  アルゴリズム学者: 複雑なデータ世界のブラックボックスを開く人々

ブログ    

推薦する

...

...

...

TensorFlow レビュー: 最高のディープラーニング ライブラリ、そして今も進化中

[51CTO.com クイック翻訳] バージョン r1.5 のリリースにより、Google のオープ...

よりスマートに:人工知能とエネルギー産業の革命

人工知能は私たちの生活、仕事、遊び方に革命をもたらそうとしているが、Amazon の Alexa や...

AIのエネルギー消費は高すぎるため、マイクロソフトはデータセンターの電力供給に原子力発電の利用を検討している

9月26日のニュース: ここ数か月、マイクロソフトは人工知能 (AI) 事業の開発を加速させています...

...

[ディープラーニングシリーズ] PaddlePaddle と Tensorflow を使用したクラシック CNN ネットワーク GoogLeNet の実装

以前、LeNet、AlexNet、Vgg についてお話しましたが、今週は GoogLeNet につい...

自動運転システムのテストに関する簡単な説明

1. 自動運転システムレベルテストの基本理論1.1 自動運転テストシナリオの構成1.1.1 フレーム...

科学者たちは、人間の肌の感触を模倣し、さらには触覚の方向を感知して予測できる電子毛髪を備えたロボットを開発している。

ビッグデータダイジェスト制作著者: カレブ皆さんはたくさんのロボットを見たことがあると思いますが、こ...

2022年秋の採用戦争:アルゴリズム職は混み合い、Java開発も後退を余儀なくされる

[[411043]]コンピュータサイエンスの卒業生にとって、アルゴリズム関連の職は基本的に「高給」と...

...

OpenAIは、かつてAGIロボットの開発に取り組んだロボット工学チームを解散。創設者:最良の決断

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

ディープラーニングモデルの圧縮と加速モデル推論

導入機械学習モデルを本番環境にデプロイする場合、モデルのプロトタイプ作成フェーズでは考慮されていなか...