Knoten - Kanten - Server

Idee

Die Basis der Anwendung ist die Idee, ein über verschiedene Instanzen gemeinsam genutztes Knoten - / Kantennetz zu erstellen sowie zu pflegen.

Strukturelles Konzept

Um die Funktionsweise der Anwendung besser zu verstehen wird in den folgenden Abschnitten ein Einblick in das strukturelle Konzept gegeben.

Arbeitsbereiche

Arbeitsbereiche stellen zum einen das Importnetz dar und zum anderen ein Abbild des Referenznetzes zum Zeitpunkt der Erstellung des Arbeitsbereiches. Das Referenznetz wird im Extent des Importnetzes in den Arbeitsbereich kopiert. Diese Vorgehensweise schützt das Referenznetz vor etwaigen ungewollten Änderungen. Die Änderungen innerhalb eines Arbeitsbereichs wirken sich nicht auf das Referenznetz aus, solange nicht explizit der Arbeitsbereich in das Referenznetz reintegriert wird. Die folgende Abbildung zeigt das Konzept beim Import:

Innerhalb der Anwendung kommt man zwangsläufig mit den Begriffen Referenz- und Importnetz in Verbindung. Dabei muss man unterscheiden, dass im Kontext des Arbeitsbereiches das Referenznetz die Abbildung meint, welche zum Zeitpunkt der Erstellung des Arbeitsbereichs als Kopie erstellt wurde. Man kann sich jedoch das eigentliche Referenznetz in den Arbeitsbereich als Layer laden. Dort, jedoch, lassen sich keine Aktionen ausführen.

Knotennamen

Eventuell ist schon vom Knotenserver die Nutzung von Namen und Namensprovidern für Knoten bekannt. Dieses Teilkonzept wurde in dieser Anwendung übernommen.

Benamungen stellen ein ganz eigenes Thema dar. Neben der Funktionalität von Namensprovidern sind auch strukturelle Aspekte zu beachten. Zu jedem Knoten kann eine Menge Namen bestehen. Jedem Namen ist ein Knoten sowie ein Namensraum zugewiesen. Es ist per Definition nicht möglich dass zwei gleiche Namen in einem Namensraum existieren. Daher ist es wichtig dass beim Handling mit den einzelnen Netzabschnitten im Arbeitsbereich sowie bei der Reintegrierung in das Referenznetz darauf geachtet wird dass keine Namensdopplungen entstehen. Andernfalls würde die Anwendung einen entsprechenden Vorgang mit einer Ausnagmemeldung quittieren.

Workflow

Der folgende Abschnitt befasst sich mit dem Arbeitsschritten, welche notwendig sind, um einen neuen Bereich in das Referenznetz einzufügen.

  1. Es wird ein Import gestartet.
  2. Das importierte Netz kann mit dem Referenznetz abgeglichen werden um identische Elemente zu entfernen.
  3. Es können nun diverse Operationen an den Importelementen ausgeführt (Knoten verbinden, Kanten teilen, Kanten entfernen) werden.
  4. Nach der Bearbeitung werden die Importelemente in "Referenzelemente" konvertiert.
  5. Der Arbeitsbereich wird in das Referenznetz eingefügt.

Es folgt eine detaillierte Darstellung des Ablaufs.

Import

Für das Verständnis werden einige Vorbedingungen gesetzt.

  • es existiert schon ein Referenznetz
  • der Nutzer hat sich jenes Netz schon einmal herunter geladen und offline einige neue Straßen eingepflegt

Die Anwendung zeigt sich wie folgt:

Im linken, oberen Bereich der Anwendung findet man eine Übersicht der schon vorhandenen Arbeitsbereiche. Hier wählt man über die Taste Import einen Datenbestand aus, welcher in einen neuen Arbeitsbereich geladen werden soll. Nach der Auswahl der Dateien (bei Shapedateien müssen .dbf, .shx und .shp hochgeladen werden - beim Dialog alle drei Dateien markieren).

Anmerkung: Prinzipiell reicht ein Kantenshape aus. Der Import zusätzlicher Knotengeometrien ist an sich unnötig da jede Kante mit ihren Anfangs- und Endpunkten, sowie den Knotenbezeichnungen, die Knoteninformationen selbst mitliefert. Jedoch ist während der Entwicklung aufgefallen, dass eine Kante nicht richtungsgleich zur Topologie war. Ebenso waren einige Kantenenden nicht mit den Nachbarkanten abgeschlossen, sondern ragten darüber hinaus. Dies würde unweigerlich Probleme bereiten wenn man ein Referenznetz pflegen möchte. Hier sollte vor dem Import schon sichergestellt sein, dass das zu importierende Netz in sich geometrisch sowie topologisch schlüssig ist.

Es folgt ein Dialog um einige Informationen zu dem Arbeitsbereich einzugeben:

  • Namingprovider: Die Namen, welche in den VNK und NNK Spalten der Daten zu finden sind, werden beim Importieren einem Namensprovider zugewiesen. Es lassen sich hier nur "nicht eingebaute" Provider wählen. Die anderen, so genannten, Built-In-Provider werden beim Überführen in das Referenznetz genutzt, und zu den Knoten automatisch Namen vergeben.

    Anmerkung: Ob sich das mit der zukünftigen Idee einer Knotennummerierungsreservierung vereinen lässt sollte geprüft werden.

  • Genauigkeit: Die Genauigkeit wird in das Referenznetz mit übernommen.

    Anmerkung: Eine geometrische Veränderung (über die Karte) an einer Kante führt zum Herabsetzen der Genauigkeit dieser Kante.

  • Administrative Einheit: Die Geometrien werden mit dieser Information markiert

    Anmerkung: Für zukünftige Nutzung, beispielsweise zur Auswahl einer bestimmten Gemeinde.

  • Titel: Es lässt sich ein Titel für den Arbeitsbereich vergeben. Dieser wird nur für Anzeigezwecke genutzt.

Wenn der Dialog bestätigt wird, folgt die Erstellung des Arbeitsbereichs:

Der Arbeitsbereich wird automatisch geladen. Es lassen sich auch bestehende Arbeitsbereiche laden in dem man mit einem Rechtsklick das Kontextmenü auf einem der Arbeitsbereichs-Einträge nutzt.

Bearbeitung

Detaillierte Schritte zur Bearbeitung von Netzen, sind gesondert im Dokument "Verknüpfen von Netzen" beschrieben.

Einiges zum Verständnis:

Wenn man mit einem Export des Referenznetzes arbeitet und zusätzliche Kanten einfügt, und daraufhin dieses modifizierte Netz wieder importiert, dann enthält der Arbeitsbereich folgendes:

  • Kopierte Referenzkanten im Extent des Imports (automatisch beim Erstellen des Arbeitsbereichs)
  • das importierte Netz, welches ebenfalls die Kanten des Referenznetzes enthält (durch den Download des Netzes)
  • zusätzlich sind im importierten Teil des Netzes auch die Erweiterungen (der eigentliche geometrische Unterschied zum Referenznetz) zu finden

Anmerkung: Das mag zuerst verwirrend klingen, hat aber dann einen Sinn wenn man bedenkt, dass zukünftig eventuelle zusätzliche Informationen der Kanten genutzt werden. Hier böte sich auch die Möglichkeit an, zusätzliche Namen mit zu übertragen.

Im weiteren Verlauf wird gezeigt wie man mit den geometrischen Dopplungen (welche aber unter Umständen gewünscht sein können) umgeht.

Die Bearbeitung erfolgt hauptsächlich auf der Karte der Anwendung und auf dem Analysen-Bereich im linken Teil der Anwendung.

Die Karte besitzt eine Menüleiste mit folgenden Elementen:

  • Hintergrundkarten: Hier lassen sich verschiedene Karten zur optischen Unterstützung wählen

  • Referenznetz: Hier lässt sich das Referenznetz einblenden, und herunterladen. Man kann es komplett oder nur den Bereich, welcher vom Arbeitsbereich abgedeckt wird, herunter laden.

  • Arbeitsbereich: Diese Aktionen wirken sich auf den gesamten Arbeitsbereich aus.

    • Prüfung auf Netzübereinstimmungen: listet alle geometrisch übereinstimmenden Elemente auf. Bei Bestätigung werden diese aus dem Arbeitsbereich entfernt und ggf. zusätzlich definierte namen übernommen
    • Bearbeitung abschließen: Konvertiert die Importelemente zu Referenzelementen
    • Arbeitsbereich in das Referenznetz integrieren: Der Arbeitsbereich wird in seinem Extent in das Referenznetz integriert.
  • Weitere Elemente betreffen die Darstellung der einzelnen Elemente. Um das Arbeiten zu erleichtern, lassen sich Import- und Referenzelemente ein- und ausblenden

  • Es existieren drei Zoom-Tasten auf der Menüleiste. Man kann damit die Import- / Exportelemente in den Kartenausschnitt holen. Die dritte Taste befindet sich rechts und holt alle sichtbaren Elemente in den Kartenausschnitt.

Im geschilderten Fall (ein Import mit einer Kopie des Referenznetzes in den Importdaten) sollten die Redundanzen entfernt werden. Es werden dabei die importierten geometrischen Dopplungen entfernt. Es bleibt die bei der Erstellung des Arbeitsbereiches angelegte Kopie des Referenznetzes erhalten.

Die folgende Abbildung zeigt den Dialog, welcher beim Prüfen auf Netzübereinstimmungen erscheint:

Im folgdenden Fall liegt bei mindestens einem Knoten eine Diskrepanz in der Namensvergabe vor. Das heißt, dass ein Name nicht gleich des Namens ist, welcher zu dem Element im Referenznetz gehört. Beispiel:

  • Importknoten: IDUTEST - 38500
  • Referenzknoten: IDUTEST - 38500_A

In jenem Fall würde bei der Entfernung der übereinstimmenden Elemente (Redundanzen) eine Meldung ausgegeben werden. Der Nutzer kann sich die rot markierten Kanteninformationen ansehen und den problematischen Knotennamen entfernen oder einen neuen in einem anderen Namensraum anlegen. Zu den entsprechenden Dialogen gelangt man über die erste Taste (i) auf der jeweiligen Zeile:

Soll ein gefundenes übereinstimmendes Paar gar nicht als "Dopplung" berachtet und demzufolge aufgelöst werden, so kann man über ein Kontextmenü die jeweilige Zeile (oder mehrere Zeilen) ausschließen. Der bertoffene Datensatz wird dann durchgestrichen und ignoriert.

Durch einen Klick auf "Übereinstimmungen entfernen" werden die entsprechend in der Liste aufgeführten Importelemente aus dem Arbeitsbereich endgültig entfernt.

Nun kann man die Analysefunktion nutzen. Diese befindet sich in den linken unteren 2/3 der Anwendung:

Auf der Karte werden entsprechende Bereiche der geometrischen Analyse dargestellt:

Die automatische Aktualisierung der Analysen lässt sich deaktivieren. Bei großen Netzuploads kann es durchaus einige Zeit dauern bis die Analysen fertig gestellt sind. Bei jeder geometrischen Veränderung welche auf der Karte ausgeführt wird, wie bei jedem Ausführen einer Aktion der topologischen Vorschlagsliste, werden die Analysen neu geladen.

Man bekommt eine optische Darstellung von Interaktionsgebieten welche im Hintergrund aus einer Verschneidung von Referenz- und Importgeometrien entsteht und die Bereiche auflistet, sowie in der Karte markiert. Solch ein Bereich kann etwa eine Importkante sein, welche sich kurz vor einer Referenzkante befindet. Hier könnte der Nutzer die Importkante noch auf die Referenzkante ziehen und dort gegebenenfalls noch weitere Aktionen ausführen.

Anmerkung: Diese Funktion soll keinen Handlungszwang darstellen. Sie ist wenig strikt.

Zusätzlich bekommt man topologische Vorschläge dargestellt. Diese sind derzeit:

  • teilbare Kanten - wenn ein Knoten einer Kante direkt auf einer anderen Kante liegt
  • kombinierbare Knoten - wenn mehrere Knoten übereinander liegen
  • Entfernen von Kanten welche die gleichen Endpunkte besitzen - wenn sich herausstellt dass eine Importkante genau neben einer Referenzkante verläuft und diese eigentlich die selbe Kante darstellen soll

Alle Hinweise haben eine Taste um direkt an den betroffenen Bereich in der Karte zu springen. Zusätzlich werden jene Bereiche in der Karte optisch markiert, wenn man sich mit der Maus über die Auflistungen bewegt.

Vorschlagselemente besitzen zudem noch eine Taste zum Ausführen der Aktion.

Ausführen von Aktionen aus der Vorschlagsliste

Je nach Kantenkonstellation kann man verschiedene Aktionen ausführen. Dabei werden teilweise zusätzliche Dialoge dargestellt:

  • beim Teilen von Kanten wird ein Dialog geöffnet in welchem man dem "neuen" Knoten einen Namen eines generischen Namensproviders vergeben kann. Man kann sich auch für keinen Namen entscheiden. Der Knoten bekommt beim Integrieren in das Referenznetz durch jeden eingebauten Namensprovider einen Namen zugeteilt.

    Anmerkung: Aktuell ist ein GUID-Namensprovider als Built-In-Provider implementiert

  • beim Vereinen mehrerer Knoten bekommt man unter Umständen einen Auswahldialog gezeigt, mit welchem man einen Masterknoten wählen kann. Dieser Dialog wird nicht immer gezeigt.

    Anmerkung: Es ist derzeit so implementiert, dass ein Referenznetzknoten vor einem Importknoten Vorrang hat und automatisch der Referenzknoten als Masterknoten gewählt wird. Bei "nur" Importknoten wird der Dialog gezeigt. Bei mehreren Masterknoten und zusätzlichen Importknoten, zeigt der Dialog nur die Auswahl der Masterknoten.

  • Beim Entfernen von Kanten wird unter Umständen ein Kantenauswahldialog gezeigt. Dies ist der Fall wenn sich mehrere Importkanten, ein Knotenpaar mit einer Kante des Referenznetzes teilen.

Anmerkung: Die Vorschläge bilden keinen Handlungszwang. Unter Umständen ist es gewollt, dass mehrere Knoten übereinander liegen oder mehrere Kanten parallel zueinander verlaufen und gleiche Knotenpaare haben.

Zusätzliche Möglichkeiten

Auf Importelementen ist es möglich über ein Kontextmenü zusätzliche Aktion auszuführen:

  • Kante teilen: Teilt die Importkante am nächstmöglichen Vertex zum Klickpunkt
  • Kante löschen: Löscht die Importkante
  • Kante konvertieren: Konvertiert die Kante zu einer Referenzkante (dies ist von Vorteil damit die Kante nicht mehr mit in die Analysen bezogen auf das Importnetz einbezogen wird)

Auf allen Elementen ist die Anzeige von zusätzlichen Informationen möglich. Es können Daten zu Knoten und zu Kanten angezeigt werden. Bei Knoten werden ebenfalls die unterschiedlichen Namen aufgelistet. Diese lassen sich bei Importknoten löschen / verändern und hinzufügen.

Abschließen der Bearbeitung

Nachdem alle notwendigen Aktionen ausgeführt wurden, lässt sich die Bearbeitung abschließen:

Arbeitsbereich > Bearbeitung abschließen

Dabei werden alle Importelemente zu Referenzelementen überführt (im Arbeitsbereich). Danach ist keine Bearbeitung mehr möglich.

Integration des Arbeitsbereiches in das Referenznetz

Der Arbeitsbereich wird endgültig in das Referenznetz überführt mit:

Arbeitsbereich > Arbeitsbereich in das Referenznetz integrieren***

Ab diesem Zeitpunkt ist es wieder für andere Nutzer möglich, einen Arbeitsbereich innerhalb des Extents des hier abgeschlossenen Bereiches zu erstellen. Bis dahin ist dies nicht möglich, da es zu Inkonsistenzen beim Integrieren des Arbeitsbereichs in das Referenznetz kommen kann.

Download

Der abgeschlossene Arbeitsbereich lässt sich über die Taste "Referenznetz" herunter laden.

Dabei werden folgende zusätzliche Daten gespeichert:

  • Länge

  • VNK

  • NNK

  • UID

  • VNK_UID

  • NNK_UID

Die UIDs sind jene, welche eindeutig im Referenznetz existieren.

Es lässt sich das komplette Referenznetz oder nur der Bereich des Arbeitsbereichs herunter laden. Im zweiten Fall, ist es notwendig dass ein Arbeitsbereich geladen ist.

Ebenso lassen sich nur die importierten Elemente herunterladen. Diese Funktion findet sich unter Arbeitsbereich > Download importierter Elemente.

Die herunter geladenen Daten enthalten zusätzlich noch ein Feld "ExternalId" in welcher die Ursprungs-Id der Importdaten zu finden ist.

Erstimport

Ein Erstimport ist das Befüllen eines leeren Netzes. Dies geschieht genauso wie bisher beschrieben. Jedoch fallen hierbei einige Schritte weg.

Prinzipiell besteht ein Erstimport aus:

  • Import
  • Arbeitsbereich > Bearbeitung abschließen
  • Arbeitsbereich> Arbeitsbereich in das Referenznetz integrieren

Bemerkungen

Während der Entwicklung sind einige Punkte aufgefallen die es gegebenenfalls noch einmal zu besprechen gilt.

Benamungen

Die zusätzliche Implementierung von Knotenbenamungen kann dazu führen dass man ein Netz importiert welches geometrisch gleich dem Referenznetz ist, aber im selben Namensraum zum Referenznetz unterschiedliche Namen aufweist. Hier wird aktuell der Name im Referenznetz präferiert.

Importdaten

Wie schon erwähnt ist es bei den zur Verfügung gestellten Daten aufgefallen dass einige Elemente nicht geometrisch korrekt lagen. Ein automatischer Angleich der Geometrien wird höchstwahrscheinlich nicht möglich sein, da sich dadurch unter Umständen die Lage ungewollt verändern würde. Hier wäre eher ein Hinweis für den Nutzer am sinnvollsten.

Aktuell werden die Spalten VNK und NNK bzw. VNP und NNP ausgelesen für die Werte der Knotenbezeichnungen. Hier bleibt zu klären, ob dies immer so ist, oder man dies noch konfigurierbar gestalten müsste. Ebenso verhält es sich mit den Exportdaten.

Bearbeitung

  • bisherige Punkte entfallen (TB 04.11.2020)

Zuletzt geändert: 19.04.2024 10:46:55 (erstmals erstellt 18.10.2020)