Zonkod logo Zonkod
←
Technologie

Einfach an der Oberfläche. Tiefgründig im Inneren.

Zonkod ist auf Einfachheit, Schnelligkeit und universelle Anwendbarkeit ausgelegt. Doch dahinter steckt eine Menge Technologie. Tauchen wir ein!

Zonkod technology overview

Die Erde wurde in exakt 10.000 Flächen ähnlicher Präzision unterteilt. Eine grobe Vorstellung davon, wie Zonkod funktioniert.

Die Inspiration

An old GPS device on a car dashboard at sunset
Fünfzehn Minuten, kein Erfolg. Das Problem war real.

Vor einigen Jahren versuchte ich auf einer Reise, die geografischen Koordinaten eines Restaurants in das Navigationssystem eines Oberklassewagens einzugeben. Obwohl ich promovierter Ingenieur bin, mühte ich mich fünfzehn Minuten lang vergeblich ab.

In diesem Moment begriff ich, dass es ein echtes, ungelöstes Problem gab. Hoffentlich konnte ich an dem Abend noch zu Abend essen ;)

Die erste Idee: eine geografische Telefonnummer

A rotary dial whose digits beam down to a place on Earth
Einen Ort wählen, wie eine Telefonnummer.

Das war DIE Lösung: eine geografische Telefonnummer: einfach zu wählen, universell, von jedem auf der Erde beherrscht.

Abgesehen davon, dass es äußerst schwierig ist, eine Kugel in genau 100.000.000.000.000 identische Flächen zu unterteilen. Tatsächlich ist das unmöglich.

Die zweite Idee: Präzision statt Perfektion

A caliper measuring a small globe, pin at the measured point
Die Erde, vermessen wie ein Maschinenteil.

Dann kam die zweite großartige Idee: Vergessen Sie identische Oberflächen und konzentrieren Sie sich auf das, was wirklich zählt: Präzision.

Nehmen wir einen Ort. Dessen Position wird in eine Zahl kodiert und diese Zahl anschließend wieder in eine neue Position dekodiert. Entscheidend ist nur, dass die beiden Positionen nicht zu weit voneinander entfernt sind. Die Genauigkeit des gesamten Systems entspricht der maximalen Entfernung zwischen ihnen im ungünstigsten Fall. Das ist das Einzige, was zählt!

Es musste außerdem einfach und auf den ersten Blick erkennbar sein, daher die einfache Genauigkeit und die führende ZK:.

Keine Trigonometrie. Keine Gleitkommazahlen. Niemals.

A glowing integer grid with the ZK pin on an exact intersection
Exakt aufgrund der Konstruktion: Der Stift landet auf einem ganzzahligen Kreuzungspunkt.

Eine weitere Einschränkung ist die einfache Kodierung und Dekodierung sowie die vollständige Reproduzierbarkeit. Jedes System (vom winzigen eingebetteten IoT-Gerät bis zum Mobiltelefon, Desktop-Computer oder Großrechner) muss stets exakt dasselbe Ergebnis liefern.

Computer haben jedoch eine begrenzte Genauigkeit. Für wissenschaftliche und technische Berechnungen verwenden sie sogenannte Gleitkommazahlen. Diese sind auch für trigonometrische Operationen und andere komplexe Funktionen unerlässlich. Leider gibt es viele verschiedene Systeme, Programmiersprachen und Bibliotheken, die sich teilweise nur geringfügig unterscheiden. Hinzu kommt, dass Gleitkommasysteme entweder langsam, teuer oder beides sind.

Also: keine Trigonometrie, keine Gleitkommazahlen, nur Ganzzahlarithmetik, denn das ist die einzig deterministische Lösung.

Ein Standard. Kein VHS vs. Betamax.

Die Entwicklung eines solchen Systems dauerte lange, aber letztendlich gelang es. Das Ergebnis, das heute verfügbar ist, ist Zonkod. Für diese Technologie wurde ein Patent angemeldet. Eines ihrer Hauptziele ist die Etablierung eines Standards, indem sichergestellt wird, dass es nur eine einzige ZK: gibt und Formatkriege somit der Vergangenheit angehören.

Nahezu perfekte Präzision

Wir können die theoretisch bestmögliche Genauigkeit für eine gegebene Zahlenlänge berechnen. Für 14 Stellen beträgt sie 1,5969 m. Die Zonkod-Kodierung ist nahezu perfekt: Ihre Genauigkeit liegt bei 1,5988 m, also bei 99,9 % des Optimums. Und zwar überall. Das ist wichtig, weil es die Nutzbarkeit jeder einzelnen Stelle maximiert.

1.5988 m
tatsächliche Präzision
1.5969 m
theoretisches Optimum
99.9%
von optimal

Auf allen Plattformen verifiziert.

Devices from phone to retro computer sharing the same ZK pin
Auf allen Maschinen dasselbe Ergebnis, bis zur letzten Ziffer.

Zonkod wurde in vielen verschiedenen Sprachen implementiert, darunter C, JavaScript, WASM, FORTRAN und Python. Sie alle liefern exakt die gleichen Ergebnisse, bis hin zur letzten Ziffer.

Es wurde sogar nach COBOL portiert, einer Sprache, die 1959 für die betriebliche Buchhaltung entwickelt wurde und nie für geodätische Berechnungen gedacht war. Und dennoch funktioniert es. Wenn Zonkod in COBOL läuft, läuft es überall.

Klein, schnell, überall

Arduino Nano running Zonkod
Ein winziger Arduino Nano, der Zonkod läuft

Geschwindigkeit und Kompaktheit spielen ebenfalls eine Rolle.

Auf einem Arduino Nano (8-Bit ATmega328P, 16 MHz) benötigt ein vollständiges Bare-Metal-Kodierungs- und Dekodierungsprogramm (einschließlich I/O und PRNG) 11.956 Bytes ROM und 192 Bytes RAM.

Es erreicht eine vollständige Umlaufzeit im Durchschnitt in 1,48 ms. Auf einem Mobiltelefon oder Desktop-Computer liegen wir im Nanosekundenbereich.

Fazit

Zonkod macht aus einem komplexen geometrischen Problem eine einfache Ganzzahloperation. Das Ergebnis ist ein Ortscode, der kompakt genug für einen 8-Bit-Mikrocontroller, schnell genug für jedes System, präzise genug für den täglichen Gebrauch und auf jedem Gerät weltweit identisch ist. Eine Zahl, ein Standard, eine ZK:.