Calculer la distance entre deux coordonnées n'est pas si difficile compte tenu de la formule haversine.
SELECT
-- stuff here
, ( 6371000 * acos( cos( radians(45.815005) ) * cos( radians( stuff.lat ) ) * cos( radians( stuff.lng ) - radians(15.978501) ) + sin( radians(45.815005) ) * sin(radians(stuff.lat)) ) ) AS distance
FROM
stuff
HAVING
distance < 500
Modifications nécessaires par rapport à la réponse d'origine :
-
La constante proposée dans la réponse d'origine fournissait les valeurs en miles ou en kilomètres. J'ai changé la constante ici pour travailler avec les compteurs.
-
Les constantes ont changé pour utiliser vos coordonnées. Vous voudrez peut-être adapter un peu plus la requête pour créer ces paramètres au lieu de constantes.
-
Le
having
expression a un peu changé pour refléter votre désir de 500 mètres. Encore une fois, cela peut être quelque chose que vous souhaitez paramétrer.