read

fun DTED.Companion.read(path: String): DTED

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.

fun DTED.Companion.read(file: File): DTED

Streaming reader: walks column records one at a time, so peak memory is ~7 KB (one record) not ~26 MB.


fun DTED.Companion.read(file: File, colFrac0: Double, colFrac1: Double, rowFrac0: Double, rowFrac1: Double, targetWidth: Int, targetHeight: Int): ShortArray

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).


fun DTED.Companion.read(file: File, targetWidth: Int, targetHeight: Int): ShortArray

Full-cell convenience: resample the entire native grid to targetWidth × targetHeight.