繁体   English   中英

通过 gdalbuildvrt 合并.tif 文件不起作用

[英]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以及allrasterssource ,但没​​有任何效果。 但是,错误消息更改为:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM