早上好,
我正在尝试使用 R 中的
writeRaster()
函数创建预测栅格的 .tif 文件。但是,输出 .tif 文件与 R 中显示的文件完全不同。
当我使用
predict()
和 rast()
函数创建栅格时:
Det_Rast_df$predShan <- terra::predict(mean_Shanm_lmer_bestFit, newdata = Det_Rast_df, type = "response", allow.new.levels = TRUE)
pred_Shan_rast <- terra::rast(Det_Rast_df[,c("x","y", "predShan")], type = 'xyz')
plot(pred_Shan_rast, axes = F)
但是,当我使用
writeRaster()
功能时:
terra::writeRaster(pred_Shan_rast, "pred_Shan_raster.tif", filetype = "GTiff", overwrite = T)
输出如下:
您所显示的似乎是使用图形查看器获得的结果,该图形查看器假设这是标准 TIFF 文件。
但是,使用
writeRaster
,您正在编写 GeoTIFF。这是一个 tiff 文件,其中包含有关该位置的大量附加信息。单元(像素)值的解释也与标准 TIFF 文件不同。
通过这样做可以看到文件是正确的
plot(rast("pred_Shan_raster.tif"))
编写 graphics 文件的最佳方法是使用像
png(); plot(); dev.off()
这样的序列。也可以使用 PNG 或 JPEG 驱动程序(格式)与 terra::writeRaster
.