User:Ckronenburg/Automated edits
Airport surface markings from FAA charts and imagery
Who
Cyriel Kronenburg, VP Airports & ATM, uAvionix Corporation. OSM account: ckronenburg Contact: cyriel.kronenburg@uavionix.com
Motivation
uAvionix makes avionics and software for airports, ATM, drone operators and manned aircraft. We use OpenStreetMap airport data as guidance for some products, and in doing so found inconsistencies between our own FAA and survey derived maps and OpenStreetMap: holding position markings missing at most airports checked, including towered fields, and taxiway designators years out of date relative to the current FAA airport diagram.
These edits correct that. The work is done on my employer's time and in my employer's interest, and the corrections are equally useful to anyone else consuming aviation data from OSM.
What is changed
- Missing aeroway=holding_position added as ways drawn along the
painted marking, tagged holding_position:type=runway or =ILS, named <taxiway>@<runway>. It now is a line instead of a single marker to better reflect the actual line on the field.
- Taxiway ref added or corrected where the FAA airport diagram and the
FAA Airport Mapping Database disagree with OSM.
- Missing taxiway connectors present on the FAA diagram and in AMDB.
- aeroway=threshold with per-end refs on existing runway end nodes.
- Stale holding positions for decommissioned runways are untagged, never
deleted — the node is left in place.
Nothing is deleted. Taxiways absent from current published documentation are retagged disused: or abandoned: where the pavement is still visible in imagery, and deleted only where the pavement is physically gone. No object is changed that is not covered by one of the cases above.
Sources
- FAA airport diagram for the current 28-day cycle (public domain).
- FAA Airport Mapping Database (AMDB) via the FAA ADDS ArcGIS service
(public domain).
- Esri World Imagery, used under the OSM community's existing permission.
- On-site surveys conducted by uAvionix together with the airport authority.
This is our own first-hand survey data, contributed to OSM with permission. No third-party proprietary data is used.
Method
This is machine-assisted, not unattended. Candidate positions are computed; every single object is then reviewed by a human against the imagery before it is written, and the reviewer's answer overrides the algorithm.
- Candidate holding positions are found by walking OSM taxiway centrelines
outward from the runway and detecting the painted marking in imagery.
- For each candidate the bar angle is fitted by maximising the yellow
cross-section over a ±5° sweep, then the lateral position is measured from a continuous intensity profile across the marking.
- Human review gate. Each candidate is rendered on imagery at roughly
60 pixels per metre with four numbered candidate lines one line-pitch apart. A person picks which painted line is correct, one bar at a time. Anything not confirmed is not uploaded.
- The reviewed geometry is written to a JOSM .osm file, validated, and
uploaded manually by the account holder in staged changesets, additive changes first.
At KRIC the review changed the algorithm's own answer on 18 of 21 lines. The gate is the substance of the method, not a formality.
Validation
Every uploaded object is read back from the OSM API afterwards and checked for length, straightness, duplicate node references and expected tags.
When
- KRIC (Richmond International): 3 September 2026, complete.
- KJAC (Jackson Hole) and KSAV (Savannah/Hilton Head): planned, after the
notice period below.
- Further US towered airports thereafter, at a rate of a few
per month. Each airport is a separate set of changesets.
Consultation
Announced on the OpenStreetMap Community Forum, United States category, on 13:28, 3 September 2026 (UTC) — link to the topic to be added.
Opting out
Email cyriel.kronenburg@uavionix.com, or comment on any changeset. If a local mapper or airport operator objects to the edits at their airport, that airport is removed from the list and any edits already made there are reverted on request, no argument.