
[英]Stack raster in loop working with HDF files directly (not tif files)
[英]merging .tif files via gdalbuildvrt not working
我有一段代码我已经使用了一段时间来将.xyz 文件转换为.tif,然后将所有这些.tif 文件合并到一个 big.tif 中。 两年前我上次使用它时它运行良好,但似乎当前更新/停止的软件包导致了一些故障。 当我尝试构建所有 my.tif 磁贴(即 1237)的 vrt 时,会发生错误。 代码如下所示:
setwd()
#merge all .tif files from the list
gdalbuildvrt(gdalfile = source,
output.vrt = "dem.vrt")
对于source
,我尝试使用".tif$"
和".tif"
以及基本上所有可能的拼写方式,但它返回了以下错误:
running command '"C:\Program Files\QGIS 3.22.6\bin\gdalbuildvrt.exe" "dem.vrt" "*.tif"' had status 1
NULL
一些研究表明这是一个已知问题(尽管我以前从未遇到过),解决方法是将所有文件放入一个列表中,然后将该列表作为source
运行:
#create a list from all .tif files
list <- list.files(path ="H:/Masterarbeit/R/DGM Oderbruch", pattern = '.tif$', all.files = TRUE, full.names = TRUE)
allrasters <- lapply(list, raster)
我已经尝试了list
以及allrasters
的source
,但没有任何效果。 但是,错误消息更改为:
Error in system(cmd, intern = TRUE) :
'CreateProcess' failed to run 'C:\PROGRA~1\QGIS32~1.6\bin\GDALBU~1.EXE "dem.vrt" "H:/Masterarbeit/R/DGM Oderbruch/dgm_33426-5850.tif" "H:/Masterarbeit/R/DGM Oderbruch/dgm_33426-5851.tif" "H:/Masterarbeit/R/DGM Oderbruch/dgm_33426-5852.tif" "H:/Masterarbeit/R/DGM Oderbruch/dgm_33426-5853.tif" "H:/Masterarbeit/R/DGM Oderbruch/dgm_33426-5854.tif" "H:/Masterarbeit/R/DGM Oderbruch/dgm_33426-5855.tif" "H:/Masterarbeit/R/DGM Oderbruch/dgm_33426-5856.tif" "H:/Masterarbeit/R/DGM Oderbruch/dgm_33426-5857
如果有人知道我的代码为什么停止工作,我将不胜感激。
你可以做
library(terra)
ff <- list.files(path =".", pattern = '\\.tif$', full.names = TRUE)
v <- vrt(ff, "dem.vrt")
writeRaster(v, "out.tif")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.