#1 Tue 09 November 2021 17:54
- Jean BAISEZ
- Participant occasionnel
- Date d'inscription: 8 Jan 2019
- Messages: 13
QGIS 3.4: Fusionner des lignes
Bonjour,
J'ai au sein d'une même couche de type ligne, plusieurs entités qui se touchent, je voudrais pouvoir regrouper les entités qui se touchent de manière automatique (sans avoir à les sélectionner) et sans passer par les attributs, juste par le fait qu'elles s’intersecte. L'outil "Fusionner les lignes" semblerait convenir, cependant je n'arrive pas à le faire fonctionner (les lignes ne se fusionne pas). Le but étant de trouver une solution qui pourra être intégré à un traitement dans le modeleur graphique.
Merci par avance pour votre aide, JeanB
Hors ligne
#2 Tue 09 November 2021 18:24
- etienne67
- Juste Inscrit !
- Date d'inscription: 4 Aug 2016
- Messages: 4
Re: QGIS 3.4: Fusionner des lignes
Bonjour,
L'outil 'Fusionner les lignes' fusionne les parties d'un objet multi-partie. Il ne fonctionne pas pour fusionner des objets différents.
Dans votre cas, il faudrait préférer l'outil 'Regrouper'. Mais cet outil va créer un seul objet final composé de plusieurs parties si les lignes sont séparées.
Donc ensuite pour séparer les parties indépendantes en plusieurs objets, il faut utiliser la fonction 'De morceaux multiples à morceaux uniques' sur le résultat du regroupement.
Hors ligne
#3 Wed 10 November 2021 09:41
- Jean BAISEZ
- Participant occasionnel
- Date d'inscription: 8 Jan 2019
- Messages: 13
Re: QGIS 3.4: Fusionner des lignes
Bonjour,
Merci pour votre réponse
Je n'arrive pas à faire fonctionner l'outil "Fusionner les lignes", même pour fusionner les parties d'un objet multiparties, il n'y a absolument aucun changement (topologique ou même dans la définition de la géométrie dans les propriétés de la couche).
A la base il s'agit d'un seul objet multiparties que j'explose avec "Exploser des lignes" ou v.clean break, car je pensais qu'il serait plus simple ensuite de regrouper les entités qui s’intersectent.
J'ai déjà essayé de re-regrouper avec "Regrouper" pour ensuite utiliser "De morceaux multiples à morceaux uniques" mais cela ne fais que repasser la couche en MultiLineString avec une entité, pour ensuite la rediviser en plusieurs LineString (toujours pas fusionnées pour celle qui s'intersectent).
J'ai trouvé ce post qui semble correspondre à ce que je souhaite faire mais je n'arrive pas à exécuter le programme
https://gis.stackexchange.com/questions … gis/198329
ni celui mise a jour ici : https://gist.github.com/agiudiceandrea/ … 4314c0e482
je ne sais pas vraiment comment faire à vrai dire.
Et je ne sais pas s'il est possible de d'intégrer ce genre de programme au sein d'un traitement du Modeleur Graphique.
J'ai également installé le plugin "Join Multiple Lines" https://plugins.qgis.org/plugins/joinmultiplelines/, il fonctionne parfaitement, mais il est nécessaire de sélectionner les lignes à fusionner et de cliquer sur le bouton du plugin pour les fusionner (impossible de l'utiliser dans un traitement d'automatisation dans le Modeleur Graphique).
Existe-t-il un outil QGIS capable de reproduire ce type de fusion ?
Merci par avance
Hors ligne
#4 Wed 10 November 2021 09:52
- aheurion
- Participant actif
- Lieu: NANTES
- Date d'inscription: 8 Oct 2020
- Messages: 141
Re: QGIS 3.4: Fusionner des lignes
Bonjour,
Si les lignes s'intersectent mais ne sont pas "bout à bout" très exactement je pense que QGIS les considérera toujours comme plusieurs parties (une entité ligne ne peux pas se diviser en Y ou en +). Si les extrémités sont très proches tu peux utiliser "Accrocher les géométries" en accrochant la couche de lignes à elle-même avec une petite tolérance : ça va déplacer les extrémité des lignes pour qu'elles se touchent correctement.
Hors ligne
#5 Wed 10 November 2021 12:34
- Jean BAISEZ
- Participant occasionnel
- Date d'inscription: 8 Jan 2019
- Messages: 13
Re: QGIS 3.4: Fusionner des lignes
Merci pour cette réponse,
Je ne connaissais pas l'outil "Accrocher les géométries", il semble fonctionner de la même manière que le snap de v.clean (GRASS), mais avec la possibilité de choisir deux couches en entrée.
Voici une illustration, les lignes sont bien bout à bout et ne parte pas dans plusieurs direction. Les lignes sont vraiment en continuité : le nœud de fin de la ligne 1 a les même coordonnées (exactement) que le nœud de début de la ligne 2, et ainsi de suite...
Les lignes se touche donc déjà, mais j'aimerais faire en sorte qu'elle ne forme plus qu'une entité (pour celles qui se touchent).
Hors ligne
#6 Mon 15 November 2021 09:19
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 996
Re: QGIS 3.4: Fusionner des lignes
Bonjour,
Avez-vous essayer l'algorithme 'Merge lines in direction', 'agregation' ou 'dissolve' ?
Hors ligne
#7 Tue 16 November 2021 08:38
- Jean BAISEZ
- Participant occasionnel
- Date d'inscription: 8 Jan 2019
- Messages: 13
Re: QGIS 3.4: Fusionner des lignes
Bonjour,
Je ne trouve pas l'algorithme 'Merge lines in direction', est-il issue d'un plugin ?
L'algorithme 'dissolve' correspond a 'Regrouper' en français ? Si oui je l'ai déjà testé et il regroupe toutes les lignes, pas seulement celles qui se touchent. A moins de lui préciser un ou des champs de regroupement. il faudrait donc créer un champ et remplir pour chaque ligne une valeur permettant de les regrouper en fonction de si elles s'intersectent, mais je ne vois pas quel valeur prendre.
Agrégation pourrait aussi fonctionner mais il faudrait lui préciser une expression de regroupement permettant de rassembler les lignes qui s'intersectent.
Hors ligne
#8 Tue 16 November 2021 09:16
- Jean BAISEZ
- Participant occasionnel
- Date d'inscription: 8 Jan 2019
- Messages: 13
Re: QGIS 3.4: Fusionner des lignes
Je pense avoir trouvé une solution :
1 - regrouper toutes les lignes en une seul entité multipartie
2 - buffer autour de cette entité
3 - morceaux multiple vers unique sur le buffer multipartie
4 - morceaux multiple vers unique sur les lignes (on reprendre la couche de depart)
5 - ajouter un $id ou @row_number dans la tables des buffers
6 - joindre par localisation l'id des buffers au lignes qui les intersectent
7 - regrouper les lignes en fonction de l'id_buffer
ça marche dans un utilisation normal de QGIS, mais je n'arrive pas à le faire fonctionner avec le modeleur graphique car je n'arrive pas à utiliser la calculatrice de champs pour $id ou @row_number, ça me met des 1 pour chaque lignes... Quelqu’un a une idée ?
Hors ligne
#9 Tue 16 November 2021 09:34
- Jean BAISEZ
- Participant occasionnel
- Date d'inscription: 8 Jan 2019
- Messages: 13
Re: QGIS 3.4: Fusionner des lignes
Finalement j'avais simplement réalisé l’étape 5 avant la 3 ^^
Ça marche parfaitement
Merci pour tous les conseils !
Hors ligne
#10 Tue 16 November 2021 09:36
- Giene
- Participant actif
- Date d'inscription: 1 Dec 2018
- Messages: 75
Re: QGIS 3.4: Fusionner des lignes
Bonjour,
En m'y prenant ainsi (voir image PJ), via le modeleur graphique, je peux bel et bien avoir des identifiants reprenant les numéros de lignes.
Êtes-vous sur de vous y prendre ainsi ?
Autrement, je ne saurais trop quoi dire.
EDIT : Tant mieux !
Bonne journée !
Dernière modification par Giene (Tue 16 November 2021 09:36)
Hors ligne