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