Dynamische Merkmale (persistent eco- and forestdata construction - PEFC)
Merkmale stellen die Informationsträger von FOROP dar. Sie sind jene Bestandteile des Informationssystems, mit deren Hilfe Zustände und Ausprägungen von Objekten der realen Welt beschrieben werden. Bestandesalter, Bonität, Stammzahl, Ökopunkte, Bringungsklassen, Exposition, geschätzte Baumartenanteile usw. sind nur einige Merkmale der realen Forstwelt. FOROP kann hier eine unbegrenzte Anzahl dieser Merkmale verwalten und setzt der Kreativität des Anwenders keine Grenzen. Ein Set von ca. 90 vordefinierten, sogenannten Systemmerkmalen (wie z.B. Bonität, Alter, Stammzahl, Derbholzvorrat usw.) sind für die Basisfunktionalität der Applikation notwendig. Weitere Merkmale kann der Benutzer selbst über die Stammdatenverwaltung anlegen. Weiterführend besteht die Möglichkeit, abgeleitete Merkmale, welche sich mittels benutzerdefinierter Formeln, Ordinal- oder Nominalskalen, von anderen Merkmalen ableiten, anzulegen.
Als Beispiel für ein solches abgeleitetes Merkmal sei hier das Begründungsjahr des Bestandes zur dynamischen Verwaltung des Bestandesalters angeführt: Sie können ein Merkmal anlegen, welches Sie "Eingabealter" bezeichnen. Von diesem lassen Sie mittels Formel das Merkmal "Begründungsjahr" ableiten. Ab diesem Zeitpunkt wird vom System automatisch das Begründungsjahr verwaltet, wenn sie das Merkmal "Eingabealter" ändern oder neu anlegen.
Selbstverständlich können Sie auch beliebig viele Variationen eines Hauptmerkmals des selben Typs anlegen (z.B. Baumartenanteil errechnet, Baumartenanteil geschätzt 1963, Baumartenanteil geschätzt 1994 usw.). Ihrer Phantasie sind keine Grenzen gesetzt.
Ein Beispiel:
Das Alter, als ein dynamisch abgeleitetes sekundäres Merkmal, ändert sich im Lauf der Zeit. Es ist leicht kalkulierbar, kann vorausgesagt werden und ist maschinell leicht ermittelbar, wenn eine fundamentale Bedingung erfüllt ist: Es muß das Basisdatum, welches zur Ableitung des Alters notwendig ist, bekannt sein. Die herkömmliche Forsteinrichtungspraxis verwendet das Alter nicht dynamisch, sondern geht vielmehr davon aus, daß das Alter innerhalb eines Planungszeitraumes (1 Jahr, 10 Jahre, ...) statisch konstant ist. Mit Hilfe von FOROP kann der Dynamik des Alters voll Rechnung getragen werden, wobei allerdings dies nicht zwingend ist, sondern vielmehr vom Benutzer gesteuert werden kann. Die Dynamik des Alters wird in FOROP mit Hilfe eines kleinen Tricks gewährleistet (wobei es keine Rolle spielt, ob es sich um das Alter eines Bestandes, einer Bestandesschicht oder einer Baumart handelt): Systembedingt arbeitet FOROP grundsätzlich mit zwei verschiedenen Altersbegriffen und zwar dem sogenannten Eingabealter und dem tatsächlichen Alter. Dem Eingabealter ist ein Mechanismus angeschlossen, welcher unter Zuhilfenahme des Systemdatums das sogenannte "Begründungsjahr" ableitet und in der Datenbank ablegt. Von diesem leitet FOROP in weiterer Folge wieder mit Hilfe des Systemdatums das tatsächliche Alter ab. Das tatsächliche Alter wird ebenfalls in der Datenbank abgelegt.
Dieses von FOROP generierte tatsächliche Alter bleibt solange unverändert, bis es der Benutzer entweder
- überschreibt (manuell gezielt verändert) oder
- vom System auf Basis des Begründungsjahres und des Systemdatums neu errechnen läßt.
Die Nachführung des tatsächlichen Alters geschieht also nur auf ausdrücklichen Wunsch des Benutzers!
Wie soeben beschrieben, bestehen Wechselbeziehungen zwischen den Merkmalen "Eingabealter", "tatsächliches Alter" und "Begründungsjahr" (in weiterer Folge auch "Altersklasse"). Ein derartiges Netzwerk aus abgeleiteten Merkmalen – wie oben erwähnt – ist in FOROP nicht Bestandteil des Programm(code)s, sondern kann vom Benutzer frei definiert werden. Dies ist möglich, da sich FOROP aufgrund des eingesetzten Client/Server-Konzeptes einer äußerst funktionalen SQL-Datenbank bedient.
Das Merkmalsnetzwerk wird gleichzeitig mit der Merkmalsdefinition erstellt. Merkmalsdefinitionen sind entweder schon im Auslieferungszustand von FOROP enthalten (dies trifft für Systemmerkmale zu) oder werden vom Benutzer nach Maßgabe seiner Vorstellungen selbst angelegt. Der Benutzer kann also sein eigenes dynamisches Merkmalsnetzwerk generieren.
Merkmalsabhängigkeiten können auf zwei verschiedene Arten definiert sein. Einmal durch Ableitung eines Merkmales mit Ordinalskala aus einem Merkmal mit Verhältnisskala (z.B. Ableitung von Hangneigungsklassen aus der gemessenen Hangneigung oder Ableitung von Altersklassen aus dem tatsächlichen Alter) oder durch Ableitung eines Merkmales mit Hilfe benutzerdefinierter Formeln (z.B. die Ableitung des Begründungsjahres aus dem Eingabealter). Der Benutzer kann so eigene, komplexe Merkmalsnetzwerke generieren.
Anhand des schon vorgestellten Merkmaltripels Eingabealter – Begründungsjahr – tatsächliches Alter sei nun ein kleines Merkmalsnetzwerk erklärt:
Das Begründungsjahr errechnet sich mittels: Systemdatum minus Eingabealter.
Diese Formel wird bei der Merkmalsdefinition eingesetzt. Im Feld Merkmalsformel steht die Formel
year(today(*))-[x]
Zusätzlich ist im Feld "Merkmalableitung aus" das Merkmal "Alter, Eingabe" eingetragen. FOROP hat nun genug Information, um eine automatische Ableitung des Merkmals "Begründungsjahr/Geburtsjahr" vorzunehmen. Diese automatische Ableitung geschieht ohne Zutun des Benutzers völlig unmerklich im Hintergrund. FOROP prüft bei jeder Veränderung oder Neuanlage eines Merkmals, ob von diesem Merkmal andere Merkmale abgeleitet werden können. Ist dies der Fall, so untersucht FOROP im nächsten Schritt, wie die Ableitung der Merkmale zu machen ist. Wie schon erwähnt, kann FOROP Merkmale aufgrund von Formeln ableiten oder aber die Ableitung mit Hilfe von vorgegebenen Stufenintervallen durchführen. Soll mittels Formel abgeleitet werden, so berechnet FOROP den Wert des abgeleiteten Merkmals und trägt dieses Merkmal mit seinem errechneten Wert in der Datenbank ein. Ist keine Formel definiert, so geht FOROP davon aus, daß das abzuleitende Merkmal mittels der Stufenintervalle abzuleiten ist, welche für dieses Merkmal definiert wurden. FOROP liest also alle Stufenintervalle des abzuleitenden Merkmals aus und ermittelt nun aufgrund des Wertes, welcher dem Merkmal, von dem abgeleitet werden soll, zugeordnet wurde, die Nummer des Stufenintervalls und trägt diese Nummer als Wert des abgeleiteten Merkmals ein. Der geschilderte Ablauf einer Merkmalsableitung kann selbstverständlich auch rekursiv ablaufen. Dies bedeutet, daß bei Anlage oder Änderung eines abgeleiteten Merkmals in weiterer Folge wieder ein Merkmal abgeleitet werden kann (das System Eingabealter – Begründungsjahr – tatsächliches Alter – Altersklasse ist so aufgebaut).
Gemeinsam mit unseren Partner haben wir nun ein System zur Datenhaltung entwickelt, das zu Recht als dauerhaftes Datenmodell für jede Art von Informationsspeicherung im Bereich der Ökologie und Forstdatenhaltung gelten darf. Mit diesem System (PEFC) ist es möglich, schon bei der Einführung des Informationssystems ein beständiges Datenmodell zu generieren, welches auf Jahre hinaus mit den Anforderungen des Anwenders Schritt hält, ohne einen Eingriff in die Tabellen- und Constraint - Struktur der Datenhaltung notwendig zu machen. PEFC besteht aus den Teilen TabGen (TabellenGenerator), TempATab (temporäreArbeitstabelle), MMDef (Merkmaldefinition) und Ableitungsautomatik.