ForHosting KIT · Reisen und Geografie

Geohash-Encoder

Machen Sie aus Koordinaten einen kurzen Geohash: 37,7749 und -122,4194 ergeben mit neun Zeichen 9q8yyk8yt, einen Schlüssel in der Größe eines Häuserblocks, der nahe Orte zusammenfasst. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Breite in Dezimalgrad
37,7749
Länge in Dezimalgrad
-122,4194
Genauigkeit
9
Erhalten Sie
Geohash
9q8yyk8yt

Ein Geohash verwandelt ein Paar geografischer Koordinaten in einen kurzen Base32-String, der eine rechteckige Zelle auf der Erde bezeichnet. Nahe beieinander liegende Punkte teilen sich lange gemeinsame Präfixe, was die Kodierung für die Umkreissuche, Kachelschlüssel, Cache-Partitionen und menschenlesbare Standort-Token nützlich macht. Diese Fähigkeit nimmt Breite, Länge und eine Genauigkeitslänge entgegen und liefert dann den Geohash-String zusammen mit dem umgebenden Rechteck der Zelle zurück. Der Algorithmus ist reine Arithmetik: keine Netzwerkaufrufe, keine Zufallsstichproben und keine Uhr. Ungültige Genauigkeit oder Koordinaten außerhalb des Bereichs werden mit einem klaren Eingabefehler abgewiesen, statt still eine falsche Zelle zu liefern.

Was ein Geohash tatsächlich darstellt

Geohash ist ein öffentliches Kodierschema, das die Bits von Länge und Breite verschachtelt und diese Bits dann fünf auf einmal in ein 32-Zeichen-Alphabet packt, das mehrdeutige Buchstaben bewusst auslässt. Jedes Zeichen, das Sie hinzufügen, halbiert die Zelle grob erst in der einen und dann in der anderen Dimension, sodass längere Strings kleinere Rechtecke beschreiben. Ein Hash mit einem Zeichen deckt einen riesigen Teil des Planeten ab; neun oder zehn Zeichen sind je nach Breitengrad in der Regel fein genug für einen Häuserblock oder einen Gebäudegrundriss.

Weil Präfixe ineinander verschachtelt sind, fallen zwei Orte, die sich die ersten sieben Zeichen teilen, in dieselbe grobe Zelle — genau das macht Präfixabfragen und Karten-Clustering praktikabel. Der String ist kein kryptografischer Hash: Verschiedene Punkte können sich absichtlich ein Präfix teilen, und dieselbe Genauigkeit ergibt für dieselben Koordinaten stets denselben String. Nutzen Sie ihn, wenn Sie einen kompakten, URL-sicheren Schlüssel für einen Ort brauchen statt eines vollständigen Gleitkomma-Paars in jeder Logzeile oder Datenbankzeile.

Wie Sie Genauigkeit wählen und Koordinaten senden

Senden Sie Dezimalgrade auf dem WGS84-Globus: Breite von minus neunzig bis neunzig, Länge von minus einhundertachtzig bis einhundertachtzig. Die Genauigkeit ist die Anzahl der Base32-Zeichen, die Sie zurückerhalten möchten, von eins bis zwölf. Niedrige Werte eignen sich für Länder- oder Regionsklassen; mittlere Werte für Städte und Stadtviertel; hohe Werte für Zellen auf Innenraum- oder Fahrzeugverfolgungsniveau.

Die Antwort spiegelt die gesendeten Eingaben wider, den resultierenden Geohash sowie die Breiten- und Längengrenzen der Zelle, die dieser String bezeichnet. Diese Grenzen sind die Intervalle, mit denen der Encoder nach dem letzten Bit abgeschlossen hat, sodass Sie die Abdeckung prüfen können, ohne separat zu dekodieren. Fehlende Felder und nicht-numerische Werte scheitern auf dieselbe Weise.

Bevorzugen Sie stabile Dezimalzahlen gegenüber Strings mit Einheiten oder Himmelsrichtungsbuchstaben; wandeln Sie DMS- oder Gitterreferenzen vor dem Aufruf um.

Wo kodierte Zellen in echte Pipelines passen

Teams verwenden Geohashes als Partitionsschlüssel in Zeitreihenspeichern, als Kartenkachel-Bezeichner für Client-Caches, als gemeinsame Präfixe für Filter naher Punkte und als kurze Token in URLs oder QR-Nutzdaten, wenn ein vollständiges Breite/Länge-Paar unhandlich ist. Denken Sie daran, dass Geohash-Zellen Rechtecke im Gradraum sind, keine perfekten Kreise gleicher Fläche: In Polnähe ist eine lange Zelle in Metern von Ost nach West viel schmaler als dieselbe Länge am Äquator. Für strenge Umkreissuchen berechnen Sie die Distanz weiterhin auf den Originalpunkten; nutzen Sie den Hash für die Klassenbildung und die Kandidatenauswahl und verfeinern Sie danach.

Partitionsschlüssel für Datenbank und Cache

Speichern Sie einen Geohash fester Länge neben jedem Datensatz, damit Bereichsabfragen und Cache-Shards nahe Orte ohne Gleitkomma-Indizes gruppieren.

Karten-Clustering und Kachel-Labels

Fassen Sie Marker nach gemeinsamen Präfixen bei einer gewählten, zoomartigen Genauigkeit zusammen und öffnen Sie nur die Zellen, die Details brauchen.

Kurze Standort-Token in URLs

Ersetzen Sie lange Koordinaten-Abfragezeichenfolgen durch einen kompakten Geohash, der beim Dekodieren anderswo weiterhin eine bekannte Zelle wiederherstellt.

Was liefert dieser Geohash-Encoder zurück?

Er liefert den Geohash-String, die von Ihnen übermittelte Breite und Länge, die Genauigkeitslänge sowie das umgebende Rechteck der Zelle, die dieser String bezeichnet.

Welche Genauigkeit sollte ich verwenden?

Verwenden Sie weniger Zeichen für große Regionen und mehr für feine Zellen. Werte um sieben bis neun sind für den Maßstab eines Häuserblocks üblich; zwölf ist das Maximum, das dieses Werkzeug akzeptiert.

Was kostet es?

Das Seitenwerkzeug ist in Ihrem Browser kostenlos. Ungültige Eingaben werden nicht berechnet.

Warum beginnen die Geohashes naher Orte gleich?

Weil die Zellen ineinander verschachtelt sind: Jedes weitere Zeichen teilt die vorige Zelle in kleinere Stücke. Zwei Orte, deren Geohashes in den ersten sieben Zeichen übereinstimmen, liegen in derselben groben Zelle, und das macht Präfixsuchen und das Bündeln auf Karten möglich.

Ist eine Geohash-Zelle überall auf der Erde gleich groß?

Nein. Die Zellen sind Rechtecke in Grad, keine Kreise gleicher Fläche: In Polnähe ist eine Zelle in Metern von Ost nach West viel schmaler als am Äquator. Für eine strenge Umkreissuche messen Sie die Entfernung an den ursprünglichen Koordinaten.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/geo/geohash-encode

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/geo/geohash-encode \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"latitude":37.7749,"longitude":-122.4194,"precision":9}'
{
  "latitude": 37.7749,
  "longitude": -122.4194,
  "precision": 9
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.geohash_encode",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Wie Sie Genauigkeit wählen und Koordinaten senden

Liegt die Genauigkeit unter eins oder sitzt eine der Koordinaten außerhalb ihres zulässigen Bereichs, schlägt der Aufruf mit invalid_input fehl und wird nicht berechnet.

Wo kodierte Zellen in echte Pipelines passen

Weil die Transformation deterministisch und nebenwirkungsfrei ist, können Sie denselben Schlüssel im Browser, in einem Worker oder in einem Batch-Job neu erzeugen und für dieselben Eingaben Byte-identische Ergebnisse erwarten. Führen Sie das kostenlose Browser-Werkzeug aus, um einen einzelnen Ort zu prüfen, oder rufen Sie die API auf, wenn Sie dieselbe Kodierung in der Automatisierung brauchen, zu $0.002 pro erfolgreicher Anfrage.

Wann schlägt die Kodierung fehl?

Sie schlägt mit invalid_input fehl, wenn die Genauigkeit unter eins (oder über zwölf) liegt, wenn die Breite außerhalb von −90…90 liegt, wenn die Länge außerhalb von −180…180 liegt oder wenn eine erforderliche Zahl fehlt oder nicht endlich ist.

Ist das Ergebnis im Browser und in der API gleich?

Ja. Beide führen denselben reinen Encoder in lib.js aus, sodass identische Eingaben identische Geohash-Strings und umgebende Rechtecke erzeugen.

Vollständige KIT-Dokumentation lesen →