Re-learning JOSM :: Basics on using building_tools + terracer

Posted by alexkemp on 11 March 2019 in English (English)

BuildingsTools plugin (Wiki)
Terracer plugin (Wiki)

Nottingham City Council maintain an Adopted Highways Register which is fantastic for confirming both adopted & un-adopted streets local to me + house-numbers and, on occasion, housenames. The info comes from Ordnance Survey and therefore has a Crown Copyright. Because of that, it is important that I point out that I use the site to confirm my earlier survey results, rather than copying from it.

Adopted Highways register
A highway and a public right of way mean the same thing; they are both a “way” over which the public have a right to pass and repass at all times of the day and night. The term highway includes all carriageways (roads), streets, footways (pavements), footpaths, bridleways and byways. A highway may also include the adjacent verges.

This site shows which highways are adopted. If a highway is adopted it means it is maintained and repaired by Nottingham City Council. It also shows public rights of way (footpaths, bridleways and byways) both adopted and un-adopted which are recorded on the Definitive Map and Statement. This is the legal record of public rights of way in Nottingham at the time the Map and Statement were last updated (the “relevant date”).

You will therefore understand that the above is also the legal status that allows OSM surveyors in the UK to both survey and photograph from those highways anything that they can see.

Map Attitude

You are going to see me map all buildings with an area, rather than a node, and all the buildings are added to a street relation. The combination of the buildings_tools & terracer plugins makes both of these easy. I think that areas make the map look better, in that you can see how all the houses fit onto the street, but I do it like this mostly because JOSM makes it easy, and the map ends up looking much more professional.

terracer can be used for detached & semi-detached houses as well as terraces of 3 or more houses. The method used is identical for all 3 types. The main restriction is that only ‘normal’ (plain) rectangles can be terraced. Any rear-extensions, porticoes, turrets, what-have-you must be added after the building has been terraced.

As far as the associatedStreet relations are concerned, my (possibly biased) experience is that it makes searching very much more effective & quicker. It certainly ties some areas together in a satisfying manner. You can see what I mean by that by following these links for Denbury Court & Braunton Crescent.

Mapping Buildings Sequence

There are a large number of JOSM keyboard shortcuts and I would strongly urge you to learn them as to speed up your work (JOSM is a pain-in-the-arse otherwise). Here is step-by-step as I begin to draw a new set of buildings on Axmouth Drive, starting with 23 Axmouth Drive (half of a semi-detached house) which actually opens onto Braunton Crescent (the sort of thing that you find out only if you do the survey).

  1. Most of the time I need to remember just 4 keyboard shortcuts:–
    → s (to select something on the map)
    → a (to draw a node or a line or an irregular area)
    → b (to draw a rectangular building)
    → Shift+t (to terrace a building)
  2. Press ‘s’ then click on an empty part of the map to clear any selections
  3. Navigate to the part of the map to the point at which to draw the next house
    → + to zoom in
    → - to zoom out
    → Ctrl+<arrow-key> to move left / up / right / down
  4. Hold down Ctrl then select addr:postcode, addr:street + source (3 selections) within 30 Axmouth Drive then press Ctrl+c (or Ctrl+Insert) to copy
  5. Press ‘b’ then draw a box over the outline of the first semi-detached house on the corner of Axmouth Drive & Braunton Crescent
    → left-click on one corner of the house and pull the mouse down one side of that house
        (that action draws a red line as you move the mouse)
    → left-click on the opposite corner and you now have a line on screen
    → pull the mouse down to the opposite side and click again; now you have a rectangular box which has the tag for a building within it
  6. Press ‘s’ then hold down Ctrl (or Shift) and select the new building + one of the nodes at the north-end of the building + Axmouth Drive (3 items selected)
  7. Press ‘Shift+t’ to get the Terracer dialog
  8. Enter:
    Lowest Number = 21 (this is the end at which a node was selected)
    Highest Number = 23
    Interpolation = even/odd
    Segments (already = 2)
    Street Name (already = Axmouth Drive, due to the street being selected)
    Building = ‘semi’
    ☑ into ‘add to existing associatedStreet relation’ (even if it doesn’t yet exist)
    ☐ into ‘keep outline way’
  9. Press <Enter>
  10. (whilst both houses remain selected) press Ctrl+v (or Shift+Insert) to paste those earlier values into both houses

That’s it! On to the next building, then the next for several hundred more.

When a section is complete (I try to do one street at a time) press the uplift button (Ctrl+Shift+Up), add a suitable Changelog text and uplift to the server.

Easy. Just 30 million more buildings to do.

Location: Arnold and Carlton, Gedling, Nottinghamshire, East Midlands, England, United Kingdom

Comment from Sanderd17 on 12 March 2019 at 09:20

I just want to discuss the addr:street=* tags versus associatedStreet relations.

While associatedStreet relations seem nicer, and I also tried to use them in the past, they have some nasty properties I now try to avoid.

Relations by themselves have no geographical location, in JOSM they’re just displayed in a list, and it’s harder to find them (need to right click, select in list, …). Other editors even have more issues with the relations.

Certainly when you have a lot of relations in the list (multipolygons, associatedStreet, boundaries, …) it becomes very difficult to select the right objects and add them to the right relations. I’ve seen mistakes where a single street had two relations, or houses of two streets were added to the same relation. And I must say it’s a nightmare to clean up such relations.

On the other hand, addr:street=* tags are not that bad as you might think. Adding the tag to a group of houses is simple. Just select the buildings together, and add the tag. JOSM will even suggest names of nearby features (so street names) as values for addr:street, so it will avoid spelling mistakes.

Selecting all houses in a street is also no problem in JOSM, you can easily do a search for addr:street=xxx and see which houses have the correct street name, or even use the resulting selection to do a mass update of the street name by altering the tag.

In most query tools (like overpass API or plain SQL queries), it’s easy to search for addr:street=xxx tags in a certain boundary (all based on names of villages and streets). So it’s easy to find all houses in a street. When you have to go via relations, it gets harder (again because relations have no geographical info, so you first need to find the street, the relation associated, and only then you can find the houses).

The only real advantage I see to the relations, is that it’s easy to link to and visualise via the OSM home page. That visualisation can indeed be satisfying, but that doesn’t outweigh the drawbacks IMO.

Login to leave a comment