<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Aptos;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:12.0pt;
        font-family:"Aptos",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Aptos",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>My vote is to keep it on for all cases.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'> Daniel Baston <dbaston@gmail.com> <br><b>Sent:</b> Wednesday, June 24, 2026 5:38 PM<br><b>To:</b> Daniel Baston <dbaston@gmail.com>; GEOS Development List <geos-devel@lists.osgeo.org><br><b>Subject:</b> Re: Merging linear overlay results?<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>I'd like to get this behavior in 3.15. Is the consensus that it needs to be opt-in, via "WithParams" variants of all the GEOS overlay functions? Or should we explore turning it on in all cases, since many expected overlay results will change in 3.15 anyway? (<a href="https://github.com/libgeos/geos/pull/1412">https://github.com/libgeos/geos/pull/1412</a>)<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>As an example, the proposed behavior is<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>geosop intersection -a "POLYGON ((8 2, 10 0, 0 0, 0 10, 2 10, 3.67 8, 4 6, 5.5 3, 8 2))" -b "POLYGON ((2 10, 3.67 8, 4 6, 5.5 3, 8 2, 10 0, 10 10, 2 10))"<br><br>LINESTRING (2 10, 3.67 8, 4 6, 5.5 3, 8 2, 10 0, 8 2)<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>in place of the current result:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>MULTILINESTRING ((8 2, 10 0), (2 10, 3.67 8), (3.67 8, 4 6), (4 6, 5.5 3), (5.5 3, 8 2))<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Dan<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Thu, May 21, 2026 at 7:05<span style='font-family:"Arial",sans-serif'> </span>AM Sandro Santilli <<a href="mailto:strk@kbt.io">strk@kbt.io</a>> wrote:<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><p class=MsoNormal>Just to add that PostGIS Topology also does the post-overlay linemerge:<br><br><a href="https://gitea.osgeo.org/postgis/postgis/src/branch/master/liblwgeom/topo/lwgeom_topo.c#L7520-L7534" target="_blank">https://gitea.osgeo.org/postgis/postgis/src/branch/master/liblwgeom/topo/lwgeom_topo.c#L7520-L7534</a><br><br>Allowing to request such behavior earlier would help performances there too,<br>I'm in favour of such addition<br><br>--strk;<br><br><br>On Wed, May 20, 2026 at 09:22:45AM -0400, Daniel Baston wrote:<br>> Hi,<br>> <br>> I've noticed that the GEOS overlay code has the capability to merge linear<br>> output geometries, using LineBuilder::addResultLinesMerged. However, this<br>> capability has never been enabled. GEOS clients ([1], [2]) sometimes end up<br>> calling GEOSLineMerge as a follow-up step to overlay, but this is<br>> inefficient and cumbersome. (Among other things, GEOSLineMerge silently<br>> drops any non-linear inputs.)<br>> <br>> Does it make sense to consider enabling this behavior? It would be helpful<br>> for reconstructing CompoundCurves, which have no way to retain their<br>> complex parentage information through the noding journey. I guess we would<br>> need a GEOSUnionWithParams, GEOSIntersectionWithParams, etc...<br>> <br>> Dan<br>> <br>> [1]<br>> <a href="https://github.com/qgis/QGIS/blob/b298119a5b09ae3903596ec2ffaf8aaff7ba78a3/src/core/geometry/qgsgeos.cpp#L1985" target="_blank">https://github.com/qgis/QGIS/blob/b298119a5b09ae3903596ec2ffaf8aaff7ba78a3/src/core/geometry/qgsgeos.cpp#L1985</a><br>> [2]<br>> <a href="https://github.com/OSGeo/gdal/blob/ad495515b681bfb5f660f5de17e9ef1c2c8f153f/apps/gdalalg_vector_dissolve.cpp#L134" target="_blank">https://github.com/OSGeo/gdal/blob/ad495515b681bfb5f660f5de17e9ef1c2c8f153f/apps/gdalalg_vector_dissolve.cpp#L134</a><o:p></o:p></p></blockquote></div></div></div></body></html>