Mostrando entradas con la etiqueta parser. Mostrar todas las entradas
Mostrando entradas con la etiqueta parser. Mostrar todas las entradas

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!

domingo, 22 de enero de 2012

Recuperación de errores en reconocedores descendentes

En una asignatura que tengo este año llamada Procesadores de Lenguajes 1 (PL1) he tenido que hacer un trabajo sobre la recuperación de errores en reconocedores descendentes, también estoy haciendo un reconocedor del lenguaje LaTeX que haga una estadística del documento o lo pase a HTML, cuando lo termine haré un post.

Para el que no lo sepa un reconocedor es una especie de "programa " que dado un texto de entrada lo analiza siguiendo unos patrones que se programan, en nuestro caso, con la herramienta ATLR.

El trabajo de evaluación alternativa que se me asignó fue sobre la recuperación de errores que podría pasar. Por ejemplo si en la entrada queremos analizar: A+B=2; A-3=9; y por lo que sea se nos olvida poner el primer punto y coma ";" hay técnicas que nos permiten continuar con el análisis del la entrada e indicarnos dónde está el error, en vez de pararse y decir "ERROR".

El trabajo no es muy extenso, simplemente una vista rápida por el tema, para profundizar más en el tema de la recuperación de errores en reconocedores descendentes ver la sección 6 del manual de ATLR o si lo que necesitáis es un libro de referencia, sin duda leeros Crafting a Compiler with C.

El trabajo, aquí.

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!