Wow! I went looking at my region and it was so easy to see the river valleys and plains. Before, I only had a rational understanding how downstream will always be lower. This is the first time I intuitively saw where water flows on a map!
I wish the map had some kind of reference key, or the ability to query for height at any given point. It seems like the color-scheme breaks down on very steep slopes, like those of the Andes in Chile.
I also wonder if Greenland is actually that smooth, or if the elevation sample rate is just much lower for inland Greenland.
I can clearly see the ancient geological strata of Carboniferous and Devonian rock layers in my home country of Wales, particularly Pembrokeshire and the Gower! So my layman theory would be that tectonics pushed these once horizontal layers nearer to the vertical, and that weathering processes eroded them slightly differently, giving each layer slight height differences that are imperceptible on most terrain colourshcemes, but Oilslick happily highlights. Hats off
The is one of the coolest maps I've seen. I thought that showing strong contrast on minor elevation changes would hide information, but it does the opposite. Great resource and great summary on the left tab thing
the potential effects of rising water levels are pretty clearly outlined in coastal areas like california. most of silicon valley, as well as LA, would be underwater and the central valley would become a large inland sea.
No. Most of LA is shielded by bluffs and coastal hills and mountains. Even at 10 feet of sea level rise, within LA County only Long Beach and areas of Venice near the marina would really be affected. Some beachfront property in the South Bay, too.
no, it's not. LA is a river basin historically, and even with some bluffs, it's not protected enough from ingress all around (and water falls from the sky too!).
the simulator you linked to makes no sense (or maybe it's broken in my ad-blocking browser). it shows ingress on palos verdes, which is basically a mini-mountain right on the shore that would become an island with enough sea rise.
> This creates a zig-zagging pattern of the lightness level. Each cycle, or zig+zag from black → white → black again, covers 500m of elevation.
I find this zig-zagging of lightness level very difficult to interpret. Greenland looks to me like a series of concentric hills. Perhaps if I were to get used to it, it would become easier to understand.
But the monochrome areas are really neat to see, and it's very easy to understand what's happening geologically in, say, Finland.
A feature I would like to see is a shareable URL for regions.
>Greenland looks to me like a series of concentric hills.
What you are looking at is an implicit contour map - normally these lines are drawn in post processing to highlight levels of constant elevation. If you follow the "concentric hills" you are staying level and going around the hill. If you move perpendicular to them you are going straight up the slope in the direction of the gradient.
Yes. Sorry, I wasn't clear. Intellectually, I understand what's intended, but the visual effect of hills and valleys however is very strong and hard to ignore. I can read and understand that the dark lines on Greenland are isoclines, but having an intuitive feel for what these patterns represent is elusive. The visual idioms of light as height and dark as depth is probably too entrenched for me.
I agree. It looks like ripples in a pond. But, more importantly, even if I get that it's all increasing, it's impossible to tell if it's rising smoothly or not.
Being Dutch living in one of those barely visible dark blue stretches of below sea level literal low-lands makes one rather aware of our precarious national position as far as rising sea levels are concerned.
I read something that said you guys are sort of in luck as long as Antarctica doesn't go. Apparently the gravitational forces from ice in Greenland pull the ocean higher. So as the ice melts the ocean around Greenland will fall while farther away it will rise. There is a zone around Greenland where it's a wash. And the Netherlands is in it.
The east coast of the US, Florida, and the Gulf coast are totally hosed though.
Except floods do happen, and are going to happpen more due to global warming, and the prognosis is that half the country is under water by 2100 (I live about -5 NAP myself).
This one is a different beast. Our governments have been ignoring it until now (new government in 2022) but I doubt its going to be enough, we cannot deal with this problem on a national level. If a country like China slacks with this, we get hosed.
Not really. I’m saying the Dutch are probably the best prepared to deal with the worst case of continuing climate change at the current rate (assuming China, India, US don’t do anything).
Unless you're being facetious, you might want to read up on things like the Delta Works[1], the Zuidersee Works[2] or the smaller project of Maeslantkering[3].
If there's one country that has had long experience in dealing with the threat from the oceans, it's the Netherlands. And these kinds of projects don't really lend themselves to organizations that require profit for their investments.
(I'm not dutch, but I have biked across the 32 km long causeway of Afsluitdijk[4] and parts of the Delta Works.)
Mostly it’s just kind of funny because “fight the sea” is sometimes used as a metaphor for futility. And also climate change and sea level rise is a global problem. I do know the Dutch have a lot of experience with this, the phrasing just came off as funny. And I am not under the impression a for profit org would do any better. I just think fighting the sea is going to get very hard by 2100.
This is awesome! I've spent a lot of time thinking about similar issues and making do with 16bit grayscale, but reading interactive maps or tiles from apis, I've seen all the problems mentioned in the intro, and it only took me a couple minutes to get the hang of reading the weird light bands. I don't know if it'll catch on, but I think it's a really cool effort!
This seems effective at showing how nearby areas relate to each other (or at least where ridges and changes are) and hopeless at global comparisons. After staring at it for a little while, I have no intuitive sense of what any area's height is, unless it's the orangey/black colors that appear near sea-level, or the bluish color that appears in the himalayas.
Interesting idea, but elevations lower than 50m or so are colored black as if they're water. Looks like an apocalyptic flood. Don't understand why the author didn't make sea level a clearly visible threshold.
I somewhat like the map precisely because of this fact.Waters and oceans are not at the end of the day solid, however vast they might be(however this is not to say this map is fully about elevation, because underwater elevation is mostly missing if not existent).Though it might look unnecessarily apocalyptic, it's somewhat a good reference of how the tectonic plates, the planet, and everything else in nature evolves.I'm personally fascinated for example by the both 'negative' (rivers) and 'positive' (hills, pre-mountain areas) that form tree-like structures.If we used traditional elevation map such quirks would be less noticeable, at least in my opinion
It's just a strange choice given that the author is lamenting about how traditional relief maps don't represent both coastlines and high mountain terrain well... And then proceeds to not represent coastlines well, even though that would definitely be possible with their approach.
This is in general a really nice way to visualise datasets which have both a wide range of values, and "relative" local variations that comprise a small fraction of the overall range.
This makes seeing the rivers and catchment areas easier than other maps I'm used to.
It also easily highlights features that the sea has cut away in the past. For example if you search "Isle of Wight" and scroll west, you can see the ridge that runs W-E across the Isle of Wight continuing on the Isle of Purbeck to the west. I knew that a long time ago it was all joined up as land, but this map shows this particular feature more clearly than a geology map.
I think there's a misunderstanding of the data here. It appears that the underlying data used for this map is DEM data (https://en.wikipedia.org/wiki/Digital_elevation_model), which encodes values in the red, green, and blue channels of an image representation of a geographic area. You're not supposed to visualize this data directly -- instead, you combine those values in a simple formula to obtain a height value, then you use that value to create visual maps. This map just restyles what is geographically analogous to the binary representation of "hello, world" instead of the output itself.
You can search google for "terrain map" or "elevation map" and find many beautiful examples of accurate elevation data.
Edit 2: Looks like I was wrong about this. Apologies to the author and thanks to everyone who helped me understand GIS a bit better! I'll keep this up as a reminder that just because my voice is loud doesn't mean I'm right.
>You're not supposed to visualize this data directly -- instead, you combine those values in a simple formula to obtain a height value, then you use that value to create visual maps.
Isn't this exactly what has been done here? You can even see the legend at the right side of the screen.
This still shows the uncombined components. What does the color blue represent in this map? Is it a height? -500m? 5000m? 6000m? What does white represent? This map is a fundamental misrepresentation of the actual data.
This is the formula:
height = -10000 + ((R * 256 * 256 + G * 256 + B) * 0.1)
No it doesn't. I think you're misunderstanding the site. It deliberately uses a weird banded colour scale so you can see where height changes on a fine scale.
I think there’s a misunderstanding of the data _here_. The underlying data are indeed a DEM, distributed as a single band geotiff file. There’s no R, G, or B, just elevation. The linked tutorial is simply how to take those data and convert them to a format that can be visualized on screen _using_ R, G, and B values derived from the formula you posted in a child comment.
Which part of the text on the site gave you the impression they made this misinterpretation? It clearly explains what its visualizing and why it looks like that, and has nothing to do with what you claim is their mistake.
But of course you said something negative about the content, so clearly it has to be the top comment on HN, can't have that otherwise...
Oilslick was made with elevation data. In the the middle of the text in the left-hand panel, the author wrote:
> The cycling and purity of colors looks a lot like a thin-film interference pattern, hence the name: oilslick. This could be a point of confusion for my more GIS-educated viewers: the pattern is easily mistaken for the raw result of radar interferometry elevation mapping [0] (which was the method used to produce most of the data in this dataset). But this is not the case; what you see here is final, post-processed elevation data.
I get that this is something I need to learn to read, and that there is the potential for it to be extremely useful once I have learned how to read it.
It's hard to learn, though, without quick feedback on whether I'm reading it correctly. It would be a big help to show the elevation wherever I'm pointing — either with a miniature scale or a number or both — so I can get direct feedback on whether it's increasing or decreasing and by how much, and to help me recognize the sequence of hues.
I'm also really curious to see what this looks like if the lightness is always increasing, with a sawtooth discontinuity where it wraps around after hitting 100%. Yes, this would produce really hard edges in arbitrary places, but that might be worth it in exchange for the hugely helpful certainty of always knowing which way is up.
I think that those scenarios, where it’s just big pointy cylindrical mountains, are very well served by contour plots. I also struggle with this approach, but it does show a lot of interesting detail for things like river valleys and smaller mountains.
There doesn't seem to be an advantage in mountainous regions. I think it might actually be detrimental.
But try looking at reasonably flat areas that show up as almost a single color on traditional terrain maps. The whole Mississippi river catchment area; Florida; England (especially in contrast to Scotland and Wales); Australia.
What you gain in definition of some of England's smaller hills, you lose in definition of coastlines. The low lying areas only a few metres above sea level are indistinguishable from sea!
> It would be a big help to show the elevation wherever I'm pointing — either with a miniature scale or a number or both
It’s not obvious, but I just discovered that there’s a scale on the very right of the screen. Not quite as good as an interactive tooltip (especially since I’m colourblind), but useful nonetheless.
That's a nice experiment, take something a mundane as contour lines, turn it to eleven and see where it gets you.
Is it a materialized remapping of the underlying .hgt or is it done client-side, in some webGL-shader? (if we'd even need that, plain js or wasm might be good enough these days?) I could imagine this being even more compelling if we could interactively shift the remapping to put regions we are currently interested in into high saturation parts (and/or scaling it down to make mountain ranges "readable").
Another, even simpler reading help would be sampling the color at the mouse position and displaying a translation into meters.
In any case, the vertical perception amplification (compared to other visualisations) is truly awesome! in my region I can easily make out the forest offsets that SRTM and LIDAR data happens to come with, and bigger roads cutting through those forests.
> Is it a materialized remapping of the underlying .hgt or is it done client-side, in some webGL-shader?
The map loads pre-rendered map tiles as JPG images from Amazon S3 (you can confirm this in the Network tab of your browser's dev tools).
The page says:
> This map layer is hosted as a public service, and map tiles are free to use under a Creative Commons 4.0 Attribution-NonCommercial-ShareAlike license.
Geosynced DEMs prepped to feed into microwave link design software can cost a lot of money. I knew one engineer who was sent up in a special plane they found just to photograph a remote region and then he matched the elevation data by hand for all the routes. I don't know what the non commercial uses are for this data but I suspect it would be otherwise prohibitively expensive without the CC4.0 license so I am happy for whomever it benefits.
It looks like he's using vanilla Leaflet and a tile map. Gdaltile
My guess is that he used GDAL to color and tile the DEM. GDAL can work with hgt files, but the DEM he used probably came as a bunch of geotiffs (I haven't checked, but that's pretty standard practice iirc).
> Another, even simpler reading help would be sampling the color at the mouse position and displaying a translation into meters.
If he's using gdal2tiles to create the tile map, he's likely converting the DEM to an 8 bit raster somewhere in the process, so the information conveyed by each of tiles will be less than ideal. There are ways around this, but they would take some effort, which may be more than what the author wanted to put in.
I used the typical GDAL tools -- gdalwarp, gdaldem, with some associated scripts of my own. I recall not using GDAL's image pyramid builder as I ran into some issues with wrapping at the int'l date line and in general wanted more fine-grained control over the process.
This could be rendered dynamically using the elevation tile services now available from mapbox, et al. I wanted to use Jon de Ferranti's dataset specifically though due to his commitment to uniform global quality.
An additional issue is since the color ramp is quite jagged, aliasing would be quite unsightly when zoomed out. You'd need a hefty amount of supersampling to get back the desired smoothness... not sure the tile services can support that easily.
Nice idea though I think the color scheme could be made a lot more intuitive without losing the progress in contrast. Muddy brown for near-sea level doesn't do it for me.
Also, in some areas (like Eastern Oregon, where I was looking) it really drives home how close in elevation the land is to the river. It's basically highlighting the floodplains.
This really does a fantastic job of highlighting the lower lying areas with more subtle elevation changes. There are many details in the US plains that I never saw before, but the most amazing thing that I learned from this map his how low-lying so much of northern India is and how abruptly the Himalayas rise out of the nearly sea level plains
I love it. The glaciation in the highlands of Scotland, the Amazon basin nestled by the Andes, the east coast of the US, Central America, the Indian plate smashing into the Himalayas -- all super clearly visualized. Great work.
93 comments
[ 5.2 ms ] story [ 171 ms ] threadhttps://river-runner-global.samlearner.com/
“Drop a raindrop anywhere in the world and watch where it ends up”
https://news.ycombinator.com/item?id=29841737
Super fun!
I also wonder if Greenland is actually that smooth, or if the elevation sample rate is just much lower for inland Greenland.
https://coast.noaa.gov/slr/#/layer/slr/10/-13087637.78362574...
the simulator you linked to makes no sense (or maybe it's broken in my ad-blocking browser). it shows ingress on palos verdes, which is basically a mini-mountain right on the shore that would become an island with enough sea rise.
I find this zig-zagging of lightness level very difficult to interpret. Greenland looks to me like a series of concentric hills. Perhaps if I were to get used to it, it would become easier to understand.
But the monochrome areas are really neat to see, and it's very easy to understand what's happening geologically in, say, Finland.
A feature I would like to see is a shareable URL for regions.
Northern Scandinavia looks positively Lovecraftian.
What you are looking at is an implicit contour map - normally these lines are drawn in post processing to highlight levels of constant elevation. If you follow the "concentric hills" you are staying level and going around the hill. If you move perpendicular to them you are going straight up the slope in the direction of the gradient.
The east coast of the US, Florida, and the Gulf coast are totally hosed though.
Ah that ought to do it.
If there's one country that has had long experience in dealing with the threat from the oceans, it's the Netherlands. And these kinds of projects don't really lend themselves to organizations that require profit for their investments.
(I'm not dutch, but I have biked across the 32 km long causeway of Afsluitdijk[4] and parts of the Delta Works.)
[1] https://en.wikipedia.org/wiki/Delta_Works
[2] https://en.wikipedia.org/wiki/Zuiderzee_Works
[3] https://en.wikipedia.org/wiki/Maeslantkering
[4] https://en.wikipedia.org/wiki/Afsluitdijk
It also easily highlights features that the sea has cut away in the past. For example if you search "Isle of Wight" and scroll west, you can see the ridge that runs W-E across the Isle of Wight continuing on the Isle of Purbeck to the west. I knew that a long time ago it was all joined up as land, but this map shows this particular feature more clearly than a geology map.
You can search google for "terrain map" or "elevation map" and find many beautiful examples of accurate elevation data.
Edit: This is a good tutorial on how to derive the correct values: https://github.com/syncpoint/terrain-rgb
Edit 2: Looks like I was wrong about this. Apologies to the author and thanks to everyone who helped me understand GIS a bit better! I'll keep this up as a reminder that just because my voice is loud doesn't mean I'm right.
Isn't this exactly what has been done here? You can even see the legend at the right side of the screen.
This is the formula:
height = -10000 + ((R * 256 * 256 + G * 256 + B) * 0.1)
They didn't interpret the data wrong.
But of course you said something negative about the content, so clearly it has to be the top comment on HN, can't have that otherwise...
> The cycling and purity of colors looks a lot like a thin-film interference pattern, hence the name: oilslick. This could be a point of confusion for my more GIS-educated viewers: the pattern is easily mistaken for the raw result of radar interferometry elevation mapping [0] (which was the method used to produce most of the data in this dataset). But this is not the case; what you see here is final, post-processed elevation data.
[0] https://www.esa.int/var/esa/storage/images/esa_multimedia/im...
It's hard to learn, though, without quick feedback on whether I'm reading it correctly. It would be a big help to show the elevation wherever I'm pointing — either with a miniature scale or a number or both — so I can get direct feedback on whether it's increasing or decreasing and by how much, and to help me recognize the sequence of hues.
I'm also really curious to see what this looks like if the lightness is always increasing, with a sawtooth discontinuity where it wraps around after hitting 100%. Yes, this would produce really hard edges in arbitrary places, but that might be worth it in exchange for the hugely helpful certainty of always knowing which way is up.
Is there a good area that makes this design really shine vs conventional?
But try looking at reasonably flat areas that show up as almost a single color on traditional terrain maps. The whole Mississippi river catchment area; Florida; England (especially in contrast to Scotland and Wales); Australia.
It’s not obvious, but I just discovered that there’s a scale on the very right of the screen. Not quite as good as an interactive tooltip (especially since I’m colourblind), but useful nonetheless.
Is it a materialized remapping of the underlying .hgt or is it done client-side, in some webGL-shader? (if we'd even need that, plain js or wasm might be good enough these days?) I could imagine this being even more compelling if we could interactively shift the remapping to put regions we are currently interested in into high saturation parts (and/or scaling it down to make mountain ranges "readable").
Another, even simpler reading help would be sampling the color at the mouse position and displaying a translation into meters.
In any case, the vertical perception amplification (compared to other visualisations) is truly awesome! in my region I can easily make out the forest offsets that SRTM and LIDAR data happens to come with, and bigger roads cutting through those forests.
The map loads pre-rendered map tiles as JPG images from Amazon S3 (you can confirm this in the Network tab of your browser's dev tools).
The page says:
> This map layer is hosted as a public service, and map tiles are free to use under a Creative Commons 4.0 Attribution-NonCommercial-ShareAlike license.
My guess is that he used GDAL to color and tile the DEM. GDAL can work with hgt files, but the DEM he used probably came as a bunch of geotiffs (I haven't checked, but that's pretty standard practice iirc).
> Another, even simpler reading help would be sampling the color at the mouse position and displaying a translation into meters.
If he's using gdal2tiles to create the tile map, he's likely converting the DEM to an 8 bit raster somewhere in the process, so the information conveyed by each of tiles will be less than ideal. There are ways around this, but they would take some effort, which may be more than what the author wanted to put in.
This could be rendered dynamically using the elevation tile services now available from mapbox, et al. I wanted to use Jon de Ferranti's dataset specifically though due to his commitment to uniform global quality.
An additional issue is since the color ramp is quite jagged, aliasing would be quite unsightly when zoomed out. You'd need a hefty amount of supersampling to get back the desired smoothness... not sure the tile services can support that easily.
Blues - Slightly above sea level
Green - Above that
Brown - Low mountains
Orange/purple - high mountains
Red - below sea level (i.e. danger)
1. https://en.wikipedia.org/wiki/Tulare_Lake