<div dir="ltr"><div>Agreed about the need to handle each dimension of the input separately. Polygonal elements need to be reduced in a topologically correct way using OverlayNG PrecisionReducer, and other dimensions can just be reduced in pointwise fashion.</div><div><br></div><div>I intended this logic to go into GeometryPrecisionReducer, rather than OverlayNG PrecisionReducer, since that preserves the existing API. I see now that the logic there is not complete - it handles Polygonal geometries, but not collections containing Polygonal geometry. I'll ticket that for fixing in JTS.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Nov 29, 2020 at 9:38 AM Paul Ramsey <<a href="mailto:pramsey@cleverelephant.ca">pramsey@cleverelephant.ca</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">Looking at PrecisionReducer::reducePrecision, it seems like it should perhaps have a little extra logic so that each dimension of the input are handled separately. Underlying the op is just <br>
<br>
OverlayNG ov(geom, nullptr, gf.get(), OverlayNG::UNION);<br>
<br><br>
</blockquote></div></div>