I have a polyline split into many short segments and would like to create a flat end buffer for each individual segment (not "dissolve" them all into one feature).

Is there any way to do this in an ArcGIS 10.2 model without purchasing ArcGIS Advanced licence? Arcpy script, paid 3rd party extension, or open source extension etc?


Update: I ended up modifying the code found in this Q/A to create a custom script tool which:

  • creates an empty feature class for output
  • Iterates though every line of a different input feature class with many short polylines
  • at both the start and end of each line create a set of points which form a perpendicular line
  • connect those two "lines" (2 sets of 2 points) and feed them into the "shape" attribute of polygon
  • write those polygons to the empty feature class
  • Are far as ArcGIS built in tools go - as you know you need to have an ArcInfo License level to use the line_end_type option in buffer. I would think there might be a way to dynamically create perpendicular lines at line end points - then split the buffers with these lines and delete the remainders. I would think this might be a lot of Python programming. Sorry I cannot be more help. – dklassen Feb 14 '14 at 23:58
  • I suspect this may be relatively easy with ArcPy but, to be sure that I understand your text description, can you include a diagram and your ArcGIS for Desktop version, please? – PolyGeo Feb 15 '14 at 2:06
  • You can build such tool with ArcObjects. I made an add-in a while back but it only outputs polylines (4 per buffer) because that's what I needed for a specific purpose. You can however trim or extend the buffer end. – Jakub Sisak GeoGraphics Feb 16 '14 at 1:50
  • Thanks everyone! I edited my question to include arcpy scripts, and stated my ArcGIS version. – Andy Baumgartner Feb 18 '14 at 17:08
  • Pretty absurd this requires an advanced license to add simple options to a bread an butter operation like buffer. I imagine that perpendicular lines were created, or at the least coordinates and angles to create a perpendicular line when generating the ROUND line_ends. It's like getting guacamole for free on my burrito but being charged for avocado. – NW_Photo_Laureate Jun 26 '20 at 18:53

The arcpy way of doing this would be the following logic:

  1. Referencing Gerry Gabrisch Create Perpendicular Lines to Each Segment of a Shapefile and this Q/A you can create perpendiclar transects at the start and end point of each line segement.
  2. The transect feature class may then be used to split the buffered layer using the python logic that @iRfAn has suggested Programatically splitting polygon with line?

This should allow you to slice off the curved ends of each polygon buffer feature.

  • Not being able to include this in a model would seem to be a drawback of this answer. I actually think this Question has a relatively straightforward ArcPy solution at ArcGIS 10.1/10.2 for Desktop Basic if @AndyBaumgartner provides a more detailed description that coincides with what I think is being asked. – PolyGeo Feb 16 '14 at 9:22
  • @PolyGeo, updated my answer. – artwork21 Feb 17 '14 at 18:50

If you are creating the buffers from line segments, then you could always try using the following with a Standard License -

Convert the polyline feature class being buffered into a [Route] using create route within the Linear Referencing Toolbox, Then within the feature class properties dialog, click on the [Hatches] tab, Then you could add a Hatch that is located at the beginning and end of the polylines and these lines need to extend beyond the buffer polygon for each feature line, Then you could convert the hatches to graphics, Then you could convert the graphics to features, Then select all of the polylines within this feature class containing the converted hatches, Start editing on your buffer shapefile, Within the [Advanced Editing Toolbar] choose construct polygons button, Chose the buffer shapefile within the dialog and click ok, All buffer ends will be split from the main portion of the buffer, Open table and query out all buffers with areas that are smaller then the buffer core areas.

Sure you can build a model builder for this.


There is a cheap add-on called ET GeoWizards for ArcGIS that makes this easy and it does lots of other great tricks. It's built by Ianko Tchoukanski.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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