2

我遇到了一个我无法用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")

我从谷歌搜索和搜索 SO 中找到的唯一答案是 epsg 必须是小写的,它在我的代码中。

我在运行 Yosemite、R 3.2.0 并在 RStudio(版本 0.99.441)中工作的 Mac 上。我的会话信息中的其他软件包和版本:

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
4

1 回答 1

1

我有一个快速的谷歌并遇到了这篇文章,这表明这是一个 OS X 错误,其中包构建不正确。

在我的 Mac 系统上,我无法重现您的错误,所以值得我安装我的版本rgdalrgeos来自http://www.kyngchaos.com/software:frameworks也许您可以重新安装这些软件包的版本和看看这是否解决了问题?我也会同时更新sp

作为一种解决方法,您可以手动指定投影。投影的proj字符串可以从:http ://spatialreference.org/ref/epsg/amersfoort-rd-new/

因此,例如,而不是:

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 ")

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

于 2015-06-08T19:51:32.320 回答