In ArcMap 10, I have several hundred points taken along a zig-zag transect (line) but I need to move these points 100m to the left or right, perpendicular to the line. The points are stored as a single shape file with a 'SIDE' field, which is either 'left' or 'right' indicating which side of the line to move the point.

I have tried linear referencing but got totally lost. Is that the tool to use or is there another simple method of achieving this?

  • The trick here is to move them away from the line. I take it the line isn't perpendicular or horizontal. Do you have any experience with model builder or python? – Michael Stimson Aug 6 '14 at 2:53
  • The line zig-zags over several km's (it's actually an aerial transect) so varying orientation. I've had minimal experience with model builder and python...wish I knew more! – Op.Ivy Aug 6 '14 at 3:00
  • This sounds like linear referencing. If you edit your question to include a description of your data and the precise steps up to where you were stuck then it is likely to attract an answer related to that. – PolyGeo Aug 6 '14 at 3:17

This would work better in model builder but you can run it as individual tools.

If you start with Generate Near Table from the points to the line using the options closest and near angle this will give you the angle of the line (radians I think) at the closest location on the line.

Add fields to the near table and original point file NEW_X and NEW_Y and Calculate the new location of these points with trigonometry using cos and sin of the angle and applying it to the points location.

Use Join by attributes to link the FID or OBJECTID (depending on feature type) to the IN_FID on the near table and calculate the NEW_X and NEW_Y with field calculator then export the table using Table Select to clear away the existing geometry and use Feature Class from XY Table if doing manually (right click on table and select create feature class) or if in a model use Make XY Event Layer to generate new points using NEW_X and NEW_Y as the source.

  • Would love to try this but can't find 'Generate Near Table' in the Analysis tools for some reason. Will have to look into it. – Op.Ivy Aug 6 '14 at 3:27
  • That could be due to your license level, that tool is only available with an advanced license. – Michael Stimson Aug 6 '14 at 3:41

Unfortunately, the near function is only available with an Advanced license.

For your problem, it could be solved with linear referencing. What you need is a Route (your transect line) and a list of Events (your points) that could be placed along the aforementioned Route. Shifting them left or right can be done using the Offset option with the Add Route Event Layer

Don't forget that Linear referencing is used to place Events for which you don't have x,y but a distance (M value).

A few question that would help me understand your data :

  • are your points strictly on top of you line?
  • what other fields does contain your point table besides Left/Right info

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.