MariaDB : requêtes géolocalisées dans un rayon donné


Création de la table

La table doit contenir un champ de type POINT :

CREATE TABLE t (coordinates POINT);

Insertion de valeurs

Les valeurs doivent être insérées de manière à être reconnues comme coordonées géographiques de latitude X et de longitude Y :

INSERT INTO t VALUES (ST_GEOMFROMTEXT('POINT(Y X)'));

Calcul de la distance désirée

A partir d’un point de coordonnées A;B et dans un rayon d R mètres :

SELECT * FROM t WHERE ST_DISTANCE_SPHERE(coordinates, ST_GEOMFROMTEXT('POINT(B A'))<R;