为什么 terra 的焦点函数会改变栅格位置?
Why is terra's focal function changing raster location?
我正在使用 terra 包中的 focal 函数来填充 DEM 栅格中的孔。但是,在 运行 focal(m, w=19, fun=mean, na.policy="only", na.rm=TRUE)
之后,我的 DEM 相对于其原始位置移动了 ~11cm(见下图)。当我简单地使用 rast()
读取光栅然后使用 writeRaster()
写入时,不会发生此问题,但是当我使用 focal()
时会发生此问题,无论我是否使用 [= 保存输出12=] 或在 focal()
.
中使用 filename =
参数
我还注意到使用的 window 尺寸越大,输出光栅的移动就越大。 window 大小为 9 会产生 ~5cm 的误差。光栅像素的大小约为 1.2 厘米,因此 focal()
似乎导致了所用 window 宽度的 ~1/2 的移动。据我所知,运动是直线 up/north.
知道为什么会发生这种情况以及如何避免这种情况吗?
这是正确对齐的光栅:
这是在 运行 focal (w = 19) 之后:
我相信这是一个错误,已在 https://github.com/rspatial/terra 上提供的 terra
开发版本中修复(这也是报告错误的最佳位置)。你能试试吗?
我正在使用 terra 包中的 focal 函数来填充 DEM 栅格中的孔。但是,在 运行 focal(m, w=19, fun=mean, na.policy="only", na.rm=TRUE)
之后,我的 DEM 相对于其原始位置移动了 ~11cm(见下图)。当我简单地使用 rast()
读取光栅然后使用 writeRaster()
写入时,不会发生此问题,但是当我使用 focal()
时会发生此问题,无论我是否使用 [= 保存输出12=] 或在 focal()
.
filename =
参数
我还注意到使用的 window 尺寸越大,输出光栅的移动就越大。 window 大小为 9 会产生 ~5cm 的误差。光栅像素的大小约为 1.2 厘米,因此 focal()
似乎导致了所用 window 宽度的 ~1/2 的移动。据我所知,运动是直线 up/north.
知道为什么会发生这种情况以及如何避免这种情况吗?
这是正确对齐的光栅:
这是在 运行 focal (w = 19) 之后:
我相信这是一个错误,已在 https://github.com/rspatial/terra 上提供的 terra
开发版本中修复(这也是报告错误的最佳位置)。你能试试吗?