Maison  >  Article  >  base de données  >  Utilisez MySQL pour déterminer si un point se trouve dans une zone de polygone spécifiée

Utilisez MySQL pour déterminer si un point se trouve dans une zone de polygone spécifiée

jacklove
jackloveoriginal
2018-06-20 17:01:452591parcourir

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.

1. Créez une table de test

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

2. Insérer des données polygonales

insert into zone(polygongeo) values(POLYGONFROMTEXT('POLYGON((1 1,1 5,5 5,5 1,1 1))'));

3. Déterminez si le point se trouve dans la zone du polygone

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Requête déverrouillableArticle suivant:Requête déverrouillable