At Version 2.0, HEC-RAS introduced a geospatial component to the geometry for the description of river networks and cross sections. This capability makes it possible to import channel geometry from CADD or GIS programs though automated data extraction procedures. Similarly, water surface elevations and other HEC-RAS results can be exported to CADD and GIS where they can be used to created model water surfaces for inundation mapping.
The spatial data the HEC-RAS can import and export are evolving - each new version of the software results in additional capabilities. HEC-RAS Version 3.1.3 will import and export data using in a spatial data format in an ASCII text file.
Data import options include:

  • The structure of the river network, as represented by a series of interconnected reaches.
  • The location and geometric description of cross sections for elevation data, bank positions, downstream reach lengths, Manning's n values data, levee positions and elevations (limited to one per bank), ineffective flow area positions and elevations.
  • Bridge deck information for top-of-weir profile, deck width, and distance to the upstream cross section.
  • Lateral and inline structure information top-of-weir profile, deck width, and distance to the upstream cross section for inline structures.
  • Storage area elevation-volume information.

Data export options include:

  • Cross section locations and elevation data.
  • Water surface elevations at each cross section.
  • Bounding polygon information for each water surface profile.
  • Cross-sectional properties.

Spatial Data Format

HEC-RAS Version 3.1.3 will import and export data using a formatted ASCII text file. In general, the spatial data format consists of records, keywords and values. This section provides the general rules for constructing the and HEC-RAS import and export file.

This file format is evolving in that additional data types will be added and existing one may be modified for future versions. If you are writing software to read and write to the HEC-RAS spatial data format, keep in mind that you may need to modify your software to remain compatible with future versions of HEC-RAS.


The spatial data format is composed of records, which are composed of keywords and values. All records must begin with a keyword. A record can also contain a value or a set of values following the keyword. Spaces, tabs, or line ends can be used as delimiters within a record.

A record that contains a keyword and no value marks the beginning or end of a group of related records. For example, the record "BEGIN HEADER:" MARKS the beginning of the header section of the file. A record that contains a keyword and a value assigns that value to the part of the model being named by the keyword.


Keywords are used to identify that values unique to the part of the model being named by the keyword will follow. Keywords must end with a colon separating the keyword and the values. All keywords will have the spaces removed up to the colon and the letters capitalized. The keywords "Begin Header:", "Begin header:", and "Be GiNH eadEr:" are all equivalent. For readability, keywords named in this document will contain internal spaces.


A record can assign a single value to a single variable or multiple values in an array. Values can be integers, floating point numbers, text strings, or locations (X, Y, Z, label). A single value in an array of values is called an "element" of that array.

A numerical value cannot contain internal blanks. A floating point number can contain a decimal point; an integer cannot. Elements in an array can be separated by commas, blanks, tabs, or line ends.

A text string can contain internal blanks, tabs, and commas, but cannot contain internal line ends.

A location consists of three coordinate values and a label (X, Y, Z, label). The first two coordinates are planar and the third is elevation. The coordinate values are floating point numbers and the label can by any type of value. In certain contexts, the elevation value or the label may not be required. If a label is used, all three coordinate values must be given; the value of "NULL" is valid for the elevation coordinate only. The coordinate values and the label can be separated by commas, blanks, or tabs, but a location cannot contain internal line ends.

Data Groups

Records in the data file can be collected in two types of groups: objects and file sections. An object is a group of records that combine to describe an entity within the model – a cross section, for example. A file section is a logical or functional grouping of data. The file header, for example, is a section that contains a description of the entire file.

Objects and file sections begin and end with records that contain keywords but no values. A file section starts with a record containing the a keyword composed of the word "BEGIN" followed by the section name and a colon and ends with a keyword composed of the word "END" followed by the section name and a colon. For example, records containing only the keywords "BEGIN HEADER:" and "END HEADER:" are used to start and end the header section of a file. An object starts with a record containing a keyword naming an object type and "END:" only. For example, a cross-section object begins and ends with records containing the keywords "CROSS-SECTION:" and "END:" only.


Hash characters (#) are used to identify comments. When a hash character is encountered in the file all data from the hash to the next line end is ignored. A line that begins with a hash is equivalent to a blank line.