Is your feature request related to a problem? Please describe.
The RemoveOtherThanSameLegsMaxGeneralizedCost keep only one itinerary and do not support mc-criteria (only generalized-cost)
The KeepItinerariesWithFewestTransfers filter is Ackward and is only needed because the RemoveOtherThanSameLegsMaxGeneralizedCost does not support multi-critera results.
The GroupByAllSameStations support multi-criteria, but only have an effect if the maxNumOfItinerariesPerGroup > 1, so this filter waste resources.
Goal / high level use-case
Technical dept. The group-by-filter is difficult to understand, especially the "undo" is a bit awkward and difficult to fit with new filters.
Describe the solution you'd like
This needs to be analyzed and we need test cases for the KeepItinerariesWithFewestTransfers and GroupByAllSameStations cases.
Describe alternatives you've considered
Move GroupByAllSameStations into its own group-filter and run this before the other group filters.
Analyze if RemoveOtherThanSameLegsMaxGeneralizedCost is needed. It could be replaced with more sofisticated logic in the McMaxLimitFilter. For example, using a threshold for the generalized-cost when looking at other criteria (num-of-transfers, transit-group-priority)
Is your feature request related to a problem? Please describe.
RemoveOtherThanSameLegsMaxGeneralizedCost
keep only one itinerary and do not support mc-criteria (only generalized-cost)KeepItinerariesWithFewestTransfers
filter is Ackward and is only needed because theRemoveOtherThanSameLegsMaxGeneralizedCost
does not support multi-critera results.GroupByAllSameStations
support multi-criteria, but only have an effect if themaxNumOfItinerariesPerGroup > 1
, so this filter waste resources.Goal / high level use-case
Describe the solution you'd like
This needs to be analyzed and we need test cases for the
KeepItinerariesWithFewestTransfers
andGroupByAllSameStations
cases.Describe alternatives you've considered
GroupByAllSameStations
into its own group-filter and run this before the other group filters.RemoveOtherThanSameLegsMaxGeneralizedCost
is needed. It could be replaced with more sofisticated logic in theMcMaxLimitFilter
. For example, using a threshold for the generalized-cost when looking at other criteria (num-of-transfers, transit-group-priority)