<div dir="ltr"><div><span style="">If you drop it in instead of MakeValid, will tests complain?</span><br></div><br>If none complain or the difference is minor (up to normalization), just replace it.<div><br></div><div>If the differences are within the documented description, ("does not lose vertices" etc), then replace it. Edge cases of "vertex at infinity" can be lost IMO.</div><div><br></div><div>If differences are bigger, let's have a look at them together. I've looked at the doc and haven't found an issue via quick look, but maybe we need to play a bit more.</div><div><br></div><div>I'd say a good way to check it will be to run a fuzzer that gets fuzz data, parses as wkb, runs IsValid, runs MakeValid, runs IsValid on output of that and fails if the final result is not valid.</div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Apr 18, 2021 at 3:17 PM Sandro Santilli <<a href="mailto:strk@kbt.io">strk@kbt.io</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">On Sat, Apr 17, 2021 at 10:12:14AM -0700, Paul Ramsey wrote:<br>
> Coming soon to GEOS 3.10 is a new implementation of a "validity repairer", currently named GeometryFixer.<br>
> <br>
> <a href="https://github.com/libgeos/geos/pull/433" rel="noreferrer" target="_blank">https://github.com/libgeos/geos/pull/433</a><br>
> <br>
> Open question is whether to bind the GEOS default GEOSMakeValid() CAPI to it. It provides (we think, arguably) more "expected" outputs for various invalid cases, and is almost certainly faster than the existing implementation. On the other hand, it's *different*, so people would get different results from ST_MakeValid() depending on the GEOS version under their PostGIS.<br>
> <br>
> We could still leave the old algorithm *accessible*, via extra parameters and knobs and switches, as Dan notes in a comment on the PR. Question is, can we switch out the default behaviour, or are we going to end up with ST_MakeValid() and ST_GeometryFix() (or something).<br>
<br>
How about implementing options ?<br>
Ideally the options would express the difference in behavior, so that<br>
the user specifies which behavior she wants. Can such differences be<br>
expressed in a clear way ?<br>
<br>
--strk;<br>
_______________________________________________<br>
postgis-devel mailing list<br>
<a href="mailto:postgis-devel@lists.osgeo.org" target="_blank">postgis-devel@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/postgis-devel" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/postgis-devel</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Darafei "Komяpa" Praliaskouski<br>OSM BY Team - <a href="http://openstreetmap.by/" target="_blank">http://openstreetmap.by/</a><br></div></div>