2

特定のポイントを含む一連のポリゴンをすばやく見つけるにはどうすればよいですか?

POSTGisデータベースにポリゴンのコレクションがあります。Ruby側でRGeoを使用して、データベースとの間で情報を操作、保存、およびプルしています。

外部マシンからポイント (x 座標と y 座標) を受け取り、このポイントがどのポリゴン内にあるかを知る必要があります。パフォーマンス上の理由からメモリ内で実行する必要があるため、データベースを使用できません。

r-treeが必要かもしれないと思いますが、正確には書きたくありません。

RGeocontains?ポイントが対象のポリゴン内にあることを確認するために使用できる方法を提供しますが、チェックするポリゴンを知る必要があります。私は 1,000 個のポリゴンを持っていますが、線形検索を行うことは私のニーズに対して十分な時間効率ではありません。

4

1 に答える 1

2

これは役に立ちますか?そうでなければ、これがあります

wrt ruby​​を探すにはneartreeの方が良さそうです。

お役に立てれば!

編集: rtree の汎用実装が必要な場合は、boost (c++) ライブラリを使用すると、ここにバインディングが用意されている可能性があります。ユースケースに役立つメソッドのバインディングがあります。

intersects?
intersects_each?
intersects_rect?
intersects_rect_each?
于 2013-11-20T05:44:21.067 に答える