mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-14 09:42:56 +00:00
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.
72 lines
2.4 KiB
HTML
72 lines
2.4 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset='utf-8'>
|
|
<title>Mocha Tests</title>
|
|
<link rel="stylesheet" href="lib/mocha.css">
|
|
</head>
|
|
<body>
|
|
<div id="mocha"></div>
|
|
|
|
<script src="lib/mocha.js"></script>
|
|
<script src="lib/chai.js"></script>
|
|
<script src="lib/sinon.js"></script>
|
|
<script src="lib/sinon-chai.js"></script>
|
|
<script src="lib/bind-shim.js"></script>
|
|
<script src="lib/happen.js"></script>
|
|
|
|
<!-- include source files here... -->
|
|
<script src='../iD.min.js'></script>
|
|
|
|
<script>
|
|
iD.debug = true;
|
|
mocha.setup('bdd');
|
|
var expect = chai.expect;
|
|
</script>
|
|
|
|
<!-- include spec files here... -->
|
|
<script src="spec/actions/add_node.js"></script>
|
|
<script src="spec/actions/add_way.js"></script>
|
|
<script src="spec/actions/add_way_node.js"></script>
|
|
<script src="spec/actions/change_entity_tags.js"></script>
|
|
<script src="spec/actions/delete_node.js"></script>
|
|
<script src="spec/actions/delete_way.js"></script>
|
|
<script src="spec/actions/move_node.js"></script>
|
|
<script src="spec/actions/move_way.js"></script>
|
|
<script src="spec/actions/noop.js"></script>
|
|
<script src="spec/actions/remove_way_node.js"></script>
|
|
<script src="spec/actions/remove_relation_member.js"></script>
|
|
<script src="spec/actions/reverse_way.js"></script>
|
|
<script src="spec/actions/update_relation_member.js"></script>
|
|
|
|
<script src="spec/behavior/hover.js"></script>
|
|
|
|
<script src="spec/format/geojson.js"></script>
|
|
<script src="spec/format/xml.js"></script>
|
|
|
|
<script src="spec/graph/graph.js"></script>
|
|
<script src="spec/graph/entity.js"></script>
|
|
<script src="spec/graph/node.js"></script>
|
|
<script src="spec/graph/way.js"></script>
|
|
<script src="spec/graph/relation.js"></script>
|
|
<script src="spec/graph/history.js"></script>
|
|
|
|
<script src="spec/modes/add_point.js"></script>
|
|
|
|
<script src="spec/renderer/background.js"></script>
|
|
<script src="spec/renderer/hash.js"></script>
|
|
<script src="spec/renderer/map.js"></script>
|
|
<script src="spec/renderer/style.js"></script>
|
|
|
|
<script src="spec/ui/inspector.js"></script>
|
|
<script src="spec/connection.js"></script>
|
|
<script src="spec/oauth.js"></script>
|
|
<script src="spec/taginfo.js"></script>
|
|
<script src="spec/util.js"></script>
|
|
|
|
<script>
|
|
(window.mochaPhantomJS || window.mocha).run();
|
|
</script>
|
|
</body>
|
|
</html>
|