Extract the segments intersecting a set of airspace IDs in an interval of time and complement them with flight information
Source:R/trajectories.R
flights_airspace_profiles_tidy.RdThe returned dbplyr::tbl_dbi() includes scheduled and non-scheduled flights
whose airspace segments temporally intersecting the right-opened interval
[wef, til).
General aviation, State, military and sensitive flight are excluded.
Usage
flights_airspace_profiles_tidy(
conn = NULL,
wef,
til,
airspaces,
airspace = "FIR",
profile = "CTFM"
)Arguments
- conn
Database connection or instantiate the default one.
- wef
With EFfect date (included) at Zulu time in a format recognized by
lubridate::as_datetime()- til
unTILl date (excluded) at Zulu time in a format recognized by
lubridate::as_datetime()- airspaces
list of airspace ids
- airspace
the type of airspace (default: 'FIR'), one of:
'FIR' (Flight Information Region)
'NAS' (National Airspace)
'AUA' (ATC Unit Airspace)
'ES' (Elementary Sector)
- profile
the model of the trajectory profile (default: 'CTFM'), one of:
'FTFM', Filed Tactical Flight Model
'RTFM', Regulated Tactical Flight Model
'CTFM', Current Tactical Flight Model
'CPF', Correlated Position reports for a Flight
'DCT', Direct route
'SCR', Shortest Constrained Route
'SRR', Shortest RAD restrictions applied Route
'SUR', Shortest Unconstrained Route
Value
a dbplyr::tbl_dbi() with the same columns as flights_tidy()
plus the airspace id, AIRSPACE_ID, being crossed, one row per
crossed airspace.
Note
You need to either provide a connection conn that has access to as noted in
airspace_profile_tbl() and flights_tidy() or go with the default which
uses PRU_READ to establish a db_connection().
Examples
if (FALSE) { # \dontrun{
withr::local_envvar(c(TZ = "UTC", ORA_SDTZ = "UTC", NLS_LANG = ".AL32UTF8"))
conn <- withr::local_db_connection(db_connection("PRU_READ"))
flights_airspace_profiles_tidy(
conn = conn,
wef = "2023-01-01",
til = "2023-04-01",
airspace = "ES",
profile = "CTFM",
airspaces = c("LYBALW2", "LYBATW2")
)
} # }