Skip to main content
Question

Bug in negative buffering

  • May 11, 2018
  • 5 replies
  • 160 views

chau
Contributor
Forum|alt.badge.img+3
  • Contributor
  • 37 replies

We have noticed that when we do negative buffering on various polygons the results are sometimes missing parts (red: original, yellow: buffer):

In the above example we expect a slightly smaller yellow polygon inside the the area marked with black.

The workbench (attached, including input data) used to create the above example looks like this (the validator is set to all):

We are still using FME 2016 in production due to various reasons and the above is indeed made using FME 2016. In the above example the bufferer rejects the input geometry (INVALID_GEOMETRY_TYPE), though the yellow part is still the result from the rejected port and apparently looks fine except from the missing area.

We have tried the same workbench in FME 2018 and though it doesn't reject the geometry the same part is still missing:

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

5 replies

erik_jan
Contributor
Forum|alt.badge.img+22
  • Contributor
  • 2179 replies
  • May 11, 2018

Please submit this case to www.safe.com/support


takashi
Celebrity
  • 7843 replies
  • May 11, 2018

Hi @chau, I was able to reproduce the issue with a simplified donut geometry. Bufferer with negative buffer amount seems to always drop a peninsula-like part that sticks out into the hole. Hope someone from Safe takes a closer look at this: negative-buffer-on-donut.fmwt (FME 2018.0.0.2)

This could be a workaround: separate the source donut into its outershell and holes, perform buffering separately, then re-build a donut from the resulting buffers.


chau
Contributor
Forum|alt.badge.img+3
  • Author
  • Contributor
  • 37 replies
  • May 11, 2018

Please submit this case to www.safe.com/support

It is done.

 

 


chau
Contributor
Forum|alt.badge.img+3
  • Author
  • Contributor
  • 37 replies
  • May 11, 2018

Hi @chau, I was able to reproduce the issue with a simplified donut geometry. Bufferer with negative buffer amount seems to always drop a peninsula-like part that sticks out into the hole. Hope someone from Safe takes a closer look at this: negative-buffer-on-donut.fmwt (FME 2018.0.0.2)

This could be a workaround: separate the source donut into its outershell and holes, perform buffering separately, then re-build a donut from the resulting buffers.

Hi @takashi, thanks for reproducing. I too hope that they can fix it, so we can have more faith in the Bufferer in the future :) We have already made a custom transformer which buffers the outershell and the holes separately and clipping the results together in the end. But performance wise we expect this to be considerably slower than a purpose build Bufferer

 


fmelizard
Safer
Forum|alt.badge.img+20
  • Safer
  • 3719 replies
  • May 25, 2020

Please submit this case to www.safe.com/support

@erik_jan @chau @takashi This problem was fixed via FMEENGINE-15661 for FME 2020.0