Integration von Geodaten in eine Graphdatenbank und Erstellung einer schematischen Darstellung

Einleitung

Der Betrieb der Komponenten des Bieler Stromnetzes ist, wie bei jedem anderen Stromnetz auch, sehr komplex. Ererfordert die Mitwirkung zahlreicher auf verschiedene Gebiete spezialisierter Akteure. Die Mitarbeiter von Energie Service Biel/Bienne müssen auf aktuelle, vollständige und genaue Unterlagen zurückgreifen können, damit sie ihre täglichen Aufgaben effizient ausführen können.

Der Werkplan bildet mit seinem hohen Detaillierungsgrad das wichtigste Arbeitsinstrument für die Festlegung des Standorts der jeweiligen Objekte. Die Mitarbeiter brauchen jedoch auch eine schematische Darstellung, die das Netzkonzept und die Beziehungen zwischen den Komponenten wiedergibt. Ausserdem gibt diese Darstellung auch einen Überblick über die Stellen, an denen die Kabel nicht übereinanderliegen und als einzige Darstellungslinie abgebildet sind. Dank der schematischen Darstellung sollte es auch möglich sein, im Falle einer Betriebsstörung schnell und effizient einzugreifen, den Ersatz bestimmter Kabel zu planen oder einen neuen Netzabschnitt auszulegen.

Fragestellung

Die gegenwärtige schematische Darstellung des Niederspannungsnetzes muss ersetzt werden. Die Informationsdichte ist hier zu hoch, insbesondere im Bereich des Stadtzentrums. Es muss folglich eine Alternative für die visuelle Darstellung gefunden werden. Gleichzeitig gilt es, die Bearbeitungszeiten für das zukünftige Produkt auf ein Minimum zu verkürzen.

Auszug aus der schematischen Darstellung des Niederspannungsnetzes

Ziele

  • Schaffung eines Visualisierungstools mit einfachem und effizientem Zugang zu den Daten
  • Erstellung einer schematischen Darstellung, die es ermöglicht, das Netzkonzept und die Netzverbindungstechnik schnell zu erfassen
  • Verwendung der Graphdatenbank Neo4j
  • Integration der Simulationsfunktionen der JavaScript-Bibliothek D3, um die Häufung von Kabeln zu vermeiden

Umsetzung

Prüfung der Graphdatenbanken

Die Graphdatenbank Neo4j bietet verschiedene Vorteile. Sie bietet die optimale Eingliederung der linearen Topologien unserer unterirdischen Netze dank seiner Knoten- und Beziehungsverwaltung. Die physikalische Modellierung der Beziehungen ermöglicht es, die Joinsmechanismen bei komplexen Abfragen unberücksichtigt zu lassen.

Ausserdem erfährt der Modellierungsschritt durch die Verbindung zur realen Welt und zur verwendeten Sprache eine Flexibilisierung und Vereinfachung. Selbst nach der Implementierung der Struktur und der Dateneingabe lässt sich das Datenbankschema ganz einfach weiterentwickeln.

Beispiel einer Graphmodellierung.
Mit Arrow Tool selbst erstellte Abbildung (http://www.apcjones.com/arrows/)

Übertragung der Daten vom RDBMS auf das GDBMS

Für den Datenimport in Neo4j werden in der Regel CSV-Dateien verwendet. Das ist das einfachste Verfahren, um schnell eine Betriebsdatenbank aufzubereiten. Um den Aufwand für die Datenkonsolidierung auf ein Minimum zu reduzieren, mussten zwei Schritte direkt in der relationalen Datenbank durchgeführt werden. Zunächst musste eine Funktion eingerichtet werden, die alle notwendigen Attribute auf iterative Weise übernimmt. Anschliessend waren zwei Ansichten notwendig, die diese Funktion verwenden und deren Ergebnisse die Mittel für die Bearbeitung in FME liefern. In der Arbeitsoberfläche FME findet man eingangs die beiden Ansichten und die Tabelle, die die expliziten Beziehungen des Stromkabelnetzes modelliert. Die Idee ist hier, zwei Verarbeitungskanäle zu schaffen. Der erste Kanal speichert die Daten der verschiedenen Quellen im CSV-Format. Der zweite bereitet die Metadaten vor und integriert auch die den Importbefehlen entsprechende Syntax.

FME-Workspace für die Vorbereitung der Importdateien

Modellierung der Daten in Neo4j

Im Bereich der relationalen Datenbanken ist es eher unüblich, Mehrfachverknüpfungen zwischen zwei Tabellen oder für Objekte auf verschiedenen Ebenen zu erstellen. Bei den Graphdatenbanken sieht es anders aus. Nach dem Import der Knoten und der Modellierung der initialen Beziehungen wurden weitere zusätzliche Verbindungen zum Modell hinzugefügt, um die Abfrage und die Datenbereitstellung zu erleichtern.

Ab diesem Zeitpunkt erfolgte die Entwicklung des Modells in Neo4j parallel zur Umsetzung und Einrichtung der Visualisierungsoberfläche. Diese Schritte waren eine grosse Herausforderung. Einerseits ging es um die Festlegung der Attribute, die verwendet werden, um die Suchfunktion zu füllen. Andererseits musste die Abfrage definiert werden, die die Formatierung des Ergebnisses ermöglicht und dieses direkt in der Visualisierungsbibliothek nutzbar macht.

Screenshot der Diagrammdaten in Neo4j

Wahl der Visualisierungsbibliothek

Obwohl die Graphdatenbank Neo4j ein in einem Webbrowser verwendbares Visualisierungstool umfasst, beschränkt sich ihre Verwendung auf Personen, die über die entsprechenden Kenntnisse verfügen, um die Oberfläche zu bedienen und Abfragen mit Cypher (SQL der GDBMS) zu erstellen. Zum Glück gibt es effiziente Alternativen für den unternehmensgerechten Einsatz und insbesondere für Applikationen, die für die verschiedenen Nutzergruppen besser zugänglich sind.

Im Rahmen dieses Projektes hat sich meine Wahl auf eine Anwendungsarchitektur gerichtet, die die JavaScript-Bibliothek  D3 miteinbezieht. Sie integriert das D3-Force-Modul, das eine grosse Flexibilität sowohl bei den visuellen als auch bei den Verhaltenskonfigurationen bietet.

Umsetzung der Visualisierung und Integration der Funktionen der «D3»-Bibliothek

Nach der Bereitstellung der Anwendungsarchitektur mussten verschiedene Anpassungen vorgenommen werden: auf der Clientseite bei der JavaScript-Datei und auf der Serverseite bei der API. Diese Änderungen haben es insbesondere ermöglicht, das zuvor als JSON formatierte Datenset abzurufen, um die Knoten und Beziehungen zur D3-Bibliothek zu erzeugen.

Überblick über die Anwendungsarchitektur / Quelle: selbst erstellte Abbildung

Mit dem D3-Force-Modul soll eine Simulation mit den Knoten und den entsprechenden Beziehungen erstellt werden, die Verhaltensparameter wie Anziehung, Abstossung, Geschwindigkeit oder Umgang mit Kollisionen mitberücksichtigt. Die Anpassung dieser Parameter ermöglicht dann anschliessend, das Verhalten der Knoten zu beeinflussen und die anfänglich übereinanderliegenden Netzelemente zu «entwirren».

Erstellte Visualisierung

Die Visualisierung ermöglicht es dem Benutzer, eine einmalige oder mehrfache Infrastruktursuche auszuführen. Sie bietet die Möglichkeit, die Position der Knoten zu verwalten, und einen Knopf für den Datenexport im JSON-Format. Die Simulation liefert mithilfe der Hintergrundkarte einen ersten bereinigten Datensatz. Danach unterstützt sie den Benutzer bei der Platzierung von Objekten.

Das aktuelle Produkt umfasst nicht alle Netzpunkte. Die Verbindungen zwischen den Muffen und Gebäudeanschlüssen sowie die der direkt an den Ausgangspunkten angeschlossenen Kabel in den Infrastrukturen wurden noch nicht integriert. Der nächste Entwicklungsschritt wird darin bestehen, diese Knoten und Beziehungen zur visuellen Umgebung hinzuzufügen.

Nachstehend ein Überblick über die gegenwärtige Web-Schnittstelle:

Screenshot der Web-Schnittstelle für die Visualisierung der Daten

Ausblick und Fazit

Die Graphdatenbank bietet eine optimale Eingliederung der linearen Topologien unserer üblichen RDBMS und öffnet die Tür für neue Geschäftsapplikationen. Andererseits ermöglicht die entwickelte Web-Schnittstelle auch, den Erfordernissen im Zusammenhang mit der Erstellung eines neuen schematischen Plans nachzukommen. Ergänzende Tests haben jedoch gezeigt, dass die SVG-Technologie, die für das Rendern der Elemente eingesetzt wird, in Sachen Leistungsfähigkeit an ihre Grenzen stösst, wenn es darum geht, eine Simulation zu erstellen und eine grosse Anzahl von Knoten darzustellen. Gegenwärtig wird ein neuer Ansatz geprüft. Es handelt sich um eine Bibliothek, die die bereits in D3-Force vorhandenen Funktionen übernimmt. Diesmal stützt sich jedoch die Visualisierung auf die WebGL-Technologie. Diese ermöglicht es, die Hardwarebeschleunigung des Grafikprozessors am Endgerät zu nutzen und folglich bei der Ausführung der Simulation die Rechenkapazität beträchtlich zu erhöhen.

Patrick Vogt
Geomatiktechniker FA
Funktion bei ESB: Verantwortlicher für die Netzdokumentation
Energie Service Biel/Bienne
Gottstattstrasse 4
Postfach
2501 Biel/Bienne
Telefon 032 321 12 61
patrick.vogt@esb.ch