-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing transfer for "unused" stops #5461
Comments
Are you aware of the feature flag |
The We are going to do a performance test to see the effect of turning |
The number of stops/transfers after building with
I also run 5000 requests for each of the configurations, but the results wary too much to be useful. When turned on, it is faster but not by much. |
@t2gran it's interesting how the feature seems to affect the number of stops, but I guess it's the number of stops related to a transfer that is displayed? In general the transfer "pruning" has some edge cases that aren't properly working (potentially excluding optimal solution) even without realtime, if the patterns have some kind of geographical loop. I recall from my experimentation that it impacts performance, with the default transfer maximum duration of roughly 45mn, all stops likely connect to all stops in a city. Keeping the "best" transfers between patterns can really reduce transfer expansion and the transfer optimisation step eventually helps picking the best transfer point. I feel that adapting relevant transfer when processing realtime shouldn't be too hard also, aren't we already doing it for realtime added pattern (gtfs timetable snapshot source)? The list of patterns added by realtime is known. Maybe instead of pruning transfer at build time, a subset of all transfers could be selected for a given day of operation in the transit layer and updated depending on realtime data. |
Yes, this one possibility, not sure if keeping this for each day will be necessary. But, we can do this is steps. The first step will be to add transfers for realtime changes. If this is inefficient we can cashe the transfers from build-time. |
The last publication here is also relevant to this question (Delay-Robustness shortcuts (e.g. transfers pruning/constraint)) https://github.com/kit-algo/ULTRA |
This use case will likely happen in ferry traffic due to weather conditions or closed roads. The ferry operator will cancel the planned services, and new extraCalls will be sent in SIRI ET. The new ones can include new stopPlaces/quays that are not in any planned data. Norled is working to send this correctly in SIRI. |
There are several errors here:
|
Performance at Entur (STATING w/request replayer) for ConsiderPatternsForDirectTransfers OFF vs ON.
We clearly see that the transit data creation and heuristic suffer from the increased number of transfers. |
I think I have hit this bug in my National Rail deployment. I have created a lot of "fake" platforms, not used in the timetabled data but only for real-time information, to support a particular use-case of hiding "provisional" platform numbers. The journey planner no longer returns the normal route that most people will use, because the train service is "modified" to use a platform not used in the timetable. |
Description
A normal use-case is that a train changes platform(stop) using a real-time update. This works fine, normally. But, if the new stop does not have any trips using it, a problem occurs. OTP pre-compute transfers before starting the router. But, only transfers witch is "optimal" is added to the list of regular transfers. So, when the update happens the new stop is an island - with no transfers in/out of it. In the test data below this happens at "Arna" railway station. The new stop("NSR:Quay:107764") is not used by any other trip in the system. The trip search from Bergen to Voss works fine until the update and platform change is applied. Then, no results are found.
Version of OTP used (exact commit hash or JAR name)
dev-2.x
with #5460 - The file loader is needed to load the Siri ET update.Data sets in use (links to GTFS and OSM PBF files)
The dataset is edited to a minimum, this make it easier to debug what is happening.
Transit data:
netex.zip
Update:
et-update-arna-platform1-to-3.xml.zip
No OSM data required to test this.
Router config and graph build config JSON
OTP Config
OTP Build Config
OTP Router Config
Steps to reproduce the problem
realtime=false
.Query
VYG_VYG-Line-45_R40_Bergen-Voss-Myrdal-Al.xml
file, by including the last commented out ServiceJourneyid="SJ-1"
.realtime=true
.The text was updated successfully, but these errors were encountered: