Commit Graph

69 Commits

Author SHA1 Message Date
John Firebaugh 4c6757714c parentWays/Relations now take an entity 2013-01-11 17:26:25 -08:00
Tom MacWright eedc0fce9d Fast parent calculation. 2013-01-09 14:52:39 -05:00
Tom MacWright b1c1844941 jshint touchups 2013-01-08 12:21:53 -05:00
John Firebaugh bcb4de4305 Reverse directional tags and roles when reversing a way
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.
2013-01-07 16:26:56 -08:00
John Firebaugh f0acbc2653 loc -> point, dxdy -> delta 2012-12-21 12:10:44 -08:00
John Firebaugh 209b87f7e8 Extract MoveWay action 2012-12-13 17:39:07 -08:00
John Firebaugh ee3f5cc768 Move -> MoveNode, in preparation for MoveWay 2012-12-13 17:39:07 -08:00
Tom MacWright adb8ab53ce Update relation tests 2012-12-07 16:01:14 -05:00
Tom MacWright 5371d42cdf Continue with splitWay 2012-12-07 14:33:16 -05:00
Tom MacWright 6d7b135b22 Push more on split_way 2012-12-07 14:03:03 -05:00
Tom MacWright bb6c0489a0 Fix adding to ways in the reverse direction 2012-12-07 12:01:48 -05:00
Tom MacWright f74b29d93a Rudientary splitting of ways 2012-12-07 11:03:15 -05:00
Tom MacWright 618f5cc486 Merge branch 'master' of github.com:systemed/iD 2012-12-07 10:42:24 -05:00
Tom MacWright f49728872e Fix way finishing, start on split way 2012-12-07 10:42:16 -05:00
John Firebaugh 3e45afbc5e Move history annotation to History#perform/replace
Actions are too low-level for annotations.
2012-12-07 10:35:39 -05:00
Tom MacWright 23856cc1c5 Reclose ways if you delete the repeated node. Fixes #221 2012-12-07 10:25:09 -05:00
Tom MacWright 7c82710dbf Fix deleting areas 2012-12-07 10:11:42 -05:00
John Firebaugh 8854dac623 More action specs; fix ReverseWay 2012-12-06 19:16:54 -05:00
John Firebaugh 9743ee282b More mode and action overhaul
Pass entities to actions via id; this allows safe composition
of actions that modify the same entity.

Fix remaining ghost node cases (#213).

Create more logical undo states when drawing.
2012-12-06 18:39:51 -05:00
John Firebaugh 79e2d08c0d StartWay -> AddWay (for parallelism with AddNode) 2012-12-06 18:36:03 -05:00
John Firebaugh 077e5cc9ce Rename various actions 2012-12-05 16:42:48 -05:00
John Firebaugh 5666cb774e Finish iD.actions.DeleteWay (fixes #72) 2012-12-05 16:35:13 -05:00
John Firebaugh 812b427ac4 Split remove action into DeleteWay and DeleteNode 2012-12-05 16:14:39 -05:00
John Firebaugh 33beb3d2f0 Split actions into separate files 2012-12-05 16:14:39 -05:00
John Firebaugh 4a3169bb1d Test/refine iD.actions.remove 2012-12-05 16:14:39 -05:00
John Firebaugh 435be12529 Split modes into separate files 2012-12-05 12:52:26 -05:00
John Firebaugh 36f4ef2533 Extract iD.modes.Select (fixes #188) 2012-12-05 12:23:12 -05:00
John Firebaugh c878fb3fcf Simplify 2012-12-05 10:30:31 -05:00
John Firebaugh 433dced53d Simplify node handling in modes 2012-12-05 09:48:00 -05:00
John Firebaugh 551a2df24e Replace Entity.{lat,lon} with Entity.loc
Fixes #189
2012-12-05 09:48:00 -05:00
John Firebaugh 76849596f8 Move node removal into removeNodeWay action 2012-12-04 18:07:26 -05:00
John Firebaugh f8fde1f10d Move node update into addWayNode action 2012-12-04 17:54:08 -05:00
Tom MacWright cdacdca2af Sort handles, fix area closing 2012-12-04 17:40:37 -05:00
Tom MacWright ea02651ed9 Merge branch 'master' of github.com:systemed/iD
Conflicts:
	js/id/actions/modes.js
2012-12-04 17:32:55 -05:00
Tom MacWright d66c27c578 Simplify modes more 2012-12-04 17:31:14 -05:00
John Firebaugh a316544008 Use datum() 2012-12-04 17:27:02 -05:00
John Firebaugh 6780ecb75b Add whitespace, cleanup, fix global leaks 2012-12-04 17:27:02 -05:00
Tom MacWright 5ef3eed3b0 Simplify modes, expose redraw 2012-12-04 17:23:09 -05:00
Tom MacWright 340b97c0e9 Split more functionality into util.geo and test it. 2012-12-04 16:52:59 -05:00
Tom MacWright e2b5a3f8ab New-style keybindings in modes 2012-12-04 16:31:39 -05:00
Tom MacWright 4978cd0c12 Resurface keybindings 2012-12-04 15:51:42 -05:00
Tom MacWright 8c3aa832f0 Rename Util to util, expand tests, move more out of map.js 2012-12-04 12:53:16 -05:00
John Firebaugh e3e17203cf Remove Map#redraw calls from modes
Map#redraw no longer accepts an argument, and changes to
the history automatically trigger a redraw.

It should be possible to calculate a set of changed entities
between two history versions, and redraw only those entities.
2012-12-04 11:35:56 -05:00
John Firebaugh fadbaf46a6 Use this.history directly 2012-12-03 18:41:04 -05:00
John Firebaugh da5239b98d Eliminate Map#{perform,undo,redo}
Map binds to history changes instead.
2012-12-03 18:37:41 -05:00
John Firebaugh 0370b487e3 Inject history dependency in map 2012-12-03 18:37:41 -05:00
Tom MacWright bd1a34153a First shot at way accuracy handles 2012-12-03 17:08:53 -05:00
Tom MacWright f149c899bb Rework about 2012-12-03 16:32:26 -05:00
Tom MacWright 62cdaa7075 Merge branch 'master' of github.com:systemed/iD
Conflicts:
	js/id/actions/modes.js
2012-12-03 16:25:39 -05:00
Tom MacWright 200b4f67d5 Clean up actions 2012-12-03 16:24:35 -05:00