I realize my problem may be solved using Linear Referencing, and if that's the case I'm looking for help figuring out the workflow involved there.

I'm working in ArcGIS 10.2 Desktop Basic, and this is what I started with. I had a bunch of points where there were animal sightings, and those point were mostly in between two other points called "camera locations" that are start & end points for these animal sighting points. These are separate point features. I was supposed to connect the animal sighting points into a generalized line from the start to the ending camera locations, to have a line. I have this for about a dozen different camera start & end locations, a connect-the-dots line in between them now. Now, I'm supposed to start at the "starting" camera point side of the connect-the-dots line, and measure distances from 0-400', 400-800', 800-1200', and 1200-1600' but if the line ends before 1600' just cut it off at the ending camera location point on the line. To be clear, these are like 12 different polylines in a feature (shapefile), and they each need to be broken up into the measures above.

I'm wondering if someone can take my problem and help me make sense of how to get those measured points along the lines I drew from connecting the previous dots. While I've been using GIS for years, somehow I've never used linear referencing and I'm not sure which of its tools I need to use and when.

closed as too broad by PolyGeo Feb 15 '18 at 6:07

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.


First you need to convert the lines to LR Routes with assigned measures. Each line should have a Field with a unique ID value of some kind that means something to you. That field will be used as the Route ID.

If the lines have to start at 0 for both ends, depending on the camera referenced as the start then you should make the Route ID something like Camera A to Camera B for a line digitized in that direction. Then duplicate the line and flip it and change that line's ID to something like Camera B to Camera A.

Create two double fields on the lines called FROM_END and TO_END. FROM_END will be equal to 0 and TO_END will be the line length in feet for all lines. Use the TWO_FIELDS option of the Create Routes tool and use these fields to assign the measures to your new routes. Before creating the Routes set the Environment of the geoprocessor to use an M Tolerance of .001 and an M resolution of .0001 (or some other value lower than 1 foot so that tightly clustered vertices will get unique measures).

You can open the table and select all of the records and right click the left hand grey block in front of any record to copy the records and then paste them into Excel. This will become a line event table. Add two columns called FROM_MEAS and TO_MEAS and assign all of these records with 0 for the FROM_MEAS and 400 for the TO_MEAS. Now copy that set of rows and paste them under the original set. Change all of those records so that the FROM_MEAS is 400 and the TO_MEAS is 800. Repeat this process adding 400' to the measures of the FROM_MEAS and TO_MEAS field with each new copy until you reach a TO_MEAS measure that exceeds the TO_END measure of a given line. Copy the TO_END value into the TO_MEAS of this last created record and you can stop duplicating that record (or duplicate it and delete it from the next set that would exceed both measures). Now you can sort the table.

Use the Excel to Table tool to import this spreadsheet into a real table and make it a line events layer to display the 400' long segments. You can make these points by creating a point events layer from either the FROM_MEAS or the TO_MEAS field.

  • Hi Richard, thanks so much for taking the time to explain that. I was looking at all these tools, but I didn't know where to start. This really helps. To be honest I haven't fully wrapped my head around this, but I am going to take what I have and work through these suggestions sentence by sentence! – rachel.passer Sep 5 '14 at 19:26
  • 1
    I wanted to mention that this process would work for any line shape between the two cameras (as long as the line does not intersect itself). For example, if you had aerials of the site and found that a straight line passed through dense vegetation or some other barrier to travel you can modify the line to go around the barrier and show the real path the animal would follow. All you would have to do is adjust the TO_END measure to match the new path length so that your 400 foot segments would match the actual travel distances. – Richard Fairhurst Sep 5 '14 at 20:03
  • Hi Richard, I have a follow up question if you manage to see this. One step I am confused by is how to distinguish which ends of the lines are starts or ends. They vary from line to line so in what part of the process, and how, do I designate the starting/ending point on each line? The lines do not have to start at 0 on both ends. – rachel.passer Sep 9 '14 at 15:10
  • Look at this post for ways to make arrows that show the digitized direction of your lines gis.stackexchange.com/questions/112286/… The camera that has priority for that lines should be the from end of the line. Use fields named FROM_ and TO_ to keep track of which camera is at which line end. If you only need to create your 400 foot segments starting at one camera then you do not need to duplicate the lines. If you always make the FROM_END = 0 and TO_END = line length then the measures will match your digitized direction. – Richard Fairhurst Sep 9 '14 at 15:34

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