Встановлення пакету 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
Якщо у системі, схожа на debian, спробуйте встановити libproj-devпакет.
Джуба

1
Яку команду ви використовували для встановлення вашого пакета?
Джуба

1
Вибачте, я мав намір встановити rgdal ... А яку версію debian ви використовуєте?
Джуба

4
Ви користувались install.packages("rgdal")?
Джуба

2
Щоб позначити відповідь правильною, ви можете перевірити зелену позначку. І вам не доведеться підтримувати кожен коментар, який я зробив :) Радий, що ви вирішили свою проблему.
Джуба

Відповіді:


129

Якщо ви подивитеся на сторінку пакета на CRAN , ви побачите наступне:

Вимоги до системи: для створення з джерела: GDAL> = 1.7.1 бібліотека з http://trac.osgeo.org/gdal/wiki/DownloadSource та PROJ.4 (proj> = 4.4.9) з http: //trac.osgeo .org / proj / ; Рамки GDAL OSX, побудовані Вільямом Кингесбері на http://www.kyngchaos.com/, можуть використовуватися для встановлення джерела на OSX.

Оскільки ви, здається, перебуваєте під Linux, ви завжди створюєте пакунок з джерела, тому вам доведеться встановити відповідні бібліотеки у вашій системі. Якщо ви перебуваєте під монетним двором, 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, схоже, такий.
Том Салееба

1
Я встановив всі залежності, але я все ще отримав configure: error: proj_api.h not found in standard or given locations.The proj_api.hтакож знайдений в /usr/include. Будь-яка ідея?
ismailsunni

41

Якщо ви використовуєте OS X з диспетчером пакунків Homebrew , а 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" відповідно.

Примітка: для приготування оновлення, якщо ви використовуєте "--with-armadillo" як опцію з gdal, і оновлено armadillo до 7 з 6. Вам доведеться перекомпілювати gdal перед оновленням / перевстановленням rgdal.


Дякую. ваш метод працює на моїй машині після кількох відмов відповідно до іншого розміщеного рішення.
HappyCoding

Бог послав рішення! Я не знаю, скільки годин я витратив на це. Eeesh
josiekre

Працювали для мене. Інше, що мені потрібно було перезапустити R після встановлення rgdalпакета.
Стюарт Макдональд,

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

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.
ГенрікБ

1
Для використання пакету sf мені знадобилася версія> 2.0. Ці вказівки спрацювали для мене, хоча вони потребували тривалого часу, будьте терплячі. gis.stackexchange.com/questions/263495/…
Елін

1
погоджуюся з @HenrikB, мені потрібна була proj-develта сама помилка. також можуть захотіти використовуватиsudo yum install ...
Brian D

Ці дні у мене є деякі права редагування на SO, тому я оновив цю відповідь, щоб встановити proj-devel(не тільки proj)
HenrikB

5

В OSX я завантажую програму з http://www.kyngchaos.com/software/frameworks і запускаю наступну команду в Р.

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
Габріель Ярмарок

Цей зрештою розробив для мене за допомогою ubuntu 18.04. Дякую
Джоні Хоппен

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) та встановіть пакет за допомогою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

Файли, які я намагаюся прочитати, - це вкладені файли?

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, і я отримую ту ж помилку. Але я не намагаюся читати .hdf файли, просто .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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.