在R< rgdal包中缺少用于地理空间分析的投影文件

时间:2015-06-08 14:48:09

标签: r rstudio gdal rgdal

我遇到问题我无法用 rgdal 解决投影文件似乎是 失踪。这是我得到的错误:

proj4string(d) <- CRS("+init=epsg:28992")

Error in CRS("+init=epsg:28992") : no system list, errno: 2

令人困惑,因为当我加载包时,它似乎成功了 自动检测PROJ.4文件:

> library(rgdal)
rgdal: version: 0.9-2, (SVN revision 526)
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 1.11.2, released 2015/02/10
Path to GDAL shared files:
Loaded PROJ.4 runtime: Rel. 4.9.1, 04 March 2015, [PJ_VERSION: 491]
Path to PROJ.4 shared files: (autodetected)

但是当我这样做时,它返回零:

.Call("PROJcopyEPSG", tempfile(), PACKAGE = "rgdal")

我通过Google搜索和搜索SO找到的唯一答案是epsg必须是小写的,这在我的代码中。

我在运行Yosemite的Mac上,使用R 3.2.0,并在RStudio内部工作 (版本0.99.441)。我的会话信息中的其他包和版本:

rgeos_0.3-8          ggmap_2.4            ggplot2_1.0.1        rgdal_0.9-2
leaflet_0.0.15       tidyr_0.2.0          dplyr_0.4.1
UScensus2010blk_1.00 UScensus2010_0.11    foreign_0.8-63
maptools_0.8-36      sp_1.1-0

1 个答案:

答案 0 :(得分:1)

我有一个快速的Google并遇到了this post,这表明这是一个OS X错误,其中的包是错误构建的。

在我的Mac系统上,我无法重现您的错误,因此我应该从{{3}安装我的rgdalrgeos版本。也许你可以重新安装这些软件包的版本,看看这是否解决了这个问题?我也会同时更新sp

作为解决方法,您可以手动指定投影。投影的proj字符串可以从以下网址获取:http://www.kyngchaos.com/software:frameworks

因此,例如,而不是:

proj4string(d) <- CRS("+init=epsg:28992")

您可以指定:

proj4string(d) <- CRS("+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs ")

不是答案,也许,但值得一试?祝你好运。