[OSM-talk] non-linear ways
Simon Hewison
simon at zymurgy.org
Mon May 15 18:30:58 BST 2006
I've started writing a sanity checking script that will locate ways with
non-linear segments, yet look like a straight line.
Working from the latest planet.osm extract, it's already found some.
For instance, it's identified the Charlbury and Finstock footpath as
being non-linear. (way id 240783)
(bounding box containing it)
-1.4954201009168266,51.857085117753876,-1.4734848258813946,51.86860919736889
It's non-linear because if you follow the direction of the segments as
they are laid down, some of them are facing 'backwards'.
This isn't very important for footpaths (though it helps Osmarender to
label correctly), but it's pretty much vital for motorways and one-way
streets, when route planning software starts looking at "oneway" labels)
These are rather obvious when you look at this in a recent JOSM with the
arrowheads turned on.
I'll soon work out how to get it to automatically prepare a correction
for these (having first confirmed the data is up-to-date as per the
api), to be applied via the API.
The criteria is:
The way should be an ordered list of segments
All nodes of all segments are referenced only once in the list[1]
The "to" attribute on a segment should match the "from" on the next
segment on the way.
This means that either: the way isn't ordered correctly
or: one or more segments in the way need turning around.
[1] probably need to deal with nodes that are referenced more than once
in any way and deal appropriately, for instance, at complicated road
junctions.
Once I've done that, I may well want to see about getting a script to
normalise the tags, so that for instance:
class=footpath
class=walking path
highway=footpath
all become
highway=footway
This might be a little contentious, since people already have code
working on "old" keys and values, so I might get it to supplement the
tags with the "new" ones.
--
Simon Hewison
More information about the talk
mailing list