I need the inverse of that - an app that predicts how badly a given street will be baked by the sun at current or near-future time, will there be any shadow zone from the buildings, how far will the usable extent of it reach (e.g. not much use of shadow if my head or body stick up beyond the shaded volume). Ideally available on a smartphone. Bonus points for being able to route navigation paths to minimize direct sun exposure.
Motivation: I hate it when it's hot, but my kid has actual issues with heat/sun exposure, and e.g. I had to navigate our way around the city through shaded zones today, just so she doesn't get exhausted in under 30 minutes.
Plenty similar apps are made to sell people photovoltaics, but I'd love to see something to help humans avoid sun.
This is exactly what I am working on for my city (Berlin). Right now it gives you sun/shade times for outside areas of cafes and restaurants as well as heatmaps for public parks and playgrounds.
The idea is to eventually offer a sun or shadow mode and the app will then surface areas, squares, and streets with more sun or shade and eventually offer walking and biking routes with more or less sun.
Update: I just vibe coded myself one, gave me an excuse to play with Antigravity (and then cleaned up/improved with Claude Code). Not posting a link yet because it serves 12MB worth of geo JSON up to the client on first page load, and I'm not eager to wake up tomorrow with a bill for upload traffic spike. But it pretty much does its job as well as it could given quality of available data (OSM), so now I'm looking at improving the data itself.
It currently runs A* for routing between two points on map (no address lookups yet), using either local A* or an OSMR endpoint for base path, and then A* for shadow-aware routing, and shows both, + stats (total time exposed, how much it saves in sunlight exposure and loses in time relative to base), plus has a bunch of debugging overlays so I can validate and diagnose pathfinding and data quality. But I tested it live today, and it mostly checks out with reality (big gap: no data on trees).
Smartphones have the huge advantage of direction sensors (3D magnetometer and gyro). I remember using apps like Google sky map (or something like that) way back in 2011 to look at satellites and planets.
It uses the Python lib Astral, which uses "equations from Astronomical Algorithms, by Jean Meeus", to find location of the Sun in the sky. That method assuming earth motion without gravitational pull from other planets or the Moon, and has accuracy of 0.01 arc degree. Meeus is a rock star in these kinds of calculations. He also gave a truncted version of VSOP87 that has error less than 1 arc second in finding Sun's location.
The method Astral uses for calculate Moon's location has precision of 1 arc minute. For higher precision, LEA-406 [1] can be used.
Interesting, I've planned similar shots before and used different tools that serve a similar purpose. The Photographer’s Ephemeris has nice visualizations: https://photoephemeris.com/
NASA's Horizons ephemeris is also pretty good at preparing data for this. I've used it with a little script to check when the sun/moon will be in a given box. This hengefinder looks neat and really streamlined for its purpose though.
I lived a long time in a city near the equator with a prominent east-west street. Commuting west to east in the morning and east to west in the evening meant frequent hengings. The roads don't feel particularly safe when you can't see anything. The town planners might have considered this.
Living in the US Midwest, there are lots of towns that are laid out on north-south grids, including portions of mine. As a cyclist, I take note of the days when the sun is coming up over east-west streets, because the car drivers can barely see where they're going. I once saw a multi-car crash on my own street (fortunately at very low speed) that I attributed to this effect.
Any angle within 23º of east-west will have henging at some time of year. You'd have to have the entire street grid be aligned diagonal rather than cardinal.
Additionally I have visited Stonehenge and it's sterilised and disappointing being unable to walk amongst the stones. Thank you for your attention to this matter.
Very interesting, but sounds like an extra complication to use binary search on time to find the right position of the sun, when you can just directly calculate this, eg. using the formulas in here: https://gml.noaa.gov/grad/solcalc/solareqns.PDF
On a similar note, for this August's total solar eclipse (in Europe), I 3D modelled the sun's position in the sky from the viewpoint that I am planning to go to. The eclipse will happen late in the day when the sun will be low, so I wanted to make sure that nothing will obstruct my view!
I’d like to subscribe to stick™ pro! I tried a piece of string and it waved around in the wind and didn’t work, so I think I may need a paid service for this.
your in luck
due to a need to redirect our efforts we are opensourcing, stick™ and stick pro, under the historic source code "anelemma" which is stick™ plus rocks™
instruction manual:place stick verticaly on planet.
observe shadow™ and place rock™ at point of
of maximum shadow length, each day
continue untill the pattern starts to repeat.
reverse engineer orbital dynamics and gravitational atraction from resulting pattern.
scratch head.
build civilisation.
Nice, and awesome that it works internationally. One little feature request: provide an .ics download, so that I can add a calendar event, add a link to the original calculation to the the calendar entry.
Yep, if I use street name it attaches to wrong part of the street, if I use a place next to the street it attaches to the place, not the street. Couldn't figure out how to drag the origin point of the arrow
Motivation: I hate it when it's hot, but my kid has actual issues with heat/sun exposure, and e.g. I had to navigate our way around the city through shaded zones today, just so she doesn't get exhausted in under 30 minutes.
Plenty similar apps are made to sell people photovoltaics, but I'd love to see something to help humans avoid sun.
reply