Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Polygon buffer removes its hole when quadSegs = 0 #1125

Open
dzakaTarik opened this issue Jul 10, 2024 · 0 comments
Open

Polygon buffer removes its hole when quadSegs = 0 #1125

dzakaTarik opened this issue Jul 10, 2024 · 0 comments

Comments

@dzakaTarik
Copy link

dzakaTarik commented Jul 10, 2024

geosop - GEOS 3.12.2

When taking a small buffer around the polygon with quadSegs = 0 and distance=1e-5, one polygon hole is completely removed for no apparent reason. Hole is much bigger than the buffer and there is no way that buffering removes this hole naturally. I tried distances 100, 10, 1, 1e-1, 1e-2, 1e-3, 1e-4, 1e-6, all of which do not remove the hole.

Input polygon: poly.wkt.txt

Visualisation
Input
input poly
Buffer dist=1e-5, quadSegs=0
buffer 1e-5
Buffer dist=100, quadSegs=0
buffer 100

To quickly reproduce, you can add a new operation to utils/geosop/GeometryOp.cpp:
{"bufferWithQuadrantSegments", [](std::string name) { return GeometryOp::create(name, catConst, "compute the buffer of geometry by a distance with quadrant segments", [](const std::unique_ptr<Geometry>& geom, double d, int quadrantSegments) { return new Result( geom->buffer( d, quadrantSegments ) ); }); }},

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant