installation du paquet rgdal


110

Le problème ici n'est pas exactement de savoir comment tracer des cartes via R, comme j'ai déjà trouvé un bel exemple ici , mais plutôt comment le faire fonctionner. En fait, je ne parviens pas à charger la bibliothèque rgdal:

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

Cependant, lorsque j'essaie d'installer le package ci-dessus manuellement, j'obtiens l'erreur suivante:

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

Toute entrée est la bienvenue!


14
Si vous êtes sous un système de type Debian, essayez d'installer le libproj-devpaquet.
juba

1
Quelle commande avez-vous utilisée pour installer votre package?
juba

1
Désolé, je voulais installer rgdal ... Et quelle version de Debian utilisez-vous?
juba

4
Avez-vous utilisé install.packages("rgdal")?
juba

2
Pour marquer une réponse comme correcte, vous pouvez cocher la marque verte. Et vous n'êtes pas obligé de voter pour chaque commentaire que j'ai fait :) Heureux que vous ayez résolu votre problème.
juba

Réponses:


129

Si vous regardez la page du package sur CRAN , vous verrez ce qui suit:

SystemRequirements: pour la construction à partir des sources: bibliothèque GDAL> = 1.7.1 de http://trac.osgeo.org/gdal/wiki/DownloadSource et PROJ.4 (proj> = 4.4.9) de http: //trac.osgeo .org / proj / ; Les frameworks GDAL OSX créés par William Kyngesburye à l' adresse http://www.kyngchaos.com/ peuvent être utilisés pour les installations source sur OSX.

Comme vous semblez être sous Linux, vous construisez toujours le paquet à partir des sources, vous devrez donc installer les bibliothèques correspondantes sur votre système. Si vous êtes sous Mint, Ubuntu ou un autre dérivé Debian, vous pouvez faire:

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

Une astuce qui peut être utile, toujours sous un système basé sur Debian, est d'installer le apt-filepaquet et d'exécuter:

$ sudo apt-file update

Ensuite, lorsque vous obtenez une erreur telle que:

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

Vous pouvez utiliser la commande suivante pour trouver le package que vous devez installer pour obtenir le fichier manquant:

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

Cela n'a pas vraiment fonctionné pour moi, exécuter Linux Mint 17.1 Rebecca construit sur Ubuntu 14.04 fidèle - apt-filene fonctionnait pas. J'ai fini démaquillants libproj-devet re-installer en raison d'un problème de corruption et puis l' installation libgdal1, libgdal1-devet les dépendances (version 1.11.2 dans le dépôt officiel de cette écriture, mais je scie version 2 ici , donc un changement peut être à l'horizon)
MichaelChirico

4
Si vous êtes dans le futur et que vous ne voyez pas libgdal * 1 * -dev, c'est peut-être parce que GDAL 2 est sorti et que le nom du paquet a abandonné le numéro si juste libgdal-dev. Ubuntu 18.04 semble être comme ça.
Tom Saleeba

1
J'ai installé toutes les dépendances, mais j'ai toujours le configure: error: proj_api.h not found in standard or given locations.The proj_api.hse trouve également dans le /usr/include. Une idée?
ismailsunni

41

Si vous utilisez OS X avec le gestionnaire de paquets Homebrew et que R est installé via le robinet homebrew-science , vous pouvez installer rgdal en installant d'abord gdal.

brew install gdal

Vous voudrez peut-être d'abord lister les options disponibles avant de l'exécuter au cas où vous voudriez quelque chose de sophistiqué comme le support postgresql. Pour voir le type d'options disponibles

brew options gdal

alors pour être chic, vous pouvez taper

brew install --with-postgresql gdal

après un certain temps, vous devriez être prêt à utiliser les dépendances, car proj, y compris votre proj_api.h nécessaire, sont des dépendances! Malheureusement, rgdal ne trouve toujours pas pro_api.h pour le moment car il ne recherche pas dans / usr / local / include. Pour résoudre ce problème et d'autres problèmes possibles avec votre installation rgdal, utilisez la commande R suivante pour installer rgdal:

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

Cela devrait être similaire à ce dont vous auriez également besoin pour MacPorts à l'exception des étapes de brassage, et vos bibliothèques / en-têtes sont probablement sous "/ opt / local / lib" et "/ opt / local / include" respectivement.

Remarque: pour brasser des upgraders si vous utilisez "--with-armadillo" comme option avec gdal, et mis à jour Armadillo à 7 à partir de 6. Vous devrez recompiler gdal avant de mettre à jour / réinstaller rgdal.


Merci. votre méthode fonctionne sur ma machine après quelques échecs selon une autre solution publiée.
HappyCoding

Dieu a envoyé une solution! Je ne sais pas combien d'heures j'ai passé là-dessus. Eeesh
josiekre

A travaillé pour moi. La seule autre chose était que je devais redémarrer R après avoir installé le rgdalpaquet.
Stewart Macdonald

28

Sur un système Fedora 21 utilisant R-3.2.0, ce qui suit a fonctionné:

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

C'était évidemment le résultat d'essais répétés pour obtenir:

install.packages("rgdal")

travailler. Vous pouvez probablement tout faire en une seule installation.


A travaillé pour moi sur Centos également.
JaKu

Je suis dans Fedora 27 et R 3.4.3 et cette réponse fonctionne toujours!
StrayChild01

15

Sur ubuntustudio 14.04 (idem pour toutes les distributions Debian):

sudo apt-get install libproj-dev libgdal-dev

Ensuite, je pourrais installer le package 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

Voici ce que j'ai fait sur Centos7:

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

Puis simplement

install.packages("rgdal")

A bien fonctionné mais ce n'était pas clair du tout.


8
Je viens de tester dans un nouveau Centos 7, je pense que vous avez besoin proj-develet pas seulement proj. Sinon, nous obtenons configure: error: proj_api.h not found in standard or given locations. C'est pour rgdal 1.2-6.
HenrikB

1
J'avais besoin de la version> 2.0 pour utiliser le package sf. Ces instructions ont fonctionné pour moi, même si elles ont pris du temps, soyez patient. gis.stackexchange.com/questions/263495/…
Elin

1
d'accord avec @HenrikB, j'avais besoin proj-develde la même erreur. peut également vouloir utilisersudo yum install ...
Brian D

Ces jours-ci, j'ai des autorisations de modification sur SO, donc j'ai mis à jour cette réponse pour installer proj-devel(pas seulement proj)
HenrikB

5

Sous OSX, je télécharge proj depuis http://www.kyngchaos.com/software/frameworks et j'exécute la commande suivante dans 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

Cela a fonctionné pour moi:

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

C'est la seule chose qui a fonctionné pour moi dans toutes les recherches que j'ai effectuées.
podcastfan88

4

Pour ubuntu 16.04 et R 3.5.1, cela fonctionne assez rapidement:

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

Ensuite;

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

Enfin dans CRAN;

install.packages("rgdal")

2

Pour moi (Ubuntu 16.04, R 3.4.2), un mélange des solutions ci-dessus a fonctionné:

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

Puis simplement installé à rgdalpartir de CRAN.


Merci d'avoir fourni cela. J'ai pu le faire fonctionner pour Ubuntu 16.04
Gabriel Fair

Celui-ci a finalement fonctionné pour moi en utilisant ubuntu 18.04. Merci
Joni Hoppen

1

La seule chose qui fonctionnait sur mon système était de compiler PROJ4 à partir des sources comme décrit ici , puis d'installer le paquet rgdal comme

 install.packages("rgdal")

1

Pour les personnes dans des environnements multi-utilisateurs avec plusieurs versions de proj installées (à partir de la source), la méthode que j'ai utilisée était:

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

1

Pour les utilisateurs de Mac (OS.X version 10.12.6), cela a fonctionné pour moi. Tout d'abord, accédez à la ligne de commande et installez gdal en utilisant >> brew install gdal Deuxièmement, accédez à Rstuduio (console R) et installez le package en utilisantinstall.packages("rgdal")


1

Pour résoudre ce problème, vous devez install libgdal-dev:

$ sudo apt install libgdal-dev


0

Aucune des réponses ci-dessus n'a fonctionné pour moi (exécutant R 3.5.1 sur Linux Mint 17.1). La version GDAL dans les référentiels Ubuntu est 1.11.3, cela provoque l'échec de l'installation de rGDAL. Voici la solution qui a fonctionné pour moi (à partir de ce site Web):

sudo apt-get install libexpat1-dev

Téléchargez et installez 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

Vérifier la version

gdal-config --version

J'ai alors eu cette erreur:

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

Ce problème a été résolu en mettant à jour les liaisons:

sudo ldconfig

Puis courir install.packages("rgdal")dans R a bien fonctionné.


0

Impossible d'installer rgdal correctement, j'ai essayé toutes les suggestions mentionnées et toutes les suggestions ici R ne trouvant pas de paquet même après l'installation du paquet

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

J'ai mis à jour mon R vers la version 3.6.1

Réessayer:

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)

J'ai essayé d'exécuter ceci à partir de Rstudio et de la ligne de commande R 3.6.1 GUI.

toutes les fois que j'ai essayé cela, j'obtiens des résultats positifs pour les bibliothèques en cours d'installation.

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

les fichiers que j'essaie de lire sont des fichiers 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")

J'ai essayé ce qui précède avec le format GTIFF .tif également et j'obtiens la même erreur. Mais je n'essaye pas de lire les fichiers .hdf, juste .dt0, .dt1, .dt2

cela fonctionnera sur une autre machine sur laquelle j'ai R installé, cependant, j'essaie de comprendre ce qui ne va pas avec l'installation que j'ai sur "cette" machine.


0

L'ajout explicite du chemin d'inclusion dans CFLAGS a fonctionné pour moi

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

0

Si vous utilisez, MacPortscela devrait fonctionner:

  1. Installer gdal( proj6sera installé en tant que dépendance)

    sudo port install gdal
  2. Installer pkg-config

    sudo port install pkgconfig
  3. Définissez la PKG_CONIFG_PATHvariable pour qu'elle pointe vers un répertoire contenant un proj.pcfichier. Dans mon cas, c'était:

    export PKG_CONFIG_PATH=/opt/local/lib/proj6/lib/pkgconfig
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.