Bonjour,
J'ai un souci avec la fonction MBRCONTAINS.
J'ai des polygones dans ma base de donnée pour chaque ville française.
Je voudrais savoir dans quelle ville se trouve un point.
Voici un exemple de ma requete mysql:
'SHAPE' contients tous les polygones des villes françaises.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT AsText(`SHAPE`),AREA(`SHAPE`),`nom_com` FROM `villes` WHERE MBRCONTAINS( `SHAPE` , GeomFromText( 'Point( 2.72502 48.461851)' ) )
Le souci est que mysql me retourne deux villes ce qui n'est pas possible logiquement:
Y'a t il une autre fonction pour trouver dans quel polygone est un point?
Je cherche aussi à trouver un point dans des multipolygones.
Le souci est que pour les multipolygones, à priori, la fonction retourne 1, alors que le point peut ne pas être à l'intérieur d'un des deux polygones:
Exemple ou la fonction retourne 1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 set @mpoly = GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)), ((6 6, 6 11, 11 11, 11 6, 6 6)))'); set @pnt = GeomFromText('POINT(5 10)'); SELECT MBRContains(@mpoly, @pnt);
D'avance merci de votre aide.
Partager