<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">Hi,<div>Thanks for the tip.  I will play with the aggregate function. </div><div><br></div><div> My goal is not to used the snap as I am trying to identify groups of connected lines in order to find the nodes that need to be snapped.   The goal of my models is to find almost every possible linear network error that would create a problem in a graph analysis (ex shortest path). </div><div><br></div><div> So far, I can hunt down and find disconnected nodes and line, disconnected crossing lines, duplicates, parallel edges, self connected line, overlapping or partial overlapping line segments…. I wanted to use the ‘does not touch’ spatial query.  That works well if a single geometry does not touch (first or last node touching) but if one end touches a second geometry, then the spatial selection fails.  By grouping or merging all connected lines together, then « touch » would work as the fist and last node of this new object would be identified as not touching any other object.  </div><div><br></div><div>Thanks everyone for your help and ideas it’s very useful. <br><br><div dir="ltr">Nicolas Cadieux<div><a href="https://gitlab.com/njacadieux">https://gitlab.com/njacadieux</a></div></div><div dir="ltr"><br><blockquote type="cite">Le 29 août 2021 à 16:41, Charles Dixon-Paver <charles@kartoza.com> a écrit :<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><div dir="ltr">Hi Nicolas, I would urge you to try again as I was sure this would work and when I tested it I had no issues (using freshly digitized data). Maybe you need to run a snapping operation first?<div><div><br></div><div>One issue is that intersecting lines may break your ability to retrieve attributes with aggregates. For example, I ran the following on my Single parts geometries in the field calculator:</div><div><br></div><div><span style="font-family:monospace">aggregate(layer:='lines',aggregate:='concatenate_unique',concatenator:=',',expression:= "idtext",filter:=within( $geometry, geometry(@parent)))</span><br></div><div><br></div><div>This initially had no issue getting all the matching line info, but as  soon as I added an intersecting line, the multipart to singlepart operation splits those lines at the intersections, which results in a mismatch in the retrieved attributes. Of course you could use an <span style="font-family:monospace">intersects()</span> filter instead, but then you'll be getting the intersecting lines attributes concatenated as well...</div><div><br></div><div>Regards</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, 29 Aug 2021 at 17:18, Nicolas Cadieux <<a href="mailto:njacadieux.gitlab@gmail.com">njacadieux.gitlab@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Hi,<div><br><div>Yes, Harrissou,</div><div>That does not work with lines unfortunately. I tried multiple times with different combinations.  It works with polygons when common borders need to be dissolved. I did see a merge function but did not find the line_merge plugin in  the repository. I figured it was QGIS2 and had been dropped.  Do you have any info of this?</div><div><br><div dir="ltr">Nicolas Cadieux<div><a href="https://gitlab.com/njacadieux" target="_blank">https://gitlab.com/njacadieux</a></div></div><div dir="ltr"><br><blockquote type="cite">Le 29 août 2021 à 00:53, DelazJ <<a href="mailto:delazj@gmail.com" target="_blank">delazj@gmail.com</a>> a écrit :<br><br></blockquote></div><blockquote type="cite"><div dir="ltr">Hi Nicolas,<br><br>What about using "Dissolve" and then "multiparts to singleparts"...<br>There's also the line_merge function, if you want to go the expression route.<br><br>Regards,<br>Harrissou<br><br><div class="gmail_quote">Le 29 août 2021 05:26:24 GMT+02:00, Nicolas Cadieux <<a href="mailto:njacadieux.gitlab@gmail.com" target="_blank">njacadieux.gitlab@gmail.com</a>> a écrit :<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Hi,<div><br><div>Just to clarify, I have no attribute to dissolve the lines on… so If you have as easy way to create an attribute list of all connected lines groups, I would also appreciate it.  This is easy in strait python but I am making a model and trying to rely on existing algorithms.</div><div>Thanks!<br><br><div dir="ltr">Nicolas Cadieux<div><a href="https://gitlab.com/njacadieux" target="_blank">https://gitlab.com/njacadieux</a></div></div><div dir="ltr"><br><blockquote type="cite">Le 28 août 2021 à 20:21, Nicolas Cadieux <<a href="mailto:njacadieux.gitlab@gmail.com" target="_blank">njacadieux.gitlab@gmail.com</a>> a écrit :<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><div>Hi,</div><div><br></div>Is there an easy way, in processing, to dissolve lines that are touching? Alternative, can I create a multilinestring with all the lines that are touching?  Seems this should be a basic tool to have in QGIS…<br><br><div dir="ltr">Nicolas Cadieux<div><a href="https://gitlab.com/njacadieux" target="_blank">https://gitlab.com/njacadieux</a></div></div></div></blockquote></div></div></blockquote></div><div style="white-space:pre-wrap"><div>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</div></div></div></blockquote></div></div></div>_______________________________________________<br>
Qgis-user mailing list<br>
<a href="mailto:Qgis-user@lists.osgeo.org" target="_blank">Qgis-user@lists.osgeo.org</a><br>
List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-user</a><br>
Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-user</a><br>
</blockquote></div>
</div></blockquote></div></body></html>