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.

BenjaminGolder
fonte
"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.

mmallek
fonte
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
narenarya
fonte
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.

dslamb
fonte
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.

scw
fonte
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

Matthew Snape
fonte
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.

Naren Yellavula
fonte
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

Raskar Kapak
fonte
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
0

No CentOS:

yum install gdal-python
imos
fonte