2013-03-06 303 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。