rgdal软件包安装

114
这里的问题并不是如何通过R绘制地图,因为我已经找到了一个非常好的示例在这里,而是如何使它正常工作。事实上,我无法加载库rgdal
library(rgdal)
Error in library(rgdal) : there is no package called ‘rgdal’

然而,当我尝试手动安装上述软件包时,我遇到了以下错误:
....
configure: error: proj_api.h not found in standard or given locations.
ERROR: configuration failed for package ‘rgdal’
* removing ‘/home/eualin/R/i686-pc-linux-gnu-library/2.15/rgdal’
Warning in install.packages : installation of package ‘/home/eualin/Downloads/rgdal_0.8-5.tar.gz’ had non-zero exit status

任何输入都受欢迎!

14
如果您使用的是类似于Debian的系统,请尝试安装“libproj-dev”软件包。 - juba
1
你用什么命令安装了你的软件包? - juba
1
抱歉,我的意思是安装rgdal... 你使用的Debian版本是什么? - juba
4
你是否使用了 install.packages("rgdal") 这个命令? - juba
2
要将答案标记为正确,您可以勾选绿色标记。而且您不必点赞我发表的每个评论 :) 很高兴您解决了问题。 - juba
显示剩余5条评论
19个回答

132
如果你查看CRAN上的包页面,你将会看到如下内容:
系统要求:为了从源代码构建:需要GDAL >= 1.7.1库,可以从http://trac.osgeo.org/gdal/wiki/DownloadSource下载,以及PROJ.4 (proj>=4.4.9)库,可以从http://trac.osgeo.org/proj/下载;在OSX上,可以使用由William Kyngesburye在http://www.kyngchaos.com/构建的GDAL OSX框架进行源码安装。
由于你似乎使用Linux系统,所以你需要在系统上安装相应的库来构建包。如果你使用的是Mint、Ubuntu或另一个Debian衍生版,你可以执行以下操作:
$ sudo apt-get install libgdal1-dev libproj-dev

如果你使用的是基于Debian的系统,那么一个有用的技巧是安装apt-file软件包并运行以下命令:

$ sudo apt-file update

然后,当您遇到以下错误时:

configure: error: proj_api.h not found in standard or given locations.

你可以使用以下命令查找需要安装的软件包以获取缺失的文件:
$ apt-file search proj_api.h
libproj-dev: /usr/include/proj_api.h

对我来说并没有完全奏效,我使用运行在 Ubuntu 14.04 trusty 上的 Linux Mint 17.1 Rebecca -- apt-file 没有工作。我最终删除了 libproj-dev 并重新安装它,因为出现了一些损坏问题,然后安装了 libgdal1libgdal1-dev 和依赖项(截至本文撰写时,官方仓库中的版本为 1.11.2,但我在这里看到了 version 2,所以可能会有变化)。 - MichaelChirico
6
如果您在未来且找不到libgdal1-dev,可能是因为GDAL 2已推出,软件包名称已删除数字,变为libgdal-dev。Ubuntu 18.04似乎是这样的情况。 - Tom Saleeba
1
我已安装了所有依赖项,但仍然遇到 configure: error: proj_api.h not found in standard or given locations. 的错误提示。proj_api.h也在 /usr/include 中找到了。有什么想法吗? - ismailsunni

43

如果您使用带有Homebrew软件包管理器的OS X,并且通过homebrew-science tap安装了R,则可以通过首先安装gdal来安装rgdal。

brew install gdal

在运行此命令之前,您可能希望先列出可用选项,以防您需要像postgresql支持这样的高级功能。要查看可用选项,请输入:

brew options gdal

然后如果你想要花哨一点,可以输入

brew install --with-postgresql gdal

一段时间后,您应该可以使用依赖项了,因为 proj 包括所需的 proj_api.h 是依赖项!不幸的是,rgdal 目前仍无法找到 pro_api.h,因为它没有在 /usr/local/include 中查找。要修复这个问题以及 rgdal 安装可能出现的其他问题,请使用以下R命令安装 rgdal:

  > install.packages('rgdal', type = "source", configure.args=c('--with-proj-include=/usr/local/include','--with-proj-lib=/usr/local/lib'))

这应该与MacPorts类似,除了brew步骤之外,您的库/头文件很可能分别在“/opt/local/lib”和“/opt/local/include”下。

注意:对于brew升级程序,如果您使用"--with-armadillo"选项与gdal一起使用,并将armadillo从6升级到7。您需要在升级/重新安装rgdal之前重新编译gdal。


谢谢。根据其他发布的解决方案,经过几次失败后,您的方法在我的电脑上运行正常。 - HappyCoding
上帝派来了解决方案!我不知道我在这上面花了多少个小时。唉。 - josiekre
对我来说有效。唯一的问题是,在安装了rgdal包之后,我需要重新启动R。 - Stewart Macdonald

30

在使用R-3.2.0的Fedora 21系统上,以下方法可以成功:

yum install gdal.x86_64 gdal-devel.x86_64 gdal-libs.x86_64
yum install proj.x86_64 proj-devel.x86_64
yum install proj-epsg.x86_64 proj-nad.x86_64

显而易见,这是为了不断尝试获得以下结果:

install.packages("rgdal")

去工作吧。你可能可以一次性完成所有安装。


在Centos上对我有用。 - JaKu
我使用的是Fedora 27和R 3.4.3,这个答案仍然有效! - Ondino

16

在Ubuntu Studio 14.04上(同样适用于所有Debian发行版):

sudo apt-get install libproj-dev libgdal-dev

那么我可以安装rgdal软件包

R info:
R version 3.0.2 (2013-09-25) -- "Frisbee Sailing"

Linux info:
Linux francois-K53SV 3.13.0-34-lowlatency #60-Ubuntu SMP PREEMPT Wed Aug 13 16:15:18 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

15

这是我在Centos7上所做的:

yum install gdal gdal-devel
yum install proj-devel
yum install proj-nad
yum install proj-epsg

那么只需

install.packages("rgdal")

这样做很顺利,但并不十分清晰。


8
刚在新的Centos 7上测试过,我认为你需要安装proj-devel而不仅仅是proj。否则,我们会得到configure: error: proj_api.h not found in standard or given locations错误提示。这是针对rgdal 1.2-6版本的。 - HenrikB
1
我需要版本大于2.0才能使用sf包。这些说明对我有用,尽管花了很长时间,请耐心等待。https://gis.stackexchange.com/questions/263495/how-to-install-gdal-on-centos-7-4 - Elin
1
同意@HenrikB的说法,我也需要proj-devel来解决同样的错误。你可能还需要使用sudo yum install ...命令。 - Brian D
这些天我在SO上有一些编辑权限,所以我更新了这个答案来安装proj-devel(而不仅仅是proj)。 - HenrikB
在Fedora上,我成功地执行了这个命令:dnf install gdal gdal-devel proj-devel proj-nad proj-epsg - There
在 Fedora 34 上,似乎可以使用 sudo dnf install gdal-devel proj-devel 命令安装成功。 - Roman Luštrik

6

对于 Ubuntu 16.04 和 R 3.5.1,这个方法运行很快:

sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
sudo apt update
sudo apt install gdal-bin python-gdal python3-gdal libgdal1-dev

然后;
sudo apt-get install libudunits2-dev libgdal-dev libgeos-dev libproj-dev

终于在CRAN上发布了;

install.packages("rgdal")

5

在OSX操作系统上,我从http://www.kyngchaos.com/software/frameworks下载了proj,并在R中执行了以下命令。

install.packages('rgdal', type = "source", configure.args=c('--with-proj-include=/Library/Frameworks/PROJ.framework/Headers', '--with-proj-lib=/Library/Frameworks/PROJ.framework/unix/lib'))

4
这是我试过的方法:

这个对我有用:

install.packages('rgdal',repos="http://www.stats.ox.ac.uk/pub/RWin")

这是我在所有搜索中找到的唯一可行的方法。 - podcastfan88

2

对于我(Ubuntu 16.04,R 3.4.2),上述解决方案的混合使用起作用:

sudo apt-get install libudunits2-dev libgdal-dev libgeos-dev libproj-dev

然后,只需从CRAN安装rgdal即可。

感谢您提供这个。我已经成功在Ubuntu 16.04上运行它了。 - Gabriel Fair
那个最终在我使用Ubuntu 18.04时成功了。谢谢。 - Joni Hoppen

2

对于Mac(OS.X版本10.12.6)用户,这对我有用。首先,打开命令行并使用 >> brew install gdal 安装gdal。其次,进入Rstuduio(R控制台)并使用 install.packages("rgdal") 安装软件包。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接