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.
> 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.
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!
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.
> 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.
Prominence requires finding a mountain's "key saddle" -- the pass that connects the mountain to higher ground. This may be an unremarkable point hundreds of miles away, often with several candidates whose elevations differ by only a few meters. Oilslick was designed with the goal of helping locate these points and intuit their significance. The color banding helps visualize the saddle 'pinch points' with relative ease, and the high-contrast color ramp enables the necessary fine discernment in elevation values, even for points located far apart.
What I didn't expect was that the end result would be so aesthetically pleasing, almost dazzling. I love how it brings out subtle geological features and big-picture structure and relationships between landforms that don't show through in traditional topographic maps.
I share some of the criticisms I've read here. The zig-zag points on the ramp where the brightness must double back create contrast 'dead zones' where it's hard to interpret what's going on. Sea level areas are very dark and the actual coastline is hard to discern. Partly this is from practical limitations of not using a coastline mask in addition to the raw elevation dataset -- I don't actually know whether a point is land or water. But nevertheless there is interesting detail in these coastal areas that oilslick currently doesn't do justice to.
Overall it's been great to read the reactions here and see some people's perception of our world getting warped for the better.
Thanks for making it available - I hope it doesn't burn through hosting costs!
Purely for interest, but for me, the really interesting part was flipping between the OilSlick and Terrain maps, picking out the way that the landscape dedicated the roads, etc, which while visible, doesn't stand out in the same way on conventional maps. As such, if you do any enhancements to the mapping, I'd request the ability to overlay road/rail/major towns over the OilSlick map, but obviously that's without the least idea of what that might actually entail!
I really like it. My only feedback would be that some areas of interest are far from the steep contrast points.
Allowing someone to rotate the coloring and spacing while zoomed in might allow more insight into specific regions of interest. A slow animation descending the zero color at maybe 1m/s might be mesmerizing, as you watch the colors move like they were flowing down hill.
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.
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.
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).
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.
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.
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.
> 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.
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
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
At first I thought this was really hard to read and had to be inaccurate. But on closer inspection it's actually making me see detail I've never been able to see on maps before! (fulfilling its promise)
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.
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!
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 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
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.
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.
Am I the only one who finds this a poor visualization? If I zoom into a random position in the map that doesn't have a clearly dominant river system, it's impossible for me to tell which parts are of higher elevations than the others. Isolines are much more clear to me.
Works really well for flatter subtle areas, but things like the Rockies just look like static and are not intuitive at a glance. I wonder how it'd look just imposing the 'oilslick' black/white interference pattern over the traditional colormap?
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 an incredible visualization! It brings out both fine details and larger patterns I wouldn’t notice on a typical terrain map, or even a 3D view.
I particularly like how water features disappear into the surrounding landscape. The Mississippi River is invisible within its delta, making it obvious how it has been able to continuously reshape its route over time. The Everglades gradually disappear into the ocean with no clear boundary, illustrating the wetland’s relationship with the ocean’s intruding salt water.
I’d love to see this integrated as a layer in a map app, so I could easily access it any time.
This is just using a "multi-band" colormap, no? I thought it would do something clever with shading or something but this is just a scale that instead of going 0-1 goes 0-1-0-1-0-1... while rotating hue. It seems to have a lot of perceptual artifacts/nonuniformities, like you would get a totally different feel from some areas if the scale was shifted 500m.
It does nicely highlight mountain ranges/areas of rough terrain.
This map highlights an interesting geographic feature I’ve never been aware, which is a distinct line running down the east coast of the USA, from Philadelphia, through Wilmington and Fayetteville, all the way to Florida.
Looking at another map, it does seem like a real feature, with a small but abrupt increase in hilliness as we travel west from the coast. Does anyone know if this geographical feature has a name?
The part in central Florida is the Lake Wales Ridge, remnants of 1M+ year old islands. https://en.wikipedia.org/wiki/Lake_Wales_Ridge . The combination of Florida heat and fast-draining sandy soil makes it the closest thing Florida has to a desert.
Can anyone yield some insight into the process of producing x/y/z web mercator .png DEM map tiles from Jonathan de Ferranti's [1] data? His data is in .hgt format.
The best articles for this are [1] (google translate it) and [2]. In [1], the author uses .asc files while in [2], .img files are used. You can treat these files as basically the same as .hgt but remember to reproject the data as different DEM sources uses slightly different projections.
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.
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.
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 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.
I would really like to see this with a high pass filter (i.e. with the detail of the river systems, without the hundreds-of-miles level altitude changes) and state borders.
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.
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.
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...
>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.
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.