eaarl-io  1.0.1+71abbd4
EAARL Input/Output Library (Public API)
EDB File Format

EDB stands for "EAARL database". These files are also refered to as EAARL index files. The EDB file allows the user to quickly look up any raster record in a collection of TLD files. The EDB file also defines the raster numbers for a flight: a raster's raster number is its one-based index into the EDB file's records section.

File Format

The EDB file format has three sections:

  1. Header, specifying the layout and contents of the file
  2. Records, providing information about the rasters in the associated TLD files.
  3. Filenames, providing the filenames for the associated TLD files (referenced by index from the records).

The file stores values in little-endian format.

The file starts with the header. The records then immediately follow, starting at byte offset 12. The filenames are located at the files_offset specified in the header.

Header

The header specifies the layout and contents of the file.

The EDB's file header is 12 bytes long.

Item Format Size
files_offset uint32_t 4 bytes
record_count uint32_t 4 bytes
file_count uint32_t 4 bytes

Record

Each record provides information about a single raster.

Each record is 20 bytes long.

Item Format Size
time_seconds uint32_t 4 bytes
time_fraction uint32_t 4 bytes
record_offset uint32_t 4 bytes
record_length uint32_t 4 bytes
file_index int16_t 2 bytes
pulse_count uint8_t 1 byte
digitizer uint8_t 1 byte

Filename

Each filename has a variable length. Filenames are stored as length-prefixed strings. The length prefix is 2 bytes and is followed by the string without a null terminator.

Item Format Size
length uint16_t 2 bytes
filename char[] varies per length