python geopandas矢量图层交集、差分、合并的方法
2023-04-18 14:15:50 时间
解决问题:
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
相关文章
- 直接在代码里面对list集合进行分页
- .NET Framework 4.5新特性详解
- 大数据的简要介绍
- 大数据的由来
- 高斯混合模型的自然梯度变量推理
- timing-wheel 仿Kafka实现的时间轮算法
- 使用Navicat软件连接自建数据库(Linux系统)
- 那一天,我被Redis主从架构支配的恐惧
- Redis 深入了解键的过期时间
- C#使用委托调用实现用户端等待闪屏
- 基于流计算 Oceanus 和 Elasticsearch Service 构建百亿级实时监控系统
- GRAND | 转录调控网络预测数据库
- JFreeChart API中文文档
- 临床相关突变查询数据库
- TIGER | 人类胰岛基因变化查询数据库
- 视频边缘计算网关EasyNVR在视频整体监控解决方案中的应用分析
- Apache Arrow - 大数据在数据湖后的下一个风向标
- 常见的电商数据指标体系
- AKShare-艺人数据-艺人流量价值
- MySQL中多表联合查询与子查询的这些区别,你可能不知道!