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.
Life Line
Merge branch 'xdebug_3_5'
Merged pull request #1111
Disable 'declaration after statement' warning in zend_smart_string.h,…
Specify bicycle parkings covers
Specify street/place names to addresses
Survey housenumbers
Specify whether crosswalks have tactile paving
Specify whether roads have sidewalks
Determine whether ATM allows depositing cash
Survey if places still exist
Survey if places still exist
Specify access to places
Specify whether steps have handrails
Specify width of opening
Specify parking types
Specify whether public transport stops have tactile paving
Survey opening hours
Specify step counts
Survey tactile paving on steps
Specify whether steps have a ramp
Specify which way leads up for steps
Specify path surfaces
Specify whether there are cycleways
Created an entrance
Created a bicycle_parking

Shortlink
This article has a short URL available: https://drck.me/bldngs-btn