python简化面simplify polygon

用gis的simplify polygon工具简化面时数据量溢出,所以改用python,比较方便。

(代码包括存储简化前的属性表内容)

import geopandas as gpd
from shapely.geometry import shape

# 读取输入 Shapefile 文件
input_shapefile_path = 'path_to_your_input_shapefile.shp'
gdf = gpd.read_file(input_shapefile_path)

# 定义简化阈值(值越小,简化后剩的点越少,可以取0.1)
simplification_tolerance = 0.001

# 创建一个新的 GeoDataFrame 来存储简化后的几何对象和原始属性信息
simplified_geometries = []
original_attributes = []

for idx, row in gdf.iterrows():
    original_geom = row['geometry']
    simplified_geom = original_geom.simplify(simplification_tolerance)
    
    simplified_geometries.append(simplified_geom)
    original_attributes.append(row)

# 创建一个新的 GeoDataFrame 来存储简化后的几何对象和原始属性信息
simplified_gdf = gpd.GeoDataFrame(original_attributes, geometry=simplified_geometries, crs=gdf.crs)

# 保存简化后的结果为 Shapefile 文件
output_shapefile_path = 'path_to_your_output_shapefile.shp'
simplified_gdf.to_file(output_shapefile_path)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值