Site Modeling in Context
Obtaining And Transforming Elevation Data
Place-Based design projects benefit from an understanding and representation of the local terrain. Terrain data is surprisingly easy to obtain and convert into useful representations that may be used in GIS and also popular CAD and 3D modeling formats. This page discusses the how to obtain georeferenced terrain data for nearly anywhere in the world and georeferencd aerial photography within the United States. A few tools are presented for transforming these raster terrain models into: synthetic shaded relief images; contours for laser cutting; surfaces for 3d visualization, and editable breaklines that serve as the basis of earthwork and grading studies.
Some things you can do with digital elevation models
Digital Elevation Models (DEMs) are a type of raster GIS layer. Raster GIS represents the world as a regular arrangement of locations. In a DEM, each cell has a value corresponding to its elevation. The fact that locations are arranged regularly permits the raster GIS to infer many interesting associations among locations: Which cells are upstream from other cells? Which locations are visible from a given point? Where are the steep slopes? One of the most powerful applications of DEMs is adding synthetic hill-shading to maps so that the map reader may see the relationship between terrain and other things you may be mapping.
A Digital Elevation Model (DEM) is a raster of elevation values. Rasters represent the world as regular arrangements of pixels (cells). Rasters lend themselves to systematic analysis of the relationships among places and their properties.
Synthetic Hillshade calculated from a DEM is a great way to create visualizations of terrain with other semi-transparent themes. DEMs can also be used to create 3-D scenes or to create contour which may be exported to CAD programs.
Table of Contents
- Download the sample data-set
- Special Notes for Handling Rasters in ArcMap
- Finding Free Aerial Photos, Elevation, and Land Use Data on the Web
- Evaluate Raster Resolution and Fitness-for-Purpose
- Transforming Rasters with Geoprocessing Tools
- Creating Shaded Relief
- Making Contours
- Special Tips for Transforming and Exchanging Terrain Data
Download the Sample Dataset
To save time in this tutorial, and to eliminate crazy variables that may cascade from oddities of your particular download, the rest of this tutorial will use the following sample dataset:
- Click here to download the sample dataset expand it into your c:\temp folder.
- Open the latest version of the greenline_ext.mxd map document from the gis_docs folder.
... from the GSD GIS Manual
- Fundamentals of Geodesy and Map Projections
- Data Formats for Geography
- A Quick overview of Topographic Surveying and Photogrammetry
Special Notes for Handling Rasters in ArcMap
- When opening images using the Add Data button, don't double-click. Highlight the image in the Add Data dialog and then click Add. If you double click on an image that has multiple channels, like a jpeg, tif or jpeg2000, arcmap will let you open one channel (band) at a time: Band 1, Band 2, ...) Opening a single channel will give you a gray scale image, but this is usually not what you want.
- If get an error message from ArcMap telling you that This Tool is not Licensed you should go to Customize->Extensions and check the boxes next to 3d Analyst and Spatial Analyst
- Some of the geoprocessing tools in arcmap are sensitive to the way folders and files are named. You should always keep your working data in a folder near the top of your local disk drive: e.g. C:\gisprojects\porter_square\sources.
- Don't use folders or file names that have spaces or non alpha-numeric characters in them, except "_".
- Never begin the name of a folder or a GIS data-sets that begin with a numeral.
- When offered a choice of Arcinfo GRID format for rasters, choose the other format. ArcInfo GRID is a very old, proprietary file format which is very difficult to handle and fraught with bad luck. Use it only as a last resort.
- Always save your output rasters as Imagine Image .img or .tif format files. This format is the most trouble-free of all raster formats supported by ArcMap. To do this, save the image in a plain folder (not a geodatabase) and give the file a simple name (no spaces) and add a .img suffix to the file name.
- If you have myterious unexplained behavior especially with rasters in ArcMap, try saving your output rasters in a very simple folser like c:\gis\scratch.
- make sure that your Geoprocessing > Environments > Processimg Extent set to a rectangle that includes your entire study area and ... Output Coordinates set to a projection that has linear units of Meters.
Finding Free Aerial Photos, Elevation, and Land Use Data on the Web
National Elevation Dataset and NLCD, National Land Cover Characterization Dataset and the NAIP (National Aerial Photography) are a complete seamless coverage of Elevation and Land Cover and aerial photography. These are available for free download via National Map Viewer. Here is the basic download procedure. Take a look at this annotated screenshots.
- Visit the new National Map Data Download page.
- Zoom to your are of interest on the map and select your data view screenshot
- Click the Products link, then click Results and then Click Download.view screenshot
Hints for the National Map Viewer:
- The 1/3 and 1/9 ArcSecond Elevation data are not available for all areas. For this tutorial, I recommend that you download the 1/3 Arc Second NED Data -- or use the tutorial dataset, linked above.
- When offered a choice of an ArcGrid Dataset, vs a GeoTiff or an .img formatted dataset, take one of the latter. ArcGrid format is a very old proprietary format that poses many difficulties, too numerous to mention here.
- The National Map Downloader seems very slow and not all that reliable as I write this in February 2016 it is going down for maintenance for a few days. Maybe they will fix it.
Explore Some Rasters from the USGS
This project introduces raster data-sets. Rasters are a means of encoding and exchanging references to things and conditions like the shapefile feature classes that we have already learned about. While Feature Classes use tables to store references to discrete things and their attributes. Rasters use Pixels, or Cells to store references to equally-sized rectangular places. Within a raster layer, individual cells can be distinguished by values, which can either be integer numbers that are associated with categorical conditions, like land use. Or floating point decimal numbers that can represent values on a continuous scale, for example, temperature or elevation. You may also have multi-channel rasters that use integer values frm 0-255 to represent reflectance of particular bands or channels of the electromagnetic spectrum, for example, Red, Green and Blue.
- Data Formats for Geography (In this tutorial collection)
- Adding Raster Data to the Map.
- Raster Formats Supported by ArcMap
- Raster Data Properties
- Use windows ex[plorer to examine the files in the Sources/usgs_downloads folder within the tutorial data-set. You will find three folders there:
- NAIP_2013: A georeferenced Jpeg2000 image, 19TCG255935_201304_0x3000m_4B_1.jp2 which is an aerial photo from the USDA National Agriculture Imagery Program (NAIP). This image has 4 Channels (including Red Green Blue and Infrared. Each cell is 1 meter. Note that higher resolution imagery (up to 30cm) is available from the National Map.
- ned_third_sec: One-Third ArcSecond A digital elevation model (DEM) in Erdas Imagine format, imgn43w72_71_mcl.img.
- nlcd. A clipped tile from the National Land Cover Dataset from 2011 in TIF format. NLCD2011_LC_N42W0691_clipped.tif
Explore your Elevation Raster
The U.S. Geological Survey National Elevation Dataset is an example of a continuous surface raster. The term Raster denotes a means of describing a condition as a matrix of congruent rectangular cells. In the world of imagery, these cells are called pixels. In a continuous value raster the cell values are decimal values. Its possible also to have integer rasters and true-color imagery that represents reflected light in channels, like Red, Green and Blue and sometimes Infrared. I've just scratched the surface of raster data formats here. For more information consult the references below.
- Introduction to Raster Data from the ArcMap 10.2 Web Help.
- Bit Depth and Raster Data Types
- Renderers used to Display Raster Data
Explore Your Raster
- Use the Add Data button to add your national elevation dataset raster, imgn43w072_13.img from the Sources\USGS_Downoads\n43w072 folder.
- Use the Identify Tool to click on a cell. Note the Pixel Value and the Streech Value.
- The Pixel Value represents the elevation of the cell that you clicked, in Meters above Mean Sea Level. The cell values in most cases were determined by interpolating points collected with stereo photogrammetry.
- The Stretch value is a number between 0 and 255. The stretch can be manipulated with the symbology properties of the layer. Try different symbolization methods.
- zoom to a scale and a location where you can clearly see the shape of a cell. Note that in a projected data frame, the cells are not square. You could use the measure tool to see their dimension. It is about 9 by 7 meters. With a resolution like this you would not expect this representation of elevation to represent features in the landscape that are less then 30 meters in extent (a three-by-three cell neighborhood.) Why not?
- Take a look at the Source properties of the raster. Take a look at the spatial referencing system of the raster. It is GCS, NAD83. This means that the inherent units used to encode the location and the shape of cells is simply Decimal Degrees. This explains why the description of the Cell Size in the source properties is such a very small number -- because 9 meters is a very small portion of a decimal degree (approximately 100 kilometers at the equator.) Ths mismatch in scale between the X,Y units and the Z units (meters) wil lbe a problem we have to deal with later.
Evaluate Raster Resolution and Fitness-for-Purpose
In any data-set one should be concerned with fitness-for-purpose. The question of Precision in a raster can be discussed as a function of cell-size. Although one should keep in mind that it is possible to change the cell-size of a raster data-set, making it smaller or smoother, A discussion of precision cannot rely on cell-size alone but ought to reflect on the methodology by which the data were collected, and the sort of distinctions that can be expected to have been observed and recorded in the original data (which may have originated as vector points, lines or polygons, or interpolations among discrete observations, or earnest observations of values taken form some sort of radar or photographic scanner.
Understanding the precision of the source data is a critical element of understanding the fitness of a data-set for representing specific types of things and conditions that may be of interest in a decision-making situation. This fitness for purpose is a synonym for accuracy which may be preferred because the term Accuracy is commonly misunderstood to mean the same thing as precision. To evaluate a data-set in terms os a particular application, the analyst must have in mind the specific sorts of features that would be expected to play a role given specific spatial mechanisms that are of interest. Analysts who ignore or mis-concieve the precision and fitness-for-purpose in their data promote a belief that their data are perfect -- which is, of course, always false. It may be that the data re good enough, but this assumption should never go without saying.
The diagrams below portray the relationship between cell-size and accuracy in rasters.
It bears repeating that in the discussion above, we assume that the original cell-size actually represents truthful distinctions. The discussion of precision shuold always reflect on the precision of the methodology that produced the original data.
Tech tip: Many raster tools that analyze corridors and barriers and other matters of contiguity have settings that allow you to define whether to recognize diagonal connections. And tools for converting vector data to raster (also known as sampling) have settings that allow for very small features to be recognized as cells.
Transforming Rasters with Geoprocessing Tools
Digital terrain models are interesting to look at, but more importantly, they can be transformed into other forms of data that are useful for many things. We can calculate slope and aspect, we can make shaded relief that makes the terrain model much more informative graphically. We can even create contours at whatever contour interval we want. Contours are also useful graphically, for laser cutting and exchange of three dimensional models with other programs. Probably the most efficient ways to terrain information out of GIS and into a 3d modeling package is as a triangulated surface. This is also quite easy to do!
These transformations are carried out using tools form the Geoprocessing Toolbox > Spatial Analyst > Surface Toolset. Geoprocessing tools are a very powerful aspect of ArcGIS. All of the tools have a similar interface, that have a Help feature that lets you learn more about what the tool does and Environments that conmtrol the ways that the tool works. The Environment settings for tools can be set each time you run a tool, or you can use the Geoprocessing > Environments from the main menu bar to set the default environments for all tools. Before we start using tools, we will set the environment variables to control the processing extent andf the output coordinate system that will be assumed or all of our operations. This will make things much faster and make sure that our elevation values are in scale with our X, Y units.
- Setting up your Geoprocessing Environment
- An Overview of Geoprocessing
- An A quick Tour of Geoprocessing
- Geoprocessing Tools
- The Surface Analysis Toolbox
- A Quick Tour of Finding Tools
- Using Tool Dialogs
- What is an Environment Setting?
- Setting Environments for a Tool
Set up your Geoprocessing Environment
- Zoom your map to an extent that includes all of your study area.
- Go to the Geoprocessing menu and choose Environments
- See a list of settings that affect the way that tools work.
- Click Processing Extent and use the pulldown menu to choose Same as Display.
- Click Output Coordinates and set the coordinate system to Same as Display -- assuming that your display is set to a projection with XY units as Meters as we have set ours, above.
- Click Workspace and use the little folder (browse) button to point your default Workspace amd Scratch locations to the scratch folder witin your project.
Creating Shaded Relief
We will begin by transforming our elevation raster to a shaded relief map and an aspect layer using wizards from the ArcGIS Geoprocessing Toolbox. You will see how to use the individual wizards in the toolbox. A the end of this document, you will see how geoprocessing tools can be chained together to create custom tools that will let us create custom wizards to automate useful tasks!
Transforming Elevation to Hillshade and Aspect
These two tasks will allow us to introduce the toolbox and a few simple wizards. The input raster for each of these procedures should be projected as described above.
Create Hillshade and Aspect Rasters
- Make sure you have the Spatial Analyst and 3d Analyst extensions enabled in Tools->Extensions
- Open the Toolbox Panel in ArcMap by clicking the little red toolbox icon raster.
- You can find the Hillshade and other surface tools in the Spatial Analyst toolbox within the Surface toolset.
- Open the Hillshade tool.
- Click the Show Help button at the bottom of this geoprocessing dialog.
- Click in any of the input boxes and note the context sensitive help.
- Click the More Help link at the bottom of the Help panel to see more information about the parameters of this tool. You can also click More information about how Hillshade works" on this page to see a more conceptual discussion.
- In the Output Raster blank use the browse button to find a location in your project folder and give your output raster a name with a .img suffix.
- Proceed to create a hillshade raster.
- Take a look at the Display properties of the raster. See that its stretch type is set to Minimum Maximum. You can play with different stretch methods to see what they do. The object is to be able to integrate the hillshading into your map's background so that you can see it.
Does your Hillshade look too High-Contrast?
Hillshade with GCS: The hillshade tool shades slopes based on their steepness and direction. This reqires that the X, Y and Z (elevation) coordinates are all in scale. If you create a hillshade on a raster whose XY coordinates are GCS (latitude and longitude) your Z values wil be drastically out of scale with X and Y and will create an effect of an extremely steep, ragged jagged landscape. Your hillshade wil look like this screenshot. If your hillshjade looks like that, then you need to make sure you have set your geoprocessing environment as described above.
Suggestions for Using Hillshade in a Graphical Hierarchy
The idea of Graphical Hierarchy is described in depth im the page on Elements of Cartographic Style. The fundamental idea is that a map is a means of transforming and packaging information into graphics that stimulate understanding of the relationships relevant in a decision-making context. Terrain is almost always a critical aspect how people deal with spatial problems -- or understand the relationships places within a context. A hillshade raster is an extremely efficient way to convey a sense of the steepness and relative height of terrain features of an area. Within the overall framework of graphical hierarchy, we ought to consider the Hillshade as part opf the background of the map -- that is it converts fundamental information about land form -- like the distinction between land and water, which are intended to be noticed subliminally -- wihout any effort on the part of the user.
The trick described below makes the hillshade layer transparent and then applies a Standard Deviation stretch to strategically adjust the contrast and brightness of the highlights and shading in your hillshade layer.
- With your Table of contents in the List by Drawing Order mode, drag your hillshade layer to the top of your stack of layers.
- Double-click your the Hillshade layer and find the Display properties.
- Set the transparency to 50% (you may adjust this later.)
- In the Symbology Properties, set the Stretch function to None.
- Hit the Apply button. Notice that your hillshade is mostly gray. Look at the Histogram.
- In the Symbology Properties, set the Stretch function to Standard Deviation Stretch. Notice that N is set to 2.5. Look at the Histogram.
- Hit the Apply button.
- Change the number of standard deviations Nto 5. Notice how having a higher N mellows the highlight and shadow.
- Adjust to taste.
It has been noted that a cartographer has a lot of control to potentially misrepresent the apparent steepness affecting a study area. This is true. Map critics should be aware of this. When cartographers mis-apply this, eople familiar with the terrain of an area will probably mistrust the map.
To apply terrain shading to greatest effect, you shold keep in mind that the effect rests in adjustng the brightness and darkness of colors. In your color-picker, this parameter is known as Color Value. So it is helpful to choose thematic colors that do not vary too much in value. If you do, then distinctions in your thematic legend may become confused with the terrain shading and vice versa.
Do not confuse terrain shading with daylight illumination
The trick of synthetic relief shading demonstrates a fascinating phenomena of visual communication. Even though the default sun azimuth for the hillshade tool (315 degrees, northwest) may never actually occur at your site, you should use this (or some other northern angle.) Setting your synthetic illumination to be in the north is an important convention because shading works because your eye can easily imagine bumps sticking out of the maps, are being highlighted by the source of light in the room (which is normally overhead.) If the illumination is coming from below, the eye and brain still assume that things are highlighted from below, so the map will appear inside-out.
Check out these examples: Mouse over the words in the left column to change the image
Conventional Illumination This sun angle, 315 degrees, never occurs in Oregon, but the hillshading makes the mountains appear to pop out appropriately. Note that the stream is running through the valley to the river.
Natural Illumination This sun angle, 135 degrees, (Southeast) may simulate a mid-morning condition for the site, but the trick of synthetic hillshading makes the valleys, not the mountains appear to pop out! Hillshading is an optical illusion that takes advantage of our assumption that the illumination is from overhead and shadows occur underneath things, not on top of them.
Natural Sun Angle, map oriented north-down With this map we can have a natural sun angle -- and effective relief shading -- at the expense of the cartographic convention for keeping north at the top of the map.
The next set of steps covers the creation of contours. The "Create Contours" tool in the surface toolbox makes it straightforward to choose a contour interval and to scale the vertical units using a Z-Factor. These contours can also be exported to CAD. The references and processing steps listed below cover the basic tools for creating contours. For a more nuanced approach, take a look at the DEM to DXF Contours tool described in the next section.
Create and Label Contours
- Find the Contour tool in the tool panel under Spatial Analyst Tools > Surface tool set.
- Open the help panel on the wizard, and mouse over the different fields.
- Click the Help button at the lower right to look at the entire help document.
- It may take some experimentation to choose a contour interval that reveals the lay of the land without creating inscrutable bunches of contours.
- If you want to change the Z units to feet, use a Z-Factor of 3.28.
- Once you have created a new contour feature class, open the Attribute Table of your new contour layer. Note that each contour is a polyline and has an attribute named Contour that holds the elevation for each.
- You can label the contours with the label properties of the layer. Make sure that you choose the correct attribute to label your contours.
- It is conventional to associate contours with the line that they are labeling by making the labels a similar color as the line and aligning the label with the line. Alignment of labels is accomplished with the Placement Properties options in the Label Properties dialog for your layer.
- To keep the contour label from conflicting with the line, you can alter the label properties to create a halo under each label. To find the halo mask properties, go to the Label Properties for your contour layer, choose Symbol, then Edit Symbol than set your options under the Mask tab. It is best to choose a color that is similar to the hue and value of the general background of your map.
- Finally, if you want to show a lot of contours, say every Meter, You can help your users by creating a layer of index contours, say every five meters. Your index contours can be darker and labeled while the one meter contours are not.
Special Tips for Transforming and Exchanging Terrain Data
These tips may not be necessary for completing the basic terrain modeling exercise, but may come up when you try to do other things.
Mosaicing Elevation Rasters
It is often the case that you are forced to download raster data in multiple tiles. This can present a problem because some operations are much more straightforward when working with a continuous surface. And so you first processing step may be to create a mosaic of all of the rasters. To do this you would use the Mosaic To New Raster tool from the gepoprocessing toolbox under Data Management > Raster > Raster Dataset > Mosaic to New Raster
To use this tool, you have to tell it what sort if raster you need. You need to scroll down inthe tool dialog to see theblanks for Number of Bands and Pixel Type. The best way to figure out what you need toset here is to inspect the Source Properties of one of the rasters that you are intending to mosaic.
Exchanging an Elevation Model with Rhino via an ASCII Point Cloud
This technique is particularly useful for importing terrain models to Rhino via the Rhino Terrain Plugin. Many people try to do this via contours, which seems logical, except that much information is lost in the transformation of raster to contours. Converting to a pointcloud exchanges the elevation data cell-by cell with virtually no loss. This can then be converted to a mesh in rhino and then you can cut contours as needed from this mesh, as described in the Rhinoterrain Tutorial. The Rhinoterrain workflow also benefits from the capability to incorporate a georeferenced image for reference and for rendering, draped on the terrain surface. Making all of this work is accomplished by creating a reference frame, as described in the tutorial Creating a Georeferencing Frame.. If you aren't interested in exchanging images with rhinoterrain, you can ignore step 3 in the instructions below.
- Project your raster using the cubic resampling method as described above.
- Zoom in to the area you want to export
- Enable the Spatial Analyst Extension by going to Costomize>Extensions and checking the apropriate box.
- Open the Toolbox by clicking the little red toolbox icon on the arcmap toolbar.
- Find the Conversion Tools > Raster >Raster to Ascii tool
- If you do not want to export the entire raster to ascii, click the environments button. Click Processing Extent and either choose Same As Display or choose your reference frame from the pulldown list of layers.
- Export your raster to ascii.
- Import your point cloud and your frame shape file to rhino using the RhinoTerrain plugin!!