Utiliser les extensions spatiales MySQL pour sélectionner des points dans le cercle

J'ai une table appelée flags qui contient une colonne appelée coordinates qui est plein de MySQL 'points'. J'ai besoin d'effectuer une requête où je reçois tous les drapeaux à l'intérieur d'un cercle pour la latitude et la longitude de la position avec rayon de 100 m.

À partir de l'utilisation de point de vue est basé autour de la position de l'utilisateur. Par exemple, le téléphone mobile serait de donner à l'utilisateur la latitude et longitude de la position et de le passer à cette partie de l'API. C'est ensuite à l'API pour créer un cercle invisible autour de l'utilisateur avec un rayon de 100 mètres, puis les retourner et les indicateurs qui sont dans ce cercle.

C'est cette partie de l'API, je ne suis pas sûr de savoir comment créer comme je ne suis pas sûr comment utiliser SQL pour créer ce cercle invisible et sélectionnez les points de seul au sein de ce rayon.

Est-ce possible? Est-il un MySQL fonction spatiale qui va m'aider à faire cela?

Je crois que le Buffer() fonction peut le faire, mais je ne trouve pas de documentation quant à la façon de l'utiliser (par exemple, exemple SQL). Idéalement, j'ai besoin d'une réponse qui me montre comment utiliser cette fonction, ou le plus proche d'elle. Là où je suis le stockage de ces coordonnées géospatiales points que je devrais utiliser un géospatiales fonction pour faire ce que je demande, afin de maximiser l'efficacité.

Drapeaux de table:

  • id
  • coordonnées
  • nom

Exemple de ligne:

1 | [GÉOMÉTRIE - 25B] | Tenacy AB

Pour les drapeaux de table, j'ai la latitude, la longitude positions et l'ordonnée et l'abscisse (UTM)

La localisation de l'utilisateur est tout simplement norme latitude/longitude, mais j'ai une bibliothèque qui peut conver cette position UTM

source d'informationauteur jskidd3