Determining positions relative to known locations along a highway

Jump to solution
11-17-2015 07:38 AM
New Contributor II


I am a GIS student working on a project and am trying to determine exact x-y coordinates associated with numerous animal-vehicle collisions along a major highway. I have known x-y coordinates of several landmarks and distances that animal-vehicle collisions occurred from the landmarks (for example; 500m east of Arnold mine site, 300m west of highway 5 and 272 junction, etc..). For example if Arnold Mine site is located at UTM coordinates 50000m easting and 10000m northing, I cannot simply add 500m, for 50500m easting and 10000m northing because the location occurs along a highway which is not perfectly horizontal and thus will have changing y coordinates as well. I was wondering if anybody can help with a method which may allow me to accurately place these locations at known distances from landmarks along a highway.

Thanks in advance

0 Kudos
1 Solution

Accepted Solutions
MVP Honored Contributor

This can be solved with linear referencing (LR) to get exact positions on a road relative to an intersection or any point feature.  If you create LR routes from your road network and create intersection points with the cross street name pairs or landmark names you can use them to get the relative measure of any intersection location and offset up or down the road relative to it.

You can use the Locate Features Along Routes to create an event table of all of of your intersection points with all of the routes IDs and measures that define their LR position.  In your event table of collisions add 3 fields for the Route ID and measure of the intersection and measure of the collision.  Once you look up the intersection record in the intersection event table using the cross street names, copy the Route ID and Intersection measure into the fields you added to the collision table and then calculate the collision measure by adding or subtracting 500 from the measure in the intersection measure field.  Assuming your routes are based on the road length and are in meters, this will create a measure that will move your collision 500 m down (add) or up (subtract) the road relative to the intersection based on the route orientation.  Once you have configured your collision table into an LR Route Event layer, the collision will appear where it belongs on your road.

In many ways, LR measures are equivalent to applying stationing to a road so that you can define any position on the road just by giving the station value of each position.

Check out my script for creating intersection points from a road network.

View solution in original post

12 Replies
Occasional Contributor II


What type of software are you going to be using to perform the analysis?  Are the sites that you have x/y's for located along routes?  If so do you have a measured route layer?


New Contributor II

ArcMap software, I am a student so I have access to multiple extensions. The sites that I have x/y's for are all located along one highway feature. I was able to produce a route with linear referencing but am unsure how to determine locations along the highway route at known distances from point features

0 Kudos
Occasional Contributor II

What file format are the x/y's in?  :I'm thinking you could use the Locate Features Along routes" tool.  can you attach a sample of what the x/y's file?

New Contributor II

My x/y's are UTM coordinates in excel but will create a shapefile. Right now I am using one sample point and the highway to try and find a solution.

I should clarify that the point features that I have are the landmarks (example: Arnold mine site) and I am attempting to create new points a certain distance from the landmark (example: 500m east of Arnold mine site) along the highway.

I am experimenting with the "Locate Features Along routes" tool but so far it is giving me distances from the starting of the highway, whereas I want to create new points relative to the start of each landmark along the highway.

Thanks for the replies, it is very much appreciated

0 Kudos
Occasional Contributor II

can you attach the route and point data so I can take a look at it?

0 Kudos
MVP Regular Contributor

Could you use the measure tool and just drop a point _ meters from the known site?  From there, you can use the identify tool to get coordinates.

New Contributor II

I could possibly use the measure tool but there are several hundred points I need to determine and am hoping there is a quicker method

0 Kudos
MVP Frequent Contributor

If the distances are approximate, one semi-manual workflow that could get you there absent a nice linear referencing solution is this:

  1. Buffer each landmark by the distance.  This would be easiest done if you added an attribute field to your landmark feature class with the distance.
  2. Clip your highway lines by the buffers.
  3. Manually place a datapoint at the end of the appropriate line segment.  For example, if the point is 500 meters East of a landmark, find the line segment to the east and place the point.

Caveats - this will do an Euclidean distance - i.e. "as the crow flies".  If your roads wind, this won't work that well.

              - if you have many road segments, it may be confusing to find the appropriate end.

Chris Donohue, GISP

0 Kudos
Regular Contributor II

If you have already created you linear referencing system.  One way to approach the problem, how we do it in house, is to programmaticly query your LRS for the route referenced by your point, with the route filtered to the route in question snap the point to the route compute its measure (Distance along the route) and its offset and direction offset.

If programming is not your forte, (I don't believe python with arcpy can do this, need to use .net), you  may want to try using the tool  ArcToolbox/Linear Referencing Tools/Locate Features Along Routes    this will give you the location along the closets route to the point (it does not use any filtering as described above).

Hope this gives you some ideas ...

After some addition thought ... you could combine within a model ( Read point route reference --->Filter LRS for that  Route  (memory layer/dataset)---> Run the ArcToolbox/Linear Referencing Tool.... with the inputs being the memory layer/dataset)   Models are not my strong point.....