On Thu, Dec 09, 2010 at 04:59:24PM +0800, xie_jiong wrote: > Hi All, > > Dose GEOS supports buffer of self-intersected polygon, just like 'POLYGON > ((2 2,-2 -2,2 -2,-2 2,2 2))'. I get the wrong polygon result with > GEOSBuffer('POLYGON ((2 2,-2 -2,2 -2,-2 2,2 2))',0.5,8). I use newest verion.
Self-intersecting polygon is invalid. Any invalid input is not supposed to yeld meaningful output. You need to clean the invalidity up. FYI: PostGIS has a geos-based routing doing a cleanup like this: # select st_asewkt(st_makevalid('POLYGON ((2 2,-2 -2,2 -2,-2 2,2 2))')); MULTIPOLYGON(((2 2,0 0,-2 2,2 2)),((0 0,2 -2,-2 -2,0 0))) You can then successfully buffer the result (getting back to a POLYGON). --strk; () Free GIS & Flash consultant/developer /\ http://strk.keybit.net/services.html _______________________________________________ geos-devel mailing list geos-devel@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/geos-devel