Sustainability of Digital Formats: Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

ESRI GridFloat Output File

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name ESRI GridFloat Output File
Description

Output format created by the GRIDFLOAT command (from ArcInfo Workstation) and by the Raster to Float tool in ArcGIS for Desktop. ESRI_GridFloat is an interchange format, used primarily for exchange with other programs. The semantics of ESRI_GridFloat are identical to those of ESRI_ASCII_Grid. In terms of format structure, however, there are two differences. First, in ESRI_GridFloat the gridded data values are in binary form, typically resulting in smaller files. Second, ESRI_GridFloat is a pair of files: a simple text file with extension .hdr that contains the same information as the first six lines of the equivalent ESRI_ASCII_Grid with one additional line; and the primary content of numeric values in binary form in a file with extension .flt. The two files are associated by sharing the filename before the period, e.g., myfile.flt and myfile.hdr. Any coordinate system can be used to define the grid (aka raster), including the widely used angular measurements with arc-seconds as units. The grid is rectangular. Cells must be "square" in the chosen unit since cell size is defined by a single parameter.

The header file defines the properties of the grid, such as the cell size, the number of rows and columns, and the coordinates of the origin of the rectangular grid. The header keywords can be in upper or lower case.

  • NCOLS xxx
  • NROWS xxx
  • XLLCENTER xxx or XLLCORNER xxx
  • YLLCENTER xxx or YLLCORNER xxx
  • CELLSIZE xxx
    [the length of one side of a square grid cell in same units as coordinate system used to locate the lower left center]
  • NODATA_VALUE xxx
    [Cells without actual values can be assigned a NoData value. The default value for NoData is -9999 but a different value can be specified in the header as shown in example below.]
  • BYTEORDER MSBFIRST or BYTEORDER LSBFIRST
    [Specifying whether the values have the most significant byte first or the least significant byte first. See Notes below.]

An example header file:

  • NCOLS 4
  • NROWS 6
  • XLLCORNER 378923
  • YLLCORNER 4072345
  • CELLSIZE 30
  • NODATA_VALUE -9999.9999
  • BYTEORDER MSBFIRST

The .flt file holds values for a single numeric measure, a value for each cell in the rectangular grid.  The numeric values are in IEEE floating-point 32-bit (aka single-precision) signed binary format. The first number in the .flt file corresponds to the top left cell of the raster/grid. Going from left to right along the top row, the first 32 bits form the value for the first cell, the next 32 bits the value for the second cell, and so on, to the end of the top row. This is repeated for the second row of the raster, continuing to the lower right-hand cell.

Production phase Primarily a middle-state format used for data exchange.
Relationship to other formats
    Equivalent to ESRI_ASCII_Grid, ESRI ArcInfo ASCII Grid. The distinction between the two formats is the representation of the numbers.

Local use Explanation of format description terms

LC experience or existing holdings  
LC preference  

Sustainability factors Explanation of format description terms

Disclosure Very simple file format, designed by ESRI for exchange of gridded data for a single measure. ESRI describes the format informally in its application help files. Although it was designed by ESRI, it is so simple as to be essentially non-proprietary.
    Documentation

In the latest help for ESRI's ArcGIS for Desktop (version 10.3 as of early 2015), ArcGIS for Desktop: Float to Raster describes the format informally. A slightly more detailed description was available in the help for version 9.3 at ArcGIS Desktop 9.3 Help: Import from Float.

Adoption

Supported by ESRI GIS applications for which it was developed as an interchange format. As a very simple format, data in this format can be read into a matrix with simple code in almost any programming language. For example, MATLAB instructions are described in this thread from 2008. An open source gridfloat utility in C can be found at Github: bauerca/gridfloat. Javascript code to input a file can be found at HeightmapFromGridFloat.

As of early 2015, the USGS National Elevation Dataset (NED) 1 and 1/3 arc-second datasets are distributed through pre-packaged 1x1 degree tiles in ArcGrid, GridFloat and IMG formats. These are all binary formats, with GridFloat being the simplest format.

    Licensing and patents No concerns
Transparency Not human readable. However the .flt file has such a simple structure, that writing code to interpret the numbers is straightforward, assuming that the associated .hdr file is present.
Self-documentation See ESRI_ASCII_Grid.
External dependencies None
Technical protection considerations No capabilities for encryption or other technical protection within the format.

Quality and functionality factors Explanation of format description terms


File type signifiers and format identifiers Explanation of format description terms

Tag Value Note
Filename extension flt
For primary file containing numeric values to fill a rectangular grid.
Tag Value Note
Filename extension hdr
For accompanying header file.

Notes Explanation of format description terms

General

Byte order: Binary numbers are typically stored as 32 bits (4 bytes) or 64 bits (8 bytes). Computer processor architectures vary as to the order used for bytes within these multi-byte units. See Endianness on Wikipedia. The byte order in the .hdr file is based on the system used when the binary file was generated. There are two byte orders in common use:

  • LSBFIRST is Least Significant Byte First, also known as little-endian or Intel-order. Intel x86 and DEC Alpha microprocessors use little-endian architectures.
  • MSBFIRST is Most Significant Byte First, also known as being big-endian, Motorola-order and occasionally network order. According to ArcGIS Desktop 9.3 Help: Import From Float from 2008, most UNIX systems had used big-endian microprocessors.
  • VMS_FFLOAT is also listed as an acceptable value for BYTEORDER in some ESRI documentation. This presumably refers to the 32-bit floating point number format used in VAX operating systems. See VAX Floating Point Numbers.

More recent chip architectures are bi-endian, where the byte order is switchable.

History  

Format specifications Explanation of format description terms


Useful references

URLs


Last Updated: 02/27/2017