2013-03-06 4 views
78

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

Любой вход Добро пожаловать!

+13

Если вы используете подобную debian систему, попробуйте установить пакет 'libproj-dev'. – juba

+0

Я использую debian. установка 'libproj-dev' ничего не меняла (я думаю, он уже был установлен). 'sudo port install proj' создает следующее исключение:' sudo: port: command not found' Любая идея? – user706838

+1

Какую команду вы использовали для установки своего пакета? – juba

ответ

111

Я ж вы смотрите на package page on CRAN, вы увидите следующее:

SystemRequirements: for building from source: GDAL >= 1.7.1 library from http://trac.osgeo.org/gdal/wiki/DownloadSource and PROJ.4 (proj >= 4.4.9) from http://trac.osgeo.org/proj/ ; GDAL OSX frameworks built by William Kyngesburye at http://www.kyngchaos.com/ may be used for source installs on 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 
+0

Не работает для меня, работает Linux Mint 17.1. Ребекка построена на Ubuntu 14.04 trusty - 'apt-file' не работал. Я закончил удаление 'libproj-dev' и переустановил его из-за некоторой проблемы с коррупцией, а затем установил' libgdal1', 'libgdal1-dev' и зависимости (версия 1.11.2 в официальном репозитории на момент написания этой статьи, но я увидел [версия 2] (http://download.osgeo.org/gdal/2.0.0/), поэтому изменение может быть на горизонте) – MichaelChirico

4

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

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

Это единственное, что сработало для меня во всех поисках, которые я сделал , – podcastfan88

+1

это не работает для меня (для версии R 3.2.2) – HappyCoding

7

На 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 
24

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

Примечание: заварить апгрейда, если вы используете «--with-броненосца» в качестве опции с GDAL и модернизированной броненосца до 7 из 6. Вам нужно будет перекомпилировать GDAL перед обновлением/Переустановка rgdal ,

+0

спасибо. ваш метод работает на моей машине после нескольких сбоев в соответствии с другим опубликованным решением. – HappyCoding

+0

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

+0

Работал для меня. Осталось только перезагрузить R после установки пакета 'rgdal'. – smacdonald

1

Единственное, что работал на моей системе было компилировать Proj4 от источника, как описано here, а затем вселить в rgdal пакет как

install.packages("rgdal") 
19

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

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

+0

Работал и на Centos. – JaKu

+0

Я в Fedora 27 и R 3.4.3, и этот ответ все еще работает! – StrayChild01

4

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

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

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

Тогда просто

install.packages("rgdal")

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

+3

Просто протестированный в новом Centos 7, я думаю, вам нужно 'proj-devel', а не просто' proj'. В противном случае мы получаем 'configure: error: proj_api.h не найден в стандартном или заданном месте. Это для rgdal 1.2-6. – HenrikB

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

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

-1

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

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

Тогда просто установил rgdal от CRAN.