Beschreibung

metaf2xml kann Wetterbeobachtungen (METAR, SPECI, SAO) und Wettervorhersagen (TAF) von Flughäfen, synoptische Wettermeldungen (SYNOP), Wettermeldungen von Bojen (BUOY) und Flugzeugen (AMDAR) herunterladen, analysieren und dekodieren. Daten können auch aus dekodierten BUFR-Meldungen übernommen werden. Die so gewonnenen Daten können entweder als XML geschrieben oder an eine benutzerdefinierte Funktion übergeben werden (alles mit Perl).
Es bietet auch XSLT style sheets, um diese XML-Daten in verständliche Sprache (Text, HTML) oder in XML mit anderen Schemata umzuwandeln. Eine Web-basierte (CGI) Benutzerschnittstelle kann benutzt werden, um aktuelle Wetterdaten von NOAA, Ogimet oder anderen Quellen zu holen und anzuzeigen.

Aktuelle Version

Die aktuelle Version () ist 2.9 (Beschreibung der Änderungen). Sie erfordert Perl 5.14.4+, das für Unix/Linux, macOS, und Windows verfügbar ist. Der Quelltext ist verfügbar als TAR- oder ZIP-Archiv und in Git. Verschiedene installierbare Pakete sind ebenfalls verfügbar.

Hintergrund

METAR und SPECI (Wetterbeobachtungen) und TAF (Wettervorhersagen) sind unentbehrlich für Flugplanung und Entscheidungen während des Fluges (für reale Flüge und Flugsimulation). Wetterinformationen werden regelmäßig von Meteorologen weltweit für mehr als 6200 Flughäfen bereitgestellt und über zuverlässige, nicht-öffentliche Netzwerke verteilt. SYNOP-Informationen werden weltweit von mehr als 7600 manuellen und automatischen meteorologischen Stationen und mehr als 2500 mobilen Stationen gesammelt und für Wettervorhersagen und Klimastatistiken verwendet. Das Format der Originalmeldungen ist abgekürzt, einige Bestandteile sind kodiert.

Hier sind einige METAR-, TAF-, und SYNOP-Meldungen von Rio (SBGL, 83746), New York (KJFK, 74486), und Tokio (RJTT, 47662) und Meldungen von nahegelegenen Bojen (alphanumerisch (TAC) und dekodiert von BUFR):

Das Format der Meldungen (und eine Menge mehr über Wetterbeobachtung und -meldungen) kann man in WMO Manual No. 306 oder in Annex 3 to the Convention on International Civil Aviation finden; einige Länder weichen von diesem Standard ab oder erweitern ihn, einige davon haben Dokumentation darüber veröffentlicht (z.B. Federal Meteorological Handbook No. 1 und No. 2 für die USA). Vor allem das Format der Bemerkungen in METAR- und TAF-Meldungen und die Kodierung der Abschnitte 3 und 5 in SYNOP-Meldungen hängen vom Land oder sogar der Station ab.

metaf2xml kann für Flugsimulation oder von Piloten(-schülern) verwendet werden, die ihr Wissen über Meldungsformate erweitern wollen, und von allen, die einfach nur das aktuelle oder vorhergesagte Wetter an einer Station in verständlicher Sprache erfahren wollen (siehe Beispiele unten).

Warum noch ein METAR/TAF-Analyseprogramm?

Es gibt andere Projekte, die sich mit METAR und TAF beschäftigen, z.B.:

Aber irgendwie vermisste ich immer eine Eigenschaft, die ich gern gehabt hätte.

Eigenschaften von metaf2xml

3.5 24
Verarbeitung der Meldungen

Das Analyse-Modul (Anleitung in Englisch) akzeptiert (= verarbeitet) oder toleriert (= markiert als Fehler) viele Erweiterungen des Standards; sie sind im Quelltext mit "EXTENSION" markiert. Viele kleinere, häufige Formatfehler werden vor der Analyse korrigiert, es sind mehr Kombinationen von Wetterphänomenen erlaubt, das Fehlen von Informationen wird in vielen Fällen erkannt.

Alle Bemerkungen werden verarbeitet, einige davon werden abhängig vom Ursprungsland oder der Station interpretiert, z.B. 'MON INVIS VAL FOSCHIA' und QUL/QUK (Italien), 'JP' (einige Karibikländer), 'YLO1' (Militär), alles aus dem Federal Meteorological Handbook No. 1 und dem Air Force Manual 15-111 (19.12.2003), 'RSNK' und 'LAG PK' (Daten von weiteren Wetterstationen), und viele mehr. Im Moment werden mehr als 80 Arten von METAR-Bemerkungen erkannt, von simplen Schlüsselwörtern ganz abgesehen (siehe auch das DTD-Schema).

Das Modul kann die Daten als XML schreiben. Alternativ kann eine callback-Funktion registriert werden, an die schrittweise die gleichen Daten in der gleichen Reihenfolge wie für die XML-Ausgabe übergeben werden.

Die Daten enthalten ausschließlich Informationen der Originalmeldung, mit 2 Ausnahmen: die relative Feuchte (eigentlich 4 verschiedene Werte von 4 verschiedenen Formeln) und die Hauptwolkenuntergrenze (falls es eine gibt); diese 2 Bestandteile sind in XSLT umständlich zu berechnen. Für jedes Datenelement wird der entsprechende Text aus der Meldung mitgeliefert.

Das Ziel ist, so viele Informationen wie möglich aus einer Meldung zu erhalten, ohne Teile davon falsch zu interpretieren, und dass die ausgegebenen Daten nicht mehr analysiert werden müssen.

Herkunft der Meldungen

Meldungen können einfach als Text angegeben werden. Außerdem kann das Programm metaf.pl (Anleitung in Englisch) von der Kommandozeile aus oder als CGI-Programm benutzt werden, um aktuelle Wetterdaten von einem Internet-Server, aus einer SQL-Datenbank oder einer lokalen Datei zu holen und in verständlicher Sprache anzuzeigen.

metaf.pl benutzt das Modul src2raw.pm (Anleitung in Englisch) um korrekt formatierte Meldungen aus den Dateien der öffentlichen Server zu extrahieren.

Anzeige der XML-Datei

Das Projekt stellt auch XSLT style sheets bereit, um das XML in verständliche Sprache als Text oder HTML in Englisch, Deutsch, und Spanisch umzuwandeln. Das Ausgabeformat für HTML zeigt jede Meldung in einer eigenen Tabelle an. In der linken Spalte steht der Inhalt des entsprechenden Teiles der Originalmeldung und in der ersten Zeile steht die Originalmeldung (siehe auch Screenshots des Projektes oder Beispiele unten). Um den Inhalt zu Text oder HTML zu konvertieren, wird das Programm "xsltproc" benutzt, aber andere, ähnliche Programme sollten problemlos funktionieren.

Weiterhin gibt es auch XSLT style sheets, um eine Kurzfassung oder einen Überblick zu erzeugen: angezeigt werden nur einige Bestandteile der Meldungen, in abgekürzter Form, jede Meldung eine Zeile.

Kommandozeilen-Schnittstelle

Das Programm metaf2xml.pl (Anleitung in Englisch) liest Meldungen, verarbeitet sie, und schreibt die XML-Daten auf die Standardausgabe. Sie kann dann als Eingabe für "xsltproc" oder ähnliche Programme dienen, um HTML oder Text zu erhalten.

Das Programm metaf.pl (Anleitung in Englisch) kann benutzt werden, um aktuelle Meldungen von anderen Quellen zu holen.

Web-basierte Schnittstelle

Idealerweise sollte jeder XML-fähige Browser das XML mit Hilfe des in der Datei angegeben XSLT style sheets verarbeiten und das Ergebnis anzeigen können. Es gibt jedoch einige, die nicht XML-fähig sind. Das Programm metaf.pl (Anleitung in Englisch) bietet eine Schnittstelle mit XML/XSLT oder reinem HTML. Die XML-Daten sieht man, wenn als Ausgabeformat "XML" gewählt wurde und man sich dann den Seitenquelltext anzeigen lässt.

Quellkode ist verfügbar und GPL

Jeder, der möchte, ist gerne eingeladen, etwas zum Projekt beizutragen. Der beste Startpunkt ist das Ticket-System.

Zum Ausprobieren

Die aktuelle Version von metaf2xml kann bei SourceForge ausprobiert werden. Allerdings kann die Demo-Version keine aktuellen Meldungen für Stationen liefern, da SourceForge keine ausgehenden Verbindungen ins Internet zulässt. Die Meldungen werden stattdessen aus einer Datenbank auf dem SourceForge-Server geholt. Die Datenbank wird nur von Zeit zu Zeit aktualisiert, momentan hat sie Daten für .

Bei der Demo-Version mit Grafik (verwendet Ajax) werden Stationen auf einer Karte durch einen Punkt markiert. Die Karte kann in verschiedenen Vergrößerungen angezeigt und durch Anklicken und Ziehen verschoben werden. Die angeforderten Meldungen werden unterhalb der Karte angezeigt, die neueste zuoberst. Die Liste der Stationen wird dynamisch aus der gleichen Datenbank erzeugt.

Bei der text-basierten Demo-Version können Wettermeldungen eingegeben werden. Wird eine Option mit "Id(s)" gewählt, können auch Stationskennungen eingegeben werden.

Quellen für Wetterdaten

Verschiedene Organisationen und Anbieter ermöglichen freien Zugang zu aktuellen und älteren Wetterdaten, z.B.:

Weitere Links

Demo-Version bei SourceForge

(siehe auch Zum Ausprobieren)

Dateien der aktuellen Version
Anleitungen in Englisch (aus den Perl-Quellen generiert)
das Projekt bei SourceForge

Beispiele für übersetzte Meldungen

Das Ergebnis der Analyse der o.a. Beispielmeldungen ist in example.xml (XML ohne XSLT style sheet-Referenz). Mit den XSLT style sheets des Projektes sieht die Ausgabe in verständlicher Sprache (hier: als HTML, zuerst als Zusammenfassung, darunter detailliert) so aus: