The HTML5 Herald

Um gegenüber dringenden Anforderungen zur Modellfortführung flexibel reagieren zu können, wurden im LgBestMod mit den Erweiterungsklassen und Erweiterungsattributen besondere Mo-dellelemente eingeführt mit denen vorläufige Ergänzungen am Datenmodell vorgenommen wer-den können. Über die Methode der Erweiterungsklassen und -attribute können aber lediglich vorläufige neue Fachklassen und vorläufige neue Attribute zu bestehenden oder vorläufigen Fachklassen definiert werden. Zu beachten ist, dass mit dieser Methode insbesondere das Umbenennen von Fachklassen und/oder Attributen nicht möglich ist, da hiermit auch immer eine Datenmigration verbunden ist. Alle Änderungen, die eine Migration des Datenmodells erfordern, können erst mit der Einführung einer neuen Modellversion vorgenommen werden.

5.3.1 Erweiterungsklassen

Im Paket Basisschema, Unterpaket Erweiterungsklassen sind zu jedem Geometrietyp (punktförmig, linienförmig, flächenförmig) und für linienförmige Teilklassen spezielle Infrastruktur-Klassen enthalten, über die Erweiterungsklassen definiert werden können. Jede dieser Klassen verfügt über ein Attribut Name, dem eine Aufzählung hinterlegt ist, die entsprechend fortgeführt werden kann. Die Einträge in den jeweiligen Aufzählungen repräsentieren jeweils eine Erweiterungsklasse und folgen dabei einem bestimmten Muster, mit dem die Eigenschaften der zukünftigen Klasse vorläufig festgelegt wird.

Die Einführung von Erweiterungsklassen über die Ergänzung der Aufzählung zum Attribut Name kann ausschließlich durch die LtSt LgBestMod vorgenommen werden. Anforderungen können jederzeit gerichtet werden an: info@liegenschaftsbestandsmodell.de

5.3.2 Erweiterungsattribute

Alle Fachklassen und Erweiterungsklassen verfügen über ein spezielles Attribut ErweiterungsAttribute, das über die Oberklasse LK_Objekt an alle Fach- bzw. Erweiterungsklassen vererbt wird. Das Attribut ErweiterungsAttribute hat einen komplexen Datentyp (LK_ErweiterungsAttribut), der sich aus den Attributen Wert (Attributtyp Text) und Name (Attributtyp Aufzählung) zusammensetzt. Im Attribut Wert wird der objektspezifische Wert des Erweiterungsattributs erfasst. Das Attribut Name ist mit einer Aufzählung (LA_AttributNamenliste) hinterlegt, die entsprechend fortgeführt werden kann. Die Kürzel der Einträge in der Aufzählung folgen dabei einem bestimmten Muster, mit dem der vorläufige Attributname und die zu erweiternde Klasse (identifiziert über die Klassenkennung) festgelegt werden. Über die im Kürzel enthaltene Klassenkennung kann kontrolliert werden, welche Erweiterungsattribute für welche Klassen erlaubt sind. Wie für alle Aufzählungen nimmt auch für die Aufzählung LA_AttributNamenliste nur das Kürzel am Datenaustausch teil.

Der (Lang-)Name zu einem Kürzel (der Aufzählung LA_AttributNamenliste) wird immer so gewählt, dass daraus die Klassenzugehörigkeit (durch Angabe des Klassennamens) sowie der vorläufige Name und zukünftige Datentyp des Erweiterungsattributs hervorgehen.

Mögliche Datentypen sind:

  • R = Reell (Fließkommazahl)
  • C = Character (Text)
  • I = Integer (ganzzahlig)
  • B = Boolean
  • W = Aufzählung (Werteliste)

Im Fall, dass ein Erweiterungsattribut zukünftig eine Aufzählung als Datentyp (Datentyp „W“) besitzen soll, wird auch die Zusammensetzung der zukünftigen Aufzählung angegeben. Die Werte der Aufzählung sind dabei als kommaseparierte Liste in Klammern hinter der Angabe des Datentyps „W“ angegeben. Beispiel: W(Betriebs-/Brauchwasser,Löschwasser,Rohwasser,Trinkwasser,unspezifiziert).

In Bezug auf die Festlegung von Datentypen für Erweiterungsattribute ist zu beachten, dass Werte für Erweiterungsattribute modelltechnisch generell als Zeichenketten zu erfassen sind (vgl. Datentyp CharacterString des Attributs Wert der Klasse LK_Erweiterungsattribut). Der Datentyp für ein Erweiterungsattribut gibt dabei vor, wie einzelne Werte von Erweiterungsattributen als Zeichenkette (CharacterString) zu kodieren sind. Beispielsweise dürfen für Erweiterungsattribute vom Datentyp „I“ nur Zeichenketten angegeben werden, die einen Integer repräsentieren. Folgende weitere Codierungsregeln sind einzuhalten:

  • Für den Datentyp „R“ muss die Zeichenkette eine reelle Zahl darstellen. Als Dezimaltrennzeichen ist ein Punkt zu verwenden.
  • Für boolsche Werte (Datentyp „B“) sind die Werte wie folgt zu kodieren: „True“ für wahr und „False“ für falsch.
  • Für Aufzählungen (Datentyp „W“) sind nur die in der kommaseparierten Liste angegebenen Texte (Werte) erlaubt.

Die Einführung von Erweiterungsattributen über die Ergänzung der Aufzählung LA_AttributNamenliste kann wie die Einführung von Erweiterungsklassen ausschließlich durch die LtSt LgBestMod vorgenommen werden.

Zu beachten ist, dass Erweiterungsattribute nicht vererbt werden.

Beispiel Erweiterungsattribut für eine bestehende Fachklasse

Die Klasse BP_Brunnen soll in der nächsten Modellversion um das Attribut Leistung ergänzt werden. Dafür wird die Aufzählung LA_AttributNamenliste um einen Eintrag mit dem Kürzel 222200000_Leistung und dem (Lang-)Namen BP_Brunnen.Leistung#R ergänzt. Das Kürzel beginnt dabei mit der Kennung der zu erweiternden Klasse (hier die Kennung 222200000 für die Klasse BP_Brunnen), einem Unterstrich „_“ und dem Namen des neuen (Erweiterungs-)Attributs (siehe Abb. 24). Aus dem zugehörigen (Lang-)Namen ab dem Zeichen „#“ ergibt sich der Datentyp für das Erweiterungsattribut (hier: „R“); der Text vor dem Zeichen „#“ wird durch das LgBestMod nicht interpretiert, kann aber zur Anzeige in der verarbeitenden Software genutzt werden.

Abb. 24: Beispiel für eine Fachklasse mit Erweiterungsattribut

Beispiel Erweiterungsklasse mit Erweiterungsattribut

Beispielsweise soll in der nächsten Modellversion eine Klasse UP_Fotodokumentation mit einer punktförmigen Geometrie eingeführt werden. Um bereits in der aktuellen Modellversion die Erfassung eines Kamerastandpunktes zur Fotodokumentation zu ermöglichen, wird die Erweiterungsklasse BP_ErweiterungsKlasse verwendet. Die Klasse dient dabei insbesondere als ein Container für punktförmige Geometrie. Objekte dieser Klasse erhalten erst über das Attribut Name (der Klasse BP_ErweiterungsKlasse) ihre zukünftige Klassenzugehörigkeit. Neue vorläufige Fachklassen werden also über Ergänzung der Aufzählung LA_PunktklassenNamenliste zum Attribut Name der Klasse BP_ErweiterungsKlasse definiert. Zur Definition der neuen punktförmigen Erweiterungsklasse EP_Fotodokumentation wird daher die Aufzählung LA_PunktklassenNamenliste um einen Eintrag ergänzt. Für einen Eintrag in der Aufzählung (LA_PunktklassenNamenliste) gelten dabei die folgenden Regeln: Das Kürzel des Eintrags ist mit einem modellweit eindeutigen Identifikator, z.B. mit dem vorläufigen Namen der zu ergänzenden Fachklasse, belegt (hier: „Fotodokumentation“). Der (Lang-)Name des Eintrags in der Aufzählung (hier: „EP_Fotodokumentation“) wird durch das LgBestMod nicht interpretiert, kann aber zur Anzeige in der verarbeitenden Software herangezogen werden. Für den Datenaustausch ist nur das Kürzel von Bedeutung.

Abb. 25: Beispiel für eine Erweiterungsklasse mit Erweiterungsattributen

Auch die Erweiterungsklassen besitzen das von der Klasse LK_Objekt vererbte Attribut ErweiterungsAttribute. Über dieses Attribut können auch zu einer Erweiterungsklasse Erweiterungsattribute definiert werden. Dazu ist wie zuvor beschrieben eine Erweiterung der Aufzählung LA_AttributNamenliste erforderlich. Um die Teilmenge an Erweiterungsattributen bestimmen zu können, die einer konkreten Erweiterungsklasse zugeordnet sind, ist die Kennung der Erweiterungsklasse (z.B. 130400000 für BP_ErweiterungsKlasse) nicht ausreichend. Daher wird zusätzlich zur Klassenkennung der Erweiterungsklasse auch der Identifikator (das Kürzel) des zukünftigen Klassennamens (hier: „Fotodokumentation“) mit angegeben. Auch dies dient wiederum der Kontrolle, dass nur diejenigen Erweiterungsattribute zu einem Objekt hinzugefügt werden können, die für die Erweiterungsklasse bzw. die zukünftigen Fachklasse vorgesehen sind. Das Kürzel des Eintrags in der Aufzählung LA_AttributNamenliste für Erweiterungsattribute zu Erweiterungsklassen bildet sich dabei nach dem folgenden Schema: Kennung der Erweiterungsklasse (hier: „130400000“) gefolgt vomIdentifikaktor für die vorläufige Fachklasse (hier: „Fotodokumentation“), einem „_“ und dem Namen des Erweiterungsattributs selbst (hier: „Bemerkung“).

© 2024 Landesamt GeoInformation Bremen