Global Airport Network Visualization
For Day 1 of the #30DayMapChallenge, I created an interactive visualization of the world's airports using OpenStreetMap data. The map demonstrates effective point symbolization through color-coded airport types: blue circles for international airports, red circles for military airfields, and gray circles for other aerodromes. The circles scale dynamically based on zoom level, providing clear visual hierarchy from global to local context.
Airport Layers
Basemap
Interactive airport map with layer controls – Use the toggles to filter airport types
View full map →Data Extraction
The airport data was extracted from OpenStreetMap using Overpass Ultra, a powerful query interface for OSM data. I used Claude to write an Overpass QL query that pulled all aeroway nodes and ways tagged with aerodrome information globally. This resulted in a comprehensive dataset of over a million airport points, including international airports, regional airports, military airbases, heliports, and small airstrips.
[out:json][timeout:180];
// Get all airports
(
node["aeroway"="aerodrome"];
way["aeroway"="aerodrome"];
relation["aeroway"="aerodrome"];
);
// Output with all tags
out center tags;Overpass QL query used to extract global airport data from OpenStreetMap
Technical Implementation
The visualization is built with modern web mapping technologies:
- react-map-gl – React wrapper for map rendering with seamless component integration
- MapLibre GL JS – Open-source vector map rendering engine with WebGL acceleration
- OpenFreeMap – Free basemap tiles using the clean Positron style
The GeoJSON data is rendered client-side with efficient vector layer styling. Interactive toggles allow users to filter airport types dynamically, and the map supports smooth zoom transitions with scale-dependent symbolization. All rendering happens in the browser using WebGL, making it surprisingly performant despite the large dataset.