# NITF -- National Imagery Transmission Format

GDAL supports reading of several subtypes of NITF image files, and writing simple uncompressed NITF 2.1 files. NITF 1.1, NITF 2.0 and NITF 2.1 files with uncomprssed or VQ compressed images should be readable. JPEG2000 compressed images are also supported, but only if GDAL also has the JP2KAK driver enabled. Other compression mechanisms are not supported at this time. The read support test has been tested on CIB and CADRG RPF products.

NITF files can contain several images as well as other layers such as graphics (CGM) and text. Currently GDAL will only read the first image. All other images and auxilary information are ignored.

Color tables for pseudocolored images are read. In some cases nodata values may be identified. Lat/Long extents are read from the IGEOLO information in the image header if available. Other coordinates systems (such as MGRS) are ignored at this time. If high precision lat/long georeferencing information is available in RPF auxilary data it will be used in preference to the low precision IGEOLO information. In theory all input pixel types except 1bit are supported, but only 8bit types have actually been tested.

Most file header and image header fields are returned as dataset level metadata.

## Creation Issues

On export NITF files are always written as NITF 2.1 with one uncompressed image and no other auxilary layers. Georeferencing can only be written for images using a geographic coordinate system. Coordinates are implicitly treated as WGS84 even if they are actually in a different geographic coordinate system. Pseudo-color tables may be written for 8bit images.

In addition to the export oriented CreateCopy() API, it is also possible to create a blank NITF file using Create() and write imagery on demand. However, using this methology writing of pseudocolor tables and georeferencing is not supported unless appropriate IREP and ICORDS creation options are supplied.

Creation Options:

- Most file header, and imagery header metadata and security fields can be set with appropriate creation options. For instance setting `"FTITLE=Image of abandoned missle silo south west of Karsk"` in the creation option list would result in setting of the FTITLE field in the NITF file header. Use the official field names from the NITF specification document.

- ICORDS: Set to "G" to ensure that space will be reserved for geographic corner coordinates to be set later via SetGeoTransform(). (Only needed for Create() method, not CopyCreate()).

- IREP: Set to "RGB/LUT" to reserve space for a color table for each output band. (Only needed for Create() method, not CopyCreate()).

- LUT_SIZE: Set to control the size of pseudocolor tables for RGB/LUT bands. A value of 256 assumed if not present. (Only needed for Create() method, not CopyCreate()).

- TFW=YES: Force the generation of an associated ESRI world file (.tfw).

- BLOCKXSIZE=n: Set the block width.

- BLOCKYSIZE=n: Set the block height.

## Credit

The author wishes to thank AUG Signals and the GeoConnections program for supporting development of this driver.

See Also:

- NITFS Technical Board Public Page
- The OGDI driver support many NITF based RPF products including CIB and ADRG.