我遇到了一个不寻常的结果,R 中的栅格没有数据值。下面的代码——我有一个栅格没有我导入的数据值(-9999)。QGIS 也读取 nodatavalue,arcgis。R 在读取 geotiff 时,将 nodata 值分配给 -INF。
我不知道为什么。但我决定尝试从头开始制作 - 结果相同。我的流程有什么问题?如何确保 R 正确读取 nodatavalues?
注意:我下面的示例是创建的栅格/geotiff。但我实际上是在进口一个组织生产的相当大的 geotiff。所以我无法控制它们的编写方式,但如果需要,我可以要求他们调整标签。
library(raster)
#create a raster from the matrix
myRaster1 <- raster(nrow=4, ncol=4)
#assign some random data to the raster
myRaster1[]<- 1:ncell(myRaster1)
myRaster1[5] <- -9999
#ensure the data have some decimals
myRaster1[2] <- 34.5
#assign no data value to raster
myRaster1@file@nodatavalue <- -9999
#make sure it worked
NAvalue(myRaster1)
myRaster1@file@nodatavalue
#view attributes of the raster
myRaster1
#write out raster
#write the geotiff - change overwrite=TRUE to overwrite=FALSE if you want to make sure you don't overwrite your files!
writeRaster(myRaster1,"newDel.tif","GTiff", overwrite=TRUE)
#import raster
newr <- raster("newDel.tif")
newr@file@nodatavalue
感谢您就 R 如何从 geotiff 导入标签提供任何建议/解释。