Files
karten/Erste Planung.md
T
2026-10-09 04:20:40 +02:00

96 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
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.
# Offline-Karten- und Ortungsanwendung
Stand: 8. Oktober 2026. Diese Datei dokumentiert den bisherigen Planungsstand. Eine Anwendung wurde noch nicht implementiert.
## Ziel und Plattformen
Eine offlinefähige Kartenanwendung für **iOS und Android** soll amtliche DTK25-Karten anzeigen und eingegebene Zielkoordinaten darauf markieren. Die Verteilung soll ohne App Store über eine installierbare **Progressive Web App (PWA)** erfolgen.
Der Mac dient als Entwicklungsrechner und zur Aufbereitung der Kartendaten. Die ursprünglich erwogene macOS-Desktop-App und deren Python/Qt-Architektur sind verworfen.
**Ortung bei geöffneter App reicht aus.** Hintergrundortung und Tracking bei gesperrtem Bildschirm sind nicht erforderlich.
## Wichtigste Funktion: MGRS-Zieleingabe
Der Nutzer hat die Eingabe von Koordinaten in dieser Form als wichtigste Funktion festgelegt:
```text
32U MA 67030 78109
```
Die eingegebene Position muss auf der passenden Karte sichtbar sein. MGRS ist ein eigenes Koordinatenformat und darf nicht als einfache UTM-Zahlenangabe interpretiert werden.
Geplantes Verhalten:
- Eingaben mit und ohne Leerzeichen akzeptieren.
- Zone, Buchstaben, Ziffernanzahl und die Gültigkeit der Kombination prüfen; ungültige Angaben verständlich zurückweisen.
- MGRS lokal dekodieren und die Position nach EPSG:25832 umrechnen.
- Passendes bereits heruntergeladenes Kartenmaterial auswählen.
- Auf das Ziel zentrieren und eine deutliche Zielmarkierung anzeigen.
- Die eingegebene MGRS-Angabe zur Kontrolle sichtbar lassen.
- Fehlendes Offline-Kartenmaterial ausdrücklich melden, statt eine leere Ansicht als erfolgreiche Kartenanzeige darzustellen.
- Als geplante Ergänzung auch kürzere MGRS-Angaben unterstützen und deren größere Bezugsfläche sichtbar darstellen. Die genaue Konvention für Marker und Flächendarstellung ist noch festzulegen.
Fünf Ziffern je Achse, wie im Beispiel, beschreiben eine MGRS-Zelle von 1 × 1 Meter. Diese Auflösung ist keine Zusage über die Genauigkeit der zugrunde liegenden Position oder Karte.
## Weitere Anforderungen
- Karte mit Touch-Gesten verschieben und zoomen.
- Benötigte Karten automatisch anhand des sichtbaren Ausschnitts beziehungsweise der Zielposition laden.
- Zusätzlich UTM- und WGS84-Koordinaten als Eingabe anbieten.
- Eigenen Standort mit Betriebssystem-/Browserfreigabe anzeigen; manuelle Standortangabe als Alternative.
- Luftlinienentfernung zwischen eigenem Standort und Ziel anzeigen.
- Auf eigenen Standort oder Ziel zentrieren.
- Nach vollständigem Download ohne Internet starten und arbeiten, einschließlich Koordinatenumrechnung.
- Große Kartendaten effizient verarbeiten und den Arbeitsspeicherverbrauch begrenzen.
Routenberechnung, Navigation entlang von Wegen und Hintergrundtracking gehören nicht zum bisher vereinbarten Umfang.
## Quelldaten
Der vorgesehene Kartenordner lautet **`./Karten`**, relativ zum künftigen Projektverzeichnis. Bei der letzten Prüfung war dieser Ordner im aktuellen Arbeitsverzeichnis noch nicht vorhanden. Es wurden noch keine Originaldateien geprüft.
Nach Angaben des Nutzers liegen für Hessen deutlich mehr als 1 GB Kartenmaterial vor:
- DTK25, Maßstab 1:25.000.
- TIFF-Bilddateien mit zugehörigen TFW-Dateien.
- Originalkacheln von 12 × 12 km.
- Vorgesehenes Koordinatenreferenzsystem: ETRS89 / UTM Zone 32N, **EPSG:25832**.
- Beispielname: `DTK25_584000_5660000_col.tif` und zugehörige `.tfw`.
Beispiel einer TFW-Datei aus der bisherigen Unterhaltung:
```text
1.2500000000
0.0000000000
0.0000000000
-1.2500000000
584000.6250000000
5671999.3750000000
```
Die sechs Zeilen enthalten Pixelmaß und affine Georeferenzierung; die letzten beiden Werte bezeichnen den Mittelpunkt des oberen linken Pixels. Die TFW-Datei selbst benennt kein Koordinatenreferenzsystem.
Für dieses Beispiel ergeben sich bei 12 km Kantenlänge rechnerisch 9.600 × 9.600 Pixel mit 1,25 m Pixelgröße. Die äußeren Grenzen wären Ostwerte 584000 bis 596000 und Nordwerte 5660000 bis 5672000. Diese Annahmen sind beim Import gegen Bildabmessungen und Metadaten zu prüfen.
## Vorgesehene Architektur
| Baustein | Festgelegte Richtung |
| --- | --- |
| Anwendung | Smartphone-taugliche PWA für iOS und Android |
| Entwicklung | TypeScript und Vite |
| Kartenanzeige | OpenLayers |
| Kartenprojektion | EPSG:25832 zunächst beibehalten |
| Koordinatenumrechnung | Proj4js plus separate MGRS-Bibliothek |
| Offline-Programm | Service Worker und Cache Storage für Oberfläche und Programmressourcen |
| Offline-Kartendaten | Kleine Rasterkacheln in Cache Storage |
| Katalog und Downloadstatus | IndexedDB |
| Kartenaufbereitung | Python und GDAL auf dem Mac |
| Bereitstellung | Statisches HTTPS-Hosting; kein laufender Kartenserver erforderlich |
Konkrete Bibliotheksversionen, MGRS-Bibliothek und Hosting-Anbieter sind noch nicht ausgewählt. Alle für den Offlinebetrieb nötigen Bibliotheken, Projektionsdefinitionen und Ressourcen müssen mit der Anwendung verfügbar sein; Laufzeitabhängigkeiten von externen CDNs sind zu vermeiden.
```text
./Karten: TIFF + TFW
↓ einmalige Aufbereitung auf dem Mac
Kleine Rasterkacheln in mehreren Auflösungen + Gebietskatalog