Hi list, as documented in this http://josm.openstreetmap.de/ticket/1621 trac entry, I've developed a more general approach as the current function "aligning nodes in a rectangle" The new function expects an arbitrary number of ways in the selection that must fullfill the following criteria: -all ways must be closed loops (last node must be equal first node in way) -all loops must have at least 4 corners (way must consist of at least 5 nodes) -consecutive segments of a way must establish a direction change of more than 45° and less than 135°
If any of this isn't valid for the selection, the function is aborted with an appropriate message. These checks also make pretty sure you not alter an accidential selection, as an arbitrary selection usually violates one of the above rules. Now the orientation of all segments is computed, normalized, so orientations perpendicular to each other end up as the same direction value and weighted by its length. The result gives the general orientation of the objects in the selection, like establishing one of the axis of a grid. Now all segements are aligned to this grid by rotating them around their center. From consecutive segments a new intersection coordinate is computed and the node of the former corner is moved to this coordinate. Allowing multiple ways in the selection allows to align e.g. several buildings. I've written the function while I was mapping a village from Yahoo imagery where I usually spend my holidays. http://www.openstreetmap.org/?lat=43.5103&lon=16.18812&zoom=16&layers=0B00FTF Was fun to begin with a blank sheet. Next time I'm there, I'll take a printout of the map with me and then collect all the information to turn this into a real map. Now, my question is: Is there interest by the maintainers of JOSM to put my function into JOSM, maybe replacing the current "aligning nodes in a rectangle" function of JOSM? I tried to write the code for clarity, as performance shouldn't be an issue with the amount of data that usually would be processed by such a function. Harald _______________________________________________ josm-dev mailing list [email protected] http://lists.openstreetmap.org/listinfo/josm-dev
