Thursday 30 July 2015

Showing elevation and slope on a map for cycling

A while ago, I was thinking about making a map that showed elevation and slope by colour-coding. It is often conventional to show elevation with contours, or by some sort of arbitrary colour palette.

Slope is shown on a map usually by contours being closely spaced, or by arrows shown along roads in some cases. Contours can sometimes obscure map features in some cases.

An alternative approach I have used to produce, is to colour-code both elevation and slope simultaneously in different colour channels.

In the cases below, I have used the blue band for elevation, and red for slope. Since I intended this as a map for cycling I have named the different scalings after professional cyclists.

Elevation shading colour codes elevations from 0-150m above sea level in the blue channel, and slope values from 0-10 degrees (up to 22.5%) in red. This map is optimised for lowland areas, however at higher elevations the direction of elevation change is no longer clearly shown on this map.
Elevation shading colour codes elevations from 50-400m above sea level in the blue channel, optimising the map to show elevations in the higher part of the range. Slope values are shaded from 0-10 degrees (up to 22.5%) in the red channel as earlier.

I give a few more examples of this using a different slope scaling and downloads of larger image files on my website.

Monday 27 July 2015

The Lost Land of Lyonesse - update with high resolution bathymetry

I found high resolution bathymetric data available via the INSPIRE portal from UK Hydrographic Office.

So I thought it time to update my previous post on the lost land of Lyonesse, off the coast of Cornwall.

I was interested to find out what sea level the first people to inhabit Britain in a post-glacial climate around the Younger Dryas stadial (12 kyr BP) may have encountered.

The bathymetry from the above link comes in small sections and not all areas have ready gridded data so there is a background from the General Bathymetric Chart of the Oceans which has a resolution of 30 arcseconds (about 600m here) but resampled to 48m/pixel for a less pixellated look.

For this reason, and also to not worry about differential post-glacial rebound across the area, I have concentrated on West Cornwall. I have used the same assumptions of it as my previous post on the subject, that is the Shennan + Horton 2002 paper primarily also referring to the work of Kurt Lambeck.
I have assumed that sea level was 40m lower 12kyr BP,  30m lower 10kyr BP, 2m lower 8kyr BP, 16m lower 7kyr ago, 12m lower 6kyr ago, and 7m lower 5kyr ago.

I have taken no account of sediment deposition/erosion after marine transgression.

I have accidentally labelled Universal Transverse Mercator zone 30N coordinates rather than Ordnance survey grid coordinates,the units are however still in metres.

The elevation shading restarts from zero for the land, but incrementing in 20m steps rather than 2m. The first shaded colour on land is light green at 40-60m (12kyr ago).

Let me know what you think in the comments.

In legend Lyonesse is supposed to have connected Cornwall to Scilly. We see above that this is not likely to have been the case in a post-glacial climate since there is deep water of > 70m below present sea level between Land's End and Scilly. However substantial areas in Mount's Bay and north of St. Ives would have been dry land, up to about 8 kyr ago (sea level assumed to be 20m below present).
Unfortunately I don't currently have wide area gridded high-resolution bathymetry around Scilly. The inundation of the area between the currently inhabited islands occurred rather later than would be indicated by the labelling of this map, since this is known to have been dry land in historical times.


Close-up of area north of St. Ives and Hayle. A relatively large area of land would be been likely to have been submerged between about 9kyr and 7kyr ago.






The Cornish name for St. Michael's Mount, Karrek loos y'n koosmeans 'the grey rock in the woods'. At 5kyr ago, sea level is assumed to be 7m below present (i.e the pink land).



A bit of artistic licence, imagining vegetation colonising the lowlands, with the uplands still sparse at this stage (shortly after Younger Dryas 12-11yr ago)

Saturday 11 July 2015

Greeting the user in Cornish for #speakcornish week

The events of #speakcornish week, an initiative of MAGA Kernow (The Cornish Language Partnership) along with other Cornish language organisations, have been taking place over the past week.

The way to greet someone in Cornish, depends on the time of day, with Myttin da for "Good morning", Dohajydh da for "Good afternoon" etc.

I have written a Python module to greet the user according to the time of day, at the console. It is available at my Bitbucket account or alternatively below:

# gorhemmyn_kw.py
# David Trethewey
# 11-07-2015
# skrifys rag #speakcornish week 2015
import time
class Gorhemmyn:
    # py termynyow a wra chanjya
    # furv an gorhemmynadow
    bora = 3
    myttin = 7
    dydh = 11
    dohajydh = 14
    gorthugher = 18
    nos = 23
    def __init__(self):
        t = time.localtime()
        our = t.tm_hour
        self.gorhemmyn = "Dydh da" # default
        if our >= Gorhemmyn.nos or our < Gorhemmyn.bora:
            self.gorhemmyn = "Nos da"
        if our >= Gorhemmyn.bora and our < Gorhemmyn.myttin:
            self.gorhemmyn = "Bora da"
        if our >= Gorhemmyn.myttin and our < Gorhemmyn.dydh:
            self.gorhemmyn = "Myttin da"
        if our >= Gorhemmyn.dydh and our < Gorhemmyn.dohajydh:
            self.gorhemmyn = "Dydh da"
        if our >= Gorhemmyn.dohajydh and our < Gorhemmyn.gorthugher:
            self.gorhemmyn = "Dohajydh da"
        if our >= Gorhemmyn.gorthugher and our < Gorhemmyn.nos:
            self.gorhemmyn = "Gorthugher da"

    def pryntya(self):
        print(self.gorhemmyn)

if __name__ == "__main__":
    g = Gorhemmyn()
    g.pryntya()