Installation des rgdal-Pakets

110

Hier geht es nicht genau darum, wie man Karten über R zeichnet, da ich hier bereits ein hübsches Beispiel gefunden habe , sondern wie man es zum Laufen bringt. Tatsächlich kann ich die Bibliothek nicht laden rgdal:

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

Wenn ich jedoch versuche, das obige Paket manuell zu installieren, wird die folgende Fehlermeldung angezeigt:

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

Jede Eingabe ist willkommen!

user706838
quelle
14
Wenn Sie sich unter einem Debian-ähnlichen System befinden, versuchen Sie, das libproj-devPaket zu installieren .
Juba
1
Mit welchem ​​Befehl haben Sie Ihr Paket installiert?
Juba
1
Entschuldigung, ich wollte rgdal installieren ... Und welche Version von Debian verwenden Sie?
Juba
4
Hast du benutzt install.packages("rgdal")?
Juba
2
Um eine Antwort als richtig zu markieren, können Sie die grüne Markierung überprüfen. Und Sie müssen nicht jeden Kommentar, den ich gemacht habe, positiv bewerten :) Ich bin froh, dass Sie Ihr Problem gelöst haben.
Juba

Antworten:

129

Wenn Sie sich die Paketseite von CRAN ansehen , sehen Sie Folgendes:

Systemanforderungen: Zum Erstellen aus der Quelle: GDAL> = 1.7.1 Bibliothek von http://trac.osgeo.org/gdal/wiki/DownloadSource und PROJ.4 (proj> = 4.4.9) von http: //trac.osgeo .org / proj / ; GDAL OSX-Frameworks, die von William Kyngesburye unter http://www.kyngchaos.com/ erstellt wurden, können für Quellinstallationen unter OSX verwendet werden.

Da Sie anscheinend unter Linux arbeiten, erstellen Sie das Paket immer aus dem Quellcode, sodass Sie die entsprechenden Bibliotheken auf Ihrem System installieren müssen. Wenn Sie unter Mint, Ubuntu oder einem anderen Debian-Derivat sind, können Sie Folgendes tun:

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

Ein Tipp, der auch unter einem Debian-basierten System nützlich sein kann, ist, das apt-filePaket zu installieren und auszuführen:

$ sudo apt-file update

Wenn Sie dann eine Fehlermeldung erhalten, wie z.

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

Mit dem folgenden Befehl können Sie ermitteln, welches Paket Sie installieren müssen, um die fehlende Datei abzurufen:

$ apt-file search proj_api.h
libproj-dev: /usr/include/proj_api.h
Juba
quelle
Hat bei mir nicht ganz funktioniert, Linux Mint 17.1 Rebecca unter Ubuntu 14.04 vertrauenswürdig auszuführen apt-file- funktionierte nicht. Ich landete entfernen libproj-devund es aufgrund einiger Korruption Problem wieder zu installieren und dann die Installation libgdal1, libgdal1-devund Abhängigkeiten (Version 1.11.2 im offiziellen Repository als dies geschrieben wurde , aber ich sah die Version 2 hier so eine Veränderung am Horizont sein kann)
MichaelChirico
4
Wenn Sie in der Zukunft libgdal * 1 * -dev nicht sehen, kann dies daran liegen, dass GDAL 2 nicht verfügbar ist und der Paketname die Nummer so einfach gelöscht hat libgdal-dev. Ubuntu 18.04 scheint so zu sein.
Tom Saleeba
1
Ich habe alle Abhängigkeiten installiert, aber ich habe immer noch das configure: error: proj_api.h not found in standard or given locations.Das proj_api.hist auch in der zu finden /usr/include. Irgendeine Idee?
ismailsunni
41

Wenn Sie OS X mit dem Homebrew-Paketmanager verwenden und R über den Homebrew-Science-Tap installiert haben, können Sie rgdal installieren, indem Sie zuerst gdal installieren.

brew install gdal

Möglicherweise möchten Sie zuerst verfügbaren Optionen Liste , bevor Sie diese im Falle ausführen möchten Sie etwas Phantasie wie postgresql Unterstützung. Um die verfügbaren Optionen anzuzeigen, geben Sie ein

brew options gdal

dann können Sie tippen, um Lust zu haben

brew install --with-postgresql gdal

Nach einer Weile sollten Sie gut mit Abhängigkeiten umgehen können , da proj einschließlich Ihrer benötigten proj_api.h Abhängigkeiten sind! Leider findet rgdal pro_api.h momentan immer noch nicht, da es nicht in / usr / local / include sucht. Verwenden Sie den folgenden R- Befehl, um rgdal zu installieren, um dieses und andere mögliche Probleme bei Ihrer rgdal-Installation zu beheben:

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

Dies sollte mit Ausnahme der Brühschritte dem entsprechen, was Sie auch für MacPorts benötigen würden , und Ihre Bibliotheken / Header befinden sich höchstwahrscheinlich unter "/ opt / local / lib" bzw. "/ opt / local / include".

Hinweis: Um Upgrades zu brauen, wenn Sie "--with-armadillo" als Option mit gdal verwenden und Gürteltier von 6 auf 7 aktualisieren. Sie müssen gdal neu kompilieren, bevor Sie rgdal aktualisieren / neu installieren.

Jonathan Lisic
quelle
Vielen Dank. Ihre Methode funktioniert auf meinem Computer nach einigen Fehlern gemäß einer anderen veröffentlichten Lösung.
HappyCoding
Gott sandte Lösung! Ich weiß nicht, wie viele Stunden ich damit verbracht habe. Eeesh
Josiekre
Hat für mich gearbeitet. Das einzige andere war, dass ich R nach der Installation des rgdalPakets neu starten musste .
Stewart Macdonald
28

Auf einem Fedora 21-System mit R-3.2.0 funktionierte Folgendes:

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

Offensichtlich war dies das Ergebnis wiederholter Versuche, Folgendes zu erreichen:

install.packages("rgdal")

arbeiten. Sie können wahrscheinlich alles in einer Installation erledigen.

Jimlemon
quelle
Hat auch bei Centos für mich gearbeitet.
JaKu
Ich bin in Fedora 27 und R 3.4.3 und diese Antwort funktioniert immer noch!
StrayChild01
15

Auf Ubuntustudio 14.04 (für alle Debian-Distributionen gleich):

sudo apt-get install libproj-dev libgdal-dev

Dann könnte ich das Paket rgdal installieren

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
François Pelletier
quelle
13

Hier ist, was ich auf Centos7 gemacht habe:

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

Dann einfach

install.packages("rgdal")

Hat gut funktioniert, aber es war überhaupt nicht klar.

Jacques Peeters
quelle
8
Gerade in einem frischen Centos 7 getestet, denke ich, dass Sie brauchen proj-develund nicht nur proj. Ansonsten bekommen wir configure: error: proj_api.h not found in standard or given locations. Dies ist für RGDAL 1.2-6.
HenrikB
1
Ich brauchte Version> 2.0, um das sf-Paket zu verwenden. Diese Anweisungen haben bei mir funktioniert, obwohl sie lange gedauert haben, seien Sie geduldig. gis.stackexchange.com/questions/263495/…
Elin
1
stimme @HenrikB zu, ich brauchte proj-develfür den gleichen Fehler. kann auch verwenden möchtensudo yum install ...
Brian D
In diesen Tagen habe ich einige Bearbeitungsberechtigungen für SO, daher habe ich diese Antwort aktualisiert, um sie zu installieren proj-devel(nicht nur proj)
HenrikB
5

Unter OSX lade ich proj von http://www.kyngchaos.com/software/frameworks herunter und führe den folgenden Befehl in R aus.

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'))
Matiskay
quelle
4

Das hat bei mir funktioniert:

install.packages('rgdal',repos="http://www.stats.ox.ac.uk/pub/RWin")
RoyalTS
quelle
Dies ist das einzige, was bei all den Suchen, die ich durchgeführt habe, für mich funktioniert hat.
Podcastfan88
4

Für Ubuntu 16.04 und R 3.5.1 funktioniert dies recht schnell:

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

Dann;

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

Endlich in CRAN;

install.packages("rgdal")
DSA
quelle
2

Für mich (Ubuntu 16.04, R 3.4.2) hat eine Mischung der oben genannten Lösungen funktioniert:

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

Dann einfach rgdalvon CRAN installiert .

jogall
quelle
Vielen Dank für die Bereitstellung. Ich konnte es für Ubuntu 16.04
Gabriel Fair
Das hat mir schließlich mit Ubuntu 18.04 geklappt. Vielen Dank
Joni Hoppen
1

Das einzige, was auf meinem System funktionierte, war, PROJ4 wie hier beschrieben aus dem Quellcode zu kompilieren und dann das rgdal-Paket als zu installieren

 install.packages("rgdal")
Morgenstern
quelle
1

Für Benutzer in Umgebungen mit mehreren Benutzern, in denen mehrere Versionen von proj (von der Quelle) installiert sind, habe ich folgende Methode verwendet:

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

Für Mac-Benutzer (OS.X Version 10.12.6) hat dies bei mir funktioniert. Gehen Sie zuerst zur Befehlszeile und installieren Sie gdal mit >> brew install gdal Zweitens, gehen Sie zu Rstuduio (R-Konsole) und installieren Sie das Paket mitinstall.packages("rgdal")

ewalel
quelle
1

Um dies zu beheben, müssen Sie install libgdal-dev:

$ sudo apt install libgdal-dev

user7779697
quelle
0

Keine der oben genannten Antworten hat bei mir funktioniert (unter R 3.5.1 unter Linux Mint 17.1). Die GDAL-Version in den Ubuntu-Repositorys ist 1.11.3. Dies führt dazu, dass die Installation von rGDAL fehlschlägt. Hier ist die Lösung, die für mich funktioniert hat (von dieser Website):

sudo apt-get install libexpat1-dev

Laden Sie GDAL herunter und installieren Sie es

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

Überprüfen Sie die Version

gdal-config --version

Ich habe dann diesen Fehler bekommen:

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

Dies wurde durch Aktualisieren der Bindungen behoben:

sudo ldconfig

Dann hat das Laufen install.packages("rgdal")in R gut funktioniert.

Thomas
quelle
0

Rgdal kann nicht ordnungsgemäß installiert werden. Ich habe alle genannten und alle Vorschläge hier ausprobiert. Ich finde das Paket auch nach der Installation des Pakets nicht

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

Ich habe mein R auf 3.6.1 aktualisiert

Versuch es noch einmal:

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)

Ich habe versucht, dies von Rstudio & Kommandozeile R 3.6.1 GUI auszuführen.

Jedes Mal, wenn ich dies versucht habe, erhalte ich positive Ergebnisse für die zu installierenden Bibliotheken.

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

Die Dateien, die ich zu lesen versuche, sind dted-Dateien?

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

Ich habe das oben genannte auch mit dem GTIFF .tif-Format versucht und erhalte den gleichen Fehler. Aber ich versuche nicht, .hdf-Dateien zu lesen, nur .dt0, .dt1, .dt2

Dies funktioniert auf einem anderen Computer, auf dem R installiert ist. Ich versuche jedoch herauszufinden, was mit der Installation auf "diesem" Computer nicht stimmt.

als
quelle
0

Das explizite Hinzufügen des Include-Pfads in CFLAGS hat bei mir funktioniert

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

Wenn Sie MacPortsdies verwenden, sollte dies funktionieren:

  1. Installieren gdal( proj6wird als Abhängigkeit installiert)

    sudo port install gdal
  2. Installieren pkg-config

    sudo port install pkgconfig
  3. Setzen Sie die PKG_CONIFG_PATHVariable so, dass sie auf ein Verzeichnis mit proj.pcDatei verweist. In meinem Fall war dies:

    export PKG_CONFIG_PATH=/opt/local/lib/proj6/lib/pkgconfig
Karolis Koncevičius
quelle