刘俊凯 发表于 2022-12-2 02:59:00

geopandas空间连接


[*]left_df:GeoDataFrame,传入空间连接对应的左表
[*]right_df:GeoDataFrame,传入空间连接对应的右表
[*]how:字符型,用于决定连接方式,'inner'表示内连接,且连接结果表中的矢量列来自左表;'left'表示左连接,且结果表中的矢量列来自左表;'right'表示右连接,最终结果表中的矢量列来自右表
[*]op:字符型,用于设定拓扑判断的规则,'intersects'代表相交,即几何对象之间存在共有的边或内部点;'contains'代表包含,即一个几何对象至少有一个点位于另一个几何对象内部,且其本身没有任何点落在另一个结几何对象的外部;'within'表示在内部,是'contains'的相反情况,即左表被右表矢量'contains'
[*]lsuffix:字符型,代表当左右表连接之后存在重名列时,为左表重名的列添加的后缀,默认为'left'
[*]rsuffix:字符型,意义类似lsuffix,默认为'right'
https://img2023.cnblogs.com/blog/2028466/202212/2028466-20221201153500149-739313185.png
 
 
 
import geopandas as gpb
Berlin = gpb.read_file(r'E:\项目\市.shp')
Berlin.head()
a = gpb.read_file(r'G:\空间单元WGS84.shp')
a.head()
 
b =gpb.sjoin(left_df=a[['grid_id','geometry']], right_df=Berlin[['fnid','geometry']], op='intersects',how = 'right')
b.dropna(axis=0,how='any',inplace = True)
len(b)
 
e = b[['grid_id','fnid']]
e.to_csv(r'E:\项目\20211013daas平台\01数据\20220621联通数据改版\连接后shp\upload_grid_geo2022.csv')
#data.plot()
#针对一对多的情况
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: geopandas空间连接