Methodology
Please note here are many potential sources of error in this dataset, from non-ADS-B-equipped aircraft, to GPS inaccuracy, to data dropouts due to reception issues. Any event may be misleading, but the hope is that with enough events, interesting patterns may emerge. Here are the arbitrary criteria being used -- trying to balance too many events with not enough to show a pattern:
- Data is downloaded from adsb.lol's archive of historical location reports on github.
They have crowdsourced ADS-B data from thousands of volunteers worldwide.
- The downloaded data is fed through adsb_actions to isolate airports of interest and resample at 1Hz, then identify events where aircraft pairs:
- Are within 0.3 nm and 400 ft vertically
- Both aircraft are above 400 feet AGL and below 4000 feet AGL (using the airport elevation as a reference)
- Data was received from both aircraft in the past 5 seconds (i.e. not fully resampled)
- Within 10nm of the target airport (shown by the blue ring)
- Each event is assigned a (very approximate) quality rating to help filter out likely false positives:
- ● Very High – brief event (≤30s), CPA closer than 0.2 nm and 200 ft vertically, no data quality issues
- ● High – brief event (≤30s), no data quality issues
- ● Medium – event lasted 30–60s (possible formation flight), a helicopter was involved, or had data quality issues (sparse reports during event)
- ● Low – event lasted over 60s (probable formation flight or parallel runway ops), one aircraft had less than 60s of track data, or had data quality issues (no valid data near closest point of approach, or implausibly large position jumps)
Only Medium quality and above events, within 5nm of the airport, are included in the event counts on the home page.
Source code is available at GitHub.