# Various Support GDAL Raster Formats

## AIG -- Arc/Info Binary Grid

Supported for read access, including reading of an affine georeferencing transform and some projections. This format is the internal binary format for Arc/Info Grid, and takes the form of a coverage level directory in an Arc/Info database. To open the coverage select the coverage directory, or an .adf file (such as hdr.adf) from within it.

This driver is implemented based on a reverse engineering of the format. See the format description for more details.

The projections support (read if a prj.adf file is available) is quite limited. Additional sample prj.adf files may be sent to the maintainer, warmerda@home.com.

Note that another driver (GIO) is available for Windows platforms with ArcView installed.

NOTE: Implemented as `gdal/frmts/aigrid/aigdataset.cpp`.

## CEOS -- CEOS Image

This is a simple, read-only reader for ceos image files. To use, select the main imagery file. This driver reads only the image data, and does not capture any metadata, or georeferencing.

This driver is known to work with CEOS data produced by Spot Image, but will have problems with many other data sources. In particular, it will only work with eight bit unsigned data.

See the separate SAR_CEOS driver for access to SAR CEOS data products.

NOTE: Implemented as `gdal/frmts/ceos/ceosdataset.cpp`.

## DOQ1 -- First Generation USGS DOQ

Support for read access, including reading of an affine georeferencing transform, and capture of the projection string. This format is the old, unlabelled DOQ (Digital Ortho Quad) format from the USGS.

NOTE: Implemented as `gdal/frmts/raw/doq1dataset.cpp`.

## DOQ2 -- New Labelled USGS DOQ Support for read access, including reading of an affine georeferencing transform, and capture of the projection string. This format is the new, labelled DOQ (Digital Ortho Quad) format from the USGS.

This driver was implemented by Derrick J Brashear.

NOTE: Implemented as `gdal/frmts/raw/doq2dataset.cpp`.

## DTED -- Military Elevation Data

GDAL supports DTED Levels 1, and 2 elevation data for read access. Elevation data is returned as 16 bit signed integer. Appropriate projection (always WGS84) and georeferencing information is also returned. No other metadata is captured.

NOTE: Implemented as `gdal/frmts/dted/dteddataset.cpp`.

## EFF -- Eosat Fast Format

Support for read access to EOSAT Fast Format data is available in GDAL. EOSAT datasets normally consist of one or more raster data files (eg. BAND1.DAT, BAND2.DAT, ...) and a header file which must be called HEADER.DAT. To open the dataset select the HEADER.DAT file.

Currently only the raster data is accessed. Georeferencing, and other meta data is ignored.

NOTE: Implemented as `gdal/frmts/raw/effdataset.cpp`.

## EHdr -- ESRI .hdr Labelled

GDAL support the ESRI .hdr labelling format for reading raw raster data (often referred to as ESRI BIL format) for read-only access. Eight, sixteen and thirty-two bit integer raster data types are supported as well as reading of the affine georeferencing transform. Reading of projection definitions is not supported. Unrecognised options in the .hdr file are ignored. To open a dataset select the file with the image file (often with the extension .bil).

This driver may be sufficient to read GTopo 30 data, and Geospot products.

NOTE: Implemented as `gdal/frmts/raw/ehdrdataset.cpp`.

## GIO -- Arc/Info Binary Grid

This is a second implementation for reading, and writing Arc/Info grids, and only works on Windows platforms with ArcView installed. It uses the AVGRIDIO.DLL installed with ArcView to implement full access.

This driver supports georeferencing bounds, but no projection definition. New coverages can be created with a code of GIO.

Also see the AIG read-only driver available on all platforms.

NOTE: Implemented as `gdal/frmts/aigrid/giodataset.cpp`.

## GXF -- Grid eXchange File

This is a raster exchange format propagated by Geosoft, and made a standard in the gravity/magnetics field. The format is supported for read, and write and includes support for georeferencing information, and projections.

Details on the supporting code, and format can be found on the GXF-3 page.

NOTE: Implemented as `gdal/frmts/gxf/gxfdataset.cpp`.

## HKV -- Atlantis HKV Blob

GDAL supports HKV Blob raster file format for read, update, and creation. This format is primarily used internally to the Atlantis Scientific InSAR processing system.

To select an HKV dataset select the directory containing the `attrib`, and `blob` files for the dataset.

Currently only the UTM projection is supported (georef.projection.name = utm), with the affine transform computed from the lat/long control points. In any event, if GCPs are available in a georef file, they are returned with the dataset.

Newly created files (with a type of `HKV`) are always just raw rasters with no georeferencing information. For read, and creation all data types (real, integer and complex in bit depths of 8, 16, 32) should be supported.

NOTE: Implemented as `gdal/frmts/raw/hkvdataset.cpp`.

## MFF -- Atlantis MFF Raster

GDAL includes read, update, and creation support for Atlantis Scientific's MFF raster format. MFF dataset consist of a header file (typically with the extension .hdr) and a set of data files with extensions like .x00, .b00 and so on. To open a dataset select the .hdr file.

Reading lat/long GCPs (TOP_LEFT_CORNER, ...) is supported but there is no support for reading affine georeferencing or projection information.

Unrecognised keywords from the .hdr file are preserved as metadata.

All data types with GDAL equivelents are supported, including 8, 16, 32 and 64 bit data precisions in integer, real and complex data types. In addition tile organized files (as produced by the Atlantis SAR Processor - APP) are supported for reading.

On creation (with a format code of MFF) a simple, ungeoreferenced raster file is created.

MFF files are not normally portable between systems with different byte orders. However GDAL honours the new BYTE_ORDER keyword which can take a value of LSB (Integer -- little endian), and MSB (Motorola -- big endian). This may be manually added to the .hdr file if required.

NOTE: Implemented as `gdal/frmts/raw/mffdataset.cpp`.

## PAux -- PCI .aux Labelled Raw Format

GDAL includes a partial implementation of the PCI .aux labelled raw raster file for read, write and creation. To open a PCI labelled file, select the raw data file itself. The .aux file (which must have a common base name) will be checked for automatically.

The format type for creating new files is `PAux`. All PCI data types (8U, 16U, 16S, and 32R) are supported. Currently georeferencing, projections, and other metadata is ignored.

NOTE: Implemented as `gdal/frmts/raw/pauxdataset.cpp`.

See Also: PCI's .aux Format Description

## PNG -- Portable Network Graphics

GDAL includes support for reading, and creating .png files. Greyscale, pseudo-colored, RGB and RGBA PNG files are supported as well as precisions of eight and sixteen bits per sample.

PNG files are linearly compressed, so random reading of large PNG files can be very inefficient (resulting in many restarts of decompression from the start of the file).

Text chunks are translated into metadata, typically with multiple lines per item.

PNG files can be created with a type of PNG, using the CreateCopy() method, requiring a prototype to read from.

NOTE: Implemented as `gdal/frmts/png/pngdataset.cpp`. PNG support is implemented based on the libpng reference library. More information is available at ftp://ftp.uu.net/graphics/png.

## PNM -- Netpbm (.pgm, .ppm)

GDAL includes support for reading, and creating .pgm (greyscale), and .ppm (RGB color) files compatible with the Netpbm tools. Only the binary (raw) formats are supported.

Netpbm files can be created with a type of PNM.

NOTE: Implemented as `gdal/frmts/raw/pnmdataset.cpp`.

## SAR_CEOS -- CEOS SAR Image

This is a read-only reader for CEOS SAR image files. To use, select the main imagery file.

This driver works with most Radarsat and ERS data products, including simple look complex products; however, it is unlikely to work for non-Radar CEOS products. The simplier CEOS driver is often appropriate for these.

This driver will attempt to read 15 lat/long GCPS by sampling the per-scanline CEOS superstructure information. It also captures various pieces of metadata from various header files, including:

      CEOS_LOGICAL_VOLUME_ID=EERS-1-SAR-MLD
      CEOS_PROCESSING_FACILITY=APP
      CEOS_PROCESSING_AGENCY=CCRS
      CEOS_PROCESSING_COUNTRY=CANADA
      CEOS_SOFTWARE_ID=APP 1.62
      CEOS_ACQUISITION_TIME=19911029162818919
      CEOS_SENSOR_CLOCK_ANGLE=  90.000
      CEOS_ELLIPSOID=IUGG_75
      CEOS_SEMI_MAJOR=    6378.1400000
      CEOS_SEMI_MINOR=    6356.7550000

NOTE: Implemented as `gdal/frmts/ceos2/sar_ceosdataset.cpp`.

## SDTS -- USGS SDTS DEM

GDAL includes support for reading USGS SDTS formatted DEMs. USGS DEMs are always returned with a data type of signed sixteen bit integer. Projection and georeferencing information is also returned.

SDTS datasets consist of a number of files. Each DEM should have one file with a name like XXXCATD.DDF. This should be selected to open the dataset.

BUGS:

- Floating point SDTS DEMs are apparently not supported.

- Projection definitions are currently returned in PROJ.4 format, instead of OGC WKT format.

NOTE: Implemented as `gdal/frmts/sdts/sdtsdataset.cpp`.