Opened 4 months ago

Last modified 5 days ago

#5774 new defect

st_buffer on valid geometry returns TopologyException

Reported by: mapcreatorguus Owned by: pramsey
Priority: medium Milestone: PostGIS GEOS
Component: postgis Version: 3.4.x
Keywords: st_buffer TopologyException Cc:

Description

I have a valid geometry to which I want to apply a negative buffer. It returns the following error:

[XX000] ERROR: GEOSBuffer: TopologyException: unable to assign hole to a shell

Attachments (1)

query.sql (166.8 KB ) - added by mapcreatorguus 4 months ago.
The query to reproduce this error

Download all attachments as: .zip

Change History (6)

by mapcreatorguus, 4 months ago

Attachment: query.sql added

The query to reproduce this error

comment:1 by pramsey, 4 months ago

Milestone: PostGIS 3.4.3PostGIS 3.4.4

comment:2 by pramsey, 4 months ago

Is 'endcap=square join=mitre' really required when negative buffering a polygon? I would tend to think the defaults make more sense and that endocaps are mostly useful in the context of positive linear buffers.

comment:3 by robe, 6 days ago

Milestone: PostGIS 3.4.4PostGIS GEOS

@pramsey, @mdavis

I'm assuming if we agree this is a bug, it's something that needs fixing in GEOS? So I'm flipping to GEOS. Feel free to close out if you consider not worth fixing.

in reply to:  2 comment:5 by mdavis, 5 days ago

Replying to pramsey:

Is 'endcap=square join=mitre' really required when negative buffering a polygon? I would tend to think the defaults make more sense and that endocaps are mostly useful in the context of positive linear buffers.

The endcap style is not used for buffers of polygons.

Using a mitre join does make a difference for a negative buffer of a polygon - it produces "pointier" convex corners.

Note: See TracTickets for help on using tickets.