¿Instalando GDAL y OGR para Python?


18

Estoy desarrollando un código en Python, y quiero usar los enlaces de Python GDAL / OGR. ¿Cuál es el mínimo que necesito instalar para usar los enlaces de Python GDAL y OGR?

¿Cuál es la forma más fácil de instalar GDAL / OGR si solo quiero usarlo desde Python?
Estoy buscando una respuesta que se aplique tanto a Mac como a Windows.

GDAL aparece en el índice del paquete Python (PyPi) pero no entiendo cómo instalar sus dependencias (libgdal y los archivos de encabezado para libgdal y numpy). Tal vez todo lo que necesito hacer es instalar numpy y luego obtener libgdal en algún lugar, y si es así, ¿dónde? ¿Una instalación de Windows necesita los Binarios de Windows además de libgdal y sus archivos de encabezado?

¿Cómo puedo asegurarme de obtener los enlaces de Python adecuados para mi versión de Python (2.5, 2.6, 2.7, 3)?
¿Se deben realizar cambios en la variable de entorno PATH para usar GDAL y OGR desde Python, o se puede acceder a todo a través de mi carpeta de paquetes del sitio y una importdeclaración típica ?

Estas preguntas son relevantes para esta pregunta, pero no la responden:
instalar GEOS, PROJ, GDAL / OGR en un python virtualenv en Mac OS X
¿Cómo instalar GDAL con Python en Windows?

Debo señalar que FWTools , OSGeo4W y kyngchaos ofrecen ogr y gdal con enlaces de python y son excelentes, pero FWTools y OSGeo4W se entregan con su propio python, en lugar de actuar como bibliotecas para una instalación de python existente, y los marcos de caos de kyng parecen ser solo para OS X.


"Los marcos de caos de Kyng parecen ser solo para Unix". Creo que malinterpretas, son para OS X.
Sean

2
Consulte gis.stackexchange.com/questions/2276/… para la instalación de Windows. Personalmente soy un gran admirador de lfd.uci.edu/~gohlke/pythonlibs, ya que son Win64 y recientes
Mike T

3
Estoy revisando esto 3 años después. En resumen, puedo ver que el problema es que las instalaciones de la biblioteca de Python tienden a hacer un mal trabajo al tratar con dependencias escritas en C. KyngChaos, FWTools, Anaconda, etc.todas hacen el trabajo de crear binarios C específicos de la plataforma que se pueden usar con la versión de Python que tienen. Básicamente, nadie ha creado una forma multiplataforma para simplemente pip install gdalincluir y compilar automáticamente todos los archivos necesarios de GDAL. Se espera que utilice otros medios para crear los binarios GDAL.
BenjaminGolder

Respuestas:


25

Solo agregué esto porque intenté usar las herramientas Kyos Chaos, pero en mi máquina Mac OS X pude instalar esto muy, muy fácilmente con Anaconda

conda install gdal

Publicar en caso de que alguien vuelva a encontrar esto: me doy cuenta de que la publicación original tiene 3 años.


1
Utilicé Anaconda y fue simple para GDAL, pero ahora me gustaría poder ejecutarlo ogr2ogr -clipdst -105.53 39.9 -104.93 40.27 places.json ne_10m_admin_0_map_subunits.shpy parece que necesito habilitar GEOS desde un archivo .configure. ¿Alguna idea de dónde coloca Anaconda este archivo? trac.osgeo.org/geos
blehman

Agradezco la nota, pero esto es similar a los binarios de KyngChaos, ya que todavía no le permite usar una instalación de Python existente, y debe usar la versión de Python que se entrega con Anaconda.
BenjaminGolder

Sin embargo, no pude hacer que las cosas de KyngChaos funcionen, por lo tanto, agregué la idea. Pero Anaconda le permite elegir qué versión de Python instalar, así que ... No sé, supongo que tiene una razón para necesitar que se use la otra instalación específica.
mmallek

1
Un milagro navideño al encontrar esta respuesta más de 2 horas en tratar de transferir mi configuración (de trabajo) de la PC a la Mac.
ScottieB

Después de tener que restablecer el entorno, esto ya no funciona para mí. Me sale un error relacionado confrom osgeo import ogr
ScottieB

6

Primero si está en Windows, luego hay instaladores de inmediato, en el enlace que les dije a mis amigos arriba. Pero si está en Linux, esta es la forma de instalar libgdal 1.11.

ir a esta página

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

descargue el archivo .deb requerido eligiendo la arquitectura de su sistema.

después de descargarlo, vaya al directorio descargado y ejecute este comando

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

Ahora obtendrá un error que indica que las dependencias no están instaladas. ahora escribe este comando

$ sudo apt-get -f install

Instala todas las dependencias automáticamente ahora vuelve a ejecutar el comando de instalación principal.

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

Ahora se instalará correctamente. Ahora necesitamos instalar bibliotecas de desarrollador para gdal.

$ sudo apt-get install libgdal1-dev 

export CPLUS_INCLUDE_PATH=/usr/include/gdal

export C_INCLUDE_PATH=/usr/include/gdal

A continuación, si tiene numpy, puede proceder a la instalación de la biblioteca Python GDAL, de lo contrario, instale numpy, para instalar numpy y scipy en el uso de Linux

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

ahora usando pip install GDAL library

$ sudo pip install GDAL

Gracias a esta respuesta (me recuerda las dos líneas de 'exportación' que había olvidado) pude instalar GDAL en 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 el número de versión correspondiente a la biblioteca de gdal instalada en su computadora).
mgc

5

Hay varios tutoriales en este sitio , incluida una forma de configurar su entorno. Yo uso pyscripter sobre el editor carmesí, pero cualquiera debería funcionar.


4

No conozco una manera fácil de instalarlo en OS X, creo que Kyng Chaos es lo mejor, al igual que OSGEO4W en el frente de Windows. Los enlaces de Python son solo envoltorios para el código C / C ++ real, no puede escaparse sin instalarlos desde la fuente o mediante binarios.

Pip o easy_installpuede hacer el truco, dependiendo de la versión de Python y las bibliotecas del sistema presentes; Por ejemplo, aquí está el directorio PyPI para Python 2.5 . La instalación de GDAL de manera consistente en múltiples plataformas y múltiples versiones de Python no es trivial, pero en muchos sentidos tiene sentido: es quizás la única biblioteca que subyace en la mayoría del software de código abierto y muchos SIG patentados, y tiene una gran cantidad de dependencias de formato de datos Por debajo de eso.


En cuanto a asegurarse de que las cosas no se rompan, es posible que desee mirar virtualenv y virtualenvwrapper para ayudar a mantener las cosas ordenadas.
Jacques Tardie

PyPI tiene directorios para 2.4 (solo win32, con GDAL 1.5, 1.6), 2.5 (mac / win32 con GDAL 1.5, 1.6) y 2.6 (solo win32, con GDAL 1.6). Ninguno tiene GDAL 1.7. Si entiendo la esencia de la respuesta correctamente, estás diciendo principalmente que no es fácil y que pip podría funcionar en algunos casos. ¿Debería estar buscando cómo construirlo desde la fuente?
BenjaminGolder

@BenjaminGolder: correcto, en mi experiencia puede ser complicado, especialmente si estás tratando de soportar muchas plataformas / y versiones de Python. Construir desde la fuente requiere más trabajo por adelantado, pero puede valer la pena si está tratando de desarrollar un conjunto consistente de instrucciones. Es posible que también desee hacer su pregunta en la lista GDAL que leen los propios desarrolladores.
scw

4

Tuve este problema exacto al instalar GDAL / OGR junto con la instalación de Python de ArcGIS. Mi solución para Windows fue:

  1. Descargue binarios de enlaces gdal y python desde http://www.gisinternals.com/sdk/ . Esto incluye versiones de los enlaces de python para diferentes versiones de python.
  2. Actualice las rutas en el archivo de Python manualmente:

os.environ ['PATH'] = "C: / Archivos de programa (x86) / GDAL /;" + os.environ ['RUTA']

oldpaths = sys.path

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

sys.path.extend (oldpaths)

de osgeo import ogr

de osgeo import osr

de gdalconst import *

de osgeo import gdal

Esto no es muy bonito, pero le permite mezclar diferentes instalaciones. También sabes explícitamente lo que estás cargando.

Editar: error de sintaxis fijo


4

Use esto si no le importa la adición de ppa,

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

$ sudo apt-get update

$ sudo apt-get install python-gdal


2019-04-19: Agregando una solución ubuntu que funcionó para mí en un servidor ubuntu en la nube, desde /programming//a/41613466/4355695

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

No soy el póster original de esta respuesta, pero esta pregunta está bloqueada, así que tengo que editar una existente. Esta fuente (ppa: ubuntugis / ppa) es probablemente menos "inestable" de lo que sugirió la anterior, y funcionó bien para un programa python2 que intentaba ejecutar en mi servidor.


1

Si eres un usuario de Windows, puedes encontrar muchos binarios útiles , estoy trabajando con estos y están funcionando muy bien ... Buena suerte, saludos


Bienvenido a GIS @ SE, es mejor proporcionar más información con su respuesta, por ejemplo, binarios específicos y pasos para la instalación, esto hace que la información sea mucho más útil para la persona que hace la pregunta y para las futuras personas que la ven. y respuestas.
Mark Cupitt

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.