- Mapping Buildings :: Startup
- Mapping Buildings :: Basics on using building_tools + terracer
- Mapping Buildings :: More Advanced
In the previous post I showed the basic steps of using the building_tools and terracer plugins together to map buildings with JOSM on to the OSM map, so make sure to read that if you get lost at all during this post. This section will give a pot-pouri of how to perform more advanced tasks using the same two plugins. It will start with 2 Bradstone Drive.
Drawing an L-Shaped Detached House
For some reason these are very common in England (this particular house is a 2-story modern house — built in the last 5 years — but bungalows in this style have been built like that since the ’20s). As a detached house, adding the L-shape can be done either before or after using terracer, but for all other houses any changes to the basic rectangle of a terrace must only be done after terracing the building.
- Draw the main frontage of the building, using (in this case) Esri World Imagery as a template
- Press ‘s’ and select the building just drawn
- Press ‘b’ and place the X-hairs above the common corner-node for both frontages and click
- As you now draw the side frontage, the mouse is shaping a box anchored on the common corner node.
- Shape the new box to the side-frontage, and click when complete
(There are now 2 building rectangles positioned over all external borders of the house)
- Press Shift+j
(“Join overlapping areas”)
- Remove the redundant nodes from 2 sides of the house
(there are likely to be 2 nodes on top of each other on each side to be removed)
That’s it - an L-shaped house. A similar procedure can be performed for buildings with rear-extensions, etc.
Drawing Twin Garages
There is a bug in terracer from my point of view, in that it decides which angle of the rectangle of a building should be used to split the building (N-S or E-W, depending only on which is longer). This is crucial for twin-garages because terracer always chooses the wrong side, but it can also affect semi-detached houses and occasionally even 3-house terraces will split on the wrong axis. Here is how to fix them, using the twin-garages between 2 and 4 Bradstone Drive as the example.
Method 1 - rotate after splitting
This rarely works for garages; it is useful when the 2 buildings together are virtually a square.
- Draw the garage in the normal way
- Terrace in the normal way
- Press ‘s’ and select the building just drawn, if necessary
- Press Ctrl+Shift (the cursor changes to 2 x opposite-facing arrows)
- Whilst holding Ctrl+Shift down, click-and-hold on the screen and pull your mouse clockwise / anti-clockwise to turn the 2 garages through 90°
A word of warning
You need to make very sure that, during the procedure above, that only the house/terrace is selected. If, as one example, a 200 mile road is also selected (but off-screen whilst you work) then the road will also be twisted. That may not be what you want. Get into the habit of de-selecting everything before you select the one item that you want to move / rotate / whatever. JOSM is much more powerful than you may recognise, and will do exactly what you ask of it, quickly & easily.
Method 2 - draw & split at half-size then expand to full-size
This is a fudge until a “Use the other axis” checkbox gets added to terracer
- Draw the garage at half the length of the outline
(so that the width is longer than the length)
- Terrace in the normal way
→ Press Ctrl+t for the terracer dialog
→ Ignore everything except…
→ (Segments = 2)
→ Building = garage
→ Press OK
- Pull down the bottom, central node between the 2 garages until you reach the centre of the bottom of the outline
(if the garages have a roof-line then follow that line down)
- Pull down the bottom left- and right-nodes to the left- and right-hand sides of the bottom of the outline
(do your best to keep both halves as rectangular as possible, but don’t freak out about it)
- Press ‘q’ (“Orthogonalise Shape”) (ie “make rectangular”)
That is it - twin garages.
Preventing a driveway from snapping to the garage
There is a driveway that runs from the road to the twin-garages in the previous section. A driveway connecting to a garage is not such a sin, but there are a ton of other occasions in which you absolutely do NOT want the object that you are drawing to connect to some other object(s).
- Press ‘a’ and hold down the Ctrl key
(it is the second part that will stop the line that you are about to draw from sticking like lint to anything that it gets close to)
- Click the mouse button close to the garage, then draw it towards the road
- Release the Ctrl key
- At the road click the mouse button
(That both finishes the line and attaches the node of the line to the road)
- Add keys to the line that you have just drawn:–
→ highway = service
→ service = driveway
→ surface = asphalt
Ensuring that a garage connects to the house
This is kind of the opposite to the previous section. The example is of the semi-detached houses 34 + 36 Bradstone Drive, which each have garages which attach to the side of the house on one side and run down the property line on the other. In the case of 34 Bradstone it is important that the garage does NOT snap to 32 Bradstone, whilst it must connect with 34 Bradstone. The ridge-line of each house + garage are useful markers to note where a particular garage starts & stops.
36 Bradstone is worse, in that it is a double garage; connected with 36 Bradstone on one side but NOT connected with 38 Bradstone on the other. If you are as anally-retentive as I am, then these features are important. After all, if you do not draw it right, how are the folks at 40 and 42 Bradstone going to be able to put their bins outside on collection day?
- Draw + terrace the semi-detached house in the ordinary way.
- Leave at least one of the semi-detached houses selected whilst drawing the garages
(that causes the garage to share the same N-S / E-W axis as the houses)
- Hold down the Ctrl key whilst drawing close to 32 Bradstone so that the garage does not snap to the house.
- In contrast, you want the line of the garage to snap to the side of 34 Bradstone.
- When complete, there are at least 2 shared nodes between the garage & the side of 34 Bradstone; one near the centre of the house and one at the corner. These need to be bonded together, else the validator will complain of overlapping lines (‘lines’ are called ‘ways’ in JOSM).
- Select a node, then press ‘j’ (“Join Node to Way”)
- Repeat for the second node
- The garage on the side of 36 Bradstone is very similar with the added joy that it is a twin-garage and that needs to be sorted first; afterwards the two nodes need to be bonded to the house, same as before
- If ever a node bonds/snaps to a line and you need to unjoin it, then press Alt-j (“Disconnect Node from Way”)
Developers tend to use an identical architectural plan for multiple houses within an estate. If the local planning department has allowed the developer to build swarms of clone houses, that means that you are allowed to clone those houses when you map them. Do it like this (in this example as I map 20 to 30 Bradstone Drive):–
- Press ‘b’ and draw number 20 Bradstone
(be very careful to get the orientation and measurements correct)
- Press ‘s’ and select the building
- Paste in the common tags (
- Click on an empty space then re-select the outline
(this is to switch focus from the tags to the building outline)
- Press Ctrl+c (copy)
- Hover over 22 Bradstone and press Ctrl+v (paste)
- Repeat for 24, 26, 28 + 30 Bradstone
- Check that each house is nicely positioned
- Terrace each one to get the numbering, etc. correct