Message posté par : image95
----------------------------------------
Bonjour,
Suite à mon précédent message, 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_manual/processing_algs/qgis/vectoro…
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.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=373658#p373658
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net