The buffer algorithm can produce poor-quality results in some cases when using Flat endcaps. This is due to internal segments of the generated buffer curve being exposed and treated as if they are segments in the "true" buffer result.
For example, buffering the following line with distance = 50 and a flat endcap produces artefacts at one end:
In fact this can happen for any "non-round" endcap, including a round one with a low number of quadrant segments (e.g. 1).
It's not clear what the correct result should be in this case. Ideally "internal" linework should not be exposed, but in fact a flat endcap may not entirely cover the buffer area generated by other segments in the input.
See also PostGIS 340, which is the same problem in a more obvious situation.
Buffering the following line with endcap = FLAT and distance = 50:
LINESTRING(2 7,3 5,5 4,7 5,8 7)
produces:
See #739 as well, although that may be a slightly different issue.
The buffer algorithm can produce poor-quality results in some cases when using Flat endcaps. This is due to internal segments of the generated buffer curve being exposed and treated as if they are segments in the "true" buffer result.
For example, buffering the following line with distance = 50 and a flat endcap produces artefacts at one end:
In fact this can happen for any "non-round" endcap, including a round one with a low number of quadrant segments (e.g. 1).
It's not clear what the correct result should be in this case. Ideally "internal" linework should not be exposed, but in fact a flat endcap may not entirely cover the buffer area generated by other segments in the input.
See also PostGIS 340, which is the same problem in a more obvious situation. Buffering the following line with endcap = FLAT and distance = 50:
produces:
See #739 as well, although that may be a slightly different issue.