Die ganze Welt in 46 Megabyte gequetscht
Was Skyty ungewöhnlich macht, ist gleichzeitig das, was am schwersten zu glauben ist: Jedes Gerät, das die App lädt, bekommt eine vollständige Vektor-Weltkarte. Kein Folge-Download. Der ganze Planet steckt im App-Store-Binary.
Als ich das einer Freundin, die in Mapping arbeitet, das erste Mal erklärt habe, glaubte sie es nicht, bis ich ihr das File schickte. Sechsundvierzig Megabyte. Die ganze Welt. Sie fragte: wie. Drei Tricks.
Trick 1: Vektoren statt Pixel
Ein Satellitenbild der Erde auf Straßen-Zoom ist ungefähr 70 Terabyte. Eine Vektor-Repräsentation desselben — hier ist eine Straße, hier eine Küstenlinie, hier ein Polygon namens Italien — sind etwa 120 Gigabyte für die gesamte OpenStreetMap-Datenbank, alle Detailstufen inklusive.
Vektoren gewinnen, weil sie Geometrie beschreiben, keine Pixel. Dieselbe Küsten-Polygon ist auf jeder Zoom-Stufe scharf; der Renderer füllt die Details auf der GPU aus, während du zoomst. Es gibt keine Auflösung, die du wählen müsstest.
Für Skyty bedeuten Vektoren auch, dass wir sie umstylen können. Aviation Dark, Aviation Light, Topographisch — gleiche Daten, andere Lackierung.
Trick 2: pmtiles
Traditionelle Vektor-Tile-Quellen speichern eine Datei pro Tile. Auf Zoom 6 sind das ~4 000 Tiles für die Welt; auf Zoom 14 zig Millionen. Selbst mit spärlichen Tiles für Ozean erzeugt ein File-pro-Tile-Schema massive Verzeichnis-Listings und viel verschwendeten Disk-Overhead.
Protomaps hat ein Format namens PMTiles eingeführt: eine einzige Datei mit einem Header, der jede Tile-Koordinate auf einen Byte-Offset und eine Länge innerhalb der Datei abbildet. Tile (z=6, x=22, y=15) zu lesen ist ein einzelnes Seek + Read von ein paar KB. Keine Verzeichnisse, keine Metadaten-Duplikation, kein Per-Tile-Overhead.
Das ist aus zwei Gründen ein großer Deal:
- Eine Datei lässt sich trivial in eine App bündeln.
- Random-Access ist schnell. Modernes Flash ist schneller bei einer großen Datei als bei tausenden kleinen.
Trick 3: Zoom-Stufen ausdünnen
Der vollständige Protomaps-OSM-Build geht von Zoom 0 bis 15. Da kommt das Straßen-Detail her. Aber auf Langstrecke auf FL370 wirst du nie auf Straßen-Zoom hineinzoomen. Der Blick aus einem Flugzeugfenster ist Zoom 5 bis 7.
Also liefert Skyty nur Zoom 0–6. Genug, um Kontinente, Ländergrenzen, Ozean-Labels, große Flüsse und Städte zu sehen — genau das, was auf Reiseflughöhe relevant ist. Der Rest der Zoom-Pyramide wäre tote Last.
Die Zahlen:
| Zoom-Bereich | Was sichtbar ist | Größe ca. |
|---|---|---|
| 0–4 | Kontinente, Ozeane, Länderformen | ~10 MB |
| 0–6 | Plus Großstädte, Ländergrenzen | ~46 MB |
| 0–10 | Plus regionale Straßen, kleinere Städte | ~3,4 GB |
| 0–14 | Plus Straßen, Gebäude-Footprints | ~120 GB |
Wir wählen 0–6 als Sweet Spot für die gebündelte Karte und bieten 0–10 als optionalen Download für Leute, die mehr Detail wollen, wenn das Flugzeug sinkt.
Was wir wegwerfen (und warum es auf Höhe egal ist)
- Gebäude-Footprints. Aus Flugzeugfenster nicht sichtbar. Weg damit.
- Bushaltestellen, Geldautomaten, Points of Interest auf Straßenniveau. Skyty hat eine eigene POI-Datenbank mit höhen-relevanten Items — Berge, Seen, Vulkane, große Landmarken. ~6 800 Einträge gegenüber OSMs zig Millionen.
- Detaillierte Straßennetze unter Highway-Niveau. Ein Netz aus Nebenstraßen ist von FL370 sinnlos. Wir behalten Highways und Hauptstraßen.
Indem wir das weglassen, kriegen wir eine Karte, die schneller rendert, leichter zu lesen ist und klein genug zum Ausliefern.
Wie es im App-Bundle aussieht
Im Skyty-App-Bundle findest du:
Resources/
├── world.pmtiles ~46 MB
├── aviation-dark.json ~25 KB (Style)
├── aviation-light.json ~25 KB
├── cities.json ~5 KB (87 Städte fürs Geocoding)
├── airports.json ~2 MB (vollständige IATA/ICAO)
└── fonts/ ~3 MB (Noto Sans für Labels)
Total: ~52 MB vor Kompression. Der App Store komprimiert obendrauf nochmal.
Warum das wichtig ist
Der ganze Punkt einer Offline-First-App ist, dass du nie entscheiden musst, ob du offline willst. Es ist einfach immer an, by default. Die Karte zu bündeln nimmt eine der größten mentalen Lasten weg — “Karten-Regionen vor der Reise herunterladen” — die Art von Pre-Flight-Ritual, die man genau dann vergisst, wenn man sie am dringendsten braucht.
Sechsundvierzig Megabyte sind klein genug, um über Mobilfunk geladen zu werden, ohne darüber nachzudenken. Einmal installiert, ist es das für immer.