Answers to: Detect round objects with JOSMhttps://help.openstreetmap.org/questions/65118/detect-round-objects-with-josm<p>How can I detect round objects with JOSM? If necessary I would even write my own plugin.</p>
<p>Let's say that round buildings normally have > 15 edges, but other buildings can have this too. Is there any trick how to detect buildings with many identical angles near 180 °?</p>enSun, 05 May 2019 23:50:04 +0100Answer by andy mackeyhttps://help.openstreetmap.org/questions/65118/detect-round-objects-with-josm/69102<p>Not sure I have understood your question. Do you mean draw a true circular shape? Not used JOSM much but thought it must have a tool for it. I searched and found this <a href="https://learnosm.org/en/josm/josm-tools/">https://learnosm.org/en/josm/josm-tools/</a></p>andy mackeySun, 05 May 2019 23:50:04 +0100https://help.openstreetmap.org/questions/65118/detect-round-objects-with-josm/69102Answer by jmapbhttps://help.openstreetmap.org/questions/65118/detect-round-objects-with-josm/69101<p>One neat fact about circles is that they have the smallest possible perimeter (circumference) for their area of any shape. The area of a circle = (perimeter ^ 2) / (4 * pi). So if you find the area and perimeter of a given shape, you can calculate the following ratio: (perimeter ^ 2) / (4 * area). For a circle, this ratio will be pi. For a square, it will be 4. For approximate circles like those in OSM, it will be somewhere between. The more circular the shape, the closer to pi.</p>
<p>If you do write a plugin, you could configure it for a range, say between pi and 3.25, and find shapes within that range.</p>
<p>...However, calculating the area of a shape defined by an arbitrary set of node coordinates can be a little complex, so if you don't have a built in routine for this calculation you might want to do something simpler. You could find the maximum distance between any two points in the shape and compare <em>that</em> to the perimeter. For a circle, this maximum distance will be the diameter, and the ratio of the perimeter to the diameter should be pi. For nearly-circular shapes, this ratio will be a little <em>less</em> than pi. (For a square it will be 2 * sqrt(2), about 2.83.)</p>
<p>Note that, depending on the range of ratio values you decide to consider circular, these techniques will <em>not</em> necessarily restrict your answers to "factory" circles with a lot of identical angles. IMO this is probably a good thing -- there are probably many circular ways that are drawn by hand or otherwise slightly deformed.</p>jmapbSun, 05 May 2019 20:29:21 +0100https://help.openstreetmap.org/questions/65118/detect-round-objects-with-josm/69101Answer by qeefhttps://help.openstreetmap.org/questions/65118/detect-round-objects-with-josm/69080<p>Maybe this ticket is related: <a href="https://josm.openstreetmap.de/ticket/16283">https://josm.openstreetmap.de/ticket/16283</a></p>qeefSat, 04 May 2019 11:10:53 +0100https://help.openstreetmap.org/questions/65118/detect-round-objects-with-josm/69080