mirror of
https://github.com/FoggedLens/iD.git
synced 2026-04-21 11:16:36 +02:00
bcb4de4305
Reverse known direction dependent tags other than `oneway`.
We assume that correcting a backwards oneway is the primary
reason for reversing a way.
The following transforms are performed:
Keys:
*:right=* ⟺ *:left=*
*:forward=* ⟺ *:backward=*
direction=up ⟺ direction=down
incline=up ⟺ incline=down
*=right ⟺ *=left
Relation members:
role=forward ⟺ role=backward
In addition, numeric-valued `incline` tags are negated.
The JOSM implementation was used as a guide, but transformations that
were of unclear benefit or adjusted tags that don't seem to be used
in practice were omitted.
References:
http://wiki.openstreetmap.org/wiki/Forward_%26_backward,_left_%26_right
http://wiki.openstreetmap.org/wiki/Key:direction#Steps
http://wiki.openstreetmap.org/wiki/Key:incline
http://wiki.openstreetmap.org/wiki/Route#Members
http://josm.openstreetmap.de/browser/josm/trunk/src/org/openstreetmap/josm/corrector/ReverseWayTagCorrector.java
Fixes #299.
9 lines
491 B
JavaScript
9 lines
491 B
JavaScript
describe("iD.actions.UpdateRelationMember", function () {
|
|
it("updates the properties of the relation member at the specified index", function () {
|
|
var node = iD.Node(),
|
|
relation = iD.Relation({members: [{id: node.id, role: 'forward'}]}),
|
|
graph = iD.actions.UpdateRelationMember(relation.id, 0, {role: 'backward'})(iD.Graph([node, relation]));
|
|
expect(graph.entity(relation.id).members).to.eql([{id: node.id, role: 'backward'}]);
|
|
});
|
|
});
|