我可以在空间上加入Python Geopandas上几何图形以外的其他列吗?

时间:2019-01-17 02:55:36

标签: python geopandas

GeoDataFrame中,我有一列包含多边形的几何形状(Polygon对象),另一列中有Point对象,它们代表多边形的质心。现在,我想做的是例如能够在质心列上进行空间连接,而不是这样做

test = gpd.sjoin(M, Gsq, op="within")

我可以做类似

的操作
test = gpd.sjoin(M["centroid"], Gsq, op="within")

到目前为止,如果我用质心覆盖完整的几何字段,sjoin可以使用,但这太丑陋了。那么,有什么方法可以加入给定的列?

1 个答案:

答案 0 :(得分:4)

根据geopandas.sjoin命令的官方documentation,没有选择其他列作为操作几何的选项。

但是,您可以在地理数据框中有两列包含几何数据的数据(例如geometry_pg代表多边形几何,geometry_pt代表质心点几何。然后,您可以设置将地理数据框移至另一列或另一列。这样一来,您就可以进行空间连接而不会丢弃任何数据。也很容易随时识别出哪个几何体处于活动状态。有关操作方法,只需查看官方的documentation地理数据框的内容很清楚,并且有一个简单的示例。

希望有帮助。