Logo

View the Project on GitHub FabianRuefenacht/DEFVIS

Inhalt

Gehe zurück zur Hauptseite.

Konzept von DEFVIS

3D-Visualisierung von definierten Vektoren in einem WebGIS

Projektarbeit im Vertiefungsprofil Geoinformatik und Raumanalyse

Fabian Rüfenacht   Lucas Wunderli   Nathan Matzinger

Muttenz, 12.03.2024

Inhaltsverzeichnis

  • 1 Einleitung
  • 2 Projektinhalt
  • 3 Zielsetzung
  • 4 Fragestellung
  • 5 Anwendungsarchitektur
  • 5.1 Frontend
  • 5.2 Backend
  • 5.3 Umsetzung
  • 6 Mockup- und GUI-Aufbau
  • 6.1 Pop-Ups
  • 7 Flussdiagramm der Funktionalitäten
  • 8 User Persona
  • 8.1 User Persona 1: Max Muster
  • 8.2 User Persona 2: Melanie Muster
  • 9 Geodatensätze
  • 10 Metadaten und Dokumentation Geodatensätze
  • 10.1 Metadaten
  • 10.2 Dokumentation
  • 11 Aufgaben und Zeitaufwand
  • 11.1 Planung der Tasks
  • 11.2 Zeitplanung
  • 12 Literatur
  • 13 Abbildungen und Tabellen
  • 13.1 Abbildungen
  • 13.2 Tabellen
  • 1 Einleitung

    Dieses Konzept beschäftigt sich mit der Entwicklung einer Geodateninfrastruktur durch Geomatik-Studierende an der Fachhochschule Nordwestschweiz. Ziel ist die Visualisierung von dreidimensionalen Verschiebungsvektoren in einem WebGIS. Im Backend soll die nutzerabhängige Speicherung verschiedener Messsessionen und die Berechnung der Verschiebungen möglich sein. Das Projekt wird durch Coaching und Peer-Learning unterstützt.

    2 Projektinhalt

    Dieses Projekt konzentriert sich auf die Entwicklung einer benutzerfreundlichen WebGIS-Umgebung, die es den Nutzenden ermöglicht, Geodaten effizient zu verwalten, zu visualisieren und zu analysieren. Die Hauptfunktionen umfassen die Erstellung und Verwaltung von Projekten sowie die Integration von Punkten und Messungen in diese Projekte.

    Benutzer und Benutzerinnen haben die Möglichkeit, verschiedene Arten von Daten in die Plattform zu importieren und diese dann auf einer interaktiven Karte anzeigen zu lassen. Ferner wird ein 3D-Viewer integriert, um eine immersive Visualisierung von geografischen Informationen zu ermöglichen.

    Ein wesentlicher Aspekt des Projekts ist die Unterstützung von Überwachungsaufgaben, beispielsweise für Bauwerke wie Staumauern. Durch die Integration von mehreren Messungen können Anwendende die Entwicklung und Veränderung der Überwachungsdaten über die Zeit hinweg verfolgen. Dies wird durch die Darstellung der Daten mithilfe von Zeitreihenanalysen (ZRA) oder Vektoren in der WebGIS-Umgebung erleichtert.

    Folgende URL führt zum Projekt: https://github.com/FabianRuefenacht/6230_FRNMLW

    3 Zielsetzung

    Das Hauptziel der Geodateninfrastruktur besteht darin, Deformationsmessungen zu verwalten und dreidimensionale Verschiebungen zu visualisieren, um eine wirkungsvolle Überwachung und Analyse von geophysikalischen Veränderungen in Echtzeit zu ermöglichen. Die Darstellung dieser Daten im dreidimensionalen Kontext bietet den Nutzern und Nutzerinnen eine intuitive und umfassende Sicht auf die Daten, was zu fundierteren und informierteren Entscheidungen führt.

    Die Implementierung dieser Funktionen zielt darauf ab, eine effiziente und effektive Datenanalyse sowie eine ansprechende Visualisierung zu ermöglichen, wodurch die Anwendung eine breite Palette von Anwendungsgebieten abdecken kann, von Infrastrukturüberwachung hin zu Umweltmanagement.

    4 Fragestellung

    Die zentrale Frage dieses Projekts lautet: Wie können Punktverschiebungen effektiv dreidimensional visualisiert werden, um die Analyse und Interpretation von Bewegungs- und Verformungsmustern zu erleichtern und zu verbessern? Dabei ist es von entscheidender Bedeutung, geeignete Techniken und Methoden zu identifizieren, die eine detaillierte, präzise und benutzerfreundliche Darstellung ermöglichen.

    Diese Fragestellung zielt darauf ab, die Herausforderungen bei der Visualisierung von raumbezogenen Daten zu adressieren und Lösungen zu entwickeln, die es den Benutzenden ermöglichen, komplexe geophysikalische Veränderungen besser zu verstehen und fundiertere Entscheidungen zu treffen.

    Indem diese Fragestellung näher untersucht wird, sollen nicht nur die technischen Aspekte der Visualisierung von Punktverschiebungen berücksichtigt werden, sondern auch die Bedürfnisse und Anforderungen der Benutzer im Hinblick auf die Benutzerfreundlichkeit der dargestellten Informationen.

    5 Anwendungsarchitektur

    Die Anwendungsarchitektur beschreibt die Struktur und Organisation der Softwareanwendung, einschliesslich der Patterns, Techniken und Komponenten, die bei der Entwicklung verwendet werden.

    Diese klar strukturierte Architektur ermöglicht eine nahtlose Integration von Frontend und Backend, um eine leistungsstarke und benutzerfreundliche WebGIS-Anwendung zu schaffen.

    5.1 Frontend

    Das Frontend des WebGIS bietet eine Vielzahl von Funktionalitäten, die es den Benutzern und Benutzerinnen ermöglichen, Geodaten intuitiv zu verwalten, zu visualisieren und zu analysieren:

    5.2 Backend

    Das Backend des WebGIS bietet die notwendige Infrastruktur und Logik, um die Funktionalitäten des Frontends zu unterstützen:

    5.3 Umsetzung

    Das Frontend wird mit dem JavaScript-Framework Next.js gemacht. Next.js bietet die Unterstützung des serverseitigen Renderings. Somit lassen sich Cookies leicht erstellen und abfragen, was die Zugriffsberechtigung zu einzelnen Projekten erleichtert. Im Frontend wird die Programmiersprache TypeScript verwendet. Gegenüber JavaScript ermöglicht TypeScript die Definition von Datentypen, was die Stabilität des WebGIS erhöht. Die Darstellung des User-Interfaces wird mit Tailwind CSS gemacht. Die Zugriffsberechtigung wird mit Cookies geregelt. Die Cookies werden mit bcrypt.js erstellt. Vom Backend werden die Anforderungen an das Cookie gesendet. Im Frontend wird geprüft, ob das Cookie den Anforderungen entspricht.

    Die Darstellung der Punkte und Verschiebungen wird mit einer JavaScript-Bibliothek realisiert. Dafür kommen derzeit die Bibliotheken OpenLayers und Leaflet infrage. Im Laufe der Umsetzung gilt zu klären, welche Bibliothek sich am besten eignet.

    Die Visualisierung der dreidimensionalen Verschiebung soll ebenfalls über eine JavaScript-Bibliothek erfolgen. Derzeit ist nicht geklärt, welche Bibliotheken sich dafür eignen. Gleiches gilt für die Visualisierung der Zeitreihen.

    Die Kommunikation zwischen Fronend und Backend wird durch FastAPI geführt. Die Typendefinition der ein- und ausgehenden JSON-Formate wird mit pydantic geregelt, um semantische Richtigkeit zu gewährleisten.

    Für die Verwaltung von Nutzerprofilen, Projekten, Sessionen und Punkten wird auf eine SQLite-Datenbank gesetzt. SQLite ist eine schlanke Datenbank mit wenigen Funktionen. Dadurch ist sie schnell und leistungsstark. Aufgrund der geringen Menge an Geodaten kann auf eine räumliche Datenbankstruktur verzichtet werden.

    Die Berechnungen im Backend werden von Grund auf selbst programmiert und durch die Verwendung von NumPy auf die höchstmögliche Effizienz gehoben.

    6 Mockup- und GUI-Aufbau

    Der Mockup- und GUI-Aufbau skizziert die Benutzeroberfläche der Anwendung, einschliesslich der verschiedenen Fenster und Pop-ups. Das Styling der Komponenten wird im Endprodukt überarbeitet.

    Login-Fenster

    Das Login-Fenster ermöglicht Nutzenden, sich anzumelden oder neu zu registrieren (siehe Abbildung 1 Login-Fenster Button „New“). Fehlerhafte Anmeldeinformationen oder eine fehlende Registrierung werden durch entsprechende Meldungen signalisiert.

    Abbildung 1

    Login-Fenster                                                                                                                                  
    Login-Fenster-Konzept
    Quelle: Screenshot vom 02. März 2024 aus QT-Designer                                                                                          

    Main-Fenster

    Das Hauptfenster (Main-Fenster) präsentiert die Hauptansicht der Anwendung mit einer anpassbaren Hintergrundkarte. Links davon befindet sich das Registermenü, darunter sind Funktionen angeordnet, die es Benutzern ermöglichen, verschiedene Informationen aufzurufen. Standardmässig werden Informationen zu den Punkten des Projekts angezeigt.

    Abbildung 2

    Main-Fenster                                                                                                                                      
    Hauptansicht_Konzept
    Quelle: Screenshot vom 02. März 2024 aus QT-Designer                                                                                              

    Zeitreihenanalyse

    Durch Klicken auf den „ZRA“-Button wird eine Analyse der Zeitreihen für die Punkte im Projekt angezeigt.

    Abbildung 3

    Zeitreihenanalyse                                                                                                                                
    Zeitreihenanalyse_Konzept
    Quelle: Screenshot vom 02. März 2024 aus QT-Designer                                                                                            

    3D-Fenster

    Der „3D“-Button öffnet das 3D-Fenster, in dem die Punkte und Vektoren dreidimensional visualisiert werden.

    Abbildung 4

    3D-Fenster                                                                                                                                    
    3D-Viewer_Konzept
    Quelle: Screenshot vom 02. März 2024 aus QT-Designer                                                                                          

    6.1 Pop-Ups

    Neues Projekt

    Das Pop-up „Neues Projekt“ ermöglicht es Benutzenden, ein neues Projekt zu erstellen, indem sie Projektname, die oder den Hauptverantwortliche/n und Kundeninformationen eingeben und dann auf „Projekt erstellen“ klicken.

    Abbildung 5

    neues Projekt                                                                                                                                
    Neues_Projekt
    Quelle: Screenshot vom 02. März 2024 aus QT-Designer                                                                                        

    Projekteröffnung

    In diesem Pop-up werden alle vorhandenen Projekte aufgelistet. Nutzende können ein Projekt auswählen und durch einen Klick auf „Projekt öffnen“ laden.

    Abbildung 6

    Projekteröffnung                                                                                                                              
    Projekt_öffnen
    Quelle: Screenshot vom 02. März 2024 aus QT-Designer                                                                                          

    Datei hochladen

    Das Pop-up „Datei hochladen“ dient zum Hochladen von Dateien.

    Abbildung 7

    Datei hochladen                                                                                                                                
    Datei_hochladen
    Quelle: Screenshot vom 02. März 2024 aus QT-Designer                                                                                            

    7 Flussdiagramm der Funktionalitäten

    Das Flussdiagramm veranschaulicht den sequenziellen Ablauf der wichtigsten Funktionen und Interaktionen in der Anwendung. Es bietet einen klaren Überblick über die verschiedenen Schritte, die Benutzer und Benutzerinnen durchlaufen, und zeigt, wie die einzelnen Komponenten miteinander verbunden sind.

    Abbildung 8

    Flussdiagramm                                                                                                                                  
    Flussdiagramm
    Quelle: Screenshot vom 02. März 2024 aus OneNote                                                                                              

    8 User Persona

    Dieses Kapitel stellt zwei typische Benutzerprofile (User Persona) vor, beschreibt ihre Nutzung der Webanwendung und beschreibt mögliche inkorrekte Interaktionen.

    8.1 User Persona 1: Max Muster

    Beschreibung:

    Nutzung der Webanwendung durch Max:

    Mögliche inkorrekte Interaktionen:

    8.2 User Persona 2: Melanie Muster

    Beschreibung:

    Nutzung der Webanwendung durch Melanie:

    Mögliche inkorrekte Interaktionen:

    9 Geodatensätze

    Die in der Webanwendung verwendeten Geodaten umfassen verschiedene Quellen:

    User-generierte Daten:

    OpenData:

    Durch die Kombination dieser verschiedenen Geodatensätze bietet die Webanwendung eine umfassende und detaillierte Darstellung der geografischen Umgebung und der durchgeführten Messungen.

    10 Metadaten und Dokumentation

    10.1 Metadaten

    Die Punktdaten/Sessionen, welche vom Projektersteller/der Projekterstellerin bereitgestellt werden, haben die Attribute Punktnummer, Ost-Wert, Nord-Wert, Höhe und Zeitstempel. Der Zeitstempel wird für die Zeitreihenanalyse benötigt.

    Die Landeskarte und das Orthofoto werden direkt als WMS-Dienst von der Swisstopo eingebunden. Der WMS-Dienst verfügt über den GetMap-Aufruf. Damit kann die gewünschte Karte abgerufen werden. (swisstopo 2021)

    Die Hintergrundkarte von OpenStreetMap kann über XYZ-Tiles bezogen werden.

    SwissSURFACE3D ist ein Höhenmodell der Swisstopo. Es können Kacheln mit der Ausdehnung 1 km2 bezogen werden. Der Inhalt der Kacheln ist eine klassierte Punktwolke. (swisstopo 2024).

    10.2 Dokumentation

    Eine umfassende Dokumentation des WebGIS wird mithilfe von GitHub-Pages erstellt.

    GitHub-Pages ist eine Plattform zum Erstellen, Bearbeiten und Veröffentlichen von Büchern und technischer Dokumentation. Mit Markdown geschriebene Inhalte können in verschiedenen Formaten exportiert werden.

    11 Aufgaben und Zeitaufwand

    In diesem Abschnitt werden die einzelnen Aufgaben, der geschätzte Zeitaufwand und der Zeitplan für die Umsetzung des Projekts dargestellt.

    11.1 Planung der Tasks

    Tabelle 1 Zeitaufwand

    Task                                 Beschreibung                                                         Geschätzter Zeitaufwand (Stunden)
    Login-Bildschirm                     Implementierung des Anmelde- und Registrierungsformulars             5                                
    Grundgerüst der Website (Layout)     Entwicklung des grundlegenden Layouts der Webanwendung               8                                
    Einbettung der Karten               Integration von Karten-APIs für die Anzeige von Geodaten             10                                
    Interaktive Diagramme für ZRA       Entwicklung von interaktiven Diagrammen für die Zeitreihenanalyse   20                                
    Interaktive 3D-Visualisierungen     Implementierung interaktiver 3D-Visualisierungen der Verschiebungen 20                                
    Visualisierungskonzept für 2 + 1D     Konzeption und Umsetzung einer Visualisierung für 2+1D-Daten         10                                
    Autorisierung Login                 Einrichtung von Benutzerkonten und Authentifizierungssystem         20                                
    Berechnungen                         Implementierung der erforderlichen Berechnungen und Algorithmen     15                                
    Datenbankschema                     Entwurf und Implementierung des Datenbankschemas                     10                                
    Datenaufbereitung JSON               Vorbereitung und Formatierung von Daten im JSON-Format               20                                
    Zusammenführen Frontend und Backend Integration und Abstimmung von Frontend- und Backend-Entwicklungen   20                                

    Quelle: private Ablage

    11.2 Zeitplanung

    Abbildung 9

    Auszug aus dem Zeitplan                                                                                                              
    Zeitplan
    Quelle: Screenshot vom 05. März 2024 aus Exceltabelle Zeitplan.xlsx                                                                  

    Siehe kompletten Zeitplan im Anhang: Zeitplan.pdf, Stand vom 12. März 2024.

    12 Literatur

    swisstopo (2021) Web-Map-Tiling Services WMTS: Verfügbare Dienste und Daten. Verfügbar über: https://www.geo.admin.ch/de/wmts-verfuegbare-dienste-und-daten (Letzter Zugriff: 11.03.2024).

    swisstopo (2024) swissSURFACE3D. Verfügbar über: https://www.swisstopo.admin.ch/de/hoehenmodell-swisssurface3d (Letzter Zugriff: 11.03.2024).

    13 Abbildungen und Tabellen

    13.1 Abbildungen

    13.2 Tabellen


    zurück nach ganz oben.