Reading the ArcGIS help: Supported raster dataset file formats, I read that ASCII Grid file types are addressed with the singular file extension .asc for both 16 bit signed-integer (for discrete data) and 32 bit floating-point files (for continuous data).

They say in Esri Grid format section:

A grid is a raster data storage format native to Esri. There are two types of grids: integer and floating point.

and then, it describes what both formats are.

My confusion comes in the next help section Esri ASCII raster format. There, they only mention the floating point format. So, I would like to know:

  1. Is the 16-bit signed integer format for discrete data also considered a raster format, besides grid?
  2. In 'ESRI Grid format - Grid data storage' section, they cite several other extensions such as .bnd, .hrd, etc.? Is the 16-bit signed-integer .asc file, the ASCII version of an Esri discrete data grid format?

The motivation for this question is to describe/understand what is a file with extension .asc.


In the Esri world an .asc file usually refers to the output created by the GRIDASCII command (ArcInfo Workstation) or Raster to ASCII tool (ArcGIS for Desktop). In practice it can mean just about any format, usually plain text, meaning one can't assume from the .asc extension what it looks like inside.

It's an interchange format, meaning it's not (normally) used as input for analysis or primary storage, but for exchange with other programs.

The Esri ASCII Raster format can use either integer or floating point numbers for the Z (cell) value. These are both valid:

43 2 45 7 3 56 2 5 23 65 34 6 32 54 57 34
35 45 65 34 2 6 78 4 2 6 89 3 2 7 45 23 5 ...

43.245 7.356 2.523 6.534 6.325 57.34
35.456 34.267 4.268 32.745 23.5 ...

The Esri GRID format, also called Arcinfo Binary Grid, is comprised of multiple files in a single directory (.hdr,.adf,...) and whose contents are opaque (looks like gobbledygook in a text editor). The grid specification is unpublished, but has been very successfully reverse engineered. Binary Grid is the default raster format for ArcInfo Workstation (actually comes from its GRID program) and is used as primary storage and analysis input.

You didn't ask about this, but for completeness: there is also the Esri floating point grid interchange file format. It is not used for primary storage or analysis.

Floating point grids are created from the GRIDFLOAT (ArcInfo Workstation) command or Raster to Float (ArcGIS for Desktop) tool and typically has a .flt extension for the raw values (binary encoded), and side car .hdr file describing the format. The .hdr is plain text and resembles the beginning of an .asc file:

ncols         382
nrows         425
xllcorner     217996.296875
yllcorner     708952.625
cellsize      300.0741885626
NODATA_value  -9999
byteorder     LSBFIRST

In practice, if you have a file of unknown format that you think might be a raster, show it to gdalinfo from and it will usually be able to uncover what it is:

D:\> gdalinfo strange_file.raw

Driver: AAIGrid/Arc/Info ASCII Grid
Files: strange_file.raw
Size is 382, 425
Coordinate System is `'
Origin = (217996.296875000000000,836484.155139103760000)
Pixel Size = (300.074188562596990,-300.074188562596990)
Corner Coordinates:
Upper Left  (  217996.297,  836484.155)
Lower Left  (  217996.297,  708952.625)
Upper Right (  332624.637,  836484.155)
Lower Right (  332624.637,  708952.625)
Center      (  275310.467,  772718.390)
Band 1 Block=382x1 Type=Int32, ColorInterp=Undefined
  NoData Value=-2147483648


D:\>gdalinfo strange_file_too.raw

Driver: EHdr/ESRI .hdr Labelled
Files: strange_file_too.flt
Size is 382, 425
Band 1 Block=382x1 Type=Float32, ColorInterp=Undefined
  NoData Value=-9999

...and then use gdal_translate to convert it something useful if you don't have ArcGIS for Desktop handy.

  • 3
    ...for completeness I also added something about GRIDFLOAT – matt wilkie Sep 18 '13 at 16:49

Esri grid formats are proprietary binary files. There is no such thing as an ASCII version of grid files. There is an ASCII transfer format, which your post references.

I've never tried loading floating-point data in an ASCII file, but I know that 16-bit signed data would be accepted (integer grids are 32-bit signed data). The ASCII data is converted to a grid on import, which could then be exported to any one of a dozen different 16-bit binary formats.

Note that the ".asc" extension is not required, or exclusive, so it's confusing to make references to "extension .asc".

  • 1
    Any file can be a binary, including anything with a ".txt" suffix. Frankly, if you need to write the file anyway, it makes better sense to create a .bsq/.bil/.bip file, with a .hdr that conforms to help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//… -- the resulting binary file will be a fraction of the size of the .asc and more directly usable. – Vince Sep 18 '13 at 22:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.