Installare GDAL con Python su Windows?


92

Qualcuno può spiegare come installare GDAL / OGR con Python su Windows?

Ho Windows Vista e ho provato a seguire le informazioni sul sito Web e non sembra vincolare i file exe per me.

Qualcuno può descrivere il processo, compresi i collegamenti ai file / cartelle di cui avrò bisogno?

Ora ho provato a eseguire l'installazione di gdal con minGW, ma anche questo non è riuscito:

GDAL_FAIL

Risposte:


63

A meno che tu non abbia buone ragioni per non farlo, consiglio vivamente di iniziare con il programma di installazione OSGeo4W , che può installare più versioni diverse di GDAL e i relativi collegamenti Python. Funziona alla grande e semplifica notevolmente la storia della distribuzione di Windows. In particolare, ti consigliamo di installare pkg-gdal-python , che si trova all'interno di "Libs" nella struttura di installazione.


8
Quindi ho usato il programma di installazione di OSGeo4W per installare gdal e poi ho provato la loro piccola interfaccia a riga di comando, ma in Python non ero ancora in grado di fare quanto segue: import gdal
GuidoS

7
OSGEO4W installa la propria istanza Python nella radice OSGEO4W. Per usare Python che include gdal e tutti gli altri moduli OSGEO, apri la shell OSGEO4W start> file di programma> osgeo4w. Avvia Python o esegui uno script Python da lì.
DavidF

8
Provafrom osgeo import gdal
DavidF

3
@scw, considera la possibilità di raggruppare gli esempi dai commenti alla tua risposta. Semplifica il raggruppamento delle informazioni pertinenti in un insieme coerente (in parte grazie alla possibilità di preservare la formattazione del codice). Vota i commenti che usi come mezzo per accreditare e riconoscere la fonte.
matt wilkie,

6
C'è un modo per usare "from osgeo import gdal" dalla mia shell Python principale invece di usare la shell di OSGEO?
Alexis Eggermont,

58

Puoi scaricare il pacchetto ruote GDAL dai binari non ufficiali di Windows di Christoph Gohlke per i pacchetti di estensione Python .

Può essere installato da cmd.exe usando qualcosa come:

c:\Python27\Scripts\pip.exe install GDAL-X.Y.Z-cp27-none-win_XYZ.whl

(Dovresti installare NumPy dallo stesso posto usando un comando simile)

Sebbene il pacchetto non sia creato dagli sviluppatori OSGeo o GDAL, è una distribuzione di alta qualità con supporto per le ultime versioni di GDAL compilate per le versioni a 32 e 64 bit di Python. Non è necessario aggiungere o gestire librerie esterne!

Aggiorna imposta anche la GDAL_DATAvariabile di ambiente, se non è impostata, e include un PostgreSQLdriver per leggere i dati da PostGIS.


2
+1 Ho trovato quella pagina una fonte inestimabile di distribuzioni Python per Windows a 64 bit
geographika

1
Ho difficoltà a far funzionare questo programma di installazione perché non riesce a rilevare le mie installazioni di Python. Ho installato python26 e python27 C:/Python2Xma non riesco a trovarlo .... non importa! Scegli 64 bit invece di 32 ....
djq,

Questo ha funzionato per me molto più facilmente della risposta accettata poiché non voglio un'altra installazione di Python e Numpy.
Ahmed Fasih,

Queste linee sono ora incluse con l'installazione.
Barbarossa,

grazie @ Barbarossa, ho aggiornato questa risposta per riflettere lo stato attuale del pacchetto.
Mike T

15

Un'altra opzione è installare la distribuzione Anaconda Python che ha pacchetti per GDAL. Se hai intenzione di lavorare molto usando GDAL con altri pacchetti Python (scipy, panda, scikit-learn ecc.), Questa potrebbe essere un'opzione migliore di OSGeo4W. D'altra parte, se si desidera utilizzare Python in combinazione con una serie di pacchetti open source di telerilevamento e GIS (GRASS, QGIS ecc.), OSGeo4W è probabilmente l'opzione migliore.

Puoi ottenere la distribuzione completa di Anaconda da: https://www.continuum.io/downloads che contiene molti pacchetti Python finalizzati alla "scienza dei dati" o un'installazione minima da http://conda.pydata.org/miniconda. html

Come parte dell'installazione ti verrà chiesto di aggiungere al percorso principale (quindi è disponibile da qualsiasi terminale).

Una volta impostato, GDAL può essere installato in un nuovo ambiente usando:

conda create -n gdal_env -c conda-forge gdal

Quindi attivandolo come spettacolo al termine del comando. Si consiglia l'installazione in un nuovo ambiente per evitare conflitti con altri pacchetti e assicurarsi che siano impostate le variabili ambientali richieste.

Ho suggerito l'installazione dal canale conda-forge ( https://conda-forge.github.io/ ) in quanto sono molto attivi nel mantenere aggiornati i loro build GDAL e assicurarsi che funzionino con molte librerie.

Una volta installati i pacchetti possono essere aggiornati dall'interno dell'ambiente usando:

conda update gdal

1
Questo è sicuramente il metodo più semplice, specialmente se hai intenzione di installare altri pacchetti Python complessi (es. Scikit-learn, numpy)
bgordon

1
Questo è fantastico! Particolarmente bello b / c è possibile eseguirlo attraverso la riga di comando e tramite Python.
mmann1123,

Si può anche installarlo andando su "Ambienti" e selezionare l'ambiente che si desidera utilizzare. Quindi cerca "gdal" in "Tutti" dei pacchetti
Goncalo Peres,


9

Trovo OSGEO4W una soluzione scadente perché crea un intero universo parallelo, quasi come una macchina virtuale. Sono stato in grado di installare GDAL e utilizzarlo in Python seguendo i passaggi descritti qui (questo è il link fornito da @ sys49152).

Ti manda su gisinternals.com. Prendi il link a "versioni stabili" per accedere a: http://www.gisinternals.com/release.php

Ora devi scegliere tra 32 e 64 bit e diverse versioni del compilatore di Microsoft Visual C ++. Nota che questo deve corrispondere alla tua versione di Python, non al tuo sistema operativo. Nel mio caso ho un Windows a 64 bit, ma un Python 2.7 a 32 bit (fornito con ArcGIS).

Per vedere cosa hai, puoi eseguire Python dalla riga di comando e un messaggio come questo:

C:\>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Quindi ho bisogno di usare "release-1500"

Ho selezionato: MSVC 2013/win32 release-1500-gdal-1-11-3-mapserver-6-4-2

(i numeri della versione di build cambieranno nel tempo)

Ho prima scaricato e installato il "programma di installazione generico per i componenti principali GDAL": gdal-111-1500-core.msi

E aggiunto il percorso e altre variabili come descritto qui .

Aggiungi al percorso: C:\Program Files (x86)\GDAL crea variabili ambientali: GDAL_DATA = C:\Program Files (x86)\GDAL\gdal-data GDAL_DRIVER_PATH = C:\Program Files (x86)\GDAL\gdalplugins

Quindi, ho scaricato e installato il modulo Python per Python 2.7 GDAL-1.11.3.win32-py2.7.msi

E dopo ciò, in Python sono stato in grado di farlo

from osgeo import gdal
ds = gdal.Open('file.tif')

eccetera.


Ben documentato passo dopo passo. Grazie.
Cotton.Rockwood,

6

So che è stato menzionato il programma di installazione di OSGEO, ma come ha detto GuidoS, non funziona se non sei sulla shell osgeow, il che va bene e dandy se tutto ciò che stai facendo è un pitone di base. In caso contrario, è necessario reinstallare il pacchetto e quindi eseguire l'app / plug-in da quella cartella o compilare tutte le dipendenze per gdal e installarlo di nuovo.

Ciò che funziona per me è:

  • In PyDev / Eclipse (non il mio IDE primario), aggiungo l'elenco di librerie all'interprete python predefinito
  • Utilizzare la console integrata per eseguire i file

3
È possibile impostare o4w python come python predefinito del sistema, ad esempio renderlo disponibile a tutto, aggiungendolo al registro di sistema. Esiste uno script Python per farlo su Windows a 32 bit su trac.osgeo.org/osgeo4w/ticket/114 (64 bit deve essere aggiunto a mano).
matt wilkie,


5

Non è poi così difficile da fare. L'ho compilato molte volte prima di utilizzare Visual Studio senza problemi. Segui le indicazioni qui: link del testo .

È piuttosto semplice, basta leggere il ben documentato makefile.vc e impostare le directory appropriate, in particolare quella di Python. Una volta creato, dovresti avere un modulo Python creato che puoi quindi copiare nella tua installazione Python, cosa che ho sempre fatto manualmente, ma probabilmente c'è un metodo più appropriato.


5

Le due risposte principali di @SCW e @Mike Toews sono fantastiche. Il sito elencato da Mike è per i binari non ufficiali, il che è stato molto utile quando GDAL a 64 bit non era prontamente disponibile (come al momento in cui ha scritto la sua risposta), ma è stato per un po 'di tempo. Ho aggiunto questa risposta alternativa qui poiché, anche se l'ho menzionato molte volte, continua a spuntare e questa wiki potrebbe essere un posto migliore per dirla.

Se si desidera installare solo i binari GDAL per Python su una macchina Windows, otterrei gli installatori dall'eccellente sito GIS Internals . Questo sito è collegato dalla pagina ufficiale dei binari GDAL / OGR . Questo ti dà accesso a GDAL attraverso una normale installazione di Python senza la necessità di usare la shell osgeow. I binari qui vengono regolarmente mantenuti e compilati su una varietà di versioni di Visual Studio (quindi scegli a seconda di quali runtime hai installato).


Non è affatto un problema avere più runtime MSVC installati sullo stesso computer. Se hai bisogno di driver speciali come ECW e MrSid, nota che ci sono diverse opportunità compilate sotto le diverse piattaforme MSVC. Basta seguire il informationlink e vedere le differenze.
AndreJ,


2

Uso FWTools in Windows XP. Include un'installazione Python con le librerie GDAL. Dopo l'installazione, esegui gli script Python da FWTools Shell .


1
FWTools era un buon strumento al momento, ma da allora non ha più aggiornamenti. Suggerisco di passare a gisinternlas che è ancora attivamente mantenuto.
AndreJ,


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.