Độ chính xác của Geohash là gì


20

Tôi muốn biết độ chính xác của geohash với độ dài cho trước. Nếu có một công thức 'đơn giản' bạn có thể sử dụng để tính toán nó, điều đó sẽ cực kỳ tuyệt vời.

Wikipedia liệt kê độ chính xác lên tới 8 ký tự:

#   km
1   ±2500
2   ±630
3   ±78
4   ±20
5   ±2.4
6   ±0.61
7   ±0.076
8   ±0.019

1
Bạn muốn biết cái gì?
Vince

Độ chính xác khi có geohash với 9, 10, 11 .. ký tự
Gundon

1
Khi nói đến điều đó, nó không quá nhiều về số thập phân của bạn mà là bao nhiêu số có liên quan. Xem ở đây để có câu trả lời cho câu hỏi của bạn: gis.stackexchange.com/questions/8650/iêu , nhưng chú ý đến sự khác biệt giữa độ chính xácđộ chính xác .
Martin

Các bài viết trên Wikipedia về Geohash cũng nói rằng "mỗi nửa chút tiếp theo [các] lỗi." Đây không phải là lỗi km (hoặc thậm chí là lỗi độ thập phân), mà là cửa sổ / phạm vi của các vị trí có thể.
Erica

Cảm ơn vì đã đề cập đến Erica. Tôi đã hiểu điều đó, nhưng có lẽ không làm cho tôi đủ rõ ràng. @Martin Geohash không giống với tọa độ lat / long, mặc dù chúng có nguồn gốc từ đó .. Tôi không nghĩ rằng câu hỏi này là một bản sao của câu hỏi khác. Nếu đó là: Bạn có thể cho tôi biết cửa sổ km của geohash với 9 ký tự không?
Gundon

Câu trả lời:


33

vì vậy một ký hiệu (chữ cái hoặc chữ số) là cơ sở 32 (8 bit) Mỗi ​​bit đầu tiên được sử dụng cho cửa sổ cao hoặc thấp, sau đó các bit tiếp theo chia độ chính xác cho 2. (vì vậy chia cho 8 trong trường hợp tốt nhất) nhưng có một phép xen kẽ giữa độ trễ và độ chính xác dài, do đó, nó kết thúc chia cho 4 và 8 thay thế.

#   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

Lưu ý rằng, như đã đề cập trên trang Wiki, các giá trị đó đến từ một vị trí gần xích đạo, trong đó một mức độ có cùng chiều dài trong X và Y. Để có thông tin chính xác hơn, bạn nên bắt đầu từ các lỗi lat và long và tính toán độ chính xác km dọc theo trục X dựa trên vĩ độ của vị trí của bạn.


Tôi đang ở giữa viết một câu trả lời khác hoặc một nhận xét nhưng ở đây nó đi. Câu trả lời là đúng nhưng số là sai. Một chữ cái không phải là 32 bit mà là ở cơ sở 32, chỉ là 5 bit. Một chữ cái có thể là 8 bit, giả sử một char ascii nhưng nó không có 256 ký tự hiển thị, bất chấp mục đích dễ đọc của geohash. Khi bạn có base32, bạn có thể sử dụng bảng chữ cái giới hạn để thể hiện 5 bit. Vì đây là một số lẻ, với mỗi chữ cái bạn có thể nhận được 3lat, 2lon hoặc 2lat, 3long, geohash làm gì cũng thay thế nên nó là 3lat, 2lon rồi 2lat, 3lon để bạn có thể phân phối đồng đều.
auselen

cám ơn bạn đã góp ý. Tôi sẽ kiểm tra và cập nhật câu trả lời của tôi theo nhận xét của bạn.
radouxju
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.