Floodplain Mapping and Terrain Modeling
Using HEC-RAS and ArcView GIS

Prepared by Eric Tate
Center for Research in Water Resources
April 1999


Table of Contents


Introduction

For several years, the Hydrologic Engineering Center (HEC) has distributed the HEC-RAS hydraulic modeling package. HEC-RAS is designed to aid in the determination of water surface profiles associated based on inputs describing the channel shape, hydraulic parameters, and flow. However, a consistent deficiency of hydraulic models such as HEC-RAS has been their inability to connect the information concerning the water profiles with their physical locations on the land surface. Often the computed water surface elevations must be manually plotted in order to delineate floodplains. This is a task that if automated, would result in significant savings of resources.

A few commercial software companies have capitalized on this opportunity. BOSS International currently distributes RiverCAD software that allows users to display HEC-RAS output in AutoCAD. However, it is our understanding that Geographic information systems (GIS) offer a superior environment for this type of work. Although CAD is a good environment for visualization, GIS provides tools for more complex queries, storage, mapping, analysis, and visualization of the spatial data. Recognizing the advantages of GIS, Dodson & Associates, Inc. has developed GIS Stream Pro, with which the user can develop HEC-RAS cross-sections based on a terrain model. After running HEC-RAS, GIS Stream Pro can delineate the floodplain in ArcView GIS. GIS Stream Pro requires the user to input parameters in HEC-RAS, such as Manning coefficients, bridge and culvert descriptions, and channel contraction/expansion coefficients. For a large HEC-RAS model, this could require a large amount of time for model development. But more importantly, most terrain models do not represent streams very well, due to interference from trees and water in the photogrammetry process. So will cross-sections developed from a terrain model contain sufficient resolution for hydraulic modeling in HEC-RAS?

Many practicing engineers already have established HEC-RAS models for floodplain analysis. The tools described in this tutorial offer a method by which to quickly post-process HEC-RAS output, to allow floodplain visualization and analysis in ArcView GIS. Also, the method can be used develop a terrain model with a high density of points in the channel and a lower density elsewhere. Thus, this single terrain is usable for both hydrologic and hydraulic modeling.


Goals of the Exercise

The primary goal of this exercise is to introduce you to automated floodplain mapping using HEC-RAS and ArcView GIS. By the end of this exercise, you should be able to:


Software and Data Requirements

The HEC-RAS program can be downloaded free of charge from the Hydrologic Engineering Center's home page at: http://www.wrc-hec.usace.army.mil/. The program runs on Windows 95 & 98, NT, and Unix platforms.  A user's manual is also available at this location.  ArcView GIS is a commercial product, and hence, is not free. This exercise requires that you have running HEC-RAS version 2.0, or later, and ArcView version 3.0a or later, with the Spatial Analyst and 3D Analyst extensions. The ArcView Spatial Analyst extension is designed for creating, querying, mapping, and analyzing raster data. The ArcView 3D Analyst extension is intended for creating, analyzing, and visualizing surface data and other 3D data.

The data required for this exercise consist of an HEC-RAS output data file, ArcView shapefiles, and digital imagery, which can be downloaded as two zip files. Floodmap1.zip is a 0.5 MB file that contains the HEC-RAS and ArcView files. Floodmap2.zip is a 7.2 MB file containing digital orthophotography. The data will be used in this tutorial to construct a digital floodplain map of Waller Creek, located in Austin, Texas. Specifically, the zip files contain the following data:

Select a working directory on your computer and download these files into it. Some notables:

Procedure

1. Using the Floodmap Menus

Start ArcView and open the floodplain mapping project floodmap.apr by selecting File/ Open New Project from the main ArcView window. Notice that your working project is now called floodmap.apr. If you double-click on View1 in your project window, a new window called View 1, will appear. It is in this window where most of the GIS work you are going to do will be accomplished. Before continuing, select the File/Set Working Directory menu option and choose a working directory. Some of the data created during this tutorial will be saved to the working directory. This project is customized with special menu options to help in the floodplain mapping process. The primary menus of interest are the Floodmap and Flood-Utility selections, located on the main-menu bar of ArcView. The following image shows your options when you access these menus:

   

Summarized descriptions of these menu items are provided as follows:

A. Data Import

B. Terrain Modeling - These steps are used to produce a triangular irregular network (TIN) terrain model of the channel and floodplain. C. Floodplain Mapping D. Utilities

2. Importing HEC-RAS Output

In order to move into the GIS environment, the HEC-RAS output information must first be extracted. Open HEC-RAS. After executing the model, the output text file can be created by invoking the File/Generate Report menu item from the HEC-RAS main project window. When the selection window comes up choose plan and geometric as the general input data, reach lengths under the summary column, and cross-section table under the detailed output option. In addition, it is important that only one profile is selected for the report and the modeled stream has only one branch (this level of complexity cannot be currently handled by the ArcView scripts). If modeling more than one flow profile, the specific profile used for the output report can be selected using the "Set Profiles" button. The report generator window should look somewhat like the following graphic:

When you are finished setting up the window, click the "Generate Report" button. HEC-RAS will subsequently create an output file and save it in a location you designate. The resulting output file can be viewed in any text editor. Note the location where you saved the file, and exit HEC-RAS.

Next we will import the HEC-RAS data into our ArcView project. Go to the view window and select the Floodmap/Import HEC-RAS Data menu option. Before continuing, it is necessary to choose the units you'd like to work with. For this tutorial, the HEC-RAS model has units of feet. However, the GIS data (shapefiles, orthophotography, and DEM) are in units of meters. When queried by ArcView for the units, select meters:

Depending on the size of the output file and the speed of your computer, the import process could take anywhere between a few seconds to a couple of minutes. The progress is shown at the bottom of the view window. When the processing is complete, select a file name and location when prompted. Basically, this step transforms the output data from textfile format into dBASE format, which can be read by ArcView as a table. To view the data in ArcView, return to the main project window and click on the icon. The table selection window should now show "Table1." Open it and your window should appear something like this:

For each cross-section in the HEC-RAS output file, the following data has been retrieved and stored (the text in parenthesis refers to the table column name):


3. Stream Centerline Representation

The overall goal of mapping HEC-RAS output is to take cross-sectional and water surface profile data from a one-dimensional model, and transform it into two-dimensional map coordinates. In the previous step, importing HEC-RAS output, the model data was brought into ArcView. What is needed now is the basis for which to assign map coordinates to these data in geographic space. This basis is a GIS representation of the stream centerline. There are four primary sources from which to obtain a digital representation of the HEC-RAS stream:

  1. Survey Data - Data representing the stream centerline may be available from field surveys. If so, this is perhaps the quickest way to generate a vector GIS representation of the stream.
  2. Reach Files - Reach files are a series of national hydrologic databases that uniquely identify and interconnect the stream segments or "reaches" that comprise the nation's surface water drainage system. The databases include such information as unique reach codes for each stream segment, upstream/downstream relationships, and stream names (where possible). The latest release, reach file 3 (RF3), consists of attributed 1:100,000 scale digital line graph hydrography. The data can be downloaded from the U.S. Environmental Protection Agency (EPA) BASINS website.
  3. DEM-Based - A program such as CRWR-PrePro can be used to derive a vector stream representation using a DEM as the sole input. CRWR-PrePro and user instructions can be obtained over the internet from the University of Texas.
  4. Digitize the Stream - Using either a digital orthophotograph or digital raster graphic (DRG) as base map, the stream can be digitized using tools in ArcView. DRGs are digitized and geographically referenced topographic maps. DRGs and digital orthophotos for the state of Texas can be obtained from the TNRIS website.
The choice of data source depends heavily upon the quality of the available data. In general, RF3 in the Austin area was not used because the stream representation was often inconsistent with the representation found on 2.5-meter and 1-meter resolution digital orthophotographs. Perhaps the best option is using CRWR- PrePro to develop a digital stream network from a 30-meter (or finer) DEM. This will also ensure that the stream centerline will be consistent with the DEM, which will be used later in this tutorial for terrain modeling. For this tutorial, the stream was digitized in ArcView using a digital orthophoto basemap. This process was easy and fast, but it is probably only feasible if 1-meter (or finer) resolution orthophotography is available. The resulting shapefile is named digitize.shp. To add the theme to the view, click on the , the add theme button. After making sure that the data source type in the add theme window is set to "Feature Data Source", choose digitize.shp. To provide some perspective, also use the button to open the digital orthophoto, orthophoto.tif. To do so, make sure the data source type in the add theme window is set to "Image Data Source." The view window should now look like this:

Regardless of the source of the stream centerline, the attribute table of the shapefile will need to be modified to allow its use in subsequent steps of the floodplain mapping. To do so, make the digitized line theme active, and select Floodmap/Format Digital Stream. When prompted for the stream name, enter "Waller":

We no longer need the theme digitize.shp, so you may delete it from the view window. At this point, it is important to know the direction of the stream line theme. Although common sense says that it should point upstream to downstream, HEC-RAS defines streams in the opposite direction. To be consistent with the HEC-RAS data, the digital stream should point from downstream to upstream. To check the direction of the line, double click on the theme in the legend bar in order to bring up the legend editor. Click on the pen palette and choose an arrow representation.

In actuality, Waller Creek flows from north to south. In this case the digital stream is oriented correctly, from downstream to upstream. If this wasn't the case, the direction could be reversed by making the theme active, and selecting Flood-Utility/Flip Polyline.


4. Cross-Section Mapping

The first step in assigning map coordinates to the cross-sections is to compare the reach lengths according to HEC-RAS and their counterparts on the digital stream centerline. It is possible, for example, that the digital stream is defined to a point farther upstream than the RAS stream, or vice versa. Hence, it's necessary to delineate the upstream and downstream boundaries of the RAS stream on the digital stream. Intermediate stream definition points corresponding to important RAS cross- sections such as bridges or culverts can also be defined. The importance of the intermediate definition points will be given soon.

To help define the upstream, downstream, and intermediate points, we'll use a theme of Austin roads in the point delineation process. Click on the button and add the theme roads.shp. In the legend bar, activate the roads theme and click on its checkbox to view it. Then select Theme/Auto-label. The following window should appear:

As the label field, select "Street_nam" and click OK. The roads theme will now be labeled with the individual street names. Next activate waller.shp in the legend bar, and click on the tool. We're now ready to start defining points on the digital stream. The points we will define are as follows:

Location Type
26th StreetUpstream Boundary
MLK Blvd.Intermediate Point
15th StreetIntermediate Point
11th StreetIntermediate Point
7th StreetIntermediate Point
1st StreetIntermediate Point
End of Waller CreekDownstream Boundary

You can display the roads theme and/or the orthophoto to help locate the definition points. But for now, we'll just use the roads theme. So turn of the orthophoto theme in the legend bar. To begin, find the intersection of 26th Street and Waller Creek, and click the mouse at that spot. When queried for the type of boundary, select "Upstream boundary."

The click of the mouse causes the script attached to the tool to determine the nearest point along the stream centerline and snap the point onto the digital stream. Next find the intersection of MLK Blvd. and Waller Creek and define it as an intermediate point. Proceed to define the rest of the points, moving from upstream to downstream. The view window should now look like:

The stream definition points will form the backbone of the cross-section georeferencing process. Using the data table resulting from the data import step, the HEC-RAS data corresponding to the definition point locations will be associated with these map coordinates. For example, the table record for Waller Creek at 11th street will be connected with the definition point located at Waller Creek at 11th street. This concept is illustrated in the following graphic:

To select the relevant HEC-RAS data, return to Table1. Using the "Station" and "Description" columns as a guide, highlight the record for 26th Street at Waller Creek (Station 13167). Scroll down to select the remaining six records, holding down the shift key to select more than one record.

Definition Point "Station" "Description"
26th Street1316726th Street on Waller Creek
MLK Blvd.8920Footbridge Below MLK on Waller Creek
15th Street714815th Street Bridge on Waller Creek
11th Street5149Footbridge Below 11th Street on Waller Creek
7th Street36387th Street on Waller Creek
1st Street1198Cesar Chavez on Waller
End of Waller Creek0---

When finished, click on the tool to promote the highlighted records to the top. Check them to make sure you've selected the correct seven records. Now return to the view window and select Floodmap/Map HEC-RAS Cross-Sections. (Note: It is important that this step is performed in the same sitting as the data import step. Otherwise, you'll receive the error message "A(n) nil object does not recognize the request get." This is because much of the cross-section data is stored in global variables, which are not saved with the project when exiting ArcView.) When queried, choose "Bounds.shp" as the stream definition point theme, Waller.shp as the stream centerline theme, and Table1 as the HEC-RAS geometry table. One of the query windows will appear as follows:

This input window is for a parameter that will determine the orientation of the cross-section relative to the stream centerline. Using a value of 0 will cause each cross-section to be mapped perpendicular to the stream, at the precise cross-section location. Using a zero value could cause some cross-sections to intersect near bends in the stream. As the orientation parameter increases, perpendicularity is determined based on a longer segment of the stream. For this tutorial, use the default value of 5.

The resulting line theme of the HEC-RAS cross-sections should appear like the graphic shown above. You'll notice that each of the cross-sections is represented as a straight line. In reality, some of the cross-sections may have been set up as doglegs. However, this information is not stored in HEC-RAS, and as such, the straight line assumption was made. At this point, it would be a good idea to save the ArcView project.


5. Terrain Modeling

Most available digital elevation models, regardless of the resolution, do not achieve a high level of accuracy or resolution within stream banks. This is due to the interference of trees and water in point selection during the photogrammetric process. HEC-RAS is a good source of elevation data describing the channel, but typically these data do not possess map coordinates. If the DEM and HEC-RAS data could be combined to form an integrated terrain model, the result would contain elevation information describing the general landscape, with the advantage of extra detail within the stream channel. This integrated terrain model could be used for 3D terrain and floodplain visualization or as an input for software coupling terrain models and hydraulic modeling, such as GIS Stream Pro. The triangular irregular network (TIN) data model will be used to form the integrated terrain model.

Creating a TIN terrain model from two different data sources presents its challenges: the DEM and HEC-RAS data have different collection times, methods, and resolutions. So at the point where the HEC-RAS data ends and the DEM data begins, called the transition zone, some elevation differences are expected. A method to smooth the transition zone is applied. For each cross-section, between the stream banks and the ends, the elevations are resampled using elevation values from the DEM. To initiate this process, add the 30-meter DEM to the view. We'll need to do some work on the DEM before continuing. For some reason, many DEMs are constructed with latitude and longtitude measured in meters and elevation measured in feet. This is the case with our data set. To remedy this, first select Analysis/Properties. Set both the Analysis Extent and Analysis Cell Size to "Same as Auseast." Click OK and select Analysis/Map Calculator and set up the window as shown below:

After clicking OK, a new grid will be created, this time with the elevations in meters. Highlight the new grid in the legend bar, and save the new grid under the name "auseast1" by selecting Theme/Save Data Set. Although you've given the new DEM a name, the legend bar will still show "Map Calculation 1." You can change the legend bar name by selecting Theme/Properties.

We're now ready to begin the terrain modeling. Select Floodmap/Re-Sample Cross-Section Elevations. When queried, choose "Terrain3d.shp" and "auseast1" as the inputs. This process could take a few minutes--the elevation of every cross-section point outside of the main channel is being recalculated. To help visualize the result of the cross-section resampling, a tool with which to create three profiles of any given cross-section has been developed, based on the original cross-section, the DEM, and the resampled cross-section. Select Flood-Utility/Compare Cross- Section Profiles. Select the appropriate themes and the cross-section (river station) you'd like to profile. I've used river station 2510. The coordinate data is written to an ASCII text file that can be plotted using Microsoft Excel. Save the text file and open it in Excel. The Excel text import wizard should engage. The text file is comma delimited, so click next and in the second window check the comma box, followed by the finish button. With the data now in a spreadsheet, they can be graphed on an x-y scatter plot:

There are two things to be noted about this plot:

  1. The resampled cross-section (in blue) is identical to the original cross-section between the stream banks. But in the floodway it begins to approximate the DEM as you move to the end of the cross-section. This ensures a smooth transition from the hydraulic data to the DEM data.
  2. By looking at the figure, it is easy to see why 30-meter DEM data is not good enough to use as the basis for hydraulic modeling: the representation of the stream channel does not provide a sufficient level of detail.
Next we will develop the data that will serve as TIN breaklines: the three-dimensional stream centerline and banklines. Breaklines indicate significant terrain features that represent a change in slope; TIN triangles do not cross breaklines. Select Floodmap/Stream Centerline and Banklines and choose "3dxsects.shp" as the cross-section line theme.

Now we will work on the DEM data. To create a TIN with ArcView 3D Analyst, the input data must be either raster or vector, but not both. So we'll perform a raster to vector conversion on the DEM. Because the DEM is much larger than our study area of Waller Creek, it will be clipped to a smaller size. Open the theme "polyclip.shp" from your working directory. The DEM will be clipped to the extent of this polygon theme. Now select the Flood-Utility/Clip DEM menu item, and use "30mDEM" as the grid and "polyclip.shp" as the clipping theme. Now we are ready for the raster to vector conversion. Select Floodmap/Convert Grid to Points to convert the clipped DEM to a point shapefile.

As input for our terrain TIN, the cross-sections will represent areas within the floodplain and the DEM points will provide elevations for the landscape outside the floodplain. A polygon bounding the cross-sections will be used to delineate the transition zone between the two data sources. To form the polygon, select Floodmap/Cross-Sections Bounding Polygon and choose "3dxsects.shp" as the line theme. At this point, the view window should look somewhat like the following graphic:

The final step before creating the TIN, is to eliminate any DEM points falling within the cross-sections bounding polygon. We can identify these points by intersecting the DEM point theme with the bounding polygon. Make the bounding polygon theme ("Boundary.shp") active and highlight it using the tool. Next make the DEM point theme ("Gridpt.shp") active and select Theme/Select by Theme. Using the drop-down lists, make the window look like the following graphic and click on the "New Set" button.

Click on the button to go view the attribute table of the DEM point theme. In the table window click on the and all of the selected point records to the top. We'll now edit these points out of the shapefile. Select Table/Start Editing and then Edit/Delete Records. Now select Table/Stop Editing and save the edits. If you now return to the view window, you'll notice that the DEM points only occur outside of the floodplain. We're now ready to create the terrain TIN. In the legend bar, make active the themes "Stream3D.shp", "3dxsects.shp", and "gridpt.shp". Then select Surface/Create TIN from Features and the following window should appear:

The theme "Stream3d.shp" is a three-dimensional line shapefile of the stream centerline and banklines. These data will be enforced in the TIN as breaklines. Fill in the window as shown in the graphic. Next, click on the cross-section line theme "3dxsects.shp" on the left side of the window. In the "Input as:" drop down list, select "Mass Points." Finally, click on the DEM point theme, "Gridpt.shp." Select "Mass Points" from the "Input as:" window and "Grid_code" as the "Height Source." Now click the OK button to create the TIN. When ArcView has finished processing the data, the TIN theme will appear in the legend bar. Click the check box to display it. The default color scheme is not ideal for observing the TIN. Double click on the TIN's legend bar to open the TIN legend editor. First click off the check box next to "Lines" and then click the edit button in the "Faces" part of the window. This will open the regular legend editor. Click on the Load button and choose "land.avl." Click OK in the Load Legend" window and then apply in the legend editor. (The image captured from the screen is much grainier than the actual image in ArcView.)

Make the TIN theme active and use the to query the elevations at different locations. Notice that there is a smooth transition where the hydraulic data (cross-sections) meets the DEM data. To view the TIN in 3D, select View/3D Scene and add the view as Themes when queried. To maneuver in the 3D scene, click and hold the left mouse button while moving the mouse. The time required to render the image will depend on your computer's processor speed, RAM, and video card. The right mouse button can be used to zoom in and out. By clicking and holding both mouse buttons, the pan tool is enabled.

You now have a TIN that depicts the general landscape, but also has additional detail in the stream channel and floodplain. The density of points within the channel is sufficient for hydraulic modeling. A terrain model such as this could be used as an input for software such as GIS Stream Pro.


6. Floodplain Delineation

Areas inundated by flooding occur wherever the elevation of the floodwater exceeds that of the land. To delineate these areas, we'll create surface models of the floodwater and land surface, and then compare the elevations. Let's start with the floodwater model. HEC-RAS represents the floodplain as a computed water surface elevation at each cross-section. During the data import step, these elevations were brought into ArcView, along with the distance from the stream centerline to the left and right floodplain boundaries. Hence, two things are known about the floodplain at each cross-section: water surface elevation and width on each side of the centerline. Select Floodmap/Map Water Surface Profiles to map the water surface info. The data inputs are the original cross-section line theme ("Terrain3d.shp") and the HEC-RAS geometry table ("Table1").

The water surface line theme can be used to create a TIN model of the floodwater surface. If the HEC-RAS model was set up correctly, the water surface extent will not exceed the cross-section extent. As such, the cross-section bounding polygon will serve as the outer boundary of our water surface TIN. Activate the water surface theme ("Water3d.shp") and the bounding polygon theme ("Boundary.shp") in the legend bar and select Surface/Create TIN from Features. In the TIN creation window, input the water surface theme into the TIN as hard breaklines, and the bounding polygon theme as a hard clip polygon and then click OK. The default color scheme really doesn't look much like floodwater, so if you like, you can load the legend named "water1.avl." When viewed in a 3D scene in conjunction with the terrain TIN, flooded areas can be seen:

The three-dimensional floodplain view is quite useful for floodplain visualization. But the view shown in the graphic doesn't appear much like the actual landscape. To remedy this, 3D Analyst allows the addition of themes of roads, buildings, railroads, etc., that can be draped over the landscape to more closely approximate reality.

For detailed analysis, the floodplain can be viewed from a planimetric perspective, using a basemap such as a digital orthophotograph. But in order to be accurate, inundated areas should not be delineated using the terrain TIN. Why? The HEC-RAS water surface profiles used to create the water surface TIN were determined using the original cross-sections and not the resampled cross-sections. Hence, a new TIN of the surface terrain needs to be constructed. Activate the themes "Terrain3d.shp", "Stream3d.shp", and "Gridpt.shp" in the legend bar, and select Surface/Create TIN from Features. Specify the parameters just as before in the Terrain Modeling section and click OK. At this point, you can delete resampled cross-section line theme ("3dxsects.shp") and its associated terrain TIN from the view.

Now we have a TIN model for both the land surface and the floodwater. However, the floodplain delineation is more readily performed using the raster data model instead of TINs. In the raster domain, grid cells of water surface elevation and grid cells of land surface elevation can be easily compared using map algebra. As such, we need to convert both TINs to grids. Make the land TIN active and select Theme/Convert to Grid. Choose "landgrid" when prompted for a grid name. In the conversion extent window, set the Output Grid Extent to be the same as the land TIN, set the Output Grid Cell Size to "As Specified Below," and input the cell size as 1 meter:

After clicking OK, ArcView will convert the TIN to a 1-meter resolution grid. Do the same for the water surface TIN. But this time, name the grid watergrid and set the Output Grid Extent to be the same as the water surface TIN. Now both surfaces are represented as grids. Before comparing the two grids, it's necessary to define the analysis extent. Select Analysis/Properties. Set the Analysis Extent to Same as Watergrid, set the Analysis Cell Size "As Specified Below" and input it as 1 meter. Then select Floodmap/Delineate Floodplain. The script will compare the two grids and create an output grid consisting only of areas where the floodwater elevation exceeds the land surface elevation. For the floodplain grid, the color scheme "water2.avl" can be loaded from the legend editor. Add the orthophoto to the view as a basemap:

You now have a floodplain map, in which the extent of flooding can easily be compared to structures of interest shown on the orthophoto, such as businesses, schools, and homes. In addition, the tool can be used to query the depth of flooding at any point in the floodplain.


Conclusions

Welcome to the end of what I hope gave you more of an insight of how HEC-RAS and ArcView can be coupled to produce detailed terrain models and floodplain maps. If you use your own data for this process, there are some things you can do to increase the accuracy of your output:


Go to Eric Tate's Home Page