OpenStreetMap logo OpenStreetMap

This post will cover how to enter housenumbers quickly, and how to tag them in such a way that any mapper using streetcomplete will get tasks to tag the buildings as housenumbers.

This post assumes that you use JOSM. This is also focusing mainly on drawing suburban housing in the UK, as this post draws from my current experiences. A lot of this post may not be applicable everywhere else, but some of it could be useful to you.

What I will cover:

  • Streetcomplete housenumber quest preparation
  • BuildingTools (tips and tricks)
  • Lasso/free Select & Utilsplugin2
  • Terracer
  • Extrude Tool
  • JOSM Copy & Paste (+ adjustment, such as rotate/resize)

Streetcomplete tagging

Streetcomplete is an easy to use app for android (and maybe for IOS soon) that allows users who have no understanding of openstreetmap to contribute to the map. However, due to this nature of data input (tasks), it can only improve on already existing data.

One of the critical missing pieces of data in the UK is housenumbers. This has to be entered manually. Currently, it isn’t really something a beginner can do, due to the methods of surveying housenumbers requiring intermediate knowledge of openstreetmap. There are not that many intermediate mappers, and since housenumbers/housenames are present on every single house, geography limits how many housenumbers a intermediate mapper can map.

However, on the other hand, anyone can make 1000s of buildings quickly using JOSM. Once this is done correctly, housenumber quests will show up when someone installs StreetComplete. What is effectively means is anyone, even people without any understanding of OSM, can map housenumbers, which is critical data.

In order to make buildings show up as housenumber quests in Streetcomplete, they CANNOT be tagged “building=yes”

Rather, this is the tagging I use & recommend:

  1. building=house
  2. addr:street=xyz

It is essential to tag the “building=house” tag. Otherwise the streetcomplete quest will not show up.

It is also important to add the street tag. Otherwise, when someone enters data using Streetcomplete, the house will have only a housenumber, with no street. This is not useful.

It is also extremely important to split entire buildings (such as terraces or semi detached houses into individual houses using the terracer plugin, so that housenumbers can be entered for these individual houses). Due to this, it is better to use building=house instead of “building=semidetached_house” or “building=terrace” or “building=detached”. (Make sure to split these buildings, however).

These are the building types streetcomplete accepts (in order to display a housenumber quest):

house, residential, apartments, detached, terrace, hotel, dormitory, houseboat, school, civic, college, university, public, hospital, kindergarten, train_station, retail, commercial

One very useful trick to make this tagging scheme easier will be covered in the buildingtools section

BuildingTools

I am sure you know how to use buildingtools to draw simple images. So I will use this section to cover advanced tips.

Firstly, if you want to draw extending sections of a building, you can draw one building, and another building that covers the extending part. Select both of them, and press Shift+J to join them. Make sure to merge nodes that are very close together by selecting the close-together nodes them pressing “M”, and making the buildings rectangular using the “Q” button.

Shift-J demonstration

I personally, however , when you are initially drawing buildings, it is not worth the time to draw to draw extruding parts. Drawing extruding parts takes lots of time, and often negates some of the time benefits being able to draw buildings quickly. This can be done later, when you are finished drawing the buildings and making them streetcomplete-ready. Also, if you are going to use the terracer plugin, make sure that you terracer the main section of the building before adding extending parts.

example of good enough vs more time consuming

Drawing extruding parts is time consuming, and is not necessary for mapping housenumbers. It should be something you want to do later.

Streetcomplete tagging scheme

In order to automatically apply the “streetcomplete tagging scheme” I described earlier, you can do this:

  1. Go to Data –> Set Buildings Size (Ctrl+Alt+B)
  2. Select advanced
  3. Add the tags “building=house”

image demonstration of above instructions

This does mean that you have to add the street tags, but the next section will cover how to do this easily.

Free Select & UtilsPlugin2

Make sure you have the utilsplugin2 installed.

In order to add street tags to all the buildings on a street, firstly select the buildings using the lasso select. Press “S” to go to select mode, and if there isn’t a litlle “lasso” or “rope” to the next to your mouse, press again, then you will see one. This allows you to freely move around the mouse to select a lot of buildings.

If you cannot select all the buildings in one go, simply select all the ones you can, move the map, and then do SHIFT+free select. Holding shift during the free select will add the new selection to your current selection.

Here is where utilsplugin2 comes in handy. This selection task will have selected all the nodes too, which we don’t want to tag. Simply press Ctrl+U to deselect all the nodes. Just like that, only buildings will be selected.

Now check that you have not accidentally selected some roads, or other irrelevant ways. To deselect these, press CTRL+Click on them. This will lead to them being deselected.

Image example of how to use these in combination

Now you can modify the tags of multiple buildings at a time, such as adding the name of the street to them for example.

What should you do if you cannot tell which street a house belongs to?

This can happen when a house is at an junction between two streets. Firstly, try and see where the exit of the driveway is. This will likely indicate which street the house is on. If you are still not sure, there are a few ways of solving the problem.

  1. You can leave the street empty, in which can if house-numbers are entered in Streetcomplete, then they won’t serve much use. HOWEVER, housenumbers without addr:street tags show up as pink dots on OSM inspector, so this can be found.
  2. Another solution is to guess the street, and add a fixme tag indicating that you are unsure of the street.

The first solution is better if you are not going to be the one surveying the housenumbers. This is because if a addr:housenumber does not have a corresponding street name, then Streetcomplete asks the user to enter the streetname as a quest. However, if you are the one who is going to be surveying the area, then maybe it is better to add fixme tags, as after surveying with Streetcomplete, you can open up JOSM and search for “fixme=*” to find and quickly fix all those fixme tags.

Terracer plugin

This plugin is incredibly useful for semi-detached houses and terraces. It is very important that you split buildings into individual houses, because when housenumbers need to be added

  1. Draw the entire building.
  2. Look in the private garden (from aerial imagery) to see fences. Where you see a fence is where one individual house ends and another one starts.
  3. For example, a terrace with 3 fences mean there are four individual houses.
  4. Draw the terrace/semdetached-house.
  5. Press SHIFT-T to open the terracer.
  6. Change the number of segments to the number of houses there are. For example, if there were 3 fences in the backyard, change the number of segments to 4.
  7. Add the street tag as well. This way you don’t have to enter it later.

How to recognise when to terrace a building with examples.

Fences in the back garden is one of the most effective ways.

semi detached house example

That image showed that the building had one fence seperating it, therefore it was a semi detached house.

terrace example

Here you can see 11 fences seperating each house of the building (and one on the rightmost edge). If there are 11 fences, that means there will be 12 individual houses. Therefore, in the Terracer plugin you change the number of “segments” to 12.

Change in building roof colour may also indicate different individual houses. If two houses look very similar/identical and are in the same area, they probably have the same number of “segments”.

Extrude Tool

This is a useful way of drawing extended sections of buildings. In many cases, it is more efficient that using the SHIFT+J method of the building tools plugin.

Press x to use the extude tool. You can then select a building, and double-click to add nodes along the way. The drag to extend or reduce a section of the way between two nodes.

Here is a useful gif from the JOSM wiki:

JOSM extrude tool

Copy-Paste

Copying & Pasting is an incredibly effective method of drawing tons of identical buildings quickly. In fact this is the most useful tool if you want to draw lots of buildings very fast. The caveat is that if a area is built so that every building is shaped differently, then this hampers your ability to draw buildings very quickly. If you can choose between drawing identical building areas and areas where each building is different, I would recommend doing the areas where many buildings are identical first, as you can get more done much more quickly.

Firstly make sure you have added all the tags you want to the building you want to copy (street, building=house). Make sure you have terrace Then select on the building(s) and press ctrl-c to copy them.

Position your mouse in the centre of the next identical building and press paste. This will paste the building. If the building is too small or big, you can readjust by holding CTRL+ALT and then dragigng . If the building is rotated slightly, you can rotate it by holding CTRL+SHIFT and then dragging. If it is in the wrong position, drag the house into the right position.

If it is slightly rotated/needs resizing and in the wrong position, you can do the CTRL+SHIFT or CTRL+ALT trick, however, after that, let go of the keyboard, but do not let go of the mouse. This will allow you to move around the house(s), effectively meaning you can rotate/resize and move it in one go, doing both tasks at once.

Contrary to my advice near the start of this post, if all the identical buildings have the same extruding part, then it is a good idea to draw the extruding part on the first building, as you can copy it over to the other buildings.

On the other hand, if the buildings main shape is the same, but the extruding parts are different, then you can still copy & paste, just simply don’t draw the extruding parts on the initial building.

example of building with slightly different extruding parts but same shape

Here is an example of that. If you look closely, you can see the extruding parts of these buildings are slightly different.

These tricks should allow you to copy buildings quickly.

Bonuses

Postcodes (UK only)

Postcodes are available under an open dataset known as “Codepoint”. You can add postcode imagery to JOSM using the following steops.

  1. Open imagery preferences (Imagery –> Imagery Preferences…)
  2. Click on the “TMS” button at the bottom right of the window
  3. Enter this URL in the First box: https://www.raggedred.net/tiles/codepoint/{zoom}/{x}/{y}.png
  4. Leave the maxiumum zoom field empty.
  5. Give this imagery a name, such as “UK Postcodes”.
  6. Press Okay to save the imagery then Okay again to save the settings.
  7. You can now display postcodes on top of your current imagery.

When you are adding housenumbers, firstly you should download the data from OSM, then add Bing imagery (or other good imageries).

After this you can choose “Uk postcodes” on top, and postcodes will be displayed in red. When drawing buildings, you can then add postcodes to these buildings.

Email icon Bluesky Icon Facebook Icon LinkedIn Icon Mastodon Icon Telegram Icon X Icon

Discussion

Comment from lectrician1 on 18 October 2020 at 16:16

Good job. Great tutorial.

Comment from aeonesa on 18 October 2020 at 20:50

I personally, however , think that it is unnecessary to draw extruding parts. Also, if you are going to use the terracer plugin, make sure that you terracer the main section of the building before adding extending parts. example of good enough vs unnecessary: Drawing extruding parts is time consuming, and is not necessary for mapping housenumbers. It may be something you want to do later.

What a bullshit! We a draw in, what is visible on the ground.

You push the work to draw the extruding parts, to other mappers, only to have the fame, that you have mapped a very big quantity of house-numbers.

Do you belive, that this is the real working ethos of OSM?

Comment from FredrikC on 18 October 2020 at 21:18

A lot of work went into this post. Thanks for sharing.

Comment from InsertUser on 19 October 2020 at 00:42

I disagree with the statement that it is unnecessary to draw in proper building outlines to get street numbers. When using StreetComplete or similar it is very easy to lose count of the building, especially if the GPS fix is a bit iffy and you’re doing both sides of the street.

At this point it becomes very useful to have the actual building shapes as that can let you find key points to reorient yourself based on the shapes of the buildings in front of you.

Comment from kucai on 19 October 2020 at 03:27

Is there a tool to interpolate address numbers on nodes? I know you can do it with the terracer tool, but I prefer to use nodes for house numbering. My approach is drawing a big rectangle, building=terrace, then put the nodes to represent individual address. (same result, lighter maps)

Comment from spiregrain on 19 October 2020 at 08:13

Hello again!

This is a great tutorial, it summarises a lot of techniques that would otherwise take months to discover. Thank you for writing it.

I just wanted to draw attention to four related factors - image offsets, and the National Library of Scotland out-of-copyright maps, postcodes and back gardens.

  1. The current Bing imagery is great, but it doesn’t necessarily end up in the right place - it appears to be ‘off by a couple of meters in my area. If you don’t have the equipment necessary to figure out the offset accurately, you might find it useful to turn on the OS Opendata tiles, and use it as a baseline for aligning the Bing imagery and any other imagery you find useful. Which brings me to two other useful layers for this noble housemapping mission…
  2. High resolution historic (out of copyright) OS map has become available as a JOSM imagery layer. It shows very clear house and garden outlines, at least for London. Thanks to user rskedgell https://www.openstreetmap.org/user/rskedgell for pointing it out. The URI for the map tiles tms:https://geo.nls.uk/mapdata3/os/britain10knatgrid/{z}/{x}/{y}.png https://geo.nls.uk/mapdata3/os/britain10knatgrid/%7Bz%7D/%7Bx%7D/%7By%7D.png (may need to be offset)
  3. RaggedRed’s postcode tiles - details here - https://codepoint.raggedred.net/
  4. If, like me, you are the sort of person who likes to complete the extrusions on classic L-shaped houses, AND fill in back gardens (which can take up a lot of space); you might also find the balloon Josm plugin useful - available here - https://github.com/ubipo/shrinkwrap. (gardens - leisure=garden; garden:type=residential, access=private).

Comment from spiregrain on 19 October 2020 at 08:23

@kucai - You can use this, I think - not strictly interpolation, but it gets the next number ready in the sequence, and helps apply it - https://josm.openstreetmap.de/wiki/Help/Plugin/HouseNumberTaggingTool

Comment from Richard on 19 October 2020 at 08:35

@aeonesa There is absolutely no need to be so offensive.

Comment from aeonesa on 19 October 2020 at 09:54

OK. “What a bullshit”. perhaps it was a little bit to hard.

But on the merits I stand by my opinion.

It is not the right way to draw in a building without the extruding parts. This is an aberration from the common mapping rule: “We map, what is on the ground.”

If such procedure will be the common practice, our data set will be adulterated step by step. It is not expectable, that other mappers, will change the outline of the building to the correct one. Moreover that is not necessary double work. And it generates additional datasets /changesets, what is inflating our data base also unnecessary.

Comment from Richard on 19 October 2020 at 09:58

OSM iterates towards completeness. This has been the case since the first days of the project.

You don’t have to map everything to 100% levels of detail to begin with. It’s absolutely fine to map something at reduced detail, and then people will come along and refine it over time. That’s how OSM has always worked.

And it generates additional datasets /changesets, what is inflating our data base also unnecessary.

This is a canard. The impact on the database is trivial and the sysadmins are more than equal to the task of maintaining it.

Comment from Sanderd17 on 19 October 2020 at 10:40

I think the example given on that “unnecessary” picture is a bit of a big omission. Certainly because it’s the streetside (so very visible for mapping from the streetside) and it repeats on every building.

There are also a few options to draw those quickly: * draw two, use copy-paste and merge the correct nodes * draw a big rectangle including the extrusions, terrace it, extrude inwards and reconnect the correct nodes.

Given how quick that process is, I wouldn’t agree with omitting those extrusions.

The last picture however also shows a lot of extrusions. But for those, every house is different, they’re on the backside, and it’s hard to see if it’s actually an extended roof or just some ground texture.

In that case, I’d certainly agree it’s too much work for little added value to try and draw those extrusions.

Comment from aeonesa on 19 October 2020 at 11:27

OSM iterates towards completeness. This has been the case since the first days of the project.

You are absolutely right for the case there is no aerial image. And you will record it by GPS, like we didi it 10 years ago.

You don’t have to map everything to 100% levels of detail to begin with. It’s absolutely fine to map something at reduced detail, and then people will come along and refine it over time.

But in the case you have such a good aerial image, it does not make sense to do it in this way. Due to my experience nobody will change a building outline, after the address dates are completed. Even if there were options to improve some objects in the database, nobody came along to do it. That’ s my experience from more than 50% of datasets, what I created.

My pinion still is: If we have such good aerial images, we should draw in the real visible situation on the ground. It is so easy to terrace it with JOSM. We should not hope that another mapper it will improve, if we can sketch it exactly at once. So we can secure that our database is more exact and more actual than other databases respectively maps.

And it generates additional datasets /changesets, what is inflating our data base also unnecessary.

This is a canard. The impact on the database is trivial…………

But It cannot be wrong to save disc space, If it is possible, or not?

Comment from IpswichMapper on 19 October 2020 at 19:35

I just logged in. How on EARTH did this get 12 comments? Who found this? I hadn’t advertised it on any forum or anything.

Comment from IpswichMapper on 19 October 2020 at 20:01

Okay, I checked, and it is pretty high up on the “User Diaries” section. That is probably why.

Comment from Sanderd17 on 19 October 2020 at 20:39

Diaries don’t have a special algorithm to get “on top”. They’re just in reverse chronological order. But your post is both interesting and controversial, that’s why you get so many comments.

Comment from spiregrain on 20 October 2020 at 07:40

@IpswichMapper I found it because I have the RSS feed for diary entries in my feed reader. http://blogs.openstreetmap.org/atom.xml

Comment from IpswichMapper on 20 October 2020 at 20:29

Okay. I am going to try to respond to every comment here. I also updated the post slightly based off feedback. Thank you for all the comments!

@Sanderd17 - I know there isn’t an algorithm. However, it never occured to me that my post would be seen by quite a few people through the “User Diaries” page. I thought this would be buried in the sea of posts. However, it seems there aren’t that many posts, so my single post was seen by quite a few people.


@aeonesa

The problem is, drawing extruding parts simply negates most of the huge speed benefits of Copy-Paste and the terracer plugin. This means - in the end - less buildings will be drawn. I don’t know about you, but here in the UK, you can zoom in to most areas of outer london and buildings most of the time aren’t drawn. That is not a good, especially for the most populated (and therefore mapper heavy) area of the UK.

Say for example, I wanted to draw a ten house terrace (similar to the one in the diagram). The easy way is to draw the buildings, open the terracer menu (shift-t), enter number of segments and street, then press enter. That is it. Now you have entered ten houses, very quickly.

By contrast, to add the extruding parts, you have to do it one by one, for each of the ten buildings. Using the merge buildings technique, you select a building, draw the extruding part, join with Shift+J, remove unnecessary nodes. Using extrude tool, you extrude that part of the building, merge the nodes of that extruding part with the extruding part of the next-door house, do this for every building, then orthoganalise.

At this point, if I hadn’t drawn the extruding parts, I probably could have drawn 3 or 4 other terraced buildings like this.

Semi detached houses face a different problem. Ignoring extruding parts means you can quickly copy dozens of semi-detached houses accross a street. If this house is slightly bigger or smaller, you can easily resize what you have copied (Ctrl-alt-mouse). What happens if you try to extrude the building? Well, if the extrusions are the same for every single semi-detached house, then maybe it is a good idea do draw the extrusion for the first house, then copy. However, if the extrusion is different for every single house, but the general shape is the same, you have to manually add the extrusions for every single one.

In other words, it is either pressing CTRL-V 10 times or carefully adding parts to each building, one by one.

What is the end result of all of this? Well, effectively, since you have spent so much time carefully drawing houses in your local area, when some new user 50km away from you logs into StreetComplete, they will not be presented with any housenumber tasks, meaning that a big oppurtunity for this critical data to be added to the map was missed. And that will lead to some user down the line downlaoding an OSM based application but deleting it after realising that it can’t even geocode housenumbers.

Of course, extrusions can be added later, but I think right now it is very important to get as many buildings drawn accurately (and by that I mean in the right position) as quickly as possible. This isn’t “taking the fame”. If someone else decides to add the extrusions to thousands of the buildings that were drawn later, then that person will be displayed in the building history. The fact that their changeset edited hundreds of buildings will be shown on osm.

Note: I have added a notice underneath the image saying that “unnecessary” is a strech. Also, I archived the images using wayback machine, but wayback machine seems to have deleted them. You should modify your comment by removing the “web.archive.org” section of the image, and only leave behind the imgur section. I also quickly edited the image to remove the word “unnecessary”. (It looks bad because I did it using my screenshot software called “flameshot”, not with an actual image editor. I’ll do it better in a few days).


@InsertUser

The problem is, most of the extrusions are at the back of the building, and therefore provide no advantage whatsoever when surveying. On top of this, I don’t think the extrusions are the best way of telling which building corresponds to which housenumber. What I do (as I have done some streetcomplete housenumber surveys), is look to see the where a building ends and the next one starts. For example, when surveying semi-detached houses, I see which part of the semi-detached house I am trying to add the housenumber of (e.g. is it the south side of the semi-detached house, or north side), and compare it to the map. This way, unless I am off by two buildings, I can enter the housenumber into the correct building on the map.

For terraced buildings, I see how many houses from the current house that I am trying to enter and the house on the end of the terrace. I can compare this to the map to, and enter the housenumber into the correct house. Unless I am off by an entire terrace, this is usually fine.

This is something you can get used to, and is done quickly in your head (after all it is just some counting). All of these tricks are also just used to make sure that GPS offset isn’t screwing me over - GPS is mostly fine anyway.

Besides, getting the housenumber off by one house isn’t the biggest problem when it comes to routing.


@kucai

Why do you prefer nodes? Nodes in a terrace don’t line up in a straight line unlike buildings. What do you mean by lighter maps? I think buildings make a cleaner viewing experience as it shows where one housenumber ends and the next one starts.


@spiregrain

I tried using the out of copyright maps, however the quality is significantly lower than that of Bing. For example, oftentimes I can see that a building is a terrace of four individual houses since I can see three fences in the backyard. However, with this imagery, oftentimes such a terrace with four houses looks like a semi-detached house (i.e. only two individual houses). I don’t think any imagery or data source will be able to outcomete bing in the UK, unless for some reason OS decide to release their newest maps under a free license, which won’t happen.

As for imagery offset, I don’t really think much can be done about this. JOSM and many people always warn that you should GPS tracks. However, I don’t find these to be useful. For example, on major roads, there are lots of GPS tracks the range from one side of the road to the other. This doesn’t provide much help. On smaller roads, where there is one track, it doesn’t provide much use either, because you don’t know if they were cycling/walking instead of driving. If you align the imagery so that this track is in the middle of the road, your imagery will be misaligned because actually the GPS trace was on the side of the road.

Also, the “OS OpenData Streetview” map which you can enable via the imagery dropdown in JOSM is quite bad, at least for buildings. In my town, many of the buildings were drawn years ago using this imagery… and they’re awful. These buildings are often drawn bigger than the actual ones, sometimes one drawn building equates to 3 buildings in real life, etc. Oftentimes when I am drawing buildings in that area, I simply delete the existing ones drawn using OS imagery and draw them again using Bing. Sometimes however, the buildings are accurate, however they haven’t been terraced. In this case I can simply terrace them using the terracing tool. The OS imagery does not show detached vs non-detached houses, and the new imagery you showed me still isn’t that good.

As for Postcodes, in my imagery dropdown, an imagery called “UK POSTCODES” shows up. I just installed a fresh copy of JOSM onto another computer to check, and that imgaery wasn’t there. However, the “historic imagery” that you talked about was there. I definately do not remember adding any new tiles to my copy of JOSM. Maybe that is bad memory. That being said, if historic map tiles show up automatically in the imagery dropdown, I see no reason that this “UK POSTCODES” tiles can’t automatically be available if you zoom to the UK.

Speaking of postcodes, user ndrw6 created an script that allows you to convert codepoint postcodes into nodes in OSM, which can be then merged with the closest building. See a [diary entry for it here], and here is it’s Github repository. I found about about this because ndrw6 has added all the postcodes in my area. I think this is probably a better way of adding postcodes than doing it manually.

Comment from IpswichMapper on 20 October 2020 at 20:30

Irritatingly, you can’t edit comments. Anyways, here is ndrw6’s diary entry on the Codepoint script:

osm.org/user/ndrw6/diary/156825

Comment from gileri on 20 October 2020 at 22:12

Thank you for this comprehensive diary !

I agree with the sentiment that data should be mapped as best as possible w.r.t. the mapper ability and available sources. Quantity is not better than quality : as aeonesa pointed out most often error/imprecisions or lack of details get overlooked for a while once acceptable data is put in OSM.

Comment from gileri on 20 October 2020 at 22:13

Also, please indicate the source in changeset tags instead of on each object. When an object has source=* it isn’t clear what data is covered by this tag.

Comment from InsertUser on 20 October 2020 at 23:25

The problem is, most of the extrusions are at the back of the building, and therefore provide no advantage whatsoever when surveying. On top of this, I don’t think the extrusions are the best way of telling which building corresponds to which housenumber. What I do (as I have done some streetcomplete housenumber surveys), is look to see the where a building ends and the next one starts. For example, when surveying semi-detached houses, I see which part of the semi-detached house I am trying to add the housenumber of (e.g. is it the south side of the semi-detached house, or north side), and compare it to the map. This way, unless I am off by two buildings, I can enter the housenumber into the correct building on the map.

The terraced rows in your example is accessible from the extruded side, in which cases it is far easier to count the extrusions than it is to count the houses. In many parts of the country they also do silly things like plant trees or park vans that make it difficult to look back and count front doors.

Even when the extensions are on the back the fronts will often show as mirror images of each other and so it can be useful to see what “hand” you’re faced with for a particular query.

Semi-detached houses are just as easy to lose count on, especially if they are copy-pasted. A random extension or garage is sometimes the only thing I’ve had to re-orient myself when in the midst of a particularly unimaginative development.

Comment from SK53 on 21 October 2020 at 12:22

I think there are a fair few commenters missing one of the important philosophies of OSM “Perfect is the enemy of the good”. IpswichMapper not only provides a nice detailed account of how to do things, but also provides cogent reasons for why they choose not to map returns (the correct name for extensions on terraced houses) in the first instance.

Rather than focusing on what individual mappers may prefer (and these are personal preferences) in terms of detail, let’s look at how mappers actually behave. In Great Britain of around 124k elements tagged with building=terrace, 75k are mapped as plain rectangles (5 way nodes), with around 16k having 6 vertices (7 points) so probably mapped with a return:

  • 4 2
  • 5 75862 Rectangle
  • 6 7050
  • 7 16448 Terrace with return
  • 8 5082
  • 9 7961
  • 10 1137
  • 11 2268
  • 12 484
  • 13 2427
  • 14 292
  • 15 909
  • 16 196
  • 17 1043
  • 18 149
  • 19 482
  • 20 132
  • 20 2918

Therefore simple rectangles have been preferred by a ration of roughly 9:2 in Great Britain. This suggests that “always mapping in as much detail as you can” is not a consensus position. By all means advocate for it, but don’t tell people they are wrong if they don’t do it because such a position is just not supported by any evidence.

Comment from IpswichMapper on 21 October 2020 at 22:17

I tried posting this on reddit, and it got 4 upvotes. The forum won’t let me post anything in the General chat, it returns an error (probably because I am a new user to the forum). Is there any way I can get many people to see this? I think at least the tagging section is important so that housenumbers in the UK & US can be entered faster.

Comment from ndrw6 on 24 October 2020 at 08:52

IpswichMapper, it is an excellent tutorial, I wish I’ve seen something like this a year or two ago, and no doubt it will be very useful to others. Perhaps you could put it in the wiki so it can be updated and expanded.

I didn’t bother tagging buildings as houses, mainly because sometimes the use of a building is not obvious (can be garages, businesses etc). But if StreetComplete needs it I’ll try to revisit buildings I’ve mapped. Thanks for the tip.

I’m fully with you on the level of detail matter - to me it’s far more important to have buildings with addresses than correct shape of extensions. Of course anyone can map whatever they like, and different things matter to different people.

Now some tips from me:

Changing multiple addresses. Perhaps it is obvious but other editors (iD) can’t do it, so it is worth mentioning with jOSM we can edit multiple objects at once. Simply select buildings to edit and press Alt-a to add new tags or Alt-s to edit a selected tag.

In addition to joining areas (Shift-j) there is also a split areas (Alt-x) function. Draw a “split” path from one side of an area to another, select it and press Alt-x - the area will be split along the “split path”. It can be a bit finicky in complex cases but it is much more versatile than the terracer plugin as it works with any shapes of any type (buildings, landuses etc).

For copying/pasting addresses I recommend “copy/paste tags”. By default they are not very accessible but it is easy to change keyboard mapping in settings.

For mapping postcodes I’ve prepared my own tutorial on https://github.com/ndrw6/import_postcodes/ . This is a bit more advanced technique but it can significantly (5-10x) speed up adding CodePoint Open postcode tags to buildings.

Comment from CjMalone on 24 October 2020 at 09:30

I didn’t bother tagging buildings as houses, mainly because sometimes the use of a building is not obvious (can be garages, businesses etc). But if StreetComplete needs it I’ll try to revisit buildings I’ve mapped. Thanks for the tip.

StreetComplete will first ask what type of building something is if it’s just building=yes so it’s not a hard requirement, but more accurate building tag does make surveying much quicker.

I sometimes use OS Open UPRN to help identify the type of building, garages won’t have a point, apartments will have several. It’s not exact as sometimes a building with two will be semi detached, or a detached house turned into upstairs/downstairs flats, then there may be an old UPRN shown as well.

There is also Inspire Polygons which should show property outlines, that can be helpful to identify how many terraces there are if imagery isn’t good enough. If your computer if powerful enough you can load county file into JOSM with OpenData plugin

Comment from IpswichMapper on 24 October 2020 at 11:23

@CJMalone

Yes, but if you are offline it will not then continue to ask for the housenumber.

Even if you are online while surveying, imagine how tedious it is to enter housenumbers, but now because no-one mapped the houses properly you have to map building type as well as street name. That is three quests per building.

Furthermore, if you tag your building as “building=house”, that indicates you have terraced it properly. “building=yes” does not indicate this. If it is not terraced properly, then that makes entered house numbers a lot less useful or even impossible (as you have to enter multiple housenumbers for a single “building”).

That is why I recommend drawing buildings properly (i.e. spliting a “building=terrace” into 10 seperate attached “building=house”), and add the tags. It should make other tasks going forward a looot easier.

As for OpenData, I’m pretty sure no open vector data for buildings exists in the UK. Housenumbers are also not available in vector for under an open license.

The Property Locator “OS Open UPRN” is useful, but it slightly offset frrom the actual houses, sometimes making it less useful.

Inspire polygons doesn’t seem that much use in my area. Entire streets are mapped as a single building.


@ndrw6

I have already mentioned how to quickly select multiple buildings in the “freeselect & utilsplugin2” section. I’m assuming that people already know how to add tags in JOSM (if they know JOSM, they should be able to), so I didn’t cover the “Alt-A” shortcut.

What is the “split areas” function? I saw it mentioned in your diary entry about how you started using JOSM. I don’t really understand what it does. Is there a video tutorial, or a “gif” that shows how it works?

As for the import postcodes, I mentioned that in one of my previous comments under this diary entry. I’m not going to put that in the actual diary entry, as it is more advanced and I think it can be done separately to drawing buildings.

What do you mean by “copy-paste” tags? Do you mean that you should copy the tags off one building and then paste them to every other one? This is what I did originally, however the more effective method is to get buildingtools to automatically apply “building=house” and “source=bing” to each house. You can then select multiple buildings using free select and utilsplugin2 and add the street name to them.

I didn’t bother tagging buildings as houses, mainly because sometimes the use of a building is not obvious (can be garages, businesses etc). But if StreetComplete needs it I’ll try to revisit buildings I’ve mapped. Thanks for the tip.

Make sure you terrace them as well. Thanks for your work.

Comment from ndrw6 on 24 October 2020 at 15:44

@IpswitchMapper

What is the “split areas” function?

It is actually called “split object” in utilsplugin2. There is a brief and slightly confusing description on OSM wiki.

I’m using it this way (using a “split path”):

  • Draw a new path starting at one edge of the shape and ending at another. It can have any number of points (doesn’t have to be a straight line) and must have no tags.
  • Select the path and press “Alt-x” to split the original shape.
What do you mean by “copy-paste” tags?

Regular Ctrl-c/Ctrl-v copies/pastes the whole selected object. Copy/paste tags only copies the tags from/to selected objects. I used it extensively in the past for adding addr:postcode tags to existing buildings.

Comment from CjMalone on 26 October 2020 at 14:11

Even if you are online while surveying, imagine how tedious it is to enter housenumbers, but now because no-one mapped the houses properly you have to map building type as well as street name. That is three quests per building.

Furthermore, if you tag your building as “building=house”, that indicates you have terraced it properly. “building=yes” does not indicate this. If it is not terraced properly, then that makes entered house numbers a lot less useful or even impossible (as you have to enter multiple housenumbers for a single “building”).

I know how tedious and annoying it is adding the building type while walking down the road, I do a lot of StreetComplete.

Blindly adding building=house makes on the ground surveying quicker, but it can be at the expense of quality. People used to add building=residential to everything and now StreetComplete doesn’t ask for a more accurate tag because it already has a more specific tag than yes. The same is happening to building=house, once mapped you wont be prompted to add building=detached or building=semidetached_house.

I’m not saying you are wrong to use house over yes, I do it too. And honestly, I think the address data is more valuable than a more precise building type, so I guess pragmatically, you are right.

That is why I recommend drawing buildings properly (i.e. spliting a “building=terrace” into 10 seperate attached “building=house”), and add the tags. It should make other tasks going forward a looot easier.

The new Bing imagery is great for splitting buildings, I’ve been doing it a fair bit.

Comment from coolmule0 on 26 October 2020 at 18:11

This is a very good and clear tutorial. In the couple of months since I’ve started I’ve picked up most of these processes, but still learnt some new tricks from this. I would really like to see something like this advertised to new mappers, as this post really helps provide a process for “what to do”.

Comment from IpswichMapper on 26 October 2020 at 18:59

@CjMalone

If you terrace houses properly, “building=house” is just as accurate as other tags.

For example, you could either map a single building as “building=terrace”, or you could split it into 10 individual houses. A piece of software can pick up that those 10 buildings belong to a terrace, because buildings in the middle share 2 nodes with a building on one side, and 2 nodes with a building on another side.

Therefore, if you terrace buildings properly, tags such as “buidling=semi_detached” is unnecessary - the software that is reading OSM data can figure this out on its own, as long as you mark it as “building=house”.

Even “building=detached” is just as accurate as “building=house”, because if a building is marked as “building=house”, and it does not share two nodes with another building, then it is a detached house. That being said, however, it is more explicit to mark it as building=detached.

This means that you should use those tags (building=semi_detachedhouse, building=terrace) if you did NOT terrace a building, or you cannot tell if you should terrace it or not.

Because of this, I see no problem with using building=house extravagantly, as long as you terrace the buildings properly.

You can read more about building=house vs building=semi_detached on the openstreetmap wiki.

Comment from IpswichMapper on 26 October 2020 at 19:02

@coolmule0

This guide isn’t meant for new mappers, as they won’t know how to use JOSM. This guide assumes you can use JOSM.

I get your point about advertising. I tried reddit (didn’t get much attention there). The diary isn’t read by that many intermediate mappers. I would assume more of the people who read this diary are advanced mappers. I tried entering it into the “weeklyOSM” news, but that is also probably read by advanced mappers.

I don’t really know what can be done to advertise this to more intermediate mappers. Maybe a youtube video, but I then I would have to do a voice-over (which I can’t don & I don’t want to do).

Even then that would not get many views.

Comment from GinaroZ on 29 October 2020 at 17:31

Changing multiple addresses. Perhaps it is obvious but other editors (iD) can’t do it, so it is worth mentioning with jOSM we can edit multiple objects at once.

This is incorrect, iD can now edit tags in multiple objects which are selected.

Comment from Mateusz Konieczny on 2 November 2020 at 00:36

example of good enough vs unnecessary

I use SC quite heavily and with so inaccurate geometries it would be impossible to answer confidently, I would likely and answering “can’t say” -> “mapped building geometry mismatches actual geometry”.

I just logged in. How on EARTH did this get 12 comments? Who found this? I hadn’t advertised it on any forum or anything.

For me: OSM Weekly linked osm.org/user/coolmule0/diary/394563 that in turn linked this entry

Streetcomplete is an easy to use app for android

Nice to hear good things about SC :)

(and maybe for IOS soon)

See https://github.com/westnordost/StreetComplete/issues/1892 “iOS version” issue, it has “help wanted” tag. Summary is that it would take 4 months of work, noone is working on it right now. But SC is developed/refactored in way to ensure that it is getting easier rather than harder to make an iOS version.

Comment from IpswichMapper on 24 November 2020 at 19:54

For anyone who sees this, I have now removed the “source=Bing” tags from the tagging section, as people have suggested that this is unnecessary. On top of this, pressing CTRL+h easily shows the changesets affecting that building. Going to the first changeset shows the source.

Comment from gileri on 24 November 2020 at 21:13

I have now removed the “source=Bing”

Thank you !

Comment from CoyKoi on 27 November 2020 at 18:40

Nice post and good discussion in the comments.

I will mention that Filters in JOSM can be useful when you are focussing on a specific task, like drawing buildings. This way you will not inadvertently select/edit roads or nodes, or unintentionally join your buildings to existing features.

Comment from IpswichMapper on 28 November 2020 at 15:44

@CoyKoi

Filters seem useful. Infact, it seems even more useful for a guide on creating public transport routes in JOSM, as that requires selecting roads. Often boundary ways are overlayed on top of roads, making the roads impossible to select. This should be really useful for that.

Thanks

Comment from westnordost on 17 January 2021 at 16:50

This diary entry has been mentioned in the weeklyOSM 547. I for one did not know about the extrude tool, thanks for that!

A few notes: - addr:street can also be set with StreetComplete. Though of course, if you are certain which street a building belongs to, it is definitely more efficient with JOSM - There is an idea to add an even more efficient way to contribute/check housenumbers with StreetComplete: https://github.com/streetcomplete/StreetComplete/issues/2461 , a mockup mockup

Comment from IpswichMapper on 18 January 2021 at 11:56

@westnordost

Hello, I have been developing my own android app to try and be extremely efficient for adding housenubers. You can read more about it on my diary entry about the software

Here are some screenshots:

main screen

keypad

P.S. Can you think about any names I could give to this app?

Comment from b-unicycling on 21 January 2021 at 22:38

Very interesting article, thank you. However, what it does not address (see what I did there?) is terraces (as far as I’m aware that mostly applies to the UK and Ireland, where a row of houses looks to be on one street, but actually has its own “addr:street”. Also, does StreetComplete not ask “What street is this house on?” or “What street does this building belong to?”

The second issue is tagging every residential building as house, when there could be a shop in the ground floor or even some business on an upstairs level. I usually tag those as “building=commercial;residential”, but I’m not sure if that is correct. It would be quite a bit of work to go back after adding the house numbers and changing the building type back from house to whatever it really is.

But thanks for taking the time to write this up. I’m sure it will be an inspiration for many!

Comment from kucai on 22 January 2021 at 02:31

usually, for multi tenant multi storey buildings, they are mapped with nodes for each. At least that what I’ve seen.

For terrace houses, I do wish that Streetcomplete can ask for a begin-end range of address (with either just odd, even or sequential) that cover end to end instead. Not everbody wants to create individual houses within the terrace building, perhaps a node for each house is sufficient enough. Example, a 20 house terrace building requires just 21 objects using nodes and rectangle outline instead of +/-80 objects.

Comment from IpswichMapper on 27 January 2021 at 21:50

If there is a shop, you can change thr building type in JOSM after the survey. Leaving a note with shop details or photo should allow you to add the shop (and then change the building type later).

Comment from IpswichMapper on 27 January 2021 at 21:51

@westnordst It is still a good idea to develop something more efficient for streetcomplete,as streetcomplete will be used far, far more than SwiftAddress

Comment from IpswichEdits on 4 June 2024 at 17:24

Hi @IpswichMapper!

Through pure coincidence, I’m also based in Ipswich and interested in adding house names/numbers as well as other details in Ipswich and surrounding villages and towns. This is an excellent article, and has been very helpful already over the past few months. Thank you!

Comment from Fahmid5987 on 24 June 2025 at 02:04

Very very useful, cheers. I’m having a crack at JOSM to see if I can speed up my edits. The iD editor does the job but progress can sometimes feel slow.

I’d map it correctly the first time, but I can appreciate at least getting the basics nailed first.

Comment from Fahmid5987 on 25 June 2025 at 17:31

Some more thoughts -

The X to extend buildings is incredibly useful, as is terracing which I’ve been doing a lot of recently. Being able to make accurate buildings quickly is awesome.

The link for postcodes 404s, and the four captures on the Wayback Machine do the same thing. Unless there’s a replacement for it, I don’t think we can use that anymore.

I will append something else to this especially if you’re just starting out: USE CADASTRAL PARCELS. They have brilliant (I believe perfect) alignment with buildings, and save the headache later. I’ve had to spend time moving roads, paths and streets worth of buildings to better alignments because it didn’t exist/wasn’t used at the time. It might also make identifying building shapes easier, but in this guide it also saves you time trying to guess how many terraces you need; you can just count the blue lines against imagery.

Buildings seem to show in StreetComplete now without the custom tag modification - maybe something in the app or editors changed. Give it a few minutes before you download the data again.

Comment from IpswichEdits on 28 June 2025 at 12:45

@Fahmid5987. Excellent points. Just thought I’d add, I have a few related tips on my own profile here on openstreetmap.org, just in case they’re of any help to you, here: https://www.openstreetmap.org/user/IpswichEdits

Log in to leave a comment