Skip to content

cchrisnguyen/AttentionETA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-aircraft attention-based model for perceptive arrival transit time prediction

This repository contains the code for the paper titled Multi-aircraft attention-based model for perceptive arrival transit time prediction published in Advanced Engineering Informatics.

Requirements

To set up the environment, ensure you have Python version >3.10 installed. You can create a Conda environment and install the required packages using the following steps:

  1. Create a Conda environment:

    conda create -n eta python=3.10
  2. Activate the Conda environment:

    conda activate eta
  3. Install the required packages:

    pip install -r requirements.txt

Training

To train the model, use the following command:

python train.py --batch_size 512 --epoch 30

About the data

The flight data has been processed and split into training and test datasets. Each data point contains the following fields:

  • Time: Timestamp.
  • Flights: String-encoded array describing all flights' info at the timestamp, with each flight represented by 18 features:
    • 1 Latitude: Latitude of the aircraft (e.g., airport latitude: 22.3080).
    • 2 Longitude: Longitude of the aircraft (e.g., airport longitude: 113.9185).
    • 3 Altitude: Altitude in feet, divided by 30,000.
    • 4-5 Heading angle: Sine and cosine of the heading angle.
    • 6 Ground speed: Ground speed in knots, divided by 500.
    • 7 Vertical speed: Vertical speed in ft/s, divided by 3,000.
    • 8 Runway: 1 if runway 07, else 0.
    • 9 Holding: 1 if the aircraft is in a holding pattern, else 0.
    • 10 Will hold: Holding duration (minutes) from now to landing, if any.
    • 11 Go around: 1 if the aircraft missed the previous landing and is going around, else 0.
    • 12-15 Aircraft type (one-hot): 'J':3, 'H':2, 'M':1, 'L':0.
    • 16-18 Distance category (one-hot): 2 if distance > 4100 km, 1 if 1500 km < distance ≤ 4100 km, 0 otherwise.
  • in_donut: Whether the aircraft is in the donut airspace (relevant when considering only the donut airspace).
  • transit_time: Ground truth remaining transit time to be predicted, in seconds.
  • sknt: Wind speed in knots, normalized as (sknt - 10) / 5.
  • drct: Wind direction in degrees (to be processed to sine and cosine).
  • vsby: Visibility in miles, normalized as (vsby - 5.935911) / 0.881571.
  • gust: Wind gusts in knots, divided by 70.
  • skyc: Maximum sky coverage of the four observed levels, mapped as:
    • 'CLR', 'M', 'NSC': 0
    • 'FEW': 1
    • 'SCT': 2
    • 'BKN': 3
    • 'OVC': 4
      (to be one-hot encoded by datapoint.py)
  • wx: Present weather code, one-hot encoded based on the code array:
    ['+', '-', 'SH', 'TS', 'RA', 'BR', 'VCSH', 'VCTS']

Please download data from this repository and place them in folder data.

Citation

If you use this code in your research, please cite the paper:

@article{nguyen2025multi,
  title={Multi-aircraft attention-based model for perceptive arrival transit time prediction},
  author={Nguyen, Chris HC and Liem, Rhea P},
  journal={Advanced Engineering Informatics},
  volume={64},
  pages={103067},
  year={2025},
  publisher={Elsevier}
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages