Flight Movements Over Offenbach
Published:
About 3,700 recorded flight movements over Offenbach am Main in one week (March 22–29). Red lines are low-altitude flights (around 4,000 ft / 1.2 km), blue lines are at cruise altitude (35,000–40,000 ft / 10–12 km).
At low altitude, the Frankfurt Airport approach corridors are clearly visible. The zigzag patterns are usually survey or photogrammetry flights.
The heatmap makes the corridors even more obvious – they converge over Neu-Isenburg before reaching the runway:

The altitude distribution shows two distinct clusters: arrivals/departures at low altitude and cruising traffic passing overhead:

Data collection
A small script polls the FlightRadar24 API every 5 seconds within a bounding box around Offenbach and logs everything to a TSV:
from FlightRadar24.api import FlightRadar24API
from time import sleep
from datetime import datetime
bounds = "50.14,50.06,8.72,8.85"
fr_api = FlightRadar24API()
while True:
now = datetime.now()
dt_string = now.strftime("%Y-%m-%d %H:%M:%S")
with open("flights.tsv", "a", encoding="utf-8") as outf:
outf.write(f"{dt_string}\n")
flights = fr_api.get_flights(bounds=bounds)
for flight in flights:
outf.write(str(vars(flight)) + "\n")
sleep(5)
Each record contains position, altitude, heading, speed, aircraft type, origin/destination, and callsign.