Feat: [FeederDrt] a more flexible structure for access and egress stop selection #258
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR relates to the FeederDrt feature present in eqasim-java.
Previously, the selection of access and egress transit stops in an intermodal route betweeen PT and DRT included both identifying the possible stops and the selection criteria.
In this PR, we distinguish between the two by having two separate interfaces. Now, the FeederDrtRouting module takes both an AccessEgressStopSearch and an AccessEgressStopSelector. The former is in charge of identifying the possible transit stops, and the second for selecting among them.
Now, we have three implementations of
AccessEgressStopSearch
:TransitStopByModeAccessEgressStopSearch
, allowing to filter transit stops by the modes of the transit routes they are located on. Also permits to filter only the ones that are inside a certain area given a shapefile.TransitStopByIdAccessEgressStopSearch
, allowing to directly specify transit stops by their IDsCompositeAccessEgressStopSearch
. This one allows to combine multipleAccessEgressStopSearch
strategies into one. This allows to easily build simulations where we allow intermodality at all train stops and a few bus stops determined by their IDs. Or allowing all train stops of a given city, plus all subway stops of another city...Now, The XML looks like this:
The documentation entry for this functionality has been updated according to the changes introduced by this PR.