geopandas:仅当点在多边形内时如何合并信息?
geopandas: how do I merge information only if point is inside a polygon?
我有一个 geopandas
数据框 A
,几何字段设置为单个 Point
(x,y)。然后我有第二个数据框 B
,几何字段设置为一些多边形和一些其他信息。例如:
A
geometry
(1,2)
(3,4)
...
和
B
info polygon
ab <some polygon>
bc <some other polygon>
... ...
如何使用 B
的 info
字段向 A
添加一个新列,前提是 A
中的点位于 [=16] 的多边形内=]?
我想以这样的方式结束
A
geometry info
(1,2) ab
(3,4) ab
(7,9) bc
... ...
以防万一其他人需要它,并假设您的几何形状正确,那么您可以这样做:
new_df = gpd.sjoin(A,B,how="inner", op='intersects')
这就够了。
我有一个 geopandas
数据框 A
,几何字段设置为单个 Point
(x,y)。然后我有第二个数据框 B
,几何字段设置为一些多边形和一些其他信息。例如:
A
geometry
(1,2)
(3,4)
...
和
B
info polygon
ab <some polygon>
bc <some other polygon>
... ...
如何使用 B
的 info
字段向 A
添加一个新列,前提是 A
中的点位于 [=16] 的多边形内=]?
我想以这样的方式结束
A
geometry info
(1,2) ab
(3,4) ab
(7,9) bc
... ...
以防万一其他人需要它,并假设您的几何形状正确,那么您可以这样做:
new_df = gpd.sjoin(A,B,how="inner", op='intersects')
这就够了。