<div dir="ltr">Hi,<div><br></div><div>I've committed a minimum viable option that does autofix for ST_Union, ST_Intersection, ST_SymDifference, ST_Difference at r16450.<br><br>It prints noisy warning that sends users to ST_IsValid and ST_MakeValid, per suggestion of Daniel.<br>I think someone who will choose to ignore them deserves to get possibly not perfect result. :)</div><div><br></div><div>If someone is willing to make better Validity management infrastructure, please do. :)</div></div><br><div class="gmail_quote"><div dir="ltr">сб, 10 февр. 2018 г. в 18:29, Brian M Hamlin <<a href="mailto:maplabs@light42.com">maplabs@light42.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">PSC, devs, all -<br>
 <br>
  Please consider adding a 'valid' flag to GEOMETRY at the deepest<br>
levels, as we see in SFCGAL now, for PostGIS 3.x.<br>
The operations where a 'valid'  state could change, are deterministic<br>
throughout the system I suspect, and therefore manageable.<br>
Really, valid is for POLYGON/MULTIPOLYGON but it makes little sense to<br>
isolate the geometry type. Why not just make it fundemental.<br>
 <br>
Per a previous conversation, there may be more than one flag, so a<br>
short word of flag bits is a similar suggestion.<br>
<br>
The discussion of 'modes' would change quite a bit, if this construct<br>
was pervasive and reliable.<br>
 <br>
  --Brian<br>
<br>
On Sat, 10 Feb 2018 09:21:45 0000, Darafei "Komяpa" Praliaskouski<br>
<<a href="mailto:me@komzpa.net" target="_blank">me@komzpa.net</a>> wrote:<br>
..<br>
So if we'd like to really do something about invalidity, a "strict<br>
mode" can help - check validity on output of any geometry-returning<br>
function, including input parsers. Such a change would make people who<br>
want to be sure they get an exception in case something is doubtful<br>
happy. It will also break some clever hacks like<br>
ST_Buffer(ST_Collect(),0) and make sure you will be debugging GEOS<br>
every day for at least a year. :)<br>
..<br>
 <br>
<br>
</blockquote></div>