我有一个很大的zip文件,其中有一堆geotiff文件,还有一个.vrt文件,每个文件都有所需的信息。我不想直接解压缩所有文件,而是想直接使用zip文件。
此命令与.vrt和某些geotiff文件一起使用,在某种意义上说,将临时栅格作为rasterLayer创建,但是由于并非所有geotiff文件都已解压缩,所以plot(rasterLayer)失败,并丢失数据错误。
tempraster <- raster("data-raw/CoastalDEMv1.1/tiles.vrt")
此命令失败,可能是因为我没有正确指定路径
tempraster <- raster("data-raw/Global_90.zip/CoastalDEMv1.1/tiles.vrt")
错误消息是
.rasterObjectFromFile(x,band = band,objecttype =“ RasterLayer”,错误: 无法从此文件创建RasterLayer对象。 (文件不存在)
据推测,这意味着栅格认为路径的zip部分只是另一个文件夹。我需要它来查看拉链内部。
我在Mac上运行,操作系统为Catalina。
答案 0 :(得分:1)
gdal.org的一些文本
要指向zip文件中的文件,文件名必须采用以下格式: /vsizip/path/to/the/file.zip/path/inside/the/zip/file,其中 /to/the/file.zip的路径是相对的或绝对的, path / inside / the / zip / file是文件内部的相对路径 存档。
因此对于我的数据集,我使用
link <- "/vsizip/data-raw/Global_90.zip/CoastalDEMv1.1/tiles.vrt"
test <- raster(link)
测试具有以下特征
class : RasterLayer
dimensions : 139316, 432360, 60234665760 (nrow, ncol, ncell)
resolution : 0.0008326395, 0.0008326395 (x, y)
extent : -180, 180, -56, 60 (xmin, xmax, ymin, ymax)
crs : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0
source : /vsizip/data-raw/Global_90.zip/CoastalDEMv1.1/tiles.vrt
names : tiles
随着我的研究和了解更多,我将更新答案。