August 23, 2010

ArcGIS and Volume Elevation Curves

I have been thinking about doing this blog for some time and have finally found the time to get to it. I have been doing volume/elevation curves for engineers for some time and have performed them in a few different applications but ArcGIS Desktop does one of the best jobs.

The premise of this particular curve scenario is one in which a tailings pond is being considered for a mining operation (any mining operation). The geotechnical engineers or geologists have a calculated number for the metric output for the mine over a 20 year period and need to make sure that a tailings pond will accommodate this number. Here is my take on the steps involved in performing a VE curve analysis using ArcGIS and 3D Analyst. Keep in mind I am not an engineer or a geologist and, even though I have performed this analysis hundreds of times, it was always double checked by one of these professionals.

Step 1: Creating the base surface.
Assuming you have a decent DEM for the area in question you will need to import it into ArcGIS as a TIN surface. This can be done using the one of the conversion utilities in Arc such as Raster to TIN under the 3D Analyst toolbar. Assuming the data is currently in an ASCII xyz file you will need to import it as a raster first then perform the Raster to TIN function. The resultant surface will be used for determining the containment area of the tailings pond and for performing the volume calculations at a series of elevations starting at the floor of the proposed tailings area and going to the top of the containment. This top elevation will be roughly determined by the desired containment volume and the practical height of the dam.

Step 2: Create the dam surface
The dam surface can be created in a number of different ways. For the purposes of this exercise we will create the dam in ArcGIS. To do this we will start with a center-line that is placed across the opening of the tailings area as discussed in Step 1. The line can be digitized into a "clean" shapefile or geodatabase feature set. You must ensure that this line crosses well over the desired elevation contour that represents the top elevation of the tailings containment. This will ensure that the resultant dam footprint overlaps the containment area. The resultant data set will need a field for elevation because the dam will be a 3D model used to finish the containment surface.

Figure 1a: Dam Geometry

Figure 1b: Dam TIN

Once the centerline has been established, an offset will be needed to create a practical crest for the dam. A typical offset might be 5 meters to create a 10 meter crest. Next the front and back slopes of the dam must be created. This can be accomplished by offsetting the crest to both the front and back by a predetermined distance (see Figure 1a). Because the faces of the dam are usually planar surfaces a single offset is usually adequate. The trick is figuring out how far to offset the lines. To do this you can look at the crest height and, using the slope of the dam face, determine how far to offset the line so that the outside limits fall below the lowest elevation in the containment surface. For example, if the dam height is 50 meters and the slope is proposed at 2:1 then an offset of 150 meters will ensure that the outside line is well below the containment surface (75 meters as in Figure 1) . This step will be needed both in front and behind the dam because the dam is used for both the tailings containment surface and to establish the footprint of the dam. Finally, convert these features to a new TIN surface using the 3D Analyst dropdown menu Create Tin from Features... It is a best practice to look at the new dam surface and the underlying elevation surface in ArcScene to ensure that the dam side slopes extend well below the Elevation surface (see Figure 2).

Figure 2: Dam Surface through Elevation Surface

Step 3: Containment Outline
The next step is fairly straight forward. You need to acquire the area outline of the tailings containment for given "ultimate dam" height. This requires that you create a planar surface at this elevation.

Figure 3a: Features for Planar Surface
Figure 3b: Tin Difference Polygons

You can do this by creating a new data set (shapefile or geodatabase feature set) and add it to the your map. Remember, you will need to assign a valid projection to this surface or you won't be able to create the necessary TIN surface. Now do the following:
  1. Add a field to the data set for the elevation.
  2. Establish the maximum extents for the containment by looking at the dam location and any contour or elevation information available
  3. digitize a few perpendicular lines covering the entire area (similar to how you created the dam geometry - see Figure 3)
  4. Assign an elevation to each of the lines. This will be the maximum elevation of the containment area which is usually the height of the dam minus an appropriate "free-board" or "draw-down".
  5. Create a TIN surface from the this new data set.
  6. Run the TIN Difference function from the 3D Analyst toolbox using the planar surface as Input TIN 1 and the elevation surface created in Step 1 as Input TIN 2.
The resultant data set will contain the outline of the tailings containment but will be "open" at where the dam should be (see Figure 3b).

Step 4: Create Dam Footprint
This is s very simple and short step. To create the dam footprint you simply use the TIN Difference tool and assign the dam TIN you created in Step 2 as Input TIN 1 and the underlying "DEM" TIN as Input TIN 2. This will give you a number of polygons showing the difference in volume between the two surfaces. The most important polygon will be the one showing the Greater Than area which will include the portion of the DAM above the underlying elevation surface. You may also need to dissolve some of the areas that show "No Change" values to make the polygon complete. Now simply edit this new "Difference" or "Dissolved Difference" data set and remove the polygons that do not include the dam "Toe".

Figure 4a: Dam/Surface Difference

Figure 4b: Dam Toe

Step 5: Close Containment Polygon
To close the containment polygon from Step 3, you can simply run a "Merge" on the new "Dam Toe" data set and the "Containment Difference" data set. You may need to expand the "Dam Toe" dataset to cross the appropriate containment polygon to ensure that the merge is successful and you have only one polygon for the containme nt in the end. Now edit this new data set and remove all the polygons that are not your tailings containment area.

Note: the step of stretching the dam toe is likely due to the detail and accuracy of the underlying DEM.

Step 6: Create the containment TIN for volume elevation analysis
Next you will need to create a surface that describes the containment area of the underlying elevation surface with the appropriate dam face in place. This can be done as follows:
  1. Using the containment area polygon created in Step 4, create a raster with the Polygon to Raster tool where each cell has a value of 1
  2. Using the Map Algebra or Times tools in Spatial Analyst, multiply this containment raster with the underlying elevation raster to create an elevation raster of only the containment area.
  3. Convert this new elevation raster to points (Raster to Point)
  4. Create the inside face of the dam
    • Overlay dam outline from Step 4 and the Dam Geometry from Step 2
    • Offset inside edge of dam crest a number of times so that several end up within the outline of the dam.
    • Adjust the elevation of each line so that it lies at the appropriate slope within the face of the dam. (e.g. 2:1)
    • Trim each line so that it does not extend past the outline of the dam
    • Remove all lines that are not part of the inside face of the dam
  5. Create a new TIN surface that includes the elevation points created here and the new inside dam face.

Figure 5a: Containment Features
Figure 5b: TIN from Features

Step 7: Create Volume Elevation Curve
You can now create a volume elevation curve. The best way to accomplish this is by using the Area and Volume analysis tool under the 3D Analyst tool bar as follows:

  1. Open the Area and Volume tool from the 3D Analyst toolbar
  2. Assign the new containment surface as Input surface
  3. Set the Height of plain to be the same as Z min
  4. Select Calculate statistics below plane
  5. Z factor = 1
  6. Select Save/append statistics to text file and select an appropriate location for the file
  7. Click Calculate statistics
  8. Increase Height of plane by a predetermined amount (e.g. 1o meters). This will likely be determined by the number of points required to create a good curve (typically 8 to 12 points is good)
Figure 6: Area and Volume Statistics Tool

You will now need to open the text file you created and modify the file so that it can be used in excel. The Area and Volume tool writes a number of statistics we don't need like 2D and 3D areas so you will need to remove these. At the same time you will need to create a comma delimited file that can be opened into columns in Excel. In the end you need only the Elevation and Volume items for each iteration in the previous steps. Save the file and open in Excel.

You will now need to add column headers and create the curve. To do this select the Insert -> Chart -> Scatter Chart. When prompted select your data for the chart. You will likely need to switch the columns in the appropriate series so that the volume runs along the X axis and the elevation along the Y. In the end you should have a decent looking VE curve.

Figure 7: Volume Elevation Curve

I hope this was helpful to those that may be new to this process. Please stand by and I will try to add other useful tutorials in the future.


Jackie said...

Thank you for this very informative post. Information on modeling dams in 3D Analyst are sparse indeed. I did have a question about Step 3. When running the Tin Difference tool, I get a blank shapefile. Any ideas?

Anonymous said...

I used to do that. But in GIS 10 the option to add to the file and that the tool window remains open (only you have to change the horizontal plane elevation) is not anymore.
I have to run the tool for every horizontal plane elevation, and save the results in another file. Then you have to copy and paste to your spreadsheet each of the files.
Do you have the solution for GIS 10.
The tool in GIS 10 is in 3D Analist Tools>Fuctional Surface>Surface Volume

Thota Madhu Sudhan Rao said...

Great Post.I have googled for learning what is TIN(triangulated irregular network) and what is rasterized model.But came to blog with a doubt
Is the volume cummulative or the volume at certain height in this graph ?

Wilfred Waters said...

thanks for the tip about creating a TIN from a feature class, I'd forgotten about that. Beats creating a constant raster, converting it to TIN then clipping it to the shape you want.