Geohash-Encoder und -Decoder
Datenschutz by Design — läuft vollständig in Ihrem Browser
Wechseln Sie in den Encode-Modus und geben Sie Breite und Länge (mit Präzisions-Slider) ein, um einen Geohash zu erzeugen. Im Decode-Modus fügen Sie einen Hash ein und sehen die Mittelkoordinate sowie die Süd-West-/Nord-Ost-Grenzen der Zelle. Nützlich für räumliche Indizes, Nähe-Suchen und pseudonymisierte Standortspeicherung.
Was ein Geohash tatsächlich codiert
Ein Geohash verschränkt die Bits von Breite und Länge und codiert das Ergebnis in Base32 mit einem speziellen Alphabet (0-9 sowie b-z ohne a/i/l/o). Jedes Zeichen liefert 5 Bit Präzision und wechselt zwischen Längen- und Breiteverfeinerung. Das Ergebnis ist eine kurze, URL-sichere Zeichenkette, deren Präfixbeziehung direkter Ausdruck räumlicher Containment ist: Jeder Geohash, der mit "dr5ru" beginnt, liegt in der Zelle dr5ru.
Präzision und Zellgröße
Bei Präzision 1 wird die Welt in 32 Zellen mit etwa 5.000 km Kantenlänge geteilt. Präzision 5 (~ 4,9 km am Äquator) eignet sich für Stadtteil-Gruppen. Präzision 9 (~ 5 m) trifft die Granularität eines Gebäudes. Präzision 12 erreicht etwa 4 cm und wird selten außerhalb von Vermessungsarbeiten benötigt. Zellen schrumpfen Richtung Pole.
Warum Geohashes nutzen
String-Präfixe lassen sich in PostgreSQL, Redis, DynamoDB und SQLite gut indizieren. Um Punkte innerhalb von 5 km um ein Ziel zu finden, berechnen Sie dessen Geohash auf Präzision 5 und suchen Präfix-Treffer — viel günstiger als Großkreis-Distanzabfragen. Der Randfall an der Zellgrenze ist real, deshalb fragen produktive Pipelines auch die acht Nachbarzellen ab. Geohash ist einfacher und älter als S2/H3 und bleibt die leichteste Lösung für Nähe-Workloads auf der heißen Strecke.
Häufig gestellte Fragen
- Warum deckt Präzision 5 eine ganze Stadt ab?
- Jedes Zeichen bringt 5 Bit, also Präzision 5 = 25 Bit ≈ Zellen von 4,9 km × 4,9 km am Äquator. Städte mit wenigen Kilometern Breite passen in eine Zelle, deshalb gruppieren viele Mitfahr- und Liefer-Apps Fahrer und Bestellungen über Präzision-5-Geohashes für schnelles Matching.
- Zwei nahe Punkte mit unterschiedlichen Geohashes — ein Bug?
- Kein Bug, ein Gridraster-Artefakt. Punkte beiderseits einer Zellgrenze teilen keinen Präfix, selbst bei 1 m Abstand. Produktiv fragt man den Zielhash plus seine acht Nachbarn (einen 3×3-Ring) ab.
- Welches Alphabet nutzt Geohash?
- 0-9 plus b-z ohne a, i, l, o. Die bewusste Auslassung vermeidet Verwechslungen mit 0/1 in kontrastschwachen Schriften. Es ist Base32 mit diesem benutzerdefinierten Alphabet, also nicht das RFC-4648-Base32.
- Wie steht Geohash zu S2 und H3?
- Geohash ist die einfachste und älteste Variante. S2 und H3 nutzen Kugel- oder Hexgitter und meistern Pol-Verzerrungen besser. Für App-Proximity reicht Geohash; für Navigation/Routing auf Planet-Skala lohnen S2 und H3.
- Kann man Geohashes sicher in PostgreSQL indizieren?
- Ja. Behandeln Sie den Hash als Text-Spalte mit Btree-Index, dann fliegen Präfix-Suchen (LIKE 'dr5ru%'). Für räumliche Abfragen ergänzen Sie PostGIS; in den meisten Fällen reicht Präfix-Matching.
- Loggt Toova die Koordinaten, die ich codiere?
- Nein. Encoding und Decoding laufen im JavaScript dieser Seite. Koordinaten und resultierender Hash erreichen keinen Toova-Server.