Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9860
Site web

Re: [PostGIS 1.3] Problème GeomUnion

wwave a écrit:

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: 1538

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

 

Pied de page des forums

Powered by FluxBB