Commit Graph

143 Commits

Author SHA1 Message Date
Bryan Housel 7adb0ddbfb Smarter revert of new entities, more tests
re: #2611, #537
2015-04-29 22:47:07 -04:00
Bryan Housel ca02cf4b96 Graph#revert accept id instead of entity ref
trivial test cases (revert across create/update/delete) all pass
2015-04-28 11:22:46 -04:00
Bryan Housel c10b83f28f iD.actions.Revert (see #537) 2015-04-26 01:08:31 -04:00
Bryan Housel c69fbf3e3d In copy/paste, use the graph that entities originally came from
(fixes #2557)
2015-03-18 10:08:36 -04:00
Bryan Housel 1f0087d133 Merge pull request #2525 from openstreetmap/conflict-resolution
Merge Conflict Resolution
2015-03-05 19:49:15 -05:00
Bryan Housel c503b9f96c fill remoteGraph with loadMultiple, finally do proper undeletion 2015-03-03 23:43:37 -05:00
Bryan Housel 56449bc589 Pend some failing tests
They should work but they don't.  No idea why.  PhantomJS issue?
2015-03-03 21:06:28 -05:00
Bryan Housel fc94e7775f more tests 2015-03-02 22:47:49 -05:00
Bryan Housel e3139e250e improvements to iD.actions.MergeRemoteChanges
* if remote entity is deleted, log to conflicts() array
* if remote tag was deleted, delete from tags (not set undefined)
* update tests..
2015-03-02 13:07:24 -05:00
Bryan Housel 0730e0432b keep localGraph - UI can now flip between mine/theirs 2015-02-20 17:01:19 -05:00
Bryan Housel ad8c381301 WIP: handle conflicting local tag deletion
re: https://github.com/openstreetmap/iD/pull/2489#discussion-diff-22490581
2015-02-20 12:43:47 -05:00
Bryan Housel 38b50a347e WIP: Fix tests, simplify mergeChildNodes 2015-02-17 22:10:47 -05:00
John Firebaugh 9aab74c187 Test; simplify 2015-02-12 10:24:40 -08:00
samanpwbb d141827c3e Merge branch 'master' into conflict-resolution-ui 2015-02-06 19:08:50 -05:00
Bryan Housel 3bbf31902a Add accessor to get conflict details from iD.actions.MergeRemoteChanges 2014-12-29 22:47:44 -05:00
Bryan Housel 4b6abf7a42 Added iD.actions.CopyEntity 2014-12-28 22:01:10 -05:00
Bryan Housel 0c881ef9f2 merge ways with non-overlapping changes to nodelists 2014-12-13 22:50:29 -05:00
Bryan Housel 977e29cfdb Most iD.actions.MergeRemoteChanges features complete
(todo: merging ways where nodelist has not been reordered)
2014-12-11 23:52:53 -05:00
Bryan Housel dc1221b8ba pass graphs instead of entities to iD.actions.MergeRemoteChanges
(realized that I will need to compare more stuff from the
local and remote graphs in order to merge ways/relations)
2014-12-10 00:12:32 -05:00
Bryan Housel eff18cb257 add tests for iD.actions.MergeRemoteChanges 2014-12-09 00:59:25 -05:00
Bryan Housel 3e97bd7d89 stub out iD.actions.MergeRemoteChanges 2014-12-06 22:11:54 -05:00
Sajjad Anwar dffeedffc9 Moved area-keys to data, and process it during runtime 2014-10-23 15:52:29 -07:00
Bryan Housel 43777d5259 Better inferRestriction for no_u_turn
* where from.node === to.node
* where from.way and to.way are oneways joined at a narrow angle
2014-09-02 16:43:31 -04:00
John Firebaugh eb55e36c3c Delete relations that become empty (#2270) 2014-06-26 10:21:03 -07:00
John Firebaugh a2a4405ed8 Fix restriction type inference (fixes #2233) 2014-05-21 16:28:29 -07:00
John Firebaugh f811c19cdc Fix straight on restricting with splits 2014-05-18 16:02:53 -07:00
John Firebaugh 6089a6aaea Better solution for maintaining selection 2014-05-18 16:02:48 -07:00
John Firebaugh 243e86b277 Update selected segment after splits 2014-05-18 16:02:48 -07:00
John Firebaugh 3d210ac3c1 Implement basic restriction toggling 2014-05-18 16:02:47 -07:00
Bryan Housel cab2705d57 Add tests for circularizing concave ways, straight line ways, Add isCircular() test.. 2014-04-23 16:11:42 -04:00
Bryan Housel fcdf7bbee2 Improve test cases for disconnect action to cover shared area nodes.. 2014-04-01 17:26:25 -04:00
Bryan Housel 5afcbf9400 Update tests to not allow closed way to disconnect itself. 2014-03-30 23:06:39 -04:00
John Firebaugh 3733b02a37 Expand tests 2014-02-09 18:45:47 -08:00
tyr 422f76be77 merge-polygons: do not merge tags from all possible members
previously when merging polygons, all tags from all involved
members were merged into the resulting multipolygon. This includes
existing inner members with different tags or outer members that
are not directly involved in the merge operations.

Example: A forest (landuse=forest) containing some clearings
(landuse=meadow), whose outline is in part a river (waterway=river)
is merged with a new untagged area. The resulting multipolygon
would have falsely been tagged: landuse=forest;meadow + waterway=river
2014-02-09 17:53:55 +01:00
Aaron Lidman 383023f4c1 Don't upload tags with empty values 2014-01-02 15:03:21 -05:00
Martijn van Exel c43d915625 Reverse cardinal directions for relation member roles 2013-11-21 10:08:16 -08:00
John Firebaugh 3f99e2fd4b Fix Disconnect of way with multiple intersections (fixes #1955) 2013-11-14 15:48:07 -08:00
John Firebaugh 492fc88aa4 Make the Graph#rebase argument an array 2013-10-31 16:24:31 -07:00
John Firebaugh 14bfc52e33 Remove repetition of entity IDs in tests
There were several places where the key and entity id
didn't match up.
2013-10-31 15:57:47 -07:00
John Firebaugh 16d3346147 Split only the line of a node shared by a line and an area 2013-09-30 16:54:03 -07:00
John Firebaugh 011dc140a3 Handle multipolygon corner case when splitting (fixes #1799) 2013-09-30 16:17:16 -07:00
Paul Mach 0e080b3ed6 Limit squaring to near square or near straight nodes 2013-09-29 13:44:30 -07:00
tyr ce85e7faaf fix test case "does not delete tagged nodes" of iD.actions.Straighten
The nodes.sort() statement caused some trouble in older browsers
such as (FF 20, Chromium 25). Also, the straighten action should
conserve node order. Thus, the sorting made the test weaker than
it had to be.

This just removes the unnecessary sorting.
2013-09-29 07:47:46 -07:00
tyr e8d637f2bb Add iD.geo.sphericalDistance
iD.geo.euclideanDistance should only be used for calculations of 
projected coordinates or display (pixel) coordinates.

iD.geo.sphericalDistance calculates approximate geographical 
distances, accounting for distortions at higher latitudes. This 
can be used for determining the nearest node (operations.Delete,
actions.Circularize) or relative length comparisons (actions.Split).
2013-09-29 07:45:04 -07:00
tyr 6afe3adfbe more clever splitting of closed ways
if a way is closed, iD needs to choose a second node to
split the way at.

This algorithm looks for a node that is both far away from
the initial node in terms of way segment length and nearby
in terms of beeline-distance. This assures that areas get
split on the most "natural" points (independent of the number
of nodes).

For example: bone-shaped areas get split across their waist-
line, circles across the diameter.
2013-09-29 07:43:20 -07:00
Paul Mach be30344cfd Improve Circularize Action 2013-09-28 14:33:39 -07:00
Paul Mach 3ac12a1e70 Orthononalize bug fixes 2013-09-27 22:24:32 -07:00
John Firebaugh 690a04e538 Make straighten/orthogonalize act like a single operation
- Display only one or the other in the radial menu
- Rename "Orthogonalize" to "Square"
- Use "S" as shortcut for both

Refs #1839
2013-09-25 14:26:30 -07:00
Tom MacWright d568e30cba Minor tweaks to style of test 2013-09-22 12:54:46 -04:00
Paul Mach 76e0ef7c26 Better orthogonalization of skinny quads. Fixes #1812 2013-09-21 21:21:36 -07:00