I made a public transport route planning program that's capable of planning journeys across Europe or North America! There's only one other FOSS project I know of (MOTIS/Transitous) that can do transit routing at this scale, and in the testing I've performed mine is about 50x faster. I've spent a few weeks on this project now and it's getting to the point where I can show it off, but the API responses need a lot of work before they're usable for any downstream application.<p>Example query (Berlin to Barcelona): <a href="https://farebox.airmail.rs/plan/52.5176122,13.4180261/41.380458,2.1455451" rel="nofollow">https://farebox.airmail.rs/plan/52.5176122,13.4180261/41.380...</a><p>There are some bugs still. Notably, it's not capable of planning the return trip for this route, nor the reverse of the trip from Seattle to NYC that I gave in the blog post.<p>Blog post: <a href="https://blog.ellenhp.me/performant-intracontinental-transit-routing-in-rust" rel="nofollow">https://blog.ellenhp.me/performant-intracontinental-transit-...</a><p>Repo: <a href="https://github.com/ellenhp/farebox">https://github.com/ellenhp/farebox</a><p>Side-note but in the past some have criticized my writing style and it's been a bit hurtful at times but if you have <i>constructive</i> feedback on the blog post I'd appreciate it. I'm trying to get better at writing. :)
My day job is OpenTripPlanner work, so I absolutely love to see this. I've long thought about what a RAPTOR engine would look like written in Rust. So cool that you've done it. You should share this in the OTP Gitter chat if you haven't already, the people there would love to see it. I wonder if this would be small enough to run on a phone? I have thought about offline trip planning on a phone, but running OTP is out of the question as a graph can be gigabytes and take minutes to load.
Hello,<p>Great work :) Nice to see alternatives poping up. There used to be navitia <a href="https://github.com/hove-io/navitia/">https://github.com/hove-io/navitia/</a> but its company is slowing closing thing, so I would not bet on it for the future.<p>I’m a co-maintainer of gtfs-structures, if you have any feedback using that crate I’ll be glad to hear from you (specially since you consume <i>a lot</i> of different gtfs, you must have tripped on some issues).<p>Just out of curiosity, did you consider other algorithms, like CSA? It’s been a while I’m out of the algorithmical stuff, so I’m just wondering pros and cons of different algorithms.
So, how do I add a new public transport route (so it can be indexed in Farebox)?<p>I tried entering some coordinates as input, but it returned an empty array instead. I’m wondering if this means there’s currently no public transport route added around that location.
Love this. I really enjoy seeing people build tooling and infrastructure around public transit.<p>[edit] As someone who reads and writes (and reviews) a ton of writing and technical documentation -- and is very picky about it -- there is nothing at all wrong with this writing style. Literally my only nit is consider incorporating URL shortening, I always bristle at %20 in URIs. Especially ones that wrap.
This is very cool.<p>But, bus from New York to St Louis and then backtrack on Amtrak. Ouch. I know the train options from NYP to CHI are slow, but I didn’t think they’re that slow (they’re not)! Nevermind having to take a greyhound for 1000 miles.
Regarding getting better at writing, there was a post recently on improving technical writing, ostensibly about shell scripts to detect passive voice, but it also had a list of recommendations: Style: The Basics of Clarity and Grace as an alternative to Strunk and White, the Chicago Manual of Style, and A Manual for Writers of Research Papers, Theses, and Dissertations specifically for technical writing.<p><a href="https://news.ycombinator.com/item?id=42407250">https://news.ycombinator.com/item?id=42407250</a>
Wow this is super cool! Will you use something to draw this on a map? If so what? Is it the same data format available in Europe and North America? What is something you suspected was going to be trivial and turned out to be extremely difficult?
The fact that the software being written in Rust is supposed to be valuable information to be put in the title is interesting.<p>Nobody would say “Performant intracontinental public transport routing in C++”, or any other combination. It’s just something around the Rust language.