Challenge Overview

FAA NOTAM: Notice to Airmen Data Ingestion

Project Background

 

The Federal Aviation Administration (FAA) in collaboration with Topcoder is working to further improve timely access to Notice to Airmen (NOTAM) data by developing required Application Programming Interfaces (APIs) to meet the diverse needs of the aviation industry. 


A Notice to Airmen (NOTAM) is the real-time notification component of the FAA's Aeronautical Information System and contains up-to-date information related to any change in the National Airspace System (NAS).

Who uses NOTAMs?

  • Commercial, General Aviation, and Drone pilots need access to NOTAM data before and during flight. 

  • The FAA issues NOTAMs to support multiple Federal Agencies, Airports, protect critical infrastructure, disaster relief efforts, and space operations. 

 

Challenge Overview

Welcome to the Notice to Airmen Data Ingestion Challenge!  Your task in this challenge is to create a tool that processes NOTAM records.

 

Background Information

A NOTAM is a real time, safety critical, information essential to personnel concerned with flight operations but not known far enough in advance to be publicized by other means. It states the abnormal status of a component of the NAS – not the normal status. 

 

The system that we’re building will need to ingest all the data sources and provide an API to query all the data based on various properties, such as location, notam type, location and notam number, effective start and end dates, affected feature types and last updated date.

 

API will also have the options to return the data in 3 different formats: AIXM, AIDAP or GeoJSON. 

To access the API, users will first need to be registered on a developer portal where they would get an access key for the API. 

 

All the application components will be hosted on Kubernetes and will need to be dockerized.

 

NOTE: For more details on project background and NOTAM data sources, see the architecture challenge 

 

Technology Stack

 
  • Java/Spring

 

Assets

Project architecture and demo JMS subscription credentials are posted in challenge forums

Task Details

Your task in this challenge is to create a CLI tool (JMS Receiver in the architecture diagram), that will:

  • subscribe to the JMS service, 

  • receive NOTAM updates, 

  • store them in the database, 

  • determine if the NOTAM is a TFR record and if so, download the geometry data from TFR website

  • Update the record in the database

  • Convert the AIXM 5.1 record into AIDAP format (call the existing format conversion tool) and save the results to database

Refer to the project architecture for exact data processing requirements.

Tool will be implemented using Java 11, Spring Boot 2.4 and data should be stored in the PostgreSQL database. 

 

Create a docker file for the tool and a docker-compose script that starts all the services.


What To Submit

 

Submit the full source code for the CLI tool and a README file with build and verification instructions.



Final Submission Guidelines

See above

ELIGIBLE EVENTS:

2021 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30158915