Geospatial · Disaster Resilience
Airport Thermal Survey
A Landsat surface-temperature pipeline over nine US airfields, built as part of my volunteer disaster resilience work. It pulls Landsat Collection 2 Level-2 surface temperature through the Microsoft Planetary Computer STAC API, masks it with USGS quality-assurance bitmasks, clips it to OpenStreetMap airfield geometry (runway, taxiway, apron, and terminal polygons, buffered in each scene's own UTM projection rather than in degrees), and emits per-surface zonal statistics rendered into a self-contained HTML atlas. The interesting decision was scene selection. The obvious move is to sort candidate satellite scenes by lowest cloud cover, but that anti-selects the exact days you care about, because hot days are hazy. I inverted it: rank candidates by hottest local-day maximum temperature and gate acceptance on validity instead, requiring 70 percent valid in-fence pixels and a minimum cloud distance. All nine scenes landed between 97.8 and 100 percent clean coverage. The finding: apron surfaces run 24 to 43 degrees Fahrenheit above the airport's own reported air temperature at the same overpass minute, across all nine airfields. Two caveats matter and are part of why this is worth showing. Every scene is a late-morning satellite overpass, so it structurally misses the afternoon peak and is a conservative lower bound. And the defensible comparison is surface temperature against air temperature, not pavement against grass. The frontend is dependency-free vanilla JavaScript: canvas raster decoding from base64, hand-rolled SVG charts, and no mapping library.
What it does
Landsat Collection 2 Level-2 surface temperature via the Microsoft Planetary Computer STAC API
USGS QA bitmask cloud and quality masking, clipped to OpenStreetMap airfield geometry buffered in each scene's UTM projection
Scene selection inverted: ranked by hottest local-day maximum and gated on validity, not on lowest cloud cover
All nine scenes landed between 97.8 and 100 percent clean in-fence coverage
Finding: apron surfaces run 24 to 43°F above reported air temperature at the same overpass minute, across all nine airfields
Stated limits: a late-morning overpass misses the afternoon peak (a conservative lower bound), and the defensible comparison is surface vs air temperature
Dependency-free vanilla JS frontend: base64 canvas raster decoding, hand-rolled SVG charts, no mapping library
Tech stack