#1 Wed 05 November 2008 14:46
- wwave
- Participant occasionnel
- Lieu: Paris
- Date d'inscription: 21 Jul 2006
- Messages: 13
[PostGIS 1.3] Problème GeomUnion
Bonjour,
J'ai une table qui contient 2 multipolygons. Le srid est 4326. Toutes les géométries sont valides (retour de isvalid(the_geom) = t).
J'essaie de faire:
Code:
select geomunion(the_geom) from tableau_assemblage.vmap1
Et je reçois comme erreur :
ERROR: Operation on mixed SRID geometries
********** Erreur **********
ERROR: Operation on mixed SRID geometries
État SQL :XX000
Si j'essaie de faire la même chose mais en écrivant "en dur" l'union des géométries :
Code:
select astext(geomunion(geomfromtext('MULTIPOLYGON(((-32 3,-32 12,-6 12,-6 3,-32 3)))'),geomfromtext('MULTIPOLYGON(((-50 12,-50 21,-12 21,-12 12,-50 12)))')))
j'obtiens :
POLYGON((-32 3,-32 12,-50 12,-50 21,-12 21,-12 12,-6 12,-6 3,-32 3))
Ce que je comprends juste, c'est qu'il me crée un polygon et non un multipolygon : cela va me poser des problèmes de "trous" car j'ai d'autres tables avec des multipolygons dont je dois trouver l'union...
Quelqu'un pourrait il m'aider pour mes 2 problèmes (srid et geomunion donnant des trous).
Merci de votre aide.
WwAvE
Hors ligne
#2 Wed 05 November 2008 15:11
- Guillaume Sueur
- Participant assidu
- Lieu: Toulouse
- Date d'inscription: 23 Sep 2005
- Messages: 331
- Site web
Re: [PostGIS 1.3] Problème GeomUnion
tu n'aurais pas un enregistrement dont le srid ne serait pas déclaré ? Fais un SELECT distinct(srid(the_geom)) from ma_table et vois si ça ne remonte bien qu'une valeur égale à 4326.
Guillaume
Hors ligne
#3 Wed 05 November 2008 15:18
Re: [PostGIS 1.3] Problème GeomUnion
Bonjour,
[..]
Si j'essaie de faire la même chose mais en écrivant "en dur" l'union des géométries :Code:
select astext(geomunion(geomfromtext('MULTIPOLYGON(((-32 3,-32 12,-6 12,-6 3,-32 3)))'),geomfromtext('MULTIPOLYGON(((-50 12,-50 21,-12 21,-12 12,-50 12)))')))j'obtiens :
POLYGON((-32 3,-32 12,-50 12,-50 21,-12 21,-12 12,-6 12,-6 3,-32 3))
Ce que je comprends juste, c'est qu'il me crée un polygon et non un multipolygon : cela va me poser des problèmes de "trous" car j'ai d'autres tables avec des multipolygons dont je dois trouver l'union...
Quelqu'un pourrait il m'aider pour mes 2 problèmes (srid et geomunion donnant des trous).
Merci de votre aide.
WwAvE
L'union de deux polygones, même définie en tant que multipolygone, peuvent donner un polygone simple, il faudrait s'assurer que l'un des deux soit troué par exemple et que le résultat doit être un multipolygone. Dans le cas que tu donnes le résultat est un polygone composé des deux carrés accolés.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#4 Wed 05 November 2008 15:19
- wwave
- Participant occasionnel
- Lieu: Paris
- Date d'inscription: 21 Jul 2006
- Messages: 13
Re: [PostGIS 1.3] Problème GeomUnion
Bonjour Guillaume,
Je n'ai bien qu'une seule ligne en retour ayant pour valeur 4326...
WwAvE
Hors ligne
#5 Fri 21 November 2008 15:31
- wwave
- Participant occasionnel
- Lieu: Paris
- Date d'inscription: 21 Jul 2006
- Messages: 13
Re: [PostGIS 1.3] Problème GeomUnion
J'ai trouvé !! (et toute seule !!)
Il faut utiliser la fonction memgeomunion et pas geomunion !
Merci et A+
WwAvE
Hors ligne
#6 Fri 21 November 2008 19:14
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: [PostGIS 1.3] Problème GeomUnion
Bonsoir, j'ai lu un peu rapidement, mais si le but est de faire
l'union de geometries, memgeomunion, et geomunion font la meme chose,
une etant plus "memory friendly", comme indiqué dans la doc.
ces unions prennent en compte les trous (si les polygones de depart en ont).
Si les polygones sont disjoints, l'union entraine un multipolygone
Si les polygone se touchent ou se recouvrent, ils sont "fusionnés" en
un seul, les trous etant conservés.
Nicolas
Hors ligne