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