Merging linear overlay results?

Martin Davis mtnclimb at gmail.com
Fri Jun 26 13:05:13 PDT 2026


The original idea behind leaving linear overlay results unmerged was to
allow the user to choose whether they wanted to incur the overhead of line
merging.  However, as the Polygon-Polygon example makes obvious, for some
types of input this strategy produces non-intuitive results.  So it seems
like a good idea to provide merging automatically.

One downside is that then overlay cannot be used as a way to perform noding
of sets of LineStrings.  A way of preserving this would be to merge only
line segments which orginated in the same parent LineString.  Actually,
it's probably necessary to merge only segments which were contiguous in the
parent.

On Wed, May 20, 2026 at 7:00 AM Daniel Baston <dbaston at gmail.com> wrote:

> Hi,
>
> I've noticed that the GEOS overlay code has the capability to merge linear
> output geometries, using LineBuilder::addResultLinesMerged. However, this
> capability has never been enabled. GEOS clients ([1], [2]) sometimes end up
> calling GEOSLineMerge as a follow-up step to overlay, but this is
> inefficient and cumbersome. (Among other things, GEOSLineMerge silently
> drops any non-linear inputs.)
>
> Does it make sense to consider enabling this behavior? It would be helpful
> for reconstructing CompoundCurves, which have no way to retain their
> complex parentage information through the noding journey. I guess we would
> need a GEOSUnionWithParams, GEOSIntersectionWithParams, etc...
>
> Dan
>
> [1]
> https://github.com/qgis/QGIS/blob/b298119a5b09ae3903596ec2ffaf8aaff7ba78a3/src/core/geometry/qgsgeos.cpp#L1985
> [2]
> https://github.com/OSGeo/gdal/blob/ad495515b681bfb5f660f5de17e9ef1c2c8f153f/apps/gdalalg_vector_dissolve.cpp#L134
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/geos-devel/attachments/20260626/ec80b591/attachment.htm>


More information about the geos-devel mailing list