Soru & Cevap

Haritalarda yakınındaki kişileri bulma. ...

25.02.2014 - 11:17

Merhaba ben bir uygulama yazıyorum ve coordinatlarını aldığım kullaıcıların meselaki 38.42504 , 27.188418 koordinatlarım bunlar ve sistemde 1 milyon üye olduğunu varsayalım ben bana yakın olan 100 kullanıcıyı tespit etmek istiyorum giriş yapan kişilerin koordinatı ile diğer bir milyon arasında arama yaparak en yakın 100 kullanıcıyı bulmak istiyorum bunun için nasıl bir yol izlememi önerirsiniz ?

135 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-4271-1380316299.jpg
MuratSisman
16.04.2014 - 06:55

select * from users where (userLat>$lat-0.01 and userLat<$lat+0.1) and (userLon>$lon-0.01 and userLon<$lon+0.1) order by userId DESC LIMIT 100

picture-3537-1379713399.jpg
ertucaglar
26.02.2014 - 03:58

Aynı konuda benim de bir öneriye ihtiyacım var, ancak, hiç fikrin yok ise şunu yap. Datalarına bir kolon ekle, şehir veya mahalle gibi, veya posta kodu. GPS ile aldığın konumu geo-fence bilgisine çevir, orada illaki mahalle veya posta kodu bulursun, sorgulama parametresi olarak da bu posta kodunu gönderirsen, sorgulamayı milyonlarca kayıt arasında değil de sadece o posta koduna dahil olan kayıtlar içinde yaparsın, kayıtlar geldikten sonra da, iki konum arası mesafeyi hesaplar, eğer 100 mt altındaysa başka bir tabloya atarsın, değilse atmazsın. 

Bu dediklerimi, SQL ve C# ile kolayca yapabilirsin.