Kartenmodule ergaenzen
Phase 6: alles, was einen Ort hat — Loeschwasser, Objekte mit Feuerwehrplan, die Lagekarte eines Einsatzes und die geplante Foerderstrecke. Keine Kacheln aus dem Netz. Wo eine Wehr ausrueckt und wo ihre Hydranten liegen, ist niemandes Geschaeft; der Kartenserver laeuft selbst (tileserver-gl im Compose-Profil "karte"). Ohne ihn zeigt die Karte einen leeren Grund und sagt das auch — Punkte, Entfernungen und Umkreissuche funktionieren trotzdem. Dasselbe gilt fuer einen eingetragenen, aber nicht erreichbaren Server. Die Umkreissuche laeuft ueber PostGIS: ST_DWithin auf der Geografie mit GiST-Index rechnet in Metern und nutzt den Index. Gefragt wird waehrend der Fahrt, und bei tausend Hydranten waere alles andere ein vollstaendiger Tabellendurchlauf. Der Import aus GeoJSON und Stadtwerke-CSV ist nachsichtig, aber ehrlich: er erkennt "DN 100", deutsche Kommazahlen, Datumsangaben und vertauschte Achsen — raet aber nichts. Fehlt die Position, wird die Zeile uebersprungen; ohne Statusangabe steht "ungeprueft", nicht "einsatzbereit". 22 taktische Zeichen nach FwDV 102 selbst gezeichnet, die Lagekarte gleicht ueber denselben Ereignisstrom ab wie die Atemschutzueberwachung. Die Wasserfoerderung rechnet Reibung, Hoehe und Pumpenzahl; das Ergebnis wird nie gespeichert, sondern bei jeder Anzeige neu gerechnet. Geht eine Strecke nicht auf, sagt die Ausgabe das. Behoben: die Reibungsbeiwerte lagen im ersten Wurf um den Faktor zehn daneben. Aufgefallen ist es nur, weil die Tests gegen die Tabellenwerte der Ausbildung pruefen und nicht gegen die eigene Implementierung. Dazu ein Abruf fuer abgelegte Dateien (/api/dateien/[id]) — bis hierher gab es nur den Upload. 59 neue Tests (48 Unit, 11 E2E je Browser). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
e1480c0c3e
commit
1c1e141666
@@ -0,0 +1,46 @@
|
||||
# Kartenkacheln
|
||||
|
||||
Hier gehört die MBTiles-Datei des Ausrückegebiets hinein. Sie liegt **nicht**
|
||||
im Repository: je nach Zuschnitt sind das hunderte Megabyte bis Gigabyte, und
|
||||
jede Wehr braucht einen anderen Ausschnitt.
|
||||
|
||||
## Woher
|
||||
|
||||
Zwei Wege, beide ohne laufende Kosten und ohne Anmeldung:
|
||||
|
||||
1. **Fertiger Auszug.** Bei [maptiler.com/data](https://data.maptiler.com/downloads/planet/)
|
||||
oder aus einem OpenMapTiles-Auszug den eigenen Landkreis herunterladen.
|
||||
2. **Selbst schneiden.** Aus einem Geofabrik-Auszug (`.osm.pbf`) mit
|
||||
[planetiler](https://github.com/onthegomap/planetiler) den eigenen
|
||||
Ausschnitt erzeugen:
|
||||
|
||||
```bash
|
||||
java -Xmx4g -jar planetiler.jar --download --area=oberbayern \
|
||||
--output=/pfad/zu/docker/karten/ausrueckegebiet.mbtiles
|
||||
```
|
||||
|
||||
Dazu gehört ein Stil. tileserver-gl bringt `basic` mit; ein eigener Stil kommt
|
||||
als `styles/<name>/style.json` daneben.
|
||||
|
||||
## Starten
|
||||
|
||||
```bash
|
||||
docker compose --profile karte up -d
|
||||
```
|
||||
|
||||
Danach in der `.env`:
|
||||
|
||||
```
|
||||
KARTE_STIL_URL=http://localhost:8085/styles/basic/style.json
|
||||
```
|
||||
|
||||
## Ohne Kacheln
|
||||
|
||||
FLORIAN läuft auch ohne. Die Karte zeigt dann einen leeren Hintergrund mit
|
||||
Gitternetz — Hydranten, Objekte und die Lagekarte liegen trotzdem an der
|
||||
richtigen Stelle, nur ohne Straßen darunter. Für den Anfang reicht das, um
|
||||
Daten zu erfassen; für den Einsatz nicht.
|
||||
|
||||
**Keine Kacheln aus dem Netz.** Wo eine Wehr ausrückt, wo ihre Hydranten
|
||||
liegen und welche Objekte sie im Blick hat, ist niemandes Geschäft. Deshalb
|
||||
gibt es in FLORIAN keinen Rückfall auf einen öffentlichen Kartendienst.
|
||||
Reference in New Issue
Block a user