Rumah > Soal Jawab > teks badan
像0101000020E610000098E9F4A131405C40BBA1265A25B53740
这种编码过后的经纬度,是怎么计算的。尝试过去看postgis和mongodb的源码,无奈没找到(不懂啊……)
漂亮男人2017-04-24 16:02:26
Saya tidak tahu banyak tentang PostGIS, tetapi prinsipnya sepatutnya sama.
Dalam MongoDB, mari kita bincangkan indeks 2d dahulu.
http://docs.mongoing.com/manual-zh/core/geospatial-indexes.html
Dalam MongoDB, indeks 2d boleh digunakan untuk mengindeks titik. Kami membahagikan segi empat sama kepada 4 bahagian yang sama, bernombor 00, 01, 10, 11, dan kemudian bahagikan segi empat sama yang mengandungi titik sasaran dengan cara yang sama Selepas 32 kali, kami mendapat urutan bernombor, yang boleh kami susun. Geohash mempunyai beberapa sifat yang baik Contohnya, jika segi empat sama besar yang dibahagikan mengikut aspek di atas mengandungi segi empat sama kecil, Geohash yang pertama adalah awalan yang terakhir. Maklumat terperinci boleh didapati di Wikipedia.
Untuk indeks 2dsphere, MongoDB menggunakan perpustakaan S2 untuk melakukan Geohash, lihat slaid pada Dokumen Google.
Selain itu, mengapa anda ingin tahu tentang Geohash? Adakah perlu memahami masalah yang anda hadapi?