6

Javaで「近くの興味のあるポイントを探す」という問題を解決しようとしています。つまり、私は多くの緯度、多くの興味のあるポイントを持っています。そして、たとえば800メートル以内にあるものを見つけたいです。現在の緯度と対数を知っていると仮定します。

私の問題は、このアプリケーションがスタンドアロンでなければならないことです。したがって、空間データベースクエリに頼って結果を見つけることはできません。たとえば、mysql を使用すると、これが役立つことがわかりました

現在、空間クエリをサポートする in memeory db が見つかりません。http://jsi.sourceforge.net/のような R ツリーを使用することに頼るつもりでした。

しかし、円形の検索ではなく四角形を使用するという事実を考えると、それはそれほど正しくないことはわかっています。

何かお勧めはありますか?

4

2 に答える 2

1

実際、jsi ライブラリ (http://jsi.sourceforge.net) は、この問題に対してほぼ完璧です。この正確なシナリオをサポートするために書かれました。

近くの四角形 (または点) を検索する場合、最大距離を指定すると、距離が長くなる順に結果が返されます。

「半径800m以内のすべてのポイントを返す」というクエリはサポートされていませんが、実際には制限が必要になります。そのため、jsi ライブラリは、より便利な「半径 800m 以内の最も近い 50 ポイントを返す」をサポートしています。

半径内のすべてのポイントが本当に必要な場合は、ポイントの数を多数に増やしてnearestNクエリを実行するか、交差クエリを実行して独自のコードで距離でフィルタリングできます。

于 2012-07-24T11:14:45.500 に答える