metaf2xml: analiza y decodifica METAR, TAF, SYNOP, BUOY, AMDAR y escribe datos como XML
Descripción
metaf2xml puede descargar, analizar y decodificar informes meteorológicos
aeronáuticos de rutinaria (METAR, SPECI, SAO), pronósticos del tiempo de
aeródromo (TAF), observaciones sinópticas (SYNOP), observaciones de boyas
(BUOY) y informes meteorológicos desde aeronaves (AMDAR). Datos también
pueden cogido de mensajes decodificados BUFR. Los datos obtenidos se puede
escribir como XML o pasar a una función definida por el usuario (todo con
Perl).
También ofrece hojas de estilo XSLT para transformar los datos XML a un
lenguaje sencillo (texto, HTML), o XML con diferentes esquemas. Se puede
usar una interfaz de usuario de la web (programa CGI) para traer y
presentar datos actuales del tiempo de NOAA, Ogimet y otros orígenes.
La última versión ()
es 2.9
(descripción de los cambios).
Se requiere Perl 5.14.4+
que esta disponible por
Unix/Linux, macOS, y Windows.
El código fuente esta disponible como
archivo
TAR o
ZIP y en
Git.
Hay también diversos
paquetes instalables.
Antecedentes
La información METAR y SPECI (observación del tiempo) y TAF (pronóstico
del tiempo) es esencial para planear vuelos y para decisiones en vuelo
(vuelos reales y simulados).
Es recopilado regularmente por los meteorológicos por más de 6200
aeropuertos en todo el mundo y distribuido a través redes confiables y no
públicas.
La información SYNOP es recogida por más de 7600 estaciones meteorológicas
tripulados y no tripulados y más de 2500 estaciones móviles en todo el
mundo y se utiliza para pronosticar el tiempo y estadísticas climáticas.
El formato original de los mensajes es abreviado, algunos de los artículos
están codificados.
Estos son algunos mensajes de METAR, TAF y SYNOP de Río (SBGL, 83746),
Nueva York (KJFK, 74486) y Tokio (RJTT, 47662) y mensajes de boyas cercas
(como alfanuméricas, y decodificadas de BUFR):
El formato de los mensajes (y mucho más sobre observar y presentar el tiempo) se
especifica en el WMO Manual No. 306 o el el Annex 3 to the
Convention on International Civil Aviation; algunos países apartan de lo
normal o ampliarlo, algunos han publicado documentación (por ejemplo
Federal Meteorological Handbook No. 1 y No. 2
para los EE. UU.).
Especialmente el formato de las comentarios en los mensajes METAR y TAF y la
codificación de las secciones 3 y 5 en los mensajes SYNOP depende del país
o hasta de la estación de observación.
metaf2xml puede ser utilizado por la simulaciones de vuelo o (estudiantes
de) pilotos que quieran ampliar sus conocimientos sobre los formatos
de mensaje, y todos los que simplemente quieran saber el tiempo actual o la
previsión meteorológica de una estación en el lenguaje sencillo (ver ejemplos
más abajo).
¿Por qué otro analizador para METAR/TAF?
Hay otros proyectos que se dedican a los mensajes de METAR y TAF, por ejemplo:
la biblioteca de C MDSP de NOAA/NWS,
en SourceForge
(inactivo),
en GitHub,
el archivo binario de MS Windows (funciona con Wine) en un archivo ZIP de
MetarWeather,
el Aviation Weather Center
de NOAA traduce los mensajes de METAR y TAF (la mayoría de los elementos)
de su base de datos,
la página web
Ogimet ofrece interfaces gráficas y de
texto a los mensajes de METAR, TAF, SYNOP, BUOY actuales y históricos
(traído de NOAA),
la página web
Meteomanz.com ofrece interfaces gráficas
y de texto a los mensajes de SYNOP actuales y históricos; la mayor parte de
los mensajes también es traducido a un lenguaje sencillo (Inglés, Español),
Allmetsat
ofrece una interfaz gráfica a los datos de METAR y TAF (origen: NOAA/IWS);
las partes más relevantes también son traducido en un lenguaje sencillo.
Pero de alguna manera siempre he perdido una característica que me gustaba
tener.
Características de metaf2xml
3.524
Procesamiento de los mensajes
El módulo para analizar sintácticamente
(página del manual en Inglés)
acepta (= procesa) o tolera (= marca como error) muchos ampliaciones de la
norma; son marcados con "EXTENSION" en el código fuente.
Muchos pequeños errores en el formato son corregidos antes del análisis, más
combinaciones de fenómenos meteorológicos son permitido, la falta de información
también es reconocida en muchos casos.
Todos los comentarios son procesados, algunos de los cuales dependen de el país
de origen o de la estación de interpretarse, por ejemplo 'MON INVIS VAL
FOSCHIA' y QUL/QUK (Italia), 'JP' (algunos países del Caribe), 'YLO1'
(militar), todo del manual Federal Meteorological Handbook No. 1 y
el manual Air Force Manual 15-111 (19.12.2003), 'RSNK' y 'LAG PK'
(datos de observación de otras estaciones), y muchos más.
Actualmente, más de 80 tipos de comentarios de METAR son reconocidos, excluidas
las palabras clave triviales (ver también
DTD).
El módulo puede escribir los datos como XML.
Alternativo, se puede registrar una función de devolución de llamada que
esta entregado paso a paso los mismos datos en el mismo orden como por la
emisión en XML.
Los datos contienen información solamente del mensaje original con 2
excepciones: la humedad relativa (en realidad 4 valores diferentes de 4 fórmulas
diferentes) y el techo (si hay uno); estos 2 elementos son difíciles de calcular
con XSLT.
Por cada elemento de los datos el texto correspondiente del mensaje esta
suministrada.
La intención es obtener cuanto sea posible de información de un mensaje sin
interpretar partes de cuales incorrectamente, y que ningún análisis
sintáctico de los elementos de los datos sea necesario.
Origen de los mensajes
Los mensajes pueden ser especificados simplemente como texto.
Además, se puede usar el programa metaf.pl
(página del manual en Inglés)
de la línea de comandos o como programa CGI para traer y presentar en un
lenguaje sencillo datos actuales desde servidores del red, o de una base
de datos SQL, o un fichero local.
metaf.pl usa el módulo src2raw.pm
(página del manual en Inglés)
para extraer mensajes formateados correctamente desde los ficheros de los
servidores públicos.
La muestra del fichero XML
El proyecto incluye hojas de estilo XSLT para transformar el XML a un lenguaje
sencillo como texto o HTML en
Inglés,
Alemán y
Español.
El salida HTML muestra cada mensaje en una tabla separada.
La columna de la izquierda contiene el texto original de cada uno de los
elementos del mensaje, en la fila superior es el mensaje original (ver
también los capturas de pantalla del proyecto o los ejemplos más abajo).
Para transformar el contenido a texto o HTML, se utiliza el programa "xsltproc",
pero otros que funcionan de manera similar no deberían ser un problema.
También hay hojas de estilo XSLT para crear un resumen o sinopsis: sólo algunos
elementos de cada mensaje son presentados en un formato abreviado, una
línea por mensaje.
Interfaz de la línea de comandos
El programa metaf2xml.pl
(página del manual en Inglés)
lee los mensajes, los procesa, y escribe los datos como XML a la salida
estándar.
Esto puede servir como entrada de "xsltproc" o programas similares para obtener
HTML o texto.
El programa metaf.pl
(página del manual en Inglés)
se puede usar para traer mensajes actuales de otros orígenes.
Interfaz web
Idealmente, cualquier navegador capaz de XML debe ser capaz de procesar el XML
con las hojas de estilo XSLT como especificado en el fichero y presentar el
resultado formateado, pero no todos los navegadores son capaces de XML.
El programa metaf.pl
(página del manual en Inglés)
ofrece una interfaz con XML/XSLT o HTML puro.
Se puede ver los datos XML desde la presentación de la fuente de la página web
en caso de "XML" fue seleccionado como formato de salida.
Código fuente es disponible y GPL
Cualquier persona que quiera está invitado a contribuir.
El mejor punto de partido es el
sistema de tickets.
Para probarlo
Se puede probar la última versión de metaf2xml en SourceForge.
Pero la versión de demostración no puede producir mensajes actuales,
porque SourceForge no permite conexiones hacia afuera al red. En su lugar,
los mensajes son traído de una base de datos en el servidor SourceForge.
La base de datos se actualiza solamente de vez en cuando, en este momento
tiene datos de
.
Con la
versión de demostración con gráfica
(hace uso de Ajax), los estaciones son marcado con un punto en un mapa.
Es posible ver el mapa en ampliaciones diferentes y moverlo con arrastrar y
soltar.
Los mensajes procesados son presentados bajo el mapa, con el mensaje más actual
encima.
La lista de estaciones es creado dinámicamente de la misma base de datos.
Con la
versión de demostración a base de texto,
se puede rellenar los mensajes meteorológicos.
Si es elegido una opción con "código(s)", también se puede rellenar
código(s) de estaciones.
Orígenes de datos meteorológicos
Algunas organizaciones y proveedores ofrecen acceso público a los datos
meteorológicos actuales y históricos, por ejemplo:
El resultado del análisis sintáctico de los mensajes de ejemplo más arriba se
pueden encontrar en
example.xml
(XML sin referencia de una hoja de estilo XSLT).
Usando los hojas de estilo XSLT del proyecto, la salida en lenguaje sencillo
(aquí: como HTML, resumen primero, detallado más abajo) es el siguiente: