http://www.sogis1.so.ch/sogis/dl/postgis/cleanGeometry.sql
you need caps on the "G" in geometry. Robert W. Burgholzer Surface Water Modeler Office of Water Supply and Planning Virginia Department of Environmental Quality [EMAIL PROTECTED] 804-698-4405 Open Source Modeling Tools: http://sourceforge.net/projects/npsource/ -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Stephan Holl Sent: Friday, August 29, 2008 4:35 AM To: PostGIS Users Discussion Cc: [EMAIL PROTECTED] Subject: Re: [postgis-users] ST_Unioning invalid multipolygons Hello Horst, Düster Horst <[EMAIL PROTECTED]>, [20080829-09:02:02]: > 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 This link seems to be wrong, I get a 404. Could you post the correct link to this interesting-sounding function, please? > 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 from Osna Stephan > > -----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 -- Stephan Holl <[EMAIL PROTECTED]>, http://intevation.de/~stephan Tel: +49 (0)541-33 50 8 32 | Intevation GmbH | AG Osnabrück - HR B 18998 Geschäftsführer: Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner _______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
