The shared wire-format schema for the SF50 TOLD navigation database.
This package defines the Codable types that the app decodes from the compressed navigation
data files, so that the app and the data generator agree on a single source of truth for the
format. It is deliberately dependency-free and cross-platform (Apple platforms + Linux) so the
generator can build it in CI.
AirportDataCodable— the top-level container (airports, runways, procedures, navaids, obstacles, and per-source cycle metadata), plus its nestedCodabletypes.SurfaceType— runway surface classification.AnyCycle— common interface for FAA publication cycles.Geomagnetism— WMM-based magnetic declination.GeoCalculations— platform-independent bearing, distance, and magnetic-variation primitives. (Apple-platformCoreLocationconveniences are layered on in the app.)
import NavData
let data = try Data(contentsOf: fileURL) // decompressed binary plist
let database = try PropertyListDecoder().decode(AirportDataCodable.self, from: data)The compressed data files themselves are published as GitHub Release assets by the generator, not committed here. This package only versions the schema.