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

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

jacklove
jackloveoriginal
2018-06-08 18:22:463902parcourir

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"

1. Créer 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 des 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 est dans la zone du polygone

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

Analyse de l'utilisation et des performances de open_basedir dans la configuration du répertoire d'inclusion de fichiers 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!

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