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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 11 June 2018 11:40

mad_sydela
Participant occasionnel
Date d'inscription: 17 Aug 2015
Messages: 31

QGIS 2.14: Fusion dynamique des entités sur un champ

Bonjour,

Je cherche, sous Qgis, à fusionner des entités dynamiquement en fonction d'un champ. En fait, j'ai un fichier avec des codes et je voudrai, dans l'optique de faire un atlas, fusionner les entités qui ont le même code. Mais comme mon fichier est mis à jour régulièrement, je souhaiterai que cette fusion soit dynamique et pas créer à chaque fois un nouveau fichier par le géotraitement Dissolve.
Comme c'est pour faire un atlas, peut être que la manip est possible via le générateur d'atlas.

Je vous remercie par avance pour votre aide, MAD

Hors ligne

 

#2 Mon 11 June 2018 14:45

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3947

Re: QGIS 2.14: Fusion dynamique des entités sur un champ

Bonjour,
il serait possible d'utiliser une couche virtuelle pour créer cette couche agrégée et l'utiliser comme couche de couverture de l'atlas. Quelque chose du genre

Code:

select monchampdefusion, st_union(geometry)
from macouche
group by monchampdefusion

Dernière modification par SANTANNA (Mon 11 June 2018 14:46)

Hors ligne

 

#3 Mon 11 June 2018 16:16

dominique.lys
Participant assidu
Date d'inscription: 5 Oct 2006
Messages: 473
Site web

Re: QGIS 2.14: Fusion dynamique des entités sur un champ

Bonjour,

Pour compléter la réponse de SANTANNA, si les performances des couches virtuelles QGIS ne sont pas à la hauteur des espérances (ce qui risque d'être le cas s'il y a beaucoup d'objet), le format VRT permets d’exécuter le code SQL au niveau du provider OGR ce qui s’avère bien plus efficace.

http://www.portailsig.org/content/ogr-q … s-virtuels


Autrement il faudra opter pour une base postgis ou spatialite

Hors ligne

 

#4 Tue 12 June 2018 16:30

mad_sydela
Participant occasionnel
Date d'inscription: 17 Aug 2015
Messages: 31

Re: QGIS 2.14: Fusion dynamique des entités sur un champ

Bonjour,

Merci pour vos réponses ... mais ça ne marche pas.

J'ai rentré la requête suivante :

Code:

select Code, st_union(geometry) as geom
from Troncons
group by Code

J'ai le message d'erreur suivant : Query preparation erreur on PRAGMA table_info(_tview)


Le champ Code est un champ virtuel calculé à partir d'autres champs présents en dur dans mon fichier. Est-ce que le souci pourrait venir de là (j'ai testé avec un champ en dur, ça fonctionne).

Un autre souci est que mon shape d'origine comprend un ç, et du coup ça ne fonctionne pas (j'ai effectué les tests précédents en remplaçant le ç par c).

Auriez-vous une solution à mes problèmes.

Merci d'avance pour votre aide,
Cdt,

Dernière modification par mad_sydela (Tue 12 June 2018 16:37)

Hors ligne

 

#5 Wed 13 June 2018 10:15

dominique.lys
Participant assidu
Date d'inscription: 5 Oct 2006
Messages: 473
Site web

Re: QGIS 2.14: Fusion dynamique des entités sur un champ

Bonjour,

Si ça ne fonctionne pas avec un champ virtuel, vous pouvez le calculer directement dans la requête. Pour la cédille il suffit de mettre le nom de la table ente guillemets.

Par exemple si votre code est le résultat de la concaténation de deux champs textuels vous pouvez écrire

Code:

SELECT field1|| '_' || field2 AS code, ST_UNION(geom) AS geom
FROM 'Tronçons'
GROUP BY code

Hors ligne

 

#6 Wed 13 June 2018 11:12

mad_sydela
Participant occasionnel
Date d'inscription: 17 Aug 2015
Messages: 31

Re: QGIS 2.14: Fusion dynamique des entités sur un champ

Super, ça fonctionne ... mais sur mon fichier qui est sans le ç.

Même en mettant le nom du fichier entre guillemet ou entre cote ça ne fonctionne pas !!

Mais c'est déjà super !!! Merci beaucoup pour votre aide.

Hors ligne

 

Pied de page des forums

Powered by FluxBB