SATELLITEN (CelesTrak TLE): - Raumstationen (ISS), GPS, Galileo, Wetter, Erdbeobachtung, Starlink - Echtzeit-Positionsberechnung aus Kepler-Elementen (2s Update) - Orbitbahnen als leuchtende Linien (Stationen, GPS, Galileo) - Farbkodiert nach Gruppe (rot=Station, orange=GPS, blau=Galileo) NATURKATASTROPHEN (NASA EONET): - Waldbraende, Vulkane, Stuerme, Fluten, Erdrutsche, Eis - Farbige Punkte mit Emoji-Labels - Klick zeigt Details und Quellen VISUAL MODES: - STD: Standard-Ansicht - NVG: Nachtsicht (gruener Monochrom-Filter) - FLIR: Thermal-Ansicht (invertiert, Infrarot-Look) - CRT: Retro-Monitor (Scanlines, Vignette) 4 neue Dateien: satellites.js, disasters.js, visualmodes.js, data_satellites.py, data_disasters.py
42 Zeilen
1.2 KiB
JavaScript
42 Zeilen
1.2 KiB
JavaScript
/**
|
|
* Visual Modes: Nachtsicht (NVG), FLIR Thermal, CRT Scanlines.
|
|
*/
|
|
const VisualModes = {
|
|
_current: 'standard',
|
|
_overlay: null,
|
|
|
|
init() {
|
|
this._overlay = document.getElementById('visual-overlay');
|
|
},
|
|
|
|
set(mode) {
|
|
this._current = mode;
|
|
var container = document.getElementById('cesiumContainer');
|
|
var overlay = this._overlay;
|
|
|
|
// Alle Mode-Klassen entfernen
|
|
container.className = '';
|
|
if (overlay) { overlay.className = 'visual-overlay'; overlay.style.display = 'none'; }
|
|
|
|
switch (mode) {
|
|
case 'nvg':
|
|
container.className = 'vmode-nvg';
|
|
break;
|
|
case 'flir':
|
|
container.className = 'vmode-flir';
|
|
break;
|
|
case 'crt':
|
|
container.className = 'vmode-crt';
|
|
if (overlay) { overlay.className = 'visual-overlay vmode-crt-overlay'; overlay.style.display = 'block'; }
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
// Button-States aktualisieren
|
|
document.querySelectorAll('.vmode-btn').forEach(function(btn) {
|
|
btn.classList.toggle('active', btn.dataset.mode === mode);
|
|
});
|
|
},
|
|
};
|