在GeoDataFrame
中,我有一列包含多边形的几何形状(Polygon
对象),另一列中有Point
对象,它们代表多边形的质心。现在,我想做的是例如能够在质心列上进行空间连接,而不是这样做
test = gpd.sjoin(M, Gsq, op="within")
我可以做类似
的操作test = gpd.sjoin(M["centroid"], Gsq, op="within")
到目前为止,如果我用质心覆盖完整的几何字段,sjoin
可以使用,但这太丑陋了。那么,有什么方法可以加入给定的列?
答案 0 :(得分:4)
根据geopandas.sjoin
命令的官方documentation,没有选择其他列作为操作几何的选项。
但是,您可以在地理数据框中有两列包含几何数据的数据(例如geometry_pg
代表多边形几何,geometry_pt
代表质心点几何。然后,您可以设置将地理数据框移至另一列或另一列。这样一来,您就可以进行空间连接而不会丢弃任何数据。也很容易随时识别出哪个几何体处于活动状态。有关操作方法,只需查看官方的documentation地理数据框的内容很清楚,并且有一个简单的示例。
希望有帮助。