GeoPandas オブジェクトを使用して 2 つのジオメトリ間の交差の数を取得することは可能ですか? つまり、別の GeoDataFrame 内の各ポリゴンと交差する 1 つの GeoDataFrame 内のポリゴンまたはライン ストリングの数を数えたいと考えています。GeoPandas のドキュメントを参照しているときにこれを行う簡単な方法はわかりませんでしたが、下位レベルのツールに移る前に確認したいと思いました。
質問する
3400 次
3 に答える
1
これを行うための組み込みツールについては知りませんが、私は専門家ではありません。同時に、いくつかのパンダマジックで簡単に実行できます:
import geopandas as gpd
from shapely.geometry import *
p1 = Point(.5,.5)
p2 = Point(.5,1)
p3 = Point(1,1)
poly = Polygon([(0,0), (0,2), (2,2), (2,0)])
df1 = gpd.GeoSeries([p1,p2,p3])
df2 = gpd.GeoDataFrame([poly,p3], columns=['geometries'])
f = lambda x:np.sum(df1.intersects(x))
df2['geometries'].apply(f)
返す必要があります:
0 3
1 1
Name: geometries, dtype: int64
于 2015-05-25T14:44:49.260 に答える