1. left_df:GeoDataFrame,传入空间连接对应的左表
  2. right_df:GeoDataFrame,传入空间连接对应的右表
  3. how:字符型,用于决定连接方式,'inner'表示内连接,且连接结果表中的矢量列来自左表;'left'表示左连接,且结果表中的矢量列来自左表;'right'表示右连接,最终结果表中的矢量列来自右表
  4. op:字符型,用于设定拓扑判断的规则,'intersects'代表相交,即几何对象之间存在共有的边或内部点;'contains'代表包含,即一个几何对象至少有一个点位于另一个几何对象内部,且其本身没有任何点落在另一个结几何对象的外部;'within'表示在内部,是'contains'的相反情况,即左表被右表矢量'contains'
  5. lsuffix:字符型,代表当左右表连接之后存在重名列时,为左表重名的列添加的后缀,默认为'left'
  6. rsuffix:字符型,意义类似lsuffix,默认为'right'

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()

#针对一对多的情况