光栅到 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)
我正在尝试将光栅文件 (.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)