Interpolate Values of Points Along Line

16443
9
12-20-2011 04:05 PM
LeslieHarwood
New Contributor
I have a set of GPS points which were collected along a roadway (include elevation) and I would like to interpolate the elevation value for anywhere between these points (linear). The original point data (Orig_Data.shp in zip) looks like this (green points):



I am interested in the values at the point locations shown below in purple (POI_Extract.shp in zip) which may or may not fall directly on the original points, but do fall along a line generated between these points:



So basically, I believe I will need the following information:



I have tried some methods of raster surface interpolation, but I do not want interference from any values outside of the line along which the points fall (below shows what the entire file looks like using Kriging).  I just want to interpolate between the points - not 2 miles from the points!



Does anyone know the correct way to go about this?  :confused:

Thanks!  🙂
0 Kudos
9 Replies
AndreAndrade
New Contributor
Hello,
I'm having the same problem. Did you find out any solution for it?
Thanks,
André Andrade
0 Kudos
RichardFairhurst
MVP Honored Contributor
With ArcGIS 10 (not sure about earlier versions) Linear Referencing Routes that have XYZM values will interpolate Z at any point along the line.  The Create Route tool should preserve the Z values of the original points and add M values based on the 2D length of the line.  If you want to adjust the M values to account for elevation changes (3D Length) along the line check out my tool in the Gallery.  You can either use the Locate Features Along Route tool or if the points are evenly spaced along the line in 2D or 3D intervals generate your own Event table manually (pretty easy to do in Excel).  However, Route branching my cause an issue with the Event table approach.  Anyway, I hope this helps.
0 Kudos
LeslieHarwood
New Contributor
Richard,

Thank you for the tip!  The Linear Referencing solution worked perfectly 😄

For anyone's future reference, here is a visual explanation of the final solution:

I created a line from the points (which included elevations) that I already had, resulting in a PolylineZ.  Then, using that PolylineZ, used the "Create Routes" tool and "Length" as the Measure Source to create a PolylineZM:



Using this layer, I ran the "Locate Features Along Routes" on my points of interest, which gave me a table of the resultant points and the route they were found along:



I then right-clicked the table and used "Display Route Events" to display the resultant table of points along the Route that I created earlier:



Using this layer, I added a new field to the attribute table for the interpolated elevation values.  Finally, I used "Calculate Geometry" on this field to interpolate the Z Coordinate of each point in this layer:



This method seems to work just perfect for what I was doing, but if anyone else has anyone else has any other suggestions, please add to this thread.

Thanks again, Richard!  🙂
0 Kudos
BruceHarold
Esri Regular Contributor
Guys

This is great use of the software, but at the scale you are working at, if you're doing a levelling survey for a sewer line or something you really need to know the GPS accuracy is right on or check with optical methods.

Cheers
0 Kudos
TimothyKing
New Contributor II
I would like to use a similar method for locations along a corridor that I need the 3d length for. Before I was able to simply use the 2d length, but recently I have learned that I will need to get the 3d length values where the corridor sections intersect the centerline. 

The method I was using was relatively simple and is shown below.

1. I would cut the polygon based on locations where methodology changed. 
2. I would run the Locate Features Along Route tool.
3. I would join the resulting table with the polygon layer with the input OID.
4. Calculate the mileage for the from and to mileposts for the new polygons.

Is there a way to use the 3d length of the route as opposed to the 2d length?

Thanks for any help!

LTK
0 Kudos
RichardFairhurst
MVP Honored Contributor
I would like to use a similar method for locations along a corridor that I need the 3d length for. Before I was able to simply use the 2d length, but recently I have learned that I will need to get the 3d length values where the corridor sections intersect the centerline. 

The method I was using was relatively simple and is shown below.

1. I would cut the polygon based on locations where methodology changed. 
2. I would run the Locate Features Along Route tool.
3. I would join the resulting table with the polygon layer with the input OID.
4. Calculate the mileage for the from and to mileposts for the new polygons.

Is there a way to use the 3d length of the route as opposed to the 2d length?

Thanks for any help!

LTK


If your Routes already have Z values and you have ArcGIS 10 then you can use the Add-In I built to assign Route measures using the 3D lengths of the lines.  Your Routes must be using a Projected Coordinate System with XY values in linear units (i.e., feet, miles, meters, kilometers, etc).

If your Routes do not have Z values and you use one of the 3D Analyst methods to add Z values to the Routes those tools will not output M enabled lines.  I just create a template feature class that includes XYZM and load the features from the 3D Analyst tool output.  My tool will assign the M values in an edit session even if they are all NAN to begin with.  It can change Routes back and forth between 2D and 3D lengths if you like and has similar options as the Create Route tool (ignore or measure gaps, add a starting offset value, use a multiplier to convert measure units, etc.) and can work on all features or just a feature selection.
0 Kudos
ThomasColson
MVP Frequent Contributor

The link to your add in returns "Page not found"

0 Kudos
RichardFairhurst
MVP Honored Contributor

I posted the AddIn under a blog which is located here.

0 Kudos
ThienHuynh1
New Contributor

Dear all

I have same problem when i working with bathmetry river. I want to know elevation any point in river net i used . We can not interpolation by tool in arcmap.I used method like this

Kết quả hình ảnh cho hình tam giác vuông đồng dạng

y(F) = ax(F)+b

y(O)=ax(O)+b

0 Kudos