ความแม่นยำของ Geohash คืออะไร


20

ฉันต้องการทราบความแม่นยำของ geohash ด้วยความยาวที่กำหนด หากมีสูตร 'ง่าย' คุณสามารถใช้ในการคำนวณมันจะเจ๋งเป็นพิเศษ

Wikipedia แสดงความแม่นยำได้สูงสุด 8 ตัวอักษร:

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

1
คุณต้องการรู้อะไร
วินซ์

ความแม่นยำเมื่อมี geohashes กับ 9, 10, 11 .. ตัวอักษร
Gundon

1
เมื่อพูดถึงเรื่องนี้มันไม่ได้เกี่ยวกับว่าคุณมีทศนิยมเท่าไหร่ แต่มีกี่ประเด็นที่เกี่ยวข้องกัน ดูที่นี่สำหรับคำตอบของคำถามของคุณ: gis.stackexchange.com/questions/8650/...แต่ใส่ใจกับความแตกต่างระหว่างความถูกต้องและแม่นยำ
Martin

บทความวิกิพีเดีย Geohashยังระบุว่า "บิตต่อมาในแต่ละครึ่ง [ที่] ข้อผิดพลาด." นี่ไม่ใช่ข้อผิดพลาด km (หรือแม้แต่ข้อผิดพลาดระดับทศนิยม) แต่เป็นหน้าต่าง / ช่วงของสถานที่ที่เป็นไปได้
Erica

ขอบคุณที่เอ่ยว่าเอริก้า ฉันเข้าใจว่า แต่อาจไม่ทำให้ชัดเจนพอ @Martin Geohashes นั้นไม่เหมือนกับ lat / long-พิกัดแม้ว่าพวกมันจะได้มาจากสิ่งนั้น .. ฉันไม่คิดว่าคำถามนี้จะซ้ำกัน ถ้าเป็น: คุณช่วยบอกฉันว่าหน้าต่าง km ของ geohash มี 9 ตัวอักษรได้ไหม?
Gundon

คำตอบ:


33

ดังนั้นหนึ่งสัญลักษณ์ (ตัวอักษรหรือตัวเลข) คือฐาน 32 (8 บิต) แต่ละบิตแรกใช้สำหรับหน้าต่างสูงหรือต่ำจากนั้นบิตต่อมาจะแบ่งความแม่นยำด้วย 2 (ดังนั้นหารด้วย 8 ในกรณีที่ดีที่สุด) แต่มีทางเลือกอื่น ระหว่าง lat และความแม่นยำที่ยาวดังนั้นมันจึงถูกหารด้วย 4 และ 8 หรือ

#   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

โปรดทราบว่าตามที่กล่าวไว้ในหน้า Wiki ค่าเหล่านั้นมาจากสถานที่ใกล้เส้นศูนย์สูตรโดยที่ระดับมีความยาวเกือบเท่ากันใน X และ Y สำหรับข้อมูลที่แม่นยำยิ่งขึ้นคุณควรเริ่มจากข้อผิดพลาด lat และ long และ คำนวณความแม่นยำกม. ตามแกน X โดยอิงตามละติจูดของตำแหน่งของคุณ


ฉันอยู่ระหว่างการเขียนคำตอบหรือความคิดเห็นอื่น แต่นี่มันไป คำตอบนั้นถูกต้องตามหลักเหตุผล แต่ตัวเลขนั้นผิดปกติ จดหมายฉบับหนึ่งไม่ใช่ 32 บิต แต่อยู่ในฐาน 32 ซึ่งเป็นเพียง 5 บิต ตัวอักษรหนึ่งตัวสามารถเป็น 8 บิตโดยสมมติว่าเป็น ASCII แต่ไม่มีอักขระที่มองเห็นได้ 256 ตัวซึ่งท้าทายจุดประสงค์ในการอ่านของ geohash เมื่อคุณมี base32 คุณสามารถใช้ตัวอักษรที่ จำกัด เพื่อแสดงถึง 5 บิต เนื่องจากนี่เป็นเลขคี่ด้วยตัวอักษรแต่ละตัวคุณสามารถรับ 3lat, 2lon หรือ 2lat, 3 ยาว geohash ทำอะไรได้อีกทางเลือกดังนั้นมันคือ 3lat, 2lon แล้ว 2lat, 3lon ดังนั้นคุณจึงได้การกระจาย
auselen

ขอบคุณสำหรับความคิดเห็นของคุณ ฉันจะตรวจสอบและอัปเดตคำตอบของฉันตามความคิดเห็นของคุณ
radouxju
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.