Big Data Here


The Consumer Data Research Centre (CDRC) at UCL is organising a short pop-up exhibition on hyperlocal data: Big Data Here. The exhibition is taking place in North Lodge, the small building right beside UCL’s main entrance. The exhibition materials are supplied by the Centre for Advanced Spatial Analysis (CASA).

Inside, a big projection shows local digital information. What the screen shows will change daily between now and Friday, when the exhibition closes. Today it is showing a live to-the-second feed of bus arrivals at the bus stop outside the North Lodge, and tube train arrivals at Euston Square station just up the road. Watch the buses zip by as they flash up “Due” in big letters on the feed. Both of these are powered by Transport for London’s Unified Push API, and we are planning on publishing the visualisation online next week. Tomorrow will be showing a different local data feed, and then a final one on Friday.


Opposite the projection is the iPad Wall. This was created by CASA a few years back by mounting a bank of iPads to a solid panel (above photo shows them in test mode) and allowing remote configuration and display. The wall has been adapted to show a number of metrics across its 12 panels. Four of these showcase footfall data collected by one of our data partners, and being used currently in CDRC Ph.D. research. The other panels show a mixture of air quality/pollutant measures, tube train numbers and trends, and traffic camera videos.

We hope that passersby will enjoy the exhibition visuals and use them to connect the real world with the digital space, a transposition of a digital data view onto the physical street space outside.

The exhibition runs 24 hours a day until Friday evening, with the doors open from noon until 3:30pm each day. The rest of the time, the visualisations will be visible through the North Lodge’s four windows. The exhibition is best viewed at night, where the data shines out of the window, spilling out onto the pavement and public space beyond:


Big Data Here is taking place during Big Data Week 2016. Visit the exhibition website or just pop by UCL before Friday evening.



Visit the new Shop
High quality lithographic prints of London data, designed by Oliver O'Brien

Busiest Tube Station Times


Here are the busiest Tube station quarter-hour periods, based on the Transport for London 2015 RODS data (modelled, based on typical autumn weekday), used in Tube Heartbeat, adding together entries, exits and interchange stats and excluding Kensington Olympia which does not have a frequent Tube service.

The main pattern shows that stations further out (map) from London’s main work areas (The West End, the City and Canary Wharf) have an earlier morning peak (or later evening peak), due to the journey taking longer and the tendency for many people to arrive at their work-end station at about the same time – just before 9am. A secondary effect is that stations which just act as simple commuter home and work portals, we would expect the usage to peak in the morning rush hour, rather than than evening one, as the morning rush hour is shorter and so the simple commuter flow is more concentrated. Therefore, stations which show a peak in the evening are often due to a combination of this simple commuter flow and an evening “going out” destination.

7:15am-7:30am: Chesham [Zone 9]

7:30am-7:45am: Chalfont & Latimer [8], Epping [6]

7:45am-8:00am: Amersham [9], Chorleywood [7], Debden [6], Elm Park [6], Hillingdon [6], Hornchurch [6], Theydon Bois [6], Cockfosters [5], Pinner [5], South Ruislip [5], Stanmore [5], Mill Hill East [4], Chigwell [4], Grange Hill [4], Perivale [4],Kew Gardens [3/4], Wimbledon Park [3], Holland Park [2]

8:00am-8:15am: Alperton, Arnos Grove, Balham, Barking, Barkingside, Becontree, Buckhurst Hill, Canons Park, Chiswick Park, Clapham South, Colindale, Colliers Wood, Croxley, Dagenham East, Dagenham Heathway, Eastcote, East Putney, Edgware, Fairlop, Finchley Central, Gants Hill, Hainault, Harlesden, Harrow-on-the-Hill, Hatton Cross, High Barnet, Hounslow Central, Hounslow East, Hounslow West, Ickenham, Kenton, Kingsbury, Loughton, Moor Park, Morden, Neasden, Newbury Park, Northfields, North Harrow, Northolt, Northwick Park, Northwood, Northwood Hills, Oakwood, Osterley, Parsons Green, Preston Road, Ravenscourt Park, Rayners Lane, Redbridge, Rickmansworth, Roding Valley, Ruislip, Ruislip Gardens, Ruislip Manor, Seven Sisters, Snaresbrook, South Ealing, Southfields, Southgate, South Harrow, South Kenton, South Wimbledon, Stamford Brook, Sudbury Hill, Sudbury Town, Totteridge & Whetstone, Turnham Green, Upminster Bridge, Upney, Wanstead, Watford, West Acton, West Harrow, West Ruislip, Wimbledon, Woodford, Woodside Park

8:15am-8:30am: Acton Town, Archway, Arsenal, Blackhorse Road, Boston Manor, Bounds Green, Bow Road, Brent Cross, Brixton, Bromley-by-Bow, Burnt Oak, Canada Water, Canning Town, Dollis Hill, Ealing Broadway, Ealing Common, East Acton, East Finchley, Finchley Road, Finsbury Park, Fulham Broadway, Golders Green, Goldhawk Road, Hammersmith (H&C), Harrow & Wealdstone, Hendon Central, Highgate, Kensal Green, Kilburn, Kilburn Park, Leytonstone, Maida Vale, Manor House, North Acton, North Wembley, Park Royal, Plaistow, Putney Bridge, Queen’s Park, Shepherd’s Bush Market, St. John’s Wood, South Woodford, Swiss Cottage, Tooting Bec, Tooting Broadway, Tottenham Hale, Tufnell Park, Upton Park, Walthamstow Central, Warwick Avenue, Wembley Park, West Brompton, West Finchley, West Hampstead, Willesden Green, Wood Green

8:30am-8:45am: Baker Street, Bank/Monument, Barons Court, Belsize Park, Bermondsey, Caledonian Road, Canary Wharf, Chalk Farm, Earl’s Court, Edgware Road, Elephant & Castle, Euston, Hammersmith, Hampstead, Highbury & Islington, Holloway Road, Kennington, Kentish Town, Ladbroke Grove, Lancaster Gate, London Bridge, Marylebone, Mile End, Moorgate, Notting Hill Gate, Oval, Paddington, Pimlico, Richmond, Royal Oak, Stepney Green, Stockwell, Uxbridge, Vauxhall, Victoria, Westbourne Park, West Kensington, Westminster, Whitechapel

8:45am-9:00am: Barbican, Aldgate East, Blackfriars, Borough, Cannon Street, Chancery Lane, Edgware Road (Bakerloo), Euston Square, Farringdon, Great Portland Street, Latimer Road, Mansion House, Old Street, Regent’s Park, Southwark, St. James’s Park, St. Paul’s, Warren Street

3:30pm-3:45pm: North Ealing

5:00pm-5:15pm: Heathrow Terminal 5

5:15pm-5:30pm: Willesden Junction

5:30pm-5:45pm: Aldgate, Russell Square, South Kensington, West Ham, Heathrow Terminals 1 2 3, Heathrow Terminal 4

5:45pm-6:00pm: Bond Street, Embankment, Goodge Street, Green Park, Gunnersbury, Hanger Lane, Wood Lane, Holborn, King’s Cross St. Pancras, Knightsbridge, Lambeth North, Liverpool Street, Mornington Crescent, North Greenwich, Oxford Circus, Stonebridge Park, Charing Cross, Stratford, Temple, Tower Hill, Turnpike Lane, Upminster, Waterloo, White City

6:00pm-6:15pm: Angel, Camden Town, Covent Garden, East Ham, Gloucester Road, Greenford, High Street Kensington, Hyde Park Corner, Leicester Square, Leyton, Marble Arch, Piccadilly Circus, Queensway, Shepherd’s Bush, Sloane Square, Tottenham Court Road

6:15pm-6:30pm: Bayswater [1], Bethnal Green [2], Clapham Common [2], Clapham North [2], Queensbury [4], Wembley Central [4]

You can explore graphs of the flows, in detail, at Tube Heartbeat – just choose the station of your choice on the drop-down on the top right, or click on it on the map.


Visit the new Shop
High quality lithographic prints of London data, designed by Oliver O'Brien

Mapping at the Edge – the BCS/SoC Conference 2016


The British Cartography Society and Society of Cartographers* once again combined their two annual conferences together, for a two-day meet in Cheltenham in early September. After last year’s win for the DataShine website, I was there in a more passive capability, although my colleague Dr Cheshire, who collected a trio of prizes last year, presented on why cartographers should learn to code too – see his talk summary.

I like the BCS conference format – it’s quite a small conference, so there’s only two streams, unlike many trade-focused conferences the trade exhibits don’t dominate the space, instead the talks themselves are the main focus. The residential nature of the conference also promotes a relaxed feel. Stand-out talks for me included Ross McDonald‘s excellent summary of new features in QGIS 2.14, Dr Cheshire’s talk about cartographers needing to code, and finally a walkthrough on creating an impressive relief map using Blender 3D, from Steven Bernard of the FT.

A highlight was the awards ceremony – and not just because of last year’s win. Every Person in Scotland Mapped won the Ordnance Survey Open Data award. This simple but effective visualisation assigns each person in Scotland to a dot in a housing block, as represented in OS OpenMap Local, filtering out non-residential buildings. It combines population density information from the census, with area information for each block.


There is an accompanying exhibition, showing the various entrants for the awards – this is a highlight for me, because it’s great to see many novel printed maps in the same place, many showing innovative ideas. You can’t beat a good large-print map. I particularly liked the GIS-powered reimagining of two classic Ordnance Survey mapping styles with modern datasets, by Charley Glynn of the OS – there’s a 19th century London style brought up to date, but my favourite is a reworking of the 1960s OS “Quarter Inch” style with the strong colours for mountains. It always looked good in Scotland, and Charley has produced a version with modern data for the West Highlands – see the extract above. You can buy it from the OS shop online.

I would love to see this idea expanded to cover the whole of the UK – a key of course is to have it all automatically generated. The human cartographer’s input is still required for label positioning etc – the “last 10%” of the effort is still manual.

I also liked the pop-up trig point at the OS stand:


* It is a curiosity that there are two national bodies representing cartographers in the UK, especially considering that the field is quite small anyway. The BCS is larger and more industry focused, while SoC is smaller and more academia focused. It’s great to see both bodies coordinating their annual conference to be the same event, as happened last year and this year – long may it continue.

Population Density and Urban/Rural Split of the UK


A new map on CDRC Maps showing perhaps one of the simplest demographic metrics – residential population density – how many people live in each hectare across the UK. The data is available at the smallest statistical area available (output areas in GB and small areas in NI) and I have combined this with the various urban/rural classifications used by the three national statistical agencies across the UK, to produce a single map. Colour is the urban/rural classification, and lightness/darkness shows how densely populated each area is. Because urban areas are so much more densely populated than rural ones are, I’ve used a series of scales to gradate the representation of density on the map – the scale used depends on the classification. This is the best way to allow both high and low density populated areas to be able to show local variations.

A few observations:

  • many linear blocks along roads in east London have a noteably high density compared to the rest of suburbia – there are not tower blocks here, just terraces, so maybe this is a sign of overcrowding?
  • The centre of Birmingham is extremely low density – very few residential blocks here.
  • There is a significant contrast between high-density Portsmouth, hemmed in on three sides by water, and the much lower density Southampton, not far away, which is not so constrained by the sea.
  • Many cities, such as Cardiff (above) show a distinct pattern where the inner city has two parallel zones of high-density population, either side of a relatively sparse CBD core. Other cities where this is seen include Plymouth, Glasgow and Leicester.


There are flaws in this method of combining datasets across national boundaries. The different agencies calculate in different ways. Notably, in Scotland, the small areas are themselves smaller in population and are designed to better encapsulate the urban part only of settlements, with different small areas for the rural parts. As such, Scottish villages tend to show up as higher density than their English counterparts, which by necessity often need to include a substantial rural element in order to hit their population threshold. This is a statistical quirk.

The other significant difference is that English/Wales define “sparseness”, while Scotland and Northern Ireland use “remoteness” and measure this quantitatively in terms of driving time to the nearest settlement of over 10000 people. The definition of sparseness does not relate to distance from such settlements and therefore there are some “urban” areas with population of over 10000 but in a sparse setting. For consistency, I consider these alongside remote settlements in the other nations, which are considered rural. The raw data download, on CDRC Data, includes a simple urban/rural flag if you prefer to use the strict urban/rural definitions.

See the map here.


As ever, please note that maps on CDRC Maps show all buildings but the data is generally for residential buildings only. The data is a single value across the whole small area, not a measurement of population in individual buildings.

SIMD 2016: The Scottish Index of Multiple Deprivation


Like its English counterpart IMD, SIMD is released every few years by the Scottish government, as a dataset which scores and ranks every small statistical area in Scotland according to a number of measures. These are then combined to form an overall rank and measure of deprivation for the area. This can then be mapped to show the geographical variation and spread of deprived (and non-deprived) communities across the country. I mapped SIMD 2012 for The New Booth Map and also it appears as a layer in CDRC Maps.

simd_2016_pic3Dr Cheshire and I recently were commissioned to produce a new website to showcase the older SIMD 2012, and for the release of SIMD 2016, that contained tools useful for researchers and other specialist users, such as specific area data selection and retrieval and map downloads. The base of the website was the “DataShine” mapping style used in both the above examples, where only buildings are coloured, so that urban areas can be easily seen and related. With the great majority of the Scottish population in urban areas, and vast areas of unpopulated land in the country, this style of mapping is very useful both to draw the eye to where the population is, and also present a map that is a more familiar representation of the country. As such, even though this is intended to be a “pro users” site, it is accessible and useful to the general viewer too.

The new website, was launched by the Scottish Government along with the SIMD 2016 statistical release, at the end of August. It was featured on the BBC News Scotland website, as well as on the Daily Record and Scotsman newspaper websites, drawing 60,000+ visits in the first few days.

Some technical notes about

  • UTFGrids, at 4×4 pixel resolution are used for the mouseover popup data on component indices.
  • I use HTML5 Download to create a PNG image of the current map view – this works only in Chrome and Firefox.
  • A “mobile” version of the website starts with an area chooser dialog, when viewed on screens smaller than 800px wide.
  • The website uses static content (except for the postcode search) in order to load quickly, even when many people are viewing the site at once.

The work was carried out through UCL Consultants. Explore the SIMD 2016 map itself at or see the 2012 version.


Behind the Code in Tube Heartbeat

Cross-posted to the 360 Here blog.

As a follow-up to my intro post about Tube Heartbeat, here’s some notes on the API usage that allowed me to get the digital cartography right, and build out the interactive visualisation I wanted to.

The key technology behind the visualisation is the HERE JavaScript API. This not only displays the background HERE map tiles and provides the “slippy map” panning/zoom and scale controls, but also allows the transportation data to be easily overlaid on top. It’s the first project I’ve created on the HERE platform and the API was easy to get to grips with. The documentation includes plenty of examples, as well the API reference.

The top feature of the API for me is that it is very fast, both on desktop browsers but also on smartphones. I have struggled in the past with needing to optimise code or reduce functionality, to show interactive mapped content on smartphones – not just needing to design a small-screen UI, but dealing with the browser struggling to show sometimes complex and large-volume spatial data. The API has some nice specific features too, here’s some that I used:


One of the smallest features, but a very nice one I haven’t come across elsewhere, is the addition of arrows along vector lines, showing their direction. Useful for routing, but also useful for showing which flow is currently being shown on a bi-directional dataset – all the lines on Tube Heartbeat use it:

var strip = new H.geo.Strip();
strip.pushPoint({ lat: startLat, lng: startLon });
strip.pushPoint({ lat: endLat, lng: endLon });

var polyline;
var arrowWidth = 0.5; /* example value */

polyline = new
	strip, { 
		style: { ... }, 
		arrows: { 
			fillColor: 'rgba(255, 255, 255, 0.5)', 
			frequency: 2, 
			width: arrowWidth, 
			length: arrowWidth*1.5 

polyline.zorder = lines[lineID].zorder;

The frequency that the arrows occur can be specified, as well as their width and length. I’m using quite elongated ones, which are 3 times as long as they are wide, and occupy the middle half of the arrow (above/below certain flow thresholds, I used different numbers). A frequency of 2 means there is an arrow-sized gap between each one. Using 1 results in a continuous stream of arrows. (N.B. Rendering quirks in some browsers mean that other gaps may appear too.) Here, the blue and red segments have a frequency of 1 and a width of 0.2, while the smaller flows in the brown segments are shown with the frequency of 2 and width of 0.5 in the example code above:



Z-order is important so that the map has a natural hierarchy of data. I decided to use an order where the busiest tube lines were generally at the bottom, with the quieter lines being layered on top of them (i.e. having a higher Z-order). Because the busier tube lines are shown with correspondingly fatter vector lines on the map, the ordering means that generally all the data can be seen at once, rather some lines being hidden. You can see the order in the penultimate column of my lines data file (CSV). I’m specifying z-order simply as a custom object “zorder” on the, as shown in the code sample above. This then gets used later when assembling the lines to draw, in a group (see below).


I’m using translucency both as a cartographical tool and to ensure that data does not otherwise become invisible. The latter is simply achieved by using RGBA colours rather than the more normal hexadecimals; that is, colours with a opacity specified as well as the colour components. In the code block above, “rgba(255, 255, 255, 0.5)” gives white arrows which are only 50% opaque. The tube lines themselves are shown as 70% opaque – specified in lines data file along with the z-order – this allows their colour to appear strongly while allowing other lines or background map features/captions, such as road or neighborhood names, to still be observable.

While objects such as the tube lines can be made translucent by manipulating their colour values, layers themselves always display at 100% opacity. This is probably a good thing because translucent map image layers could look a mess, if you layered multiple ones on top of each other, but it means you need to use a different technique if you want to tint or fade a layer. Because even the simplified “base” background map tiles from HERE for London have a lot of detail on them, and the “xbase” extra-simplified ones don’t have enough for my purposes, I needed a half-way house approach. I acheived this by creating a geographical object in code and placing it on top of the layers:

var tintStyle = {
	fillColor: 'rgba(240, 240, 240, 0.35)'
var rect = new
	new H.geo.Rect(	42, -7, 58, 7 ), 
	{ style: tintStyle }

The object here is a very light gray box, at 35% opacity, with an extent that covers all of the London area and well beyond. In HERE JavaScript API, such objects automatically go on top of the layers. My tint doesn’t affect the lines or stations, because I add two groups, containing them, after my rectangle:

var stationGroup = new;
var segGroup = new;

Object Groups

I can add and remove objects from the above groups rather than directly to the map object, and the groups themselves remain in place, ordered above my tint and the background map layers. Objects are drawn in the order they appear in the group, the so-called “Painters Algorithm“, hence why I sort using my previously specified “zorder” object’s value, earlier:

function segSort(a, b)
	var lineA = parseInt(a.zorder);
	var lineB = parseInt(b.zorder);
	if (lineA > lineB) return 1;	
	if (lineA < lineB) return -1;
	return 0;

var segsToDraw = [];


for (var i in segsToDraw)


There are super easy to create and illustrate the second reason that I very much like the HERE JavaScript API. The code is obvious:

var circle = new
		lat: Number(stations[i].lat), 
		lng: Number(stations[i].lon)
		style: { 
			strokeColor: stationColour, 
			fillColor: 'rgba(255, 255, 255, 0.8)', 
			lineWidth: 3 

These are my station circles. They are thickly bordered white circles, as is the tradition for stations on maps of the London Underground as well as many other metros worldwide, but with a little bit of translucent to allow background map details to still be glimpsed. Here you can see the circle translucencies, as well as those on the lines, and the arrows themselves, the lines also being ordered as per the z-order specification, so that the popular Victoria line (light blue) doesn't obscure the Northern line (black):


Other Technologies

As well as the HERE JavaScript API, I used JQuery to short-cut some of the non-map JavaScript coding, as well as JQueryUI for some of the user controls, and the Google Visualization API (aka Google Charts) for the graphs. Google's Visualization API is full-featured, although a note of caution: I am using their new "Material" look, which works better on mobile and looks nicer too than their regular "Classic" look - but it is still very much in development - it is missing quite a few features of the older version, and sometimes requires the use of configuration converters - so check Google's documentation carefully. However, it produces nicer looking charts of the data, a trade-off that I decided it was worth making:


These are just some of the techniques I used for Tube Heartbeat, and I only scratched at the surface of the HERE APIs, there are all sorts of interesting ones I could additionally incorporate, including some you might not expect, such as a Weather API.

Try out Tube Heartbeat for yourself.

Background map tiles shown here are Copyright HERE 2016.

Tube Heartbeat


Tube Heartbeat is a interactive map that I recently built as part of a commission by HERE, using the HERE JavaScript API. It visualises a fascinating dataset that TfL makes available sporadically – the RODS (Rolling Origin Destination Survey) – which reveals the movements of people on the London Underground network in amazing detail.

The data includes, in fifteen-minute intervals throughout a weekday, the volume of tube passengers moving between every adjacent pair of stations on the entire tube network – 762 links across the 11 lines. It also includes numbers entering, exiting and transferring within each of the 268* tube stations, again at a 15 minute interval from 5am in the morning, right through to 2am. It has an origin/destination matrix too, again at fine-grained time intervals. The data is modelled, based on samples of how and where passengers are travelling, during a specimen week in the autumn – a period not affected either by summer holidays or Christmas shopping. The size of the sample, and the careful processing applied, means that we can be confident that the data is an accurate representation of how the system is used. The data is published every few years – as well as the most recent dataset, I have included an older one from 2012, to allow for an easy comparison.

As well as the animation of the data, showing the heartbeat of London as the the lines pulse with passengers squeezing along them, I’ve including graphs for each station and each link. These show all sorts of interesting stats. For example, Leicester Square has a huge evening peak, when the theatre-goers head for home:


Or Croxley, in suburban north-west London, with a very curious set of peaks, possibly relating to the condensed school day:


Walthamstow (along with some other east London stations) has two morning rush-hours with a slight lull between them:


Check the later panels in the Story Map, the intro which appears when first viewing Tube Heartbeat, for more examples of local quirks.

This is my first interactive web map produced using the HERE JavaScript API – in the past, I have extensively used the OpenLayers, as well as, a long while back, Google Maps API. The API was quick to pick up, thanks to good examples and documentation, and while it isn’t quite as full-featured as OpenLayers in terms of the cartography, it does include a number of extra features, such as being quickly able to implement direction arrows along lines, and access to a wide variety of HERE map image tiles. I’m using two of these – a subdued gray/green background map for the daytime, and an equivalent darker one for the evening data. You’ll see the map transition between the two in the early evening, when you “play” the animation or scrub the slider forwards.

Additionally, I’ve overlayed a translucent light grey rectangle across the map, which acts to further diffuse the background map and highlight the tube data on top. The “killer” feature of HERE JavaScript API, for me, is that it’s super fast – much faster than OpenLayers for displaying complex vector-based data on a map, on both computer and smartphone. Being part of the HERE infrastructure makes access to the wide range of HERE map tiles, with their distinctive design, easy, and gives the maps a distinctive look. I have previously used HERE mapping for some cities in the Bike Share Map (& another example), initially where the OpenStreetMap base data was low in detail for certain cities, but now for all new cities I “onboard” to the map. The attractive cartography works well at providing context for the bikeshare station data there, and the tube flow data here.

There is some further information about the project on the HERE 360 blog, and I am looking to publish a more deatiled blogpost soon about some of the technical aspects of putting together Tube Heartbeat.


Number of stations Number of lines Number of line links between stations
268* 11 762

Highest flows of people in 15 minutes, for the four peaks:

Between stations (all are on Central line)
Morning 8208 0830-0845 Bethnal Green to Liverpool Street
Lunchtime 2570 1230-1245 Chancery Lane to Holborn
Afternoon 7166 1745-1800 Bank/Monument to Liverpool Street
Evening 2365 2230-2245 St Paul’s to Bank/Monument
Station entries
Morning 7715 0830-0845 Waterloo
Lunchtime 1798 1130-1145 Victoria
Afternoon 5825 1730-1745 Bank/Monument
Evening 2095 1015-1030 Leicester Square
Station interchanges
Morning 5881 0830-0845 Oxford Circus
Lunchtime 2060 1330-1345 Oxford Circus
Afternoon 5043 1745-1800 Oxford Circus
Evening 1109** 2215-2230 Green Park
Station exits
Morning 6923 0845-0900 Bank/Monument
Lunchtime 2357 1145-1200 Oxford Circus
Afternoon 7013 1745-1800 Waterloo
Evening 1203 1015-1030 Waterloo

* Bank/Monument treated as one station, as are the two Paddington stations.
** Other stations have higher flows at this time but as a decline from previous peak.

I’m hoping to also, as time permits, extend Tube Heartbeat to other cities which make similar datasets available. At the time of writing, I have found no other city urban transport authority that publishes data quite as detailed as London does, but San Francisco’s BART system is publishes origin/destination data on an hourly basis, there is turnstyle entry/exit data from New York’s MET subway, although only at a four-hour granularity, and Washington DC’s metro also publishes a range of usage data. I’ve not found an equivalent dataset elsewhere in Europe, or in Asia, if you know of one please do let me know below.


The data represented in Tube Heartbeat is Crown copyright & database right, Transport for London 2016. Background mapping imagery is copyright HERE.

Putting Cartography Back on the Map – Google Maps Getting Prettier


There was a time when Google Maps was an ugly ducking. It started life as a road map, and its grey background was decryed at a memorable keynote at the British Cartographic Society annual conference 8 years, contrasting with the classic Ordnance Survey Landranger maps where the spaces between roads were normally full of “something” – be it contours, trees or antiquities. Google’s features, on the other hand, were pretty messy, and often wrong. However, Google has been steadily beautifying its functional map (and correcting it), focusing on the cartography as well as the data, as it turns from a map of roads and POI pins, to a map of everything. 2013 was a big step forward, when the map became vector-based and superimposed features customised to just you. Now in 2016, it’s the look of the map itself that is the focus. Cartography on digital maps is far from dead.

This week, Google has unveiled a the latest update to Google Maps, showing that it is serious about the cartography and colour. The map has a cleaner, more refined look that continues its trend of taking out the detail you don’t need and focusing on the information that you are looking for. The two most obvious changes are (a) a new, brown/orange shading showing “areas of interest” – think high streets and tourist attractions, and (b) smaller roads have had their borders removed and are now simple white lines overlaid on a grey, green or brown background. I have been keen on this technique, using it for OOMap, DataShine and CDRC Maps. MapBox’s basic-style map of OpenStreetMap data also has taken this “white on grey, + data” approach which I am sure has helped inspire Google’s new look. ( has always taken a different approach, with the many contributors wanting their particular mapping visible, it has always looked very busy and colourful. Unlike MapBox and Google Maps,’s map is to be seen “as is”, rather than acting as a background map upon which colourful project-specific data is intended to be overlaid.)

An accompanying blog post goes into more details about the changes. It includes a nice graphic demonstrating the new colour palette used and how Google are using colour to group and categorise map features, which I’ve reproduced here:


There is a clear use of complementary colours to balance out the map – the search results and current user interest shown in red, man-made features in pinks and oranges, and natural features in greens and blues, all criss-crossed with the white (and yellow) transport networks. It makes for a map that is logical to look at – and crucially, one that is immediately pleasing to the eye. It doesn’t “shout” at you any more.

One final note – the “Areas of Interest” is a powerful new bit of cartography – it draws the eye to it, and means Google Maps has a significant influence on what parts of an unfamiliar city you are likely to visit. It’s a subtle but key bit of “suggestive” mapping. Bad news for the businesses though that rely on passing trade, and are not in these areas.

Population Change in Great Britain 2011-14


The ONS publish small-area population estimates annually, for England and Wales, and the NRS similarly do for Scotland. By taking two of these datasets, we can see how the population of Great Britain is changing – births, deaths, internal and international migration and military deployments/homecomings all act to fluctuate the population.

I’ve taken the 2011 and 2014 “mid-year” population estimates for LSOA and DZs – statistical areas with a typical population of 1000-1500 people – and compared them, to derive small-area population changes. You can see the resulting map here.

In London, a couple of striking patterns appear. Inner West London – Kensington & Chelsea, Fulham, Wandwsorth – is seeing a striking depopulation (orange on the map). This may be due to the tendency of landlords in these wealthy areas to convert old housing stock, that was split into multiple flats, back into houses for the (very) rich. In a few exceptional cases, houses themselves are being knocked together. The unaffordability of the area and its old-age population may also have something to do with it. Further east in Tower Hamlets, increased immigration and a high to-immigrant birth rate may be contribution to the rapid rise in the population here (10%+ in many area – dark purple on the map) in just 3 years. The increase across GB in total, from 2011-14, is 2.1%. Some of the large increases can be due to new university campus accommodation opening up, while large falls are often an indication of housing estates being demolished and redeveloped.

Many cities across Great Britain show a characteristic of newly-desirable city centres increasing in population, as denser housing developments pack people in, while the suburbs decrease in population. The Liverpool/Wirral conurbation is a fine example of this. An exception is Milton Keynes, where no Green Belt constraints its expansions, and new housing estates keep being built in the outer “blocks” of this grid city. Some smaller places with special employment constraints on them seem to be almost universally decreasing, such as Barrow in Furness, as well as Thurso and Greenock, both in Scotland.

Explore the map on CDRC Maps, and Download the data on CDRC Data.

FOSS4GUK Conference


I was at FOSS4G UK 2016 which took place at the new Ordnance Survey buildings in Southampton, a few weeks ago. FOSS4G is short for “Free and Open Source Software for Geospatial”, and the conference focuses on some of the key free GIS software such as QGIS and PostGIS. This was a UK-focused event, following on from the global FOSS4G in Nottingham in 2013, which I was also at. (The next FOSS4G is in Germany in August.)

The OS is a little hard to get to if you aren’t driving there – I ended up cycling right through Southampton from the central station. Once on site though, it’s a lovely new venue, light and airy inside, with the floors and desks of OS cartographers and digital information managers sweeping away to one side of the central atrium, while the conference took place in a couple of large rooms on the other side. Breakout was overlooking the atrium (above). Around 180 people attended, split into two conference streams.

Highlights included:

Above: A nice demo of pgRouting usage from Angus Council who’ve switched to open source for asset access mapping. Open and effective code and mapping in a practical, real world context.

Above: The software used for the Angus Council asset project.

Above: Add Ordnance Survey Landranger-style hill chevrons to your GIS-created digital maps with this nice bit of code. I love these kinds of talks/demos, which you typically only get at these enthusiast/community-driven meetings like FOSS4G UK. Really interesting bits of code or hacks, demonstrated by the creator who did it just because they thought it would be cool.

Above: I was pleased also to see DataShine getting a mention, specifically its use of OpenLayers UTFGrid for the attribute mouseovers. The talk was by a FOSS/OpenLayers consultant who’s written a book about the mapping platform, which powers most of my web maps. It’s always flattering to get mentions like this, especially as the speaker was probably unaware I was in the audience!

Outside in the atrium there was a mini-exhibition by the talk sponsors, including, intriguingly, ESRI UK, who are presumably keeping an eye on the FOSS4G community, their core business being far from open source (software), even if they have been very keen on demonstrating their products operating on open data.

FOSS4G UK was an interesting and useful couple of days, pulling together the professional and enthusiast geospatial community in the UK to see what’s happening in the space, and a good opportunity to network.

Above: “MapMakers”, a housing development next to the old Ordnance Survey office, which is on the way to the new one from the station. The inclusion of the OS grid reference is a nice touch.