<div dir="ltr">Hi Jeroen,<div><br></div><div>I'm not really following what your proposal involves or how it differs from the existing arc/arc intersection code. But if you want to flesh it out in a GitHub issue or pull request, I can take a look at it.</div><div><br></div><div>Dan</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Sep 15, 2026 at 7:43 PM Jeroen Bloemscheer <<a href="mailto:jeroen.bloemscheer@merkator.com">jeroen.bloemscheer@merkator.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>
<div dir="ltr" style="font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<span style="text-transform:none">Hi,</span></div>
<div dir="ltr" style="text-align:left;text-indent:0px;text-transform:none;font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="text-align:left;text-indent:0px;text-transform:none;font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
With curve types and CircularArcIntersector now in main, I’d like to propose a small, incremental addition—not an OverlayNG rewrite.</div>
<div dir="ltr" style="text-align:left;text-indent:0px;text-transform:none;font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="text-align:left;text-indent:0px;text-transform:none;font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Proposal: introduce a closed‑form circular arc/arc intersection implemented on an algorithm‑side ExactCircularArc value type in geos::algorithm::exactcurve (not a new geos::geom type). When two circular 3‑control windows properly cross, intersection vertices
are added on each arc at the intersection points. geom::CircularString remains the WKT/WKB representation; the operation does not take geom::CircularString as input.</div>
<div dir="ltr" style="text-align:left;text-indent:0px;text-transform:none;font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="text-align:left;text-indent:0px;text-transform:none;font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
No changes to the C API, ExactCurve, ArcNoder, or SegmentString.</div>
<div dir="ltr" style="text-align:left;text-indent:0px;text-transform:none;font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="text-align:left;text-indent:0px;text-transform:none;font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Out of scope: circular‑arc/chord interior intersections, buffering, overlay operations, and CIRCLE as a separate SQL/MM type.</div>
<div dir="ltr" style="text-align:left;text-indent:0px;text-transform:none;font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="text-align:left;text-indent:0px;text-transform:none;font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Refs: Discussion #1516; historical #1046 and #1382.</div>
<div dir="ltr" style="text-align:left;text-indent:0px;text-transform:none;font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="text-align:left;text-indent:0px;text-transform:none;font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Would opening a GitHub issue for this specific slice be useful, or would you prefer that I keep the work on a fork until there’s a concrete PR? I’ll only open an issue if you consider it helpful.</div>
<div dir="ltr" style="text-align:left;text-indent:0px;text-transform:none;font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="text-align:left;text-indent:0px;text-transform:none;font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Jeroen Bloemscheer</div>
<div style="font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<span style="text-transform:none">Merkator / OSGeo bloemscheer</span></div>
<div dir="ltr" style="color:rgb(0,0,0);font-size:12pt;text-decoration-line:none;text-decoration-style:solid">
</div>
<div style="font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)" dir="ltr">
<br>
<br>
</div>
<div dir="ltr" style="font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div id="m_-4677978805712777432ms-outlook-mobile-body-separator-line" style="font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt" dir="ltr">
<div dir="ltr" style="font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt">
<br>
</div>
</div>
<div style="font-family:Aptos,Aptos_MSFontService,-apple-system,Roboto,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)" dir="ltr" id="m_-4677978805712777432ms-outlook-mobile-signature">
</div>
<hr>
<table style="width:100%">
<tbody>
<tr>
<td style="width:43.4228%;vertical-align:middle"><span style="font-family:Tahoma,Geneva,sans-serif"><span style="font-size:20px;color:rgb(40,50,78)"><strong>Jeroen Bloemscheer</strong></span><br>
<span style="color:rgb(65,187,200)">Geo-IT Consultant</span><br>
<span style="color:rgb(65,187,200)">Zaltbommel</span></span><strong><span style="font-family:Tahoma,Geneva,sans-serif"><br>
</span></strong></td>
<td style="width:56.3087%"><span style="font-family:Tahoma,Geneva,sans-serif"><strong><img src="https://logos.merkator.com/footer/Signature_logo.png" alt="Merkator" width="200"><br>
</strong></span></td>
</tr>
<tr>
<td style="width:43.4228%"><br>
<span style="font-family:Tahoma,Geneva,sans-serif">m: +31 (0)6 478 728 18</span><br>
<span style="font-family:Tahoma,Geneva,sans-serif;color:rgb(0,0,0);text-decoration:none">e: <a href="mailto:jeroen.bloemscheer@merkator.com" target="_blank">jeroen.bloemscheer@merkator.com</a></span><br>
<br>
</td>
<td style="width:56.3087%"><br>
<span style="font-family:Tahoma,Geneva,sans-serif">Merkator BV</span><br>
<span style="font-family:Tahoma,Geneva,sans-serif">Hogeweg 137a</span><br>
<span style="font-family:Tahoma,Geneva,sans-serif">5301 LL Zaltbommel(NL)</span><strong><span style="font-family:Tahoma,Geneva,sans-serif"><br>
</span></strong></td>
</tr>
<tr>
<td style="width:43.4228%;vertical-align:top"><span style="color:rgb(65,187,200);font-family:Tahoma,Geneva,sans-serif;font-size:18px"><a style="text-decoration:none;color:rgb(65,187,200)" href="https://www.merkator.com/" rel="noopener" target="_blank">www.merkator.com</a></span></td>
<td style="width:56.3087%;vertical-align:top"><a href="https://www.linkedin.com/company/2400587" rel="noopener" target="_blank"><img src="https://wordtohtml.net/images/icons/linkedin-square-small.png" alt="LinkedIn" width="22" height="22"></a></td>
</tr>
</tbody>
</table>
<hr>
<p><span style="color:rgb(153,153,153);font-size:8px">This email (including any attachments to it) is confidential, legally privileged, subject to copyright and is sent for the personal attention of the intended recipient only. If you have received this email in
error, please advise us immediately and delete it. You are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited. Although we have taken reasonable precautions to ensure
no viruses are present in this email, we cannot accept responsibility for any loss or damage arising from the viruses in this email or attachments. We exclude any liability for the content of this email, or for the consequences of any actions taken on the
basis of the information provided in this email or its attachments, unless that information is subsequently confirmed in writing.</span></p>
</div>
</blockquote></div>