光栅到 ASCII 出口在 R-ASCII 充满 NA 的

Raster to ASCII export in R- ASCII full of NA's

我正在尝试将光栅文件 (.tif) 导出为 R 中的 ascii 以供后续分析。目标是复制 this 方法(面积到点回归克里金法),但生成的文件充满了 NA。我的原始栅格具有“正常”值。 这是我的 ascii 和 tif 文件的 link。 我目前使用的代码:

library(raster)

#import raster
ntl = raster("mydir/ntl.tif")

#export as ascii format
writeRaster(ntl, "mydir/ntl.asc", format="ascii", overwrite = T)

我正在使用 Windows10,RStudio 版本 1.4.1717

您的栅格主要由 NA 组成,可以这样说明(我更喜欢使用 terra 替换 raster):

library(terra)
x <- rast("ntl.tif")
plot(x, colNA="light blue")

大部分图像是淡蓝色的,也就是说,覆盖着 NA

的单元格

您可以使用 trim

删除大部分 NA
y <- trim(x)
plot(y, colNA="light blue")

您没有说明为什么要创建 ascii 文件。我假设您想使用其他一些不知道空间数据文件格式的工具来读取这些值。在这种情况下,您可能会考虑将 as.data.frame 改为 na.rm=TRUE

d <- as.data.frame(x, na.rm=TRUE, cells=TRUE)
head(d)
#       cell      ntl
#44592 44592 3.615484
#44593 44593 6.819953
#45010 45010 2.256919
#45011 45011 3.350195
#45012 45012 9.617457
#45013 45013 8.812189
 

然后保存到文件中,例如用

write.csv(d, "test.csv", row.names=FALSE)