DOI: 10.5281/zenodo.11420433
title: Dataset: 2023 GPS Anomalies, NOTAMs, and Aircraft Traffic

description: Dataset: 2023 GPS Anomalies, NOTAMs, and Aircraft Traffic

The dataset "2023 GPS Anomalies, NOTAMs, and Aircraft Traffic" was collected and generated for the paper "Detecting GPS Anomalies in Aviation Using ADS-B: Correlating Coordinate Gaps and GPS Deviations with NOTAM Warnings."

This dataset provides a collection of geospatial and temporal data necessary for analyzing potential GPS anomalies in aviation. The data sources include NOTAMs received from the FAA, and the aircraft traffic and GPS information calculated and extracted from the OpenSky Trino ADS-B database.

The FAA_and_ICAO_locations file includes 21,382 records with identifiers, coordinates, and detailed facility information. This dataset serves as a reference for analyzing the geographical distribution of aviation facilities. The Flights_per_Hour_per_Grid file, with 74,219,036 records, provides hourly flight movement counts within specified grids, offering insights into air traffic patterns and potential disruptions. The GPS_Jumps_from_Routes file, comprising 5,878,275 records, documents deviations in flight paths, capturing metrics such as distances, speeds, and timestamps. This data is crucial for identifying potential GPS spoofing incidents by analyzing unusual jumps between consecutive data points.

The GPS_Missing_Coordinates file, with 53,232 records, highlights periods of missing GPS signals, indicating possible GPS jamming events. This file includes start and end times, distances between known coordinates, and Navigation Integrity Category (NIC) values to assess data quality during null periods. The NOTAM_ICAO_GPS and NOTAM_USA files, with 30,160 and 234,205 records respectively, provide detailed information on NOTAM areas, including geographic areas, active periods, and categories. This allows for an analysis of the spatial and temporal correlation between NOTAM warnings and GPS anomalies, facilitating a better understanding of the impact of GPS disruptions on aviation safety and operations.

Summary Table






Category



File Names



Total Records



Columns





FAA and ICAO Locations



FAA_and_ICAO_locations.csv

FAA_and_ICAO_locations.dpkg



21,382



WKT, id, fid, Location_ID, ICAO_ID, IATA_ID, FAA_Location_Code, Facility_Type, Facility_Name, FAA_New_Location_Code, Coordinates, lat, lon, Region, Country_Code, Country, State_Id, State_Name, City, Location, Effective_Date, Site_Id, ADO, ARTCC_Id, ARTCC_Computer_ID, ARTCC_Name, Tie_In_FSS_Id, Tie_In_FSS_Name, NOTAM_Facility_Id, NOTAM_Service





Flights per Hour per Grid



Flights_per_Hour_per_Grid-2023.csv

Flights_per_Hour_per_Grid-2023.dpkg



74,219,036



grid_id, hour, movement_count, geometry





GPS Jumps from Routes

(possible spoofing)



GPS_Jumps_from_Routes-2023.csv

GPS_Jumps_from_Routes-2023.dpkg



5,878,275



WKT, id, fid, icao24, callsign, time_before_spoofing, time_of_spoofing, distance, time_difference, speed_m_s, time_start, time_end





GPS Missing Coordinates

(possible jamming)



GPS_Missing_Coordinates-2023.csv

GPS_Missing_Coordinates-2023.dpkg



53,232



WKT, id, icao24, callsign, null_start_time, null_end_time, time_of_previous_not_null_coords, time_of_next_not_null_coords, between_coords_distance_m, null_duration_seconds, between_coords_duration_seconds, avg_nic, min_nic, max_nic, start_time, end_time, start_y, end_x, end_y, start_x





NOTAM ICAO GPS



NOTAM_ICAO_GPS-2023.csv

NOTAM_ICAO_GPS-2023.dpkg



30,160



WKT, id, fid, notam_id, category_name, coordinates_center, radius_nm, radius_mod_nm, notam_number, accountability, location_id, icao_id, domestic_text, icao_text, type, category_id, time_start, time_end





NOTAM USA



NOTAM_USA-2023.csv

NOTAM_USA-2023.dpkg



234,205



WKT, id, fid, notam_id, category_name, is_circle, coordinates_polygon, coordinates_center, radius_nm, faa_location_code, is_faa_location, location_id, is_restricted_area, restricted_area_id, restricted_area_code, category_id, message, notam_number, notam_accountability, moa, type, time_start, time_end





 



 



 



 





Details

1. FAA_and_ICAO_locations.csv and FAA_and_ICAO_locations.dpkg



Total Records: 21,382

Columns:



WKT: Well-Known Text representation of a point in the CSV file, or a geometry field in the DPKG file.

id: Unique identifier for each record.

fid: Feature identifier.

Location_ID: Identifier for the location.

ICAO_ID: ICAO (International Civil Aviation Organization) identifier.

IATA_ID: IATA (International Air Transport Association) identifier.

FAA_Location_Code: FAA location code.

Facility_Type: Type of facility (e.g., airport, heliport).

Facility_Name: Name of the facility.

FAA_New_Location_Code: New location code by FAA.

Coordinates: Coordinates of the location.

lat: Latitude of the location.

lon: Longitude of the location.

Region: Geographical region of the location.

Country_Code: Country code of the location.

Country: Country name of the location.

State_Id: State identifier.

State_Name: Name of the state.

City: City name.

Location: General location information.

Effective_Date: Effective date of the record.

Site_Id: Site identifier.

ADO: Airport District Office.

ARTCC_Id: ARTCC (Air Route Traffic Control Center) identifier.

ARTCC_Computer_ID: ARTCC computer identifier.

ARTCC_Name: Name of the ARTCC.

Tie_In_FSS_Id: Tie-in Flight Service Station identifier.

Tie_In_FSS_Name: Name of the Tie-in Flight Service Station.

NOTAM_Facility_Id: NOTAM (Notice to Airmen) facility identifier.

NOTAM_Service: Indicates if NOTAM service is available (Y/N).



2. Flights_per_Hour_per_Grid-2023.csv and Flights_per_Hour_per_Grid-2023.dpkg



Total Records: 74,219,036

Columns:



grid_id: Identifier for the grid.

hour: Timestamp for the hour.

movement_count: Number of flights in each 0.5x0.5 degree grid during each hour of year 2023.

geometry: Well-Known Text representation of a polygon in the CSV file, or a geometry field in the DPKG file.



3. GPS_Jumps_from_Routes-2023.csv and GPS_Jumps_from_Routes-2023.dpkg



Total Records: 5,878,275

Columns:



WKT: Well-Known Text representation of a linestring in the CSV file, or a geometry field in the DPKG file.

id: Unique identifier for each record.

fid: Feature identifier.

icao24: ICAO 24-bit aircraft address.

callsign: Callsign of the aircraft.

time_before_spoofing: Timestamp before the spoofing event.

time_of_spoofing: Timestamp of the spoofing event.

distance: Distance of the jump in meters.

time_difference: Time difference between two coordinates in seconds.

speed_m_s: Speed in meters per second.

time_start: Start time of the record.

time_end: End time of the record.



4. GPS_Missing_Coordinates-2023.csv and GPS_Missing_Coordinates-2023.dpkg



Total Records: 53,232

Columns:



WKT: Well-Known Text representation of a linestring in the CSV file, or a geometry field in the DPKG file.

id: Unique identifier for each record.

icao24: ICAO 24-bit aircraft address.

callsign: Callsign of the aircraft.

null_start_time: Start time of missing GPS coordinates.

null_end_time: End time of missing GPS coordinates.

time_of_previous_not_null_coords: Time of the last known good GPS coordinates before the null period.

time_of_next_not_null_coords: Time of the first known good GPS coordinates after the null period.

between_coords_distance_m: Distance between the previous and next known good coordinates in meters.

null_duration_seconds: Duration of the null period in seconds.

between_coords_duration_seconds: Duration between the previous and next known good coordinates in seconds.

avg_nic: Average Navigation Integrity Category (NIC) during the period.

min_nic: Minimum NIC during the period.

max_nic: Maximum NIC during the period.

start_time: Human-readable start time of the null period.

end_time: Human-readable end time of the null period.

start_y: Latitude of the start point.

end_x: Longitude of the end point.

end_y: Latitude of the end point.

start_x: Longitude of the start point.



5. NOTAM_ICAO_GPS-2023.csv and NOTAM_ICAO_GPS-2023.dpkg



Total Records: 30,160

Columns:



WKT: Well-Known Text representation of a polygon in the CSV file, or a geometry field in the DPKG file.

id: Unique identifier for each record.

fid: Feature identifier.

notam_id: NOTAM identifier.

category_name: Name of the NOTAM category.

coordinates_center: Center coordinates of the NOTAM area.

radius_nm: Radius in nautical miles.

radius_mod_nm: Modified radius in nautical miles.

notam_number: NOTAM number.

accountability: Accountability of the NOTAM.

location_id: Location identifier.

icao_id: ICAO identifier.

domestic_text: Text of the NOTAM for domestic purposes.

icao_text: Text of the NOTAM for ICAO purposes.

type: Type of NOTAM.

category_id: Identifier for the NOTAM category.

time_start: Start time of the NOTAM.

time_end: End time of the NOTAM.



6. NOTAM_USA-2023.csv and NOTAM_USA-2023.dpkg



Total Records: 234,205

Columns:



WKT: Well-Known Text representation of a polygon in the CSV file, or a geometry field in the DPKG file.

id: Unique identifier for each record.

fid: Feature identifier.

notam_id: NOTAM identifier.

category_name: Name of the NOTAM category.

is_circle: Indicates if the NOTAM area is a circle (1) or not (0).

coordinates_polygon: Coordinates of the polygon vertices.

coordinates_center: Center coordinates of the NOTAM area.

radius_nm: Radius in nautical miles.

faa_location_code: FAA location code.

is_faa_location: Indicates if it is an FAA location (1) or not (0).

location_id: Location identifier.

is_restricted_area: Indicates if it is a restricted area (1) or not (0).

restricted_area_id: Restricted area identifier.

restricted_area_code: Code for the restricted area.

category_id: Identifier for the NOTAM category.

message: NOTAM message.

notam_number: NOTAM number.

notam_accountability: NOTAM accountability.

moa: Military Operations Area (MOA) identifier.

type: Type of NOTAM.

time_start: Start time of the NOTAM.

time_end: End time of the NOTAM.



 

Note that all the files are zipped as CSV. The GPKG version is also available where geographical information is present.

Due to the size of the file Flights_per_Hour_per_Grid-2023, the command line program ogr2ogr may be the best choice to upload the data into a database. Below is an example of a SQL script and a command to upload this file into a PostgreSQL table. Update the placeholders your_DB_table, your_DB_name, your_DB_user, your_DB_password, your_DB_hostname with the actual information.

CREATE TABLE your_DB_table (grid_id TEXT, date TIMESTAMP, movement_count INTEGER, geometry GEOMETRY(POLYGON, 4326));

"C:\Program Files\QGIS 3.36.2\bin\ogr2ogr" -f "PostgreSQL" PG:"dbname=your_DB_name user=your_DB_user password=your_DB_password host=your_DB_hostname port=5432" C:\Flights_per_Hour_per_Grid.gpkg -nln your_DB_table -a_srs EPSG:4326 -dim 2 -progress -append

Author

Eugene Pik

https://orcid.org/0000-0001-6296-919X

https://www.linkedin.com/in/eugene/

eugene.pik@mevocopter.com

DOI

https://doi.org/10.5281/zenodo.11411991

References

Following references were used to update NOTAMs with WKT polygons:

airport-data.com. (n.d.). USA airports by FAA code. https://www.airport-data.com/usa-airports/faa-code/A.html

DoD. (2019). Flight information publication area planning special use airspace. NATIONAL GEOSPATIAL-INTELLIGENCE AGENCY. https://www.cnatra.navy.mil/assets-global/docs/area-planning-1A-20190815.pdf

FAA. (n.d.-a). Airport Data and Information Portal. https://adip.faa.gov/agis/public/#/airportSearch/advanced

FAA. (n.d.-b). US ICAO location finder. https://www.notams.faa.gov/common/icao/USA.html

FAA. (2017a, September 30). Encodes/decodes—Aeronautical data [Template]. https://www.faa.gov/air_traffic/flight_info/aeronav/aero_data/loc_id_search/Encodes_Decodes/

FAA. (2017b, October 12). Aeronautical information manual—Official guide to  basic flight Information and ATC procedures. https://www.faa.gov/air_traffic/publications/media/AIM_Basic_dtd_10-12-17.pdf#page=142

FAA. (2021, July 26). Order JO 7350.9Z - Location identifiers [Template]. https://www.faa.gov/regulations_policies/orders_notices/index.cfm/go/document.information/documentID/1040529

FAA. (2023a). Pilot’s handbook of aeronautical knowledge. https://www.faa.gov/regulations_policies/handbooks_manuals/aviation/phak

FAA. (2023b, June 1). Airport Data [Template]. https://www.faa.gov/air_traffic/flight_info/aeronav/aero_data/Airport_Data/

FAA. (2024, February 16). Order JO 7400.10F - Special Use Airspace [Template]. https://www.faa.gov/documentLibrary/media/Order/Order_7400.10F_2024_-_final_-signed.pdf

ICAO. (2022). North Atlantic (NAT) air navigation plan Volume I (Doc 9634). https://www.icao.int/EURNAT/EUR%20and%20NAT%20Documents/NAT%20Documents/_eANP%20NAT%20Doc9634/Doc9634%20NAT%20eANP%20Vol%20I.pdf

ProAirPilot.com. (2024). Complete list of NOTAM abbreviations. https://proairpilot.com/notam-abbreviations.html

SkyVector. (n.d.). Search for Airports by ICAO ID or name. https://skyvector.com/airports

 

Below is the reference to our source of the aircraft traffic and GPS anomalies data, the OpenSky ADS-B database.

Schäfer, M., Strohmeier, M., Lenders, V., Martinovic, I., & Wilhelm, M. (2014). Bringing up OpenSky: A large-scale ADS-B sensor network for research. IPSN-14 Proceedings of the 13th International Symposium on Information Processing in Sensor Networks, 83–94. https://doi.org/10.1109/IPSN.2014.6846743