Calculer distance minimal entre une position lat,lng et un tableau de lat lng

dylpaco - 31 mai 2013 à 22:55
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 - 2 juin 2013 à 21:02
Bonjour tout le monde c paco:
je voudrais calculer une distance minimal entre une position lat lng

et une table(latlng) en BDD et afficher la la cordonnées la plus proche de ma position
1) recuperer ma position actuelle
$x=lat
$y=lng
2) parcourir ma table position qui contient des cordonnées et la metre dans un tableau latlng[$i][$i]
3)
calculer la distance avec tous les elements du tableau
$d=sqrt((pow($x- latlng[$i][0]),2)+(pow($x- latlng[0][$i]),2)):

4)
afficher la distance minimal min ($d)
afficher la cordonnées la plus proche


merci

1 réponse

BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
2 juin 2013 à 21:02
Hello,

As-tu fait une petite recherche sur notre bon vieux pote Google avant de poster ?

A l'époque quand j'avais eu le même type de problématique à traiter (soit calculer la distance entre deux paires de coordonnées) j'avais trouvé ceci :

Calculer la distance entre deux paires de coordonnées

Ca fonctionne au poil, il te faut dorénavant intégrer la fonction à ton application. Avec une requête SQL je ne sais pas comment il faudrait faire, du moins si : il faudrait probablement créer une fonction SQL propre à cet usage. Par conséquent il te faudra récupérer toutes les paires de coordonnées de ta table et les comparer aux coordonnées ciblées à l'aide de la fonction (un petit tri préalable s'imposera donc suivant le nombre de coordonnées que contient ta table).

A+

BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;
0
Rejoignez-nous