2013-03-06 284 views
78

这里的问题并不是如何通过R来绘制地图,因为我已经发现了一个很好的例子here,而是如何使它工作。事实上,我无法加载库rgdalrgdal软件包的安装

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 

任何输入欢迎!

+13

如果在类似debian的系统下,尝试安装'libproj-dev'软件包。 – juba 2013-03-06 13:38:50

+0

我确实使用debian。安装libproj-dev并没有改变任何东西(我想它已经安装了)。 'sudo port install proj'会引发以下异常:'sudo:port:command not found'任何想法? – user706838 2013-03-06 13:45:31

+1

你用什么命令来安装你的软件包? – juba 2013-03-06 13:46:37

回答

111

I F你看看package page on CRAN,你会看到以下内容:

SystemRequirements: for building from source: GDAL >= 1.7.1 library from http://trac.osgeo.org/gdal/wiki/DownloadSource and PROJ.4 (proj >= 4.4.9) from http://trac.osgeo.org/proj/ ; GDAL OSX frameworks built by William Kyngesburye at http://www.kyngchaos.com/ may be used for source installs on OSX.

正如你似乎是在Linux下,你总是从源代码编译包,所以你必须安装相应的库你的系统。如果你是薄荷的,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 
+0

对我来说,这并不适合我,运行Linux Mint 17.1建立在Ubuntu 14.04上的Rebecca值得信赖 - 'apt-file'无法正常工作。我结束了删除'libproj-dev'并重新安装它,由于一些腐败问题,然后安装'libgdal1','libgdal1-dev'和依赖项(版本1.11.2在本文撰写时的官方库中,但我看到[版本2](http://download.osgeo.org/gdal/2.0.0/)在这里,所以一个变化可能在地平线上) – MichaelChirico 2015-09-02 22:43:48

4

这为我工作:

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

这是我所做的所有搜索中唯一的工作。 – podcastfan88 2014-12-22 22:05:30

+1

这对我不起作用(对于R版本3.2.2) – HappyCoding 2015-10-21 08:33:08

7

在ubuntustudio 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 
24

如果您使用带有Homebrew package manager的OS X,并且有R通过homebrew-science tap安装,您可以先安装gdal来安装rgdal。

brew install gdal 

您可能首先要列出可供选择的方案,你的情况下,运行此之前,你想要的东西看中如PostgreSQL的支持。要查看可用的选项类型

brew options gdal 

然后是看上你可以你要善于去与依赖一段时间后,键入

brew install --with-postgresql gdal 

,因为凸出包括你需要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”之下。

注:冲泡升级的版本如果您正在使用“--with-犰狳”从6. @中的一个选项,并升级到犰狳7你将不得不在升级之前重新编译GDAL /重装rgdal 。

+0

谢谢。根据发布的其他解决方案,您的方法在发生一些故障后会在我的机器上工 – HappyCoding 2015-10-21 08:58:58

+0

上帝派出解决方案!我不知道我花了多少小时。 Eeesh – josiekre 2016-02-24 23:15:43

+0

为我工作。只有其他的事情是我需要在安装'rgdal'软件包后重新启动R。 – smacdonald 2017-04-26 04:37:25

1

仅在我的系统工作的事情是如所描述的here从源代码编译PROJ4,然后使用安装装配的rgdal包作为

install.packages("rgdal") 
19

在一个Fedora 21系统R-3.2.0,下面的工作:

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

工作。你可以在一次安装中完成所有工作。

+0

也在Centos上为我工作。 – JaKu 2017-08-04 04:56:08

+0

我在Fedora 27和R 3.4.3中,这个答案仍然有效! – StrayChild01 2018-02-27 15:20:02

4

在OSX,我下载从http://www.kyngchaos.com/software/frameworks凸出和我在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')) 
8

这里是我做了Centos7运行以下命令:

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

然后简单

install.packages("rgdal")

工作正常,但根本不清楚。

+3

刚刚在全新的Centos 7中测试过,我认为你需要'proj-devel'而不仅仅是'proj'。否则,我们得到'configure:error:proj_api.h在标准或给定位置找不到'。这是rgdal 1.2-6。 – HenrikB 2017-04-22 03:51:18

1

对于人与安装(从源代码)凸出的多个版本的多用户环境中,我采用的方法是:

install.packages('rgdal',configure.args="--with-proj-include=/sw/proj/4.9.2/include --with-proj-lib=/sw/proj/4.9.2/lib") 
0

对于Mac(OS.X Version10.12.6)的用户,这个工作对我。 首先,进入命令行,并使用安装@中 >>brew install gdal 其次,一定要Rstuduio(R控制台),并安装使用install.packages("rgdal")

-1

对我的包(Ubuntu的16.04,R 3.4.2)的混合物上述解决方案的工作:

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

然后简单地安装rgdal从CRAN。