Lab 5: Pulling Topographic Profiles from Dems

Lab 5: Pulling Topographic Profiles from Dems

Winter 2014ArcGIS for GeoscientistsGEOL 596

Lab 5: Pulling topographic profiles from DEMs

The first step of building cross-sections

Pulling topographic profiles from DEMs in ArcGIS can be useful for a variety of purposes beyond just creating cross-sections, but that’s the primary way youare likely to use them. As with everything else we’ve done, there are several steps to this process – here’s a quick overview:

  1. Create a new feature class for your cross-section lines, then draw the lines.
  2. Open the Spatial Analyst toolbar and interpolate the lines using the DEM.
  3. Export the data from the interpolation to Excel.
  4. Create a line graph in Excel and export it to Adobe Illustrator.
  5. Manipulate the scale and layout of the topo profile in Illustrator and draw the cross-section.

I will give you some tips and techniques once you get in to Illustrator as well, but the primary focus of this process is on getting data out of ArcGIS.

For this lab, I will also include fewer step-by-step instructions, since you are repeating many of the same things you’ve done before. My goal is for you to start internalizing some of these processes so that you don’t always need the step-by-step instructions. So if you feel like I am providing less detail and you have to remember how to do stuff, your feelings are valid.

Pulling topographic profiles

It’s possible to pull topographic profiles without creating a new feature class of lines, but doing so allows you to edit the lines once you make them, and will save your lines in another layer that is not only useful but a very common feature of published geologic maps. So you can easily pull topo profiles more quickly if you just want to check it out, but I am going to go through the process to create more “permanent” cross-section profiles, and to create a bunch of them at once.

  1. Launch ArcCatalog and create a new line Feature Class in your feature dataset called cross_section_lines (or topographic_profiles, if you are not making cross-sections). You might add attribute fields that allow you to letter or number the lines and add notes (this was part of Lab 4).
  2. Open your map in ArcMap and add the new feature class (by using Add Data).
  3. Turn on editing and draw your lines (as you did in Lab 4). Be sure to save your work.
  4. Select all of the cross-section lines you just drew.
  5. Open the toolbox (you can do this in either ArcMap or ArcCatalog). Open 3D Analyst  Functional Surface, and double-click on Interpolate Shape.
  1. The following dialogue box should open:

For the input surface, select your projected DEM (do not select your hillshade). The input feature class is your cross-section lines layer. And then you can name the output feature class and put it somewhere reasonable. This is also going to be a line layer, but the lines will have elevation information associated with them. When you select your input surface, the method will probably automatically change to Bilinear – that’s fine. You can keep the default. Once you have everything you need in there, click OK.

  1. This should create a new layer fairly quickly of your interpolated lines (meaning that the lines you drew now have elevation data associated with them drawn from the DEM). Add this to your map – it should directly overlay your other line layer, which you can remove or turn off. Open the 3D Analyst toolbar.
  1. Select one of your cross-section lines from the interpolated layer, and click on the Profile graph icon in the 3D Analyst toolbar .

You should get something that looks like this. You can do a lot of manipulation of the graph here, but don’t bother. We will do all of the manipulation elsewhere.Why, you ask? The short answer is trust me – I’ve tried lots of options other than the following, and this works the best.

If you get something that looks really random, no hills where you expect them to be, you probably interpolated from the Hillshade rather than the DEM. Go back to step 6 – do not pass go, do not collect $200.

  1. Right-click on the graph and select Export…
  2. In the dialogue box that opens, select the Data tab.

You want to export the data in Excel format. This will essentially save a spreadsheet with two columns of data: the first column will be distance along the line, and the second column will be elevation. Once you select Excel as the format, click Save… and save it in a logical place.

  1. Open the data in Excel. Select the two columns of data and create a scatter graph that is a line with no marker symbols.
  2. In Excel, there are a few things you should adjust to make it easier to mess with in Illustrator.
  3. Adjust the scale appropriately. If you are making multiple cross-sections, make the scale exactly the same.
  4. Put the tick-marks inside the box.
  5. Change the font to something simple like Helvetica or Arial.
  6. Get rid of all of the extraneous stuff.

Don’t worry about the vertical exaggeration or the relative scaling of the axes.

  1. Once you have it simplified, right-click in the graph area and select Save As Picture… Then save it as a PDF. You can open the PDF in Illustrator to further edit the graph, including adjusting the scale so that it is 1:1 (no vertical exaggeration) or whatever scale is appropriate for your needs.
  2. Then you can begin to draw the cross-section. As in Arc, draw all your lines and make sure you are happy with the location of your lines before you worry about coloring the units. Once you are happy with the lines, you can generate the polygons from the lines by using the Divide Objects Below command in the Object  Path menu. (This is actually a fairly involved process, which I am glossing over. The general idea is that you want to duplicate the lines, make a box the size of your cross-section that you put below your lines, and then use the duplicated lines to divide the box one step at a time. Again, you want to use snapping to make sure that you are snapping all of the edges together. If this is an anticipated end result for you, let’s talk another time.)

1