我想将一些最常用的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。感谢如何加载它们的建议。
答案 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以获取完整的工作示例。