Nouveau WRInaute
Bonjour à tous,
Je géolocalise des données d'un site selon le code postal du lieu où elles se trouvent.
J'ai en parallèle une table avec les villes corrspondantes ainsi que leurs coordonnées GPS...
Je voudrais pouvoir effectuer une recherche sur ces données en spécifiant un code postal ainsi qu'un rayon.
Je pense que pour simplifier et pour pouvoir le faire d'une requête SQL, il faudra que je restreigne en fait au carré donc le cercle est inscrit dedans (lattitudes et longitudes comprises entre 2 bornes).
Mon problème c'est pour trouver ces valeurs de bornes!
J'ai bien le calcul suivant qui me donne la distance entre 2 points. Mais moi j'ai un point et un rayon et je ne m'en sors pas...
avec
d distance entre les 2 points
R rayon de la Terre
x1 lattitude en radians du 1er point
x1 lattitude en radians du 2eme point
y1 longitude en radians du 1er point
y1 longitude en radians du 2eme point
Je géolocalise des données d'un site selon le code postal du lieu où elles se trouvent.
J'ai en parallèle une table avec les villes corrspondantes ainsi que leurs coordonnées GPS...
Je voudrais pouvoir effectuer une recherche sur ces données en spécifiant un code postal ainsi qu'un rayon.
Je pense que pour simplifier et pour pouvoir le faire d'une requête SQL, il faudra que je restreigne en fait au carré donc le cercle est inscrit dedans (lattitudes et longitudes comprises entre 2 bornes).
Mon problème c'est pour trouver ces valeurs de bornes!
J'ai bien le calcul suivant qui me donne la distance entre 2 points. Mais moi j'ai un point et un rayon et je ne m'en sors pas...
Code:
d = R * (pi/2 - asin ( sin x1 * sin x2 + cos ( y1 - y2 ) * cos x1 * cos x2 ))
avec
d distance entre les 2 points
R rayon de la Terre
x1 lattitude en radians du 1er point
x1 lattitude en radians du 2eme point
y1 longitude en radians du 1er point
y1 longitude en radians du 2eme point