Python Geopandas:统一陆地和海岸缓冲区多边形

Python Geopandas:统一陆地和海岸缓冲区多边形,python,shapefile,geopandas,Python,Shapefile,Geopandas,我想将通过gpd.buffer()方法从海岸线形状文件创建的多边形与地块的多边形结合起来 这两个数据集(海岸和陆地)都是从中检索的 $wgethttps://www.naturalearthdata.com/http//www.naturalearthdata.com/download/50m/physical/ne_50m_coastline.zip $unzip ne_50m_海岸线.zip-d海岸线 $wgethttps://www.naturalearthdata.com/http//w

我想将通过
gpd.buffer()
方法从海岸线形状文件创建的多边形与地块的多边形结合起来 这两个数据集(海岸和陆地)都是从中检索的

$wgethttps://www.naturalearthdata.com/http//www.naturalearthdata.com/download/50m/physical/ne_50m_coastline.zip
$unzip ne_50m_海岸线.zip-d海岸线
$wgethttps://www.naturalearthdata.com/http//www.naturalearthdata.com/download/50m/physical/ne_50m_land.zip
$unzip NEU 5000万土地。zip-d土地
我目前的工作流程:

将geopandas导入为gpd
将matplotlib.pyplot作为plt导入
coast_shapefile=“海岸线/ne_50m_海岸线.shp”
land\u shapefile=“land/ne\u 10m\u land.shp”
#使用地理命令读取形状文件并指定初始CR(单位:度)
coast=gpd.read_文件(coast_shapefile,crs={'init':'epsg:4326'})
land=gpd.read_文件(land_shapefile,crs={'init':'epsg:4326'})
#现在在海岸线周围创建一个缓冲区
coast_bfr=gdf.几何体.缓冲区(0.2)
缓冲区(
coast_bfr
)表示海岸线周围的多边形,并在地块内部“留下一个空白区域”。现在,我想将这些缓冲区多边形与表示地块的多边形结合起来。但是,geopandas的
union()
不起作用


有什么提示我可以做到这一点吗?提前多谢

您是否调查了
gdf.overlay()
功能?联合(级联联合和一元联合)是由
shapely
处理的元素操作,但整个形状集由操作。

感谢您的回答,aorr。我也试过这个,是的。这个过程花费了相当长的时间,结果等于我在
overlay()
中指定的第一个参数。例如,绘制通过
unite=gpd检索的
coast\u bfr
land
的并集。叠加(coast\u bfr,land,how='union')
,生成与
coast\u bfr
相同的图。似乎忽略了
land
中的多边形。您确定它们是相同的吗?你怎么查的
len(coast_bfr)==len(unite)
是否为真?如果是这样的话,我会感到惊讶,但如果是这样的话,那么更可能是您的一个输入层是空的,或者它们实际上没有相交,而不是因为
覆盖存在问题。现在可能是开始学习
gdf.plot()
api的时候了,这样您就可以更轻松地浏览数据,并共享有关正在输入和创建的层的更多信息。在您的问题中添加一些图像,或者从较小的文件开始,这样您可以更快地迭代和尝试。