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.