CADRG (Compressed ARC Digitized Raster Graphics) Reader/Writer
Licensing options for this format begin with FME Professional Edition.
FME can read and write data in the CADRG (Compressed ARC Digitized Raster Graphics) format.
Overview
CADRG is a general-purpose product, comprising computer-readable digital map and chart images. It supports various weapons, C3I theater battle management, mission planning, and digital moving map systems. CADRG data is derived directly from ADRG and other digital sources through downsampling, filtering, compression, and reformatting to the Raster Product Format (RPF) Standard.
CADRG files are usually physically formatted within a National Imagery Transmission Format (NITF) message. The CADRG Reader can read CADRG files with or without the NITF message wrapper. The CADRG Writer can create CADRG datasets with or without the NITF message wrapper. These options available in the Writer Feature Type Parameters.
The CADRG reader and writer implement the following standards:
- MIL-C-89038
- MIL-STD-2411
- MIL-STD-2411-1
- MIL-STD-2411-2
CADRG image data is of appropriate size and quality for use in military command and control systems, ground-based force to unit-level mission planning systems, and aircraft cockpit “moving map” displays. The post-reduction filtering scheme emphasizes legibility of text and contour lines to ensure that displayed and printed digital maps are readable and distinct. CADRG is intended to satisfy the needs of a broad range of users in its compression ratio, display and print quality and displayed screen size.
The CADRG datasets shall conform to MIL-STD-2411. It normally will be produced directly from source maps of all scales by processing and re-formatting into a CADRG frame file structure. Miscellaneous scale maps and charts or non-DMA maps may be the source for CADRG production. The processing includes spatial reduction (pixel downsampling) with filtering, vector quantization image compression, and color quantization.
To permit direct use by aircraft cockpit displays, CADRG data is arranged in frames and subframes with constant pixel sizes, and overlaps that are consistent with limited memory and processing capabilities of avionics computers.
In CADRG, the projection system is ARC. The ARC system, as described in MIL-A-89007, divides the surface of the earth ellipsoid into 18 latitudinal bands called zones. Zones 1-9 cover the Northern hemisphere and zones 10-18 (A through J, exclusive of I in CADRG) cover the Southern hemisphere. One zone in each hemisphere covers the polar areas. Each non-polar zone covers a part of the ellipsoid between two latitude limits and completely encircles the Earth. The datum for CADRG shall be WGS-84, as defined by DMA TM 8358.1. The WGS-84 coordinates for longitude and latitude in CADRG are signed values in the range -180 degrees <= longitude <= +180 degrees and -90 degrees <= latitude <= +90 degrees.
The CADRG dataset is composed of rectangular grids of frames of pixels for each zone. CADRG can be distributed in rectangular or non-rectangular areas, and with contiguous or non-contiguous coverage. Each frame is represented by a discrete file. The CADRG library is seamless; that is, the edges of contiguous source maps are indistinguishable, except by color variations that are due to the differences between the colors or patterns in original source graphics.
CADRG data files are arranged in a hierarchical folder/subfolder structure. All names and labels, and the format and structure of folders shall adhere to the conventions specified in MIL-STD-2411. The root folder contains a table of contents file (A.TOC), one or more folders of frame files, a legend folder, and one or more overview images. Currently, the legend folder and the overview images are not used in any cases.
The ARC system divides the surfaces of the earth ellipsoid into 18 latitudinal bands called zones. The CADRG database is composed of rectangular grids of frames of pixels for each zone. Each frame is represented by a discrete file, and the data files are arranged in a hierarchical folder/subfolder structure. The location and name of each file are recorded in a CADRG Table of Contents (TOC) file in the root folder.
The TOC file provides an overview of the data contents of the distribution media. It stores path names to each of the frame files. CADRG producers will choose the number of frame file folders in a given dataset and convention for assigning frame files to folders. Each frame file folder on a given dataset shall be uniquely named in a manner to be determined by an authorized producer. The producers may also assign nested frame file folders as needed to organize the frame files, using a variable hierarchy. The CADRG Writer in FME creates a unique frame file folder for each data series code, as described in the attribute section below. The frame files contains the tiled image and support data for the geographic frames on a CADRG dataset. The frame file naming convention shall be in accordance with MIL-STD-2411.
For each map or chart scale, which can be adjusted with the data series attribute, a constant latitudinal (row) and longitudinal (column) pixel interval shall exist in each zone.
Each frame shall comprise a rectangular array of 1536 by 1536 pixels (2,359,296 pixels). Each frame shall be tiled into grid of 6 by 6 subframes (36 subframes). Each subframe shall comprise a rectangular array of 256 by 256 output pixels (65,536 pixels). All frames and subframes within a zone shall abut in a mutually exclusive manner without any pixel overlap or pixel redundancy. The northern and southern boundaries of a zone generally will not fall exactly on the northern and southern boundaries of a frame or subframe. There shall be frame overlap between the zones.
The numbering convention for entities that are internal to the frame files shall conform to MIL-STD-2411. All index numbers shall start from 0. Rows and columns of subframes in a frame, pixels, and indices in frame file subentities shall be counted from 0. The origin for the subframe and pixel numbering within frames and subframes shall be from the upper left corner. Subframes and pixels shall be counted in row-major order from the origin. In addition, CADRG frames may be considered to form conceptual rows and columns within zones. This concept is used to define the naming convention of frames for various scales by using the scale and zone specific frame number. The rows and columns are numbered from 0. The origin for counting non-polar frame rows and columns in both the northern and southern hemispheres is the Southern-most latitude of the zone, and 180 degree west longitude, with columns counted in an easterly direction from the origin. The origin for counting polar frames is the lower-left corner of the polar zone, with rows and columns numbered from that origin.
For the non-polar zones, some visual distortion is present due to a stretch at the poleward latitude and shrink at the equatorward latitude in the East-West direction. There is no distortion along a selected parallel at the mid-latitude of each zone. Since an entire frame file of overlap is included between zones, there can be noticeable visual distortion in the overlap area for the very small scale maps (e.g., GNC, JNC). Distortion in the polar zones is less than 10% for most scales.
The CADRG format itself allows updates/replacements of frame files. However, the current versions of CADRG Reader and Writer in FME do not support CADRG updates/replacements.
During compression, the available colors in the source data shall be quantized from a palette of 16.7 million possible colors to a maximum 216 colors in the CADRG frame files. The quantized colors shall be defined in a LUT with 216 entries. A 217th entry is reserved for transparent pixels.
Additional color tables are provided wherein each of the 216 colors in the primary color table is mapped to a color in the reduced color table through use of a color conversion table. Standard CADRG data sets will include 216, 32, and 16 entry color tables. Each color entry contains 4 bytes. The first byte contains the red intensity level, the second byte contains the green intensity level, the third byte contains the blue intensity level, and the fourth byte contains a monochrome (grayscale) intensity level, which is an arithmetic combination of red, green and blue intensity levels. The equation used to calculate the monochrome intensity level is: 0.299 (Red) + 0.587 (Green) + 0.114 (Blue). The 216 or 217 entries in the color table contain RGB and monochrome values in the range 0 - 255. The entries in the color table represent RGBM values for pixels in the digitized map that represent RGBM values for pixels in the digitized map that represent digitized map data. Entry 216 is reserved for “transparent” pixels, for cases where the data is missing or not available at the given geographic location. The RGBM values in the CADRG color table for the 217th entry (index 216, for transparent pixels) are 0, 0, 0, 0.
Spatial compression shall be performed using a Vector Quantization (VQ) algorithm that employs a 4 x 4 compression kernel size with 4096 codebook entries.
Reader Overview
FME considers a single CADRG TOC file to be a dataset.
The CADRG TOC file contains the location and name of the frame files. The frame files are raster files containing pixel data.
Writer Overview
FME considers a CADRG destination dataset to be a container folder name. Each feature type has a subfolder inside the container folder. Inside each subfolder, there is a table of contents file A.TOC and one or more subfolders containing some frame files. The frame files and their subfolders are named according to the specification MIL-STD-2411.
All raster features of the same CADRG feature type are grouped under one table of contents file. Each raster feature represents one boundary rectangle, but when the extents of the raster feature overlap two or more zones, the raster feature will be broken down into multiple boundary rectangles, each of which covers the raster subset in one zone. According to the specification, adjacent zones overlap each other, and the raster data in the intersection area will be repeated in the two boundary rectangles. Since each zone has a specific vertical/horizontal intervals and resolutions, the boundary rectangles may need to be resampled.
Each boundary rectangle will be broken down into one or more frame files. Each frame file has a size of 1536 x 1536. When the number of rows or columns in a frame is less than 4, the writer will not create the frame file, since the writer requires at least 4 rows and columns to do the spatial compression. The three palettes have 216, 32, and 16 entries, respectively when the raster does not have a NoData value, or 217, 33, and 17 entries, respectively, when the raster has a NoData value. Each palette entry is a four-byte value RGBM. The first byte R contains the red intensity level, the second byte G contains the green intensity level, the third byte B contains the blue intensity level and the fourth byte M contains a monochrome (grayscale) intensity level, which is an arithmetic combination of red, green and blue intensity levels. The equation used to calculate the monochrome intensity level is: 0.299 (Red) + 0.587 (Green) + 0.114 (Blue).
In the palettes, the last entries (the 217th, 33rd, and 17th entries, respectively) are reserved for the NoData value, or the “transparent” pixels, for cases where the data is missing or not available at the given geographic location. The RGBM values in the CADRG palette for the nodata entry are 0, 0, 0, 0.
FME Raster Features
FME raster features represent raster data and use several concepts that are unlike those used in the handling of vector data. The topics below describe how FME processes raster data.
The CADRG reader produces rasters with a single UInt8 band that has multiple palettes.
The CADRG writer accepts only rasters with a Red8 band, a Green8 band, and a Blue8 band.