quarta-feira, 21 de julho de 2010

Consumindo json web services com Python (exemplos)


Há já bastante tempo que o JSON (JavaScript Object Notation) deixou de ser um exclusivo do javascript. Actualmente, a maioria das linguagens de programação têm suporte a este formato, seja nativamente, seja através de uma biblioteca qualquer. Isto torna-o ideal para intercâmbio de dados.

O Python tem suporte nativo a JSON, na sua Standard Library, desde a versão 2.6. Para versões anteriores será necessário utilizar bibliotecas externas, sendo a mais conhecida a simplejson.

Como os exemplos seguintes foram testados em Python 2.5, também irei utilizar a simplejson a qual terá que estar instalada no sistema. Note-se que o Python 2.5 é a versão suportada pelo Google App Engine, logo quem também quiser desenvolver nesta plataforma e em Python terá que utilizar esta versão, por enquanto.

Exemplos:

- Transformar coordenadas geográficas WGS84 em PTTM06.


import simplejson
import urllib

lat = 38

lng = -8

url = 'http://geodivagar.appspot.com/geogauss?lat=' + str(lat) + '&lng=' + str(lng)

response = simplejson.load(urllib.urlopen(url))

x = response['x']
y = response['y']

print x , y


- Na posse de coordenadas PTTM06 podemos calcular a altitude SRTM do ponto em metros.


url = 'http://geo-pt.appspot.com/srtmPT?x=' + str(x) + '&y=' + str(y) + '&interpol=bilinear'

response = simplejson.load(urllib.urlopen(url))

altitude = response['altitude']

print altitude


- Para as coordenadas geográficas podemos também calcular a ondulação do geóide em metros.


url = 'http://geodivagar.appspot.com/geoidePT?lat=' + str(lat) + '&lng=' + str(lng) + '&interpol=bilinear'

response = simplejson.load(urllib.urlopen(url))

n = response['N']

print n


Serviços disponíveis em http://geodivagar.appspot.com/

(Continua brevemente)

Sem comentários:

Enviar um comentário