#1 Mon 01 August 2022 10:02
- alix71000
- Juste Inscrit !
- Date d'inscription: 31 Mar 2022
- Messages: 8
QGIS 3.22.4: Geotraitement Union multiple ?
Bonjour à toutes et à tous,
Après de longues recherches sur internet, le forum, le github de la communauté QGIS etc. je n'ai toujours pas trouvé de solutions, c'est pourquoi je vous écris ce post aujourd'hui.
Voici mon problème :
Je travaille sur ce qu'on peut appeler un historique de l'occupation des sols agricoles à l'aide de 10 couches d'occupation des sols (de 1952 jusqu'à 2020).
Mon objectif serait de pourvoir travailler cet historique sur une seule couche regroupant toutes les années que j'ai à disposition, pour pouvoir par la suite effectuer des analyses, calculs…
J'ai testé plusieurs approches :
- Fusionner les couches vecteurs : mais ce traitement superpose l'information et les géométries ;
- Unions "hiérarchiques" : faire des unions couche par couche (1952 avec 1981, puis le résultat avec 1999 etc.) mais cela génère des erreurs de géométries ;
- Fusionner les couches puis union de la couche fusionner (ne pas mettre de couche de superposition dans les paramètres) : génère une erreur du type "Erreur de géotraitement GEOS: l'intersection a échoué" ;
- Grouper : mais cela supprime les entités et les géométries uniques or je souhaite absolument les garder pour les calculs ;
- Passer sur ArcGIS : il existe un géotraitement "Agrégé" qui est similaire à l'Union de QGIS mais à une différence près, il permet de faire l'union entre plusieurs couches tandis que sur QGIS cela se limite à une couche source et une seule couche de superposition.
Pour le moment j'ai gardé la méthode d'utiliser ArcGIS pour ce travail mais cela me chagrine dans le sens où je souhaiterais privilégier l'utilisation de logiciels libres tels que QGIS pour cette étude.
Si vous connaissez des astuces, des outils, des plugins peu importe, je vous en remercie d'avance et serais ravie de pouvoir les essayer afin de sortir de l'impasse !
PS : je travaille sur QGIS 3.22.4
Alix
Hors ligne
#2 Mon 01 August 2022 10:35
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: QGIS 3.22.4: Geotraitement Union multiple ?
Bonjour,
A tester car je n'ai pas fait ca depuis longtemps :
- Fusionner les couches vecteurs . Les polygones se superposent dans une seule et même couche.
- renommer éventuellement les noms des attributs pour bien distinguer chaque année de l'ocsol
- utiliser, via la boite à outils de traitements, l'outil v.clean de Grass. Cet outil ne sert peut-être pas à ca à la base mais il me semble que ca peut fonctionner aussi dans ce cas et que c'est plutôt efficace.
Merci du retour,
Pascal PLUVINET
Hors ligne
#3 Mon 01 August 2022 10:59
- alix71000
- Juste Inscrit !
- Date d'inscription: 31 Mar 2022
- Messages: 8
Re: QGIS 3.22.4: Geotraitement Union multiple ?
- utiliser, via la boite à outils de traitements, l'outil v.clean de Grass. Cet outil ne sert peut-être pas à ca à la base mais il me semble que ca peut fonctionner aussi dans ce cas et que c'est plutôt efficace.
Bonjour Pascal !
Merci pour votre message, j'essaye de faire ce que vous proposez.
Je ne sais pas trop quel outil dans v.clean cocher mais pour le moment j'ai choisi "rmdupl" qui supprime les entités géométriques en double (https://grass.osgeo.org/grass82/manuals/v.clean.html). Ca charge, je vous tiens au courant des résultats ! Je testerai aussi les autres outils, je pense notamment à bpol ou break.
Dernière modification par alix71000 (Mon 01 August 2022 10:59)
Hors ligne
#4 Mon 01 August 2022 12:10
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: QGIS 3.22.4: Geotraitement Union multiple ?
"break" devrait suffire non ?
Pascal PLUVINET
Hors ligne
#5 Mon 01 August 2022 15:11
- alix71000
- Juste Inscrit !
- Date d'inscription: 31 Mar 2022
- Messages: 8
Re: QGIS 3.22.4: Geotraitement Union multiple ?
"break" devrait suffire non ?
Peut-être, j'essaye mais depuis ce matin le traitement tourne...alors je ne sais pas si cela vient du pc (windows 10, i5, 8 Go de ram), de QGIS (j'ai même essayé avec QGIS 3.16.5 with GRASS), ou de la donnée
Hors ligne
#6 Mon 01 August 2022 16:53
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: QGIS 3.22.4: Geotraitement Union multiple ?
Je serai toi, j'essayera d'abord sur une partie du territoire pour réduire le jeu le jeu de donnée. Peut-être aussi, jouer avec les tolérances ou simplifier géométriquement quelque peu la donnée avant le v.clean
Pascal PLUVINET
Hors ligne
#7 Tue 02 August 2022 11:01
- alix71000
- Juste Inscrit !
- Date d'inscription: 31 Mar 2022
- Messages: 8
Re: QGIS 3.22.4: Geotraitement Union multiple ?
Je serai toi, j'essayera d'abord sur une partie du territoire pour réduire le jeu le jeu de donnée. Peut-être aussi, jouer avec les tolérances ou simplifier géométriquement quelque peu la donnée avant le v.clean
Bonjour !
J'ai suivi vos conseils en ne prenant qu'un petit morceau de la donnée initiale et bingo le traitement (ici, break) tourne plus vite.
Avec le vérificateur de topologie effectivement aucunes entités ne se superposent !
Par contre ce que je ne comprends pas, c'est qu'il démultiplie le nombre d'entité. La couche de base en comptait 384 et la couche cleaned en compte 36 420 !
En fait je crois que l'outil découpe les polygones dès qu'il y a un croisement mais il ne les unit pas. En sélectionnant un polygone cleaned, le champ de la colonne 1952 par exemple est recensé, mais je m'aperçois que les autres colonnes associées aux autres années sont NULL, or il y a une superposition initialement sur la couche pré-traitement. Du coup je ne pense pas que ce soit la bonne option pour ce que je recherche.
(Sinon, pour les personnes à qui ça arriverait et dont le traitement correspondrait à vos attentes :
Au début le résultat ne donnait rien...j'obtenais une couche cleaned vide et un tableau errors vide aussi. De plus, dans le journal de l'algorithme il y était affiché "ERROR 1: Wrong field type for fid" en rouge.
Je ne voyais pas ce qui posait problème, les identifiants fid étaient tous uniques. Mais après réflexion j'avais entendu dire que les identifiants provenant de couche geopackage pouvaient générer des erreurs. J'ai alors supprimé la colonne fid, relancé le traitement et ça a fonctionné)
Hors ligne
#8 Tue 02 August 2022 14:52
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: QGIS 3.22.4: Geotraitement Union multiple ?
Il faudrait peut-être encore un post-traitement ! Pas bien concluant comme méthode ! Désolé pour la mauvaise piste !
Pascal PLUVINET
Hors ligne