Seperating ADS-B Data by flight

5 years 10 months ago #446 by pbuckendorf
We are currently working on a tasks to seperate the ADS-B data for one aircraft by flight. Given that landing and take off procedures are sometimes not captured due to lower altitude. What is a good approach to do that seperation e.g by what data point? I think you went through a similar challenge in order to display the flight traces like you do in the explorer.

Please Log in or Create an account to join the conversation.

5 years 10 months ago #447 by fuchs
Hi,

we were facing exactly the same problems. Here is a wrap-up of the algorithm that we use. It mainly relies on an aircraft's average velocity. This approach turned out to be quite robust when it comes to different types of vehicles.

(We aggregate ADS-B information into a structure which we call "state vector". You could replace "state" with "ADS-B position report".)

For each aircraft, process its states ordered by time and apply the following rules:
  • For each state, compute the inter-message-arrival-time and velocity to the preceding one (based on time of last position update and actual position)
  • Compute threshold Tau = median(all_velocities)/4
  • Each state with inter-arrival-time >600s and velocity < Tau is a departure state
  • Each state preceding a departure state is an arrival state
  • For each departure state assign the nearest airport with a 2D distance <15km and altitude difference <2000m
  • For each arrival state assign the nearest airport with a 2D distance <30km and altitude difference <2500m
  • A flight encompasses all states between departure and arrival

In this context, arrival state is the state with smallest time interval to the expected arrival at the airport. The departure state is the first state of the aircraft after the estimated departure.
Actual departures and arrivals are hard to define and, as you already pointed out, might not have been captured by our receivers.

Hope that helps!

Markus
The following user(s) said Thank You: espin, pbuckendorf

Please Log in or Create an account to join the conversation.

5 years 10 months ago #448 by pbuckendorf
Thanks Markus for the very detailed answer. We had similar thoughts on how to go about this.

Best,
Phillip

Please Log in or Create an account to join the conversation.

Powered by Kunena Forum
This website uses cookies to offer you the best experience of our services. By using this website you agree to our privacy policy!