ArcGIS – Cut Out or Burn in DEM Along Street Polyline with Different Height, Width, and Elevation Using ArcGIS

arcgis-desktopdem

I have a task to do and can’t seem to find the right tools for the job. Below you can see two graphics to demonstrate my task.

I need to cut off/out some parts of a DEM to unearth several street segments from a tunnel. It’s almost like burning streams into a DEM but more complex.

enter image description here

The cut has to follow a predefined polyline (blue) from P1 to P2, with all the nodes at different elevations (see image below) and lower the DEM to the street level along the polyline. The width of the cut must be flexible, it varies between 4 and 20 meters for different streets. Also, the height of the cut between DEM and street level is different along the polyline (see h1 and h2). The slope between P1 and P2 can be assumed as constant. I have the DEM (1 m resolution) and the lines, but nothing more.

enter image description here

I’m looking for a tool to perform such a cut out/burn in operation, preferably in ArcMap 10.x. I would prefer something automated, since I have 20-30 street polylines to cut/burn, but can also do it one by one per hand, if need be. I have access to ArcMap, but have no experience in programming (Python etc.).

Is there any solution that you can think of?


After using the solution of Hornbydd my result looked like this:

enter image description here

Best Answer

So this is a workflow that I will describe but you could easily do it in model builder to automate the processing. It requires you to have the Spatial Analyst extension and an Advanced license level.

Here is a hill shade of a DSM and a line. You will have identified the elevation at the line end vertices (P1 and P2 in your question). You could have done that manually or extracted the end vertices and used them to query the DSM. In my example the elevations are 147m and 157.6m

Inputs

Step 1 - Create a buffer with flat ends (this uses the Advance license) to your required width.

Buffer

Step 2 - Rasterize the line (polyline to raster tool), ensure same cell size as DSM and snap raster environment setting is set to the DSM.

Raster polyline

Step 3 - Convert raster polyline to points (raster to points tool) and attribute with elevation. Now the raster to points will create a sequence, the first point being one end of the line. Add a new field of type double to the point dataset, call it "ele" for elevation. Work out the range of your elevation (e.g. P2 -P1) and divide that value by the number of points your raster line was made up of, for me that was (157.6 - 147) / 212 = 0.05. Do a field calculate and assign elevation along the points I used the simple equation of 147.6 + (0.05 * !pointid!). !pointid! is a the sequential ID number given to the point when you converted from raster to point.

Assign elevation

The result is a sequence of points stepping up in a constant values (so think of that as a constant plane) from P1 to P2

Result of calculation

Step 4 - Create a Euclidean allocation raster. Use you point data, source field is pointid (not the ele), cell size as DSM, also set mask setting to your buffer polygon and snap raster to DSM. These environment settings are important and limit the extent of processing. End results are cells assigned the pointid.

Euclid Allo

Step 5 - Convert Euclidean allocation raster to a point dataset and join the elevation in your point dataset created in step 3 (that ele field). You can use the Join Field tool.

Join Field

Ooops! - The image above is slightly wrong, you should be joining your ele field with pointid to grid_code, I'm erroneously showing pointid to pointid

Here are the points and the joined elevation values.

Results

Step 6 - Convert the points back to raster, ensure cell size is DSM, snap raster to DSM

result

Step 7 - Optionally run the Focal Statistics tool on the output of step 6 to smooth the raster otherwise you get a stepped appearance in the final raster.

Focal stats

Step 8 - Mosaic your smoothed elevation raster into your DSM to create the required end result.

Final result

Here is the mosaic symbolised as a hill shade and elevation symbology to allow the surface to be displayed.

Result

Related Question