I am trying to find areas near a series of roads that are withing 500 ft of the road, and have a change in elevation of +50 ft. I have been provided a 2 ft contour of the area, and a centerline layer for the roads in question. My thought process was to intersect the roads and topo, to create points which I could then create the 500 ft buffer from. From there, I am not sure how to proceed and select from this the areas of elevation im looking for
2 Answers
I would:
- Make a raster dtm from the contours
- Use the raster to make the road line 3D
- Buffer the roadline to make a 500ft 3D Buffer in the same resolution as the dtm
- Subtract the road-buffer raster from the dtm raster
- Set all values < 50 in the result to NoData.
- Convert raster to points.
You now have a point dataset with an attribute that shows how much more than 50ft they are above the road (in a perpendicular distance). There will be other approaches but this one springs first to mind.
- Convert contours to DEM (Topo to Raster)
- Change DEM to integer type (Int)
- Run Euclidean Allocation, where feature source = roads, input value raster = integer DEM, and set maximum distance to 500'
- Raster Calculator: Con("Integer DEM" - "Euclidean Allocation">50,1,0). Results in binary raster showing pixels where difference is > 50' within 500' of the road. Could also output DEM value.