24 Commits

Author SHA1 Message Date
Martin Raifer
11dfbe804c fix splitting of (route) relation member ways
instead of fully re-sorting the whole relation every time a member is split, perform a local operation: This works under the assumption that the relation is already sorted properly. The new way is inserted into the relation before or after the existing member, depending on how the old/new way connect to their neighboring members.

for cases where two ways form a loop, a additional look-ahead is implemented to disambiguate the order
2024-03-04 19:02:31 +01:00
Thomas Petillon
3ff06f9045 Fix relation handling on way split
Depending on which way is the longest, the new way is inserted into the
relation before the existing one. This case must be explicitly handled
for the relation to remain correct.
2021-12-06 21:25:23 +01:00
Quincy Morgan
4059ee5118 Enable block-scoped-var eslint rule 2020-10-23 13:38:36 -04: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
4821bf0a68 Remove lodash omit
(re: #6087)
2019-03-26 14:12:45 -04:00
Bryan Housel
0e90167513 Remove lodash clone
(re: #6087)
2019-03-22 23:18:25 -04:00
Bryan Housel
84f96574d7 Add index property to cloned object, not actual member object
(closes #5458)

This code was adding an `index` property to each member in the relation.
Although the `index` property is ignored by the code that saves to OSM,
the extra property would make the member changed when compared by
`coreDifference`.
2018-12-12 02:07:03 -05:00
Bryan Housel
734957f283 Handle variants of 'stop' and 'platform' when identifying PTv2 members
(closes #4946)
2018-03-27 21:52:52 -04:00
Bryan Housel
aa1565baf8 Avoid reordering stops and platforms in PTv2 routes
(closes #4864)
2018-03-10 00:12:46 -05:00
Bryan Housel
7c918ba161 Allow Relation.replaceMember to optionally preserve duplicates
(closes #4696)
2018-01-18 16:52:23 -05:00
Bryan Housel
be9bbd9271 Add tests for member ordering: node, way, relation 2018-01-18 15:21:38 -05:00
Bryan Housel
8f9a46b75a Change actionAddMember to rearrange indexed members in place
This allows it to work around issues where a relation may
not be completely downloaded
2018-01-17 22:59:55 -05:00
Bryan Housel
be46e85ec0 Move insert way pairing code from osmJoinWays to actionAddMember
(tests for actionAddMember now passing!)
2018-01-16 17:41:14 -05:00
Bryan Housel
221158e918 WIP: Add insertHint to actionAddMember, actionSplit 2018-01-15 23:13:59 -05:00
Bryan Housel
03fa6e7be9 Add tryInsert option to osmJoinWays 2018-01-15 22:02:43 -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
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
Kushan Joshi
74028b8f16 add external imports to actions 2016-06-18 01:47:04 +05:30
Kushan Joshi
ff1ee79f6e Fix minor linting errors in modules/actions 2016-06-14 18:52:48 +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