2011-08-19 16 views
14

Şu anda bilinen konumlara en yakın bilinen yerleri hesaplamak için bir algoritma geliştirmeye çalışıyorum.Algoritma, enlem ve boylam temelinde en yakın konumu hesaplamak için

Bildiğim 100 bilinen konumların bir listesi var (yani hem uzun hem de enlemim var). Bunlardan 100 tane bir yer seçiyorum ve bu yeri seçtikten sonra bu listeye 8 tane en yakın bilinen yerleri göstermek için bir liste istiyorum.

Bunun için nasıl bir çözüm olabilir?

Düzenleme

Ben mesafeleri hesaplamak için nasıl aramıyorum. Mevcut konumlara en yakın bilinen konumların nasıl hesaplanacağını arıyorum.

Örnek:

listesi sinemalar 100 konumları içerir ki. Ben 5. tiyatrodayım ve listedeki diğer sinema salonlarının yakınlarda olduğunu öğrenmek istiyorum. Mesafe değil, yerleri.

+0

Konumuna göre lat/lon mu demek istediniz? – ScruffyDuck

cevap

16

Distance Matrix API var. Bu API, bazı verilen pozisyonlar arasındaki mesafeleri hesaplamanıza olanak tanır. senin "100 bilinen yerler", çoğunlukla aynı kalırsa, daha küçük gruplara bilinen yerleri bölümlemek ve yapısını korumak olabilir:

Bir haversine formula

+0

Linkler için teşekkürler, daha sonra işe yarayabilir, ancak şu anda mesafeleri nasıl hesaplayacağımı aramıyorum, hangi konumun akıma en yakın olduğunu bulmak için arıyorum. Öngörülerim sinemada 'Benim tiyatro'dayım ve diğer tiyatroların yakınınızda ne olduğunu bilmek istiyorum. Onlara mesafeler değil, konumları. – diceler

+0

Ama yine de sizin için bir çözüm;) “Benim tiyatro” noktanızı ve diğer 100 noktanızı almanız gerekiyor. Daha sonra tüm 100 mesafeyi hesaplayın ve en küçük olanı seçin. En yakın noktayı (en küçük distan) bulmak için tüm mesafeleri bilmelisiniz. – hsz

+1

Bir noktada, şu anki konumdan x'e _distance_'ın eşiğinizin ötesine geçip geçmediğine karar vermelisiniz ... – PLane

1

1 fikirle kendi tarafından da yapabilirsiniz. O zaman en yakın grupla oyna.

More mathematical approaches here

+0

ile aynı durumdayım.Çok küçük gruplar oluşturacağım ve en yakın ilk yeri hesaplamak için grup başına bir konum kullanacağım. – netsmertia

1

deneyin yakın komşu arama ile k-d ağaç algoritmasını uygulamak.

İlgili konular