-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Turn on terrain 3d #341
base: main
Are you sure you want to change the base?
Turn on terrain 3d #341
Conversation
Demo now uses global terrain tiles from @acalcutt please let me know if I should take that down, Andrew! https://wipfli.github.io/openstreetmap-americana/#4/40.5/-94 |
I don't mind, but I wouldn't do it long term. My internet stability isn't great here unfortunately so it may be unavailable at times. I can offer my full planet mbtiles file if someone wanted to host it (it is 427GB) I just regenerated it so it is no longer missing a chunk of greenland, so now it actually IS full planet. I have also tested converting it to a pmtiles file, which was slightly smaller if someone wanted that (but it seemed a bit slower) |
I still have the first version of the terrainrgb file here ( https://drive.google.com/drive/folders/1tvJSr_4wq7kaxe1hOOGAK_oDWFYrMTcx?usp=sharing ) , but that one is missing the chunk of greenland I plan to upload the new copy soon, but theres no reason this old copy couldn't be used now and replaced once I get it uploaded. Its so big I usually upload it from work where the internet is stable...lol |
My only comment is this needs navigation control with the visualizePitch option (https://github.com/wipfli/openstreetmap-americana/blob/a0ce8f39b49e8cd6d755ff926759cecb649b3c5f/style/americana.js#L377) Like the demo ( https://github.com/maplibre/maplibre-gl-js/blob/main/debug/terrain.html#L78-L82 ) |
This looks amazing and thanks @wipfli and @acalcutt for showing us the art of the possible. I personally think it would be a great fit for our style have hill shading, to "fill in" parts of the map that would otherwise be quite boring. It does seem that performance is a significant challenge with the current demo, so we would need to obtain hosting more robust than what is shown in this demo. Can you share some specs on what you're currently used to host the mbtiles? a 0.5TB mbtiles file is within the realm of possible. |
I am only running this on a 8 core / 16Gb memory virtual server, though tileserver-gl doesn't really make use of that. My main issues here is I only have a 10Mb upload speed, so it shouldn't take much to do better than that. I am running Debian 11 with my maplibre version of tileserver-gl running as a systemd service and running it behind haproxy |
This looks fabulous! Do you have any sense about how performance of this would compare to a 2D hill-shade layer? I'm really looking forward to getting hill-shade in Americana and if 3D terrain is a reasonable way to get that (and also get 3D!) then that would be super snazzy. That said, if 3D terrain adds significantly larger processing/GPU requirements on the client side, then maybe a 2D hill-shade layer would also be beneficial. I could also imagine that a 2D hill-shade layer might have higher resolution or fine-grain detail, but that's an unknown at this point. |
On my tileserver I have this test style which uses a 2D hillshade raster made from the JAXA DEM images files Which can be compared with main main style, which uses the dynamic maplibre hillshade, using the TerrainRGB file made from the same JAXA DEM image files On my site map at https://wifidb.net/wifidb/opt/map.php?func=wifidbmap , I leave Terrain off by default just because it is VERY resource heavy. However, I included the TerrainControl button so if the user wants it, they can optionally turn it on. That's really just hillshade though, which isn't a new feature. 3D Terrain needs the same source (TerrainRGB or Terrarium), so once you have that source for one thing It makes sense to have it for the other. I personally like how the dynamic hillshade looks better. It is much sharper and you don't have to worry about blending as much because it just gets drawn on top. EDIT: Also, I know I commented on the pitch control above. I wanted to mention the reason for that is without a pitch, the 3d terrain looks a lot like regular hillshade, and it is a lot harder to see the 3d effect of it. I always make sure to include pitch in my navigation control if I want to show off terrain (so people like me with a laptop and touchpad can actually change the pitch and see it) |
I've updated my full planet mbtiles made from the JAXA DEM images and put them on my google drive if anyone is interested. They can be downloaded here https://drive.google.com/drive/folders/1Uo5xyFd8it7UH3pSmBiWP4lfZdM9OmhA?usp=sharing jaxa_terrainrgb.mbtiles - Is a full planet TerrainRGB file made with gdal and rio rgbify. This can be used with the new terrain features of maplibre or with the older hillshade features. (example here). jaxa_color.mbtiles - A full planet color relief map created using gdaldem color-relief (example here) jaxa_hillshade.mbtiles - A full planet hillshade map created with gdaldem hillshade. I preferer to use the TerrainRGB dynamic hillshade over this file, but I updated it anyway. (example here) As you can see from the examples above, I have fixed the missing chunk of Greenland that the last version of these files had. |
The key here is to understand what resource requirements we need to acquire to have hill shading in Americana. I'm willing to conduct a limited experiment to determine what those minimums are, but ultimately we'll be looking for donated resources for a general purpose map and/or an OSM US American map style. What I'm hearing is that we want to host the I can rent a t4g.nano from AWS which has 0.5G ram, 2 vCPUs and 5Gbit max download speed. Would that be sufficient for a performance test? |
The example in this pr is using only jaxa_terrainrgb.mbtiles (427.42 GB) This is a TerrainRGB file (Zoom 0-12) that can be used with maplibre hillshade features ( https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#hillshade ) or with the new 3d terrain features ( https://maplibre.org/news/2022-05-20-terrain3d/#12/47.27574/11.39085/0/52 ) |
Note that I've been unable to test this because I've been unable to download the file onto my AWS VM so far. |
Hey americanas! This is just a little show case for the terrain 3d feature in MapLibre GL JS v2.2.0-pre.2. Uses
the MapLibre demo tiles.
This should not be merged, just wanted to share the nice 3D stuff...