首页 > 解决方案 > 如何在python中先合并然后裁剪栅格

问题描述

目前,我必须从大量栅格中创建大量瓷砖(由形状优美的多面体定义)。

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

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

然后我应用以下程序

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

mosaic =  merge(images)

剩下的步骤是用定义瓷砖的形状多边形裁剪“马赛克”栅格。

但是,通过执行合并步骤,马赛克变成了一个 numpy 数组,所以我不能对它应用 mask 方法。

标签: pythonrasterio

解决方案


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

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

推荐阅读