[OSM-talk] JOSM dual-carriageway feature - "alpha" test version
matthew-osm at newtoncomputing.co.uk
matthew-osm at newtoncomputing.co.uk
Sat Jan 13 20:42:39 GMT 2007
Hi,
I've been working on a feature for JOSM to auto-align the distance of nodes on
dual-carriageways. You can currently do the following:
a) Select two nodes - they will be be set to a set distance apart from each
other.
b) Select two ways - each pair of nodes in the ways will be set to a set
distance apart from each other.
This is obviously intended, like the Align in Circle patch, for when you have
the underlying data and can make sure things are placed in the correct
positions. Please don't use it on roads where you don't know that the
carriageways don't diverge from each other...
Currently there are some limitations. Notes are below:
* the distance is fixed - it is nominally 30 metres, if my great circle distance
calculations are correct. There should be a dialog that allow this to be set.
* node distances are set, but the nodes are not rotated. I have worked out an
algorithm and this will be implemented next. This means that things can look a
bit distorted if nodes are not fairly well placed initially.
* ways of differing lengths and/or different numbers of nodes may have unusual
results. There are semi-plans for ignoring parts of ways that are not
relevant. However, nodes should generally be in pairs along the way already
otherwise it will break. Currently one end of the ways must be aligned.
this will work:
*---->*----->*---------->*------->*-------->*
*----->*---->*--------->*--------->*
this will break:
*---->*----->*---------->*------->*-------->*
*---->*--------->*--------->*
* ways with branches are not supported - they must be paths. I do not consider
this to be a bug ;-)
* you might see some dialog boxes with debugging info in; to be removed.
JOSM 191 with the patch is available from the below location, as well as the
patch itself. Suggestions/patches to improve the code please - I'm not a Java
programmer, and get very worked up that I could code it 90% less lines in perl
;-)
http://dl.newtoncomputing.co.uk/josm191_equidist_ways.patch
http://dl.newtoncomputing.co.uk/josm-equidist.jar
I'll be away until mid-week now, so may not respond quickly to replies, sorry.
Thanks,
--
Matthew
More information about the talk
mailing list