Mmmmm... >Another solution which *may* work is to replace the geometry by a buffer >of size 0 around the geometry in your select statement
No this is a bad idea. You do not have any control about the result of your buffer(0). A better way is to clean the polygon geometry with the cleangeometry() function you can download from: http://www.sogis1.so.ch/sogis/dl/postgis/cleangeometry.sql The function cleans by breaking the self-intersecting parts of your geometry into multigeometries. Sometimes postgis throws topology exeptions although your geometry is valid. In this case geos by itself produces the error. Maybe this is the result of rounding problems and you don't have any chance to solve the problem. Best regards Horst ------------------------------------------------ Dr. Horst Düster GIS-Koordinator, Stv. Amtschef Kanton Solothurn Bau- und Justizdepartement Amt für Geoinformation SO!GIS Koordination Rötistrasse 4 CH-4501 Solothurn Telefon ++41(0)32 627 25 32 Telefax ++41(0)32 627 22 14 mailto:[EMAIL PROTECTED] http://www.agi.so.ch -----Ursprüngliche Nachricht----- Von: Michael Michaud [mailto:[EMAIL PROTECTED] Gesendet am: Freitag, 29. August 2008 08:24 An: PostGIS Users Discussion Betreff: Re: [postgis-users] ST_Unioning invalid multipolygons David Jantzen a écrit : > Hi again, > > I'm trying to ST_Union multipolygons from the Zillow neighborhood data. > When I do this I occasionally see: > > NOTICE: TopologyException: found non-noded intersection between > -73.812.... > > This appears to be due to invalid geometries, as the following query > returns over a hundred rows: > > select * from neighborhoods where not ST_IsValid(the_geom) > > Can anyone suggest a workaround here? The resulting geometry needs to > be a multipolygon. Also, what is ST_Is_valid actually testing for? The > documentation isn't very explicity about the definition of validity. > Most of time, invalid polygons are polygons with a self intersecting boundaries (as in the number '8') or self-touching boundary (two non contiguous points of the boundary are touching each other) The best solution is to correct those geometries if you can. Another solution which *may* work is to replace the geometry by a buffer of size 0 around the geometry in your select statement (using a 0-buffer is a work-around which generally works with JTS library from which postgis functions are derived). Michaël > Thanks, > David > > _______________________________________________ > postgis-users mailing list > [email protected] > http://postgis.refractions.net/mailman/listinfo/postgis-users > > > _______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
_______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
