Show HN: Global 3D topography explorer

118 pointsposted 11 days ago
by jessekv

37 Comments

diggan

11 days ago

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 :)

folli

11 days ago

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/

pedalpete

11 days ago

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.

https://ayvri.com/

jessekv

11 days ago

Thanks! You inspired me to try babylon.js. You may also recognize the background image.

I'd love to compare notes.

petargyurov

11 days ago

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

11 days ago

> 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 ;)

cozzyd

11 days ago

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

11 days ago

It's AW3D30 and MERIT-DEM. AW3D30 has Antartica, but I don't have catchment or island polygon data there yet.

cozzyd

11 days ago

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

11 days ago

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

11 days ago

very interesting... on SRTM the example I checked (Pyramid Lake) is all at one altitude (albeit, only with 1 m resolution), while on MERIT-DEM, the lake surface differs by more than 1 m across the lake.

Here is a difference map between the two: https://i.imgur.com/Iw5bsdj.png

jessekv

11 days ago

It's too late to edit, but I should clarify, MERIT has at least two DEM, the MERIT-DEM and MERIT Hydro.

MERIT Hydro is the one I am using at larger scales.

MERIT Hydro has "Hydraulically Adjusted Elevations". Of course the actual elevation of the surface of the lake will be set up in whatever direction the wind is blowing on a given day, but MERIT Hydro is interesting because they tweaked the elevations to make them monotonically decreasing in a way that should align with the mean direction of flow.

For visualization, MERIT Hydro is nice because it is smooth float32 (as in your image) that also downsample nicely. It's just not high enough resolution for smaller catchments. AW3D30 has 30m resolution which is much better, but is stored in int16 and can sometimes look a bit lumpy, especially with a large vertical exaggeration. For example:

https://topography.jessekv.com/?lat=1.3622&lng=103.8131&mode...

I found a spot on Pyramid Lake that has the whole catchment:

https://topography.jessekv.com/?lat=40.0756&lng=-119.5985&mo...

I'm going to add this to "favorites" :D

cozzyd

11 days ago

Ah, I clearly just had to keep clicking! I see now that the DEMs are credited in the rendering, which I didn't notice before.

cozzyd

11 days ago

yes, Antarctica is slightly complicated by the need to use a different coordinate system to get reasonable results.

jessekv

10 days ago

Update: Thanks for all the interest!

I've run out of monthly credit at map tiler, so I'm going to have to tinker a bit with the explorer view.

Edit: Switching to protomaps for now.

ata_aman

11 days ago

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.

[1] https://godview.ai

diggan

11 days ago

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

11 days ago

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.

Karawebnetwork

11 days ago

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

11 days ago

> 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 :(

user

10 days ago

[deleted]

trhway

11 days ago

While Russia (in the "best" traditions of USSR) has recently, as a response to Ukrainian drones, outlawed detailed Russian topographic data _inside_ Russia.

stevage

11 days ago

I was hoping to be able to visualise a mountain peak, but watersheds doesn't work for that.

entropie

11 days ago

Is it maybe possible to download object files or something like that (that I can convert to stl)?

jessekv

11 days ago

Not sure- I'm generating the glb on-demand from the raw DEM data with numpy. What interests you about STL?

entropie

11 days ago

Id like to (3d) print topo maps and most online tools are either not for europe or just bad.

Your comment is very helpfull. I might figure it out myself.

cozzyd

11 days ago

QGIS has a plug-in for this. I've toyed with writing my plug-in for a colorful 3D format for 3D printing purposes though.

entropie

10 days ago

That worked better than excpected. Thanks for the heads up.

ekianjo

11 days ago

I see you use glb files. Any way to convert them into something that can work with GDAL?

jessekv

11 days ago

All the data started out as geotif, the final glb output is just for the web view. For GDAL it would be easier to go back to the original geotif than to extract the data from the glb.

archsurface

10 days ago

Lovely. Need a compass point image added.