OVH Community, votre nouvel espace communautaire.

Besoin d'aide pour un script


are-no
25/04/2006, 22h31
Salut tout le monde,

Voilà mon problème, dans une base de donnée MySQL, j'ai plusieur ville avec leur longitude et latitude sous le format 01°45'12''E

L'utilisateur choisi une des villes en référence, effectu une requete dans la base de donnée et je voudrai que les resultat qu'il obtienne soit trié par distance de la ville d'origine (celle qu'il a choisi) aux autre ville contenu dans les resultat.

pour ce qu'y est du calcule de la distance entre 2 coordonées géographique j'ai trouvé :

Code:
$distance = 6366 * acos(cos(deg2rad($lat_a)) * cos(deg2rad($lat_b)) * cos(deg2rad($long_b)-deg2rad($long_a))+sin(deg2rad($lat_a)) * sin(deg2rad($lat_b)));
les longitudes et latitude doivent etre en degré décimal donc :

Code:
$long_a = strtok('01°32\\'44"E', '°') + (strtok('\'')/60) + (strtok('"')/3600);
$lat_a  = strtok('49°36\\'48"N', '°') + (strtok('\'')/60) + (strtok('"')/3600);
$long_b = strtok('01°26\\'29"E', '°') + (strtok('\'')/60) + (strtok('"')/3600);
$lat_b  = strtok('49°44\\'05"N', '°') + (strtok('\'')/60) + (strtok('"')/3600);
ma question est : pui'je créer un tri directement dans ma requete sql (bien que j'ai pas trouvé comment traduire mes degré DMS en degré décimal en sql) soit d'abort fair une requete simple avec MySQL et ensuite faire le tri avec PHP (mais là je suis un peut perdu)

Bah merci d'avance si quelqu'un peu m'aider car j'en est bien besoin.