I have experienced this same difficulty when using the simplify() function. I can eliminate some of them by using a smaller tolerance, although it seems that there is something in the isValid routine that OKs records that have some problems. I have found that if I use only the buffer(the_geom,0) I can obtain valid shapes in all cases (at least all that I have tried, which is around 3,000 shapes).
If you really need to simplify, perhaps you can alter the order in which you are doing your operations, i.e., buffer first, then simplify(). While this is not a fix to the underlying troubles, it may get you up and running. HTH, 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 James DeMichele Sent: Friday, December 28, 2007 2:25 PM To: [email protected] Subject: [postgis-users] ST_contains() throws an error Hi, I have a table with 27000 records and each record has 2 geometry columns. The first column has an original MULTIPOLYGON (named original_poly), and the second column has some tweaks (buffer and simplification) applied to the original data, and is also stored as a MULTIPOLYGON (named new_poly). I want to get the list of these rows where the new_poly does NOT contain the original_poly. The first time I ran it, I got this: "ERROR: GEOS contains() threw an error!" So, then I thought that maybe some of the polygons were not valid. There were 6 invalid polygons, so then I tried running this query: select count(*) from temp_places_buffer where(st_isvalid(new_poly) = true and st_isvalid(redfin_poly) = true) and not st_contains(t1.new_poly, t1.redfin_poly); Unfortunately, I still get this error: ERROR: GEOS contains() threw an error! What are possible reasons that this would still be throwing an error, other than invalid polygons, since the query should now only be calculating st_contains on valid polygons? I am running this version: postgis_version --------------------------------------- 1.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1 Thanks. -James
_______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
