Hi Brian, I was very happy to see your message as there doesn't seem to be a lot of love out there for careful drawing of building shapes. Understandably, it can be time consuming and I occasionally do some architectural drafting for a living so I'm definitely biased and in a better position than many to tackle this. It may help if I list general tips I've developed to overcome the very limited tools in JOSM for aiding with this task. Some of them involve improving results by not using the obvious way, such as using a tool not intended for a result to ultimately get that result while leaving clean geometry and tags.
Install the following plugins for JOSM: alignways, building_tools, terracer, utilsplugin2. With all of these installed you now have these useful commands to help create good quality building shapes: Orthagonalize Shape [q] (core) Create Areas [x] (core) Join Overlapping Areas [shift+j] (core) (referred to as 'merging shapes') Draw Building [b] (building_tools) Split-Shape [alt+x] (utilsplugin2) Add nodes at intersection [shift+i] (utilsplugin2) Terrace a Building [shift+t] (terracer) Align Ways (alignways) I'll run through general techniques I use and I'll answer your question at the very end. You can skip straight to it but it might make less sense without the following. I'm basing all techniques from tracing Bing Maps: 1/ With some exceptions, building are nearly always orthogonal or have angles that mirror others. It's easiest to draw them as orthagonal and then create any other angles afterwards where confident. 2/ With the above in mind, I generally draw buildings using a series of independant rectangles which I then merge into a single shape at the end. This includes returns and any extrusions. While you can draw a perfectly perpendicular return from a building by adding two nodes to a rectangle and extruding the line between them using 'Create Areas', if you draw the return as a seperate rectangle and merge it to the main house at the end, you have slightly more flexibility with moving the return around as seperate rectangle than you do with nuding points and ways on the same shape if it was extruded. 3/ Get familiar with using the 'Draw Building' too for blocking out the shape of an entire building using rectangles that overlap. If you have a rectangle selected and begin drawing a new rectanlge using 'Draw Building' it will keep the new rectangle's angles lined up with the selected one. This is a huge time-saver and helps with accuracy. Where a more complex building is not perfectly orthagonal I find I'm often drawing a group of rectangles that are based on two different rotations. The 'Draw Building' tool helps me keep to these two different rotations throughout. The original architects usually followed patterns with angles and you can spot these pretty quickly. 4/ Don't forget you can quickly orthagonalise a shape by selecting it and hitting 'Q'. If you select a shape and then select any two nodes on this shape or another before hitting 'Q' the shape will be orthagonalised and aligned to the same angle between these two nodes. Very useful with terraces or quickly using other shapes as angle guides. If you don't select two other nodes the shape will be orthaganalised to the average of all the angles in the shape. It's worth knowing that architects often based the angles of a building on neighbouring buildings so try using these as guides and see if they help. 5/ I predomiinantly use 'Create Areas' to nudge entire lines parallel to their origin rather than using them to extrude lines from others. So If I've drawn one rectangle as a house and another rectangle as a return. I'll drag the return into place and resize it by nuding its boundaries using 'Create Areas' on its lines. 6/ To expand on this tip, if you hold down 'alt' while using 'Create Areas' to either nudge a line or extrude from between two points it will create an entirely new shape that's glued to the old. This is immensely valuable. I use it for creating terraces (I'll elaborate on this) or for creating guides which I'll later delete (ditto). 7/ One area I do use 'Create Areas' for is extruding a return rather than drawing a seperate rectangle then merging is at the edge of a building. It's quite quick to align one rectangle with another if you zoom in to the full extents and make sure the way of one rectangle lines up with the way or node of another. If I attempt any merging of shapes after this JOSM treats this level of alignment as being the same coordinates on both. However, at the edge of a building it can be quicker to just extrude a return rather than zoom in and align a seperate rectangle. My exception to this is if two returns meet on a terrace (I'll elaborate on this). 8/ I always draw to match the roof-top outline of a building and then drag the finished outline to match corner where the building meets the ground. Be careful that the roof edges really are the roof edges and also make sure that the building corners in Bing are actually ground level as some confusion has arisen from later finding that Bing was slightly obscuring the fact that ground meeting point was underground by another level or vice-versa. It's worth checking if your alignment doesn't make sense with neighbouring buildings after pulling it into place. 9/ When dealing with multi-level buildings my practise of drawing the building as multiple rectangles really helps. Pay careful attention to shadows on rooftops and on the ground to spot where roof tops aren't level. If you feel a roof-top is on a different level than others, only merge the shapes that are on the same height before dragging them to their respective ground-level corners. Once all levels have been dragged into place, merge the entire building. You'll get far more accurate representations of buildings from Bing's skewed angles using this technique. It's easier said than done but you'll be surprised with what improvements in accuracy you can spot when you start doing this. 10/ Terraces are usually made up of completely even building widths but quite often they're not. If they look pretty exact I test the 'Terrace a Buidling' option first to see if they line-up. If they don't I use the 'Create Areas' command instead to allow for slight width variations. The first thing to do is the use the 'Draw Building' tool for the entire length of the terrace to make sure it will all be aligned at the end. Next, use 'Create areas' to drag the width of the rectangle back to the width of the first house. If you've measured the width of the house using the rooftop, drag it down to its actual footprint at ground level. With terraces, it's quite easy to align them using the front and back garden hedges and walls as markers for the actual start and stop point of each building. Use the 'Create Areas' tool with the 'alt' option to create the next terrace up to the next hedge/wall. Repeat until the end of the terrace and you've got a pretty accurate alignment of the terrace. If you select one of the buildings and keep tapping 'e' it will select all of the buildings in the row and you can tag them as a group (such as adding 'building=yes'). What you lose is the ability to quickly assign individual numbers to the row but you gain more positioning accuracy - a benefit I prefer. 11/ If repositioning the widths of an existing terrace, you can drag the two nodes seperating two buildings to their more accurate position. If you select the whole row and also select two nodes at the very end of the terrace (that you know were aligned correctly) and hit 'q' the nodes you dragged will be snapped back into alignment with rest of the terrace. 12/ There is unfortunately currently no easy way to draw terraces that are not in a straight line but a lot of careful use of 'Align Ways' goes a long way. I've managed some good results by drawing each building as an orthagonal building that starts on a node of the neighbouring one and rotates N amount. At the end, I use 'Add nodes at intersection' to join neighbouring buildings at their shared intersection point. It's then pretty trivial to drag the interior, unwanted nodes to the intersecting nodes, or delete them entirely, and have a series of trapezoid shaped terrace buildings. 13/ If you want exact symmetrical corners or chamfering in bay windows, building corners, etc. you can cheat using the 'terrace buildings' tool. If you think of it as a tool that subdivides a rectangles longest length in half you can use it to create nodes on the perimeter of a building at exact 1/2, 1/4, 1/8 points. After repeatedly subdividing a shape you then merge all the subdivided shapes back into one you retain the nodes and can use these to make symmetrical and exact 45 degree corners. 14/ if you need to split unusual shapes that are roughly orthagonal into several buildings or a terrace, use 'Split-Shape'. Create two nodes that are as close as possible to the divide line. Select the whole shape and these two nodes and press 'alt+x' to create two shapes split on these nodes. It will always be a little bit uneven so select both shapes and the two nodes that you know are aligned correctly and press 'q' to align everything to them orthogonally. If the original building is close to orthoganal but has a bay window or something similar I temporarily make the angled corners orthagonal before doing all the previous steps (add a node beteen the two and drag it out to a corner) and then return it to how it was after (delete the added node and the line between returns to its angle). 15/ When creating rectangles using the 'Draw Building' tool it will always add a 'building=yes' tag so make sure to delete this if it's not relevant. Likewise, creating a new shape from a building using the 'alt' method with 'Create Areas' doesn't retain the 'building=yes' tag so add this as necessary. 16/ Don't forget you can create guides using the 'draw building', 'create areas' and 'add nodes at intersection' tools. What I mean is that you can make rectangles that you use to align other nodes with and then delete that rectangle afterwards. It comes in very useful. So, after that very long winded run-through (apologies), here's my method that tackles your question: I typically draw out a terrace using point 10 above for just the basic shape without returns. The returns are nearly always a different level than the main building so I'm happy to align the main building before dealing with extensions/returns. If a return is not neighbouring another I'll extrude it out using 'Create Areas' and keeping an eye on the ground-level meeting point of the extension and making sure it meets the corner of it. Most returns, however, neighbour another and I'll do the following: * Extrude the extension/return out using 'Create Area' with 'alt' held to make it a new shape. The reason being is that you want a node at the point it meets the original building. * Now extrude the neighbouring extension out of this to the left or right, again using 'alt' so that it's a new shape. * If it's a different depth from the house you should unglue it, adjust the depth of the edge using 'Create Area' and reglue it, creating a new node at the intersection of the first extension. * You can then merge each return to its respective house. Hope that helps, Conor _______________________________________________ Talk-ie mailing list Talk-ie@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-ie