Page 1 sur 1

Aide requête recherché la valeur la plus proche

Posté : 12 juin 2011, 16:47
par orage33
Bonjour,

Je voudrais effectuer une requête un peu plus complexe je vous explique.

Dans une table je possède toute les coordonnées des villes de France comme ceci :

Code : Tout sélectionner

LONG LAT 5.3588286 45.957781 4.9032127 45.9974646 5.6013809 45.7495376 5.3602467 46.0064627 5.3384684 45.9396055 5.654058 45.7937748
Et dans une autre table je possède d'autres coordonnées :

Code : Tout sélectionner

LONG LAT 358.124921 42.228272 358.191844 42.229503 358.25877 42.230694 358.325699 42.231845 358.39263 42.232955 358.459564 42.234025
Bon but est de trouvé les coordonnées la plus proche du point (la ville) que je recherche..

Est-ce qu'il existe une fonction qui peut me faire ça ? Ou si vous avez des idées comment procéder car j'ai beau tourné le problème dans tout les sens je n'y arrive pas..

Re: Aide requête recherché la valeur la plus proche

Posté : 12 juin 2011, 18:23
par devlop78
LOL

Je l'ai fait récemment pour une application de géolocalisation.

1 astuce : théorème de pythagore

Re: Aide requête recherché la valeur la plus proche

Posté : 12 juin 2011, 18:25
par devlop78
Bon alller ...

SELECT `id` FROM `lieux` ORDER BY SQRT(POW(lat-?,2)+POW(`long`-?,2)) ASC LIMIT 1;

Re: Aide requête recherché la valeur la plus proche

Posté : 12 juin 2011, 18:38
par orage33
Bon alller ...

SELECT `id` FROM `lieux` ORDER BY SQRT(POW(lat-?,2)+POW(`long`-?,2)) ASC LIMIT 1;
Ah ben je te remercie, car ça marche et moi qui me casse la tête depuis hier pour trouvé la formule :/

En tout cas cette requête est très efficace.

Merci à toi.