When buffering some polygons I am trying to avoid the curved buffered area like this:
I'm trying to do thins within an FME workbench but if someone knows how its done in other software that would still be helpful.
The polygons are not of a uniform shape or size so scaling them will not work. I want a uniform width of buffer. Perhaps the answer is not to change the buffer operation but to find a way of getting FME to find all curves that would be right angles and convert them into right angles. Could something like simplify do this?
Answer
As whuber said, you do have a uniform buffer width. So here is a method to have squared ends in case of square angles, leaving rounded ends for other concave angles.
- Convert polygons to polylines
- Split your lines at vertices (split lines at vertices)
- Create flat buffers from the splitted lines
- Erase your flat buffers from you round buffer (you have the "pieces of pie" at every concave corners)
- Compute the minimum bounding polygon (rectangle by width) for all your "pieces of pie"
- select the squares : (length * length / area = 16)
- merge the squares with your buffer
No comments:
Post a Comment