Skip to content
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

GTFS Readiness Checklist #4003

Open
6 of 9 tasks
kevinkreiser opened this issue Mar 3, 2023 · 7 comments
Open
6 of 9 tasks

GTFS Readiness Checklist #4003

kevinkreiser opened this issue Mar 3, 2023 · 7 comments
Assignees

Comments

@kevinkreiser
Copy link
Member

kevinkreiser commented Mar 3, 2023

  • fix stitching in ingest_transit. for whatever reason the stitcher cant find the missing destination/origin for 1 of the stop pairs in the test. the result is we get a couple of logs that say we are bailing on one of the stop pairs. this is because the pair connects across the tile boundary (which is a great thing to test)
  • make sure convert transit can actually add the edges between stations (actually between stations platforms) so that you can actually route on a kRail or kBus edge
  • the routing algorithm doesnt work, says it cant find a transit station near by (shouldnt be the case we know the connection does work currently so perhaps). im hoping fixing the first 2 will make this one go away but i expect there to be more routing issues
  • fix the routing algorithms likely bugs due to the code being unexorcised for years
  • IF WE MADE IT HERE WE COULD SAY WE ARE IN BETA WITH CAVEATS
  • hierarchy builder is not fully robust to the presence of transit data, so currently we cant build hierarchies if we want to have transit data as well. this in itself wouldnt stop us from supporting transit but its definitely required to be fixed before transit can be considered fully functional again.
  • unit test multi feed imports and fix if broken
  • IF WE MADE IT HERE WE HAVE SOMETHING WE COULD SAY IS OUT OF BETA
  • transit connect edges are not always formed on both sides of the street network edge, this happens because we currently dont look in adjacent tiles to find the end nodes. ive put a bunch of hints in the code about what to do to fix this (and also get better matches for edges to connect stations to)
  • clean up the code in convert transit where we hook up the 3 transit node types and connect them to each other. i wrote a big todo in there
  • another group of tasks to tackle adding transit to the graph after the graph is fully built as mentioned over in: GTFS support after GSoC ? #3806 (comment)

TODO: check off some of this list after we have merged #3988

@nilsnolde
Copy link
Member

nilsnolde commented Mar 10, 2023

According to above we'd be ready for early beta, but I'd still like to merge the next PR when I had a chance to run a full real feed into the graph build and manage some routing.

I won't copy/paste all my observations here, so also refer to this list at some point (also need to talk about some of those things before someone jumps in): #3988 (comment)

@nilsnolde
Copy link
Member

nilsnolde commented Mar 16, 2023

What's left before cutting a new release? You wanna wait until we figured out the hierarchies?

For me, the minimum would be to:

  • add a bit more testing to the /route PBF output
  • fix the isochrone algo for multimodal

Both should hopefully be rather mechanical.

@kevinkreiser
Copy link
Member Author

in addition to the 2 you said, i would say we need to do something about the hierarchies. 2 options exist:

  1. leave it broken for enabling hierarchies BUT error out of the tilebuild when there is transit data and hierarchies are enabled OR
  2. debug and fix hierarchybuilder

i prefer the latter but only very slightly. im ok with releasing so long as the build fails immediately with the currently unsupported configuration

@nilsnolde
Copy link
Member

Jep agreed. I'd commit to fixing them, but not sure what's lurking there yet;) I can have a look before our next session, to get myself up to speed, and maybe we can pair on it for a while.

@nilsnolde
Copy link
Member

nilsnolde commented Mar 24, 2023

I got curious about what's exactly failing when building transit and hierarchies and enabled it in the test. It didn't error out, but also I couldn't get the test to build shortcuts for some reason (which might still indicate a bug?).

Now, I finally had time to do a bigger test with this tiny real feed: https://transitfeeds.com/p/swhn-stadtwerke-heilbronn/1239/latest (after hacking the calendar.txt to 2023). Aaaand it just works!

2023/03/24 12:10:22.250854 [INFO] GraphFilter - nothing to filter. Skipping...
2023/03/24 12:10:22.257370 [INFO] Adding 2 transit tiles to the local graph...
2023/03/24 12:10:40.482419 [INFO] Found 1535991564216692 connection edges
2023/03/24 12:10:40.482449 [INFO] Finished - TransitBuilder took 18 secs
2023/03/24 12:10:40.482519 [INFO] HierarchyBuilder
2023/03/24 12:10:41.229829 [INFO] Done HierarchyBuilder
2023/03/24 12:10:41.233350 [INFO] Creating shortcuts on level 1
2023/03/24 12:10:41.614391 [INFO] Finished with 942 shortcuts
2023/03/24 12:10:41.614456 [INFO] Creating shortcuts on level 0
2023/03/24 12:10:41.687036 [INFO] Finished with 514 shortcuts

This time it reported built shortcuts and some bullshit 1535991564216692 transit connection edges. I ran the service and verified I can route on multimodal & auto! Pheew, that's a huge relief for me! I'd bet this one fixed it: #4020..

Then we're very close to beta. I'll just add some more testing next week.

@shakedk
Copy link

shakedk commented May 11, 2023

So it seems that feeding a GTFS triggers a very very quick build

@nilsnolde
Copy link
Member

Na, it takes quite a long time currently. There's TODO's for that. We can make it quite a bit faster, lots of the code isn't really optimized yet. Breaking out the transit building of the general tile build pipeline will go a long way, and so will removing the intermediate PBF stage (which remains to undergo a somewhat closer feasability study..).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
Development

No branches or pull requests

3 participants