Установка пакета rgdal

Проблема здесь не в том, как строить карты через R, так как я нашел уже довольно хороший пример here, как заставить его работать. На самом деле, я не могу загрузить библиотеку 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

Любой вход приветствуется!

Ответ 1

Если вы посмотрите на страницу пакета на 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, созданные Уильямом Кинсберие в 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

Ответ 2

Если вы используете OS X с менеджером пакетов Homebrew, и R установлен через homebrew-science tap, вы можете установить 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, за исключением шагов brew, и ваши библиотеки/заголовки, скорее всего, находятся в папках "/opt/local/lib" и "/opt/local/include" соответственно.

Примечание: для создания обновлений, если вы используете "--with-armadillo" в качестве опции с gdal и обновили armadillo до 7 с 6. Вам придется перекомпилировать gdal перед обновлением/переустановкой rgdal.

Ответ 3

В системе 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")

работать. Возможно, вы можете сделать все это в одной установке.

Ответ 4

В 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

Ответ 5

Вот что я сделал на Centos7:

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

Тогда просто

install.packages("rgdal")

Работало нормально, но не совсем понятно.

Ответ 6

В 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'))

Ответ 7

Это сработало для меня:

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

Ответ 8

Для 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")

Ответ 9

Для меня (Ubuntu 16.04, R 3.4.2), смесь вышеперечисленных решений работает:

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

Затем просто установил rgdal из CRAN.

Ответ 10

Единственное, что работало в моей системе, - это скомпилировать PROJ4 из источника, как описано здесь, а затем установить пакет rgdal как

 install.packages("rgdal")

Ответ 11

Для людей в многопользовательских средах с несколькими версиями proj, установленными (из источника), метод, который я использовал, был:

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

Ответ 12

Для пользователей Mac (OS.X Version10.12.6), это сработало для меня. Сначала перейдите в командную строку и установите gdal, используя → brew install gdal Во-вторых, добрались до Rstuduio (консоль R) и установили пакет с помощью install.packages("rgdal")

Ответ 13

Чтобы это исправить, вам нужно install libgdal-dev:

$ sudo apt install libgdal-dev

Ответ 14

Ни один из приведенных выше ответов не работал для меня (работает 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 работал нормально.

Ответ 15

Не удалось установить 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 и получаю ту же ошибку. Но я не пытаюсь читать файлы .hdf, просто .dt0,.dt1,.dt2

это будет работать на другой машине, на которой у меня установлен R, однако я пытаюсь выяснить, что не так с установкой, установленной на "этой" машине.