5 neue Layer: Militaerflug, Seekabel, Infrastruktur, ISS Tracker

MILITAERFLUGVERKEHR (adsb.lol /v2/mil):
- ~254 Militaerflugzeuge weltweit in Echtzeit (rot)
- Callsign-Labels bei Zoom (RCH=USAF, GAF=Luftwaffe etc.)
- Klick zeigt: Callsign, Registration, Typ, Hoehe, Squawk
- 20s Refresh

SEEKABEL (TeleGeography):
- Untersee-Glasfaserkabel als cyan-Linien auf dem Globus
- ~500+ internationale Kabelverbindungen
- Geopolitisch relevant (Sabotage, Abhoerung)

INFRASTRUKTUR (OpenStreetMap Overpass):
- 348 Kernkraftwerke weltweit (gelb mit Orange-Rand)
- Militaerflughaefen (rot)
- Labels bei Zoom (<500km)
- 24h Cache (statische Daten)

ISS TRACKER (Open-Notify API):
- Echtzeit-Position der ISS (roter Punkt, 420km Hoehe)
- 5s Refresh, prominentes Label
- Klick zeigt Details

Backend: data_military.py, data_infra.py (2 neue Dateien)
Frontend: military.js, cables.js, infra.js, iss.js (4 neue Dateien)
Dieser Commit ist enthalten in:
Claude Dev
2026-03-24 23:05:43 +01:00
Ursprung 4539bd19b3
Commit fd9e6558db
10 geänderte Dateien mit 376 neuen und 0 gelöschten Zeilen

Datei anzeigen

@@ -59,6 +59,13 @@
</label>
<div class="layer-loading" id="loading-flights"></div>
<div class="layer-status" id="status-flights"></div>
<label class="layer-toggle">
<input type="checkbox" id="layer-military" title="Militaerflugzeuge weltweit (adsb.lol, ~300 Flugzeuge, 20s Refresh)">
<span class="layer-dot dot-military"></span>
<span class="layer-name" title="Militaertransporter, Tanker, Aufklaerer, Kampfjets">Militaerflug</span>
<span class="layer-count" id="count-military">-</span>
</label>
<div class="layer-status" id="status-military"></div>
<label class="layer-toggle">
<input type="checkbox" id="layer-ships" title="Echtzeit-Schiffsverkehr weltweit (AISStream AIS-Daten, kontinuierlich)">
<span class="layer-dot dot-ships"></span>
@@ -84,6 +91,25 @@
</label>
<div class="layer-loading" id="loading-satellites"></div>
<div class="layer-status" id="status-satellites"></div>
<label class="layer-toggle">
<input type="checkbox" id="layer-cables" title="Untersee-Glasfaserkabel weltweit (TeleGeography)">
<span class="layer-dot dot-cables"></span>
<span class="layer-name" title="Internationale Seekabel-Infrastruktur">Seekabel</span>
<span class="layer-count" id="count-cables">-</span>
</label>
<div class="layer-status" id="status-cables"></div>
<label class="layer-toggle">
<input type="checkbox" id="layer-infra" title="Kernkraftwerke + Militaerflughaefen (OpenStreetMap)">
<span class="layer-dot dot-infra"></span>
<span class="layer-name" title="Atomkraftwerke (gelb) + Militaerbasen (rot)">Infrastruktur</span>
<span class="layer-count" id="count-infra">-</span>
</label>
<div class="layer-status" id="status-infra"></div>
<label class="layer-toggle">
<input type="checkbox" id="layer-iss" title="ISS Echtzeit-Position (5s Refresh)">
<span class="layer-dot dot-iss"></span>
<span class="layer-name" title="International Space Station, ~420km Hoehe">ISS Tracker</span>
</label>
<label class="layer-toggle">
<input type="checkbox" id="layer-disasters" title="Naturkatastrophen + Erdbeben (NASA EONET + USGS: Waldbraende, Vulkane, Stuerme, Erdbeben M2.5+)">
<span class="layer-dot dot-disasters"></span>
@@ -198,6 +224,10 @@
<script src="/static/js/layers/disasters.js"></script>
<script src="/static/js/ui/sidebar.js"></script>
<script src="/static/js/layers/monitor.js"></script>
<script src="/static/js/layers/military.js"></script>
<script src="/static/js/layers/cables.js"></script>
<script src="/static/js/layers/infra.js"></script>
<script src="/static/js/layers/iss.js"></script>
<script src="/static/js/layers/weather.js"></script>
<script src="/static/js/ui/imagery.js"></script>
<script src="/static/js/ui/search.js"></script>