langzeitbelichtung_nachtfot.../data_visualization/README.md

3 KiB
Raw Permalink Blame History

Langzeitbelichtung Nachtfotografie Datenvisualisierung

Ziel

Diese Anwendung dient der Visualisierung und Analyse von Temperatur- und Bilddaten aus einem Langzeitbelichtungs-Experiment bei Nacht. Sie stellt Temperaturverläufe und aufgenommene Bilder dar, um Zusammenhänge zwischen Temperaturbedingungen und Bildqualität zu erforschen.

Funktionsübersicht

  • Abruf und Anzeige von Temperatur- und Bilddaten über eine API.
  • Liniendiagramm zur Darstellung der Temperaturentwicklung über die Zeit.
  • Bildergalerie mit Navigations- und Zoomfunktion.
  • Filterung nach Zeit oder Temperaturwerten.
  • Responsive Gestaltung für Desktop und mobile Geräte.
  • Visuelle Zusammenfassung mit Durchschnittstemperatur und Anzahl der verwendbaren Bilder.

Datenfluss

  1. Beim Laden des Frontends wird ein GET-Request an die API-Route /data gesendet.
  2. Die API liefert ein JSON-Objekt im folgenden Format:
    {
      "temperatures": [
        {"timestamp": "2026-03-24T22:00:00Z", "value": 12.3},
        {"timestamp": "2026-03-24T23:00:00Z", "value": 11.9}
      ],
      "images": [
        {"filename": "img_001.jpg", "timestamp": "2026-03-24T22:00:00Z", "metadata": {"exposure": "60s"}}
      ]
    }
    
  3. JavaScript verarbeitet diese Daten und rendert:
    • ein Temperaturdiagramm,
    • eine interaktive Galerie,
    • statistische Auswertungen (z.B. Durchschnittstemperatur).
  4. Benutzerinteraktionen (z.B. Filterung) führen zur Neuberechnung und Aktualisierung der Visualisierungen im DOM.

API-Nutzung

Route: /data

  • Methode: GET
  • Verwendung: Abruf gesammelter Temperatur- und Bilddaten.
  • Erwarteter Response:
    {
      "temperatures": [ {"timestamp": string, "value": number} ],
      "images": [ {"filename": string, "timestamp": string, "metadata": object} ]
    }
    

Die Daten werden von js/api.js abgefragt und im Frontend verarbeitet.

Struktur

.
├── index.html               # Einstiegspunkt
├── css/
│   ├── styles.css           # Layout und Komponenten-Styling
│   └── responsive.css       # Zusätzliche responsive Anpassungen
├── js/
│   ├── api.js               # API-Kommunikation
│   ├── chart.js             # Liniendiagramm-Rendering
│   ├── gallery.js           # Bildergalerie und Zoomfunktionen
│   └── filters.js           # Filterlogik
└── README.md                # Projektdokumentation (diese Datei)

Responsives Design

  • Mobile-first: Basislayout für kleine Bildschirme; stufenweise Skalierung bis Desktop.
  • Fluid Layout: relative Größen (rem, %) und CSS-Variablen.
  • Barrierefreiheit: semantische HTML-Struktur, ARIA-Attribute bei dynamischen Inhalten.

Nutzung

  1. Lokalen Server starten oder Projekt auf Webserver bereitstellen.
  2. API unter /data muss erreichbar sein.
  3. Browser öffnen und index.html laden.
  4. Mit Filtern oder Zooms interagieren, um Datenausschnitte zu analysieren.

© 2026 Donau2Space.de