Установка GDAL и OGR для Python?


18

Я занимаюсь разработкой некоторого кода на Python и хочу использовать привязки Python GDAL / OGR. Какой минимум мне нужно установить, чтобы использовать привязки Python GDAL и OGR?

Какой самый простой способ установить GDAL / OGR, если я хочу использовать его только из Python?
Я ищу ответ, который относится как к Mac, так и к Windows.

GDAL указан в индексе пакетов Python (PyPi), но я не понимаю, как установить его зависимости (libgdal и заголовочные файлы для libgdal и numpy). Может быть, все, что мне нужно сделать, это установить NumPy и затем получить libgdal где-нибудь, и если да, то где? Требуется ли для установки Windows бинарные файлы Windows в дополнение к libgdal и его заголовочным файлам?

Как я могу убедиться, что я получаю правильные привязки Python для моей версии Python (2.5, 2.6, 2.7, 3)?
Нужно ли вносить изменения в переменную среды PATH, чтобы использовать GDAL и OGR из Python, или все можно получить через мою папку site-packages и типичное importутверждение?

Эти вопросы относятся к этому вопросу, но не отвечают на него:
установка GEOS, PROJ, GDAL / OGR в python virtualenv на Mac OS X
Как установить GDAL с Python на Windows?

Я должен отметить, что FWTools , OSGeo4W и kyngchaos предлагают ogr и gdal с привязками python и превосходны, но FWTools и OSGeo4W поставляются со своим собственным python, вместо того, чтобы выступать в роли библиотек для существующей установки python, и структуры хаоса kyng выглядят только для OS X


msgstr "фреймворки kyng chaos, по-видимому, предназначены только для Unix." Я думаю, вы не поняли, они для OS X.
Шон

2
См. Gis.stackexchange.com/questions/2276/… для установки Windows. Я лично большой поклонник lfd.uci.edu/~gohlke/pythonlibs, поскольку они Win64 и последние
Майк Т

3
Я возвращаюсь к этому 3 года спустя. Короче говоря, я вижу, что проблема в том, что установки библиотек python, как правило, плохо справляются с зависимостями, написанными на C. KyngChaos, FWTools, Anaconda и т. Д., Все делают работу по созданию специфичных для платформы двоичных файлов C, которые можно использовать с версией Python у них есть. По сути, никто не создал кроссплатформенный способ, позволяющий pip install gdalавтоматически включать и компилировать все необходимые файлы из GDAL. Ожидается, что вы будете использовать другие средства для создания бинарных файлов GDAL.
BenjaminGolder

Ответы:


25

Только добавив это, потому что я пытался использовать инструменты kyng chaos, но на своем компьютере Mac OS X я смог очень и очень легко установить это с Anaconda

conda install gdal

Публикация на случай, если кто-то найдет это снова - я понимаю, что оригинальному посту 3 года.


1
Я использовал Anaconda, и это было просто для GDAL, но теперь я хотел бы иметь возможность работать, ogr2ogr -clipdst -105.53 39.9 -104.93 40.27 places.json ne_10m_admin_0_map_subunits.shpи мне кажется, что мне нужно включить GEOS из файла .configure - есть идеи, где Anaconda помещает этот файл? trac.osgeo.org/geos
blehman

Я ценю это примечание, но это похоже на двоичные файлы KyngChaos, поскольку они по-прежнему не позволяют использовать существующую установку Python, и вы должны использовать версию Python, поставляемую с Anaconda.
BenjaminGolder

Я не мог заставить работать материал KyngChaos, поэтому добавил идею. Но Anaconda позволяет вам выбрать, какую версию Python устанавливать, так что ... Я не знаю, я думаю, у вас есть причина, по которой вам нужна другая конкретная установка?
mmallek

1
Рождественское чудо, которое нашло ответ через 2 с лишним часа, пытаясь перенести мои (рабочие) настройки с ПК на Mac.
ScottieB

После того, как мне нужно сделать сброс окружения, это больше не работает для меня. Я получаю сообщение об ошибкеfrom osgeo import ogr
ScottieB

6

Во-первых, если вы работаете в Windows, то сразу установщики, по ссылке, указанной моими друзьями выше. Но если вы работаете в Linux, это способ установки libgdal 1.11.

перейти на эту страницу

http://packages.ubuntu.com/trusty/libgdal1h

скачайте необходимый файл .deb, выбрав архитектуру вашей системы.

после загрузки перейдите в загруженный каталог и запустите эту команду

$ sudo dpkg -i libgdal1h_1.10.1+dfsg-5ubuntu1_amd64.deb 

Теперь вы получите сообщение о том, что зависимости не установлены. Теперь введите эту команду

$ sudo apt-get -f install

Он устанавливает все зависимости автоматически, теперь повторно запустите основную команду установки.

$ sudo dpkg -i libgdal1h_1.10.1+dfsg-5ubuntu1_amd64.deb 

Теперь он будет успешно установлен. Теперь нам нужно установить библиотеки разработчика для gdal.

$ sudo apt-get install libgdal1-dev 

export CPLUS_INCLUDE_PATH=/usr/include/gdal

export C_INCLUDE_PATH=/usr/include/gdal

Далее, если у вас есть numpy, вы можете перейти к установке библиотеки Python GDAL, иначе установить numpy для установки numpy и scipy при использовании Linux.

$ sudo apt-get install python-numpy python-scipy

теперь с помощью pip установите библиотеку GDAL

$ sudo pip install GDAL

Именно благодаря этому ответу (напоминающему мне две строки 'export', которые я забыл) я смог установить GDAL в virtualenv: (venv)mgc@mgc:~$ export CPLUS_INCLUDE_PATH = /usr/include/gdal (venv)mgc@mgc:~$ export C_INCLUDE_PATH = /usr/include/gdal (venv)mgc@mgc:~$ pip3 install gdal==1.11.2 (или номер версии, соответствующий библиотеке gdal, установленной на вашем компьютере).
mgc

5

На этом сайте есть несколько учебных пособий , включая способ настройки вашей среды. Я использую pyscripter поверх малинового редактора, но любой из них должен работать.


4

Я не знаю простого способа установить его на OS X, я думаю, что Kyng Chaos - лучшая вещь, как и OSGEO4W на фронте Windows. Привязки Python являются просто обертками для реального кода C / C ++, вы не можете обойтись без их установки из исходного кода или через двоичные файлы.

Пип или easy_installможет сделать трюк, в зависимости от версии Python и системных библиотек; например вот каталог PyPI для Python 2.5 . Установка GDAL последовательно на нескольких платформах и во многих версиях Python остается нетривиальной, но во многих отношениях это имеет смысл: это, пожалуй, единственная библиотека, которая лежит в основе большинства программ с открытым исходным кодом и многих проприетарных программ ГИС, и имеет большое количество зависимостей формата данных под этим.


Что касается того, чтобы убедиться, что что-то не сломалось, вы можете посмотреть на virtualenv и virtualenvwrapper, чтобы сохранить вещи в чистоте.
Жак Тарди

PyPI имеет каталоги для 2,4 (только win32, с GDAL 1.5, 1.6), 2.5 (mac / win32 с GDAL 1.5, 1.6) и 2.6 (только win32, с GDAL 1.6). Ни у кого нет GDAL 1.7. Если я правильно понимаю суть ответа, вы в основном говорите, что это нелегко, и в некоторых случаях этот пункт может сработать. Должен ли я искать, как построить его из источника?
BenjaminGolder

@ BenjaminGolder: верно, по моему опыту, это может быть сложно, особенно если вы пытаетесь поддерживать много платформ / и версий Python. Сборка из исходного кода требует больше усилий, но может стоить потраченного времени, если вы пытаетесь разработать последовательный набор инструкций. Вы также можете задать свой вопрос в списке GDAL, который читают сами разработчики.
Scw

4

У меня была именно эта проблема при установке GDAL / OGR вместе с установкой ArcGIS python. Мое решение для окон было:

  1. Загрузите двоичные файлы привязок gdal и python с http://www.gisinternals.com/sdk/ . Это включает в себя версии привязок Python для разных версий Python.
  2. Обновите пути в файле python вручную:

os.environ ['PATH'] = "C: / Program Files (x86) / GDAL /;" + os.environ ['PATH']

oldpaths = sys.path

sys.path = ["C: / Program Files (x86) / GDAL / python /",]

sys.path.extend (oldpaths)

от osgeo import ogr

от osgeo import osr

из gdalconst import *

из osgeo import gdal

Это не очень красиво, но позволяет смешивать различные установки. Вы также четко знаете, что вы загружаете.

Редактировать: исправлена ​​ошибка синтаксиса


4

Используйте это, если вы не заботитесь о добавлении ppa,

$ sudo apt-add-repository ppa: ubuntugis / ubuntugis-unstable

$ sudo apt-get update

$ sudo apt-get установить python-gdal


2019-04-19: добавление решения Ubuntu, которое сработало для меня на облачном сервере Ubuntu, с /programming//a/41613466/4355695

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

Я не являюсь автором этого ответа, но этот вопрос заблокирован, поэтому придется редактировать существующий. Этот источник (ppa: ubuntugis / ppa), вероятно, менее "нестабилен", чем предполагалось предыдущим, и отлично работал для программы на python2, которую я пытался запустить на своем сервере.


1

Если вы пользователь Windows, вы можете найти много полезных двоичных файлов , я работаю с ними, и они работают очень хорошо ... Удачи, ура


Добро пожаловать в GIS @ SE, лучше предоставить больше информации с вашим ответом, например, конкретные двоичные файлы и шаги для установки, это делает информацию намного более полезной для человека, задающего вопрос, а также для будущих людей, которые просматривают вопрос и ответы.
Марк Купитт

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.