0

境界ボックスのリストがあります。どのボックスが冗長/重複しているかをどのように計算できるか疑問に思っていました。

その理由は、API に送信する 200 万個のこれらを持っており、どれが他と重なっているかを知りたいので、それらを削減して、各ボックスが土地の固有の領域のみをカバーするようにし、2 つのバウンディング ボックスが同じ部分をカバーしないようにするためです。地理空間の。

これらのバウンディング ボックスがそれぞれ固有のジオ ランド スペースをカバーするように計算するにはどうすればよいでしょうか。

私はこのプログラムを C++ で書いています。

4

2 に答える 2

1

この作業はあなたが思っているよりも複雑だと思います。

重複がなくなるまで既存のボックスを分割してから、別のボックスに完全に含まれているボックスを削除する必要があります。

その解決策を提供する代わりに、あなたが一緒に暮らすことができるかどうかを確認することをお勧めします:

1) 別のボックスに完全に含まれているボックスを削除します。
2) (部分的に)重なっているボックスはそのままにします。

200 万の場合、1 つのボックスの近くにあるすべてのボックスのリストを取得するには、空間インデックス (QuadTree) が必要です。

重複を避ける必要がある場合は、結果がどうあるべきかを考え続ける必要があります。
A) 重なった長方形の結合で、もはや長方形ではなく多角形です。
または B) 結果は長方形になるはずです。

于 2013-10-10T16:34:56.010 に答える
0

ボックスの頂点の X% が別のボックスの内側にあるかどうかを確認して、それが重なっているかどうかを確認できますが、これは最適な解決策ではないと思います。

于 2013-10-10T08:37:52.410 に答える