terra和sf中支持vsi7z(直接读取压缩的7z文件)?

问题描述 投票:0回答:2

当前版本的

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
集成,所以我的问题可能很天真或措辞不佳。预先感谢。

version gdal r-sf 7zip terra
2个回答
0
投票

这取决于您的操作系统以及安装方式。

在 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 的更新。


0
投票

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
支持?如果是这样,是否有可使用的语法示例?非常感谢!

© www.soinside.com 2019 - 2024. All rights reserved.