🌲 Trail Shade Estimator

Pick a trail, a date and a time — get the estimated share of the trail in shade.

1. Find an area

2. Choose a trail

Trails in the current map view will appear here.
Selected: none

3. Date & time

10:00
Times are local to the trail: …
Loading…
How this is estimated

This is an estimate from OpenStreetMap data and free terrain data, not a measurement. Missing or out-of-date map data (unmapped trees, new buildings) will change the real answer.

Sun: position computed for the trail's location, date and local time (SunCalc). If the sun is below the horizon the app reports darkness instead of a percentage.

Sampling: the trail is cut into ~20 m pieces. For each piece we check, in the direction of the sun:

• Trees – satellite tree cover (Impact Observatory/Esri Sentinel‑2 10 m land cover, shown as a green tint on the map) plus OSM woods/forest areas, tree rows and single trees. A point is shaded if it is under canopy or the canopy's shadow (assumed ~15–18 m tall for woods and satellite-detected trees, ~10 m for tree rows/single trees; a trail under 10 m tree pixels is treated as under canopy, so wide clearings/paved paths inside woods may be over-shaded) reaches it. Canopy blocks ~85% of sun in full leaf; deciduous trees (or untagged woods) drop to ~30% when leafless (Dec–Mar in the northern hemisphere, with spring/fall transitions). Needle-leaved/evergreen woods (OSM leaf_type) stay ~75% year-round; satellite trees are assumed deciduous.

• Buildings – OSM building footprints, height from height or building:levels (default ~8 m).

• Terrain – AWS Terrain Tiles (~15–20 m resolution). If a hill or ridge within ~3 km is higher than the sun, the point is in shade.

• Low sun – when the sun is below 5°, unmapped obstacles (hedges, fences, distant trees, haze) block much of it, so extra shade is added that ramps up toward sunset/sunrise.

OSM data for the Grant Park area (Washington Twp/Centerville, OH) is built into the page (snapshot 2026-10-10) so it loads instantly; other areas are fetched live.

Shade % is the length-weighted average of shade over all pieces. Bands: 0–30%, 31–50%, 51–70%, 71–100%.

Map data © OpenStreetMap contributors. Trails/trees/buildings via the Overpass API; search via Nominatim; elevation © Mapzen/AWS Terrain Tiles; land cover © Impact Observatory, Microsoft & Esri (CC BY 4.0).