SimplexVisual
SimplexVisual ist eine im entstehend befindliche Komponente des Simplex4Data. Sie ist ein mittels Browser ansteuerbares Web-Interface. SimplexVisual visualisiert den Datenpool auf Objektebene, zeigt Klassenhierarchien an und erlaubt Karteneinblendungen. Anders als bei herkömmlichen Geodatenviewern werden hier aber keine Layer angezeigt, sondern einzelne Objekte.
Hinweis: SimplexVisual ist ein experimentelles und neuartiges Interface in der Beta-Version. Die Steuerung ist noch nicht ausgereift und einzelne Operationen sind sehr langsam und unperformant programmiert. Es kann deshalb leicht passieren, dass SimplexVisual lange braucht, um Daten zu laden, oder kryptische Fehlermeldungen anzeigt. Oft hilft es, einen Moment Geduld aufzuwenden und dem Interface Zeit zum Laden zu geben. Auch ein Löschen des Inhalts mittels "clear" und ein direkt anschließendes "go" lösen viele Schwierigkeiten.
1. Übersicht
Die folgende Abbildung zeigt das Interface des SimplexVisual mit Fokus auf ein Objekt der Klasse Gemeinden, die Stadt Flensburg:
Das Interface besteht aus drei Fenstern, die farblich hervorgehoben folgendermaßen aussehen:
1.1. Menü (rot)
Das Menü steuert, was in den anderen beiden Fenstern zu sehen ist.
1.2. Graphenansicht (blau)
Die Graphenansicht ist das Herzstück des SimplexVisual. Sie zeigt zwei Dinge an:
Objekte und deren Verbindungen
Objekte werden als Kreise angezeigt, Verbindungen als Linien, die die Kreise verbinden.
Legende
Die Legende zeigt an, welche Objekte und Verbindungen zu welchen Klassen gehören. So können z.B. die Gemeinde Flensburg (blau) und der Kreis Flensburg (orange) unterschieden werden.
Die Graphenansicht wird in den folgenden Abschnitten noch ausführlicher erläutert.
1.3. Multifunktionsfenster (gelb)
Rechts in Gelb findet sich eine weitere Ansicht, die Detailinformationen bietet zu dem, was in der Graphenansicht zu sehen ist. Hier kann zwischen drei Ansichten hin und her geschaltet werden.
1.3.1. Datenansicht (JSON, aktuell ausgewählt)
Ist standardmäßig angewählt und zeigt das aktuelle Objekt als JSON-Datensatz an, wie ihn auch der SimplexService bereitstellt. Hier ist das die Gemeinde Flensburg, das Objekt mit der Collection-Id 9-1-100 und der Feature-Id 9-100-319404.
1.3.1. Kartenansicht (Map)
Zeigt die Geometrie des aktuellen Objekts (wenn dieses ein Geometrieattribut hat), sowie u.U. die weiterer Objekte auf einer Karte an.
1.3.1. Filter (Filter)
Wird für den SimplexScenarioEditor genutzt und ist noch im Entstehen begriffen, vgl. SimplexScenarios.
2. Start
Im SimplexVisual ist immer ein einzelnes Objekt im Mittelpunkt. Dieses wird im weiteren als "Zentralobjekt" bezeichnet. Im oben abgebildeten Beispiel ist dies die Stadt Flensburg, ein Objekt der Klasse Gemeinden. Alle anderen Objekte (z.B. der Kreis und das Bundesland) werden in Bezug auf dieses Zentralobjekt abgefragt und bereitgestellt. Das Menü steuert die Abfrage und Bereitstellung.
2.1. Ein Objekt finden und auswählen
Um den SimplexVisual zu benutzen, muss initial ein einzelnes Objekt ausgewählt werden, das von Interesse ist und im Mittelpunkt des Graphen stehen soll.
Um es in das Menü einzutragen sind zwei Informationen zu diesem Objekt erforderlich: die Identifikation der Collection und die des Features. Es gibt verschiedene Möglichkeiten, an diese Informationen zu kommen. Der Ausgangspunkt dieses Textes ist, dass es kein einzelnes Objekt gibt, das von besonderem Interesse wäre, sondern einfach irgendein Gemeindeobjekt ausgewählt werden soll. Schließlich wurde die Definition und Konvertierung der Gemeinden in einigen Tutorials beschrieben.
In der Detailansicht der Klasse Gemeinden ist oben der Knopf "Betrachten" zu finden.
Er leitet direkt auf den SimplexService um. Der Browser zeigt nun die rohe Ausgabe des Dienstes als JSON. Hier werden die ersten 10 Features der Collection angezeigt. Das allererste Feature ist die Gemeinde Flensburg, die Identifikation der Collection (9-1-100) und die des Features (9-100-319404) ist direkt sichtbar.
2.2. SimplexVisual starten
Die beiden Identifikatoren werden im Menü in die entsprechenden Felder eingetragen. Die weiteren Eingaben des Menüs sind optional und müssen nicht verändert werden. Ein Klick auf "Go" startet die Visualisierung: in der Graphenansicht baut sich der Graph auf, im Multifunktionsfenster erscheint das Objekt als JSON.
Wenn die Ansicht geladen ist, sind folgende Aktionen möglich:
- Zentralobjekt wechseln: Durch Klicken auf Verbindungen oder Objekte ist es möglich, zwischen den Objektklassen entlang ihrer Verbindungen zu wechseln. In diesem Fall verlassen wir das aktuelle Zentralobjekt und wählen ein anderes aus (siehe Abschnitt 3).
- Durch Änderungen im Menü kann die Komplexität des sichtbaren Graphen gesteuert werden (siehe Abschnitt 4).
- Durch Umschalten des Multifunktionsfensters können andere Ansichten auf Objekte gewonnen werden.
Die gesamte Visualisierung kann mittels "clear" gelöscht werden. Sollen Angaben im Menü geändert werden (wie z.B. in fast allen Abbildungen des vierten Abschnitts), muss die Visualisierung mittels "clear" und "go" neu geladen werden, um die Änderungen zu übernehmen.
3. Navigation
Jedes der in der Graphenansicht angezeigten Objekte kann angeklickt werden. Mit diesem Klick wird es zum neuen Zentralobjekt. Die Felder "collectionId" und "featureId" ändern sich automatisch mit. Manuelle Änderungen im Menü sind nicht nötig.
Durch einen Klick auf den Kreis Flensburg ändert sich die Darstellung:
- Die Graphenansicht erweitert sich: Nun sind weitere Kreisobjekte sichtbar, die mit dem Land Schleswig-Holstein verbunden sind. Sie sind vom vorherigen Zentralobjekt, der Gemeinde, drei Schritte entfernt (siehe dazu die detaillierte Erklärung zu depth und max depth).
- Das Multifunktionsfenster (aktuell in der Datenansicht) zeigt das neue Zentralobjekt an.
Durch Klicken auf den Reiter "Map" innerhalb des Multifunktionsfensters öffnet sich die Kartenansicht. Sie zeigt die Geometrie des aktuellen Zentralobjekts (Kreis Flensburg, orangene Fläche) sowie die des vorherigen Zentralobjekts (Gemeinde Flensburg, blauer Punkt).
4. Menü
Nun zurück zur Gemeinde als Zentralobjekt.
Hinweis: Um die folgenden einzelnen Menüpunkte zu durchlaufen, muss jedes Mal, wenn im Menü eine Änderung vorgenommen wird, mit einem Klick auf Clear und einem Klick auf Go die Visualisierung neu geladen werden.
4.1. Instance class links: Klassenmodell und Metadaten anzeigen
Durch Setzen des Häkchens „instance-class links“ werden neben Nutzdaten auch Metadaten geladen. Die in der Legende zuoberst stehende „Registrierung aller Objekte“ ist die Klasse aller Klassen im Modell, das blau umrandete Objekt „Gemeinde“ repräsentiert die Klasse Gemeinden im Datenpool, deren Instanz das Zentralobjekt ist. Da Simplex keinen Unterschied zwischen Metadaten und Nutzdaten macht, macht das Setzen des Häkchens die Abfrage technisch gesehen nicht aufwändiger.
Für eine übersichtliche Ansicht ist es allerdings besser, den Haken nicht zu setzen.
4.2. Depth und max depth: Tiefe des Graphen steuern
Mittels des Menüpunkts "depth" wird die Anzahl der Schritte im Graphen angegeben, bis zu denen Objekte in die Visualisierung aufgenommen werden. Im obigen Bild standen beide auf 2. Nun wird auf 3 gewechselt:
- depth 0: Nur das Zentralobjekt (=Gemeinde Flensburg).
- depth 1: Objekte, die mit der Gemeinde Flensburg verbunden sind (= der Kreis Flensburg).
- depth 2: Objekte, die mit Objekten verbunden sind, die mit der Gemeinde Flensburg verbunden sind (= das Bundesland Schleswig-Holstein).
- depth 3: Objekte, die mit Objekten aus Schritt 2 verbunden sind.
- ...
Der Graph wird Zusehens komplexer, die Menge der geladenen und dargestellten Objekte wächst rasant. Je nach der Komplexität der Datenhaltung und nach der Menge der angelegten Verbindungen wird zumeist ab „depth“ 3 oder 4 eine Schwelle erreicht, ab der die Übersichtlichkeit verloren geht und die Anwendung aufgrund der Datenmengen sehr schwerfällig wird.
Der Menüpunkt "max depth" gibt an, wie viele bereits geladene Objekte behalten werden dürfen, wenn das Zentralobjekt durch Klicken in der Graphenansicht geändert wird. Eine zu "depth" identische oder um 1 höhere Angabe ist meist eine gute Wahl.
4.3. As hierarchy: eine baumförmige Ansicht
Die Option "as hierarchy" ändert nicht was angezeigt wird, aber wie angezeigt wird. Die übliche Graphenansicht als Netzwerk wird ersetzt durch eine baumartige, hierarchische Ansicht. Hier wird noch deutlicher, wie viele Schritte (depths) zwischen dem Zentralobjekt und den übrigen Elementen liegen: zum Kreis Flensburg ist es nur ein Schritt, zu den anderen Kreisen dagegen drei Schritte, über das Bundesland hinweg.
4.4. limit item count: Anzahl der Objekte steuern
Mittels "limit item count" wird gesteuert, wie viele Objekte einer Klasse im Graphen geladen werden sollen. Zu Beginn steht der Wert auf 5. Wird er nun auf 10 erhöht, werden 10 Objekte der Klasse Kreise angezeigt (inklusive des direkt mit dem Zentralobjekt verbundenen Kreises).
Auch hier gilt, dass höhere Werte schnell für Unübersichtlichkeit und ein sehr träges Reagieren des Interfaces sorgen. Es empfiehlt sich sehr, hohe Werte nicht gleichzeitig für "depth"/"max depth" UND "limit item count" anzugeben.
4.5. load all properties
Wird "load all properties" gesetzt, wird nicht nur die Geometrie des Zentralobjekt geladen, sondern die aller im Graphen sichtbaren Objekte. Auf diese Weise wird die Kartenansicht wesentlich bevölkerter: in der Abbildung zu sehen, ist neben dem Mittelpunkt der Gemeinde Flensburg (blauer Punkt) die Flächen der fünf angezeigten Kreise (orange) und die Fläche des Bundeslandes (rot). Hier wird noch einmal deutlich, was es mit "depth" auf sich hat: nur der direkt mit der Gemeinde verbundene Kreis ist auch geographisch der Gemeinde zuordenbar, die anderen Kreise liegen nur in demselben Bundesland.
5. Anwendungsgebiete
Der SimplexVisual ist insbesondere für folgende Aufgaben nützlich:
- Um einen existierenden Datenpool explorativ zu durchforsten.
- Zur Qualitätskontrolle (v.a. auf Verbindungen).
- Zukünftig: für das Anlegen von Scenarios.