Inspired by u/ADSBSGM work, I expanded the concept.

    Runway orientation field — Each line represents a cluster of nearby airports, oriented by the circular mean of their main runway headings. Airports are grouped using hierarchical clustering (complete linkage with a ~50 km distance cutoff), and each cluster is drawn at its geographic centroid. Line thickness and opacity scale with the number of airports in the cluster; line length adapts to local density, stretching in sparse regions and compressing in dense ones. Only the longest (primary) runway per airport is used. Where true heading data was unavailable, it was derived from the runway designation number (e.g. runway 09 = 90°).

    Source: Airport locations and runway headings from OurAirports (public domain, ~28,000 airports worldwide). Basemap from Natural Earth.

    Tools: Python (pandas, scipy, matplotlib, cartopy), built with Claude Code.

    by kalvinoz

    4 Comments

    1. Reposting this information to follow the rules:

      Inspired by u/ADSBSGM [work](https://www.reddit.com/r/dataisbeautiful/comments/1r1xftj/most_common_runway_numbers_by_us_state_oc/), I expanded the concept.

      **Runway orientation field** — Each line represents a cluster of nearby airports, oriented by the circular mean of their main runway headings. Airports are grouped using hierarchical clustering (complete linkage with a ~50 km distance cutoff), and each cluster is drawn at its geographic centroid. Line thickness and opacity scale with the number of airports in the cluster; line length adapts to local density, stretching in sparse regions and compressing in dense ones. Only the longest (primary) runway per airport is used. Where true heading data was unavailable, it was derived from the runway designation number (e.g. runway 09 = 90°).

      **Source:** Airport locations and runway headings from [OurAirports](https://ourairports.com/data/) (public domain, ~28,000 airports worldwide). Basemap from [Natural Earth](https://www.naturalearthdata.com/).

      **Tools:** Python (pandas, scipy, matplotlib, cartopy), built with [Claude Code](https://claude.ai/claude-code).

    2. Could you run it again but make two clusters? A lot of major airports and airbases use two different directions for two sets of prevailing winds – doesn’t that muddle the data if those are just averaged?

    3. Wow – very cool! When you include all the little airports and grass fields and so on, there are a *lot*. Interesting to see the mid-Pacific and mid-Atlantic, how many little airports there are in the middle of nowhere. I didn’t even know there were islands at some of these locations!

      The line-length calculation showing density is interesting… it doesn’t seem intuitive, but when you look at it, it works. Where did that idea come from?

    Leave A Reply