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.
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 les 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))'));
POINT DE Test(3, 4)
select AsText(polygongeo) from zone where MBRWithin(POLYGONFROMTEXT('POINT(3 4)'),polygongeo);
Sortie : POLYGONE((1 1,1 5,5 5,5 1,1 1))
représente point POINT(3, 4) Test POINT(6, 1)
dans la zone du polygone
select AsText(polygongeo) from zone where MBRWithin(POLYGONFROMTEXT('POINT(6 1)'),polygongeo);
Sortie : Vide
représente 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 aux coordonnées cartographiques, donc l'interrogation des coordonnées cartographiques peut être implémentée à l'aide de mongodb Référence : "Mongodb détermine. si les coordonnées se trouvent dans la zone de polygone spécifiée" Méthode dans 》
Cet article explique comment utiliser MySQL pour déterminer si un point se trouve dans une zone de polygone spécifiée. Pour plus de contenu connexe, veuillez prêter attention à le site Web PHP chinois.
Recommandations associées :
Utilisez imagemagick en php pour obtenir d'anciens effets photo
Comment calculer plusieurs ensembles via php connaissance du produit cartésien
Contenu associé de l'interface de partage développée par WeChat
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!