opentripplanner / OpenTripPlanner

An open source multi-modal trip planner
http://www.opentripplanner.org
Other
2.16k stars 1.02k forks source link

Standard RAPTOR search does not work with flex egress from a transfer stop #3725

Closed hannesj closed 2 years ago

hannesj commented 2 years ago

Expected behavior

I would expect a flex egress to be found, even when it requires a walking transfer from the last transit stop to the stop where flex is boarded.

Observed behavior

Currently a flex vehicle can only be boarded from the same stop where the last alighting happens, or by walking to a flex area, where the vehicle can be boarded works. It also works, if the stop which flex is boarded from is served by scheduled traffic, so the only case that doesn't work, is when you want to board flex from a stop that is only served by flex, where no other of the stops on the flex route are scheduled stops.

This is due to EgressArrivalToPathAdapter#add only being called from EgressStopArrivalState#arriveByTransit via org.opentripplanner.transit.raptor.rangeraptor.standard.stoparrivals.Stops#transitToStop, not from org.opentripplanner.transit.raptor.rangeraptor.standard.stoparrivals.Stops#transferToStop

Version of OTP used (exact commit hash or JAR name)

https://github.com/opentripplanner/OpenTripPlanner/tree/7195e624bf89e15806534c15882aa1eb96bd106f

Data sets in use (links to GTFS and OSM PBF files)

https://storage.googleapis.com/marduk-production/outbound/netex/rb_norway-aggregated-netex.zip http://download.geofabrik.de/europe/norway-latest.osm.pbf

Command line used to start OTP

java" -Xmx8G -jar ~/Projects/OpenTripPlanner/target/otp-2.1.0-SNAPSHOT-shaded.jar --load .

Router config and graph build config JSON

https://github.com/entur/otp-deployment-config/tree/master/helm/otp2/templates

Steps to reproduce the problem

http://localhost:8080/?module=planner&fromPlace=61.103443403390656%2C5.515136718749999&toPlace=61.393635%2C5.879363&time=10%3A03am&date=11-04-2021&mode=FLEX_EGRESS%2CWALK%2CTRANSIT&maxWalkDistance=4828.032&arriveBy=false&wheelchair=false&showIntermediateStops=true&debugItineraryFilter=true&locale=en&itinIndex=0

leonardehrenfried commented 2 years ago

Strangely this works for us.

Screenshot from 2021-11-05 14-41-31

I must check our fork if we made the change you describe.

hannesj commented 2 years ago

This works with GTFS-Flex if the destination is another stop, as it will be routed to using the RAPTOR router. Can you test routing to a flex area rather than a stop

leonardehrenfried commented 2 years ago

The destination is an area. You're being dropped of at home:

Screenshot from 2021-11-05 14-48-41