多数のポリゴン (〜 100000) があり、通常のグリッド セルを使用して交差領域を計算するスマートな方法を見つけようとしています。
現在、(コーナー座標に基づいて) shapely を使用してポリゴンとグリッド セルを作成しています。次に、単純な for ループを使用して各ポリゴンを調べ、近くのグリッド セルと比較します。
ポリゴン/グリッド セルを説明するためのほんの一例です。
from shapely.geometry import box, Polygon
# Example polygon
xy = [[130.21001, 27.200001], [129.52, 27.34], [129.45, 27.1], [130.13, 26.950001]]
polygon_shape = Polygon(xy)
# Example grid cell
gridcell_shape = box(129.5, -27.0, 129.75, 27.25)
# The intersection
polygon_shape.intersection(gridcell_shape).area
(ところで: グリッド セルの寸法は 0.25x0.25 で、ポリゴンは最大で 1x1 です)
実際、これは個々のポリゴン/グリッド セルの組み合わせで約 0.003 秒と非常に高速です。ただし、このコードを大量のポリゴン (それぞれが数十のグリッド セルと交差する可能性がある) で実行すると、私のマシンでは約 15 分以上 (交差するグリッド セルの数によっては最大 30 分以上) かかります。残念ながら、ポリゴン交差のコードを記述して重複領域を取得する方法がわかりません。ヒントはありますか?格好良いに代わるものはありますか?