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


18

Я розробляю деякий код у Python, і хочу використовувати прив'язки python GDAL / OGR. Який мінімум мені потрібно встановити для використання прив'язок пітонів 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, чи все можна отримати через папку моїх пакетів сайтів та типовий importоператор?

Ці питання стосуються цього питання, але не відповідають на нього:
встановлення GEOS, PROJ, GDAL / OGR в python virtualenv на Mac OS X
Як встановити GDAL з Python на windows?

Я мушу зазначити, що FWTools , OSGeo4W і kyngchaos пропонують ogr і gdal з прив'язками python і є чудовими, але FWTools і OSGeo4W поставляються зі своїм власним пітоном, а не виступають як бібліотеки для існуючої установки python, і рамки хаосу кінг виглядають як лише для OS X


"Здається, що рамки хаосу кінг призначені лише для Unix." Я думаю, ви неправильно розумієте, вони для OS X.
Шон,

2
Дивіться gis.stackexchange.com/questions/2276/… для встановлення Windows. Я особисто є великим шанувальником lfd.uci.edu/~gohlke/pythonlibs, оскільки вони є Win64 та останніми
Mike T

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

Відповіді:


25

Додаю це лише тому, що я спробував використовувати інструменти хаосу Кінга, але на моїй машині 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

Саме завдяки цій відповіді (нагадує мені про два "експортних" рядки, про які я забув) я зміг встановити 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 ++, ви не можете піти, не встановивши їх ні з джерела, ні через бінарні файли.

Pip або 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: правильно, на мій досвід, це може бути складним, особливо якщо ви намагаєтеся підтримувати багато платформ / і Python версій. Побудова з джерела потребує більшої роботи, але, можливо, варто витратити час, якщо ви намагаєтесь розробити послідовний набір інструкцій. Ви можете також поставити своє запитання у списку GDAL, який читають самі розробники.
scw

4

У мене була така точна проблема при установці GDAL / OGR поряд із встановленням ArcGIS python. Моє рішення для Windows:

  1. Завантажте бінарні файли прив’язок gdal та python з http://www.gisinternals.com/sdk/ . Сюди входять версії зв'язків python для різних версій python.
  2. Оновіть шляхи у файлі python вручну:

os.environ ['PATH'] = "C: / Файли програми (x86) / GDAL /;" + os.environ ['PATH']

oldpaths = sys.path

sys.path = ["C: / Файли програми (x86) / GDAL / python /",]

sys.path.extend (oldpaths)

з osgeo import ogr

з імпорту osgeo osr

від імпорту gdalconst *

з osgeo import gdal

Це не дуже красиво, але дозволяє змішувати різні установки. Ви також чітко знаєте, що завантажуєте.

Редагувати: виправлена ​​помилка синтаксису


4

Використовуйте це, якщо вам не байдуже додавання ppa,

$ sudo apt-add-repository ppa: ubuntugis / ubuntugis-нестабільний

$ sudo apt - отримати оновлення

$ sudo apt-get install 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.