0

緯度、経度、およびプラス/マイナスの値 (Km) を取り、最小および最大の緯度と経度を返すことができるコード (できれば PHP) を探していました。

それが何をするのかを単純な言葉で説明し、地球の「膨張した」曲率を考慮に入れているものを見つけることができないようです。

誰でも助けることができますか?

4

3 に答える 3

1

緯度/経度は角度量であるのに対し、半径距離は互換性のない線形量であるため、これは注意が必要です。

これを解決するいくつかの方法を、精度の低い順に、コーディングの単純さの高い順に示します。

  1. 投影ライブラリを使用して、最初に投影座標 (x,y) で計算を行い、次に (lat,lon) に再投影します。評判の高いproj4 ライブラリの php ポートがあり、PEARにもプロジェクション ライブラリがあるようです。
  2. WGS84 パラメーターを使用して楕円体で地球を近似します。この質問の受け入れられた回答を参照してください。
  3. 地球を球で近似し、球面三角法を使用します。この質問の受け入れられた回答を参照してください。
  4. 関心のある分野については、おおよその変換係数の単純な比率を使用してください。この質問の受け入れられた回答を参照してください。

いいえをお勧めします。1.

于 2012-11-13T07:58:50.303 に答える
0

純粋な PHP でこれを行う理由がわかりませんが、純粋な PHP 実装よりもパフォーマンスが大幅に向上する地理空間インデックスをサポートしますMySQLMongoDB

MongoDBデフォルトでインストールされ、簡単に検索できるため、私は個人的にこのバージョンを好みます

  • 近く
  • 半径
  • ポリゴン
  • 距離

参照してください

于 2012-11-12T18:03:54.683 に答える
0

作業を簡単にするために、MongoDB のシステムに切り替え、現在は MongoHQ の REST API を使用して geo API でデータにアクセスしています。

于 2012-11-13T14:24:21.553 に答える