Home - Flight-Path-Analysis/FlightPathAnalysis GitHub Wiki

Flight Path Analysis

This project was created as a requirement of the Erdös Institute's Data Science Bootcamp course, under the tutelage of Teachers and TA's, Fill here.

The project is not currently complete and is still in the early stages.

For information about licensing or any other external issues please refer to the README file present at the repository's root.

With all that out of the way, hi! I'm glad you came to check out our project, please refer to the rest of the wiki if you have any questions, and if you need to contact us, here's the list of developers/maintainers

Summary:

This project provides the user with tools to gather and analyze flight and weather data, especially focused on correlating weather information with the flight path of various commercial and non-commercial aircrafts. The data products produced by this project are as follows:

  • Compressed / Interpolated flight path data
  • Compressed / Interpolated weather data
  • Detailed statistical analysis and plots for both flight data, weather data, and correlational studies
  • Training and testing of machine learning algorithms for predictability of flight patterns given weather conditions as the input, as well as for non-statistical correlational analysis.

To see further results, please refer to our [Results Page] and our [Video Presentation] for the Erdös Institute course presentation.

For guidance on the usage of the tools in the project, please keep reading.

Features:

Usage:

This Jupyter Notebook located in the prototyping directory in the repository provides a comprehensive usage of all the tools in the program, with example datasets and mock versions of large scale code.

Note: For the data gathering portions of code, you'll need access to the OpenSky Database and [Whatever we're using for weather]. This is not required for the rest of the code, and you may use our Public Sample Dataset for the rest of the code. Below is a list of resources to contact the necessary entities to obtain access to the data.

Getting Started

Downloading Anaconda (for environment management)

  1. You can download the Anaconda package from here
  2. Follow the installation instructions provided

Creating environment (good resource: Conda Cheat Sheet)

  1. Open the Anaconda Prompt (for windows) or the command line (for Unix)
  2. Create a new environment for this project (in this example we'll call it FlightStats) with conda create --name FlightStats python=3.11
  3. Activate the environment with conda activate FlightStats

Cloning and installing dependencies

  1. Navigate on the command line to the path you'd like to install the project in cd path/to/project
  2. Clone the repository: git clone https://github.com/Flight-Path-Analysis/FlightPathAnalysis.git
  3. Navigate to the directory: cd FlightPathAnalysis
  4. Install the dependencies: pip install -r requirements.txt (Make sure you're in the environment you need)
  5. Create a config.yml file in the config directory as a copy of the config_template.yml file, edited for your own needs. cp config/config_template.yml config/config.yml. For questions please consult the [Config File Wiki].
  6. If you have access to the OpenSky database, create a .yml file with the credentials at config/opensky_login.yml (or whatever name, as long as it corresponds to the entry in the config.yml under base-configs:opensky-credentials:.

The opensky_credentials.yml file should contain nothing but the following

username: YourUsername #Change it to your own opensky username
password: YourPassword #Change it to your own opensky password

Make sure the file you put your credentials in is listed in the .gitignore file so it doesn't get accidentally uploaded.

  1. (Not yet implemented) Run the main script: ./main.sh (for Unix) or main.bat (for Windows)

Making the environment visible on Jupyter Lab (or Jupyter Notebook) (Instructions derived from here)

  1. To make the environment visible on Jupyter, you first need to install ipykernel with conda install -c anaconda ipykernel
  2. Add your environment to the list of Jupyter Kernels with python -m ipykernel install --user --name=FlightStats

Managing git

  1. A recommended tool for managing git pushes/pulls/branches is Visual Studio Code
  2. Don't ever try to push from main, create a branch and push merge it later.

Contributing

We welcome contributions! Please see our Contribution Guidelines for detailed information on how you can contribute.

FAQs

The project is brand new and we haven't had many questions yet, but when we do, we'll put the right here ;)

Acknowledgements

  • Erdös Institute: For hosting the Data Science Bootcamp where this project was conceptualized.
  • OpenSky: For providing access to their comprehensive flight database.