Package-level declarations
Types
Cross-platform DTED (MIL-PRF-89020B) reader: decodes the UHL/DSI/ACC header and per-column elevation records into a row-major, NW-origin grid (row 0 = north, col 0 = west). The null sentinel -32767 and out-of-[-12000,+9000] values normalise to Short.MIN_VALUE. Entry points: parse (full, in-memory), readMetadata (header only ~3.4 KB), and JVM read(file) overloads (streaming, ~7 KB peak vs ~26 MB).
Functions
Streaming DTED reader. Reads the header, then walks the per-column records one at a time via NSFileHandle — peak memory is the header (~3.4 KB) plus a single per-column record (~7 KB on .dt2) plus the output grid, instead of the entire file (~26 MB on .dt2). iOS analogue of the JVM read overload.
Streaming reader: walks column records one at a time, so peak memory is ~7 KB (one record) not ~26 MB.
Full-cell convenience: resample the entire native grid to targetWidth × targetHeight.
Windowed streaming reader: bilinear-resamples a cell-relative sub-rectangle (colFrac/rowFrac in [0,1]) to targetWidth × targetHeight, reading only the two columns and post span the window touches. Bilinear so coarse levels upsample smoothly (dt2 at 1:1 is exact); a sample with any invalid corner → Short.MIN_VALUE. For render-path speed it skips the per-record checksum (DTED.parse validates).
Read only the UHL/DSI/ACC headers from a DTED file on disk. Reads the first 3428 bytes and closes the handle — useful when indexing a library of tiles without loading the elevation grid (~26 MB for .dt2). iOS analogue of the JVM readMetadata overload.
Read the full UHL/DSI/ACC headers (first 3428 bytes) — when the DTED level/classification are needed.