Minimales Beispiel - 9. Perspektiven anlegen#
Die ganze bisherige Vorarbeit zum Anlegen von Klassen, Verbindungen und Konvertern dient dem Ziel, dass auf Basis dieser Informationen Sichten auf Daten angelegt werden können. Diese Sichten werden in Simplex4TwIS als Perspektiven bezeichnet.
Im folgenden Beispiel wird eine einfache Perspektive über die Sportstätten angelegt, bei der nur die Sporthallen von Grundschulen mit ihren Adressen ausgegeben werden. Diese Perspektive steht dann sofort als Service zur Verfügung, und kann auch im geojson-Format exportiert und in QGIS angezeigt werden.
Solch eine Perspektive könnte später beispielsweise mit anderen, der Gemeinde zur Verfügung stehenden und importierten Daten verbunden werden, wie:
alle Grundschulsporthallen, die in potentiell durch Überflutung gefährdeten Gebieten der Stadt liegen
alle Grundschulsporthallen, die im Jahr 2024 mehr als vier Mal einen Wartungseinsatz benötigt haben
Eine Perspektive wird jeweils auf Basis einer Klasse erstellt und danach in mehreren Schritten konfiguriert.
Eingabe der Details, z.B. ob die Perspektive in einer Tabelle abgelegt wird
Eingabe der Grundstruktur für die Perspektive über einen Graph, d.h. welche Klassen verbunden werden
Auswahl der Attribute und Anlegen des Filters, d.h. welche vorhandenen Attribute Teil der Perspektive werden, und wonach sie gefiltert werden
Neue Perspektive anlegen#
Auf der Ansicht der Klasse „Sporthallen“ auf den Reiter „Perspektiven“ klicken.
Noch sind keine Perspektiven verfügbar.
Auf „Perspektive erstellen“ klicken. Die Ansicht „Neue Perspektive anlegen“ öffnet sich auf dem Reiter „Details“.
Details anlegen#
Folgende Angaben sind notwendig:
Typ - in diesem Fall „Tabelle“ (Alternativen wären View und Materialized View, die hier nicht weiter besprochen werden).
Label - dies wird Teil der Benennung in der Datenbank selbst und muss daher in einer für SQL passenden Form in Kleinschreibung und ohne Sonderzeichen eingegeben werden. Im Beispiel „grundschulen“.
Name - dies ist der textuelle Name der Perspektive, im Beispiel „Grundschulsporthallen“
Beschreibung - hier können weitere Informationen eingegeben werden, im Beispiel „Grundschulsporthallen mit Adressen“
Die Auswahl „ID der Basisklasse einfügen“ wäre dann relevant, wenn die Perspektive für komplexere Auswertungen in der Zukunft genutzt werden soll. In diesem Minimal-Beispiel wird dies nicht gewählt.
Ergebnis:
Grundstruktur anlegen#
Auf den Reiter „Grundstruktur“ klicken.
Es öffnet sich eine Graphenansicht (siehe auch Simplex Visual). Hier geben wir an, welche Klassen in der Perspektive genutzt werden sollen.
Auf der linken Seite ist als Ausgangssituation des gesamten Graph dargestellt. Objektklassen sind blau umrahmt, Verbindungsklassen sind orange umrahmt. Im Minimal-Beispiel ist die Klasse Sporthallen nur mit der Klasse Adressen verbunden über die Verbindung „Sporthallen -> Adressen“, daher ist diese Graphenansicht relativ klein.
Auf der rechten Seite ist die Zielsituation dargestellt. Noch wird dort nur die Klasse Sporthallen angezeigt, die für die Perspektive die sogenannte Basisklasse darstellt.
Um die Bearbeitung zu starten, im rechten Bereich auf die Basisklasse Sportklassen klicken.
Der rechte Bereich wird damit aktiviert und die Schalter „Abbrechen“ und „Join löschen“ werden angezeigt. Die aktive Klasse wird orange eingefärbt.
Auf der linken Seite werden alle Klassen eingefärbt, die mit in die Perspektive übernommen werden können. Im Beispiel ist dies nur die Klasse Adressen.
Um die Art der Verbindung (des „join“) zwischen der Basisklasse und der verbundenen Klasse zu definieren, auf die verbundene Klasse Adressen klicken. Damit wird die Verbindung der Klassen definierbar.
Das Fenster mit der Maus ein wenig vergrößern.
Für das „Objekt Join“ eine etwas sprechenderen Text als die Standardvorgabe „0“ vergeben, hier „adressen“. Für die Art des Join gibt es rechts ein Auswahlfeld; im vorliegende Beispiel reicht „normal/normal“.
Danach rechts neben der Join-Eingabe auf „Speichern“ klicken.
Objectcube-Optionen (im Beispiel nicht verwendet)#
Die hier angebotenen Optionen sind dann wichtig, wenn laufende Serien von Daten vorhanden sind, wie z.B. Messdaten über die Zeit von Schadstoffen, Gewässerqualität usw. Diese werden anders in der Datenbank abgelegt als die statischeren Daten und würden daher hier auch anders eingebunden werden.
Attribute#
Auf den Reiter „Attribute“ klicken.
Auf der linken Seite stehen die Attribute, Operatoren und Funktionen zur Verfügung, die in die Perspektive übernommen werden können.
Attribute:
Hier werden die in den Klassen verfügbaren Attribute angezeigt. Es kann nach „base“ und dem Join „adressen“ gefiltert werden.
Operatoren:
Hier werden die verfügbaren Operatoren wie „equal“ oder „like“ angezeigt.
Funktionen:
Hier werden die verfügbare Funktionen angezeigt. Dies sind Datenbankfunktionen, mit deren Hilfe Werte in der Perspektive weiter bearbeitet oder ergänzt werden können.
Auf der rechten Seite stehen die Inhalte der Perspektive (zu diesem Zeitpunkt noch leer). Oben kann eine Filter-Eingabe gemacht werden. Darunter können Felder hinzugefügt werden. Welcher Typ Feld hinzugefügt werden kann, kann ausgewählt werden. Im Standard ist es das Text-Feld.
Für das Minimal-Beispiel legen wir eine einfache Perspektive mit wenigen Attributen und einem Filter mit dem Operator „like“ auf das Stichwort „Grundschul“ an.
Attribute hinzufügen#
Auf der linken Seite die Option „base“ anklicken. Damit wird auf die Basisklasse gefiltert.
Auf der rechten Seite auf „Text-Feld hinzufügen“ klicken. Damit wird die Eingabe eines Feldes möglich.
Mit der Maus in das neue Feld klicken und dann auf der linken Seite auf das Attribut, das diesem Feld zugeordnet werden soll. Dieses wird dann übernommen.
„Feld_0“ ist die Bezeichung in der Oberfläche, „field_0“ die Bezeichnung in der Datenbank und der Ausgabe des SimplexService. Beides kann in sprechendere Bezeichnungen umbenannt werden. Bei „field_0“ als Datenbanktext muss dies in Kleinbuchstaben ohne Sonderzeichen etc. erfolgen.
Hier im Beispiel wird beides auf „Id“ bzw „id“ umbenannt.
Analog die Sportstätte (description) und die Sportanlage (title) hinzufügen und umbenennen. Die Bezeichnung „title“ stammt aus dem OGC-Standard; in Simplex4TwIS wird „name“ verwendet. Das Ergebnis ist folgendes:
Um noch Attribute der Adresse hinzuzufügen, die Option „base“ abschalten und stattdessen „adressen“ anschalten.
Zunächst das Textfeld den eindeutigen Schlüssel der Adresse hinzufügen und wie oben beschrieben umbenennen.
Dann statt Text-Feld ein Geometrie-Feld hinzufügen. Die Liste der verfügbaren Attribute wird automatisch gefiltert.
Das Geometrie-Attribut „adressen.pt“ hinzufügen und wie oben beschrieben umbenennen.
Damit sind alle notwendigen Attribute hinzugefügt.
Filter hinzufügen#
Im nächsten Schritt muss der Filter für die Grundschulen hinzugefügt werden. Dazu muss immer zuerst der Operator ausgewählt werden, und danach die Felder, auf die der Operator angewendet werden soll.
Die Auswahl „Operatoren“ anklicken.
Operator „Like“ auswählen. Es werden dann mehrere Parameterfelder angezeigt.
Nochmals die Attribute öffnen und als ersten Parameter das zu filternde Attribut eingeben, hier der „title“.
Als zweiten Parameter den Suchbegriff eingeben, hier mit der Wildcard % für die Datenbanksuche. Dies ergibt „%Grundschul%“.
Damit ist die Perspektive angelegt und kann rechts oben gespeichert werden.
Die Ansicht kehrt zurück zur Klasse der Sporthallen.
Perspektive als Tabelle anzeigen#
Über „View“ kann die Perspektive als Tabellenansicht angezeigt werden.
Oben in der Tabellenansicht der Perspektive findet sich der komplette Datenbankaufruf, der dafür verwendet wird.
Links unten wird angezeigt, dass insgesamt 63 Zeilen vorhanden sind, d.h. es wurden 63 Einträge mit dem Stichwort „Grundschul“ gefunden.
Die Geometriedetails in den Spalten s, c und o sind nicht relevant und diese Spalten können mit einem Klick auf das Augensymbol ausgeblendet werden.
Perspektive als Service (Dienst) anzeigen#
Für die Ansicht der Perspektive gibt es weitere Optionen, darunter die Möglichkeit, die Perspektive als Service aufzurufen.
Dazu unter „View“ die Option „Items“ aufrufen.
Die Ansicht im JSON-Format öffnet sich mit der URL der Art:
https://db01.simplex4data/projekte/demo/simplexservice/scenarios/1/collections/5-8-105/items
Dies ist gleichzeitig direkt schon der Service-Aufruf, erkennbar am Bestandteil „simplexservice“. Damit steht der Dienst mit den QGIS-Daten automatisch zur Verfügung und muss nicht gesondert angelegt werden.
In der Standardansicht werden hier ebenfalls nur 10 Items (= Tabelleneinträge) ausgegeben. Daher sollte hier manuell von „items“ auf z.B. „items?limit=100“ geändert werden.
Perspektive als geojson-Daten speichern und in QGIS weiterverwenden#
Für die Weiterverwendung in QGIS sind geojson-Daten notwendig. Diese können aus dem Service erhalten werden.
Dazu im Json-Format die URL suchen, die hinten „geojson“ enthält. Diese anklicken und aufrufen.
In der Standardansicht werden hier ebenfalls nur 10 Items (= Tabelleneinträge) ausgegeben. Daher sollte hier manuell von „items?f=geojson“ auf z.B. „items?f=geojson&limit=100“ geändert werden.
Über Rechtsklick und „Seite speichern unter…“ die Anzeige speichern, beispielsweise unter dem Namen „grundschulsporthallen.geojson“.
Falls ein QGIS verfügbar ist, kann diese Datei nun als Layer dort eingefügt und angezeigt werden.
Mit Rechtsklick auf die „grundschulsporthallen“ kann über „Zoom to layer“ die Anzeige vergrößert werden. Über „Layer Properties“ kann außerdem die Schicht bespielsweise in der Farbe „pink“ angezeigt werden, damit die Standorte besser sichtbar sind. Ergebnis im Beispiel:
Damit ist das Anlegen dieser Perspektive beendet.