# Gesamtprüfung des ersten Deutschland-Releases

Stand: 07.08.2026

Alle in diesem Dokument beschriebenen Prüfungen erfolgten vor der ersten
Apache-Änderung und vollständig außerhalb von `/srv/kartendienst/public`.
Grundkarte und Haltestellenebene lagen dabei unter
`/var/cache/kartendienst/build/deutschland-20260806`.

## Deutschland-Build

- OSM-Eingabe: `germany-260805.osm.pbf`, 4.813.255.601 Bytes
- native Tilemaker-Zoomstufen: 0 bis 15
- adressierte Kacheln: 1.093.184
- Tilemaker-Laufzeit: 9 Minuten 36,35 Sekunden
- mittlere CPU-Auslastung: 1.484 Prozent bei 16 Threads
- maximaler residenter Speicher: 15.641.308 KiB
- Tilemaker-Exitstatus: 0
- temporärer Tilemaker-Speicher nach erfolgreichem Abschluss automatisch
  entfernt
- PMTiles-Clusterung: 22,33 Sekunden, Exitstatus 0

Die endgültige Grundkarte ist 7.680.394.322 Bytes groß und hat die SHA-256-
Prüfsumme
`61be1251c6d2479291f8afdd40c7b482a97fd9131d97ddf6906f787be6f1979d`.
Sie entspricht PMTiles Version 3, enthält gzip-komprimierte MVT-Kacheln,
ist geclustert und umfasst Zoom 0 bis 15. `pmtiles verify` bestand sowohl vor
als auch nach der Clusterung.

Die getrennte Datei `haltestellen.pmtiles` ist 37.174.263 Bytes groß und hat
die SHA-256-Prüfsumme
`ffaf2c2cdb4dbcae7f512137b171eb118eb14598cd7da46b62571aea6547ca77`.
Sie ist ebenfalls geclustert und bestand `pmtiles verify`.

## Geometrie und räumliche Stichproben

Der vollständige MVT-Dekoder prüfte in der Grundkarte 2.194 vorhandene
Zoom-15-Kacheln in Quadraten um Wendland, Cuxhaven, Berlin, München, Köln,
Flensburg, Görlitz, Saarbrücken, Zugspitze und Frankfurt. Es gab keine
Koordinate außerhalb des von MapLibre akzeptierten Bereichs.

Für die Connect-Ebene wurden 877 vorhandene Zoom-15-Kacheln in tatsächlich
vom lokalen Datenbestand belegten Bereichen um Wendland, Osnabrück, Hannover,
Braunschweig und Bremen geprüft. Auch dort gab es keine Überschreitung. Leere
Quadrate außerhalb des Connect-Verkehrsraums wurden nicht als bestandene
Stichprobe gezählt.

## Nachgewiesene Inhalte

Reale Kacheln bei Zoom 0, 5 und 15 wiesen unter anderem nach:

- Küsten- und Meerespolygone bereits in Zoom 0
- Wald, Acker, Wiese, Siedlungs-, Park- und Schutzflächen
- Gebäude und Hausnummern
- Autobahnen, Haupt- und Nebenstraßen, Feld-, Fuß-, Rad- und Reitwege
- Bahnstrecken sowie Fährlinien einschließlich `Priwallfähre`
- Gewässerflächen, Flüsse, Bäche und Gewässernamen
- Aussichtspunkte, Schutzhütten, Campingplätze und Gipfel
- sämtliche geprüften OSM-Haltestellenarten
- Wander-, Fahrrad- und MTB-Relationen mit Name, Kürzel, Netz, Wegzeichen,
  Symbol und OSM-Identität

Als konkrete Relationen wurden beispielsweise der Harzer-Hexen-Stieg, der
Europäische Fernwanderweg E6, mehrere Harzklub-Wege, die Cuxhavener Routen
`De Hoben` und `De Küst` sowie die Wendland-Route `Biosphärenquerung`
einschließlich ihrer vorhandenen Kürzel und Wegzeichen gelesen.

## Vollständige Connect-Haltestellenebene

Der Export las den SQLite-Index ausschließlich read-only und brach bei einer
Änderung seiner Identität ab. Er enthält exakt die im Index verzeichneten
34.551 logischen Haltestellen und 62.050 Roh-Haltepunkte. Quellhash,
Gültigkeitszeitraum, Datenbankhash und Exportdateien stehen im GTFS-
Buildmanifest.

Bei Zoom 14 sind `Wietzetze L231` und `Wietzetze Rundling` als zwei getrennte
logische Haltestellen vorhanden. Bei Zoom 15 sind zusätzlich alle drei
zugehörigen Roh-IDs vorhanden:

- `Wietzetze L231`: `000000816115` und `000009914816`
- `Wietzetze Rundling`: `000008016421`

## HTTP- und Browsertest

Der unveröffentlichte Release wurde vorübergehend nur an `127.0.0.1`
ausgeliefert. Vollabrufe ergaben HTTP 200. Einzelbereiche und Suffixbereiche
der beiden PMTiles-Dateien ergaben HTTP 206 mit richtigem `Content-Range`;
ein Bereich hinter dem Dateiende ergab HTTP 416 mit der vollständigen Größe.

Chromium lief mit einer nicht erreichbaren externen Proxyadresse und einer
Ausnahme ausschließlich für Loopback. Erfolgreich geprüft wurden Deutschland
bei Zoom 5, Wendland, Cuxhaven und Berlin bei Zoom 15 sowie Wietzetze bei
Zoom 20. In sämtlichen Läufen gab es:

- null externe HTTP-Anfragen
- null fehlgeschlagene Antworten oder Ladeabbrüche
- null JavaScript-Ausnahmen
- null Konsolenfehler und null Konsolenwarnungen
- null interne MapLibre-Kartenfehler

Die Bildschirmproben wurden zusätzlich visuell geprüft. Beim Overzoom 20
blieben Grundkarte, OSM-Halt, logischer Connect-Halt und die einzelnen GTFS-
Rohpunkte sichtbar. Ein realer Mittelklick auf den zentrierten Halt öffnete
das Popup `Wietzetze L231` mit logischer ID, beiden Roh-IDs, Mitgliederzahl
und Linienzahl. Damit sind Sichtbarkeit und Anwählbarkeit bei ausreichendem
Zoom nachgewiesen.

## Produktive Veröffentlichung und Aktualisierer

Nach der manuellen Erstabnahme wurde die identische Prüfkette in den
vollständigen Aktualisierer übernommen. Der abschließende Lauf verwendete
dieselben verifizierten Quelldateien und ergab:

- Release `20260806-osm20260805-aa22599c-gtfs7f21a9f8`
- Grundkarte 7.673.884.721 Bytes, SHA-256
  `aa22599ced5e289c6789a921d0730f62b174cbe0d09368908c6c6f310f9cfc00`
- 1.093.184 adressierte, 890.639 Verzeichniseinträge und 870.525
  unterschiedliche Kachelinhalte
- Tilemaker-Laufzeit 10 Minuten 0,96 Sekunden, 1.475 Prozent CPU,
  maximal 15.723.584 KiB residenter Speicher, keine Swaps, Exitstatus 0
- 441 fehlerfreie Zoom-15-Geometriekacheln in neun Regionen
- 174 fehlerfreie GTFS-Geometriekacheln in vier Regionen

Bei der Gegenprüfung zweier Vollaufbauten wurde eine nicht festgelegte
Lua-Tabellenreihenfolge im Tilemaker-Upstreamprofil gefunden: Ein Objekt mit
mehreren passenden POI-Schlüsseln konnte unterschiedlich klassifiziert
werden. Das Projektprofil legt den Vorrang nun ausdrücklich fest. Der reale
Reitplatz im Prüfpunkt wird seitdem stabil als `pitch/equestrian`
ausgegeben.

Apache wurde erst nach der vollständigen lokalen Erstabnahme eingebunden.
Die Syntaxprüfung und das Neuladen waren erfolgreich. Anschließend bestanden
Grundkarte und getrennte GTFS-Ebene Byte-Range-Abrufe über den echten
HTTPS-vHost. Der abschließende Chromium-Lauf meldete 24 lokale Anfragen,
null externe Anfragen, null fehlgeschlagene Antworten, null JavaScript-
Ausnahmen, null Fehler und null Warnungen. Das Wietzetze-Popup enthielt
weiterhin beide Roh-IDs.

Der Produktivwechsel erfolgte atomar. Das vorherige Release und die vorherige
GTFS-Datei blieben unter `/var/lib/kartendienst/previous` erreichbar. Eine
atomare Umschaltung auf beide Rollbackziele und die anschließende Rückkehr
wurden mit PMTiles-, Range- und Browserprüfung praktisch getestet.

## Geänderte Routenvorgabe vom 07.08.2026

Die im ersten Release nachgewiesenen Wander-, Rad-, MTB- und
Reitroutenrelationen wurden auf ausdrücklichen Wunsch wieder entfernt. Das
Tilemaker-Schema besitzt keinen Layer `route` mehr; Profil, MapLibre-Stil,
Bedienoberfläche und Popup-Felder enthalten ebenfalls keine Routendarstellung.

Die physischen Feld-, Fuß-, Rad- und Reitwege bleiben unverändert im Layer
`transportation`. Ein erneuter Wendland-Build bestätigte die Abwesenheit des
Routenlayers sowie das Vorhandensein von `path`, `track` und weiteren
Wegeklassen. Der anschließende lokale Browsertest blieb ohne externe Abrufe,
Fehler oder Warnungen.

Die Connect-Datei bildet weiterhin alle 34.551 logischen und 62.050 rohen
Halte des lokalen Connect-Indexes ab. Sie ist damit quellvollständig, aber
nicht deutschlandweit vollständig; der Schwerpunkt liegt in Niedersachsen,
Bremen, Hamburg und angrenzenden Verkehrsräumen.

## Vollständiger routenfreier Deutschland-Neubau

Die geänderte Vorgabe wurde anschließend nicht nur regional, sondern mit dem
vollständigen Deutschland-Extrakt neu gebaut. Aktiv ist der Release
`20260806-osm20260805-7bab89b0-gtfs7f21a9f8-in58ded457`.

Die Grundkarte ist 6.024.845.108 Bytes groß, besitzt die SHA-256-Prüfsumme
`7bab89b07c39c8d61669e83fa71ce8b92d854ac1c56fd6d6035d44fd0c4c7474`
und enthält 1.093.184 adressierte Kacheln von Zoom 0 bis 15. Tilemaker lief
8 Minuten 49,45 Sekunden mit maximal 13.435.844 KiB residentem Speicher und
ohne Swap. PMTiles-Struktur, Metadaten, 441 Geometriekacheln, physische Wege
und der lokale Browserlauf bestanden. Erst danach wurde der Release atomar
aktiviert. Die getrennte Connect-Datei blieb unverändert.

## Eigene Subdomain vom 07.08.2026

Nach der Kartenabnahme erhielt `maps.yourway.de` einen eigenen Apache-vHost
und ein eigenes ECDSA-Zertifikat von Let's Encrypt. HTTP leitet auf HTTPS
um; die Weboberfläche liegt direkt unter `https://maps.yourway.de/`.
Grundkarte und Connect-Ebene lieferten über HTTPS jeweils erfolgreiche
Byte-Range-Antworten mit `206 application/vnd.pmtiles`. Der Chromium-Test
meldete 24 ausschließlich lokale Anfragen, keine Ladefehler, keine externen
Abrufe und keine JavaScript- oder Konsolenfehler.

Die frühere Kartendienst-Einbindung wurde anschließend aus dem
`yourway.de`-vHost entfernt. Dessen Nextcloud-Konfiguration entspricht wieder
dem gesicherten Ausgangsstand; `/status.php` blieb erreichbar. Apache wurde
nur neu geladen, nicht neu gestartet.
