提问人:Vance 提问时间:11/10/2023 更新时间:11/16/2023 访问量:37
当我使用 rasterio.mask 裁剪光栅图像时,为什么要创建额外的行和列?
Why am I creating an extra row and column when I use rasterio.mask to clip a raster image?
问:
我正在尝试将 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)
这两个数据集位于同一坐标系中,但我唯一能想到的是它们的网格没有完全对齐,但我无法弄清楚这将如何为我提供额外的行和列。这里的任何见解都会很棒。
答:
0赞
Sam
11/16/2023
#1
这可能与两个栅格的分辨率精度有关。如果两个栅格的精度(以及有效分辨率)不同,则同一边界框在第二个栅格中容纳的行数和列数可能略有不同。
评论