30 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
Kyℓe Hensel
bd85d31b73 fix relation membership list using a non-deterministic order (#10648) 2025-02-12 15:16:54 +01:00
Thomas Petillon
e9c7436289 Use utilOldestID() when joining ways 2021-12-06 21:23:38 +01:00
John Firebaugh
3e082bb20e Fix typos 2021-10-24 11:01:44 -07: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
8b258d2cbd Load the maximum nodes per way value from the OSM API and add a getter to the service object
Disable the Merge operation if the resultant way would have more than the maximum number of nodes (close #6030)
Simplify some code in operationMerge
2020-06-08 14:38:49 -04:00
Quincy Morgan
f7d8c51bd3 Convert single-member multipolygons to simple areas when merging ways (close #5085) 2019-11-19 12:48:51 -05:00
Quincy Morgan
d01bb78707 Reduce circular dependencies caused by importing from indexes, the location of the validation models, and the location of areaKeys (close #6237) 2019-04-24 13:45:59 -07:00
Bryan Housel
3d80e6505f Remove lodash chunk, groupBy
(re: #6087)
2019-03-27 16:18:41 -04:00
Bryan Housel
5e1ff74199 Replace lodash difference, intersects, union
(re: 6087)
2019-03-27 01:22:11 -04:00
Bryan Housel
7a6c63fcc5 Remove lodash extend (re: #6087) 2019-03-23 00:38:39 -04: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
bc430e4926 Fix loop index bug 2019-01-22 14:50:13 +00:00
J Guthrie
274eaa2e47 Fix eslint issue 2019-01-22 14:39:21 +00:00
J Guthrie
6a3a0251d0 Fix bug where end nodes being on top of each other gave false positive 2019-01-22 14:29:45 +00: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
075b85c81d Apply reversal actions in actionJoin
(closes #4688)
2018-01-14 14:49:57 -05:00
Bryan Housel
a98f57cdcb Convert lodah-es and d3 to named imports for actions 2017-09-24 21:06:52 -04:00
Bryan Housel
f50e80d0b5 Refactor Intersection, Multipolygon from geo to osm 2016-10-11 23:09:27 -04:00
Bryan Housel
07fa5fcc34 Refactor Entity, Node, Relation, Tags, Way from core to osm 2016-10-11 22:41:24 -04:00
Bryan Housel
0d0e54fdff Fix more namespaces that were missed in the first pass 2016-10-04 21:15:30 -04:00
Bryan Housel
3102a4ae6a Rename all the things to include pseudonamespaces 2016-10-04 19:06:20 -04:00
Bryan Housel
a86f34b4ef Pacify eslint, get build and tests running again 2016-08-26 01:15:07 -04:00
Tom MacWright
604d1e2719 import lodash (#3257) 2016-07-19 12:04:16 -04:00
Kushan Joshi
39c82af158 Sort modules [eslint rule] 2016-07-06 12:12:08 +05:30
Kushan Joshi
74028b8f16 add external imports to actions 2016-06-18 01:47:04 +05:30
Tom MacWright
9e03edc493 Start inter-requiring actions 2016-06-14 09:09:44 -04:00
Tom MacWright
266504d4e2 Baby steps mode 2016-06-06 16:54:24 -04:00