height of raster DEM compared to a feature point

1299
4
03-21-2021 10:33 AM
BRott
by
New Contributor

Hello everybody, I hope someone can help me with my question or has a workaround for me.

I have a DEM and a point feature class ontop of it, containing many points. For each of the featrure-points I'd like to calculate a sort of buffer (e.g. 100m) that shows whether the surrounding raster cells of the point are higher (z-value) or lower. I'm using arcmap 10.8.1

Is this possible in any way?

thanks for any help.

0 Kudos
4 Replies
DanPatterson
MVP Esteemed Contributor

Extract by Circle (Spatial Analyst)—ArcGIS Pro | Documentation

will get you the necessary data and the buffer at the same time


... sort of retired...
BRott
by
New Contributor

Thank you for your reply. Is there any way of doing this for multiple points at once?

0 Kudos
Tim_McGinnes
Occasional Contributor III

The Zonal Statistics tool should work for this. Input would be your 100m buffers and DEM, and choose MEAN as the statistic. Will return the average of the DEM values in the buffer which you can then quite easily compare to the original DEM value to see if they are generally above or below.

by Anonymous User
Not applicable

Hi:

This is an interesting question. Just to double-check, if I'm helping you with a homework question, please try to work the problem yourself before reading on. 😁

 

 

 

 

I recommend using either the Euclidean Allocation or Distance Allocation tools to generate the buffer regions around your source points. Add an integer field to your source features that contains their (rounded) heights. Use the Maximum Distance parameter with the EA tool or the Maximum Accumulation parameter with the DA tool to specify the buffer radius. Specify the height field as the source_field. These tools will do both the buffering and allocation (for nearby sources).

 

You then simply subtract this result from your elevation surface to obtain the source-relative height offsets. The subtraction output will be NODATA in the areas where the buffer hasn't reached, which is what you want. You can reclassify the results, or use a multi-part stretch renderer with the middle interval point set to zero to visualize these results.

 

The graphic below shows the results of how allocation assigns cells to nearby sources correctly, and how a stretch renderer is used to color the results relative to each source cell. Shades of red are used for cells beneath their sources , shades of green are used for cells above their sources, and white is used for cells at approximately the same elevation as the sources.

AllocatingCellsToSources.PNG

 

Here are some additional comments:

1. The DA tool has the ability to calculate true distance over a surface, not just distance in the horizontal plane of the projection. I think this could be a game changer for many applications. True surface distance is what you would probably measure in the field. I've shown an example below. The buffer region on the right was calculated two different ways. The blue circle underneath is the 200m buffer calculated using distance in the plane of the projection. The red-white-green buffer was calculated using true surface distance along the hillside.

TrueSurfaceDistanceBuffer.PNG

 

For the upcoming 2.8 release of the Spatial Analyst, the SA team will ship substantially updated conceptual documentation for the new SA distance toolset, that elaborates on these new capabilities. I recommend reading through this documentation carefully, when it becomes available.

 

2. If you wanted to visualize differences relative to the MEAN value of each complete buffer region, then you would have an excellent use case for the newer capability in the Zonal Statistics As Table tool that allows you to calculate statistics for overlapping zones. In that case, you would use the vector Buffer GP tool to generating the overlapping zones, compute the overlapping MEAN, assign that value to the source points, then proceed as above.

You would lose the ability to measure buffers using surface distance though.

 

3. The EA and DA tools allow you to 'spread' an integer attribute, so I rounded source point heights to integers. If that was not acceptable, you could use objectid as the value to spread, then use join and lookup tools to move the floating point height values into your output buffer/accumulation raster.

 

Hope this helps. Let me know if you have any questions on what i've written.

Regards,

-jt

0 Kudos