rasterFromXYZ生成意外的空行

时间:2015-11-05 20:31:01

标签: raster image-conversion

我通过rasterToPoints将栅格转换为数据帧,然后使用rasterFromXYZ将其转换回栅格。第二个栅格上出现意外的空白行,如下所示。有什么方法可以避免这种情况吗?

Original raster vs. the raster from rasterFromXYZ

1 个答案:

答案 0 :(得分:2)

请您提供可重复的示例?即使您无法重现问题,也可以建议不同的工作流程。

例如你可以做

library(raster)
f <- system.file("external/test.grd", package="raster")
r <- raster(f)
v <- as.matrix(r)
v <- v * 2
x <- setValues(r, v)

但在大多数情况下,不建议使用此路线,因为您几乎可以对Raster对象本身执行任何操作。

根据您的数据:

r <- raster("bv2.tif")
x <- rasterToPoints(r)
z <- rasterFromXYZ(x)
e <- extent(-121.4,-114.6,49,50.4)
zoom(z, e)

并且没有白线。进一步放大也不显示不规则性。因此,这可能是您用于生成地图的工具的问题。

确认了这一点
sum(values(z) != values(r), na.rm=TRUE)
# [1] 0
cellStats(r, 'countNA')
# [1] 2130763
cellStats(z, 'countNA')
# [1] 2130763