erDiagram
MILESTONE {
int id PK
int flight_id FK
string type
timestamp event_time
float longitude
float latitude
float altitude
string source
string version
string info
}
MEASUREMENT {
int id PK
int milestone_id FK
string type
float value
string version
}
FLIGHT {
int id PK
int ADEP FK
int ADES FK
int aircraft FK
string profile_id FK
timestamp DOF
}
OA_AIRPORTS {
int id PK
string ident
string type
string name
double latitude_deg
double longitude_deg
int elevation_ft
string continent
string iso_country
string iso_region
string municipality
string scheduled_service
string gps_code
string iata_code
string local_code
string home_link
string wikipedia_link
string keywords
}
OA_RUNWAYS {
int id PK
int airport_ref FK
string airport_ident
int length_ft
int width_ft
string surface
boolean lighted
boolean closed
string le_ident
double le_latitude_deg
double le_longitude_deg
int le_elevation_ft
double le_heading_degt
int le_displaced_threshold_ft
string he_ident
double he_latitude_deg
double he_longitude_deg
int he_elevation_ft
double he_heading_degt
int he_displaced_threshold_ft
}
AIRCRAFT {
int id PK
int icao24
}
PROFILE {
int id PK
}
MILESTONE }|--|| FLIGHT : has
FLIGHT }o--|{ OA_AIRPORTS : has
OA_AIRPORTS }|--|{ OA_RUNWAYS : has
FLIGHT ||--|{ AIRCRAFT : has
FLIGHT ||--|| PROFILE : has
MEASUREMENT ||--|{ MILESTONE : has
Flight Milestones
1 Introduction
This document details the concepts and ideas supporting the definition of flight milestones..
2 Phases of a Flight
In a flight we can identify events that can help to monitor its evolution from a gate-to-gate perspective. Figure 2.1 shows a simplified diagram of a possible set of flight phases (white square boxes) and relevant events (Txy labels).

In general we are interested in analyzing performance at gate-to-gate level so as to cover both the airborne and the ground phases of flights. To this extent we summarize a flight down to some of its fundamental milestones as in the following list (from departure to arrival):
- Off-block (T06)
- End of push back (T07)
- Enter runway for take-off (T09)
- Lift-off (T12), a.k.a. take-off
- 40-nautical-miles intersection (T14 ?)
- top-of-climb (T15)
- top-of-descent (T18)
- 40-nautical-miles intersection (T19 ?)
- Touch-down (T22)
- Runway vacated (T24)
- Enter parking spot (T26)
- on-block (T27)
Other interesting milestones could be
- Holding start
- Holding end
- Leveled segment start
- Leveled segment end
- FIR crossing
Subsets of these milestones allow for the calculation of taxi-in (T24, T27) and taxi-out (T06, T09) times, runway utilization and sequencing (T12, T22), inefficiencies in the Terminal Maneuvering Area (TMA) (via holding patterns and leveled portions of the descent) … Additional ad-hoc milestones can be defined for specific needs, for example Flight Information Region (FIR) crossing milestones would be usefult to count Departure, Arrival, Internal, Overflight (DAIO) statistics.
3 Milestone
A flight milestone is conceptually defined by
- flight ID it belongs to
- 3D location (decimal degrees of longitude, latitude [in WSG84] and altitude [in feet]), i.e.
17.933996,59.653410,-203 - UTC timestamp, i.e.
2021-09-27 10:43:11.234 UTC - milestone type, i.e.
top-of-climboroff-block
Further useful attributes for business processing of the information are:
- the source of extraction of the milestone, i.e.
apdf(when data provided by airport),osn(extracted by OpenSky Network (OSN)’s Automatic Dependent Surveillance–Broadcast (ADS-B) data),nm(as calculated by EUROCONTROL’s Network Manager (NM)) - contextual information, i.e.
F33Ras the relevant parking position for anoff-blockmilestone or26as the runway ID for atake-offmilestone. This field can be also useful to define a custom fomat for airspace crossing, for example for a milestone likex-firwe could have theinfocontain something likefrom:LFFF, to:LFRRto provide info about the transition order of airspace penetration.
4 Use Cases
A milestone-based representation of a flight is a way to reduce complexity for its representation and hence allow some (still useful) statistical analysis for performance monitoring.
4.1 Fuel consumption / Environmental emissions
Environmental emissions and climate impact are indicators more and more in news headlines and on the political agendas. With a milestone-based representation of a flight we can segment the phases of interest and calculated the relevant cumulative emissions.
For example we can split a flight in the following phases:
- cruise
- Landing and TakeOff (LTO) cycle
and calculate the fuel-burnt emissions by further splitting them.

For LTO we have four sub-phases:
- approach
- taxi-in
- taxi-out
- take-off
- climb-out
For example taxi-out sub-phase can be framed by the ground portion from off-block to rwy-entry milestones which with defined assumptions in term of aircraft & engine type, full thrust percentage and number of engines in use can be handled to an emission calculator to compute CO2, NOx, … emissions.
The selection of milestones to model the flight and the further assumptions of how the aircraft is operated between those milestones will produce results with different levels of accuracy and precision.
NOTE: add ER diagram for use case
4.2 Operational performance
A milestone-based modelling of a flight provides practical ways to extract operational indicators for the analysis of the operation performance at network, state, airport or airline level.
For example using the touch-down (T22 in Figure 2.1) with the contextual information we can calculate RWY utilization at each airport or inter-arrival times, etc.
4.3 Airspace profile
TODO: milestones line FIR crossing (x-fir) could be used to extract an flight airspace profile. For example we could have AUA crossing (x-aua) or even elementary airspace (x-esa) ones. The tricky thing is obviously having a non-overlapping airspaces (of the same type)
5 Milestones Definition
The milestone concept can be modeled in entity-relationship fashion as in Figure 5.2.

In words, a milestone refers to a flight (via the foreign key flight_id) and has few attributes as described in Chapter 3 (namely, type, timestamp, lon, lat, alt, src, info.)
A flight is (simply) defined by the aerodrome of departure (ADEP) and destination (ADES) (which are are foreign keys to AIRPORT.id), its callsign, take-off and landing timestamps, and aircraft (a foreign key to AIRCRAFT.id.) [NOTE: this is still simplistic…how do we cater for AFIL, ZZZZ (these could be just special airport entries without lon/lat/elevation) or crashes (again another special entry?)]
A flight (point) profile is a 4D sequence of timestamp and 3D positions as flown (or calculated). A flight profiles links to the relevant flight via the foreign key flight_id.
For OSN a flight profile is a state vector.
6 Example data
TBD
7 List of Acronyms
- ADS-B
- Automatic Dependent Surveillance–Broadcast
- DAIO
- Departure, Arrival, Internal, Overflight
- FIR
- Flight Information Region
- LTO
- Landing and TakeOff
- NM
- Network Manager
- OSN
- OpenSky Network
- TMA
- Terminal Maneuvering Area