我正在尝试将 Raster2 裁剪到 Raster1 的范围内。剪辑工作成功,但我在输出栅格中得到了额外的行和列。
Raster1 是缅因州范围内的栅格。 Raster2 是 NLCD 全国数据集。我正在获取 Raster1 的边界框并使用 rasterio.mask 剪切 Raster2 以创建 Raster3。然而,与 Raster1/
的原始形状相比,Raster3 的形状多了一行和一列src = rasterio.open(f'Raster1.tif')
idArray = src.read()[0]
idArray.shape
#(45006, 41551)
geometry = box(*src.bounds)
with rasterio.open(r'Raster2') as src2:
NLCD, NLCD_transform = rasterio.mask.mask(src2, [geometry], crop=True)
out_meta = src2.meta
NLCD[0].shape
#(45007, 41552)
这两个数据集位于同一坐标系中,但我唯一能想到的是它们的网格没有完全对齐,但我无法弄清楚这将如何给我带来额外的行和列。这里的任何见解都会很棒。
这可能与两个光栅的分辨率精度有关。如果两个栅格的精度(以及有效分辨率)不同,则相同的边界框可以在第二个栅格中容纳稍微不同数量的行和列。