Installazione di GDAL e OGR per Python?


18

Sto sviluppando un po 'di codice in Python e voglio usare i collegamenti python GDAL / OGR. Qual è il minimo che devo installare per utilizzare i binding python GDAL e OGR?

Qual è il modo più semplice per installare GDAL / OGR se voglio usarlo solo da Python?
Sto cercando una risposta che si applica sia a Mac che a Windows.

GDAL è elencato nell'indice dei pacchetti Python (PyPi) ma non capisco come installare le sue dipendenze (libgdal e i file di intestazione sia per libgdal che per numpy). Forse tutto quello che devo fare è installare numpy e quindi ottenere libgdal da qualche parte, e se sì, dove? Un'installazione di Windows necessita dei binari di Windows oltre a libgdal e ai suoi file di intestazione?

Come posso assicurarmi di ottenere i binding python corretti per la mia versione di Python (2.5, 2.6, 2.7, 3)?
È necessario apportare modifiche alla variabile di ambiente PATH per utilizzare GDAL e OGR da Python, oppure è possibile accedere a tutto tramite la cartella dei pacchetti del sito e importun'istruzione tipica ?

Queste domande sono rilevanti per questa domanda ma non rispondono:
installazione di GEOS, PROJ, GDAL / OGR in un python virtualenv su Mac OS X
Come installare GDAL con Python su Windows?

Devo notare che FWTools , OSGeo4W e kyngchaos offrono ogr e gdal con collegamenti in pitone e sono eccellenti, ma FWTools e OSGeo4W vengono forniti con il proprio pitone, anziché fungere da librerie per un'installazione esistente di pitone, e i framework di caos kyng sembrano essere solo per OS X.


"i framework del caos kyng sembrano essere solo per unix." Penso che tu fraintenda, sono per OS X.
Sean,

2
Vedere gis.stackexchange.com/questions/2276/… per Windows Install. Personalmente sono un grande fan di lfd.uci.edu/~gohlke/pythonlibs in quanto sono Win64 e recenti
Mike T,

3
Sto rivisitando questo 3 anni dopo. In breve, posso vedere che il problema è che le installazioni di librerie python tendono a fare un cattivo lavoro nel gestire le dipendenze scritte in C. KyngChaos, FWTools, Anaconda, ecc. Tutte fanno il lavoro di creazione di binari C specifici della piattaforma che possono essere usati con la versione di Python che hanno. Fondamentalmente nessuno ha creato un modo multipiattaforma per solo pip install gdale avere automaticamente includere e compilare tutti i file necessari da GDAL. Si prevede che utilizzerai altri mezzi per creare i binari GDAL.
BenjaminGolder,

Risposte:


25

L'ho aggiunto solo perché ho provato a usare gli strumenti di kyng caos, ma sul mio computer Mac OS X sono stato in grado di installarlo molto, molto facilmente con Anaconda

conda install gdal

Pubblicare nel caso in cui qualcuno lo trovi di nuovo - Mi rendo conto che il post originale ha 3 anni.


1
Ho usato Anaconda ed è stato semplice per GDAL, ma ora mi piacerebbe essere in grado di eseguire ogr2ogr -clipdst -105.53 39.9 -104.93 40.27 places.json ne_10m_admin_0_map_subunits.shpe sembra che devo abilitare GEOS da un file .configure - hai idea di dove Anaconda inserisca questo file? trac.osgeo.org/geos
blehman,

Apprezzo la nota, ma è simile ai binari di KyngChaos, in quanto non consente ancora di utilizzare un'installazione di Python esistente ed è necessario utilizzare la versione di Python fornita con Anaconda.
BenjaminGolder,

Non sono riuscito a far funzionare le cose di KyngChaos, quindi aggiungendo l'idea. Ma Anaconda ti consente di scegliere quale versione di Python installare, quindi ... Non lo so, immagino che tu abbia un motivo per aver bisogno dell'altra installazione specifica da utilizzare?
mmallek,

1
Un miracolo natalizio che ha trovato questa risposta circa 2+ ore nel tentativo di trasferire la mia configurazione (funzionante) da PC a Mac.
ScottieB,

Dopo aver dovuto ripristinare l'ambiente, questo non funziona più per me. from osgeo import ogr
Viene visualizzato

6

Prima se sei su Windows, poi ci sono subito dei programmi di installazione, sul link detto ai miei amici sopra, ma se sei su Linux questo è il modo per installare libgdal 1.11.

vai a questa pagina

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

scarica il file .deb richiesto scegliendo la tua architettura di sistema.

dopo averlo scaricato vai nella directory scaricata ed esegui questo comando

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

Ora verrà visualizzato un errore a indicare che le dipendenze non sono installate. ora digita questo comando

$ sudo apt-get -f install

Installa automaticamente tutte le dipendenze ora esegue nuovamente il comando di installazione principale.

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

Ora verrà installato felicemente. Ora dobbiamo installare le librerie degli sviluppatori per gdal.

$ sudo apt-get install libgdal1-dev 

export CPLUS_INCLUDE_PATH=/usr/include/gdal

export C_INCLUDE_PATH=/usr/include/gdal

Successivamente se hai numpy, puoi procedere all'installazione della libreria python GDAL, altrimenti installa numpy, per installare numpy e scipy su Linux

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

ora usando pip installa la libreria GDAL

$ sudo pip install GDAL

È grazie a questa risposta (mi ricorda le due righe di 'esportazione' che avevo dimenticato) che sono stato in grado di installare GDAL in un 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 (o il numero di versione corrispondente alla libreria gdal installata sul tuo computer).
mgc,

5

Esistono diversi tutorial su questo sito , incluso un modo per configurare l'ambiente. Uso pyscripter sull'editor cremisi, ma entrambi dovrebbero funzionare.


4

Non sono a conoscenza di un modo semplice per installarlo su OS X, penso che Kyng Chaos sia la cosa migliore da fare, così come OSGEO4W sul fronte di Windows. I binding Python sono solo wrapper per il codice C / C ++ effettivo, non puoi scappare senza installarli dal sorgente o tramite i binari.

Pip o easy_installpuò fare il trucco, a seconda della versione di Python e delle librerie di sistema presenti; per esempio ecco la directory PyPI per Python 2.5 . L'installazione di GDAL in modo coerente su più piattaforme e versioni multiple di Python rimane non banale, ma per molti versi ha senso: è forse l'unica libreria alla base della maggior parte dei software GIS open source e molti proprietari, e ha un gran numero di dipendenze del formato dei dati sotto di esso.


Per quanto riguarda assicurarsi che le cose non si rompano, potresti voler guardare virtualenv e virtualenvwrapper per aiutare a mantenere le cose in ordine.
Jacques Tardie,

PyPI ha directory per 2.4 (solo win32, con GDAL 1.5, 1.6), 2.5 (mac / win32 con GDAL 1.5, 1.6) e 2.6 (solo win32, con GDAL 1.6). Nessuno ha GDAL 1.7. Se capisco correttamente l'essenza della risposta, stai principalmente dicendo che non è facile e che pip potrebbe funzionare in alcuni casi. Dovrei cercare come costruirlo dalla fonte?
BenjaminGolder,

@BenjaminGolder: giusto, nella mia esperienza può essere complicato, specialmente se stai cercando di supportare molte piattaforme / e versioni di Python. Costruire dalla fonte richiede più lavoro in anticipo ma può valere la pena se stai cercando di sviluppare un set coerente di istruzioni. Puoi anche porre la tua domanda nell'elenco GDAL che viene letto dagli sviluppatori stessi.
scw,

4

Ho avuto questo esatto problema durante l'installazione di GDAL / OGR insieme all'installazione python di ArcGIS. La mia soluzione per Windows era:

  1. Scarica i binari dei collegamenti gdal e python da http://www.gisinternals.com/sdk/ . Ciò include le versioni dei binding di Python per diverse versioni di Python.
  2. Aggiorna manualmente i percorsi nel file python:

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

oldpaths = sys.path

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

sys.path.extend (oldpaths)

da osgeo import ogr

da osgeo import osr

da gdalconst import *

da osgeo import gdal

Questo non è molto carino ma ti permette di mescolare diverse installazioni. Sai anche esplicitamente cosa stai caricando.

Modifica: errore di sintassi corretto


4

Usalo se non ti interessa l'aggiunta di ppa,

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

$ sudo apt-get update

$ sudo apt-get install python-gdal


19-04-2019: Aggiunta di una soluzione Ubuntu che ha funzionato per me su un server Ubuntu cloud, da /programming//a/41613466/4355695

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

Non sono il poster originale di questa risposta, ma questa domanda è bloccata, quindi è necessario modificarne una esistente. Questo sorgente (ppa: ubuntugis / ppa) è probabilmente meno "instabile" rispetto al precedente suggerito, e ha funzionato bene per un programma python2 che stavo cercando di eseguire sul mio server.


1

Se sei un utente di Windows, puoi trovare molti binari utili , sto lavorando con questi e stanno funzionando molto bene ... Buona fortuna, evviva


Benvenuto in GIS @ SE, è meglio fornire maggiori informazioni con la tua risposta, ad esempio binari specifici e passaggi per l'installazione, questo rende le informazioni molto più utili per la persona che pone la domanda e per le persone future che la visualizzano e risposte.
Mark Cupitt,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.