docs: ADR-002 – kein Self-Build z16/Satellit auf aktueller HW, Constraints dokumentiert

This commit is contained in:
Conrad Schulz 2026-06-13 09:20:22 +00:00
parent 4268b419b8
commit c47f4785b1
2 changed files with 118 additions and 3 deletions

View file

@ -0,0 +1,102 @@
# ADR-002: Kein Selbst-Build für z16-Extrakte und Satelliten-Tiles
**Date:** 2026-06-13
**Status:** Accepted
## Context
Es wurden zwei Erweiterungen evaluiert:
1. **OSM Vektor-Tiles für Europa/Deutschland bis Zoom 16**
Zoom 16 liefert Details wie Hausnummern, Fußwege, einzelne Gebäudeumrisse
deutlich mehr Detail als das vorhandene Planet-MBTiles (z014).
2. **Satelliten-Raster-Tiles für den gesamten Planeten**
Satellitenkarte als zweiter Kartenstil in Kartographer und Home Assistant.
## Decision
**Beide Optionen werden auf der aktuellen Hardware nicht gebaut (Self-Build ausgeschlossen).**
### Begründung
#### z16 Vektor-Europa/Deutschland
| Quelle | Verfügbar? | Anmerkung |
|---|---|---|
| OpenFreeMap Download | ❌ | Nur Planet z014 |
| Protomaps PMTiles | ❌ | Täglich Planet, aber max. z1415 |
| Geofabrik | ❌ | Nur OSM-Rohdaten (PBF), keine Tiles |
| Planetiler Self-Build | ❌ ausgeschlossen | RAM-Anforderung: ≥16 GB (Europa), ≥64 GB (Planet); Buildzeit: 812h Europa |
**Ergebnis:** Kein freier Pre-Build verfügbar. Selbst-Build auf aktueller Hardware nicht möglich.
#### Satelliten-Planet
| Quelle | Verfügbar? | Anmerkung |
|---|---|---|
| Pre-built Planet MBTiles | ❌ | Kein Anbieter bietet komplettes Planet-Satellit-MBTiles |
| EOX Sentinel-2 (tile-by-tile) | ✅ z011 | Download via `download-satellite.py`, ~38 GB, ~24h |
| EOX Sentinel-2 z12 | ⚠️ möglich | ~140 GB, 35 Tage Download, grenzwertig |
| EOX Sentinel-2 z13+ | ❌ | Nicht praktikabel (TB-Bereich) |
**Ergebnis:** Kein Planet-Download verfügbar. Tile-by-tile z011 ist die einzige praktikable Option (~38 GB).
### Hardware-Einschränkung (dokumentiert)
Die aktuelle Hardware (`rd13docker`) erfüllt die Mindestanforderungen für
Planetiler-Builds nicht:
| Anforderung | Planetiler Europa | Aktuell verfügbar |
|---|---|---|
| RAM | ≥ 16 GB | nicht bekannt / begrenzt |
| SSD-Temp | ≥ 500 GB | begrenzt |
| Buildzeit | 812h | akzeptabel, aber RAM ist Blocker |
**Diese Einschränkung ist dauerhaft in diesem ADR festgehalten.**
Kein Agent oder Maintainer soll einen Planetiler-Build auf dieser Hardware starten.
## Consequences
### Was bleibt
- **Vektor-Planet z014** bleibt die Datenbasis (OpenFreeMap, 95 GB, vorhanden)
- **Satelliten-Download z011** kann jederzeit gestartet werden (Script vorhanden)
### Akzeptierte Einschränkungen
- Zoom 1516 (Hausnummern, Einfahrten) nicht verfügbar → akzeptiert
- Satellitkarte maximal z11 (Stadtebene ohne Straßendetail) → akzeptiert
- Kein Live-OSM-Update-Zyklus (separat: ADR-001)
## Zukunft / Upgrade-Pfad
Falls Hardware aufgerüstet wird (≥ 16 GB RAM, ≥ 500 GB SSD-Temp):
```bash
# Deutschland z0-16 (~12 GB Output, ~2h, 8 GB RAM)
docker run --rm -v ./data:/data \
-e JAVA_TOOL_OPTIONS="-Xmx8g" \
ghcr.io/onthegomap/planetiler:latest \
--download --area=germany --output=/data/osm-de.mbtiles
# Europa z0-16 (~80 GB Output, ~12h, 16 GB RAM)
docker run --rm -v ./data:/data \
-e JAVA_TOOL_OPTIONS="-Xmx16g" \
ghcr.io/onthegomap/planetiler:latest \
--download --area=europe --output=/data/osm-eu.mbtiles
```
Satellit z011 (jetzt möglich, Script vorhanden):
```bash
SAT_MAX_ZOOM=11 python3 scripts/download-satellite.py data/satellite.mbtiles
# Schätzung: ~38 GB, ~24h bei 8 Threads
```
## References
- [ADR-001: Martin + tileserver-gl Stack](001-martin-tileserver-gl-stack.md)
- [OpenFreeMap Downloads](https://openfreemap.org) nur Planet z014
- [Protomaps Builds](https://maps.protomaps.com/builds/) nur Planet z014/15
- [EOX Sentinel-2 cloudless](https://s2maps.eu) tile-by-tile via Script
- [Planetiler Hardware Requirements](https://github.com/onthegomap/planetiler)

View file

@ -1,6 +1,6 @@
# Anforderungen rd13_tile_server # Anforderungen rd13_tile_server
Letzte Aktualisierung: 2026-06-12 Letzte Aktualisierung: 2026-06-13
--- ---
@ -13,7 +13,11 @@ Rationale: [siehe ADR-001](../adr/001-martin-tileserver-gl-stack.md)
- Martin: Vektor-Tiles (PBF) API-Foundation für zukünftige MapLibre GL Integration - Martin: Vektor-Tiles (PBF) API-Foundation für zukünftige MapLibre GL Integration
- tileserver-gl: PNG-Rendering Kartographer + externe Clients (Home Assistant, Nextcloud) - tileserver-gl: PNG-Rendering Kartographer + externe Clients (Home Assistant, Nextcloud)
- Tile-Updates: manuell 24×/Jahr (nicht live) - Tile-Updates: manuell 24×/Jahr (nicht live)
- Styles: Anpassbar über JSON-Style-Definitionen in `/data/styles/` - Styles: Anpassbar über JSON-Style-Definitionen in `config/styles/`
**⛔ Hardware-Einschränkung (dauerhaft):**
Kein Planetiler-Self-Build auf dieser Hardware. Kein Pre-Built für Europa/DE z16 verfügbar.
→ Begründung: [ADR-002](../adr/002-no-highzoom-no-satellite-build.md)
--- ---
@ -153,4 +157,13 @@ Kartographer nutzt `https://tiles.rd13server.de` als Tile-Server.
**Status:** 📋 dokumentiert, nicht getestet **Status:** 📋 dokumentiert, nicht getestet
Satellit-Tiles als Raster-Layer in HA-Map-Card einbindbar. Satellit-Tiles als Raster-Layer in HA-Map-Card einbindbar.
Wartet auf `satellite.mbtiles` Download.
**Satellit-Download-Entscheidung (2026-06-13):**
- Kein Pre-Built Planet-Satellit-MBTiles verfügbar → [ADR-002](../adr/002-no-highzoom-no-satellite-build.md)
- Download z011 (~38 GB, ~24h) via `scripts/download-satellite.py` möglich wenn gewünscht
- z12+ auf dieser Hardware nicht praktikabel (140 GB+, 35 Tage)
```bash
# Satellit z0-11 starten (optional, bei Bedarf):
SAT_MAX_ZOOM=11 python3 scripts/download-satellite.py data/satellite.mbtiles
```