Installer GDAL et OGR pour Python?


18

Je développe du code en Python, et je veux utiliser les liaisons python GDAL / OGR. Quel est le minimum que je dois installer pour utiliser les liaisons python GDAL et OGR?

Quelle est la façon la plus simple d'installer GDAL / OGR si je veux seulement l'utiliser à partir de Python?
Je cherche une réponse qui s'applique à la fois à Mac et à Windows.

GDAL est répertorié dans le Python Package Index (PyPi) mais je ne comprends pas comment installer ses dépendances (libgdal et les fichiers d'en-tête pour libgdal et numpy). Peut-être que tout ce que je dois faire est d'installer numpy puis d'obtenir libgdal quelque part, et si oui, où? Une installation Windows a-t-elle besoin des fichiers binaires Windows en plus de libgdal et de ses fichiers d'en-tête?

Comment puis-je m'assurer d'obtenir les liaisons python appropriées pour ma version de Python (2.5, 2.6, 2.7, 3)?
Des modifications doivent-elles être apportées à la variable d'environnement PATH afin d'utiliser GDAL et OGR à partir de Python, ou tout est accessible via mon dossier site-packages et une importinstruction typique ?

Ces questions sont pertinentes à cette question mais n'y répondent pas:
installer GEOS, PROJ, GDAL / OGR dans un virtualenv python sur Mac OS X
Comment installer GDAL avec Python sur Windows?

Je dois noter que FWTools , OSGeo4W et kyngchaos offrent ogr et gdal avec des liaisons python et sont excellents, mais FWTools et OSGeo4W sont livrés avec leur propre python, plutôt que d'agir comme des bibliothèques pour une installation existante de python, et les cadres de kyng chaos semblent être pour OS X uniquement.


"Les frameworks kyng chaos ne semblent être que pour unix." Je pense que vous vous méprenez, ils sont pour OS X.
Sean

2
Voir gis.stackexchange.com/questions/2276/… pour l'installation de Windows. Je suis personnellement un grand fan de lfd.uci.edu/~gohlke/pythonlibs car ils sont Win64 et récents
Mike T

3
Je revisite cela 3 ans plus tard. En bref, je peux voir que le problème est que les installations de bibliothèques python ont tendance à mal gérer les dépendances écrites en C. KyngChaos, FWTools, Anaconda, etc. font toutes le travail de création de binaires C spécifiques à la plate-forme qui peuvent être utilisés avec la version de Python qu'ils ont. Fondamentalement, personne n'a créé un moyen multiplateforme de simplement pip install gdalet de le faire inclure et compiler automatiquement tous les fichiers nécessaires à partir de GDAL. Il est prévu que vous utilisiez d'autres moyens pour créer les binaires GDAL.
BenjaminGolder

Réponses:


25

J'ajoute cela uniquement parce que j'ai essayé d'utiliser les outils kyng chaos, mais sur ma machine Mac OS X, j'ai pu l'installer très, très facilement avec Anaconda

conda install gdal

Publication au cas où quelqu'un trouverait cela à nouveau - je me rends compte que la publication d'origine a 3 ans.


1
J'ai utilisé Anaconda et c'était simple pour GDAL, mais maintenant j'aimerais pouvoir exécuter ogr2ogr -clipdst -105.53 39.9 -104.93 40.27 places.json ne_10m_admin_0_map_subunits.shpet il semble que je doive activer GEOS à partir d'un fichier .configure - une idée où Anaconda place ce fichier? trac.osgeo.org/geos
blehman

J'apprécie la note, mais cela est similaire aux binaires KyngChaos, en ce sens qu'il ne vous permet toujours pas d'utiliser une installation python existante, et vous devez utiliser la version de python fournie avec Anaconda.
BenjaminGolder

Je n'ai pas réussi à faire fonctionner les trucs KyngChaos, d'où l'ajout de l'idée. Mais Anaconda vous permet de choisir la version de Python à installer, alors ... Je ne sais pas, je suppose que vous avez une raison pour que l'autre installation spécifique soit utilisée?
mmallek

1
Un miracle de Noël qui a trouvé cette réponse après environ 2 heures pour essayer de transférer ma configuration (de travail) du PC au Mac.
ScottieB

Après avoir dû faire une réinitialisation de l'environnement, cela ne fonctionne plus pour moi. Je reçois une erreur concernantfrom osgeo import ogr
ScottieB

6

D'abord si vous êtes sous Windows, puis il y a tout de suite des installateurs, sur le lien dit à mes amis ci-dessus.Mais si vous êtes sous Linux c'est la façon d'installer libgdal 1.11.

aller à cette page

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

téléchargez le fichier .deb requis en choisissant l'architecture de votre système.

après l'avoir téléchargé, allez dans le répertoire téléchargé et exécutez cette commande

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

Vous obtiendrez maintenant une erreur indiquant que les dépendances ne sont pas installées. tapez maintenant cette commande

$ sudo apt-get -f install

Il installe automatiquement toutes les dépendances, puis réexécute la commande d'installation principale.

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

Il va maintenant s'installer avec bonheur. Maintenant, nous devons installer les bibliothèques de développement pour gdal.

$ sudo apt-get install libgdal1-dev 

export CPLUS_INCLUDE_PATH=/usr/include/gdal

export C_INCLUDE_PATH=/usr/include/gdal

Ensuite, si vous avez numpy, vous pouvez procéder à l'installation de la bibliothèque python GDAL, sinon installer numpy, pour installer numpy et scipy sur Linux

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

utilise maintenant la bibliothèque GDAL d'installation de pip

$ sudo pip install GDAL

C'est grâce à cette réponse (me rappelle les deux lignes d'export que j'avais oubliées) que j'ai pu installer GDAL dans 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 (ou le numéro de version correspondant à la bibliothèque gdal installée sur votre ordinateur).
mgc

5

Il existe plusieurs didacticiels sur ce site , y compris un moyen de configurer votre environnement. J'utilise pyscripter sur l'éditeur cramoisi, mais l'un ou l'autre devrait fonctionner.


4

Je ne suis pas au courant d'un moyen facile de l'installer sur OS X, je pense que Kyng Chaos est la meilleure chose à faire, tout comme OSGEO4W sur le front Windows. Les liaisons Python ne sont que des wrappers pour le code C / C ++ réel, vous ne pouvez pas vous en passer sans les installer depuis la source ou via des binaires.

Pip ou easy_installpeut faire l'affaire, selon la version Python et les bibliothèques système présentes; par exemple, voici le répertoire PyPI pour Python 2.5 . L'installation de GDAL de manière cohérente sur plusieurs plates-formes et plusieurs versions de Python reste non triviale, mais à bien des égards, cela a du sens: c'est peut-être la bibliothèque qui sous-tend la plupart des logiciels SIG open source et propriétaires, et possède un grand nombre de dépendances de format de données dessous.


Pour vous assurer que les choses ne se cassent pas, vous voudrez peut-être regarder virtualenv et virtualenvwrapper pour aider à garder les choses en ordre.
Jacques Tardie

PyPI a des répertoires pour 2.4 (win32 uniquement, avec GDAL 1.5, 1.6), 2.5 (mac / win32 avec GDAL 1.5, 1.6) et 2.6 (win32 uniquement, avec GDAL 1.6). Aucun n'a GDAL 1.7. Si je comprends bien l'essentiel de la réponse, vous dites principalement que ce n'est pas facile et que pip pourrait fonctionner dans certains cas. Dois-je chercher comment le construire à partir de la source?
BenjaminGolder

@BenjaminGolder: à droite, d'après mon expérience, cela peut être difficile, surtout si vous essayez de prendre en charge de nombreuses plates-formes / et versions Python. La construction à partir de la source demande plus de travail à l'avance, mais cela peut valoir la peine si vous essayez de développer un ensemble cohérent d'instructions. Vous pouvez également poser votre question sur la liste GDAL qui est lue par les développeurs eux-mêmes.
scw

4

J'ai eu ce problème exact lors de l'installation de GDAL / OGR avec l'installation d'ArcGIS python. Ma solution pour Windows était:

  1. Téléchargez les binaires des liaisons gdal et python depuis http://www.gisinternals.com/sdk/ . Cela inclut les versions des liaisons python pour différentes versions de python.
  2. Mettez à jour les chemins d'accès dans le fichier python manuellement:

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)

depuis osgeo import ogr

depuis osgeo import osr

depuis gdalconst import *

depuis osgeo import gdal

Ce n'est pas très joli mais permet de mélanger différentes installations. Vous savez également explicitement ce que vous chargez.

Modifier: erreur de syntaxe fixe


4

Utilisez-le si vous ne vous souciez pas de l'ajout de ppa,

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

$ sudo apt-get update

$ sudo apt-get install python-gdal


2019-04-19: Ajout d'une solution ubuntu qui a fonctionné pour moi sur un serveur cloud ubuntu, à partir de /programming//a/41613466/4355695

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

Je ne suis pas l'affiche originale de cette réponse, mais cette question est verrouillée, vous devez donc en modifier une existante. Cette source (ppa: ubuntugis / ppa) est probablement moins "instable" que la précédente suggérée, et a bien fonctionné pour un programme python2 que j'essayais de faire fonctionner sur mon serveur.


1

Si vous êtes un utilisateur de Windows, vous pouvez trouver de nombreux binaires utiles , je travaille avec ceux-ci et ils fonctionnent très bien ... Bonne chance, bravo


Bienvenue dans GIS @ SE, il est préférable de fournir plus d'informations avec votre réponse, par exemple, des binaires spécifiques et des étapes d'installation, cela rend les informations beaucoup plus utiles à la personne qui pose la question ainsi qu'aux futures personnes qui la consultent et réponses.
Mark Cupitt

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.