Terracing Buildings
Following up from the previous article on addressing flats, in this article we deal with drawing buildings. The new area has lots of similarly looking buildings, and they're not exactly square. They do however all (broadly) share the same shape:

JOSM has a terracer plugin, which allows you to draw a rectangle, and then quickly convert it to a row of terraced houses and at the same time add house numbers to the generated houses.
You do the following steps with the plugin:
Image |
Action |
![]() |
Find a spot that needs buildings added |
![]() |
Draw the outline |
![]() |
Add the |
![]() |
Select road and outline, and press |
![]() |
Select every other middle node at the back |
![]() |
Use JOSM's Way Accuracy Tool |
![]() |
Repeat for the other 5 buildings |
![]() |
Select all buildings and use the Orthogonalise Shape tool |
Having to do step 6 and 7 for every building, especially when there are a lot of them, is a very tedious, and inaccurate process. It is sometimes even faster to draw all the building outlines by hand, select them all, and orthogonalise them.
But the terracer does already save a lot of work, so what if I could make it better and make it support the type of buildings that are common in my new neighbourhood?
I had a look into the plugin, and it seems that I have to use Java to update it. I don't really use Java, and hardly ever written any code in it. It also sadly lives on some SVN repository, so pull requests against it are difficult too. Instead, I pushed my version of the repository to https://github.com/derickr/josm-plugin-uberterrace — and called my version Überterrace. Oh, and I learned some Java.
After a while of figuring out some ... syntax issues, and figuring out how to build this stuff, I managed to improve the plugin with another option. The new option is "fancy outline" and automatically draws in the "extensions at the back". The new work flow is now:
Image |
Action |
![]() |
Find a spot that needs buildings added |
![]() |
Draw the outline, including the backends |
![]() |
Add the |
![]() |
Select road and outline, and press |
![]() |
Drag the selected middle nodes to the right position. |
![]() |
Press |
As you can see, this makes it much faster to draw such building outlines. When you look at it in 3D however, you can see there is still a problem though:

The 3D image that is being drawn does not take into account that the "extension" at the back, isn't part of the gabled roof nor that it is only two instead of three levels. There are various possibilities of building layouts:

So the next versions of Überterrace are going to support (some of) these as well!
Comments
Derek,
You're a hero. You can only imagine the amount of time I spent faffing around with the fancy outlines...
http://www.openstreetmap.org/#map=17/51.46055/-0.07277
Of course there are other configurations of 'fancy outline', such as the back extensions being on the 'outside' edge rather than meeting on the inside edge. See this area for a muddle of shapes:
http://www.openstreetmap.org/#map=19/51.41582/-0.07375
Tom
@Tom: I know! I'll get to these if I figure out how to make it draw buildings from a template that you draw first, or something.
Shortlink
This article has a short URL available: https://drck.me/bldngs-btn