Opened 14 years ago
Closed 10 years ago
#1604 closed defect (fixed)
Buffer: buffering polygon with interior rings is defective
Reported by: | danstoica | Owned by: | Dan Stoica |
---|---|---|---|
Priority: | medium | Milestone: | |
Component: | General | Version: | 2.1.0 |
Severity: | major | Keywords: | |
Cc: | External ID: |
Description
Curently the result of buffering a polygon with a hole is a polygon buffer with no hole while the expected result is polygon buffer with a hole (assuming the buffer distance is reasonable small).
The cause is a performance improvement made in 2007. Basically a polygon with holes is buffered part by part, as opposed to all the loops at once. Then a union operation is performed. Since the ring's buffer is inside the external loop buffer, it is wrongly eliminated.
The solution is to temporary remove this particular improvement. In performanceOptions.h (in the same location) just turn on this flag:
Process the entire geometry (polygons with rings, multi geometries) together #define PERF_MERGE_ENTIRE_GEOMETRY true false
Change History (2)
comment:1 by , 14 years ago
comment:2 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Added Dan's fix to trunk stream with changeset r5560.