Hi,

I will look at the wkt output but it seems that with lines, dissolve will just 
create a single huge multiline.  The multi part to single part will just split 
it back up.  I suspect that dissolve only deals with common border in polygones 
and not line ends.  Will test tomorrow to figure out more details.

Nicolas Cadieux
https://gitlab.com/njacadieux

> Le 31 août 2021 à 03:57, DelazJ <[email protected]> a écrit :
> 
> 
> Hi,
> 
> > 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.
> 
> Nicolas, can you elaborate a bit more on the issues you have with the 
> "Dissolve + Multipart to singleparts" solution I provided few days ago. At 
> which step is it failing? The dissolve does not merge joining features into a 
> single one? I don't know the function internals but I'd expect it to work 
> this way and if not, would sound like a bug to report IMHO...
> 
> Regards,
> Harrissou
> 
>> Le mar. 31 août 2021 à 00:57, Nicolas Cadieux <[email protected]> 
>> a écrit :
>> Thanks Charles,
>> 
>> This will be very useful. Nice to know I'am not the only one going crazy 
>> with this!!!
>> 
>> Nicolas
>> 
>> On 2021-08-30 4:42 p.m., Charles Dixon-Paver wrote:
>>> I thought this would be easily solved with an expression but sadly I 
>>> haven't been able to get reliable results at all.
>>> 
>>> My first thought was 
>>> collect($geometry,filter:=intersects($geometry,geometry(@parent))) and when 
>>> that didn't work I tried various aggregates and union operations to no 
>>> avail. Something like this might be useful if you can get it into a usable 
>>> form (I managed to get various multigeometries in the form you are looking 
>>> for but wasn't able to do much with them and there seemed to be artifacts):
>>> 
>>> collect_geometries(array_foreach(aggregate(layer:='lines',aggregate:='array_agg',expression:=$geometry,filter:=intersects($geometry,geometry(@parent))),@element))
>>> 
>>> I was actually waiting for someone else to come up with a more elegant 
>>> solution, but it would probably also be possible to identify intersecting 
>>> features and get the minimum/ maximum feature id for intersecting features 
>>> with this:
>>> 
>>> aggregate(layer:='lines',
>>> aggregate:='min',
>>> expression:="fid",
>>> filter:=intersects($geometry,geometry(@parent)))
>>> 
>>> You could use that in the field calculator to create a field for "grouping" 
>>> various intersecting features to dissolve on, however it's only going to 
>>> identify the minimum of the currently intersecting features so you would 
>>> need to iterate through the process multiple times. I can't think of an 
>>> effective way to implement a "while" conditional either.
>>> 
>>> It's a pretty clanky way to do it, but if you are really struggling I think 
>>> it's possible.
>>> 
>>> On Mon, 30 Aug 2021 at 22:10, Nicolas Cadieux <[email protected]> 
>>> wrote:
>>>> Hi,
>>>> 
>>>> Seems like the plugin is available so I will try it out.  The ability to 
>>>> create multi-linestring out of any touching lines (touch here means 
>>>> intersects at the first or last node) would be nice to have it if I can 
>>>> include it in a model. 
>>>> 
>>>> My goal is for this model to work for anyone with a basic install of QGIS 
>>>> LTR or 3.20 with minimal efforts so I am trying to eliminate the need to 
>>>> rely on external plugins or scripts.
>>>> 
>>>> This is also my first attempt with models. It’s a learning curve but I am 
>>>> having fun… I think this probably should have been a plugin but my 
>>>> knowledge of GUI programming is basically 0.  That will be for a next 
>>>> project…
>>>> 
>>>> Nicolas Cadieux
>>>> https://gitlab.com/njacadieux
>>>> 
>>>>> Le 30 août 2021 à 14:59, David Strip <[email protected]> a écrit :
>>>>> 
>>>>>  I looked at the source for this plug-in and as far as I can tell  it 
>>>>> only merges lines that meet at endpoints. It ignores multi-lines, and 
>>>>> only creates linestrings, so there are no vertices of degree >2 (ie, no 
>>>>> junctions/forks). Also, the plug-in doesn't look for intersections 
>>>>> between vertices (since it only looks to merge endpoints.)
>>>>> The StackExchange post appears to want multi-linestrings, which gives 
>>>>> forks and such. Is that what you need? 
>>>>> 
>>>>>> On 8/30/2021 5:27 AM, Nicolas Cadieux wrote:
>>>>>> Hi,
>>>>>> This is the plugin I was referring to.  I don’t see it in the current 
>>>>>> plugins (experimental turned on)  so I figured it’s QGIS 2 only.
>>>>>> 
>>>>>> https://github.com/ArMoraer/QGISMergeLines
>>>>>> 
>>>>>> Nicolas Cadieux
>>>>>> https://gitlab.com/njacadieux
>>>>>> 
>>>>> 
>>>> _______________________________________________
>>>> Qgis-user mailing list
>>>> [email protected]
>>>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
>>>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>> -- 
>> Nicolas Cadieux
>> https://gitlab.com/njacadieux
>> _______________________________________________
>> Qgis-user mailing list
>> [email protected]
>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
_______________________________________________
Qgis-user mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user

Reply via email to