Readit News logoReadit News
Posted by u/ng-henry 2 years ago
Show HN: I built a transit travel time mapmap.henryn.xyz...
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

baq · 2 years ago
Public 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

cridenour · 2 years ago
Agreed. 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.
benced · 2 years ago
Wouldn'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.
all2 · 2 years ago
What is this Open Transit Planner and where do I find it?
syntaxing · 2 years ago
Is your fork available somewhere cause it sounds awesome!
throwaway22032 · 2 years ago
They are to a point, I think.

I made one of these in the past when looking for places to live in London. The ultimate conclusion was that you could have inexpensive, short travel time, or nice/safe, choose two.

I gave up after realising that the market signals worked - if ignoring Central London it'd pretty much just be "more expensive = nicer"

nashashmi · 2 years ago
They are also popular when establishing an office space, or when recruiting en masse for job opportunities/
dopidopHN · 2 years ago
Yeah I would have noticed that the place I’m renting for a month in Montreal is in dark shades of blue!
bkor · 2 years ago
The following site works for The Netherlands (not just Amsterdam): 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 · 2 years ago
Wow, 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 which was another inspiration when building this project too.

timvdalen · 2 years ago
Hey, 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!)
vipshek · 2 years ago
This 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 · 2 years ago
Hey, 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.

midoridensha · 2 years ago
>2. The "arrival time" concept is a slightly odd.

There's nothing odd about it. Your arrival time entirely depends on the train schedule, and you can only arrive at your destination at certain discrete times because of this.

>I don't think anyone's going to use this to plan a specific route at a specific time;

I use Google Maps to do this exact thing all the time. I need to be at a certain place at a certain time, so I set the place and arrival time and have it plot a route and show me all the available options.

LorenPechtel · 2 years ago
Arrival time makes perfect sense when the objective is getting to work. If I need to be at work at 8am the (hypothetical) bus that gets me there at 7:50 works but the one that gets me there at 8:05 doesn't. Simply looking at travel time doesn't tell me I need to sit an extra 10 minutes.
guessmyname · 2 years ago
I 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 · 2 years ago
I 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 · 2 years ago
HK 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 · 2 years ago
Population 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 · 2 years ago
This is a chicken and egg problem, stop making excuses for Western governments. Nearly all US cities had streetcars and dense walkable downtowns. There are pictures of this. They were destroyed in the 1950s due to pressure from car/oil lobbies, as well as eager house buyers who wanted cheap FHA loans. (Only available to whites)

Europe is not immune either, they would've followed the US's footsteps entirely if it weren't for the 1973 oil shock, which hit them harder than the US.

akamaka · 2 years ago
There’s not much correlation between density and quality of public transit.

If you look at a top 10 list of best transit systems, you’ll see medium density cities like Oslo and Helsinki right beside Tokyo and Hong Kong.

Or within the USA, compare Miami to Seattle. The only difference is that one city decided to build mass transit and the other didn’t.

It’s entirely possible to build an appropriate transit system for any type of city.

charlieyu1 · 2 years ago
Last time I went to Japan, they had announcements of apologies about severe delays. The delay was less than 5 minutes.

Today I'm stuck on a tram for an hour and the tram company did not even tell us what happened or when would we be unstuck.

ghaff · 2 years ago
Asia is also home to cities with some of the most congested sprawl with mediocre (at best) public transportation in the world. Tokyo and Shanghai are great. Somewhere like Jakarta less so.
nashashmi · 2 years ago
I hope you are not comparing American suburbs to Asian urban communities. This is a common misconception among immigrants that they compare commuting opportunities of suburbia to urban cities in Asia.
postmortembees · 2 years ago
Does "double click anywhere" mean "double click anywhere within these N cities"? I couldn't initially tell if they were examples or limits.
ZeWaka · 2 years ago
limits, the gtfs data is only set for those cities / transit providers
ComputerGuru · 2 years ago
It’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 · 2 years ago
Yes 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 · 2 years ago
Cool - 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!
arafalov · 2 years ago
I 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 · 2 years ago
Not 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/formatt...

o10449366 · 2 years ago
This 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 · 2 years ago
Have 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 · 2 years ago
Experienced 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.