Show HN: Global 3D topography explorer
30 comments
·February 10, 2025folli
Nice!
I'm working on something similar but aimed at visualizing GPS tracks, e.g. for hiking and biking: https://cubetrek.com/view/6638
Let's share some notes, if you're interested! Code is open source: https://github.com/r-follador/CubeTrek/
wilson090
Oh cool, I made something similar but for making a styled graphic rendering of a ride/run/trek: https://riderender.wilsonspearman.com/
also open-sourced: https://github.com/wilson090/ride-render
pedalpete
Nice, I'm the founder of Ayvri (acquired) we were doing 3d virtual scenes for lots of different use cases. The Tor des Geants used our 3D map for their event one year, it was one of my favorites to see in 3D.
The publicly available stuff is gone now, but there's still a grainy poor resolution video showing what we used to do.
jessekv
Thanks! You inspired me to try babylon.js. You may also recognize the background image.
I'd love to compare notes.
diggan
It would be great if one could select multiple "Catchments", since "Region" seems to select a whole country, while Catchment is dividing the island I'd like to capture into three pieces, one of which is huge and the others kind of small. Made a small demonstration of the problem here: https://imgur.com/a/tyudJvW
Another thing that would be awesome is if we could download the .glb files via a link/button in the visualizer, instead of having to manually grab the download link from the developer tools :)
stevage
I was hoping to be able to visualise a mountain peak, but watersheds doesn't work for that.
cozzyd
Which DEM are you using? MERIT-DEM? It seems to exceed SRTM's coverage, but be smaller than ASTER's coverage (except it does include the Northernmost island in Greenlan which I think falls outside 83 N). You might consider adding BEDMAP2 or REMA to cover Antarctica...
jessekv
It's AW3D30 and MERIT-DEM. AW3D30 has Antartica, but I don't have catchment or island polygon data there yet.
cozzyd
Speaking of catchment, lakes behave in a strange way to me. Is this an artifact of them somehow being divided up into river catchment zones? This sliver of Lake Michigan shows only the Chicago River (and it's wrong anyway, since the Chicago river flows the wrong way :) ) . https://topography.jessekv.com/?lat=41.8869&lng=-87.5356&mod... I would naively expect clicking on a lake would show the sum of all watersheds going into it.
Ok, Lake Michigan is weird due to the canals (and strangely the Des Plaines river is shown there, maybe it's confused by that) but even very straightforward endorheic lakes seem divided up https://topography.jessekv.com/?lat=40.0780&lng=-119.5641&mo...
jessekv
Yes, these inaccuracies come from using a (global) DEM for catchment delineation. It also behaves strange in river deltas, when multiple branches of the river show up.
I'd like it to render a whole endorheic basin with one selection of a lake, but currently it splits the lake into two or more, e.g.
https://topography.jessekv.com/?lat=31.4299&lng=35.4724&mode...
and
https://topography.jessekv.com/?lat=31.4136&lng=35.4702&mode...
cozzyd
yes, Antarctica is slightly complicated by the need to use a different coordinate system to get reasonable results.
ata_aman
That's sweet, I'm planning to implement something like this on my project[1] as well (also a Christmas gift to myself). Right now it spits out points but regions and polygons is on my to-do list. Suggestion: make the map cover the entire browser window/remove the black borders, it gives it a more HD feel and it makes it immersive.
diggan
Doesn't it end up being kind of a shameless plug and less of a "here is something similar" when your own thing isn't at all similar and shares no functionality with what OP posted?
ata_aman
I mean, not really? It's not like I make money from it, it's completely open-source and free to use. I gain nothing besides sharing similar work to OPs which I found interesting.
maxloh
Taiwan renders pretty good for me: https://topography.jessekv.com/?lat=23.9339&lng=121.0158&mod...
Do you consider open-sourcing the code behind it?
petargyurov
Nice, what was the motivation?
The Amazon made my poor unplugged M1 stutter.
> The backend is a Python thread running on an old Lenovo Thinkcentre in my closet
I love that, however, RIP in advance ;)
jessekv
> what was the motivation
Sort of a Christmas present to myself, always wanted to visualize the world this way. I've sunk hours just clicking around on the catchment selector.
But I'd like to get to this sort of experience one day: https://xkcd.com/941/
> RIP in advance
Yes, I also wanted to see what asyncio could take ;)
Karawebnetwork
I wish there was a way to select multiple catchments at once, because using "region" for Canada or the US selects the entire country and not individual states.
A favorite of mine to look at is October Revolution Island and its glaciers.
jessekv
> I wish there was a way to select multiple catchments at once
Me too.
> October Revolution Island
Unfortunately my land cover data does not reach there either :(
entropie
Is it maybe possible to download object files or something like that (that I can convert to stl)?
jessekv
Not sure- I'm generating the glb on-demand from the raw DEM data with numpy. What interests you about STL?
trhway
While Russia (in the "best" traditions of USSR) has recently, as a response to Ukrainian drones, outlawed detailed Russian topographic data _inside_ Russia.
chefandy
Cool work!
I made a web app to generate 3D models of real places on earth from land cover and elevation data.
Click anywhere on the map to get a polygon, and then click "generate".
It should work at most scales, but if your watershed or region selection is too large, the result can be less exciting because it's so flat.
As a warning, the 3D models can sometimes be too much for my phone. It's nicer on desktop. I'm still working better on mobile support.
The land cover data I'm using gives a cool effect, but at some point I'd like to add in global imagery and clouds.
The backend is a Python thread running on an old Lenovo Thinkcentre in my closet, so if it goes down, this is why. (I also sometimes need to restart it when the network card stops working... I really should figure out why sometime.)
If you find a really cool island or watershed, let me know and I can add it to the "favorites".