Instalando GDAL com Python no Windows?

92

Alguém pode explicar como instalar o GDAL / OGR com o Python no Windows?

Eu tenho o Windows Vista e tentei seguir as informações no site e ele não parece vincular os arquivos exe para mim.

Alguém pode descrever o processo, incluindo links para os arquivos / pastas que precisarei?

Agora eu tentei executar a instalação gdal com minGW, mas isso também falhou:

GDAL_FAIL

GuidoS
fonte

Respostas:

63

A menos que você tenha boas razões para isso, eu recomendaria definitivamente começar com o instalador do OSGeo4W , que pode instalar várias versões diferentes do GDAL e suas ligações Python relevantes. Ele funciona muito bem e simplifica drasticamente a história de implantação do Windows. Especificamente, você deseja instalar o pkg-gdal-python , que está dentro de 'Libs' na árvore do instalador.

scw
fonte
8
Então eu usei o instalador OSGeo4W instalar gdal e, em seguida, tentou a sua interface de linha de comando pouco, mas ainda não foi capaz em python para fazer o seguinte: gdal importação
guidos
7
O OSGEO4W instala sua própria instância do Python na raiz do OSGEO4W. Para usar o Python que inclui gdal e todos os outros módulos OSGEO, abra o OSGEO4W shell start> arquivos de programas> osgeo4w. Inicie o Python ou execute um script Python a partir daí.
DavidF 30/09/10
8
Tentefrom osgeo import gdal
DavidF 30/09/10
3
@scw, considere reunir os exemplos dos comentários em sua resposta. Isso tornará mais fácil reunir as informações relevantes em um todo coeso (em parte por ser capaz de preservar a formatação do código). Vote nos comentários que você usa como meio de creditar e reconhecer a fonte.
Matt Wilkie
6
Existe uma maneira de usar "from osgeo import gdal" do meu shell python principal em vez de usar o shell do OSGEO?
Alexis Eggermont
58

Você pode baixar o pacote de roda GDAL dos binários não oficiais do Windows de Christoph Gohlke para pacotes de extensão Python .

Ele pode ser instalado a partir do cmd.exe usando algo como:

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

(Você deve instalar o NumPy do mesmo local usando um comando semelhante)

Embora o pacote não seja construído pelos desenvolvedores da OSGeo ou da GDAL, é uma distribuição de alta qualidade com suporte para as versões mais recentes do GDAL compiladas para as versões de 32 bits e 64 bits do Python. Nenhuma biblioteca externa precisa ser adicionada ou gerenciada!

Atualize até define a GDAL_DATAvariável de ambiente, se não estiver definida, e inclui um PostgreSQLdriver para ler dados do PostGIS.

Mike T
fonte
2
+1 Descobri que página uma fonte inestimável de distribuições Python para Windows de 64 bits
geographika
1
Estou tendo dificuldades com este instalador, pois está falhando em detectar minhas instalações python. Eu tenho python26 e python27 instalados, C:/Python2Xmas ele não pode ser encontrado ... deixa pra lá! Escolha 64 bits em vez de 32 ....
djq
Isso funcionou para mim muito mais fácil do que a resposta aceita, já que não quero outra instalação do Python e do Numpy.
Ahmed Fasih
Essas linhas agora estão incluídas na instalação.
Barbarossa
obrigado @Barbarossa, atualizei esta resposta para refletir o status atual do pacote.
Mike T
15

Outra opção é instalar a distribuição Anaconda Python que possui pacotes para o GDAL. Se você estiver fazendo muito trabalho usando o GDAL com outros pacotes Python (scipy, pandas, scikit-learn etc.), essa pode ser uma opção melhor que o OSGeo4W. Por outro lado, se você deseja usar o Python em combinação com vários pacotes de sensoriamento remoto e GIS de código aberto (GRASS, QGIS etc.), o OSGeo4W é provavelmente a melhor opção.

Você pode obter a distribuição completa do Anaconda em: https://www.continuum.io/downloads, que contém muitos pacotes Python voltados para 'ciência de dados' ou uma instalação mínima em http://conda.pydata.org/miniconda. html

Como parte da instalação, você será solicitado a adicionar ao caminho principal (para que esteja disponível em qualquer terminal).

Depois de configurado, o GDAL pode ser instalado em um novo ambiente usando:

conda create -n gdal_env -c conda-forge gdal

Em seguida, ativá-lo como mostra quando o comando termina. A instalação em um novo ambiente é recomendada para evitar conflitos com outros pacotes e verifique se as variáveis ​​ambientais necessárias estão definidas.

Sugeri a instalação a partir do canal conda-forge ( https://conda-forge.github.io/ ), pois eles são muito ativos em manter as compilações do GDAL atualizadas e garantir que funcionem em várias bibliotecas.

Uma vez que os pacotes instalados podem ser atualizados de dentro do ambiente usando:

conda update gdal
danclewley
fonte
1
Este é definitivamente o método mais fácil, especialmente se você está pensando em instalar outros pacotes Python complexa (por exemplo scikit-learn, numpy)
bgordon
1
Isso é ótimo! Especialmente bom b / c, você pode executá-lo através da linha de comando e também através do python.
precisa saber é o seguinte
Também é possível instalá-lo acessando "Ambientes" e selecionando o ambiente que se deseja usar. Em seguida, procure "gdal" em "Todos" os pacotes
Goncalo Peres
9

Acho o OSGEO4W uma solução ruim porque cria todo um universo paralelo, quase como uma máquina virtual. Consegui instalar o GDAL e usá-lo em python, seguindo as etapas descritas aqui (este é o link fornecido por @ sys49152).

Envia você para gisinternals.com. Pegue o link para "releases estáveis" para acessar: http://www.gisinternals.com/release.php

Agora você precisa escolher entre 32 e 64 bits e diferentes versões do compilador Microsoft Visual C ++. Observe que isso deve corresponder à sua versão python, não ao seu sistema operacional. No meu caso, tenho janelas de 64 bits, mas um python de 32 bits 2.7 (fornecido com o ArcGIS).

Para ver o que você tem, você pode executar o python na linha de comando e uma mensagem como esta:

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

Então eu preciso usar "release-1500"

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

(os números da versão da versão mudam com o tempo)

Eu baixei e instalei o "Instalador genérico dos componentes principais do GDAL": gdal-111-1500-core.msi

E adicionou o caminho e outras variáveis, conforme descrito aqui .

Adicionar ao caminho: C:\Program Files (x86)\GDAL Crie variáveis ​​ambientais: GDAL_DATA = C:\Program Files (x86)\GDAL\gdal-data GDAL_DRIVER_PATH = C:\Program Files (x86)\GDAL\gdalplugins

Em seguida, baixei e instalei o módulo python para python 2.7 GDAL-1.11.3.win32-py2.7.msi

E depois disso, em python, eu pude fazer

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

etc.

RobertH
fonte
Bem documentado, passo a passo. Obrigado.
Cotton.Rockwood
6

Eu sei que o instalador do OSGEO foi mencionado, mas como o GuidoS disse que não funciona, a menos que você esteja no shell do osgeow, o que é ótimo e elegante se tudo o que você está fazendo é python básico. Provavelmente, se você não estiver, precisará reinstalar o pacote e executar o aplicativo / plug-in a partir dessa pasta ou compilar todas as dependências do gdal e instalá-lo novamente.

O que funciona para mim é:

  • No PyDev / Eclipse (não meu IDE principal), adiciono a lista de bibliotecas ao interpretador python padrão
  • Use o console interno para executar os arquivos
dassouki
fonte
3
Você pode definir o4w python como o python padrão do sistema, por exemplo, disponibilizá-lo para tudo, adicionando-o ao registro do sistema. Existe um script python para fazer isso nas janelas de 32 bits em trac.osgeo.org/osgeo4w/ticket/114 (64 bits devem ser adicionados à mão).
Matt Wilkie
5

Realmente não é tão difícil de fazer. Eu o compilei várias vezes antes de usar o Visual Studio sem problemas. Basta seguir as instruções aqui: texto do link .

É bem simples, basta ler o makefile.vc bem documentado e definir os diretórios apropriados, principalmente o Python. Uma vez criado, você deve ter um módulo Python construído, que poderá copiar para a instalação do Python, o que eu sempre fiz manualmente, mas provavelmente existe um método mais apropriado.

Leigh MacDonald
fonte
5

As duas principais respostas de @SCW e @Mike Toews são ótimas. O site listado por Mike é para binários não oficiais - o que foi muito útil quando o GDAL de 64 bits não estava prontamente disponível (conforme ele escreveu sua resposta), mas já existe há algum tempo. Eu adicionei essa resposta alternativa aqui, pois, embora eu a tenha mencionado muitas vezes, ela ainda está surgindo e esse wiki pode ser um lugar melhor para colocá-lo.

Se você deseja instalar apenas os binários GDAL para Python em uma máquina Windows, eu obteria os instaladores no excelente site GIS Internals . Este site está vinculado a partir da página oficial de binários GDAL / OGR . Isso fornece acesso ao GDAL através de uma instalação normal do Python, sem a necessidade de usar o shell osgeow. Os binários aqui são mantidos e compilados regularmente em uma variedade de versões do Visual Studio (então escolha dependendo dos tempos de execução que você instalou).

MappaGnosis
fonte
Não há nenhum problema em ter vários tempos de execução do MSVC instalados no mesmo computador. Se você precisar de drivers especiais, como ECW e MrSid, observe que existem diferentes oportunidades compiladas nas diferentes plataformas MSVC. Basta seguir o informationlink e ver as diferenças.
28915 AndreJ
4

Como os outros colaboradores, aconselho a escolher o instalador do OSGEO4W .

Se, por algum motivo, você não quiser ou não puder usá-lo, consulte a documentação dos pacotes Python em gdal http://pypi.python.org/pypi/GDAL/

Você descobrirá, por exemplo, que existem binários gdal no site da OSGEO

ThomasG77
fonte
2

Eu uso o FWTools no Windows XP. Inclui uma instalação Python com as bibliotecas GDAL. Após a instalação, basta executar seus scripts Python no FWTools Shell .

Jaime Soto
fonte
1
O FWTools era uma boa ferramenta na época, mas não possui atualizações desde então. Sugiro mudar para o gisinternlas, que ainda é mantido ativamente.
28715 AndreJ
0

Eu fiz ontem ontem, seguindo este tutorial http://www.gis.usu.edu/~chrisg/python/2009/docs/gdal_win.pdf Funcionou bem para mim.

Jorge Vidinha
fonte
1
Resuma o conceito principal aqui, caso contrário, essa resposta poderá se tornar inútil quando os links quebrarem.
Underdark