<div dir="ltr"><div>I only just found this out and was wondering if it is intentional. When running ST_SetEffectiveArea it turns out that the triangle-area for points related to start and endpoint of a polygon are set to dbl_max (example below). While this is logical for linestrings (it would break your network), I think it could be implemented better for polygons by reconnecting the polygon when start/endpoint are throw out because of a small effective area. I have some polygons with spikes originating from the startpoint and it is unexpected behaviour to see some spikes not being removed this way.</div><div>Is there a good reason to keep the start/endpoint of polygon intact? And if so, would it make sense to make it optional?</div><div><br></div><div>Tom<br></div><div><br></div><div>P.S. I have the idea that this point has been addressed on another list (maybe D3) but wasn't able to find it. </div><div><br></div><div>----------------------</div><div>Example:</div><div><br></div><div><font face="monospace, monospace">SELECT</font></div><div><font face="monospace, monospace"> ST_AsTExt(</font></div><div><font face="monospace, monospace">  (ST_DumpPoints(</font></div><div><font face="monospace, monospace">   ST_SetEffectiveArea(</font></div><div><font face="monospace, monospace">    ST_GeometryFromText(</font></div><div><font face="monospace, monospace">'POLYGON((</font></div><div><font face="monospace, monospace">0 0,</font></div><div><font face="monospace, monospace">10 0,</font></div><div><font face="monospace, monospace">20 0,</font></div><div><font face="monospace, monospace">20 10,</font></div><div><font face="monospace, monospace">10 10,</font></div><div><font face="monospace, monospace">10 0,</font></div><div><font face="monospace, monospace">0 0</font></div><div><font face="monospace, monospace">))'</font></div><div><font face="monospace, monospace">    )</font></div><div><font face="monospace, monospace">   ,0.1)</font></div><div><font face="monospace, monospace">)).geom)</font></div><div><br></div><div>Result:</div><div><div><font face="monospace, monospace">"POINT M (0 0 3.40282346638529e+38)"</font></div><div><font face="monospace, monospace">"POINT M (20 0 3.40282346638529e+38)"</font></div><div><font face="monospace, monospace">"POINT M (20 10 3.40282346638529e+38)"</font></div><div><font face="monospace, monospace">"POINT M (10 10 50)"</font></div><div><font face="monospace, monospace">"POINT M (10 0 50)"</font></div><div><font face="monospace, monospace">"POINT M (0 0 3.40282346638529e+38)"</font></div></div><div><br></div></div>