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 :
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).
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;
dans une table avec juste deux colonnes (numero, the_geom),j'ai essayé ça:
mais il me renvois :
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;
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
Partager