当前版本的
terra
和sf
不支持直接读取7zip
压缩文件,因为GDAL
还不支持。但似乎该功能将包含在 GDAL
版本 3.7.0 中,计划于 2023 年 5 月 1 日发布(https://github.com/OSGeo/gdal/milestone/42)。知道 terra
和 sf
目前正在使用于 2021 年 12 月 27 日发布的 GDAL
版本 3.4.1,我们是否应该期望在 7zip
中提供对直接读取 terra
文件的支持或者 sf
的 CRAN
二进制包在包含在 GDAL
中一年左右之后?我不知道 GDAL
如何与 terra
或 sf
集成,所以我的问题可能很天真或措辞不佳。预先感谢。
这取决于您的操作系统以及安装方式。
在 Windows 上,我们依赖于 Rtools 中包含的内容。 Rtools 往往是最新的。我预计会延迟几个月。但正如你所指出的,现在已经超过 12 个月了。 Rtools 刚刚更新到 GDAL 3.6.0(当该版本的 GDAL 被撤回时,它应该会再次更新)。如果 CRAN 尚未使用新版本的 Rtools(或仅用于 R-devel),则可能会出现额外的延迟,因此有时从源代码安装会有所帮助。
在 Linux 上,如果您有权限,您可以安装任何您想要的 GDAL 版本。某些 Linux 系统上的默认设置非常旧。在 Ubuntu 上,使用
ubuntugis-unstable
存储库很有帮助(请参阅 说明)。如果您使用 Ubuntu 并使用 r2u,那么这取决于他们使用什么。
在 OSX 上,您可以使用 CRAN 二进制文件或 GDAL 从源代码自行安装或使用“brew”安装。您可以在here查看 CRAN 的用途。我认为 GDAL 版本的 CRAN 二进制文件的延迟通常也只有几个月。 “brew”似乎很好地跟踪了 GDAL 的更新。
terra 1.7.71
依赖于gdal 3.7.2
,现在应该支持直接读取7zip
压缩文件。
因此,要读取
7zip
文件中的栅格,我尝试了 https://gdal.org/user/virtual_file_systems.html 指示的语法:
“要指向 7z
文件内的文件,文件名必须采用 /vsi7z/path/to/the/file.7z/path/inside/the/7z/file
形式,其中 path/to/the/file.7z
是相对或绝对,path/inside/the/7z/file
是档案内文件的相对路径。”
如:
rast("/vsi7z/MyZIP.7z/MyRast.tif")
然而,它失败了。
vsi7z
是否受terra 1.7.71
支持?如果是这样,是否有可使用的语法示例?非常感谢!