AZUR: Beispiele [Inhalt] [Zurück] [Weiter] [Thema] [Index]

Beispiele




[Inhalt] [______] [______] [Thema] [Index]

Tagesmittel bilden


Gegeben sei der Parameter Wasserstand am Pegel kie0011 als kontinuierliche Zeitreihe. Aus dieser Zeitreihe möchten wir Tagesmittelwerte bilden. Die Resultatzeitreihe wird eine Intervallzeitreihe sein. Den Bereich, auf dem diese Mittelwertbildung ausgeführt wird, wollen wir als Parameter übergeben.

Schrittweise sei nun die Erstellung des dazu notwendigen Azurprogramms erklärt. Jedes Azurprogramm besteht mindestens aus der Funktion AZUR. Diese besteht aus einem Funktionskopf mit Parameterdeklaration:

(Zeitpunkt von, Zeitpunkt bis)

In diesem Falle werden auf der Kommandozeile (oder auch aus einem TopoGramm heraus) die Parameter von und bis übergeben, welche beide vom Typ Zeitpunkt sind.

Dann folgt der Funktionskörper. Zuerst wird die Zeitreihe zum Pegel (Ort) kie0011 mit dem Parameter Wasserstand der Variablen zr1 zugewiesen, die dadurch automatisch den Typ ZR erhält.

zr1 := GetZR ("kie0011", "Wasserstand", "", "K");

GetZR ist eine eingebaute Funktion, die 4 Argumente hat und eine Variable vom Typ ZR zurückliefert. Das erste Argument ist der Ort, dann folgt der Parameter der Zeitreihe, das dritte Argument spezifiziert die Aussage der Zeitreihe, ist es wie hier leer, wird die erste passende Zeitreihe geöffnet. Wir nehmen hier an, es gibt nur eine. Das letzte Argument gibt die Definitionsart der Zeitreihe an, K steht für kontinuierlich, I für Intervall und M für Momentan.

Der zweite und letzte Schritt ist das Bilden von Tagesmittelwerten. Dazu gibt es die eingebaute Funktion IntervallMittel. Mit ihr kann für Intervalle beliebiger Breite der Mittelwert berechnet werden. Das Resultat ist immer eine Intervallzeitreihe, die sich nur in der Definitionsart und der Herkunft von der Originalzeitreihe unterscheidet. Der Bereich, auf dem diese Auswertung stattfindet, wird angegeben. Soll dies der gesamte Bereich sein, für den Daten vorliegen, so ist dies MAXFOCUS. Hier geben wir ihn mittels von und bis vor:

bereich := [von,bis];

bereich ist ein Intervall. Die eckigen Klammern stellen einen Operator dar, der zwei Zeitpunkte zu einem Intervall verknüpft. Dieses Intervall ist ein Argument für die folgende Funktion:

zr2 := IntervallMittel (zr1, bereich, ~"1 Tag", false);

zr2 ist die Ergebniszeitreihe, sie wird hier nicht weiter verwendet. ~"1 Tag" ist eine Distanz. Sie wird durch das Anwenden des unären Operators ~ auf einen String erzeugt. Der String enthält eine Zahl und die Angabe des Zeitschrittes in Klartext. Herauszustellen sind dabei die Zeitschritte Monat und Jahr, die mit einem aufwendigen Algorithmus mit Zeitpunkten verknüpft werden. Das letzte Argument gibt an, ob die entstehende Zeitreihe temporär oder dauerhaft sein soll. Temporäre Zeitreihen haben vor allem als Zwischenergebnis oder im Zusammenhang mit einem TopoGramm eine Bedeutung.

Ein

END

schließt die Funktion AZUR und damit das Azurprogramm ab. Insgesamt ergibt sich also folgendes Programm:

AZUR (Zeitpunkt von, Zeitpunkt bis)
   zr1 := GetZR ("kie0011", "Wasserstand", "", "K");
   bereich := [von,bis];
   zr2 := IntervallMittel (zr1, bereich, ~"1 Tag", false);
END



toposoft GmbH 1. Oktober 2012