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Ă© ?

#1 Mon 20 August 2012 20:50

Meley
Participant occasionnel
Date d'inscription: 28 Mar 2011
Messages: 15

Fusion de ligne via un GROUP BY

Bonjour,

J'ai un problĂšme similaire. Ma couche possĂšde :
    - un numĂ©ro de parcelle
    - un nom de propriĂ©taire
    - un titre de propriĂ©tĂ©

J'ai importé ma couche dans Postgres/PostGIS et je me retrouve donc avec une table ayant les champ suivants :
    - gid
    - numĂ©ro de parcelle
    - nom de propriĂ©taire
    - titre de propriĂ©tĂ©
    - the_geom

Sauf que lorsque j'essaie de supprimer les doublons grĂące Ă  la requĂȘte

CREATE TABLE nouvelle_table AS SELECT * FROM maTable GROUP BY num_parcelle

On me renvoie l'erreur qu'il faut que tous les champs soient présent dans la clause group by. Sauf que lorsque je le fais, les doublons ne sont pas supprimer ...
Comment puis-je faire svp ??

Merci de votre aide

Hors ligne

 

#2 Mon 20 August 2012 21:14

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

Re: Fusion de ligne via un GROUP BY

Bonsoir,

Code:

CREATE TABLE nouvelle_table AS SELECT num_parcelle, max(nom_proprio), max(titre_proprio), st_Union(the_geom) FROM maTable GROUP BY num_parcelle

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

 

#3 Mon 20 August 2012 21:40

Meley
Participant occasionnel
Date d'inscription: 28 Mar 2011
Messages: 15

Re: Fusion de ligne via un GROUP BY

Bonsoir et merci pour la réponse rapide.

Par contre, la requĂȘte ne fonctionne pas... Cela me renvoie l'erreur que st_Union n'est pas une fonction existante ...
Ou en tout cas qu'elle ne fonctionne pas sur un champ de type geometry.

Dernière modification par Meley (Mon 20 August 2012 21:41)

Hors ligne

 

#4 Tue 21 August 2012 10:36

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

Re: Fusion de ligne via un GROUP BY

Bonjour,

Bizarre comme message d'erreur car st_union est une fonction pour les géométries : conf http://www.postgis.org/docs/ST_Union.html

Bref, l'idée est d'utiliser des fonctions d'aggrégation pour dire à postgresql comment aggréger/fusionner les champs des différents lignes à fusionner via la clause GROUP BY.

Y.
PS : je déplace les messages sur le forum geoBD dans un nouveau sujet, plus à sa place.


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

 

Pied de page des forums

Copyright Association GeoRezo