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

SIG 2025

#1 Mon 07 July 2025 11:18

image95
Participant assidu
Date d'inscription: 6 Sep 2014
Messages: 295

QGIS: Union Multiple (25 couches polygonales)

Bonjour,
Suite à mon précédent message :
https://georezo.net/forum/viewtopic.php?id=135748  ,

je me permets d'en rédiger un nouveau afin de préciser/clarifier mon besoin. Merci aux personnes qui avaient pris le temps de me répondre. Grace à elles, j'ai pu avoir des premiers éléments de réponse.
Je travaille avec qgis et postgis. En entrée, j'ai 25 couches polygonales sur un grand territoire(intercommunalité). Dont une donnée très volumineuse (1 million d'objets). Les 24 autres sont beaucoup plus légères (au maximum une centaines d'objets).
Pour information, je précise que certaines de ces données polygonales sont en mode "entités multi parties" et d'autre en mode "morceaux/entités mono parties". J'imagine que celà peut avoir in fine une petite incidence sur la méthode/résultat.
Ces 25 fichiers .shp polygonaux ont des structures de données très variables, non homogènes/non harmonisées. Chaque couche a un champ "data_id" qui permet de définir pour chaque entité son appartenance à la couche. Par exemple, toutes valeurs du champ "data_id" de la première couche sont de valeur '1'. Pour la 2ème couche, les valeurs du champ sont '2', etc.

Mon objectif serait de pouvoir m'inspirer du moins en partie du geotraitement existant Qgis nommé Union multiple :
https://docs.qgis.org/3.40/fr/docs/user … n-multiple
Je colle une capture écran de la doc Qgis.

Mon but est d'avoir in fine un fichier:

- qui serait le résultat des croisements des 25 données d'entrée. Pour reprendre les termes de la doc qgis, que le traitement vérifie les chevauchements entre les entités au sein des 25 couches et crée des entités distinctes pour les parties qui se chevauchent et qui ne se chevauchent pas.
Ce geotraitement "union multiple" me convient pour les parties où il n'y pas de chevauchement (a, NULL ; b, NULL; c, NULL).
Pour les parties où il y a un chevauchement, le géotraitement union qgis créées autant d’entités de chevauchement identiques qu’il y a d’entités qui participent à ce chevauchement. En soi celà ne me dérange pas. Mais vu qu'in fine J'aimerais que dans le fichier résultat, un champ puisse permettre, pour chaque entité, de récupérer la liste des couches d'entrée qui participent/contribuent à cette entité résultat (Dans un but de récupérer l'origine/la source des données). Je me disais qu'il serait peut être préférable qu'il y ait qu'une seule entité créée par zone de chevauchement ?

- J'aimerais que dans le fichier résultat, un champ puisse permettre, pour chaque entité, de récupérer la liste des couches d'entrée qui participent/contribuent à cette entité résultat. Dans un but de récupérer l'origine/la source des données.

- Idéalement, un champ qui permette de récupérer le nombre (COUNT) de couches qui participent à cette entité  (a minima 1 couche, au max 25 couches)

-Concernant cette fois la partie attributs/champ non géométrique, j'aimerais pouvoir spécifier la sélection/définir la liste champs que je souhaite vouloir conserver in fine. Je ne souhaite pas conserver la totalité, une partie des champs pour chacune des 25 couches d'entrée.

J'espère être suffisamment clair. J'imagine que cela n'est pas si facile.
J'imagine qu'il est recommandé de faire ce traitement sous postgis plutot que qgis ? Je peux si besoin importer mes 25 fichiers shp dans un bdd postgis. J'imagine aussi qu'il est important d'avoir à l'esprit que le mode "entités multi parties" /  "morceaux/entités mono parties"
des couches d'entrée peut influer sur le résultat. Si je pars sur une requête postgis, je me disais qu'il aurait pu être intéressant de forcer le fait que toutes les entités soient en mode mono parties (avec la fonction postgis 'st_dump' ?).

Si une personne pense pouvoir m'aider? Un grand merci.

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo