I have a task where I have plotted positions along an alignment (see red dots in images) and I need to plot two offset points (from the chainage locations) at varying distance parallel to the alignment (see image 2). I am not sure how to go about it.

enter image description here

enter image description here

I have thought about:

  • working out the direction of the line and from that,
  • then working out what the offsets x,y should be using trigonometry,
  • create new points for the offset using the results of the trigonometry.

I was also thinking of:

  • creating a 1m buffer around the points,
  • using the buffer to clip the line into segments, then
  • copy the line parallel on the left and right side using the specified distances
  • then use feature vertices to points tool with mid as the point type to get the offset positions.

If there were only a few points, I would use the second method above, but unfortunately, I have hundreds.

I am familiar with ArcMap 10.1 and have a sound understanding of ArcPy and Python.


1 Answer 1


I think you should investigate the Make Route Event Layer (Linear Referencing) tool:

Creates a temporary feature layer using routes and route events.

When the temporary layer is used (displayed on a map, or used by another geoprocessing tool), dynamic segmentation is performed.

and in particular its optional offset_field:

The field containing values used to offset events from their underlying route. This field must be numeric.

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.