2

私はすべての住所を持つ興味のあるポイントのデータベースを持っています。

特定の位置から近くのすべてのPOIを取得するためのメソッド/名前/呼び出しが何であるかを知りたいです。

少なくともすべての住所を LAT / LON 座標に変換する必要があることは理解していますが、私の質問は次のとおりです。

特定の LAT / LONG に対して、データベース/配列からどのような POI が距離によって近くにあるかを取得するにはどうすればよいですか。たとえば、次のようになります。

ここにいます 0,0半径2 km 以内の最寄りの POI は次のとおりです。

  • POI A (1.1 Km)
  • POI C (1.3 Km)
  • POI F (1.9 Km)

欲しいものを手に入れるために何を調べる必要があるのか​​ わかりません:-(

どんな助けでも大歓迎です。 ありがとうございました

4

1 に答える 1

2

特定の位置から近くのすべての POI を取得するためのメソッド/名前/呼び出しが何であるかを知りたいです。

2 つの緯度/経度座標間の大圏距離の計算は、 harsine 式を使用して簡単に計算できます。さらに読み、Chris Veness による緯度/経度ポイント間の距離、方位などの計算で実装を確認することをお勧めします。

与えられた LAT / LONG について、どのような POI が距離によって近くにあるかをデータベース/配列から取得するにはどうすればよいですか?

少数の POI しかない場合は、ポイントから各 POI までの大圏距離を簡単に計算できます。次に、結果リストを距離で並べ替えるだけです。

ただし、多数の POI がある場合は、空間インデックス機能を備えたデータベースの使用を検討する必要があります。MySQLPostgreSQLおよびSQL Server 2008にはすべて、地理空間機能 (ネイティブまたは拡張機能を介して) があり、これには、空間インデックスと haversine 式の実装が含まれます。

于 2010-04-18T14:55:27.930 に答える