Maison > Article > base de données > Comment déterminer si un point se trouve dans une zone de polygone spécifiée via MySQL
Cet article présentera la méthode d'utilisation de MySQL pour déterminer si un point se trouve dans une zone de polygone spécifiée et fournira un processus complet.
Tutoriels vidéo MySQL associés recommandés : "Tutoriel MySQL"
CREATE TABLE `zone` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `polygongeo` polygon NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MYISAM DEFAULT CHARSET=utf8;
Remarque : les index spatiaux ne peuvent être créés que dans des tables dont le moteur de stockage est MYISAM
insert into zone(polygongeo) values(POLYGONFROMTEXT('POLYGON((1 1,1 5,5 5,5 1,1 1))'));
Test POINT(3, 4)
select AsText(polygongeo) from zone where MBRWithin(POLYGONFROMTEXT('POINT(3 4)'),polygongeo);
Sortie : POLYGON( (1 1,1 5,5 5,5 1,1 1))
représente le point POINT(3, 4) dans la zone du polygone
tests POINT(6, 1)
select AsText(polygongeo) from zone where MBRWithin(POLYGONFROMTEXT('POINT(6 1)'),polygongeo);
Sortie : vide
indique le point POINT(6, 1) en dehors de la zone du polygone
Résumé : la requête spatiale mysql n'est pas très adaptée pour les coordonnées de la carte, l'interrogation des coordonnées de la carte peut donc être implémentée à l'aide de mongodb. Référence : "Méthode Mongodb pour déterminer si les coordonnées se trouvent dans une zone de polygone spécifiée"
Cet article explique comment déterminer si un point se trouve dans une zone de polygone spécifiée. une zone de polygone spécifiée via MySQL et plus de contenu connexe. Veuillez faire attention au site Web chinois php.
Recommandations associées :
Comment appeler php imagemagick pour obtenir d'anciens effets photo
Explication sur le calcul du produit cartésien de plusieurs ensembles dans PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!