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.