-1

对于同一区域,我有一个分辨率为 30m 的数据集(比如说分类土地利用数据)和另一个分辨率较低的数据集 36km(比如说蒸发数据)。我想从基于高分辨率阵列的较低分辨率阵列中删除一些点。例如,我想排除蒸发数据中的像素,这些像素的土地利用类别“10”高于某个阈值/百分比。

描述(如果需要):让我们将高分辨率图像(下图第一张图)视为 10x10 的数组,将低分辨率图像视为 2x2 的数组(下图第二张图)。

在此处输入图像描述 在此处输入图像描述

我想根据较高分辨率图像的值删除较低分辨率图像上的点。考虑它们完美地重叠,假设如果第一幅图像的所述零阈值(比方说超过 50%)出现在象限中(基于第二个图像象限),NaN则将为第二个图像像素分配一个值。

我已经使用 ArcMaps 完成了这种掩蔽,但我不知道这是否可以使用 python。

4

1 回答 1

0

要使用 NumPy,您需要将低分辨率数据转换为与高分辨率数据相同的网格,要求它们完美对齐。您可以scipy.ndimage.zoom为此使用(参见文档页面上的示例)。

或者,如果它们没有完全对齐(或旋转或其他),那么geopandas非常适合。

于 2019-10-18T19:30:59.993 回答