Terra writeRaster 作为渲染图像

问题描述 投票:0回答:1

我有一个栅格堆栈,我正在尝试使用 Terra::writeRaster 函数导出。用这种方法导出效果很好,我可以在 Arc/Q GIS 软件中查看它。但最终目标是在 Unity 中使用光栅图像。我发现保留通道的解决方法是使用 QGIS 并导出为渲染图像。我想找到一种方法在 R 中完成所有这些导出,甚至在 R 中将它们导出为 PNG。

当前出口编码

raster_stack  <-  stack(speed_raster,  dir_raster)
raster_stack <- brick(raster_stack)

terra::writeRaster(raster_stack, "D:/Navteca/Wind/RasterStacks/RasterStack.tif", filetype = "GTIFF",overwrite = TRUE)

r image raster terra
1个回答
0
投票

这有点含糊。 Unity 的要求是什么?我猜你需要一个标准的图形图像,而不是 GeoTiff。在这种情况下,您可以使用不同的驱动程序,例如 PNG。您也可以使用

library(terra)
s <- rast(system.file("ex/logo.tif", package="terra"))   
writeRaster(s, "test.png")

或在图形文件设备上绘制

png("test2.png")
plotRGB(s)
dev.off()

顺便说一句,

writeRaster
是为 SpatRaster 和 Raster* 对象实现的通用函数。由于
raster_stack
是 RasterBrick,您实际上使用的是 raster 包中定义的 writeRaster 函数。这是因为所选函数取决于第一个参数的类别。在这种情况下,像在
terra::
中所做的那样预先设置
terra::writeRaster
不会做任何事情,除了引起混淆(
raster::writeRaster
没问题)。

© www.soinside.com 2019 - 2024. All rights reserved.