[postgis-devel] Autofix and retry for GEOS overlay ops
Darafei "Komяpa" Praliaskouski
me at komzpa.net
Wed Mar 7 06:19:07 PST 2018
Hi,
I've committed a minimum viable option that does autofix for ST_Union,
ST_Intersection, ST_SymDifference, ST_Difference at r16450.
It prints noisy warning that sends users to ST_IsValid and ST_MakeValid,
per suggestion of Daniel.
I think someone who will choose to ignore them deserves to get possibly not
perfect result. :)
If someone is willing to make better Validity management infrastructure,
please do. :)
сб, 10 февр. 2018 г. в 18:29, Brian M Hamlin <maplabs at light42.com>:
> PSC, devs, all -
>
> Please consider adding a 'valid' flag to GEOMETRY at the deepest
> levels, as we see in SFCGAL now, for PostGIS 3.x.
> The operations where a 'valid' state could change, are deterministic
> throughout the system I suspect, and therefore manageable.
> Really, valid is for POLYGON/MULTIPOLYGON but it makes little sense to
> isolate the geometry type. Why not just make it fundemental.
>
> Per a previous conversation, there may be more than one flag, so a
> short word of flag bits is a similar suggestion.
>
> The discussion of 'modes' would change quite a bit, if this construct
> was pervasive and reliable.
>
> --Brian
>
> On Sat, 10 Feb 2018 09:21:45 0000, Darafei "Komяpa" Praliaskouski
> <me at komzpa.net> wrote:
> ..
> So if we'd like to really do something about invalidity, a "strict
> mode" can help - check validity on output of any geometry-returning
> function, including input parsers. Such a change would make people who
> want to be sure they get an exception in case something is doubtful
> happy. It will also break some clever hacks like
> ST_Buffer(ST_Collect(),0) and make sure you will be debugging GEOS
> every day for at least a year. :)
> ..
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-devel/attachments/20180307/b021a67c/attachment-0001.html>
More information about the postgis-devel
mailing list