Instalando GDAL e OGR para Python?


18

Estou desenvolvendo algum código em Python e quero usar as ligações python GDAL / OGR. Qual é o mínimo que preciso instalar para usar as ligações python GDAL e OGR?

Qual é a maneira mais fácil de instalar o GDAL / OGR se eu só quiser usá-lo no Python?
Estou procurando uma resposta que se aplique ao mac e ao windows.

O GDAL está listado no Python Package Index (PyPi), mas não entendo como instalar suas dependências (libgdal e os arquivos de cabeçalho para libgdal e numpy). Talvez tudo o que eu precise fazer seja instalar o numpy e obter a libgdal em algum lugar; se sim, onde? A instalação do Windows precisa dos binários do Windows , além do libgdal e dos arquivos de cabeçalho?

Como garantir que obtenho as ligações python adequadas para a minha versão do Python (2.5, 2.6, 2.7, 3)?
É necessário fazer alterações na variável de ambiente PATH para usar GDAL e OGR do Python, ou tudo pode ser acessado através da pasta de pacotes de sites e de uma importdeclaração típica ?

Essas perguntas são relevantes para esta pergunta, mas não a respondem:
instalando GEOS, PROJ, GDAL / OGR em um python virtualenv no Mac OS X
Como instalar o GDAL com Python no Windows?

Devo observar que o FWTools , OSGeo4W e kyngchaos oferecem ogr e gdal com ligações python e são excelentes, mas o FWTools e o OSGeo4W são fornecidos com seu próprio python, em vez de atuar como bibliotecas para uma instalação existente do python, e as estruturas do kyng chaos parecem ser somente para OS X.


"as estruturas kyng caos parecem ser apenas para unix." Eu acho que você não entendeu, eles são para OS X.
— Sean

2
Consulte gis.stackexchange.com/questions/2276/… para a instalação do Windows. Eu pessoalmente sou um grande fã de lfd.uci.edu/~gohlke/pythonlibs como eles são Win64 e recente
— Mike T

3
Estou revisitando isso três anos depois. Em resumo, posso ver que o problema é que as instalações da biblioteca python tendem a fazer um péssimo trabalho ao lidar com dependências escritas em C. KyngChaos, FWTools, Anaconda, etc., todos fazem o trabalho de criar binários C específicos da plataforma que podem ser usados com a versão do Python que eles têm. Basicamente, ninguém criou uma maneira de plataforma cruzada para pip install gdalincluir e compilar automaticamente todos os arquivos necessários do GDAL. Espera-se que você use outros meios para criar os binários GDAL.
— BenjaminGolder

Respostas:


25

Apenas adicionando isso porque tentei usar as ferramentas kyng chaos, mas na minha máquina Mac OS X consegui instalar isso muito facilmente com o Anaconda

conda install gdal

Postagem no caso de alguém encontrar isso de novo - percebo que a postagem original tem 3 anos.


1
Eu usei o Anaconda e era simples para o GDAL, mas agora eu gostaria de poder executar ogr2ogr -clipdst -105.53 39.9 -104.93 40.27 places.json ne_10m_admin_0_map_subunits.shpe parece que preciso ativar o GEOS a partir de um arquivo .configure - alguma idéia de onde o Anaconda coloca esse arquivo? trac.osgeo.org/geos
— blehman 03/09/14

Agradeço a observação, mas isso é semelhante aos binários KyngChaos, pois ainda não permite o uso de uma instalação existente do python, e você deve usar a versão do python enviada com o Anaconda.
— BenjaminGolder

Eu não consegui fazer as coisas do KyngChaos funcionarem, adicionando a ideia. Mas o Anaconda permite escolher qual versão do Python instalar, então ... não sei, acho que você tem um motivo para precisar que outra instalação específica seja usada?
— Mmallek 5/09/14

1
Um milagre de Natal encontrando esta resposta por mais de duas horas tentando transferir minha configuração (de trabalho) do PC para o Mac.
— precisa saber é o seguinte

Depois de ter que fazer uma redefinição do ambiente, isso não funciona mais para mim. Eu recebo um erro relacionado a #from osgeo import ogr
— ScottieB

6

Primeiro, se você estiver no Windows, então existem instaladores imediatos, no link que eu disse aos meus amigos acima.

vá para esta página

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

faça o download do arquivo .deb necessário, escolhendo a arquitetura do sistema.

depois de baixá-lo, vá para o diretório baixado e execute este comando

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

Agora você receberá um erro informando que as dependências não estão instaladas. agora digite este comando

$ sudo apt-get -f install

Ele instala todas as dependências automaticamente agora executa novamente o comando de instalação principal.

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

Agora ele será instalado com êxito. Agora, precisamos instalar as bibliotecas do desenvolvedor para o gdal.

$ sudo apt-get install libgdal1-dev 

export CPLUS_INCLUDE_PATH=/usr/include/gdal

export C_INCLUDE_PATH=/usr/include/gdal

Em seguida, se você tiver o numpy, poderá prosseguir para a instalação da biblioteca python GDAL, caso contrário, instalar o numpy, para instalar o numpy e o scipy no uso do linux

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

agora usando a biblioteca GDAL de instalação do pip

$ sudo pip install GDAL

Foi graças a esta resposta (me lembra as duas linhas de 'exportação' que eu havia esquecido) que consegui instalar o GDAL em um 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 o número da versão correspondente à biblioteca gdal instalada no seu computador).
— mgc 14/08/15

5

Existem vários tutoriais neste site , incluindo uma maneira de configurar seu ambiente. Eu uso o pyscripter sobre o editor carmesim, mas ambos devem funcionar.


4

Não conheço uma maneira fácil de instalá-lo no OS X, acho que o Kyng Chaos é a melhor coisa, assim como o OSGEO4W na frente do Windows. As ligações do Python são apenas invólucros do código C / C ++ real, você não pode fugir sem instalá-los da fonte ou através de binários.

Pip ou easy_installpode fazer o truque, dependendo da versão do Python e das bibliotecas do sistema presentes; por exemplo, aqui está o diretório PyPI para Python 2.5 . A instalação constante do GDAL em várias plataformas e várias versões do Python permanece não trivial, mas de várias maneiras isso faz sentido: talvez seja a biblioteca que está subjacente à maioria dos softwares GIS de código-fonte aberto e muitos proprietários e possui um grande número de dependências de formato de dados abaixo dele.


No que diz respeito a garantir que as coisas não quebrem, convém consultar virtualenv e virtualenvwrapper para ajudar a manter as coisas organizadas.
— Jacques Tardie

O PyPI possui diretórios para 2.4 (somente win32, com GDAL 1.5, 1.6), 2.5 (mac / win32 com GDAL 1.5, 1.6) e 2.6 (somente win32, com GDAL 1.6). Nenhum possui GDAL 1.7. Se entendi a essência da resposta corretamente, você está dizendo principalmente que não é fácil e que o pip pode funcionar em alguns casos. Devo estar estudando como construí-lo a partir da fonte?
— BenjaminGolder

@ BenjaminGolder: certo, na minha experiência, pode ser complicado, especialmente se você estiver tentando oferecer suporte a muitas plataformas / e versões do Python. Construir a partir da origem exige mais trabalho, mas pode valer a pena se você estiver tentando desenvolver um conjunto consistente de instruções. Você também pode fazer sua pergunta na lista GDAL, que é lida pelos próprios desenvolvedores.
— ACS

4

Eu tive esse problema exato ao instalar o GDAL / OGR ao lado da instalação em python do ArcGIS. Minha solução para o Windows foi:

  1. Faça o download de binários de ligações gdal e python em http://www.gisinternals.com/sdk/ . Isso inclui versões das ligações python para diferentes versões do python.
  2. Atualize os caminhos no arquivo python manualmente:

os.environ ['PATH'] = "C: / Arquivos de Programas (x86) / GDAL /;" + os.environ ['CAMINHO']

oldpaths = sys.path

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

sys.path.extend (caminhos antigos)

de osgeo import ogr

de osgeo import osr

de gdalconst import *

de osgeo import gdal

Isso não é muito bonito, mas permite que você misture instalações diferentes. Você também sabe explicitamente o que está carregando.

Editar: erro de sintaxe corrigido


4

Use isso se você não se importa com a adição de ppa,

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

$ sudo apt-get update

$ sudo apt-get install python-gdal


2019-04-19: Adicionando uma solução ubuntu que funcionou para mim em um servidor ubuntu em nuvem, em /programming//a/41613466/4355695

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

Eu não sou o pôster original desta resposta, mas esta pergunta está bloqueada, portanto, é necessário editar uma existente. Essa fonte (ppa: ubuntugis / ppa) provavelmente é menos "instável" do que a anterior, e funcionou bem para um programa python2 que eu estava tentando executar no meu servidor.


1

Se você é usuário de Windows, pode encontrar muitos binários úteis , estou trabalhando com eles e eles estão funcionando muito bem ... Boa sorte, felicidades


Bem-vindo ao GIS @ SE, é melhor fornecer mais informações com sua resposta, por exemplo, binários e etapas específicos para instalação, isso torna as informações muito mais úteis para a pessoa que faz a pergunta e para futuras pessoas que a veem. e respostas.
— Mark Cupitt

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.