<div dir="ltr">All the Shapely tests are passing, FWIW.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jul 31, 2013 at 3:51 AM, Sandro Santilli <span dir="ltr"><<a href="mailto:strk@keybit.net" target="_blank">strk@keybit.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I've just committed in trunk a change in the overlay operation<br>
heuristic to reduce the possibility of getting invalidly noded<br>
output.<br>
<br>
We used to get unnoded output due to common-bits-reducer<br>
heuristic introducing invalidities when moving the output<br>
geometry back to its original position (the input geometries<br>
were translated near the origin to have more computation bits).<br>
<br>
The new code re-checks noding after shifting back and refuses<br>
to accept a result if it isn't properly noded. This is still not<br>
100% accurate in that results with mixed-typed components are<br>
not really checked for self-intersection, so you can still get<br>
such cases.<br>
<br>
In addition, the code now checks if the input is valid before<br>
trying the various heuristics, so that you would get a message<br>
about that, which is usually easier to read. Example:<br>
<br>
 => select st_union('POLYGON((0 0, 10 10, 10 0, 0 10, 0 0))'::geometry,<br>
                    'POLYGON((0 0, 5 0, 5 5, 0 5, 0 0))'::geometry);<br>
 ERROR:  GEOSUnion: TopologyException: Input geom 0 is invalid: Self-intersection at or near point 5 5 at 5 5<br>
<br>
This will be in GEOS-3.4.0, which I'm trying to close ASAP, so please<br>
run your tests against the trunk version in order to catch any problem<br>
earlier.<br>
<br>
Thank you !<br>
<br>
--strk;<br>
_______________________________________________<br>
geos-devel mailing list<br>
<a href="mailto:geos-devel@lists.osgeo.org">geos-devel@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/geos-devel" target="_blank">http://lists.osgeo.org/mailman/listinfo/geos-devel</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Sean Gillies
</div>