Adding Building Attributes to OpenStreetMap

This tutorial is a write-up of the video instructions provided by Mapillary Ambassador Nuno on how to add building data to OpenStreetMap using street-level images.

This tutorial is a write-up of the video instructions provided by Mapillary Ambassador Nuno on how to add buildings data to OpenStreetMap using street-level images.

The prolific Nuno Caldeira has made yet another brilliant tutorial video for editing OpenStreetMap. This one walks through how you can add a huge range of attributes to the map, using Mapillary imagery in iD editor. We have provided written notes for mapping the different attributes covered in the video and, hopefully, this will inspire you to start mapping new features.

In the video, Nuno is making use of the 800,000 panoramic images collected by the City of Amsterdam. He then proceeds to edit OpenStreetMap from the paradise of Madeira. You can watch the full video here, but we’ll break it up into parts and zoom in on each one separately. This time, will focus on buildings (see the video snippet below). Next time, we’ll look at road features and related objects. We’ll conclude with a look at some of the features that can be found in parks.

Accessing the data: Mapillary photo overlay

When you’re in edit mode in iD editor, begin by selecting Map Data on the right and enabling Photo Overlay (Mapillary). This displays all the Mapillary images in the vicinity. In the area Nuno selected, we’re working with 360° panoramic images.

Buildings and roads are some of the most common map features people add to OpenStreetMap. This generally involves tracing the road or the building from satellite imagery but here we’ll show you what else you can pick up from street-level imagery. As mentioned above, we will start with buildings.


Building levels are useful data for external tools that generate 3D models using OSM data. Once you’ve worked out how many levels the building has, use the levels= tag with the value equal to the number of levels. The number of levels is specifically the number of levels above ground. Use building:levels:underground=# to show the number of underground levels. Check out the wiki entry for levels to see best case practices for other scenarios.

3D buildings rendered with OpenStreetMap data Using F4 map to see 3D buildings rendered with OpenStreetMap data


Another useful attribute to add is the building colour. Use the building:colour tag and add an HTML colour code to match the colour of the building to an HTML code.

Adding building details in OpenStreetMap


You may notice that Nuno uses the Fixme tag throughout his video. This is a useful way to get help from other mappers when you’re not completely sure about the object you’re adding. In this case, he’s added a note that the building has a tower and requires further attention to be properly rendered in 3D.

So this is how you can add some building information based on street-level imagery. Next time, we'll move on to examples of road attributes.


Continue the conversation