instalación del paquete rgdal


110

El problema aquí no es exactamente cómo trazar mapas a través de R, como ya he encontrado un ejemplo bastante bueno aquí , sino cómo hacerlo funcionar. De hecho, no puedo cargar la biblioteca rgdal:

library(rgdal)
Error in library(rgdal) : there is no package called ‘rgdal’

Sin embargo, cuando intento instalar el paquete anterior manualmente, aparece el siguiente error:

....
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

¡Cualquier entrada bienvenida!


14
Si está en un sistema similar a Debian, intente instalar el libproj-devpaquete.
juba

1
¿Qué comando usó para instalar su paquete?
juba

1
Lo siento, quería instalar rgdal ... ¿Y qué versión de Debian usas?
juba

4
¿Usaste install.packages("rgdal")?
juba

2
Para marcar una respuesta como correcta, puede marcar la marca verde. Y no tienes que votar cada comentario que hice :) Me alegro de que hayas resuelto tu problema.
juba

Respuestas:


129

Si miras la página del paquete en CRAN , verás lo siguiente:

Requisitos del sistema: para construir desde la fuente: biblioteca GDAL> = 1.7.1 de http://trac.osgeo.org/gdal/wiki/DownloadSource y PROJ.4 (proj> = 4.4.9) de http: //trac.osgeo .org / proj / ; Marcos GDAL OSX creados por William Kyngesburye en http://www.kyngchaos.com/ pueden usarse para instalaciones de código fuente en OSX.

Como parece estar en Linux, siempre crea el paquete desde la fuente, por lo que tendrá que instalar las bibliotecas correspondientes en su sistema. Si está bajo Mint, Ubuntu u otro derivado de Debian, puede hacer:

$ sudo apt-get install libgdal1-dev libproj-dev

Un consejo que puede ser útil, aún en un sistema basado en Debian, es instalar el apt-filepaquete y ejecutar:

$ sudo apt-file update

Entonces, cuando reciba un error como:

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

Puede usar el siguiente comando para encontrar qué paquete debe instalar para obtener el archivo que falta:

$ apt-file search proj_api.h
libproj-dev: /usr/include/proj_api.h

No funcionó del todo para mí, ejecutar Linux Mint 17.1 Rebecca construido en Ubuntu 14.04 confiable apt-file, no estaba funcionando. Terminé eliminándolo libproj-devy reinstalándolo debido a algún problema de corrupción y luego instalándolo libgdal1, libgdal1-devy dependencias (versión 1.11.2 en el repositorio oficial al momento de escribir este artículo, pero vi la versión 2 aquí, por lo que puede haber un cambio en el horizonte)
MichaelChirico

4
Si está en el futuro y no ve libgdal * 1 * -dev, podría deberse a que GDAL 2 no está disponible y el nombre del paquete ha eliminado el número libgdal-dev. Ubuntu 18.04 parece ser así.
Tom Saleeba

1
He instalado todas las dependencias, pero todavía tengo el configure: error: proj_api.h not found in standard or given locations.The proj_api.htambién se encuentra en el /usr/include. ¿Alguna idea?
ismailsunni

41

Si usa OS X con el administrador de paquetes Homebrew y tiene R instalado a través del tap homebrew-science , puede instalar rgdal instalando primero gdal.

brew install gdal

Es posible que primero desee enumerar las opciones disponibles antes de ejecutar esto en caso de que desee algo elegante como soporte postgresql. Para ver las opciones disponibles, escriba

brew options gdal

entonces para ser elegante puedes escribir

brew install --with-postgresql gdal

después de un tiempo, debería estar listo para usar las dependencias, ya que proj, incluido el proj_api.h que necesita, son dependencias. Desafortunadamente, rgdal todavía no encontrará pro_api.h en este momento ya que no está buscando en / usr / local / include. Para solucionar este y otros posibles problemas con la instalación de rgdal, use el siguiente comando R para instalar rgdal:

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

Esto debería ser similar a lo que también necesitaría para MacPorts con la excepción de los pasos de preparación, y sus bibliotecas / encabezados probablemente estén en "/ opt / local / lib" y "/ opt / local / include" respectivamente.

Nota: para preparar mejoradores si está usando "--with-armadillo" como una opción con gdal, y armadillo actualizado a 7 de 6. Tendrá que recompilar gdal antes de actualizar / reinstalar rgdal.


Gracias. su método funciona en mi máquina después de algunas fallas de acuerdo con otra solución publicada.
HappyCoding

¡Dios envió solución! No sé cuántas horas pasé en esto. Eeesh
josiekre

Trabajó para mi. Solo otra cosa era que necesitaba reiniciar R después de instalar el rgdalpaquete.
Stewart Macdonald

28

En un sistema Fedora 21 que usa R-3.2.0, funcionó lo siguiente:

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

Obviamente, este fue el resultado de repetidos intentos de obtener:

install.packages("rgdal")

trabajar. Probablemente pueda hacerlo todo en una sola instalación.


También funcionó para mí en Centos.
JaKu

¡Estoy en Fedora 27 y R 3.4.3 y esta respuesta todavía funciona!
StrayChild01

15

En ubuntustudio 14.04 (lo mismo para todas las distribuciones de Debian):

sudo apt-get install libproj-dev libgdal-dev

Entonces podría instalar el paquete 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

13

Aquí lo que hice en Centos7:

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

Entonces simplemente

install.packages("rgdal")

Funcionó bien, pero no estaba claro en absoluto.


8
Acabo de probarlo en un Centos 7 nuevo, creo que lo necesitas proj-devely no solo proj. De lo contrario, lo estamos consiguiendo configure: error: proj_api.h not found in standard or given locations. Esto es para rgdal 1.2-6.
HenrikB

1
Necesitaba la versión> 2.0 para usar el paquete sf. Estas instrucciones funcionaron para mí, aunque tomaron mucho tiempo, tenga paciencia. gis.stackexchange.com/questions/263495/…
Elin

1
de acuerdo con @HenrikB, necesitaba el proj-develmismo error. también puede querer usarsudo yum install ...
Brian D

En estos días tengo algunos permisos de edición en SO, así que actualicé esta respuesta para instalar proj-devel(no solo proj)
HenrikB

5

En OSX, descargo proj de http://www.kyngchaos.com/software/frameworks y ejecuto el siguiente comando en 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

Esto funcionó para mí:

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

Esto es lo único que me funcionó en todas las búsquedas que hice.
podcastfan88

4

Para ubuntu 16.04 y R 3.5.1, esto funciona bastante rápido:

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

Luego;

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

Finalmente en CRAN;

install.packages("rgdal")

2

Para mí (Ubuntu 16.04, R 3.4.2), funcionó una mezcla de las soluciones anteriores:

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

Luego, simplemente se instala rgdaldesde CRAN.


Gracias por proporcionar esto. Pude hacerlo funcionar para Ubuntu 16.04
Gabriel Fair

Ese finalmente funcionó para mí usando ubuntu 18.04. Gracias
Joni Hoppen

1

Lo único que funcionó en mi sistema fue compilar PROJ4 desde la fuente como se describe aquí y luego instalar el paquete rgdal como

 install.packages("rgdal")

1

Para las personas en entornos multiusuario con múltiples versiones de proj instaladas (desde la fuente), el método que utilicé fue:

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

1

Para los usuarios de Mac (OS.X Version10.12.6), esto funcionó para mí. Primero, vaya a la línea de comando e instale gdal usando >> brew install gdal Segundo, vaya a Rstuduio (consola R) e instale el paquete usandoinstall.packages("rgdal")


1

Para solucionar esto necesitas install libgdal-dev:

PS sudo apt install libgdal-dev


0

Ninguna de las respuestas anteriores funcionó para mí (ejecutando R 3.5.1 en Linux Mint 17.1). La versión de GDAL en los repositorios de Ubuntu es 1.11.3, esto hace que la instalación de rGDAL falle. Aquí está la solución que funcionó para mí (de este sitio web):

sudo apt-get install libexpat1-dev

Descarga e instala 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

Verificar versión

gdal-config --version

Entonces recibí este error:

** 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

Esto se solucionó actualizando los enlaces:

sudo ldconfig

Luego, ejecutar install.packages("rgdal")en R funcionó bien.


0

No se puede hacer que rgdal se instale correctamente, he intentado todo lo mencionado y todas las sugerencias aquí R no encuentro el paquete incluso después de la instalación del paquete

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

He actualizado mi R a 3.6.1

Inténtalo de nuevo:

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)

He intentado ejecutar esto desde Rstudio y la línea de comando R 3.6.1 GUI.

todas las veces que he intentado esto obtengo resultados positivos para las bibliotecas que se están instalando.

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

los archivos que estoy intentando leer son archivos 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")

También probé lo anterior con el formato GTIFF .tif y obtengo el mismo error. Pero no estoy tratando de leer archivos .hdf, solo .dt0, .dt1, .dt2

esto funcionará en otra máquina en la que tengo R instalado, sin embargo, estoy tratando de averiguar qué está mal con la instalación que tengo en "esta" máquina.


0

Agregar explícitamente la ruta de inclusión en CFLAGS funcionó para mí

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

0

Si está utilizando MacPortsesto debería funcionar:

  1. Instalar gdal( proj6se instalará como una dependencia)

    sudo port install gdal
  2. Instalar en pc pkg-config

    sudo port install pkgconfig
  3. Establecer PKG_CONIFG_PATHvariable para apuntar a un directorio con proj.pcarchivo. En mi caso esto fue:

    export PKG_CONFIG_PATH=/opt/local/lib/proj6/lib/pkgconfig
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.