A melhor linguagem para programar com GDAL

20

Vou começar a criar programas para lidar com dados geográficos de um servidor PostGIS e usar o GDAL.

De acordo com a sua experiência, com o melhor idioma para programar com ele? Posso programar em Perl e Python, mas gostaria de conhecer a linguagem com mais partes de código para reutilizar, exemplos, bibliotecas, etc.

SonOfabox
fonte
6
Não tenho nenhuma prova disso, mas meu sentimento é que o Python tem muito mais bibliotecas e usuários que o Perl. Então esse é o meu voto!
Blah238
Eu acho que já existem muitos aplicativos para trabalhar com o postgis. Se você perguntar a uma outra pergunta dizendo quais são as suas necessidades, provavelmente você pode pagar o trabalho :)
Francisco Puga

Respostas:

26

Pessoalmente, eu realmente gosto de codificar com GDAL em Python. Depois de instalá-lo e entender como funciona, é bem fácil. Além disso, com o python, você pode usar alguns módulos internos realmente úteis (incluindo baterias) (os, math, string, sys, random etc), bem como módulos de terceiros, como o NumPy (útil para operações de varredura), entre outros.

Para obter uma lista abrangente das bibliotecas GIS Python, consulte aqui: Quais são as ferramentas / módulos / suplementos Python cruciais no GIS? )

Uma excelente introdução às ligações Python GDAL pode ser encontrada aqui:

http://www.gis.usu.edu/~chrisg/python/2009/

Você pode avançar em um tempo mínimo com um pouco de conhecimento e leitura, por exemplo, pode pegar um arquivo shapefile em duas linhas:

driver = ogr.GetDriverByName('ESRI Shapefile')
datasource = driver.Open('shapefile.shp')

É muito fácil fazer o que quiser com o arquivo depois de ler a documentação ( http://www.gdal.org/annotated.html ) e você saber o que está fazendo.

Veja aqui alguns exemplos do que é possível no código simples e mínimo:

http://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/

James Milner
fonte
13

Parece-me que esta é uma pergunta bastante subjetiva. Da perspectiva do GDAL / OGR, direi que essencialmente os mesmos recursos da biblioteca estão expostos no Python e no Perl. Portanto, muito pode depender da sua preferência de idioma e de quais outros componentes você pode desejar.

Eu também sou python, mas quero falar um pouco em nome do perl e observar que o ambiente da GeoInformatica mantido por Ari Jolma inclui GDAL / OGR e várias outras coisas úteis para os scripts de perl. Encorajo-vos a dar uma olhada:

http://geoinformatics.tkk.fi/

Frank Warmerdam
fonte
7

Sem questionar, a melhor linguagem é o Python . Porque abre muitas outras possibilidades além do uso do GDAL:

1) Com o python, você pode se conectar ao seu servidor postgis com um ORM como o SQLAlchemy, que fornecerá muitas funções de alto nível para manipular seus dados e prepará-los para o gdal.

2) Você pode usar outras bibliotecas python para trabalhar com dados geográficos, como Shapely ou High Performance Geostatistics Library .

3) Você tem ligações muito boas para a saída do mapa em python, como o Mapnik .

4) Você tem algumas estruturas e APIs de alto nível que pouparão muito trabalho, como o Geodjango (você pode usá-lo localmente) ou a API Qgis .

Pablo
fonte
6

Terceira votação para Python. Para mim, além das excelentes respostas acima, é porque eu me cansei de ter que conhecer meia dúzia de linguagens de script para trabalhos diferentes há algum tempo, então, assim que a ESRI suportou o Python, eu as soltei (quase - Javascript é ainda útil) a favor do Python. O bom é que outros pacotes que não sejam GIS que eu uso também suportam Python, para que eu possa chamar GDAL / OGR a partir das APIs de todos os tipos de software. Python também é uma linguagem de nível muito alto, então escrevo sobre um décimo do código que até uma linguagem gerenciada como C # precisa.

MappaGnosis
fonte