10 ms·
Show HN: I built a transit travel time map
This was something I built while trying to look for housing in Toronto that was decently transit-accessible to my office while still cheap.
The backend is written in Rust. It parses public GTFS data from transit agencies and performs a simple heuristics-based BFS on the bus lines to calculate how long to reach all points in a city.
The frontend uses React and Mapbox GL to render each individual road segment based on how long it takes to reach.
This project was a great excuse to learn Rust, deployments, and mapping. The source code is here if you are interested: http://github.com/econaxis/time2reach http://github.com/econaxis/time2reach
- femboy 3y agoTried some EU countries but did not work. What country is supported?
- j_leboulanger 3y agoWorks with Paris at least
- ng-henry 3y agoYep the only cities that are supported are on the list at the top: Toronto, Montreal, Vancouver, New York, and Paris. Adding support for other cities is a pain in the butt to find the corresponding GTFS, upload the vector tiles to postgis, etc.
- hoosieree 3y agoI just zoomed out from Toronto and tried Waterloo/Kitchener and it worked... [edit] but apparently I was just lucky.
- ng-henry 3y agoHahaha you discovered it! Originally I had waterloo because I study there, but I removed the city from the picker as I thought HN wouldn't know what Waterloo was :). It even supports GO buses between Waterloo <-> GTA (unfortunately the max is 3 hours so you can't get everywhere just yet).
- TheBigRoomXXL 3y agoI open it on mobile and got an entirely white page
- ng-henry 3y agoOops! I was only able to test it on my iphone and the devices in the Chrome browser simulator :(. If you're willing, what phone/browser are you using?
- IG_Semmelweiss 3y agoi had the same in FF desktop , blank page with JS enabled (ublock default = disable everything) Then i enabled all Font and Cosmetic Filtering to ON on uBlock, and the website worked. One of the few sites that requires Cosmetics / Fonts enabled to work right.
- ComputerGuru 3y agoIt’s only the five cities listed at the top, right? (I initially thought they were just bookmarks/shortcuts to some good demos then I realized they influenced the traffic sources checkbox at the bottom so they had to determine what the map showed rather than merely index it.)
- ng-henry 3y agoYes that's right. I do plan on adding other cities in the future, but these are the ones I've chosen because I've lived in them or I think they have a cool transit story.
- ComputerGuru 3y agoCool - and I can’t argue with the rationale! Here’s a vote for Chicago: it’s considered to have one of the best public transportation systems in the USA and it’s rather different from the east coast models. Might be fun!
- martopix 3y agoThe idea is very nice, useful for example when looking for a flat that isn't too far away from work. However it doesn't really work. My computer is powerful, and yet it lags so badly I can't really get to use it. I also did not manage to change the starting point.
- o10449366 3y agoThis is a great idea. I can only speak to NYC, but the data sources don't give good recommendations. Optimal routing for time in NYC is tricky though and relying on only mapping services and not a combination of walking, biking, buses, and subways leads to longer travel times than necessary. For example, there are many parts of Brooklyn where no transit lines are directly connected and you have to go into Manhattan first, meaning if you took the train it would take 1+ hours, versus bus (30 minutes) or biking (15 minutes).
- jwestbury 3y agoHave you used CityMapper? I haven't used it in NYC, but I use in in London, and it's solved this problem much better than Google/Apple Maps. Edit: Though, CityMapper doesn't actually provide a travel time map, alas.
- ng-henry 3y agoExperienced this problem too in Toronto, when Google Maps wouldn't give transit + bike directions (which are often much faster than transit + walk). As you know the city more though these things become intuitive and Google Maps becomes less useful. I started using Transit App more often for the mixed-modes routing. It even supports bike shares/scooters, so sometimes it suggests new routes based on scooter -> subway -> scooter which is much faster than bus -> subway -> bus.
- CalRobert 3y agoI really like your map styling! It's slow but nice when working. People interested in this might also enjoy: https://www.mapnificent.net/ https://www.mapnificent.net/ Or if you're in Ireland: gaffologist.com (disclaimer - I made this and it only focuses on rail)
- bkor 3y agoThe following site works for The Netherlands (not just Amsterdam): https://mapitout.iamsterdam.com/ https://mapitout.iamsterdam.com/ It has some minor limitations to select the time (has to one of the predefined options). That can be worked around by changing the URL parameter. It can also map out multiple locations and see the overlap. It's fairly useful to see where you want to live while taking e.g. the office location into account. It gave me more options than I thought I had, partly because I didn't think about small towns with a train station.
- ng-henry 3y agoWow, this website is very pretty. It's similar to what I envisioned when I built this project, but I wanted to make a heatmap (of all possible times) rather than just an isochrone. The little "islands" of fast transit access is also what I wanted to show with my project too! It's cool to discover the little spots near train stations that are cheaper but offer an equivalent commute to the city center. There's also https://www.chronotrains.com https://www.chronotrains.com which was another inspiration when building this project too.
- timvdalen 3y agoHey, that's super interesting. Put in my and my SO's current distances, and the overlap seems pretty accurate (though smaller than I was hoping for!)
- lovegrenoble 3y agoBeautiful UI. Is there any practical use for it?
- ng-henry 3y ago~~getting job interviews~~ haha just kidding...I'm unsure of whether this is useful at all to transit companies, but one goal of this project is to make transit cool and help people understand their cities better. I originally built this to help me find housing in Toronto, so deciding where to live could be another good use of this tool :)
- baq 3y agoPublic service announcement - these kind of maps are known as isochrone maps and they're anything but new, but are (IMHO criminally) unpopular. They're extremely helpful when house hunting. https://en.wikipedia.org/wiki/Isochrone_map https://en.wikipedia.org/wiki/Isochrone_map
- cridenour 3y agoAgreed. It took weeks of researching to find this term when I was looking to optimize travel time search. Once I did, everything became easier! Ended up forking Open Transit Planner, this was back in 2015. Turned 40 minutes real estate searches into 40ms or so.
- all2 3y agoWhat is this Open Transit Planner and where do I find it?
- notpushkin 3y agoI believe they're talking about http://www.opentripplanner.org/ http://www.opentripplanner.org/.
- deleted 3y ago[deleted]
- benced 3y agoWouldn't have helped you back then but LLMs are _spectacular_ at giving you the term that you don't really know what to google for.
- nashashmi 3y agoAgree. I tried this with figuring out the name of a logical fallacy. And it led to a rabbit hole of info.
- syntaxing 3y ago
- guessmyname 3y agoI get sad every time I return back to America from Asia because of how small the public infrastructure is in many parts of America compared to Asia. If anyone has lived or at least visited places like Tokyo, Japan or Shanghai, China, you probably understand what I am referring to.
- samstave 3y agoI have maintained that any US Public Transportation employee with any amount of agency/authority should be required to go to SEA (singapore, HK, Shanghai, Tokyo) and be required to go to meetings which are far from their hotel but they must get there via public transport only... This will make their requests for more money/raises/etc seem absolutely insane when you compare what these countries/cities/agencies do WRT to transporting millions of people efficiently every single day - and not to mention just how clean such systems are. When you go through stations in HK - you see well-uniformed cleaning folks all over the place.
- robjan 3y agoHK has an interesting business model in that the MTR is majority owned by the government and the government grants the land on top of train stations to MTR. MTR then generally builds shopping malls, offices and residential developments e.g LOHAS park, there making it a property company which operates (very profitable) rails between its properties. Hence, the average person not only travels on the MTR but also spends money at MTR Malls and may live and/or work in an MTR property. MTR corporation also provides consultancy services and even runs other railways in other countries e.g the Elizabeth Line on the London Underground.
- giovannibonetti 3y agoPopulation density makes a huge difference. The more people live in a city, the more funds the government has to invest to get a better transportation system. In general, population density in East Asia is far higher than in the US.
- tsudounym 3y ago
- forrestthewoods 3y agoNice! Once upon a time I did something very similar. https://www.forrestthewoods.com/blog/visualizing_commute_times/ https://www.forrestthewoods.com/blog/visualizing_commute_tim... AFAICT the only reliable source of commute and transit times is Google Maps. To be useful it requires real traffic data. Unfortunately Google jacked up the prices way too high to be useful. My dream is a service for building isochrone maps with full support for walking/biking/transit/driving.
- ackfoobar 3y agoI used the walkshed map (also supports bike, car, and transit) to decide which part of the city to live in. https://app.traveltime.com/search/0-lat=43.64399&0-lng=-79.37767 https://app.traveltime.com/search/0-lat=43.64399&0-lng=-79.3...
- midoridensha 3y agoGoogle doesn't generate traffic data for public transit services; they buy it from the agencies that run those services. You can go directly to them for it.
- waterpowder 3y agoGreat work! Would it be complex to add plain walking, or cycling options?
- vipshek 3y agoThis is super cool! I particularly like that you render the route along transit lines to reach each destination, which is differentiated from other isochrone maps I've seen. I would love to use this while hunting for apartments in a large city. I do think there are a number of things you could do to improve the UX here. Hope this doesn't come across as too harsh, but here are some suggestions... 1. Double-click to set origin makes sense, but hover to set a destination is a bit weird, for two reasons: a. There's no way to "lock" a destination by clicking, so I can't pick a route I want to see and fix my view on it. The UI feels jittery as a result. b. In some cases (I'm looking at NYC), loading the route to the hovered destination hangs for several seconds. I don't know if this is just an issue because your server is overloaded, but it's a weird state to be in. I'd consider: 1) adding a loading state when the route to the destination is being computed, 2) enable clicking a point to lock viewing that route, 3) maybe disabling the hover interaction entirely, though if it were performant, it would be pretty nice to have. 2. The "arrival time" concept is a slightly odd. I'd prefer to just see the amount of time it'll take to get to a destination, rather than an arrival time based on a particular starting time. I don't think anyone's going to use this to plan a specific route at a specific time; instead, they'll use it to explore locations of interest, and explore how long it'll take to get to various destinations. I see you show the trip duration in the bottom-left, but having it be an arrow pointing to a gradient spectrum is much harder to parse than just saying "27 minutes". 3. The fade effect on the side panel is a bit weird. It does draw more attention to the map, but the side panel is still occluding my view, and having it faded just makes the text very hard to read. I'd consider making it un-faded, but adding some way to collapse it.
- ng-henry 3y agoHey, thanks for the feedback! Greatly appreciated. 1. Yes I think "locking" makes sense. The entire action of viewing the paths to different destinations still needs to be polished up, especially for the mobile version as well. When I tried it before posting to HN it was instant (30ms) but now it seems to be extra laggy because the CPU is maxed. I just upgraded the server from 4 -> 16 cpus, so let's hope that does something haha. 2. 100% 3. Agree as well. I chose the easiest solution when developing (and I also develop on a large monitor so it's harder to notice the occlusion), but adding a hide toggle would certainly have been better.
- postmortembees 3y agoDoes "double click anywhere" mean "double click anywhere within these N cities"? I couldn't initially tell if they were examples or limits.
- ZeWaka 3y agolimits, the gtfs data is only set for those cities / transit providers
- arafalov 3y agoI want very similar to this but for shopping without a car. Like, if I want to buy something big from Walmart or Costco (to keep to generic shop names) and it does not matter if I am on a train/metro/subway for 10 minutes or 20 minutes, but it totally does matter number of transport switches of bus->subway) and walking is really bad. So, it would make sense to go to a very distant shop, but that is right opposite the direct train. Does anything like this exist (for any city really)? The algorithm must be quite similar, but with different graph steps weighted differently depending on method of movement.
- ng-henry 3y agoNot sure if something like this exists yet, but certainly do-able within my implementation. For example, when choosing the best route, it penalizes every transfer by 120 seconds [1]. Therefore, a route that takes 2 minutes longer is equivalent to one transfer. It'd be cool to have a tool where you can dynamically change these settings, and maybe even have different transfer penalties depending on if you're transferring inside a station vs walking outside. [1]: https://github.com/econaxis/time2reach/blob/main/src/formatter.rs#L171 https://github.com/econaxis/time2reach/blob/main/src/formatt...
- anotheryou 3y agoLovely! An more general alternative (different travel modes and all the cities I think, possibly less accurate, no lovely heat-map style): https://app.traveltime.com https://app.traveltime.com
- ksitu0 3y agoTHIS IS VERY COOL! do you have more cities that you plan on adding in the near future?
- graypegg 3y agoThis is great! I actually needed something like this right now. I’m looking for a new job and a lot of the posts available are in-office, so being able to set some boundaries on commute time is exactly what I need to do. Thanks for including mtl!
- gradys 3y agoThis is awesome! I'd love to be able to bookmark this with a specific starting location set in the URL.
- deleted 3y ago[deleted]
- gradys 3y agoI'd love to be able to get a print of the map with a customized zoom level and origin point.
- jablongo 3y agoLove it, but I’m pretty sure you’re missing ferry routes in the NYC calculations (which are public). It also might be worth including Citibike as an optional additional method.
- dbelford 3y agoIs there a word/map for the transit accessibility for each point (1m^2?) on the map and drawing that? (maybe an integral of the isochrone?) E.g. pick a point on a map, sum the area of the isochrone (30minute area? weighted sum?) to get a value at that point. Then redraw a heatmap of those points.
- coding123 3y agoI seems to be slowing down quite a bit after I double clicked, or maybe HN visitors coming in. Is this implemented with a Graph database?
- ikawe 3y agoVery nice! Do you have any documentation for how to add another city or transit region? I work on some of the rust libraries you've used. If you'd like to ask questions about rust+geo or do a show & tell, consider joining us in the georust discord: https://discord.com/invite/Fp2aape https://discord.com/invite/Fp2aape I'm also always interested to hear new people's experience building real things with our libraries. What were the hangups?
- eddy162 3y agoThis is super super cool! This kind of visualization is so much more useful for finding a transit-friendly spot to live than the generic TransitScores real-estate websites have. Would be nice if the frequency of bus routes could be visualized too, and hope you find a way to add more cities painlessly. Having worked in transit planning, this is really useful for network gap analysis - like finding areas where connectivity could be improved.
- throwaway737248 3y agoThis is awesome - https://www.mapnificent.net/ https://www.mapnificent.net/ is a similar project (also open source). Might be cool to collaborate on data sources?
- deleted 3y ago[deleted]
- dabreegster 3y agoSuper awesome! I like how you just color roads to show time. When you calculate polygons to try and cover the whole area in some 5-10 minute bucket, you can wind up with all sorts of odd holes far away from roads. Keep it simple. https://github.com/a-b-street/abstreet/pull/1075 https://github.com/a-b-street/abstreet/pull/1075
- nashashmi 3y agoGreat job. I feel like I have seen other iterations of this for NYC with much limited data. Input: NYC is missing PATH train transit system. It might also be missing Port Authority Bus Terminal transportation methods.
- Royaljj 3y agoNice job with the map! It was great seeing your presentation at symposium!
- jedberg 3y agoPull up San Fransisco, double-click on the Sunset, get depressed at how little distance you can cover in 45 minutes.
- nestorD 3y agoI believe the author is missing some data sources (bus lines?). There are areas I know are reachable within 30 minutes from downtown Berkeley that do not appear on the map.
- blincoln 3y agoI used to visit San Francisco and the Bay Area a lot for work. I could be wrong, but it feels like capping the travel time at 45 minutes is too low. A lot of people down there seem to have commute times more like 1-3 hours each way. I assume the low cap is also why the map also doesn't include the Caltrain heavy rail line that connects San Francisco to cities as far south as Gilroy.
- ng-henry 3y agoYou can adjust the time where it says "Maximum trip duration".
- dddddaviddddd 3y agoBeautiful. I did something similar recently with the Google Maps Distance Matrix API, but I like that this doesn't require an external API for every calculation.
- iharhajster 3y agoNot working in all countries? Nice work, though.
- deleted 3y ago[deleted]
- ShakataGaNai 3y agoSF Bay Area map is somewhat lacking of about half the BART system (SF to Antioch by BART is less than 90mn, but doesn't show at all. Same for Dublin). Also everything North and East of Berkley is cut off, and most of San Jose is missing. As is everything in the North Bay. SMART, County Connection, Marin Transit, SOLTrans are all listed by no data shows up.
- factorymoo 3y agoReminds of me a site I used when house hunting:https://www.mapnificent.net/ https://www.mapnificent.net/
- nektro 3y agopage is totally blank for me, on firefox if thats relevant
- ng-henry 3y agoAccording to another comment, someone tried disabling Font and Cosmetic Filtering on uBlock and it worked for them?
- gravypod 3y agoThis is amazing. I'd love if it could include: 1. Percent cancellations of lines (past 30d, past 1 year) 2. Average & deviation of delay (past 30d, past 1 year) I think these factors could be used to identify unreliable lines. For example, looking at my commute line, it seems like I could get into the city in 50ish minutes but I know most of the times I get on the train from door to door it has been recently very unreliable with the most recent times being ~1hr min door to door. We also have a lot of problems with cancellations on my way home.
- SJetKaran 3y agoSeems like it is missing PATH (NJ <-> NYC)
- KronisLV 3y agoWhat a cool idea! Sadly, the Mapbox vector maps really struggle on my mid/low range Android phone (Firefox as the browser). I've actually briefly looked into it before, but I've no idea why vector maps in particular are so bad, yet everyone still praises them a lot vs regular tiled raster maps: https://www.youtube.com/watch?v=A-IRtBGO9rM https://www.youtube.com/watch?v=A-IRtBGO9rM Not to detract from the cool thing you've made, don't mind my musings.