Datenfluss
Status: 🚧 Dokumentation in Arbeit
Übersicht
Der Datenfluss in p2d2 folgt einem klaren Muster von der Datenquelle bis zur Darstellung in der Benutzeroberfläche. Das System kombiniert statische Content Collections mit dynamischen Geodaten-Services.
Datenquellen
Statische Daten
- Content Collections: Kommunen-Daten in strukturiertem JSON-Format
- Konfigurationsdateien: Systemeinstellungen und Layer-Konfigurationen
- UI-Komponenten: Statische Assets und Templates
Dynamische Daten
- WMS/WMTS-Services: Externe Geodaten-Dienste
- OpenStreetMap: Hintergrundkarten und Basisdaten
- Benutzer-Eingaben: Geometrie-Daten aus dem Feature-Editor
Datenfluss-Diagramm
Content Collections → Astro Build → Statische Seiten
↓
Geodaten-Services → OpenLayers → Karten-Rendering
↓
Benutzer-Interaktion → Feature-Editor → Lokale SpeicherungInitialisierungsphase
Laden der Basisdaten
- Content Collections werden während des Build-Prozesses geladen
- Kommunen-Daten werden in statische Seiten eingebettet
- Konfigurationen werden initialisiert
Karten-Initialisierung
- OpenLayers-Karte wird mit Basiskonfiguration erstellt
- Layer werden basierend auf Kommunen-Daten konfiguriert
- WMS/WMTS-Services werden verbunden
Laufzeit-Datenfluss
Karten-Interaktionen
- Benutzer-Interaktionen (Zoom, Pan, Klick) werden von OpenLayers verarbeitet
- Layer-Visibilität wird dynamisch angepasst
- Feature-Selection läd zusätzliche Metadaten
Feature-Editor
- Geometrie-Erstellung und -Bearbeitung
- Daten-Validierung und -Speicherung
- Synchronisation mit Backend (falls konfiguriert)
Daten-Persistierung
- Lokale Speicherung: Browser-Storage für Benutzer-Einstellungen
- Session-Daten: Temporäre Daten während der Sitzung
- Konfigurationen: Persistente Einstellungen
Kommunikationsmuster
Client-Server
- Statische Assets: Direkter Zugriff über CDN/Webserver
- Geodaten-Services: HTTP-Requests an WMS/WMTS-Endpoints
- API-Endpoints: Astro-Endpoints für dynamische Funktionen
Komponenten-Kommunikation
- Props: Datenfluss von Eltern- zu Kind-Komponenten
- Events: Benachrichtigungen von Kind- zu Eltern-Komponenten
- Stores: Globale Zustandsverwaltung (falls verwendet)
Performance-Considerations
Daten-Lazy-Loading
- Geodaten werden nur bei Bedarf geladen
- Layer werden dynamisch ein- und ausgeblendet
- Assets werden optimiert und gecached
Caching-Strategien
- Browser-Cache: Statische Assets und Konfigurationen
- Service-Worker: Offline-Funktionalität
- CDN-Caching: Geodaten-Services
Fehlerbehandlung
Netzwerk-Fehler
- Timeout-Handling für Geodaten-Services
- Fallback-Mechanismen für ausgefallene Dienste
- Benutzer-Feedback bei Verbindungsproblemen
Daten-Validierung
- TypeScript-Typen für typsichere Datenverarbeitung
- Schema-Validierung für Content Collections
- Runtime-Validierung für Benutzer-Eingaben
Nächste Schritte
- [ ] Detaillierte Datenfluss-Diagramme erstellen
- [ ] Performance-Metriken dokumentieren
- [ ] Fehlerbehandlung-Szenarien beschreiben
- [ ] Caching-Strategien optimieren