วิธีการ geohash ของรูปหลายเหลี่ยม?


11

GeoHash เป็นวิธีที่ยอดเยี่ยมในการเขียนรหัสละติจูดและลองจิจูดของจุดลงในสตริง มันกระชับเนื่องจากการใช้ตัวเลข + ตัวอักษรและความแม่นยำสามารถปรับแต่งการเพิ่มตัวอักษรในตอนท้าย

ฉันกำลังมองหาวิธีที่เทียบเท่ากับการเข้ารหัสรูปหลายเหลี่ยมไม่ใช่คะแนน ฉันเห็นสองวิธีในการทำ:

  • geohash จุดรูปหลายเหลี่ยมทั้งหมดแล้วต่อกันและบีบอัดสตริงผลลัพธ์โดยใช้อัลกอริทึมการบีบอัดข้อความแบบดั้งเดิม
  • อ้างอิง geohash ทั้งหมดที่รวมอยู่ในรูปหลายเหลี่ยม มันเป็นวิธีการ RecursivePrefixTree - การดูhttp://www.opensourceconnections.com/2014/04/11/indexing-polygons-in-lucene-with-accuracy/

ฉันต้องการรหัสที่มนุษย์สามารถจัดการได้เช่น คัดลอกด้วยตนเองไม่เพียงเครื่องเป็นดัชนี

แก้ไข: ดูการอภิปราย (ภาษาฝรั่งเศส) ที่http://seenthis.net/messages/269838


ยินดีต้อนรับสู่ GIS SE คุณเปิดให้ใช้ไลบรารี python / geo หรือไม่?
artwork21

เห็นได้ชัดว่าใช่ แต่คำถามนั้นเกี่ยวกับแนวคิดและอัลกอริธึมมากกว่าการนำไปใช้งาน
Sylvain Lesage

คำตอบ:


6

มีลักษณะที่Georaptor สร้างชุดของ geohash ที่ถูกบีบอัดเช่นชุดของ geohash ที่ระดับต่าง ๆ


โปรดทราบว่า ElasticSearch กำลังใช้กลยุทธ์เดียวกันสำหรับการจัดทำดัชนีรูปหลายเหลี่ยม: elastic.co/guide/en/elasticsearch/reference/current/…
Sylvain Lesage

2

การนำไปใช้ที่มีประสิทธิภาพมากที่สุดนั้นอยู่ในไลบรารี s2 geometryพร้อมกับการนำ Polygon Cover ไปใช้ ใช้ S2CellIds ซึ่งเป็นการปรับปรุง GeoHashes เป็นหน่วยของมัน


1

เมื่อเปิดตัวล่าสุดโดย Google ของรหัสตำแหน่งเปิดมีคำถามที่ดีเกี่ยวกับ Geohash โชคไม่ดีที่ฉันไม่เห็นอะไรเกี่ยวกับรูปหลายเหลี่ยม Geohash

ในขณะที่คุณกำลังมองหาการใช้งานที่หลากหลายสำหรับ Geohash เช่นโซลูชันให้ดูที่ Google เปรียบเทียบอัลกอริทึมและโซลูชันต่างๆที่https://github.com/google/open-location-code/blob/master/docs/comparison.adoc

มันชัดเจนสำหรับคะแนน แต่มันอาจช่วยคุณในการค้นหา "รูปหลายเหลี่ยม" Geohash



0

ฟังก์ชัน PostGIS ST_GeoHashส่งคืน GeoHash ตามประเภทรูปทรงเรขาคณิตอินพุต แน่นอนว่ารูปทรงเรขาคณิตใด ๆ ที่ไม่ใช่จุดจะทำให้ความแม่นยำลดลง

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