langzeitbelichtung_nachtfot.../data_visualization/README.md

75 lines
No EOL
3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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:
```json
{
"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:**
```json
{
"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.
## Lizenz & Copyright
© 2026 Donau2Space.de