0


python geopandas矢量图层交集、差分、合并的方法

解决问题:

1、一个gdf图层中去掉另一个gdf图层相交的部分

2、一个gdf图层和另个gdf图层相交的部分

3、一个gdf图层合并为一行数据

实现方法:

1、一个gdf图层中去掉另一个gdf图层相交的部分

import geopandas as gpd
# 导入数据1
gdf_left = gpd.read_file('d:/map_left.shp')
# 导入数据2
gdf_right = gpd.read_file('d:/map_right.shp')
# 计算数据1中去掉数据2交集部分,保留的geometry为数据1去掉后的部分
gdf_left_diff_ritht = gpd.overlay(gdf_left,gdf_right,'difference')

2、一个gdf图层和另个gdf图层相交的部分

注意交集有两种意思:

第1种:求两个gdf的交集,保留完整的gdf1的geometry图形,并将gdf2的数据放到右边,类似sql的join,匹配到多个会有多行

import geopandas as gpd
# 导入数据1
gdf_left = gpd.read_file('d:/map_left.shp')
# 导入数据2
gdf_right = gpd.read_file('d:/map_right.shp')
# 计算数据1中去掉数据2交集部分,保留的geometry为数据1去掉后的部分
gdf_left_sjoin_ritht = gpd.sjoin(gdf_left,gdf_right)

第2种:求两个gdf的交集,保留交集的面积

import geopandas as gpd
# 导入数据1
gdf_left = gpd.read_file('d:/map_left.shp')
# 导入数据2
gdf_right = gpd.read_file('d:/map_right.shp')
# 计算数据1中去掉数据2交集部分,保留的geometry为数据1去掉后的部分
gdf_left_inte_ritht = gpd.overlay(gdf_left,gdf_right,'intersection')

3、一个gdf图层合并为一行数据

import geopandas as gpd
# 导入数据1
gdf = gpd.read_file('d:/map_city.shp')
# 将多行数据合并为一行,geometry合并,其他行只保留一行信息
gdf = gdf.dissolve(by = 'city_name')

如何导出shp文件不报编码错误

geopandas 导出shp文件的一种方法,解决报编码错误

end

标签: gis python

本文转载自: https://blog.csdn.net/u011263442/article/details/115497967
版权归原作者 Non-existent987 所有, 如有侵权,请联系我们删除。

“python geopandas矢量图层交集、差分、合并的方法”的评论:

还没有评论