0

我有大约 1000 个光栅图块。我正在尝试将它们合并为单个栅格图块。

library(raster)
raster_tile_path <- list.files("file_path", full.names = TRUE,
                                        pattern = ".tif" ))

merge_tile  <- lapply(raster_tile_path, raster)
merge_tile  <- do.call(merge, c(merge_tile, tolerance = 1))

运行时,我收到此错误:

Error in rgdal::getRasterData(con, offset = offs, region.dim = reg, band = object@data@band) : Failure during raster IO

有人已经提出了错误的来源:https ://stackoverflow.com/a/67607770/9101903可能是错误或损坏的光栅图块。但似乎没有解决方案来识别或忽略这个特定的光栅图块。

有人知道如何解决这个问题吗?

4

1 回答 1

1

如果有损坏的文件,您应该可以像这样找到它

for (i in 1:length(merge_tile)) {
    x = merge_tile[[i]] * 1
}

发生错误时,磁贴i已损坏

你也可以试试

library(terra)
v <- vrt(raster_tile_path)
writeRaster(v, "file.tif")
于 2022-03-01T08:50:43.360 回答