GeoHash adalah metode yang sangat baik untuk mengkodekan garis lintang dan bujur suatu titik menjadi sebuah string. Ini ringkas, karena penggunaan angka + huruf, dan ketepatan dapat disetel menambahkan karakter di akhir.
Saya mencari metode yang setara untuk kode poligon, bukan poin. Saya melihat dua cara untuk melakukannya:
- geohash semua titik poligon, kemudian gabungkan, dan kemudian kompres string yang dihasilkan menggunakan algoritma kompresi teks klasik.
- referensi semua geohash yang dimasukkan ke dalam poligon. Ini adalah metode RecursivePrefixTree - lihat http://www.opensourceconnections.com/2014/04/11/indexing-polygons-in-lucene-with-accuracy/ .
Saya ingin kode dapat dimanipulasi oleh manusia, yaitu. disalin secara manual, tidak hanya oleh mesin sebagai indeks.
Sunting: lihat juga diskusi (dalam bahasa Prancis) di http://seenthis.net/messages/269838 .
polygon
latitude-longitude
compression
geohash
Sylvain Lesage
sumber
sumber
Jawaban:
Lihatlah Georaptor . Membuat satu set geohash terkompresi, yaitu, kombinasi geohash pada tingkat yang berbeda.
sumber
Implementasi yang paling kuat adalah di perpustakaan geometri s2 dengan implementasi Polygon Cover-nya. Menggunakan S2CellIds, peningkatan pada GeoHash, sebagai unitnya.
sumber
Dengan rilis terbaru oleh Google dari Open Location Code , ada pertanyaan bagus tentang Geohash. Sayangnya, saya tidak melihat sesuatu tentang poligon Geohash.
Ketika Anda mencari berbagai implementasi untuk solusi seperti Geohash, lihat perbandingan Google dari berbagai algoritma dan solusi di https://github.com/google/open-location-code/blob/master/docs/comparison.adoc
Ini jelas untuk poin tetapi mungkin membantu Anda untuk "pencarian" poligon Geohash Anda.
sumber
Implementasi yang sangat sederhana adalah dengan melakukan BFS mengisi poligon dengan geohash. Kemudian Anda dapat secara rekursif memecah tepi menjadi presisi yang lebih tinggi.
Berikut ini contoh Contoh BFS
sumber
Fungsi PostGIS ST_GeoHash mengembalikan GeoHash berdasarkan tipe geometri input. Tentu saja, geometri apa pun selain Titik akan menghasilkan presisi yang lebih rendah.
sumber