cài đặt gói rgdal


110

Vấn đề ở đây không phải chính xác là cách vẽ bản đồ thông qua R, vì tôi đã tìm thấy một ví dụ khá hay ở đây , mà là cách làm cho nó hoạt động. Trên thực tế, tôi không thể tải thư viện rgdal:

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

Tuy nhiên, khi tôi cố gắng cài đặt gói trên theo cách thủ công, tôi gặp lỗi sau:

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

Mọi thông tin đầu vào đều được chào đón!


14
Nếu thuộc hệ thống giống debian, hãy thử cài đặt libproj-devgói.
juba

1
Bạn đã sử dụng lệnh nào để cài đặt gói của mình?
juba

1
Xin lỗi, tôi muốn cài đặt rgdal ... Và bạn sử dụng phiên bản debian nào?
juba

4
Bạn đã sử dụng install.packages("rgdal")?
juba

2
Để đánh dấu một câu trả lời là đúng, bạn có thể đánh dấu vào dấu màu xanh lục. Và bạn không cần phải tán thành mọi nhận xét của tôi :) Rất vui vì bạn đã giải quyết được vấn đề của mình.
juba

Câu trả lời:


129

Nếu bạn nhìn vào trang gói trên CRAN , bạn sẽ thấy như sau:

Yêu cầu hệ thống: để xây dựng từ nguồn: thư viện GDAL> = 1.7.1 từ http://trac.osgeo.org/gdal/wiki/DownloadSource và PROJ.4 (proj> = 4.4.9) từ http: //trac.osgeo .org / proj / ; Khung GDAL OSX do William Kyngesburye xây dựng tại http://www.kyngchaos.com/ có thể được sử dụng để cài đặt nguồn trên OSX.

Có vẻ như bạn đang sử dụng Linux, bạn luôn xây dựng gói từ nguồn, vì vậy bạn sẽ phải cài đặt các thư viện tương ứng trên hệ thống của mình. Nếu bạn đang sử dụng Mint, Ubuntu hoặc dẫn xuất Debian khác, bạn có thể thực hiện:

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

Một mẹo có thể hữu ích, vẫn thuộc hệ thống dựa trên Debian, là cài đặt apt-filegói và chạy:

$ sudo apt-file update

Sau đó, khi bạn gặp lỗi như:

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

Bạn có thể sử dụng lệnh sau để tìm gói bạn phải cài đặt để lấy tệp bị thiếu:

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

Không hoàn toàn phù hợp với tôi, chạy Linux Mint 17.1 Rebecca được xây dựng trên Ubuntu 14.04 đáng tin cậy - apt-filekhông hoạt động. Tôi đã kết thúc loại bỏ libproj-devvà cài đặt lại nó do một số vấn đề tham nhũng và sau đó cài đặt libgdal1, libgdal1-devvà phụ thuộc (phiên bản 1.11.2 trong kho chính thức như các văn bản này, nhưng tôi đã thấy phiên bản 2 ở đây do đó, một thay đổi có thể trên đường chân trời)
MichaelChirico

4
Nếu bạn đang ở trong tương lai và không nhìn thấy libgdal * 1 * -dev, thì có thể là do GDAL 2 đã hết và tên gói đã bỏ số nên chỉ libgdal-dev. Ubuntu 18.04 có vẻ như thế này.
Tom Saleeba

1
Tôi đã cài đặt tất cả các phụ thuộc, nhưng tôi vẫn nhận được configure: error: proj_api.h not found in standard or given locations.The proj_api.hcũng được tìm thấy trong /usr/include. Bất kỳ ý tưởng?
ismailsunni 23/12/19

41

Nếu bạn sử dụng OS X với trình quản lý gói Homebrew và đã cài đặt R thông qua vòi homebrew-science , bạn có thể cài đặt rgdal bằng cách cài đặt gdal trước.

brew install gdal

Trước tiên, bạn có thể muốn liệt kê các tùy chọn có sẵn trước khi chạy điều này trong trường hợp bạn muốn thứ gì đó ưa thích như hỗ trợ postgresql. Để xem các loại tùy chọn có sẵn

brew options gdal

sau đó để được ưa thích, bạn có thể gõ

brew install --with-postgresql gdal

sau một thời gian, bạn nên làm tốt với các phụ thuộc, vì proj bao gồm cả proj_api.h cần thiết của bạn là các phụ thuộc! Thật không may, rgdal vẫn không tìm thấy pro_api.h ngay bây giờ vì nó không tìm trong / usr / local / include. Để khắc phục sự cố này và các sự cố có thể xảy ra khác với cài đặt rgdal của bạn, hãy sử dụng lệnh R sau để cài đặt rgdal:

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

Điều này sẽ tương tự như những gì bạn cũng sẽ cần cho MacPorts ngoại trừ các bước pha chế và các thư viện / tiêu đề của bạn rất có thể nằm trong "/ opt / local / lib" và "/ opt / local / include" tương ứng.

Lưu ý: để tạo các trình nâng cấp nếu bạn đang sử dụng "--with-armadillo" làm tùy chọn với gdal và armadillo đã nâng cấp lên 7 từ 6. Bạn sẽ phải biên dịch lại gdal trước khi nâng cấp / cài đặt lại rgdal.


cảm ơn. phương pháp của bạn hoạt động trên máy của tôi sau một vài lần thất bại theo giải pháp khác đã đăng.
HappyCoding

Chúa đã gửi giải pháp! Tôi không biết tôi đã dành bao nhiêu giờ cho việc này. Eeesh
josiekre

Đã làm cho tôi. Chỉ có điều khác là tôi cần khởi động lại R sau khi cài đặt rgdalgói.
Stewart Macdonald

28

Trên hệ thống Fedora 21 sử dụng R-3.2.0, cách sau hoạt động:

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

Rõ ràng đây là kết quả của nhiều lần cố gắng đạt được:

install.packages("rgdal")

làm việc. Bạn có thể làm tất cả trong một lần cài đặt.


Cũng làm việc cho tôi trên Centos.
JaKu

Tôi đang sử dụng Fedora 27 và R 3.4.3 và câu trả lời này vẫn đang hoạt động!
StrayChild01

15

Trên ubuntustudio 14.04 (giống nhau cho tất cả các bản phân phối debian):

sudo apt-get install libproj-dev libgdal-dev

Sau đó, tôi có thể cài đặt gói 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

Đây là những gì tôi đã làm trên Centos7:

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

Vậy thì đơn giản

install.packages("rgdal")

Làm việc tốt nhưng nó không rõ ràng chút nào.


8
Vừa được thử nghiệm trong Centos 7 mới, tôi nghĩ bạn cần proj-develvà không chỉ proj. Nếu không, chúng tôi đang nhận được configure: error: proj_api.h not found in standard or given locations. Đây là cho rgdal 1.2-6.
HenrikB

1
Tôi cần phiên bản> 2.0 để sử dụng gói sf. Những hướng dẫn này có hiệu quả với tôi, mặc dù chúng mất nhiều thời gian, hãy kiên nhẫn. gis.stackexchange.com/questions/263495/…
Elin

1
đồng ý với @HenrikB, tôi cần có proj-devellỗi tương tự. cũng có thể muốn sử dụngsudo yum install ...
Brian D

Những ngày này, tôi có một số quyền chỉnh sửa trên SO, vì vậy tôi đã cập nhật câu trả lời này để cài đặt proj-devel(không chỉ proj)
HenrikB

5

Trong OSX, tôi tải xuống proj từ http://www.kyngchaos.com/software/frameworks và chạy lệnh sau trong 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

Điều này đã làm việc cho tôi:

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

Đây là điều duy nhất có hiệu quả với tôi trong tất cả các tìm kiếm mà tôi đã thực hiện.
podcastfan88

4

Đối với ubuntu 16.04 và R 3.5.1, điều này hoạt động khá nhanh:

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

Sau đó;

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

Cuối cùng trong CRAN;

install.packages("rgdal")

2

Đối với tôi (Ubuntu 16.04, R 3.4.2), hỗn hợp các giải pháp trên đã hoạt động:

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

Sau đó chỉ cần cài đặt rgdaltừ CRAN.


Cảm ơn vì đã cung cấp cái này. Tôi đã có thể làm cho nó hoạt động cho Ubuntu 16.04
Gabriel Fair

Điều đó cuối cùng đã làm việc cho tôi bằng cách sử dụng ubuntu 18.04. Cảm ơn
Joni Hoppen 19/10/18

1

Điều duy nhất hoạt động trên hệ thống của tôi là biên dịch PROJ4 từ nguồn như được mô tả ở đây và sau đó cài đặt gói rgdal dưới dạng

 install.packages("rgdal")

1

Đối với những người trong môi trường nhiều người dùng với nhiều phiên bản proj được cài đặt (từ nguồn), phương pháp tôi đã sử dụng là:

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

1

Đối với người dùng Mac (OS.X Version10.12.6), Điều này phù hợp với tôi. Đầu tiên, đi tới dòng lệnh và cài đặt gdal bằng cách sử dụng >> brew install gdal Thứ hai, vào Rstuduio (R console) và cài đặt gói bằnginstall.packages("rgdal")



0

Không có câu trả lời nào ở trên phù hợp với tôi (chạy R 3.5.1 trên Linux Mint 17.1). Phiên bản GDAL trong kho lưu trữ Ubuntu là 1.11.3, điều này khiến quá trình cài đặt rGDAL không thành công. Đây là giải pháp phù hợp với tôi (từ trang web này ):

sudo apt-get install libexpat1-dev

Tải xuống và cài đặt 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

Xác minh phiên bản

gdal-config --version

Sau đó tôi gặp lỗi này:

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

Điều này đã được khắc phục bằng cách cập nhật các ràng buộc:

sudo ldconfig

Sau đó, chạy install.packages("rgdal")trong R hoạt động tốt.


0

Không thể cài đặt rgdal đúng cách, tôi đã thử tất cả các đề cập và tất cả các đề xuất ở đây R không tìm thấy gói ngay cả sau khi cài đặt gói

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

Tôi đã nâng cấp R của mình lên 3.6.1

Thử lại:

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)

tôi đã cố gắng chạy điều này từ Rstudio & dòng lệnh R 3.6.1 GUI.

tất cả các lần tôi đã thử điều này, tôi nhận được kết quả tích cực cho các thư viện được cài đặt.

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

các tệp tôi đang cố đọc có phải là tệp dted không?

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

Tôi đã thử cách trên với định dạng GTIFF .tif và tôi cũng gặp lỗi tương tự. Nhưng tôi không cố đọc các tệp .hdf, chỉ .dt0, .dt1, .dt2

điều này sẽ hoạt động trên một máy khác mà tôi đã cài đặt R, tuy nhiên, tôi đang cố gắng tìm ra lỗi với cài đặt mà tôi có trên máy "này".


0

Thêm rõ ràng đường dẫn bao gồm trong CFLAGS đã làm việc cho tôi

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

0

Nếu bạn đang sử dụng, MacPortsđiều này sẽ hoạt động:

  1. Cài đặt gdal( proj6sẽ được cài đặt dưới dạng phụ thuộc)

    sudo port install gdal
  2. Tải về pkg-config

    sudo port install pkgconfig
  3. Đặt PKG_CONIFG_PATHbiến trỏ đến một thư mục có proj.pctệp. Trong trường hợp của tôi, đây là:

    export PKG_CONFIG_PATH=/opt/local/lib/proj6/lib/pkgconfig
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.