martes, 5 de marzo de 2013

Obtener temperaturas de estaciones meteorológicas en Noruega

Hace poco tenía que hacer un pequeño trabajo para la universidad, tenía que obtener la temperatura actual de algunas estaciones meteorológicas de la zona (Stavanger, Noruega). Por suerte encontré una API por la cual se puede realizar una consulta a las estaciones directamente y esa api devuelve el resultado en XML. Decidí resolver el trabajo en bash ya que en principio sólo tenía que sacar la temperatura.



Empecemos por el principio, la api para la consulta de las estaciones es eklima y voy a utilizar la siguiente función getMetData&timeserietype con los parámetros:
  • ID=2 #2 es Obstevations
  • format= # Se deja vacío y se deja el formato por defecto
  • from=2013-02-01
  • to=2013-2-03
  • stations=44560 #Estación de Valand, la más cercana a Stavanger (listado de todas las estaciones en Noruega: http://eklima.met.no/Help/Stations/toDay/all/en_Stations.html)
  • elements=TA #Temperatura actual
  • hours=0%2C1%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C10%2C11%2C12%2C13%2C14%2C15%2C16%2C17%2C18%2C19%2C20%2C21%2C22%2C23 #Todas las horas
  • months=
  • username=
Por lo que la url resultante sería:

http://eklima.met.no/metdata/MetDataService?invoke=getMetData&timeserietypeID=2&format=&from=2013-02-01&to=2013-2-03&stations=44560&elements=TA&hours=0%2C1%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C10%2C11%2C12%2C13%2C14%2C15%2C16%2C17%2C18%2C19%2C20%2C21%2C22%2C23&months=&username=

Para ver una explicación más detallada sobre los parámetros, ver aquí: Data

Esta consulta nos deja la siguiente salida un tanto grande y tenemos que parsearla para sacar la información que necesitamos, para ello utilizaremos la aplicación xmlstarlet, pero eso lo explicaremos en el siguiente artículo.

Si tienen alguna duda sobre este artículo o algún otro tema en el que pueda ser útil, no dude en mandarme un mail a: bobsfera@gmail.com o escribe un comentario!

No hay comentarios:

Publicar un comentario