我可以在空间上连接 Python Geopandas 上的几何以外的列吗?
Can I spatially join on a column other than geometry on Python Geopandas?
在 GeoDataFrame
中,我有一列包含多边形的几何形状(Polygon
个对象),另一列包含 Point
个对象,代表多边形的质心。现在,我想做的是能够在质心列上加入空间,例如,而不是做
test = gpd.sjoin(M, Gsq, op="within")
我可以做类似
test = gpd.sjoin(M["centroid"], Gsq, op="within")
到目前为止,如果我用质心覆盖整个几何字段,sjoin
就可以工作,但这太丑陋了。那么,我可以通过什么方式加入给定的专栏?
根据 geopandas.sjoin
命令的官方 documentation,没有选择 select 不同的列作为操作的几何形状。
但是,您可以在地理数据框中包含两列几何数据(例如,geometry_pg
用于多边形几何,geometry_pt
用于质心点几何。然后您可以设置 "active" geodataframe 的几何图形到一列或另一列。这样你就可以在不丢弃任何数据的情况下进行空间连接。也可以很容易地识别出什么几何图形在任何时候都是活动的。关于如何做到这一点,只需查看官方 documentation 的geodataframe,它很清楚并且有一个简单的例子。
希望对您有所帮助。
在 GeoDataFrame
中,我有一列包含多边形的几何形状(Polygon
个对象),另一列包含 Point
个对象,代表多边形的质心。现在,我想做的是能够在质心列上加入空间,例如,而不是做
test = gpd.sjoin(M, Gsq, op="within")
我可以做类似
test = gpd.sjoin(M["centroid"], Gsq, op="within")
到目前为止,如果我用质心覆盖整个几何字段,sjoin
就可以工作,但这太丑陋了。那么,我可以通过什么方式加入给定的专栏?
根据 geopandas.sjoin
命令的官方 documentation,没有选择 select 不同的列作为操作的几何形状。
但是,您可以在地理数据框中包含两列几何数据(例如,geometry_pg
用于多边形几何,geometry_pt
用于质心点几何。然后您可以设置 "active" geodataframe 的几何图形到一列或另一列。这样你就可以在不丢弃任何数据的情况下进行空间连接。也可以很容易地识别出什么几何图形在任何时候都是活动的。关于如何做到这一点,只需查看官方 documentation 的geodataframe,它很清楚并且有一个简单的例子。
希望对您有所帮助。