从包数据加载时“打开SHP文件时出错”

时间:2015-03-10 13:18:10

标签: r rstudio

我想将一些最常用的shapefile转移到github。我有new package in development。它在RStudio中构建时有效,但是当我从github中拉出包并运行它时,我收到错误"Error in getinfo.shape(filen) : Error opening SHP file"。当我查看包内时,shapefile在data文件夹中就位。它们被各个函数调用,例如

load_lon = function(){
  require(maptools)
  lon <<- readShapePoly('data/london_outline_simple.shp', proj4string=CRS('+init=epsg:27700'))
}

据推测,这种方法意味着R错误地寻找子文件夹&#39;数据&#39;在工作目录中。但我无法想到如何调用它们,因为data()不支持shp。感谢如何加载它们的建议。

1 个答案:

答案 0 :(得分:1)

根据@ josh-obrien的评论,答案是将数据文件放在inst的子文件夹中,然后在构建软件包时,它们将使用代码进行编译。我把shapefile放在:

$SOURCEDIR/inst/external/

这些是通过以下功能安装的:

load_lon = function(){
  require(maptools)
  path = system.file("external/london_outline_simple.shp", package="londonShapefiles")
  lon <<- readShapePoly(path, proj4string=CRS('+init=epsg:27700'))
}

查看working github package以获取完整的工作示例。