As with all good January traditions we are doing a sale on blogs this week, especially as we didn’t put one out in December. So to kick-off 2016 you are getting 2 for 1 on content. We have been doing a lot of work in 3D recently and thought we would share some of the outcomes in calculating building heights using open data. There is also a chance to exercise your headphones/speakers, as we have updated our sound map from last year to cover more detailed noise pollution in central London.
Don’t have time to read the full blog? Go straight to the apps:
Update 20-Jan-2016: We have since updated the building heights application to include the whole of London. This is displayed using our own vector tile server, which we will describe in more detail in a future blog. You can now also download the whole heights vector layer as a shapefile from our new downloads section.
Update 14-Jan-2016: Since publishing the Environment Agency Geomatics team have kindly pointed us to the missing data north of Euston Road. Images and the app have been updated to reflect this.
Building heights provide great insight into some of the work we undertake such as 3D modelling and line of sight analysis and several data sets have now added this attribute. For example Ordnance Survey have recently included building heights to their MasterMap data. We looked at their free trial, which covers part of Exeter, to see what the dataset was like. The resulting map of buildings symbolised by height shows that height increases towards the centre and in general the buildings are pretty low with nothing exceeding 40m.
As we are champions of Open Data we then thought it would be cool if the same sort of thing could be repeated for London using freely available data sources.
The Environment Agency have recently made their LIDAR data open which means you can access DTMs (digital terrain models) and DSMs (digital surface models) for the UK (Get the data here!). We played around with two different building datasets - OS Open Map - Local and Open Street Map. The coverage of the Open Street Map data is not as complete as that of the OS Open Map but the detail is better.
The results are quite visually striking! As you would expect the buildings are higher in Central London towards the City, with sites like the Shard sticking out. As you move North and East the heights decrease with small pockets of taller areas around the Olympic site in Stratford, down to Canary Wharf and by The O2 Arena (the black area on the left of the map is where the DSM/DTM coverage was missing).
The map also varies greatly depending on which metric for height is used (mean, max, majority etc). This is due to the way that heights are mapped to the buildings. The LIDAR data is given for each pixel and the height of each building is given as a summary of those pixels which fall within it. So the mean height refers to the mean value of the pixels within that building. Buildings which aren’t just a box shape might have a big difference between the max and mean height. The greatest variation in building heights is found when using the maximum height.
Overall, the detail is better for the Open Street Map data with OS Open Map losing some of the granularity in height due to the generalised nature of the data. The maps below look at the area around the Shard (S = The Shard). In the OS Open Map data (left) the Shard is drawn in a polygon that also includes London Bridge Station. In the Open Street Map data (right) the Shard is drawn separately. So, when you use OS Open Map and display mean height, the Shard appears much shorter, and when you use the max height Liverpool Street Station appears much taller than it is.
The OS Open Data version has been recreated in a Leaflet JS based app. Click on the image below to take a look.
How we did it:
In ArcGIS, the Raster Calculator was used to subtract the DTM from the DSM. Subtracting the DTM gives you the relative height of the buildings by removing any topographical influence (e.g. hills and slopes). The same thing can be done in QGIS using the Raster Calculator plugin.
The next thing to do was to transfer the heights from the DSM-DTM layer to the buildings layer. In ArcGIS the Zonal Statistics to Table tool in the Spatial Analyst extension was used. The mean, median, maximum etc heights were given to each building based on the pixels from the Raster that fall within it. This table was then joined back to the buildings layer based on the unique building ID. In QGIS this can be done by using the zonal statistics plugin.
In our first blog post in 2015 we looked at using sound as a mapping tool, combining the volume of a soundtrack with decibel exposure levels taken from DEFRA. As an extension to that, and to celebrate the fact we have been blogging for a year now we thought we would include a more detailed version showing road and rail noise across central London.
This time the data set had to be more granular so we chose the LAeq16 DEFRA dataset, which indicates the annual average noise levels for the 16-hour period between 0700 – 2300 (available here).
Plotting this data results in a set of 10m grids, which while quite granular, makes for a bit of a blocky representation:
So to aid the visualisation of the data for central London, we built a quick model to select only polygons of interest within the North-South circular, dissolved all of the features by noise level and then simplified the resulting polygons to smooth out the blocky edges. Everything was then exported out to topojson format to be plotted in Leaflet JS using the very helpful Omnivore library.
As with the previous blog post, the different noise levels are linked to the the amplitude of a wav file, in this case a recording of Trafalgar Square in London, available from freeSFX. Click on the image below and turn your volume up to see and hear the result.