Giter Site home page Giter Site logo

bachelorproject's Introduction

Recognition of Patterns in Flight Tracking Data

Bachelorproject @ SDU, F23. Software Engineering

Students:

Supervisor: Kamrul Islam Shahin - [email protected]

In collaboration with ForeFlight.

Development / Running locally

Prerequisite: dotnet 7.x: https://dotnet.microsoft.com/en-us/download

  1. Clone the repository
  2. Copy: FlightPatternDetection/appsettings.json to FlightPatternDetection/appsettings.Development.json and change: mysqlConnectionString to point to a MariaDB server with FlightPatternDetection/Database_Creation.sql loaded in.
    • Optional: Change Logging.LogLevel.Default to Debug in FlightPatternDetection/appsettings.Development.json
  3. Find the latest NAVDB and place it here FlightPatternDetection/NAVDB.sqlite.
  4. Optional: Load in some fallback flights into FlightPatternDetection/FallbackHistoryData/. Get some from a good friend or create your own by using avalaible python scripts in scripts/ (requires FF-vpn). (Remember that flights should be stored as .JSON)
  5. Debug and run. Use the FlightPatternDetection project as your startup project. Use the http or https launch-profile.

bachelorproject's People

Contributors

jonaskaad avatar alexandernorup avatar victoraboye avatar anorup-foreflight avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bachelorproject's Issues

Sequence Diagram

Create a Sequence Diagram for the project to describe how it all works together

Fetch flight data from endpoint

The program should be able to fetch external flight data from some kind of endpoint.
Ideally it should be the one by ForeFlight. This will need the VPN, so for now 2-3 test files handled from somewhere else as proof of concept will be fine.

Should be able to:

  • Fetch the data and download it
  • Load the data and save it if changes are needed
  • Save relevant parts to the database

Use Case Diagram

Create a use case diagram to show how the user interacts with the system

Find or create training data for Machine learning

In order to use machine learning, we need some data to train the machine.
Hopefully, we can find some data but if not, then we need to find flight data that ends up in holding patterns and some that don't.

Zoom and re-draw holding patterns

When a holding pattern has been found it should be possible to click on a button to zoom in to the area with the holding pattern. It should then re-draw the animation for the pattern.

Fix map boundaries

Fix the drawing on the map when it flies over the antimeridian. (See problem below)

  • Could do something like -180 on the value

image

Find waypoints for flight

Find the waypoints for the corresponding flight from the AirNavDB.

  • Could be with triangulation for the whole entire flight
  • Could be within a radius of a single LAT / LONG coordinate

Improve simple pattern detection engine

We could improve the simple pattern detection engine in a couple ways.

  • Ignore points with altitude 0
  • Check that the inversions are close enough together to be part of a holding pattern
  • Check if the inversion points are close to the general flight level and speed of general holding patterns

2. Presentation Pillar

Be ready for the 2nd presentation pillar. We should bring the following:

3 more diagrams:

  • Sequence Diagram
  • Use Case Diagram
  • Database Diagram

Study the UML language and lingo and be ready to answer questions about the diagram. Kamrul will do some interview questions during the presentation.

Convert requirements and classify them into the modules. (Requirements that are related. Should be grouped together) 4 - 5 modules. At least one should be fully fleshed-out and be ready for the presentation.

  • API
  • DB
  • Engine

"Reformulate the diagram correction". Update the Activity Diagram the reflect changes Kamrul requested.

PowerPoint titled "___ 2.1" that showcases all this work.

Updates to map

  • Add some kind of direction, to show which way the flight is going
  • Add option to clear map. (Either on next flight load or button)
  • Possibility to click on next flight (list of them)
    -- click on 10-15 flights to quickly load in

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.