Viele Persönlichkeiten. Zwei Standorte. Eine BO.

Quelltexte

Klassenbibliothek

Diese Klassenbibliothek stellt einen Ansatz dar, mit dem das Modell der Simple-Feature-Geometrie gemäß ISO 19125-1 und das Spatial-Schema-Modell nach ISO 19107 zu einer einheitlichen Software-Architektur zusammengeführt werden können.  Es besteht aus drei Paketen:

  • Das Paket de.hsbo.fbv.iso19107.geometry bildet die geometrischen Datentypen des Spatial-Schema-Modells in Form von Java-Schnittstellen ab (nicht vollständig).
  • Das Paket de.hsbo.fbv.iso19125 entspricht dem Modell der Simple-Feature-Geometrie de.hsbo.fbv.ogc.geometry.simple, jedoch in der Form, wie sie in der ISO-Norm 19125-1 beschrieben ist.
  • Das Paket de.hsbo.fbv.iso191xx.geometry.implementations skizziert eine Implementierungsstrategie, mit der die geforderte Konformität zwischen den Klassen der ISO 19107 und ISO 19125 praktisch realisisert werden kann. Das Lösungskonzept basiert auf dem Entwurfsmuster Proxy, das in [Gamma, 1996] beschrieben ist: Zu einem Interface von ISO 19107 und ISO 19125 existiert eine Implementierungsklasse, die zugleich als Schutz-Proxy fungiert. Sie regelt den Zugriff auf eine allgemeine Implementierungsklasse, die beide Schnittstellen erfüllt.

Beispiel

Am Beispiel des geometrischen Objekttyps LineString (im nachfolgenden UML-Diagramm) ist das Prinzip erkennbar. Für beide ISO-Modelle gibt es jeweils eine passende Adapterklasse zum Interface (GM_)LineString, die zugleich als Proxy auf die gemeinsame Klasse GeneralLineString dient. GeneralLineString ist die Klasse für das sogenannte "teure" Objekt, das sowohl 2D- als auch 3D-Geometrien bedient und dazu alle notwendigen Methoden bereitstellt.

Die Klassen der drei rechten Pakete des UML-Diagramms sind im Unterpaket implementations zu finden.

Abbildung aus Kapitel 4.5