29 Commits

Author SHA1 Message Date
Chaitanya Kadu
552c6b6148 preserve step_count/… while joining ways (#10926)
* preserve the sum of certain tags (`step_count`, `parking:*:capacity`) during _join_ operation
* preserve total value of `parking:*:capacity` tags during _split_ operation by distributing it proportionally to the resulting ways
* the abstract osm entity now accepts a list of tags to override during the merging, but otherwise is agnostic about how tags can be merged: the concrete merging resolution might depend on the concrete action that was performed
2025-04-17 14:13:53 +02:00
Thomas Petillon
e9c7436289 Use utilOldestID() when joining ways 2021-12-06 21:23:38 +01:00
Milos Brzakovic (E-Search)
68b5445689 testing infra improvement - disable silent errors
actions/join test fixed
2021-10-21 14:44:04 +02:00
Kyle Hensel
3f12dd5107 keep the oldest Way when merging 2021-10-01 10:31:21 +13:00
John Firebaugh
1457759994 Add support for connectivity relations 2021-09-08 20:30:38 -07:00
John Firebaugh
a14cf49710 Disable merge operation when it would damage relations
The operation is disabled when attempting to join ways which don't belong to identical sets of relations. Restriction relations are excluded, because they are already handled with slightly different logic.

Fixes #8674
Fixes #8645
Fixes #3825
Fixes #1512
2021-09-04 15:42:07 -07:00
Quincy Morgan
95a14ea722 Add unit test for single-member multipolygon collapse behavior exception for conflicting tags in actionJoin (re: f7d8c51bd3) 2019-11-21 12:54:59 -05:00
Quincy Morgan
4297b0d95b Add unit test for single-member multipolygon collapse behavior in actionJoin (re: f7d8c51bd3) 2019-11-21 11:20:56 -05:00
Bryan Housel
c7e375cbd7 Preserve directionality of sided way when joining to non-sided ways
(closes #6033)
2019-03-21 22:19:05 -04:00
J Guthrie
631ace27d5 Add check to stop joining ways if resulting way intersects itself
- Includes new test case
2019-01-22 03:07:38 +00:00
Bryan Housel
00e5e8efa0 Avoid reversing osmWays in order to "prefer a forward path"
(closes #4872, related #4859)
2018-04-18 23:43:19 -04:00
Bryan Housel
7c918ba161 Allow Relation.replaceMember to optionally preserve duplicates
(closes #4696)
2018-01-18 16:52:23 -05:00
Bryan Housel
075b85c81d Apply reversal actions in actionJoin
(closes #4688)
2018-01-14 14:49:57 -05:00
Bryan Housel
87950fd472 Fix lib export, flatten names in tests and docs 2016-10-04 21:56:09 -04:00
Kushan Joshi
4609282e04 Making spec/actions lint free 2016-06-14 16:34:52 +05:30
John Firebaugh
ecb9398d5c Disable joining ways with conflicting tags 2015-10-18 13:42:14 -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
21fa8c9c5d Prevent merging over restriction relations (#1512) 2013-06-18 14:25:10 -07:00
John Firebaugh
ddd9e4e8cc Make iD.actions.Join agnostic to selection order
This is accomplished by reusing iD.geo.joinMemberWays,
which was refactored, generalized, and renamed to joinWays.
2013-06-18 12:19:53 -07:00
ProtD
80b7fd7f40 Allow to join more than two ways (#649) 2013-06-12 17:10:41 -07:00
John Firebaugh
4ffaba1def Prefer to keep existing ways when joining (fixes #1424) 2013-05-07 12:34:04 -07:00
John Firebaugh
c50c3121d8 Make Graph#entity strict
Use Graph#hasEntity for the previous behavior.
2013-04-24 09:27:37 -07:00
John Firebaugh
b1daf85cfd Tooltips for disabled operations (fixes #573) 2013-03-29 12:29:07 -07:00
Tom MacWright
5838f05116 Merge tags without a space, fixes #941 2013-03-08 10:51:44 -05:00
John Firebaugh
f6e726bcd6 Join should run Reverse where necessary (fixes #652) 2013-02-06 14:31:11 -08:00
John Firebaugh
d7639acb22 Set up iD.actions.Join to be more flexible 2013-02-06 13:42:34 -08:00
John Firebaugh
b62f106be8 Extract Relation#replaceMember 2013-02-06 13:42:34 -08:00
John Firebaugh
73098d259e Specify type for relation member 2013-02-04 16:48:40 -08:00
John Firebaugh
a8410be6eb iD.actions.Join 2013-02-01 17:31:32 -05:00