python矢量裁栅格

1年前 (2023-09-16)阅读143回复0
钱良钗
钱良钗
  • 注册排名10014
  • 经验值0
  • 级别
  • 主题0
  • 回复0
楼主

矢量和栅格是两种不同的地图数据表达方式,Python提供了许多强大的工具来处理矢量和栅格数据。下面介绍Python中如何将矢量数据裁剪为栅格数据。

import geopandas as gpd
import rasterio
from rasterio.mask import mask
# 读取要素图层和栅格图像文件
shp = gpd.read_file('path/to/shapefile.shp')
raster = rasterio.open('path/to/raster.tif')
# 裁剪矢量数据
clipped = gpd.clip(shp, raster.bounds)
# 读取裁剪后的矢量数据的几何信息
geoms = clipped.geometry.values
# 使用几何信息裁剪栅格数据
out_image, out_transform = mask(raster, geoms, crop=True)
# 设置输出文件
profile = raster.profile
profile.update({'height': out_image.shape[1], 'width': out_image.shape[2], 'transform': out_transform})
# 保存裁剪后的栅格数据
with rasterio.open('path/to/output.tif', 'w', **profile) as dst:
dst.write(out_image)

代码中使用了geopandas和rasterio两个库。首先读取了要素图层和栅格图像文件,使用gpd.clip()函数将矢量数据裁剪为栅格数据。然后获取裁剪后的矢量数据的几何信息,使用rasterio.mask.mask()函数裁剪栅格数据,并保存裁剪后的栅格数据。

以上就是Python中使用矢量裁剪栅格的方法,希望对你有所帮助。

本文可能转载于网络公开资源,如果侵犯您的权益,请联系我们删除。

本文地址:https://www.pyask.cn/info/411.html

0
回帖

python矢量裁栅格 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息