python - 如何在Python中先合并然后裁剪栅格

标签 python rasterio

目前,我必须从大量栅格创建大量图 block (由形状良好的多边形定义)。

每个图 block 都是一个多边形,光栅只是我磁盘上的 tiff 文件。

现在,我首先找到与图 block 相交的栅格的所有文件名,然后将它们放入列表中。

然后我应用以下程序

images = []
for file in files:
   images.append(rasterio.open( file)

mosaic =  merge(images)

剩下的步骤是使用定义图 block 的形状多边形来裁剪“马赛克”栅格。

但是,通过执行合并步骤,马赛克变成了一个 numpy 数组,因此我无法对其应用 mask 方法。

最佳答案

您可以将 rasterio.merge.merge() 的边界参数与特定图 block 的形状多边形一起使用。

array_clipped_mosaic, out_transform = rasterio.merge.merge(datasets, bounds = *polygon.bounds)

关于python - 如何在Python中先合并然后裁剪栅格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52569641/

相关文章:

python - 如何在Python栅格图层上绘制空间点?

python - 如何使用 python 中的地面控制点对未引用的航拍图像进行地理配准

python - 从 dask 数组产生矢量输出

python - 如何直观地将类方法分组?

Python numpy 根据另一个数组对数组进行排序并在轴上广播

python - uwsgi 和 django - django uwsgi 导入正在离开 virtualenv 并崩溃

c++ - GDAL C++ RasterIO 按 block

python - 在 Python 中使用 Rasterio 掩码的重叠错误

python - 如何检查路径在 python 中是否有粘性位?

python - pandas 在 csv 列中读取为 float 并将空单元格设置为 0