rgdal包安装

时间:2013-03-06 13:35:47

标签: r maps

这里的问题并不完全是如何通过R绘制地图,因为我已经找到了一个非常好的例子here,而是如何让它工作。实际上,我无法加载库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

欢迎任何欢迎!

17 个答案:

答案 0 :(得分:124)

如果你看package page on CRAN,你会看到以下内容:

  

SystemRequirements:用于从源构建:GDAL> = 1.7.1库   来自http://trac.osgeo.org/gdal/wiki/DownloadSourcehttp://trac.osgeo.org/proj/和PROJ.4(proj> = 4.4.9);由William Kyngesburye在http://www.kyngchaos.com/建立的GDAL OSX框架可用于   源代码安装在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

答案 1 :(得分:36)

如果您将OS X与Homebrew package manager一起使用,并通过homebrew-science tap安装了R,则可以先安装gdal来安装rgdal。

brew install gdal

您可能首先要在运行此选项之前列出可用选项,以防您想要像postgresql支持一样 fancy 。要查看可用选项类型

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

除了brew步骤之外,这应该与MacPorts所需的类似,并且您的库/标题很可能位于" / opt / local / lib"和" / opt / local / include"分别

注意:如果您正在使用" - with-armadillo"来酿造升级程序 作为gdal的一个选项,并将犰狳从6升级到7.您必须在升级/重新安装rgdal之前重新编译gdal。

答案 2 :(得分:25)

在使用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")

上班。您可以在一次安装中完成所有操作。

答案 3 :(得分:12)

在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

答案 4 :(得分:11)

这就是我在Centos7上所做的:

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

然后简单地

install.packages("rgdal")

工作得很好,但根本不清楚。

答案 5 :(得分:4)

这对我有用:

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

答案 6 :(得分:4)

在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'))

答案 7 :(得分:3)

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

答案 8 :(得分:2)

对我来说(Ubuntu 16.04,R 3.4.2),上述解决方案的混合物起作用了:

server

然后只需从CRAN安装sudo apt-get install libudunits2-dev libgdal-dev libgeos-dev libproj-dev

答案 9 :(得分:1)

对于安装了多个proj版本的多用户环境中的人(来自源代码),我使用的方法是:

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

答案 10 :(得分:1)

对于Mac(OS.X Version10.12.6)用户,这对我有用。 首先,转到命令行并使用>>安装 gdal brew install gdal 其次,进入Rstuduio(R控制台)并使用install.packages("rgdal")

安装软件包

答案 11 :(得分:1)

我的系统唯一有效的方法是按照here所述从源代码编译PROJ4,然后将rgdal包安装为

 install.packages("rgdal")

答案 12 :(得分:0)

要解决此问题,您需要install libgdal-dev:

$ sudo apt install libgdal-dev

答案 13 :(得分:0)

以上答案对我都不起作用(在Linux Mint 17.1上运行R 3.5.1)。 Ubuntu存储库中的GDAL版本为1.11.3,这将导致rGDAL安装失败。以下是适用于我的解决方案(来自this网站):

sudo apt-get install libexpat1-dev

下载并安装GDAL

wget http://download.osgeo.org/gdal/2.1.1/gdal-2.1.1.tar.gz
tar xvf gdal-2.1.1.tar.gz
cd gdal-2.1.1
./configure
sudo make
sudo make install

验证版本

gdal-config --version

然后我得到了这个错误:

** testing if installed package can be loaded
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/usr/local/lib/R/site-library/rgdal/libs/rgdal.so':
libgdal.so.20: cannot open shared object file: No such file or directory
Error: loading failed
Execution halted
ERROR: loading failed

此问题通过更新绑定来解决:

sudo ldconfig

然后在R中运行install.packages("rgdal")很好。

答案 14 :(得分:0)

无法正确安装rgdal,我在R not finding package even after package installation

处尝试了所有提及的内容和所有建议
library(rgdal)
rgdal: version: 1.4-3, (SVN revision 828)
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 2.2.3, released 2017/11/20
Path to GDAL shared files: C:/Users/xxx/Documents/R/win-library/3.4/rgdal/gdal
GDAL binary built with GEOS: TRUE 
Loaded PROJ.4 runtime: Rel. 4.9.3, 15 August 2016, [PJ_VERSION: 493]
Path to PROJ.4 shared files: C:/Users/xxx/Documents/R/win-library/3.4/rgdal/proj
Linking to sp version: 1.3-1 
Warning message:
package ‘rgdal’ was built under R version 3.4.4

我已将R升级到3.6.1

再试一次:

batch_gdal_translate(x, desc, outsuffix = "4.img", of = "HFA", co="TILED=YES")
NULL
Warning messages:
1: In gdal_setInstallation() :
No GDAL installation found. Please install 'gdal' before continuing:
    - www.gdal.org (no HDF4 support!)
    - www.trac.osgeo.org/osgeo4w/ (with HDF4 support RECOMMENDED)
    - www.fwtools.maptools.org (with HDF4 support)

2: In gdal_setInstallation() : If you think GDAL is installed, please run:
gdal_setInstallation(ignore.full_scan=FALSE)

我尝试从Rstudio和命令行R 3.6.1 GUI运行此程序。

每次尝试都可以得到正在安装的库的积极结果。

library(raster)
Loading required package: sp
library(rgdal)
rgdal: version: 1.4-4, (SVN revision 833)
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 2.2.3, released 2017/11/20
Path to GDAL shared files: C:/Users/xxx/Documents/R/R-3.6.1/library/rgdal/gdal
GDAL binary built with GEOS: TRUE 
Loaded PROJ.4 runtime: Rel. 4.9.3, 15 August 2016, [PJ_VERSION: 493]
Path to PROJ.4 shared files: C:/Users/xxx/Documents/R/R-3.6.1/library/rgdal/proj
Linking to sp version: 1.3-1 
library(gdalUtils)
Registered S3 method overwritten by 'R.oo':
method        from       
throw.default R.methodsS3

我要读取的文件是dted文件?

x <- list.files(path = src, pattern = ".dt", full.names = TRUE)
length(x)

batch_gdal_translate(x, desc, outsuffix = "4.img", of = "HFA", co="TILED=YES")

我也尝试了GTIFF .tif格式的上述操作,但得到了相同的错误。 但我不是要读取.hdf文件,而只是读取.dt0,.dt1,.dt2

这将在安装了R的另一台机器上运行,但是,我试图找出在“此”机器上的安装有什么问题。

答案 15 :(得分:0)

在CFLAGS中明确添加包含路径对我有用

install.packages('rgdal', type = "source", configure.args=c('CFLAGS=-I/apps/proj4/5.2.0/include'))

答案 16 :(得分:0)

如果您使用的是MacPorts,则应该可以:

  1. 安装gdalproj6将作为依赖项安装)

    sudo port install gdal
    
  2. 安装pkg-config

    sudo port install pkg-config
    
  3. 设置PKG_CONIFG_PATH变量以指向带有proj.pc文件的目录。就我而言,这是:

    export PKG_CONFIG_PATH=/opt/local/lib/proj6/lib/pkgconfig