From c47f4785b19595771c570a628b85f3afa15a27fc Mon Sep 17 00:00:00 2001 From: Conrad Schulz Date: Sat, 13 Jun 2026 09:20:22 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20ADR-002=20=E2=80=93=20kein=20Self-Build?= =?UTF-8?q?=20z16/Satellit=20auf=20aktueller=20HW,=20Constraints=20dokumen?= =?UTF-8?q?tiert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adr/002-no-highzoom-no-satellite-build.md | 102 ++++++++++++++++++ docs/requirements/REQUIREMENTS.md | 19 +++- 2 files changed, 118 insertions(+), 3 deletions(-) create mode 100644 docs/adr/002-no-highzoom-no-satellite-build.md diff --git a/docs/adr/002-no-highzoom-no-satellite-build.md b/docs/adr/002-no-highzoom-no-satellite-build.md new file mode 100644 index 0000000..b3aefcd --- /dev/null +++ b/docs/adr/002-no-highzoom-no-satellite-build.md @@ -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 (z0–14). + +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 z0–14 | +| Protomaps PMTiles | ❌ | Täglich Planet, aber max. z14–15 | +| Geofabrik | ❌ | Nur OSM-Rohdaten (PBF), keine Tiles | +| Planetiler Self-Build | ❌ ausgeschlossen | RAM-Anforderung: ≥16 GB (Europa), ≥64 GB (Planet); Buildzeit: 8–12h 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) | ✅ z0–11 | Download via `download-satellite.py`, ~38 GB, ~24h | +| EOX Sentinel-2 z12 | ⚠️ möglich | ~140 GB, 3–5 Tage Download, grenzwertig | +| EOX Sentinel-2 z13+ | ❌ | Nicht praktikabel (TB-Bereich) | + +**Ergebnis:** Kein Planet-Download verfügbar. Tile-by-tile z0–11 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 | 8–12h | 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 z0–14** bleibt die Datenbasis (OpenFreeMap, 95 GB, vorhanden) +- **Satelliten-Download z0–11** kann jederzeit gestartet werden (Script vorhanden) + +### Akzeptierte Einschränkungen + +- Zoom 15–16 (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 z0–11 (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 z0–14 +- [Protomaps Builds](https://maps.protomaps.com/builds/) – nur Planet z0–14/15 +- [EOX Sentinel-2 cloudless](https://s2maps.eu) – tile-by-tile via Script +- [Planetiler Hardware Requirements](https://github.com/onthegomap/planetiler) diff --git a/docs/requirements/REQUIREMENTS.md b/docs/requirements/REQUIREMENTS.md index d20658b..f9ea0bd 100644 --- a/docs/requirements/REQUIREMENTS.md +++ b/docs/requirements/REQUIREMENTS.md @@ -1,6 +1,6 @@ # 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 - tileserver-gl: PNG-Rendering – Kartographer + externe Clients (Home Assistant, Nextcloud) - Tile-Updates: manuell 2–4×/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 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 z0–11 (~38 GB, ~24h) via `scripts/download-satellite.py` möglich wenn gewünscht +- z12+ auf dieser Hardware nicht praktikabel (140 GB+, 3–5 Tage) + +```bash +# Satellit z0-11 starten (optional, bei Bedarf): +SAT_MAX_ZOOM=11 python3 scripts/download-satellite.py data/satellite.mbtiles +```