Was ist die Präzision einer Geohash?

20

Ich würde gerne die Präzision einer Geohash mit einer bestimmten Länge erfahren. Wenn es eine 'einfache' Formel gibt, mit der Sie sie berechnen können, wäre das besonders cool.

Wikipedia listet die Genauigkeit mit bis zu 8 Zeichen auf:

#   km
1   ±2500
2   ±630
3   ±78
4   ±20
5   ±2.4
6   ±0.61
7   ±0.076
8   ±0.019
Gundon
quelle
1
Was möchten Sie wissen?
Vince
Die Präzision bei Geohashes mit 9, 10, 11 .. Zeichen
Gundon
1
Wenn es darum geht, geht es nicht so sehr darum, wie viele Dezimalstellen Sie haben, sondern darum, wie viele relevant sind. Hier finden Sie eine Antwort auf Ihre Frage: gis.stackexchange.com/questions/8650/…. Achten Sie jedoch auf den Unterschied zwischen Genauigkeit und Präzision .
Martin
Der Wikipedia-Artikel über Geohash besagt auch, dass "jedes nachfolgende Bit den Fehler halbiert". Dies ist nicht der km-Fehler (oder sogar der Dezimalgradfehler), sondern das Fenster / der Bereich möglicher Positionen.
Erica
Danke, dass du diese Erica erwähnt hast. Ich habe das verstanden, mich aber vielleicht nicht klar genug ausgedrückt. @ Martin Geohashes sind nicht dasselbe wie Lat / Long-Koordinaten, obwohl sie davon abgeleitet sind. Ich glaube nicht, dass diese Frage ein Duplikat der anderen ist. Wenn es so wäre: Kannst du mir das km-Fenster einer Geohash mit 9 Zeichen sagen?
Gundon

Antworten:

33

Ein Symbol (Buchstaben oder Ziffern) ist also die Basis 32 (8 Bits). Jedes erste Bit wird für ein hohes oder niedriges Fenster verwendet. Nachfolgende Bits teilen die Genauigkeit durch 2. (also im besten Fall durch 8), aber es gibt eine Alternative zwischen lat und long precision, so dass es abwechselnd durch 4 und 8 geteilt wird.

#   km      
1   ± 2500
2   ± 630
3   ± 78
4   ± 20
5   ± 2.4
6   ± 0.61
7   ± 0.076
8   ± 0.019
9   ± 0.0024
10  ± 0.00060
11  ± 0.000074

Beachten Sie, dass diese Werte, wie auf der Wiki-Seite erwähnt, von einem Ort in der Nähe des Äquators stammen, an dem ein Grad in X und Y nahezu dieselbe Länge hat. Um genauere Informationen zu erhalten, sollten Sie mit den lat- und long-Fehlern und beginnen Berechnen Sie die km-Genauigkeit entlang der X-Achse basierend auf dem Breitengrad Ihrer Position.

radouxju
quelle
Ich schreibe zwischendurch eine andere Antwort oder einen Kommentar, aber hier geht es weiter. Die Antwort ist logisch korrekt, aber die Zahlen sind einfach falsch. Ein Buchstabe ist nicht 32 Bit, aber er befindet sich in Basis 32, was nur 5 Bit entspricht. Ein Buchstabe kann aus 8 Bit bestehen, wobei ein ASCII-Buchstabe vorausgesetzt wird, der jedoch keine 256 sichtbaren Zeichen enthält, was dem Zweck der Lesbarkeit von Geohash widerspricht. Wenn Sie base32 haben, können Sie ein begrenztes Alphabet verwenden, um 5 Bit darzustellen. Da dies eine ungerade Zahl ist, können Sie mit jedem Buchstaben 3lat, 2lat oder 2lat, 3long erhalten. Was Geohash macht, ist alternativ, also 3lat, 2lat, dann 2lat, 3lat, damit Sie eine gleichmäßige Verteilung erhalten.
Auselen
vielen Dank für Ihren Kommentar. Ich überprüfe und aktualisiere meine Antwort entsprechend Ihrem Kommentar.
Radouxju