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#

  1. Auf der Ansicht der Klasse „Sporthallen“ auf den Reiter „Perspektiven“ klicken.

    Klasse "Sporthallen" - Reiter "Perspektiven" aufrufen

    Noch sind keine Perspektiven verfügbar.

    Perspektiven
  2. Auf „Perspektive erstellen“ klicken. Die Ansicht „Neue Perspektive anlegen“ öffnet sich auf dem Reiter „Details“.

Details anlegen#

Perspektive anlegen - Details

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:

Perspektive anlegen - Details befüllt

Grundstruktur anlegen#

  1. Auf den Reiter „Grundstruktur“ klicken.

    Perspektive anlegen - Grundstruktur

    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.

  2. 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.

    Perspektive anlegen - Klassen verbinden

    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.

    Perspektive anlegen - Graph der Perspektive
  3. 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.

    Perspektive anlegen - join definieren

    Das Fenster mit der Maus ein wenig vergrößern.

  4. 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“.

    Perspektive anlegen - objjoin benennen und Art des join definieren

    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.

Perspektive anlegen - Objectcube-Optionen

Attribute#

Auf den Reiter „Attribute“ klicken.

Perspektive anlegen - Attribute

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.

Perspektive anlegen - Auswahl der Attribute

Operatoren:

Hier werden die verfügbaren Operatoren wie „equal“ oder „like“ angezeigt.

Perspektive anlegen - Auswahl der Operatoren

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.

Perspektive anlegen - Auswahl der Funktionen

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.

Perspektive anlegen - Typ des Feldes ändern

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#

  1. Auf der linken Seite die Option „base“ anklicken. Damit wird auf die Basisklasse gefiltert.

    Perspektive anlegen - Attribute auf Basisklasse filtern
  2. Auf der rechten Seite auf „Text-Feld hinzufügen“ klicken. Damit wird die Eingabe eines Feldes möglich.

    Perspektive anlegen - Textfeld anlegen
  3. 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.

    Perspektive anlegen - Feld mit Attribut befüllt

    „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.

    Perspektive anlegen - Feld umbenannt
  4. 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:

    Perspektive anlegen - Text-Felder hinzugefügt
  5. Um noch Attribute der Adresse hinzuzufügen, die Option „base“ abschalten und stattdessen „adressen“ anschalten.

  6. Zunächst das Textfeld den eindeutigen Schlüssel der Adresse hinzufügen und wie oben beschrieben umbenennen.

    Perspektive anlegen - Text-Felder hinzugefügt
  7. Dann statt Text-Feld ein Geometrie-Feld hinzufügen. Die Liste der verfügbaren Attribute wird automatisch gefiltert.

    Perspektive anlegen - Geometrie-Feld hinzufügen
  8. Das Geometrie-Attribut „adressen.pt“ hinzufügen und wie oben beschrieben umbenennen.

    Perspektive anlegen - Geometrie-Feld hinzugefügt

    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.

  1. Die Auswahl „Operatoren“ anklicken.

    Perspektive anlegen - Operator auswählen
  2. Operator „Like“ auswählen. Es werden dann mehrere Parameterfelder angezeigt.

    Perspektive anlegen - Operator auswählen
  3. Nochmals die Attribute öffnen und als ersten Parameter das zu filternde Attribut eingeben, hier der „title“.

    Perspektive anlegen - ersten Parameter eingeben
  4. Als zweiten Parameter den Suchbegriff eingeben, hier mit der Wildcard % für die Datenbanksuche. Dies ergibt „%Grundschul%“.

    Perspektive anlegen - Filtertext eingeben

Damit ist die Perspektive angelegt und kann rechts oben gespeichert werden.

Die Ansicht kehrt zurück zur Klasse der Sporthallen.

Perspektive anlegen - Filtertext eingeben

Perspektive als Tabelle anzeigen#

Über „View“ kann die Perspektive als Tabellenansicht angezeigt werden.

Perspektive anzeigen - Aufruf

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.

Perspektive anzeigen - Tabellenansicht der Perspektive

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.

Perspektive anzeigen - View mit Items öffnen

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.

Perspektive anzeigen - Items-View in json-Format

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 anzeigen - Items-View erweitern

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.

Perspektive anzeigen - geojson-URL 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.

Perspektive anzeigen - geojson-Anzeige erweitern

Ü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.

Perspektive anzeigen - QGIS-Oberfläche

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:

Perspektive anzeigen - QGIS-Oberfläche mit Zoom auf Grundschulsporthallen

Damit ist das Anlegen dieser Perspektive beendet.