← Jesse Levine

KANP Flight Tracker

Live traffic & historical patterns · Lee Airport, Annapolis MD · weather hub →

Connecting…
60 nm data ring · map © OpenStreetMap © CARTO
Collected data summary — last 60 days
All collected traffic — hour of day × day of week · hover a block for detail
Loading all-time activity…
Less
More
Set a range and hit Load tracks. Data collected 24/7 by the Raspberry Pi, read from its hourly GitHub snapshots (or the Pi directly on the home network).
Alt ft
5,000
0
ground 40,000 ft · altitude-colored tracks, tar1090 scale · layers ▛ top-right: VFR sectional, TAC, IFR low/high, weather
Past 7 days — hour of day × day of week · hover a block for detail
Loading past-week activity…
Less
More
Pick a range and hit Run study. Data collected 24/7 by the Raspberry Pi, read from its hourly GitHub snapshots (or the Pi directly on the home network).
Runway operations
Detects arrivals, departures and go-arounds from track shapes near the field (touch-and-gos are not permitted at KANP, so a touch-and-look profile is a go-around; go-around / low approach = 2 ops, FAA counting) and attributes each to RWY 12 or 30 with the pattern side flown. Uses the filters above (altitude/ground filters are overridden).
Climb-out comparison
Extracts every departure's initial climb and plots altitude gained vs distance from liftoff — compare one aircraft's climb gradient on a hot, high-density-altitude day against other days and other aircraft. Uses the date/day/hour filters above. Gains are re-baselined to the field's pressure altitude (estimated hourly from on-ground reports), correcting for the day's altimeter setting; the dashed lines are reference gradients.
Straight-in comparison
Ranks straight-in arrivals by how precisely they tracked the extended centerline: only approaches established beyond pattern distance qualify; best = smallest average lateral offset over the last 3 nm. Top panel: vertical profile vs the PAPI reference glidepath; bottom: lateral offset. Uses the date/day/hour filters above.
Pattern shape
What a normal pattern here actually looks like: every downwind flown into a landing or low approach, measured in the runway frame — how far out it was flown and at what altitude. Circuits to both ends fold onto one picture (left traffic sits above the runway either way). Width is averaged along the leg abeam the field; altitude is the level part of the downwind, before the descent. ADS-B reports pressure altitude, so AGL is measured against the field's own pressure altitude that hour, not the charted elevation. Uses the date/day/hour filters above.
Proximity events within nm & ft
Finds pairs of aircraft that were inside both thresholds at the same moment (loss of separation / near miss), ranks them by closest point of approach, and replays any event as an animated two-aircraft playback. Severity tiers: critical < 500 ft & 100 ft (NMAC scale) · close < 0.15 nm & 200 ft · proximity = inside the thresholds. Uses the date/day/hour filters above. Tracks are simplified and interpolated, so distances are approximate — and aircraft without ADS-B are invisible here. Targets with no registration (anonymized "~" hexes) are skipped — they are usually TIS-B ghosts of an aircraft already tracked.