Aerial Photography and 3D Modeling:
Using Contour Data in ArcGIS to Realistically Model Terrain

Introduction

    GIS programs (specifically ArcGIS) have reached a high enough level of both sophistication and user-friendliness to allow the quick creation of Digital Terrain Models (DTM). Also, these programs allow for many layers (one of the main strengths of a GIS in general) to be situated on top or below one another, and it is possible to exploit this fact in creating 3D models of terrain. The process is simple enough to understand for anyone with the most basic of experience with ArcGIS to complete, and this tutorial/explanation will show you how.

Programs Required

    In this tutorial, ArcGIS and one of its most interesting extensions, 3D Analyst, is used.

Getting Contour Data - Creating a Raster

    There are two quick ways to get height values for a photograph, one is to use the gray values in the image itself (either by using B&W photographs or converting a picture to grayscale) and the other is to overlay it onto a previously created DTM. Using grayscale values means that the heights are not an actual representation of height in the real world and are dependent on conditions such as sunlight. However, in order for contour data to be used for heights, we need a continuous grid of heights so that the entire photograph can be overlaid in order to reflect real-world elevation values for all parts of the photograph, therefore a raster is used. Also, another problem with attempting to only use grayscale values is that in smaller photographs (including one with high resolution), colors may be such that the elevations are jagged and appear random (take a look at this example from Double Ditch).

    Step 1)    Find some contour data! Clearing houses of (often free) contour data are popping up all over the internet, a search on google.com or any major search engine can quickly grant the casual user of the internet a wealth of topographic data. There are two basic formats in GIS, Vector and Raster, and contour data can be found in both formats. This tutorial will focus on using contour data found in Vector format (a shapefile containing lines with elevation values). Of course, if you can find raster contour data, such as a Digital Elevation Model (DEM), then some of the steps outlined below can be skipped (as stated). This tutorial will use data from the New Zealand Topo Online website: http://www.nztopoonline.linz.govt.nz/

    Step 2)     After downloading the contour data (or DEM), start ArcMap, and add the data using the key in ArcMap. (see below)

    Step 3)    In order to use this data for the purposes of creating a terrain model, we have to turn it into a raster file. However, if you are using a DEM, then you can skip this step. The 3D-Analyst add-on must be turned on first (if its not, simply go into Tools - Extensions and click the box next to 3D Analyst). Once you are sure that 3D-Analyst is on, click the "Create TIN from features" button under 3D Analyst - Create/Modify TIN:

    Click the box next to Contours under Layer (this tells the program where to get elevation data), select Elevation and triangulate as mass points. This will create a Triangulated Irregular Network (TIN), which is series of triangles that best fits points throughout the contour data. The next step will create the raster for use in ArcScene.

    Step 4)    ArcMap will have added the TIN to the window automatically, and you will know if its been added correctly because it takes quite a while to load TIN's (especially if they cover large sections of terrain). To create the Raster, simply click the 3D Analyst button in the toolbars area, select Convert -> TIN to Raster, and use similar values to the ones below. Important: if you want more accuracy, simply increase the Cell size, it will place more actual heights into the raster, but the more resolution, the more processing power required to display. That's it, you have now created a DEM from Vector Data, and we can now enter ArcScene and overlay the aerial photos. Again, if you are already using a raster format file, you can skip this step.

Overlaying the Aerial Photo

    Now that we have converted the contour data into a Raster, or are using a DEM, we can use ArcScene to overlay the aerial photo (a georeferenced photo). The NZ Topo Online website, as do many US websites (especially http://terraserver-usa.com/), offers both Topo Maps and Aerial Photos from the same page, making georeferencing much easier.

    Once ArcScene is started, add both the Aerial Photo and the Raster (usually labeled as tingrid in your working folder). Since the two images are georeferenced to the same points, they should automatically overlap. All that is left to do is tell ArcScene that you want the aerial photo to conform to heights in the raster (tingrid). To do this, simply double click on the name of the photo in the Table of Contents and the Properties dialogue will open. Select the appropriate tingrid under "Obtain heights for layer from surface." In this case, the layer is the aerial photo and the surface is the raster (tingrid).

    Click okay and what a view! Actually, since we are so used to living inside a landscape, using the vertical exaggeration can often make the image seem more real (this is done in ArcScene by double-clicking the Scene Layers in the Table of Contents, going to the General tab and selecting a vertical exaggeration (1.5 is pretty good). If working with micro-topography data, you may want to set this much higher.

Once you click okay, you will have a 3D model of your landscape with an aerial photo on top of it, and its referenced to real world coordinates and heights! Cool! You can also use ArcScene to create animations and easily overlay any type of data onto the photo (or below, you can make these images transparent as well in its properties box).