Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

When buffering some polygons I am trying to avoid the curved buffered area like this: enter image description here

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?

share|improve this question
    
Do you have the advanced licence ? –  radouxju Jan 20 at 10:29
    
ArcInfo license for ArcGIS and the ESRI edition of FME license –  whatahitson Jan 20 at 10:44
1  
in postgis there is SELECT ST_Buffer( ST_GeomFromText( 'LINESTRING(50 50,150 150,150 50)' ), 10, 'join=mitre mitre_limit=5.0'); where join=mitre does job, does arcgis have similiar option? –  simplexio Jan 20 at 11:06
    
I'll pass this onto Heather Chris, she'll likely know the answer. –  lcoursey Jan 20 at 11:26
1  
Note that you do have a uniform buffer width; you are asking for a nonuniform width. A suitable variation of a directional buffer algorithm would do this for you. –  whuber Jan 20 at 15:58
add comment

1 Answer 1

up vote 1 down vote accepted

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.

  1. Convert polygons to polylines
  2. Split your lines at vertices (split lines at vertices)
  3. Create flat buffers from the splitted lines
  4. Erase your flat buffers from you round buffer (you have the "pieces of pie" at every concave corners)
  5. Compute the minimum bounding polygon (rectangle by width) for all your "pieces of pie"
  6. select the squares : (length * length / area = 16)
  7. merge the squares with your buffer
share|improve this answer
    
Thanks, For right angles a slightly shorter version of this: buffering the lines with square ends then clipping this from the original polygon seems to have worked. –  whatahitson Jan 21 at 10:24
    
have you checked with a parcel including concave angles ? –  radouxju Jan 21 at 10:28
    
yeah I've just released it doesn't work for all of them –  whatahitson Jan 21 at 11:05
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.