rd13_tile_server/docs/adr/002-no-highzoom-no-satellite-build.md

102 lines
3.7 KiB
Markdown
Raw Permalink 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.

# 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)