How could I generate a nominal centreline for a polygon and then generate lines perpendicular to this centreline at regular intervals?

I've explored generating a centreline using the tools here: http://www.arcgis.com/home/item.html?id=bc642731870740aabf48134f90aa6165 but the result has multiple branches which I don't want.

I've tried simplifying the input polygon before generating the centreline but I still have the same problem.

The only information I have for each shape is a nominal "start" point.

I have an Advanced Licence available.

1 Answer 1


You could duplicate the tool listed by densifying the polygon (add extra vertices to the polygon) using the densify tool. Next extract the polygon vertices to points. Generate Theissen polygons around the points. Clip the Theissen polygons using the original polygon. Convert the clipped Theissen polygons to lines. Select and delete any lines that intersect your original polygon. You should be left with a line in the center of your polygon.

The reason you have some dangles is either a result of your polygon's shape or because there are some extra nodes inserted into the line along strait places. Use Simplify lines on the line file before doing the selection and deletion.

As far as generating lines perpendicular to this center line you could try this tool available on GitHub. https://github.com/gerry1138/Create-Perpendicular-Lines. There are some limitation to the tool but it is well documented. You may need to divide your line at regular intervals using splitting tools.

  • There's a little GDAL-based Python package (not mine) that uses this approach: centerline.readthedocs.io/en/latest And there's also ETGeoWizards (which I generally try to avoid)
    – mikewatt
    Aug 24, 2018 at 20:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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