Problème avec MBRCCONTAINS
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:
Code:
1 2 3
| SELECT AsText(`SHAPE`),AREA(`SHAPE`),`nom_com`
FROM `villes`
WHERE MBRCONTAINS( `SHAPE` , GeomFromText( 'Point( 2.72502 48.461851)' ) ) |
'SHAPE' contients tous les polygones des villes françaises.
Le souci est que mysql me retourne deux villes ce qui n'est pas possible logiquement:
http://img337.imageshack.us/img337/6...nstitretzz.png
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:
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); |
http://img444.imageshack.us/img444/3938/sanstitreht.png
D'avance merci de votre aide.