Calculating difference in elevation (TIN vs Feature Class)

7463
6
Jump to solution
04-06-2016 09:55 AM
AdrianWelsh
MVP Honored Contributor

Alright, I feel like this is an easy question but I cannot seem to find the answer.

Real simple, I have a TIN (as well as an LAS dataset) with elevation. I also have a shapefile feature class (quality control points) that also have elevation. I want to find the difference between each of my points with its associated spot on the TIN surface. Isn't there a tool that does this? I cannot seem to find it right now. I just want a 'simple' Delta Z calculation.

The Surface Difference—Help | ArcGIS for Desktop

tool seems like it would do what I want but this is for two TIN surfaces...  I have 3D analyst and am using ArcGIS Pro 1.2 or ArcMap 10.3.1

1 Solution

Accepted Solutions
NeilAyres
MVP Alum

If you have only 3d analyst, then Interpolate shape might be what you want.

Ned at add a Z attribute to your point file first, calculate the Z into it.

Then run Interpolate shape which will get a new Z from the tin, add another Z attribute etc and get the difference.

If you have SA as well then Sample or Extract Values to Points will do what you want to do.

View solution in original post

6 Replies
AdrianWelsh
MVP Honored Contributor

...thinking about this more, is there a way to perform a spatial join (or equivalent operation) between a TIN and a point feature class? Or maybe between the point feature class and LAS Dataset? There does not seem to be a way through ArcGIS tools (and joins) but maybe there is another toolset out there that might be useful?

thanks!

0 Kudos
DanPatterson_Retired
MVP Emeritus

the more I think about it, perhaps tins aren't the best to use.  unless you have points coincident with the tin nodes, you are going to get an approximation of the elevation differences.  You could convert the tins (or both) to raster, using an appropriate cells size (and the rest), then simply subract (if both converted) or extract values to points if only the tin is used.  So in the end, it depends where your points are relative to the location of the tin nodes.

AdrianWelsh
MVP Honored Contributor

Dan, I appreciate the reply. I agree and disagree. Though, like you said, it depends on the location of the TIN nodes. I played around with making my LAS dataset into a raster and it just wasn't behaving as well as I would have hoped. Though, this is likely on me not putting in the right parameters for creating the raster. I couldn't seem to get my raster data 'fine' enough for the Minus—Help | ArcGIS for Desktop  tool to show something other than zero.

0 Kudos
NeilAyres
MVP Alum

If you have only 3d analyst, then Interpolate shape might be what you want.

Ned at add a Z attribute to your point file first, calculate the Z into it.

Then run Interpolate shape which will get a new Z from the tin, add another Z attribute etc and get the difference.

If you have SA as well then Sample or Extract Values to Points will do what you want to do.

AdrianWelsh
MVP Honored Contributor

Neil, this is great! I have 3D and Spatial Analyst. I looked over the spatial analyst functions you suggested and those wouldn't work as well as the first things you suggested.

Here is what I did, based on your suggestions.

1). Run the Interpolate Shape—Help | ArcGIS for Desktop

tool on my point dataset. Since I have raw LAS data (and in the form of LAS Dataset), this is my best option since my "surface" in which I am interpolating can be in the form of LAS (or TIN or raster).

2). Create a "Z" field in the newly created feature class.

3). Run the Add Surface Information—Help | ArcGIS for Desktop

tool, utilizing Z as my elevation field. 

4). Then, make a new field and subtract the two elevation values to see the difference (using 'absolute value' to factor out negative numbers).

0 Kudos
AdrianWelsh
MVP Honored Contributor

Ok, more to learn... (it's been one of those days...)

I thought about using the Add Z Information—Help | ArcGIS for Desktop

tool since it takes away one step and makes this a little easier of a process.

BUT

I found that just using this tool:

Add Surface Information—Help | ArcGIS for Desktop

that virtually all my problems are solved. I have to first create a Z field or so, then run this tool, and my Z data is populated based on the surface that I inputted for it. [more banging of head on desk]. Either way, I appreciate everyone's help!

0 Kudos