Hi all,
We overlay/intersect datasets containing circular arc geometry (Arc By Center Point With Ends) using AreaOnAreaOverlayer, LineOnAreaOverlayer, LineOnLineOverlayer, Clipper, and Intersector. The source data comes from an ArcGIS Geodatabase (ESRI SDE). We'd like to understand how these transformers handle arcs internally, since this directly affects positional accuracy for our (cadastral-grade) use case.
Specific question:
When an arc is intersected with a line or polygon (Arc By Center Point With Ends -> overlay -> output is again Arc By Center Point With Ends), is the intersection point computed:
(a) analytically/exactly on the true circle equation, comparable to Esri's ArcGIS Pro "Curve Processing Method = Exact" environment setting, or
(b) by internally linearizing/approximating the arc into line segments, finding the intersection on that approximation, and then reassembling the arc for the output — comparable to Esri's "Curve Processing Method = Approximate", where the documentation states: "The curve will be reassembled as a curve segment from these linear segments when stored in the output"?
Related: the FMECurve.asLine() Python API docs mention internal directives kFMEStrokeMaxDeviationValue and kFMEDegreesPerEdge (default 5°). Do these (or a similar mechanism) also apply internally when the overlay/intersect transformers above compute intersections involving arcs — even with no explicit ArcStroker in the workspace and Stroking Tolerance set to 0?
Is there any official documentation, or insight from Safe Software, on the internal curve-handling/precision model these transformers use for arcs specifically?
Thanks in advance!
Bea
FME version: 2025.1.1
