4

Trying to make a physical map (don't pay attention to the colors, I'm experimenting). The map is based on DEM SRTM V2.

But I have experienced some trouble with making a smooth transition between depths and heights on some coasts, as can be seen in the example of the overlapped vector of the Caspian Sea. I would like to know where I made a mistake.

I choose discrete interpolation and equal intervals.

enter image description here

enter image description here

Taras
  • 32,823
  • 4
  • 66
  • 137
GeoEth
  • 347
  • 1
  • 8
  • Added zoomed picture of example I referred to - Caspian Sea. Light-blue color - it's a result of color styling in QGIS. Dark blue - its overlapped vector of the Caspian Sea, showing the true shapes of the coastline (how it should be). There is obviously some mismatch. – GeoEth May 14 '23 at 13:57

1 Answers1

6

The area around the Caspian Sea is below sea (ocean) level. Baku, capital of Azerbaijan, is 28m below sea level.

So using one single color ramp applied to a Digital Elevation Model that represents elevention results in exactly this effect. If you don't need bathymetry (topography of sea ground), you can use a vector layer to mask (cover) the sea/oceans.

This solution works for newer QGIS versions - I used 3.30. In older versions, it might not work the same.

Type World to the Coordinate field at the bottom in your QGIS window to load the pre-installed world map. Set rendering style to Inverted Polygons and color to blue with 100% opacity. Then adapt the color ramp so that you have typical colors for low land (e.g. dark green) for all values, even those below 0 m.

Click Merge polygons before rendering (slow) to hide country borders.

Using the pre installed XYZ tiles from Mapzen global terrain and the pre installed vecotr world map, I set elevation below 0m to pink for visualization purpose. Of course, the whole seas/oceans would be in pink as well, if I had not the vector layer above it. As you see, depressions like Dead Sea or the area around the Caspic Sea are in pink: enter image description here

Using just two colors pink (<=0) and white (>=0) to show in pink all land areas below sea level: enter image description here


Edit: To include also bathymetry, duplicate the layer containing the Digital Elevation model and group it together with the World polygon layer (which should be above the DEM layer). Select the group and in layer styling, check the box Render Layers as a Group.

Set the World layer to single symbol > simple fill and Blending mode to Inverse Mask Below. Like this, only those part not covered by the world layer's land mass of the DEM are visible.

Style the DEM layer with a blue-based color ramp, with Max value = 0.

enter image description here

See settings for the world layer; Interpolation method of the pseudocolor rendering of the two DEM layers is set to Discrete for another visual appearance, similar to tanaka contours:

enter image description here

Babel
  • 71,072
  • 14
  • 78
  • 208
  • Oh thanks, it's "below sea stuff" that just slipped out of my head. But I need bathymetry also. How to make this with bathymetry from the same geotiff? – GeoEth May 14 '23 at 16:10
  • See updated answer – Babel May 14 '23 at 20:33
  • Yes, it works! Thanks! But I should admit, I achieved it only in the latest LTR version of QGIS - 3.28.6. Old 3.10.8, that have been used by me for about 3 years, doesn't have some features, like "render as a group", or "Inverse Mask Below" for example. – GeoEth May 18 '23 at 16:10
  • Indeed. If you don't include the version you use, it is assumed you use the latest version as one can't guess which of the older versions you use. Mapzen Global terrain is also included in newer versions only: the DEM I used to create the physical maps. – Babel May 18 '23 at 19:23