Instalujesz GDAL i OGR dla Pythona?

18

Zajmuję się tworzeniem kodu w Pythonie i chcę używać powiązań Pythona w GDAL / OGR. Jakie minimum muszę zainstalować, aby móc korzystać z powiązań pythonowych GDAL i OGR?

Jaki jest najprostszy sposób na zainstalowanie GDAL / OGR, jeśli chcę go używać tylko z Pythona?
Szukam odpowiedzi, która dotyczy zarówno systemu Mac, jak i Windows.

GDAL jest wymieniony w indeksie pakietów Python (PyPi), ale nie rozumiem, jak zainstalować jego zależności (libgdal i pliki nagłówkowe zarówno dla libgdal, jak i numpy). Może wszystko, co muszę zrobić, to zainstalować numpy, a następnie zdobyć gdzieś libgdal, a jeśli tak, to gdzie? Czy instalacja systemu Windows wymaga plików binarnych systemu Windows oprócz libgdal i plików nagłówkowych?

Jak mogę się upewnić, że otrzymuję odpowiednie powiązania Pythona dla mojej wersji Pythona (2.5, 2.6, 2.7, 3)?
Czy należy wprowadzić zmiany w zmiennej środowiskowej PATH, aby korzystać z GDAL i OGR z Pythona, czy też można uzyskać dostęp do wszystkiego za pośrednictwem mojego folderu pakietów stron i typowej importinstrukcji?

Te pytania dotyczą tego pytania, ale nie udzielają na nie odpowiedzi:
instalacja GEOS, PROJ, GDAL / OGR w python virtualenv w Mac OS X Jak zainstalować GDAL z Pythonem w systemie
Windows?

Powinienem zauważyć, że FWTools , OSGeo4W i kyngchaos oferują ogr i gdal z powiązaniami Pythona i są doskonałe, ale FWTools i OSGeo4W są dostarczane z własnym pythonem, zamiast działać jako biblioteki dla istniejącej instalacji Pythona, a ramy kyng chaos wydają się być tylko dla OS X.

BenjaminGolder
źródło
„Struktury kyng chaos wydają się być tylko dla Uniksa”. Myślę, że źle zrozumiałeś, są one dla OS X.
Sean
2
Zobacz gis.stackexchange.com/questions/2276/... na temat instalacji systemu Windows. Osobiście jestem wielkim fanem lfd.uci.edu/~gohlke/pythonlibs, ponieważ są one Win64 i nowsze
Mike T
3
Powracam do tego 3 lata później. Krótko mówiąc, widzę, że problem polega na tym, że instalacje bibliotek Pythona zwykle źle radzą sobie z zależnościami napisanymi w C. KyngChaos, FWTools, Anaconda itp. Wszystkie te zadania polegają na tworzeniu specyficznych dla platformy plików binarnych C, które można wykorzystać z wersją Pythona, którą mają. Zasadniczo nikt nie stworzył wieloplatformowego sposobu na pip install gdalautomatyczne włączenie i skompilowanie wszystkich niezbędnych plików z GDAL. Oczekuje się, że użyjesz innych środków do utworzenia plików binarnych GDAL.
BenjaminGolder

Odpowiedzi:

25

Dodałem to tylko, ponieważ próbowałem użyć narzędzi Kyng Chaos, ale na moim komputerze Mac OS X byłem w stanie bardzo, bardzo łatwo zainstalować to z Anacondą

conda install gdal

Publikowanie na wypadek, gdyby ktoś znalazł to ponownie - zdaję sobie sprawę, że oryginalny post ma 3 lata.

mmallek
źródło
1
Użyłem Anacondy i było to proste dla GDAL, ale teraz chciałbym móc uruchomić ogr2ogr -clipdst -105.53 39.9 -104.93 40.27 places.json ne_10m_admin_0_map_subunits.shpi wydaje się, że muszę włączyć GEOS z pliku .configure - jakiś pomysł, gdzie Anaconda umieszcza ten plik? trac.osgeo.org/geos
blehman
Doceniam notatkę, ale jest ona podobna do plików binarnych KyngChaos, ponieważ nadal nie pozwala na użycie istniejącej instalacji Pythona i musisz użyć wersji Pythona dostarczonej z Anacondą.
BenjaminGolder
Nie mogłem jednak uruchomić KyngChaos, dlatego dodałem ten pomysł. Ale Anaconda pozwala wybrać wersję Pythona do zainstalowania, więc ... Nie wiem, chyba masz powód, aby użyć innej konkretnej instalacji?
mmallek
1
Świąteczny cud znajdujący tę odpowiedź przez ponad 2 godziny, próbując przenieść mój (działający) zestaw z komputera na komputer Mac.
ScottieB,
Po zresetowaniu środowiska nie działa to już dla mnie. from osgeo import ogr
Pojawia
6

Po pierwsze, jeśli jesteś w systemie Windows, to są od razu instalatory, na link powiedział moim znajomym powyżej, ale jeśli jesteś w systemie Linux, jest to sposób na zainstalowanie libgdal 1.11.

przejdź do tej strony

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

pobierz wymagany plik .deb, wybierając architekturę systemu.

po pobraniu przejdź do pobranego katalogu i uruchom to polecenie

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

Teraz pojawi się błąd informujący, że zależności nie są zainstalowane. teraz wpisz to polecenie

$ sudo apt-get -f install

Automatycznie instaluje wszystkie zależności, a następnie ponownie uruchom główne polecenie instalacji.

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

Teraz zainstaluje się szczęśliwie. Teraz musimy zainstalować biblioteki programistów dla gdal.

$ sudo apt-get install libgdal1-dev 

export CPLUS_INCLUDE_PATH=/usr/include/gdal

export C_INCLUDE_PATH=/usr/include/gdal

Następnie, jeśli masz numpy, możesz przejść do instalacji biblioteki Pythona w GDAL, w przeciwnym razie zainstaluj numpy, aby zainstalować numpy i scipy na Linuksie

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

teraz za pomocą pipa zainstaluj bibliotekę GDAL

$ sudo pip install GDAL
narenarya
źródło
To dzięki tej odpowiedzi (przypomina mi dwie linie „eksportu”, o których zapomniałem) mogłem zainstalować GDAL w 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 (lub numer wersji odpowiadający bibliotece gdal zainstalowanej na twoim komputerze).
mgc
5

Na tej stronie znajduje się kilka samouczków , w tym sposób na skonfigurowanie środowiska. Używam pyscriptera zamiast szkarłatnego edytora, ale jedno z nich powinno działać.

dslamb
źródło
4

Nie jestem świadomy łatwego sposobu instalacji na OS X, myślę, że Kyng Chaos jest najlepszą rzeczą, podobnie jak OSGEO4W na froncie Windows. Powiązania Pythona są tylko opakowaniami do rzeczywistego kodu C / C ++, nie można uciec bez instalowania ich ze źródła lub z plików binarnych.

Pip lub easy_installmoże zrobić lewę, w zależności od wersji Pythona i obecnych bibliotek systemowych; na przykład tutaj jest katalog PyPI dla Python 2.5 . Konsekwentne instalowanie GDAL na wielu platformach i wielu wersjach Pythona pozostaje nietrywialne, ale pod wieloma względami ma sens: jest to prawdopodobnie jedna biblioteka, która leży u podstaw większości oprogramowania open source i wielu zastrzeżonych programów GIS, i ma wiele zależności od formatu danych pod tym.

scw
źródło
Jeśli chodzi o upewnienie się, że wszystko się nie psuje, możesz spojrzeć na virtualenv i virtualenvwrapper, aby pomóc utrzymać porządek.
Jacques Tardie,
PyPI ma katalogi dla wersji 2.4 (tylko win32, z GDAL 1.5, 1.6), 2.5 (mac / win32 z GDAL 1.5, 1.6) i 2.6 (tylko win32, z GDAL 1.6). Żaden nie ma GDAL 1.7. Jeśli dobrze rozumiem istotę odpowiedzi, mówisz głównie, że nie jest to łatwe, aw niektórych przypadkach pip może działać. Czy powinienem zastanowić się, jak zbudować go ze źródła?
BenjaminGolder,
@BenjaminGolder: tak, z mojego doświadczenia wynika, że ​​może to być trudne, szczególnie jeśli próbujesz obsługiwać wiele platform / wersji Pythona. Budowanie ze źródła wymaga wcześniejszej pracy, ale może być warte czasu, jeśli próbujesz opracować spójny zestaw instrukcji. Możesz również zadać pytanie na liście GDAL, którą czytają sami programiści.
scw
4

Miałem właśnie ten problem podczas instalowania GDAL / OGR wraz z instalacją Pythona ArcGIS. Moje rozwiązanie dla systemu Windows to:

  1. Pobierz pliki binarne powiązań gdal i python ze strony http://www.gisinternals.com/sdk/ . Obejmuje to wersje powiązań Pythona dla różnych wersji Pythona.
  2. Zaktualizuj ręcznie ścieżki w pliku 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)

z osgeo import ogr

z osgeo import osr

z importu gdalconst *

z osgeo import gdal

Nie jest to zbyt ładne, ale pozwala łączyć różne instalacje. Wiesz także wyraźnie, co ładujesz.

Edycja: naprawiono błąd składni

Matthew Snape
źródło
4

Użyj tego, jeśli nie obchodzi Cię dodawanie ppa,

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

$ sudo apt-get update

$ sudo apt-get install python-gdal


2019-04-19: Dodanie rozwiązania ubuntu, które mi się udało na serwerze Ubuntu w chmurze, z /programming//a/41613466/4355695

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

Nie jestem oryginalnym plakatem tej odpowiedzi, ale to pytanie jest zablokowane, więc musisz edytować istniejące. To źródło (ppa: ubuntugis / ppa) jest prawdopodobnie mniej „niestabilne” niż poprzednie sugerowało i działało dobrze dla programu python2, który próbowałem uruchomić na moim serwerze.

Naren Yellavula
źródło
1

Jeśli jesteś użytkownikiem systemu Windows, możesz znaleźć wiele przydatnych plików binarnych , pracuję z nimi i działają one bardzo dobrze ... Powodzenia, na zdrowie

Raskar Kapak
źródło
Witamy w GIS @ SE, lepiej podać więcej informacji wraz z odpowiedzią, na przykład konkretne pliki binarne i kroki instalacji, dzięki czemu informacje te są znacznie bardziej przydatne dla osoby zadającej pytanie, a także dla przyszłych osób, które zobaczą pytanie i odpowiedzi.
Mark Cupitt
0

W CentOS:

yum install gdal-python
imos
źródło