Hydrotowns 4: Some initial work
It has been some time since I have written something about this. In the meantime I have done some initial spatial work, bringing in and styling some of the contextual data. This post will show some of these and detail the next steps. Having written some of this now I get the sense that this is not a very heavy analytical post but really just showing what kind of data we are looking at and some of the frames of reference which will be used going forward.
Note: I have not tried to match the map scale to the web output, but I think these images have enough resolution to be opened in a new tab and scrutinised there.
Study area and catchments
As mentioned, I decided to focus on the two south-westernmost drainage regions, G&H. This corresponds essentially to the Berg river, the Overberg, the Breede river, as well as some extra rivers towards the Garden route and north past Piketberg. This is a fairly cohesive area but it can be broken down into characteristic areas along various lines which we will probably look into at some point.
The two main regions are in principle split into secondary and tertiary catchments in terms of the DWS' structure. The data are from 2004 I believe. So catchment H1, G2 etc. on the secondary level and then H10, G21 on the tertiary level (i.e. with each of these being in principle a subset of the secondary). In the study area, however, only one secondary catchment is split in this way - G2 - giving us G21 and G22. All others are just H10, H20 etc. This is kind of confusing to write out but it is best shown on the map...
Maybe the drop shadow was a mistake... but as you can see, the hydrology is shown here too - more detail on that later. I can't recall exactly how these different catchment levels were defined but the classification does appear visually reasonable. Intuitively there must be some balancing between the strict hydrological idea of a catchment which contains all the rivers draining to a given river mouth and the idea that these units should be reasonably similar scales. Otherwise we would see a few huge catchments and many small coastal catchments. But I digress...
The names shown on the map are my own designations, we might want to adapt them as we go. I personally believe that catchments represent a very important environmental management unit and as humans we tend to like naming areas like these. I have tried to name these in terms of the major river or some other component relating to this. In the case of the Breede river for example, it stretches over 4 of these catchments so we can think about the upper, middle and lower reaches and so on.
These areas each contain a number of quarternary catchments too; these are also from the DWS and are from 2011.
In some cases these start to take on fairly strange shapes, particularly along the coast. Incredibly, there are also quinary-level catchments but these are far to small to show on this map. We may look at them later in some regional context.
Hydrology (Rivers, estuaries, dams etc.)
Obviously key to the overall aims is the river network. The ones shown here are also from the DWS (SA Major Rivers, 2015 I think). If I understand correctly these rivers were digitised from the SG topographical maps. They contain some extra data (most notably, names, but also Strahler order etc.) There is also another nice dataset I came across, from the HYDROSheds project. They provide thalweg lines based on DEM analysis. They have also estimated things like flow accumulation, discharge, various kinds of stream order and so on. I haven't brought this data into this project yet but I found on the Southern African scale that they make a nice backdrop as they can be nicely styled using the different stream orders. Unsurprisingly however, no name data :(
For the moment we can use the DWS data but in the end we may want to use a combination. There are also river data available from the vector files of the topographical maps themselves. These are very small scale and only say e.g. whether a river is perennial or non-perennial. There are some more names recorded there. Overall it's an interesting problem of data cross walking - do we want to try and come up with a mega dataset that tries to aggregate them all or do we just try to get away with using symbology in a smart way to display the bits and bobs from various sources? Interesting...
Estuaries come from SANBI's National Wetland map data. Lots more there (such as seasonal pools, seeps and so on but not all of those are mapped to the same fidelity in all areas. The estuaries are pretty major features though so they seem to have been captured well). Dams are from DWS data. They include nice attributes like whether the dam is natural or man-made and so on. There is also a nice HYDROSheds dataset for dams/surface water which we can look at if necessary. I imagine similarly it will not have any contextual data like names and so on.
I have played around with the label symbology to try and get that river curve effect that most of us are familiar with when looking at a cartographic product. It's a bit hard to make it work on-the-fly and QGIS is not always that great at kerning the text under these conditions. But I think it looks nice for something dynamically generated. For me this is an important consideration that I don't get the sense is always taken into account: making a professional static map output of some work is usually the last step. 99% of the time you are going to be looking at the data across various scales, zooming in, panning, turning layers on and off, etc.
Personally I think having a system that performs adequately under those conditions is much more than half the battle even if it throws some quirky outputs some of the time. I suppose it depends on how you use GIS but for me iteration can be rapid. On the map above for example, there isn't that much information. But it adapts nicely to a zoom, where we can see a few more of the estuaries popping in:
I have also enjoyed playing with the font styling to make it easier to recognise the different datasets. This is obviously an old cartographic trick but I don't usually find myself using different sets of labels as often as it looks like I will need to here. Maybe the difference is that this has so far focused on atlas-type data and not so much quantitative data. But we will get there.
Mountain texture
Another aspect that I spent far too long probing was how to display the relief. When working in a small enough area the variation in elevation is usually not that high and one can simply use a DEM or maybe the slope, depending on what you want to show. But across such a large area this kind of stops working, particularly if what we are interested in is not the height itself: the question I ended up asking myself is "how do you identify a mountain?". One cannot only use height as this will cause the interior areas of the country to classify as mountain-like just by virtue of being at a higher altitude (in the Western Cape the elevation climbs as you head inland, in a few lifts until you reach the escarpment). The second component we can consider is the slope, as we tend to find steeper slopes around hills and mountains. This makes sense.
We can also go one level deeper and use the curvature of the height. This one is a bit harder to wrap one's head around as it is a second derivative but in practice curvature is maximised (most positive) at the knickpoint where the base of a hill starts and minimised (most negative) just at the point where the top of a ridge starts. This is a simplification as there are many different values for curvature depending on which plane you are interested in. Generally we are interested in the curvature of the plane of steepest slope.
By playing around with these and (in particular) using the layer blending tools we can combine these different values in such a way that it accords with our intuitive idea of where the mountains are.
I think an element that I didn't use but probably could have is hillshade. I think the basic unidirectional hillshade doesn't allways look that great as it tends to shadow out your actual data but I have seen that it is possible to calculate a more subtle omnidirectional hillshade. I think this is a standard option in Arc but not in QGIS. One would probably have to generate a number of hillshades from different directions and then add them up to get something similar. Or maybe there is a plugin. In any case I quite liked the way it came out without the hillshade and I definitely learnt a lot about the layer blending and how to think about slopes and so forth.
Data that I have not tried hard to find yet is actual definitions of the mountain ranges themselves. Many of the areas above have names, such as the Langeberg, Hawekwas, Piketberg etc. (i.e bigger than the peaks themselves, which are easier to find). I may have to make my own version of this to show the ranges. Perhaps one can compare against some topographical maps.
Precipitation
One of the other important factors I wanted to show is the precipitation. This is easy enough on face value but as you can maybe see I am trying to think ahead a bit in terms of dealing with some of this data in a subtle way, more like a basemap. Again, the layer blending comes in very handy to show a very nice looking view of the rainfall superimposed onto the topogtaphy:
One of the first things that stands out to me here is how nicely it shows the orographic effect (i.e. the tendency of precipitation to occur against mountain slopes). Associated with this we also see the rainshadow effect in the Breede river valley and the eastern Overberg. The data itself is from Schulze (UKZN-BEEH, 2007) at 1700m resolution but scaled to a 1000m grid. I'm not going to get into it here but this is a local dataset and it outperforms the global ones like WorldClim and so on.
Transport
The last element I wanted to touch on here is the transport networks. I had to decide what level of the road hierarchy should be shown and which data to use. One can use the roads from the SG topographical maps but I decided to use OSM data instead. I think it had to do with the way they each classify the road hierarchy, with the OSM data aligning better with how I imagined the difference between "important" and "regional" roads. I haven't tried to show any more small scale roads, I think it is besides the point for this project.
I've also included railways. Here I have used the SG data as a baseline but it appears it had some gaps, which I either filled in with OSM data or digitised myself in some key spots. I also reduced the complexity because I feel this is mostly an overlay layer that doesn't have to record e.g. every railway at Cape Town station... This is especially necessary when one wants to naively apply the classic railway hatching style as this does not like to have many lines close together. Here is a zoomed in view on this, also showing some detail on the mountain backdrop from earlier:
You can get a sense for how the different elements play together here but it is still a WIP.
In conclusion
I think the work that I have done on this has been coming along nicely, albeit in bits and pieces. All of this background stuff with hopefully make it a lot easier to start to look at the speculative or predictive elements relating to e.g. climate change that I wanted to address. Mostly I just wanted to get this writeup out as it seemed like I needed to put a pin in the ground before I continue. Next steps I am not necessarily sure but I will probably want to look at agriculture and climatic factors and think about how we can show that kind of data.
DW