We are looking for an algorithm specialist who can do this task and are in need of an algorithm that can give a confidence level that the next position in a series of movements is correct.
The bodies moving are aircraft, usually in flight, and we have the current heading and speed to assist. We need to be able to tell if the next position is a “valid” position or not.
No filtering is to be done on the actual positions used but a filtering algorithm could be used to assist the determination of the next points validity.
Data points will contain:
- WGS-84 encoded latitude & longitude
- Altitude in ft
- Speed in kts
- Timestamp in seconds since epoch
These needs to work in all scenarios:
- Using the previous n points to assist - (keeping n as low as possible for performance).
- Instances where we only have the one previous position, speed and heading
- Helicopters that can make tighter turns than you might expect
- Aircraft on the ground taxiing
Points that have a low level of confidence will simply be discarded rather than used.
Code needs to be either in Go or C and as this will be run thousands of times per second should be optimised as such.
Sample data provided. More can be obtained.
The desired output from this project is a single function that we can call with 2 parameters.
One is the new desired coordinate that the aircraft is moving to (lat, lon, time, heading, speed).
The second is an array of points that contain all the parameters above (lat, lon, time, heading, speed). The array could contain only one element but I imagine the more points submitted the better the algorithm is at determining a valid position.
The function should return a confidence level that the new position is allowed.