[geos-devel] about buffer of self-intersect polygon
strk
strk at keybit.net
Thu Dec 9 05:15:00 EST 2010
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
More information about the geos-devel
mailing list