2

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 Arcgis 10.1 and have a sound understanding of Arcpy and python.

  • I think linear referencing should enable to you to display point events like these at an offset distance. – PolyGeo Sep 25 '15 at 6:43
  • Do you have offset distances in attribute table and are the lines regular lines or true curve? – Alešinar Sep 25 '15 at 6:49
  • @Alešinar - the offsets are in a csv file. The lines will just be straight lines with a start and end point. – TsvGis Sep 26 '15 at 3:59
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, privacy policy and cookie policy

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