instalasi paket rgdal


110

Masalahnya di sini bukanlah bagaimana memetakan peta melalui R, karena saya telah menemukan contoh yang cukup bagus di sini , melainkan bagaimana membuatnya bekerja. Faktanya, saya tidak dapat memuat pustaka rgdal:

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

Namun, ketika saya mencoba menginstal paket di atas secara manual, saya mendapatkan kesalahan berikut:

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

Setiap masukan diterima!


14
Jika menggunakan sistem mirip debian, coba instal libproj-devpaket.
juba

1
Perintah apa yang Anda gunakan untuk menginstal paket Anda?
juba

1
Maaf, saya bermaksud menginstal rgdal ... Dan versi debian apa yang Anda gunakan?
juba

4
Apakah Anda menggunakan install.packages("rgdal")?
juba

2
Untuk menandai jawaban sebagai benar, Anda dapat mencentang tanda hijau. Dan Anda tidak perlu memberi suara positif setiap komentar yang saya buat :) Senang Anda telah menyelesaikan masalah Anda.
juba

Jawaban:


129

Jika Anda melihat halaman paket di CRAN , Anda akan melihat yang berikut:

SystemRequirements: untuk membangun dari sumber: GDAL> = 1.7.1 perpustakaan dari http://trac.osgeo.org/gdal/wiki/DownloadSource dan PROJ.4 (proj> = 4.4.9) dari http: //trac.osgeo .org / proj / ; Kerangka kerja GDAL OSX yang dibuat oleh William Kyngesburye di http://www.kyngchaos.com/ dapat digunakan untuk penginstalan sumber di OSX.

Karena Anda tampaknya menggunakan Linux, Anda selalu membangun paket dari sumber, jadi Anda harus menginstal pustaka yang sesuai di sistem Anda. Jika Anda menggunakan Mint, Ubuntu, atau turunan Debian lainnya, Anda dapat melakukan:

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

Salah satu tip yang dapat berguna, masih di bawah sistem berbasis Debian, adalah menginstal apt-filepaket dan menjalankan:

$ sudo apt-file update

Kemudian, ketika Anda mendapatkan kesalahan seperti:

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

Anda dapat menggunakan perintah berikut untuk menemukan paket mana yang harus Anda instal untuk mendapatkan file yang hilang:

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

Tidak cukup berhasil untuk saya, menjalankan Linux Mint 17.1 Rebecca yang dibangun di Ubuntu 14.04 terpercaya - apt-filetidak berfungsi. Saya akhirnya menghapus libproj-devdan menginstal ulang karena beberapa masalah korupsi & kemudian menginstal libgdal1, libgdal1-devdan dependensi (versi 1.11.2 di repositori resmi pada tulisan ini, tetapi saya melihat versi 2 di sini sehingga perubahan mungkin ada di cakrawala)
MichaelChirico

4
Jika Anda berada di masa mendatang dan tidak melihat libgdal * 1 * -dev, itu mungkin karena GDAL 2 sudah keluar dan nama paket telah menghilangkan angkanya begitu saja libgdal-dev. Ubuntu 18.04 sepertinya akan seperti ini.
Tom Saleeba

1
Saya telah menginstal semua dependensi, tetapi saya masih mendapatkan configure: error: proj_api.h not found in standard or given locations.The proj_api.hjuga ditemukan di /usr/include. Ada ide?
ismailsunni

41

Jika Anda menggunakan OS X dengan manajer paket Homebrew , dan menginstal R melalui homebrew-science tap , Anda dapat menginstal rgdal dengan menginstal gdal terlebih dahulu.

brew install gdal

Anda mungkin ingin membuat daftar opsi yang tersedia sebelum Anda menjalankan ini jika Anda menginginkan sesuatu yang mewah seperti dukungan postgresql. Untuk melihat tipe opsi yang tersedia

brew options gdal

lalu untuk menjadi mewah Anda bisa mengetik

brew install --with-postgresql gdal

setelah beberapa saat Anda akan terbiasa menggunakan dependensi, karena proj termasuk proj_api.h yang Anda butuhkan adalah dependensi! Sayangnya, rgdal masih tidak dapat menemukan pro_api.h sekarang karena tidak mencari di / usr / local / include. Untuk memperbaiki masalah ini dan kemungkinan masalah lain dengan instalasi rgdal Anda, gunakan perintah R berikut untuk menginstal rgdal:

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

Ini harus serupa dengan apa yang Anda juga perlukan untuk MacPorts dengan pengecualian langkah pembuatan bir, dan perpustakaan / header Anda kemungkinan besar masing-masing di bawah "/ opt / local / lib" dan "/ opt / local / include".

Catatan: untuk membuat upgraders jika Anda menggunakan "--with-armadillo" sebagai opsi dengan gdal, dan mengupgrade armadillo ke 7 dari 6. Anda harus mengkompilasi ulang gdal sebelum mengupgrade / menginstal ulang rgdal.


Terima kasih. metode Anda berfungsi di mesin saya setelah beberapa kegagalan sesuai dengan solusi lain yang diposting.
HappyCoding

Tuhan mengirimkan solusi! Saya tidak tahu berapa jam yang saya habiskan untuk ini. Eeesh
josiekre

Bekerja untuk saya. Hanya hal lain adalah saya perlu me-restart R setelah menginstal rgdalpaket.
Stewart Macdonald

28

Pada sistem Fedora 21 yang menggunakan R-3.2.0, yang berikut ini berfungsi:

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

Jelas ini adalah hasil dari upaya berulang untuk mendapatkan:

install.packages("rgdal")

bekerja. Anda mungkin dapat melakukan semuanya dalam satu instalasi.


Bekerja untuk saya di Centos juga.
JaKu

Saya menggunakan Fedora 27 dan R 3.4.3 dan jawaban ini masih berfungsi!
StrayChild01

15

Di ubuntustudio 14.04 (sama untuk semua distro debian):

sudo apt-get install libproj-dev libgdal-dev

Kemudian saya bisa menginstal paket 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

Inilah yang saya lakukan di Centos7:

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

Kemudian sederhana

install.packages("rgdal")

Bekerja dengan baik tetapi tidak jelas sama sekali.


8
Baru saja diuji di Centos 7 baru, saya pikir Anda perlu proj-develdan tidak hanya proj. Jika tidak, kami mendapatkan configure: error: proj_api.h not found in standard or given locations. Ini untuk rgdal 1.2-6.
HenrikB

1
Saya membutuhkan versi> 2.0 untuk menggunakan paket sf. Instruksi ini berhasil untuk saya, meskipun butuh waktu lama, bersabarlah. gis.stackexchange.com/questions/263495/…
Elin

1
setuju dengan @HenrikB, saya perlu proj-develkesalahan yang sama. juga mungkin ingin menggunakansudo yum install ...
Brian D

Hari-hari ini saya memiliki beberapa izin edit pada SO, jadi saya memperbarui jawaban ini untuk menginstal proj-devel(tidak hanya proj)
HenrikB

5

Di OSX, saya mengunduh proj dari http://www.kyngchaos.com/software/frameworks dan saya menjalankan perintah berikut di 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

Ini berhasil untuk saya:

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

Ini adalah satu-satunya hal yang berhasil bagi saya dalam semua pencarian yang telah saya lakukan.
podcastfan88

4

Untuk ubuntu 16.04 dan R 3.5.1, ini bekerja cukup cepat:

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

Kemudian;

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

Akhirnya di CRAN;

install.packages("rgdal")

2

Bagi saya (Ubuntu 16.04, R 3.4.2), campuran dari solusi di atas berfungsi:

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

Kemudian cukup diinstal rgdaldari CRAN.


Terima kasih telah menyediakan ini. Saya bisa membuatnya berfungsi untuk Ubuntu 16.04
Gabriel Fair

Yang itu akhirnya berhasil bagi saya menggunakan ubuntu 18.04. Terima kasih
Joni Hoppen

1

Satu-satunya hal yang bekerja pada sistem saya adalah mengkompilasi PROJ4 dari sumber seperti yang dijelaskan di sini dan kemudian menginstal paket rgdal sebagai

 install.packages("rgdal")

1

Untuk orang-orang di lingkungan multi-pengguna dengan beberapa versi proj terinstal (dari sumber), metode yang saya gunakan adalah:

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

1

Untuk pengguna Mac (OS.X Version10.12.6), Ini berhasil untuk saya. Pertama, buka baris perintah dan instal gdal menggunakan >> brew install gdal Kedua, masuk ke Rstuduio (konsol R) dan instal paket menggunakaninstall.packages("rgdal")


1

Untuk memperbaikinya, Anda perlu install libgdal-dev:

$ sudo apt install libgdal-dev


0

Tak satu pun dari jawaban di atas berhasil untuk saya (menjalankan R 3.5.1 di Linux Mint 17.1). Versi GDAL di repositori Ubuntu adalah 1.11.3, ini menyebabkan penginstalan rGDAL gagal. Inilah solusi yang berhasil untuk saya (dari situs web ini ):

sudo apt-get install libexpat1-dev

Unduh dan pasang 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

Verifikasi versi

gdal-config --version

Saya kemudian mendapat kesalahan ini:

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

Ini diperbaiki dengan memperbarui binding:

sudo ldconfig

Kemudian menjalankan install.packages("rgdal")di R bekerja dengan baik.


0

Tidak dapat menginstal rgdal dengan benar, saya telah mencoba semua yang disebutkan dan semua saran di sini R tidak menemukan paket bahkan setelah instalasi paket

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

Saya telah meningkatkan R saya ke 3.6.1

Coba lagi:

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)

Saya telah mencoba menjalankan ini dari Rstudio & baris perintah R 3.6.1 GUI.

setiap kali saya mencoba ini, saya mendapatkan hasil positif untuk perpustakaan yang diinstal.

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

file yang saya coba baca adalah file dt?

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

Saya telah mencoba di atas dengan format .tif GTIFF juga dan saya mendapatkan kesalahan yang sama. Tetapi saya tidak mencoba membaca file .hdf, hanya .dt0, .dt1, .dt2

ini akan bekerja pada komputer lain yang saya instal dengan R, namun, saya mencoba mencari tahu apa yang salah dengan instalasi yang saya miliki pada mesin "ini".


0

Secara eksplisit menambahkan jalur penyertaan di CFLAGS berhasil untuk saya

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

0

Jika Anda menggunakan MacPortsini harus bekerja:

  1. Instal gdal( proj6akan diinstal sebagai dependensi)

    sudo port install gdal
  2. Install pkg-config

    sudo port install pkgconfig
  3. Tetapkan PKG_CONIFG_PATHvariabel untuk menunjuk ke direktori dengan proj.pcfile. Dalam kasus saya ini adalah:

    export PKG_CONFIG_PATH=/opt/local/lib/proj6/lib/pkgconfig
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.