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 height 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 height 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) .

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


b. 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;

a. Right click the Topographic Layer and Select “Create a join”.


b. Create a join between the sdf building topograpy layer and the building height data by matching the TOIDs.


c. 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

a. Launch Autodesk Infraworks

b. 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.

c. 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!


You may also like

Using machine learning to build the future of 3D mapping
Semantic and Geometric Enrichment of 3D Building Models
New building height data released

7 Responses

  1. Peter Boardman

    Hi there, i am having some issues with the ODBC part, it doesn’t let me connect, rather it just shows a blank table stating ‘class’ and ‘identity property. Any help on the matter would be massively appreciated!

    1. Hi Peter

      I’ve checked with our products team and they have advised that the Getting started guide (http://www.ordnancesurvey.co.uk/docs/user-guides/building-height-attribute-getting-started-guide.pdf) should be able to point you in the right direction. There is also further information regarding building height data on this support page: http://www.ordnancesurvey.co.uk/business-and-government/help-and-support/products/topography-layer.html

      I hope that helps, but if you need any further advice, our Customer Service team will be best placed to help. They’re available on customerservices@ordnancesurvey.co.uk or 03456 050505.

      Many thanks

    2. Ian Holmes

      Hi Peter

      We had the same problem trying to connect to the XLSX file through an ODBC connection in AutoCAD Map 3D. We discovered that Map 3D requires a ‘Named Range’ of cells to connect to. This is really easy to set up in Excel by highlighting all the cells containing data and then using the ‘Name Box’ to specify a name for this range of cells (note you can’t have spaces in your name). Having done this you should be able to connect to the data okay.

      We’ve written all the steps we followed to get this to work in the following blog post:


      Hope this helps – Ian.

  2. Mo

    Same situation here. So frustrating can’t seem to figure it out. Would really be a big help if someone could post a video tutorial

  3. Basheer

    I had the same two problems as above. I agree with MO, that there should be a video explaining this lengthy procedure.

  4. Jason

    Really need a Video Tutorial of this procedure as it is not as straight forward as the tutorial suggests. Surely there is an easier method than this .

    If you are trying to create a ODBC DSN to connect to the XLSX file created and you are using a 64bit operating system you need to install the 64bit database drivers – Not mentioned in the tutorial. ( Even if you get this far Autodesk Map will not connect the XLSX file created)

    Can you import the CSV file directly into Infraworks. If so how do you extract the height data so that it shows correctly

  5. Bryndaff

    I have following these and the digimaps instructions and I get the BHA columns in the table in AutoCAD MAP, but the values in the table all says Null.

    Any ideas where I am going wrong?


Leave a Reply

Your email address will not be published. Required fields are marked *

Name* :

Email* :