SimplexService
Er baut auf dem OGC Standard API Features auf und kann gut mit GIS gekoppelt werden. Als REST-API ist er auch außerhalb der Geo-Welt schnell und einfach anschlussfähig.
Koppelung von Datenbereitstellung und Datenhaltug
Der SimplexService ist das Herzstück der Datenbereitstellung. Er ist dynamisch an die Datenhaltung gekoppelt. Er setzt umnittelbar an den Metadaten und der Datenhaltung des Simplex an und stellt diese transparent bereit. Das bedeutet konkret:
- Sobald eine Klasse im Simplex definiert wird, existiert im SimplexService eine entsprechende Collection
- Werden die Daten einer Klasse aktualisiert, sind autmatisch auch die im Dienst bereitgestellten Daten aktualisiert
Es sind keinerlei zusätzlichen manuellen Eingriffe nötig, die Koppelung ist vollautomatisch.
Hierarchieebenen und URLs
Der Dienst besteht aus hierarchisch angeordneten URLs. Die oberste URL ist dabei stehts:
.../simplexservice
Hier sind verschiedene Beschreibungen und Standardkonformitätserklärungen des Dienstes verlinkt.
.../simplexservice/scenarios
Eine Ebene darunter befindet sich die Liste der Szenarien.
.../simplexservice/scenarios/1/collections
Ein einzelnes Szenario ist das, was der OGC API Features Standard als eine "API Landing Page" definiert. Das Szenario mit dem Identifikator 1 enthält stehts alle Daten des Simplex, wie sie im Realitätsmodell liegen. Alle anderen Szenarien sind Verschneidungen und Neuarrangements der Daten, die im Szenario 1 liegen.
Objekte und Features
Der Simplex Service muss als standardkonforme Implementierung des OGC API Features dessen Nomenklatur übernehmen, die nicht mit der des Simplex übereinstimmt. Deswegen muss hier eine Übersetzung stattfinden. Folgende Begriffe und entitäten des Simplex4Data werden in folgende Begriffe des OGC übertragen:
Simplex4Data Datenmodell | SimplexService |
---|---|
Klasse | Collection |
Objekt | Feature |
Diese Übertragung bleibt transparent, indem sie für den Aufbau der Identifikatoren für Collections (CollectionId) und Features (FeatureId) benutzt wird.
Muster der Identifikationen
Im Gegensatz zur allgemein üblichen Handhabung werden die Collections im SimplexService nicht mit einem menschenlesbaren Namen identifiziert. Stattdessen werden die Identifikatoren des Simplex kombiniert. Das soll an einem Besipiel erläutert werden.
Quelle (s) | Metadaten-Information: Klasse (ist immer 1) | Klassen-Id (c) | CollectionId |
---|---|---|---|
9 | 1 | 100 | 9-1-100 |
Eine Klasse "Gemeinden" in der Quelle 9 mit der Simplex-internen KlassenId 100 erhält als CollectionId die Zeichen "9-1-100" und ist beispielsweise unter folgender URL abzurufen:
.../simplexservice/scenarios/1/collections/9-1-100
Quelle (s) | Klassen-Id (c) | Objekt-Id (o) | FeatureId |
---|---|---|---|
9 | 100 | 319404 | 9-100-319404 |
Analog wird für Objekte einer Klasse deren ObjektId verwendet, sodass ein Objekt mit der Simplex-internen Id 319404 als Feature unter folgender URL zu erreichen ist:
.../simplexservice/scenarios/1/collections/9-1-100/items/9-100-319404
Aus einer FeatureId lässt sich so immer auch die CollectionId des Features ablesen.
Diese Identifikation eines Features ist persistent, d.h. sie ist über Aktualisierungen hinweg immer dieselbe: Solange in der Datenhaltung, die in den Tutorials aufgebaut wurde, eine Gemeinde "Flensburg" existiert, wird sie immer diese FeatureId aufweisen, auch wenn sich ihre Fläche ändern sollte, oder sie weitere Attribute erhalten sollte.
Egal, woher die Information zur FeatureId kommt, sie ist immer dieselbe: ob aus einem in QGIS importierten GeoJSON, ob im SimplexVisual gesehen, ob dem oben dargestellten Muster folgend aus Einträgen der Datenbank zusammengebaut.
Technische Spezifikation
Die API Dokumentation, visuell aufbereitet: https://db01.simplex4data.de/envvisioservicedoc
Die API Dokumentation im Standard der Open API Specification: https://db01.simplex4data.de/envvisioservice/api
Anschluss an GIS
Der Simplex Service kann als OGC API konformer Dienst über die gängigen Schnittstellen der GIS eingebunden werden. Da GIS eine Reihe von festen Annahmen über das Feature-Modell sowie die Beschaffenheit von Objekten machen, können je nach Atruktur der Daten bei dieser Art der Anbindung Informationen verloren gehen oder als fehlerhaft aussehende Ergebnisse entstehen. Eine explizite und ausreichend beschriebene Übersetzung zwischen SimplexService und QGIS bietet ein eigens programmiertes Plugin. Siehe dazu das Kapitel zur Einbindung in QGIS.