Soru Bir coğrafya endeksi nasıl çalışır? [kapalı]


MongoDB'nin kullandığı gibi bir jeo-uzamsal indeksin nasıl çalıştığını merak ediyorum. Herhangi bir veri yapısının / algoritmasının dahili olarak hangi amaçla kullanıldığını bilen var mı? Arama ne zaman karmaşıklık yapar?

Kaynaklara bağlantılar da harika olurdu.


31
2018-01-02 02:58


Menşei


@Sanırım bu soruyu yeniden açmak iyi olur. Aslında fiili cevaplar soruyor ve şu ana kadar verilen yanıtların değeri yüksektir. Veri tabanı endeks teknolojisi üzerinde çalışan bir programcı olarak, daha fazla cevap duymaya değer olacağını düşünüyorum :) - Rob Evans
@RobEvans Evet, hayır. İlk olarak, mekansal endeksleme nasıl çalışır, StackOverflow'un soru / cevap formatı içinde iyi yanıtlanamayan bir konudur. İkincisi, bu soru bağlantılar arıyor özellikle izin verilmiyor (bunun için bir neden var). Burada konu olan ve olmayanlar konusunda kafanız karıştıysa, lütfen ziyaret edin Meta yığın taşması. - Will
@Will Gotta, jeo-endekslerin ve iç işleyişlerinin Q & A için iyi bir uyum sağlamadığı yönündeki iddiasına katılmıyor ancak bunun bir anlamı olduğunu düşünüyorum. Sorunun, bağlantı isteğini ortadan kaldırmak ve daha spesifik olmak için bir düzenleme ile yapılabileceğinden emin olun, ancak bu, genel olarak iyi bir uyum ya da uygunluk anlamına gelmez. Bunlardan birkaçını değerli ve kapalı olan ve toplumun kesinlikle değer bulması gibi bir utanç görüyorum ... B-tree olarak jeohatalar hakkında bana hatırlattığı gibi, aşağıdaki iki cevapta da değer buldum. anahtarlar. - Rob Evans
@RobEvans Eh, y'wrong. Kabul edilen cevap ağaç yapılarına bağlar. Bu, bütününde tek bir bileşen ve yine buraya sığacak kadar geniş. Onlar hakkında bilgi edinmek için bu bağlantıları ziyaret etmelisiniz. FYI, aradığımız bu şeyler var arama motorları hangi dizin bağlantıları zaten var. StackOverflow bir bağlantı toplama hizmeti olmaya çalışmıyor. İkinci cevap, başka bir sorunun cevabının (güzel), kısmen bağlantılarla kısmen cevaplandırılan başka bir soruya işaret etmesidir. Çürük, btw, cevapları işe yaramaz hale getiren bağlantılar. Tekrar ziyaret Meta yığın taşması SO'nun neden bu şekilde çalıştığını öğrenmek için. - Will
Ben de merak ediyorum ve bu soru tam olarak ben de SO üzerinde sormak istedim. Yeniden açabilir misin? - Jaro


Cevaplar:


Veri türüne ve kullanım şekline bağlı olarak, ya R-ağacı veya varyant (R *, R +) veya quadtree ya da belki bir kd-tree.


13
2018-01-02 03:28





Buna göre So soru:

Mevcut uygulama, coğrafi karma kodları standartın üzerine kodluyor   MongoDB B-ağaçları. $ Near sorgusunun sonuçları kesin. Bir sınırlama   Bu kodlama ile, hızlı iken, önek aramaları vermez   Kesin sonuçlar, özellikle bit flip alanları. MongoDB bunu çözdü   İlk önek taramasından sonra bir grid-komşu araması yaparak   herhangi bir straggler noktası yukarı. Bu genellikle performansı sağlar   Doğru sonuçlar verirken çok yüksek kalır.


3
2018-06-12 22:59