Show HN: Every mountain, building and tree shadow mapped for any date and time (shademap.app)

685 points by tppiotrowski ↗ HN
I've been working on this project for about 4 years. It began as terrain only because world wide elevation data was publicly available. I then added buildings from OpenStreetMap (crowd sourced) and more recently from Overture Maps data. Some computer vision/machine learning advancements [1] in the past few years have made it possible to estimate tree canopy heights using satellite imagery alone making it possible to finally add trees to the map. The data isn't perfect, but it's within +/- 3 meters of so. Good enough to give a general idea for any location on Earth. Happy to answer any questions.

[1] https://www.nature.com/articles/s41559-023-02206-6

190 comments

[ 3.0 ms ] story [ 229 ms ] thread
(comment deleted)
Nice! If you park on the street, you can use this to figure out where to park to keep your car cooler during summer.
Very cool. I looked at the Bay Bridge and it gets the towers but probably not the bridge itself (this is a trivial point except for folks right by the bridge, but fun to look for edge cases).
Such a useful tool for photographers! Thanks!
Wow, I had such an idea years ago when walking under blazing sun following gps directions, I wished that it would plan the route according to shade.
I've thought of and yearned for this too. Conversely, in the winter I'd like a path with maximum sun exposure.

    There's a dark and a troubled side of life;
    There's a bright and a sunny side, too;
    Tho' we meet with the darkness and strife,
    The sunny side we also may view.

    Keep on the sunny side, always on the sunny side,
    Keep on the sunny side of life;
    It will help us every day, it will brighten all the way,
    If we keep on the sunny side of life.
When it doesn't have height data it seems to set every building to the same height. Interesting, but it does make it inaccurate in my country.
OpenStreetMaps is pretty coarse with building heights. Seemingly just an integer with most buildings being 1 (stories?) from what I’ve seen.
I don't have this data at hand, and often it's hard to see from out front or differs for different parts of the building. So while an avid OpenStreetMap contributor, I rarely add height info to buildings

Perhaps I should look into high resolution height data (that is, high enough that an individual building shows up at all) with licenses that allow use in OSM and at least tag the buildings that show having a mostly uniform height. For example in the Netherlands, AHN is amazing (hundreds of points per tree! It looks like a 3d wireframe render of the entire country, truly amazing) but the license is not permissive enough.

This site is great but it's only an approximation.

We've used this website for years for checking the sun in various potential homes and holiday rentals. It's a half decent approximation but it doesn't really have proper height data (I think it's using standard building classification from Open Street Map data?) so it's only a guide.

I’m surprised; I was thinking they might buy a few satellite photos through a sunny day and just… look at where the shadows are (with code).

Maybe working back from that could feedback how high the buildings might be.

They seem to have proper shadow information. I live in a semi-rural village and shadows from trees along our street are quite accurate ( and seem to be based on one section before it was cleared a year ago or so)
The trees thing seems to be new, I’m not sure I’ve noticed that before
Plus it seems to be missing a boat load of trees in the streets.

But it's pretty cool overall! And I'll keep it in mind as we're in the process of looking for a new home.

Did you try the paid data? The free one missed most the trees, but the $2 map showed all the trees in my nearby park. Really impressive.
Can you share screenshots of both side by side? (perhaps of some area not your backyard if you don't want to reveal where that is?)
If you click on the premium version, it will show a sample of a chosen area to show you how much more detail (esp re: trees) will be available. Even that was kinda worse than what I got.
For me it only increases the resolution, but not the correctness. The shadows have more detail, but are still wrong.
So - how do I know if the paid version is accurate if the free version is inaccurate? It shows me a sample of some place I don't know so it's impossible to evaluate.

They should offer some other way to trial the full version.

$2 is how.

The sample convinced me. $2 is a really small investment.

Nice! Last time I found something like this was a 15$/mo yearly subscription, which was clearly targeted at real state agents, and didn't make any sense for a one time check... Luckily they just believed the system clock, so at least I could check over the year by changing the computer time
Edit: looks like they already show side-by-side samples, https://news.ycombinator.com/item?id=40535186.

They could probably have a side-by-side comparison of somewhere famous like Central Park (I'm from UK, fwiw) showing the free vs paid data to give an idea of what one might get; I guess it varies by location how much detail is mapped though, and how recently.

The ‘try a sample’ link in the upgrade flow drops you into Central Park West with the full data.
A few months ago I paired for the tree data to figure out the best place on our property to place some planter beds.

I’m very happy with the results. It confirmed my guess that a specific section gets more light over the year even though there is a bit more shade in the mornings until late spring.

What's the data source?

The premium map is really good for my neighborhood!

I wonder if it's image processing from Planet data or something. Shape from shadows (then back to shadows?)

It definitely has no data about roof shapes.
Funnily enough... it's completely missing the vacation rental mini chalet my neighbors built which casts shade over most of my backyard. I suppose this means it won't be missed on any surveys if it mysteriously gets knocked down.
(comment deleted)
(comment deleted)
I don't know how the mechanics of it would work, but some kind of local accuracy index would be very useful in such broad maps.

Because the elephant in the room with most global dataset compilations is that the accuracy varies greatly from place to place. Some countries or regions have detailed data, others have generic or unclassified blobs. Some data is older, some is newer.

An ideal tool reduces the need for detailed provenance checking upon every usage.

Related product: https://shadowmap.org/
The sun view with angles clearly displayed is very informative on this one.

EDIT: Lots of features are not free though. Pricing dialog keeps popping up when you click around things.

I've signed up for shadow map while house hunting and it was worth every cent.

Shade map just crashes my phone every time.

impressive, wonderful gem of software, super useful for companies that install solar cells. congratulations, it is a very good job.
I just had to check some really rural places and went to some random village in tibet. As there is no information about trees or buildings there, just roads, it surprisingly doesn't work - it just shows some shadows based on terrain heights in middle of empty village road grid.

So as expected, if the site has height information it can draw shadows but definitely not for "every building" etc that the title claims.

well... of course?
They shouldn't be using "every". It sounds like the kind of thing American programmers say.
Some people still thinks words should mean what they mean.
The irony that I've written a typo in a comment about words is not lost on me.
I personally thought the interesting part of the submission was the "every" of the title, ie there might have been some AI algo that could have somehow approximated height and shadows based on multiple satellite images or use some data that is not available for everyone (hence the "every" could have applied)

Currently it's an approximation of shadows based on unreliable open data which is nice but not that special.

First time I've seen my workplace as the default centre for a map like this. Someone from the Technische Fakultät did this?
It's location based. The default place on the map for me was the Airbnb I'm staying at right now
It's not a default center it's just your IP address and will change for everyone.
Looks useful for photography. You can see where the light and shadow areas will be and plan out where and when to go.
I made an application like this waaaaay back in grad school. The hardest part is that it looks believable but getting accurate data is just so difficult.

And behold, it’s missing the entire forest my street is in.

One thing I often wonder is do car crashes happen more frequently when the sun is low in the sky and facing traffic? Surely someone has got together the data on traffic accidents, maps, times and a model of the earth/sun to work this out!

(Google search results for this are full of spam from a mix of motor insurance companies and sunglass companies)

Couldn't tell you where I've read this but I heard years ago that it makes a difference indeed. Now I'm wondering if that was just the person who said or wrote it just giving an example of what kind of considerations you need to incorporate when optimising for safety, or if they actuality had data on this
As a young driver I was given the advice that if you see a lot of oncoming cars using their sunshade or squinting into the sun as they come towards you, it's time to pull over and wait it out.

Driving with the sun at your back is never a good time to be on the road.

Crossing the road as a pedestrian neither.
I was on a bike stopped at a stoplight and was rear-ended by a car for this very reason.
A tall tree on my street was lost last year: it shows the shadow for it even though it’s not on the satellite image. Now I wonder where it gets the tree data from.
Similar situation here with a patch of trees.

From the About: "The shadows displayed by default are estimates gathered through indirect means like crowd sourcing and low resolution data."

Not sure what low resolution data they are using for the trees (I can't imagine mine were crowdsourced given I'm the only house around). Probably not worth it for me but apparently the premium version has more accurate/current data.

It says it is using openstreetmap, so you can probably edit that tree if its added to OSM.
After reading this I went through all the OSM datasets I could see (including double-checking the layers) and none of them showed the tree. Now I’m even more curious.
It's coming from public LIDAR data, which captures both trees and the ground below them (and is able to tell which is which).
Can you point to which LIDAR dataset? I did not see any openstreetmap datasets with the tree present.
Google maps in the browser on desktop had a similar feature when you zoomed in enough to see building footprints. It showed shadows for current time of day, based on building height and -footprint.

I used it all the time, in the summers of 2014/2015 to pick places to have lunch at, that were in the sun, when I had a corporate job in the center of Berlin.

It stopped working/being displayed at some time, don't remember which year after it was.

I guess not many people knew about it and the discontinuation of it can be booked under "general enshittification of Google products".

At the time they had an advertising product they were offering to solar installers based on site quality that used this feature. If I had to guess they probably stopped offering it when that product didn’t take off.
Stuff like this reminds me how awesome people can be
This doesn't seem to have ANY of the trees in my neighborhood (in Massachusetts) even though there are just tons of very large ones.
+1 at this time of year it is simply incorrect in my location per my understanding of what a "shadow" is, unless their definition is like complete occlusion in the dead of winter or something
Also, apparently no trees cast a shadow at noon?