10th June 2014

How to create models of towns with building heights


Today’s guest blog is from Cristina Savian at Autodesk. If you were at last week’s GEO Business 2014 event, you may have seen our Acting Director General, Neil Ackroyd give his keynote and feature the image below, an infraworks model of Shrewsbury which was created using our new building heights dataset. Cristina created the model and tells us how.



Customers using Ordnance Survey’s OS MasterMap Topography Layer can now access information on the heights of almost 20 million buildings across Great Britain with the alpha release of building heights attributes. Released on 17 March, OS MasterMap Topography Layer – Building Height Attribute is a product enhancement to OS MasterMap Topography Layer, and available to licence holders at no additional cost.

If you are one of the lucky customers who can now access this very useful dataset then here you will find how to use it in AutoCAD Map3D/C3D and Autodesk Infraworks environments, to enable you to create a model like the one shown above.


First of all the OS MasterMap Topography Layer – Building Height Attribute comes as .csv file and it is not joined to the topography so in order to reuse it with Autodesk products it is necessary to manipulate the .csv file, then you need to join it to the topography.


Step 1 – Managing the CSV data

The Building Height Attribute .csv contains the attribute OS_TOPO_TOID, which is the TOID from Topography Layer. This TOID is the attribute that is used to join the data to your Topography Layer data.


TOIDs are stored in GML as a character string, with the prefix ‘osgb’, and can comprise of either a 13-digit number or a 16-digit number after ‘osgb’ (for example, osgb1000042992516).


The first step is to open .csv, removes ‘osgb’ and adds three leading zeroes to 13-digit TOIDs and save as .xlsx e.g. osgb1000042992516 becomes 0001000042992516


Step 2 – Managing OS MasterMap Topography Layer

To make the TOID’s joining process simpler it is recommended you filter the building polygons in the OS MasterMap Topography Layer and you save it as sdf file.


a. Command line: MAPIMPORT, Select .gz file and bring it into your Map, > Select “Topographic Area” only > Create object data and select Import polygons as polylines.

b. Command line: MAPEXPORT to .sdf (export Object data too)

c. Connect to Data > Add sdf connection to the .sdf file just created

d. In the Task Pane> Select Layer> Right click, Query to Filter data> Filter the Buildings only


Step 3 – Create Data Source Name (DSN)

You now need to create a Data Source Name (DSN) .


  1. Using ODBC Data Source administrator, create a user DSN connected to the .xlsx file.

  1. Add an ODBC connection. In AutoCAD Map3D or Civil 3D Select, Task Pane > Manage data content > Connect to Data > Add ODBC connection to the user DSN just created.


Step 4 – Join the Building Height Attribute to OS Mastermap Topography

Once you have Building Height.xlsx file and the OS Mastermap Topography Layer (Buildings only) added to your map;


  1. Right click the Topographic Layer and Select “Create a join”.
  2. Create a join between the sdf building topograpy layer and the building height data by matching the TOIDs.
  3. In order to save the joint map, right click the topography Layer and select “Export Layer to SDF”.

Step 5 – Use the OS Building Height Attribute into Autodesk Infraworks


  1. Launch Autodesk Infraworks
  2. Drag and drop a digital terrain of the area.  If you do not have it you may want to use the free OS Terrain 50 from the OS Open Data selection.
  3. Drag and drop the .sdf file created earlier and use the AbsH2 coloum for your building height.



and ‘voila’ your town now has realistic building height!