【问题标题】:Include and access spatial data in R package在 R 包中包含和访问空间数据
【发布时间】:2020-04-21 07:09:04
【问题描述】:

我正在将一些处理和分析空间数据的 R 脚本重新编写到一个包中,以便于共享。最初,我刚刚将所有栅格数据/等作为 TIFF 保存到我的工作目录中,并在每次我想使用“堆栈”或“栅格”进行分析时从那里将其加载到脚本中。 R 包的等价物是什么?我有很多栅格/形状文件,其中一些非常大。

【问题讨论】:

  • 看看sf
  • 我可以在 R 中读写空间数据,但问题是它被保存为“username/data.tiff”之类的东西,所以像 raster(data.tiff) 这样的命令不会如果我正在写一个包,对吧?因为其他使用该软件包的人不会将文件保存在同一位置。所以我想知道在哪里/如何在我正在编写的这个新包中保存数据,以及如何访问它。

标签: r spatial r-package


【解决方案1】:

看看其他包。例如,这就是您在raster中看到的内容

library(raster)
?raster
f <- system.file("external/test.grd", package="raster")

它会找到相对于已安装包的根目录的“external/test.grd”文件 --- 以便它适用于所有用户,而与包的路径无关。

您可以在光栅源代码中看到:https://github.com/rspatial/raster external 是包源中inst 的子文件夹。你可以给external起任何名字,只要你把它放在inst文件夹里。

如果可能,请使用您的包所依赖的其他包中的示例文件,例如本例中的raster

【讨论】:

  • 是的,我认为这对我有用!我认为,我还需要重新安排我的代码,以便将大部分空间数据用作包函数的输入,然后将原始空间数据作为单独的文件夹提供。
【解决方案2】:

如果您正在整理一个 R 包,那么这是一个很好的资源,将帮助您弄清楚什么去哪里:http://r-pkgs.had.co.nz/。本质上,您可以将其放在您的包内的data 文件夹中。

如果您有大量大型栅格,但很难公开发布该软件包。如果栅格/shapefile 已经托管在 Internet 上的某个位置,尽管您可以合并对这些网络链接的调用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 2020-10-10
    • 2021-01-03
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    • 2014-09-06
    相关资源
    最近更新 更多