Bonjour,

je travail sur une base de données géographique.
je souhaite insérer des données depuis une table vers une autre et je souhaite faire une union de la géometrie des lignes qui ont le même numéro.

j'ai une table "origine" :



et je veux ceci dans ma table "destination" :



ce que j'arrive à faire avec la requête suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
insert into destination (numero,nom_personne,surface,annee,the_geom)
select numero,nom_personne,sum(surface),annee,geomunion(the_geom)as the_geom 
from origine where numero ='27010596'group by numero,nom_personne,annee;
PROBLEME : j'aurais 749 "numéro" uniques non auto-incrémentés dans la table destination et 3840 ligne dans ma table origine. il faut a chaque fois changer le numéro (il n'y a pas de logique dans la succession des numéros).

dans une table avec juste deux colonnes (numero, the_geom),j'ai essayé ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
insert into destination (numero, the_geom)
select numero, geomunion(the_geom) as the_geom
from origine group by numero;
mais il me renvois :

NOTICE: TopologyException: side location conflict 447526 2.51253e+006

ERROR: GEOS union() threw an error!

********** Erreur **********

ERROR: GEOS union() threw an error!
État SQL :XX000

avez vous une solution pour automatiser cette insertion.

Un trigger, une moulinette ???

Merci d'avance,

cordialement,

Nicolas