Airfields Dataset - msupino/NavigationApp GitHub Wiki
🇮🇱 עברית
Airfields dataset
docs/data/airfields.json currently contains 27 airfields under the
top-level airfields array. It powers map markers, search and snapping,
runways/elevation/frequencies/weather, inspector overlays, and chart plates.
It is separate from the layer-specific navigation-waypoint datasets.
Each record has name (ICAO or chart code), localized he/en names,
lat/lng, and optional reviewed enrichment such as elev_ft, frequencies,
runways, plate names, and georeferenced overlay bounds. Bare chart-only rows
may contain only labels and coordinates.
The source and validation contract is encoded in the file metadata and
tests/airfields-dataset.spec.js. After a coordinate update, run
node scripts/sync-airfield-test-arps.js and the airfield dataset/ARP suites.
Prior parking coordination
A field the AIP requires parking to be arranged with before departure carries a parking
object: rule (over1h, always, heli or landing), and the published email / opsEmail
/ phone where one exists. The flight plan's Request parking button reads it — see
Submit a flight plan. Fields that
ask nothing carry no parking key at all.
Published operating hours
docs/data/airfield-hours.json holds the published hours for the 15 fields whose AIP pages
give them, keyed by ICAO code: the AIP wording in Hebrew and English, the rules in a form
docs/app/airfield-hours.js evaluates (clock times, sunrise/sunset/civil twilight, weekdays,
holidays and their eves, summer time), and the source — the AIP page's title, amendment, date
and SHA-512. It is read by hand from section 6 of each field's domestic text pages, or AD 2.3 for
the international airports. The inspector shows it — see Inspector.
Keeping it current:
scripts/aip-drift.py(daily, in the AIP plate designations workflow) also reports an hours page whose hash has left the CAA's index — the page was amended and the hours need re-reading.- The AIP updates workflow (
aip-updates.yml, daily 04:41 UTC) compares the whole AIP index with the previous day's and, when a page is added, amended or withdrawn, opens a new issue assigned to the repository owner, grouped as airfield hours pages, charts we ship, CVFR sheets and everything else. A first run, or an unreachable index, records or keeps the baseline and opens nothing.
BYOP plates
docs/byop/ is a stable public Pages URL space. Deploy keeps one copy at the
production root; staging resolves plate URLs against that shared root to avoid
duplicating the large PDF pack. The inspector opens files named by an
airfield's plates data.
Update this page and docs/byop/README.md when the pack or filenames change.
Deploy rewrites dataset cache markers automatically, so do not manually bump
an individual airfields.json?v= value.