这里的问题并不完全是如何通过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
欢迎任何欢迎!
答案 0 :(得分:124)
如果你看package page on CRAN,你会看到以下内容:
SystemRequirements:用于从源构建:GDAL> = 1.7.1库 来自http://trac.osgeo.org/gdal/wiki/DownloadSource的http://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
,则应该可以:
安装gdal
(proj6
将作为依赖项安装)
sudo port install gdal
安装pkg-config
sudo port install pkg-config
设置PKG_CONIFG_PATH
变量以指向带有proj.pc
文件的目录。就我而言,这是:
export PKG_CONFIG_PATH=/opt/local/lib/proj6/lib/pkgconfig