การติดตั้งแพ็คเกจ rgdal


110

ปัญหาที่นี่ไม่ใช่วิธีการวางแผนแผนที่ผ่าน R อย่างที่ฉันได้พบตัวอย่างที่ดีที่นี่แล้ว แต่จะทำให้มันใช้งานได้อย่างไร ในความเป็นจริงฉันไม่สามารถโหลดไลบรารีrgdal:

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

อย่างไรก็ตามเมื่อฉันพยายามติดตั้งแพ็คเกจด้านบนด้วยตนเองฉันได้รับข้อผิดพลาดต่อไปนี้:

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

ยินดีต้อนรับการป้อนข้อมูลใด ๆ !


14
หากอยู่ภายใต้ระบบที่มีลักษณะคล้ายเดเบียนให้ลองติดตั้งlibproj-devแพ็คเกจ
ก.ค.

1
คุณใช้คำสั่งอะไรในการติดตั้งแพ็คเกจของคุณ
ก.ค.

1
ขอโทษทีฉันตั้งใจจะติดตั้ง rgdal ... แล้วคุณใช้เดเบียนรุ่นอะไร
ก.ค.

4
คุณใช้install.packages("rgdal")?
ก.ค.

2
หากต้องการทำเครื่องหมายคำตอบว่าถูกต้องคุณสามารถเลือกเครื่องหมายสีเขียว และคุณไม่ต้องโหวตทุกความคิดเห็นที่ฉันแสดง :) ดีใจที่คุณแก้ปัญหาของคุณได้
ก.ค.

คำตอบ:


129

หากคุณดูที่หน้าแพ็คเกจของ CRANคุณจะเห็นสิ่งต่อไปนี้:

SystemRequirements: สำหรับการสร้างจากแหล่งที่มา: GDAL> = 1.7.1 ไลบรารีจากhttp://trac.osgeo.org/gdal/wiki/DownloadSourceและ PROJ.4 (proj> = 4.4.9) จากhttp: //trac.osgeo .org / proj / ; เฟรมเวิร์ก GDAL OSX ที่สร้างโดย William Kyngesburye ที่http://www.kyngchaos.com/อาจใช้สำหรับการติดตั้งต้นทางบน OSX

ดูเหมือนว่าคุณจะอยู่ภายใต้ Linux คุณมักจะสร้างแพ็คเกจจากซอร์สดังนั้นคุณจะต้องติดตั้งไลบรารีที่เกี่ยวข้องในระบบของคุณ หากคุณอยู่ภายใต้ Mint, Ubuntu หรืออนุพันธ์ Debian อื่นคุณสามารถทำได้:

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

เคล็ดลับอย่างหนึ่งที่มีประโยชน์ซึ่งยังคงอยู่ภายใต้ระบบที่ใช้ Debian คือการติดตั้งapt-fileแพ็คเกจและเรียกใช้:

$ sudo apt-file update

จากนั้นเมื่อคุณได้รับข้อผิดพลาดเช่น:

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

คุณสามารถใช้คำสั่งต่อไปนี้เพื่อค้นหาแพ็คเกจที่คุณต้องติดตั้งเพื่อรับไฟล์ที่หายไป:

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

ไม่ค่อยได้ผลสำหรับฉันการเรียกใช้ Linux Mint 17.1 Rebecca ที่สร้างขึ้นบน Ubuntu 14.04 ที่เชื่อถือapt-fileได้ - ไม่ทำงาน ฉันสิ้นสุดการถอดlibproj-devและติดตั้งใหม่ก็เนื่องจากปัญหาการทุจริตบางส่วนและจากนั้นการติดตั้งlibgdal1, libgdal1-devและการอ้างอิง (เวอร์ชั่น 1.11.2 ในพื้นที่เก็บข้อมูลอย่างเป็นทางการเช่นการเขียนนี้ แต่ผมเห็นรุ่นที่ 2ที่นี่เพื่อให้การเปลี่ยนแปลงที่อาจจะอยู่ในขอบฟ้า)
MichaelChirico

4
หากคุณอยู่ในอนาคตและไม่เห็น libgdal * 1 * -dev อาจเป็นเพราะ GDAL 2 หมดและชื่อแพ็กเกจได้ลดจำนวนลงlibgdal-devไป Ubuntu 18.04 น่าจะเป็นแบบนี้
Tom Saleeba

1
ฉันได้ติดตั้งการอ้างอิงทั้งหมดแล้ว แต่ฉันยังได้รับconfigure: error: proj_api.h not found in standard or given locations.The proj_api.hอยู่ในไฟล์/usr/include. ความคิดใด ๆ ?
ismailsunni

41

หากคุณใช้ OS X กับHomebrew package managerและติดตั้ง R ผ่านการแตะ homebrew-scienceคุณสามารถติดตั้ง rgdal ได้โดยการติดตั้ง gdal ก่อน

brew install gdal

ก่อนอื่นคุณอาจต้องการแสดงรายการตัวเลือกที่มีอยู่ก่อนที่คุณจะเรียกใช้สิ่งนี้ในกรณีที่คุณต้องการสิ่งที่แปลกใหม่เช่นการสนับสนุน postgresql เพื่อดูประเภทตัวเลือกที่มี

brew options gdal

คุณสามารถพิมพ์ได้

brew install --with-postgresql gdal

หลังจากนั้นไม่นานคุณควรจะใช้การอ้างอิงได้ดีเนื่องจากprojรวมถึงproj_api.h ที่คุณต้องการคือการพึ่งพา! ขออภัย rgdal ยังไม่พบ pro_api.h ในขณะนี้เนื่องจากไม่ได้ค้นหาใน / usr / local / include ในการแก้ไขปัญหานี้และปัญหาอื่น ๆ ที่เป็นไปได้ด้วยการติดตั้ง rgdal ของคุณให้ใช้คำสั่งRต่อไปนี้เพื่อติดตั้ง rgdal:

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

สิ่งนี้ควรใกล้เคียงกับสิ่งที่คุณต้องการสำหรับMacPortsยกเว้นขั้นตอนการชงและไลบรารี / ส่วนหัวของคุณมักจะอยู่ภายใต้ "/ opt / local / lib" และ "/ opt / local / include" ตามลำดับ

หมายเหตุ: ในการผลิตตัวอัปเกรดหากคุณใช้ "- พร้อมตัวนิ่ม" เป็นตัวเลือกกับ gdal และอัพเกรดตัวนิ่มเป็น 7 จาก 6 คุณจะต้องคอมไพล์ gdal ใหม่ก่อนที่คุณจะอัปเกรด / ติดตั้ง rgdal ใหม่


ขอบคุณ. วิธีการของคุณใช้งานได้กับเครื่องของฉันหลังจากเกิดข้อผิดพลาดเล็กน้อยตามวิธีแก้ไขปัญหาอื่น ๆ ที่โพสต์
HappyCoding

พระเจ้าส่งทางแก้! ฉันไม่รู้ว่าฉันใช้เวลากี่ชั่วโมงกับเรื่องนี้ Eeesh
josiekre

ทำงานให้ฉัน สิ่งเดียวคือฉันต้องรีสตาร์ท R หลังจากติดตั้งrgdalแพ็คเกจ
Stewart Macdonald

28

บนระบบ Fedora 21 ที่ใช้ R-3.2.0 ทำงานต่อไปนี้:

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

เห็นได้ชัดว่านี่เป็นผลมาจากการพยายามซ้ำ ๆ เพื่อรับ:

install.packages("rgdal")

ไปทำงาน. คุณสามารถทำได้ทั้งหมดในการติดตั้งครั้งเดียว


ทำงานให้ฉันใน Centos ด้วย
JaKu

ฉันอยู่ใน Fedora 27 และ R 3.4.3 และคำตอบนี้ยังใช้ได้อยู่!
StrayChild01

15

บน ubuntustudio 14.04 (เหมือนกันสำหรับ debian distros ทั้งหมด):

sudo apt-get install libproj-dev libgdal-dev

จากนั้นฉันสามารถติดตั้งแพ็คเกจ 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

นี่คือสิ่งที่ฉันทำใน Centos7:

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

จากนั้นก็เพียง

install.packages("rgdal")

ทำงานได้ดี แต่ไม่ชัดเจนเลย


8
เพียงแค่การทดสอบในสด Centos 7 ผมคิดว่าคุณต้องและไม่เพียงproj-devel มิฉะนั้นเราจะได้รับproj configure: error: proj_api.h not found in standard or given locationsสำหรับ rgdal 1.2-6
HenrikB

1
ฉันต้องการเวอร์ชัน> 2.0 เพื่อใช้แพ็คเกจ sf คำแนะนำเหล่านี้ใช้ได้ผลสำหรับฉันแม้ว่าจะใช้เวลานาน แต่จงอดทน gis.stackexchange.com/questions/263495/…
เอลิน

1
เห็นด้วยกับ @HenrikB ฉันต้องการproj-develข้อผิดพลาดเดียวกัน อาจต้องการใช้sudo yum install ...
Brian D

วันนี้ฉันมีสิทธิ์แก้ไขบางอย่างใน SO ฉันจึงอัปเดตคำตอบนี้เพื่อติดตั้งproj-devel(ไม่ใช่แค่proj)
HenrikB

5

ใน OSX ฉันดาวน์โหลด proj จากhttp://www.kyngchaos.com/software/frameworksและฉันรันคำสั่งต่อไปนี้ใน 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

สิ่งนี้ใช้ได้ผลสำหรับฉัน:

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

นี่เป็นสิ่งเดียวที่ได้ผลสำหรับฉันในการค้นหาทั้งหมดที่ฉันทำ
podcastfan88

4

สำหรับ ubuntu 16.04 และ R 3.5.1 สิ่งนี้ทำงานได้ค่อนข้างเร็ว:

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

แล้ว;

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

สุดท้ายใน CRAN;

install.packages("rgdal")

2

สำหรับฉัน (Ubuntu 16.04, R 3.4.2) การผสมผสานของโซลูชันข้างต้นใช้งานได้:

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

จากนั้นติดตั้งrgdalจาก CRAN


ขอขอบคุณที่ให้ข้อมูลนี้ ฉันสามารถทำให้มันใช้งานได้กับ Ubuntu 16.04
Gabriel Fair

ในที่สุดสิ่งนั้นก็ใช้ได้ผลสำหรับฉันโดยใช้ ubuntu 18.04 ขอบคุณ
Joni Hoppen

1

สิ่งเดียวที่ทำงานบนระบบของฉันคือการรวบรวม PROJ4 จากแหล่งที่มาตามที่อธิบายไว้ที่นี่จากนั้นติดตั้งแพ็คเกจ rgdal เป็น

 install.packages("rgdal")

1

สำหรับผู้ที่อยู่ในสภาพแวดล้อมผู้ใช้หลายคนที่ติดตั้ง proj หลายเวอร์ชัน (จากแหล่งที่มา) วิธีที่ฉันใช้คือ:

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

1

สำหรับผู้ใช้ Mac (OS.X Version10.12.6) สิ่งนี้ใช้ได้กับฉัน ขั้นแรกไปที่บรรทัดคำสั่งและติดตั้งgdalโดยใช้ >> brew install gdal ประการที่สองไปที่ Rstuduio (R console) และติดตั้งแพ็คเกจโดยใช้install.packages("rgdal")



0

คำตอบข้างต้นไม่ได้ผลสำหรับฉัน (ใช้ R 3.5.1 บน Linux Mint 17.1) เวอร์ชัน GDAL ในที่เก็บ Ubuntu คือ 1.11.3 ทำให้การติดตั้ง rGDAL ล้มเหลว นี่คือวิธีแก้ปัญหาที่เหมาะกับฉัน (จากเว็บไซต์นี้ ):

sudo apt-get install libexpat1-dev

ดาวน์โหลดและติดตั้ง 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

ตรวจสอบเวอร์ชัน

gdal-config --version

จากนั้นฉันได้รับข้อผิดพลาดนี้:

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

สิ่งนี้ได้รับการแก้ไขโดยการอัปเดตการผูก:

sudo ldconfig

จากนั้นการรันinstall.packages("rgdal")ใน R ก็ใช้ได้ดี


0

ไม่สามารถรับ rgdal เพื่อติดตั้งได้อย่างถูกต้องฉันได้ลองพูดถึงทั้งหมดและคำแนะนำทั้งหมดที่นี่ R ไม่พบแพ็คเกจแม้หลังจากติดตั้งแพ็คเกจแล้ว

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

ฉันได้อัปเกรด R เป็น 3.6.1 แล้ว

ลองอีกครั้ง:

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)

ฉันได้พยายามเรียกใช้สิ่งนี้จาก Rstudio & บรรทัดคำสั่ง R 3.6.1 GUI

ทุกครั้งที่ฉันได้ลองสิ่งนี้ฉันได้ผลลัพธ์ที่เป็นบวกสำหรับไลบรารีที่กำลังติดตั้ง

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

ไฟล์ที่ฉันพยายามอ่านเป็นไฟล์ 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")

ฉันได้ลองข้างต้นด้วยรูปแบบ GTIFF .tif แล้วและฉันก็ได้รับข้อผิดพลาดเดียวกัน แต่ฉันไม่ได้พยายามอ่านไฟล์. pdf เพียงแค่. dt0, .dt1, .dt2

สิ่งนี้จะใช้ได้กับเครื่องอื่นที่ฉันติดตั้ง R ไว้อย่างไรก็ตามฉันกำลังพยายามค้นหาว่ามีอะไรผิดปกติกับการติดตั้งที่ฉันมีในเครื่อง "นี้"


0

การเพิ่มเส้นทางการรวมใน CFLAGS อย่างชัดเจนใช้ได้ผลสำหรับฉัน

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

0

หากคุณใช้MacPortsสิ่งนี้ควรใช้งานได้:

  1. ติดตั้งgdal( proj6จะติดตั้งเป็นการอ้างอิง)

    sudo port install gdal
  2. ติดตั้ง pkg-config

    sudo port install pkgconfig
  3. ตั้งค่าPKG_CONIFG_PATHตัวแปรให้ชี้ไปที่ไดเร็กทอรีที่มีproj.pcไฟล์ ในกรณีของฉันนี่คือ:

    export PKG_CONFIG_PATH=/opt/local/lib/proj6/lib/pkgconfig
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.