重新采样二进制栅格以在新的像元窗口内给出*比例*


9

我想从30m分辨率的森林/非森林的二进制栅格到240m分辨率的栅格,每个像元的值是该像元被照亮的像元的比例,即240m个像元的数据值将从0开始(其中30m栅格中的所有像元均为零/非林)到0.5(其中30m栅格中的一半为森林,一半为非林)至1(其中30m栅格中的所有像元都已覆盖)。

尽管已经建议不要对离散数据使用双线性插值,但据我所知,使用二进制0/1数据的结果将给出平均值(即1与0之间的比例)。这是一个明智的方法,还是有更好的方法?

我可以使用Arc,QGIS和Idrisi。

Answers:


13

使用块统计

此功能类似于Focal Statistics,它通过在指定的单元格邻域(例如8 x 8平方,其中8 = 240 m / 30 m)中计算统计摘要(例如,所需的均值)来执行此操作,只是它仅对网格的常规细分,而不是一组重叠的邻域,每个像元一个。

如果确实要使用,还可以使用Focal统计信息:在计算出8 x 8平方的焦点均值后,使用最近的邻居重采样将其重新采样到240 m网格。当网格彼此注册时(,它们具有相同的原点),这应产生与相同的结果block statistics。(我不能保证:当新的牢房中心与旧的牢房角落重合时必须做出一些任意选择-就像这里一样-并且,如果不同的委员会对这两个程序进行编码,他们可能做出了不同的选择:很少恐怕在ArcGIS中确实是一致的。)

另一种方法是创建一个区域网格,每平方一个区域需要一个平均值,然后执行区域摘要作为网格。可以从行和列坐标的网格中数学计算区域(通过floorint函数,通过重新分类或通过将适当的表连接到属性表)。

我将以双线性插值作为结束语,尽管它确实会产生0..1范围内的值,但这并不是您想要的:它可以通过在新的( 240 m)像元并仅内插其值。这样,它将忽略掉每个新块内的其他8 * 8-4 = 60个原始单元。我在http://www.quantdec.com/SYSEN597/GTKAV/section9/map_algebra.htm上说明了双线性插值:讨论从页面中间开始。


谢谢胡夫,这就是我所做的-在Arc中使用“块统计”生成8x8组的总和,然后在QGIS中使用“栅格计算器”除以64,并将原点,范围和像元大小与其余数据对齐。
stickGIS 2012年

stickedGIS,您可以使用“块统计”来计算每个8 x 8块的平均值,从而跳过第二步。对齐新网格是适当地指定栅格分析环境的问题,如果在开始计算之前完成,它将自动发生。这将您的工作流程简化为一个步骤:执行块均值。
ub

4

在使用双线性重采样对数据进行重采样的ArcGIS中,它仅查看中心四个单元格的值(重采样文档)。这样,如果不补偿数据丢失,您仍然会丢失数据。

假设我们知道对于重新采样的小区,您需要保留一定比例的被密林的小区,那么我们可以将其视为30m小区的总和除以64(240m块中有64个30m小区)。

这意味着,如果我们可以以30m分辨率下的中心值作为周围值的总和来创建新栅格,则使用具有最近邻点或双线性插值的重采样降低分辨率将得到240m个像元,这是它们30m个像元的总和覆盖。我们可以使用30m栅格上的焦点求和工具进行此操作。

最后,一旦我们有了240m焦距栅格,除以64即可得到您的比例答案。

在Idrisi中,我不确定像QGIS中那样的图像采样算法,但是我想有类似的东西。当然,在QGIS中,您可以使用scipy ndimage或类似工具在Python中处理栅格。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.