Hacker News new | past | comments | ask | show | jobs | submit login
NYC Subway travel time map (nateparrott.com)
183 points by anigbrowl on Dec 8, 2017 | hide | past | favorite | 88 comments



Semi-relevant but one thing I've been really wanting is a map directions app that optimizes for wasted time instead of time.

- Taking train for 60 minutes (with a seat): 0 minutes wasted

- Taking train for 20 minutes (without a seat): 20 minutes wasted

- Taking bus for 60 minutes (with a seat): 30 minutes wasted (efficiency of work cut by 50% due to bumpiness, people walking by and smacking my elbow, etc.)

- Taking an Uber for 20 minutes (driver is not chatty): 0 minutes wasted

- Taking an Uber for 30 minutes (driver is chatty): 30 minutes wasted

- Driving for 50 minutes: 60 minutes wasted (+10 minutes for parking)

- Riding bicycle, running, or walking for 40 minutes in a day: 10 minutes wasted (30/40 counts toward required-anyway daily exercise)

The application should factor in the probability of getting a seat on a train or bus, the probability of an Uber driver being chatty based on crowdsourced data, and simply optimize for the lowest mean wasted time for the entire route.


I once took an Uber ride across LA (45+ minutes) circa 2015 wherein the driver, a guy from Syria, gave me a long explanation of the various factions and situations in play in the civil war. It was fascinating and was vastly more interesting than whatever time-waster I had on my phone.

Optimizing everything isn’t the answer to a rich life.


At least for me, "wasted" is a matter of perspective. Personal interactions and experiencing the surrounding world can be valuable — time is what you make of it.


Standing-room-only public transit vehicles are far and away the worst interactions and experiences I encounter on a day-to-day basis.

They were valuable in that they motivated to bike most of the way, and eventually to get promoted to a point where I could move into the city and stop relying on transit. But aversion is probably not what you had in mind.


Me too. I actually enjoy "wasting" time on public transportation some times because I like listening to music and it gives you a lot of time to think uninterrupted. Plus you could always just tell your uber driver that you want to talk but really need to get some work done, they'll understand.


> driver is not chatty: 0 minutes wasted

> driver is chatty: 30 minutes wasted

Not the most social person, eh?


Remember: unless they meet an objective, other people are just _in the way_ of your productivity metrics. (/s)


Not sure I agree 100% with the productive/unproductive value system you're establishing, but I do think it's an interesting idea — how can we weight the various aspects of a trip we value (time spent, comfort, cost, environmental and community impact, etc)? Might be interesting to build a system that lets you specify how much you value each of those, and re-rank transit options accordingly?


That's deeply subjective, to suggest that time is or isn't wasted. We're not machines. That lifehack stuff gives me the creeps (maybe because I have a partly non-US background).

However, I'd love to have train delays be considered. For any of you here, you've seen how serious the deterioration of the system has impacted travel time predictability.


I like this framework, but two thoughts:

1. In some situations, conversation can be interesting and illuminating if you're open to it. I've had some interesting interactions with Uber drivers in particular.

2. In any case above except the chatty Uber driver (where it'd be awkward), podcasts and audiobooks are a great way to make use of the time.


um why is taking the train without a seat wasted time? you can't read standing up?


Can't use the laptop, I guess.


i don't know if this person lives in NYC or commutes by train somewhere else but on a morning train you can't pull your laptop out even if you do have a seat.


How about on commuter rail? In DC, you can use a laptop on the commuter lines from Maryland and Virginia. You certainly cannot use a laptop on Metro, however.


Hardly wasted. When you're travelling you should be relaxing and have some 'me' time, not working.

You don't sound very social.


Usually a need for 'me' time correlates with introversion. Poster sounds like a shy extrovert - someone who enjoys being social but does not particularly like new people.


I didn't see anything in their post that implies they enjoy being social.


I am quite introverted. Chatty Uber drivers just exhaust me. On public transit or non-chatty Ubers, I get that "me" time.


Great idea. I often take a longer route because it's optimized for concentration and comfort.


For East Bay folks, the Alameda/Jack London Square ferry is a perfect example of this tradeoff. 30 minutes for a trip with endpoints similar to West Oakland -> Embarcadero (7 minutes), but in style and comfort rather than an underground sardine can. Even has parking on the Oakland side.


You need to figure out a way to be productive while standing!


This is really cool.

I toyed with the idea of visualising travel time using colour heat maps.

London tube map https://tubermap.com/

(in the options you can turn on 'times').

I'd love to see the transit authorities themselves put together something that encompasses all the possible forms of transport. Metro/bus/cycle etc.


I like this a lot.

If you don't mind my asking, how did you make it?


The advantage your heat map has is that the map isn't distorted into a (potentially) unrecognizable shape.


This is beautiful. It does one thing and does it perfectly well.


Thanks! Site looks pretty cool — much more readable than mine :)


I'd like to see (light grey) concentric circles for 10min, 20min, 30min 40min, 50min, that way can more accurately determine the distance.


Shouldn't be too hard I think.

Right now r = 30 min, so just use the circle without the label and scale it down, then add it at the same lines the hour circle is touched: https://github.com/nate-parrott/subway/search?utf8=%E2%9C%93...


The NYT made one for commuter rail a few years ago. It is one of my favorite graphics.

http://www.nytimes.com/imagepages/2007/03/17/nyregion/nyregi...


Any idea why some trains that are further out have a shorter travel time to the city than the next closest physical station?


Express trains. Certain lines skip many intervening stops to decrease travel time between major hubs.


Ah makes sense and I see that in the legend now.


Did you read the legend? It literally explains that exact case.


This is awesome and is pretty accurate wrt to average-to-best case scenarios on trips with and without transfers that I'm familiar with.

Kudos to the author.


Thanks! Turns out the MTA does keep a pretty detailed schedule (not that they manage to stick to it much, these days) in the GTFS format, so it's not hard to compute travel times client-side. As a plus, GTFS seems pretty-widely used, meaning it shouldn't be so hard to port this to other transit systems!


Would this method work for GTFS Bus routes?

I'm also keen to port it to Sydney's train network as we have GTFS and GTFS realtime!

GTFS realtime is a lot of fun, I built a simple JSON real time API for Sydney buses which could be easily ported to other GTFS realtime feeds: https://github.com/jakecoppinger/sydney-bus-departures


It should! As far as I know, GTFS is pretty transport-mode-agnostic. (I imagine the bus stops are a bit more dense, though — it helps that the NYC map has a recognizable set of line colors that remain familiar when you jumble it all up)


Thanks!


huh. I didn't realize there was a standard format. I wonder if there's one for Melbourne. It took forever just to get Melb's transit data into Gmaps et. al.


IIRC, this was the main reason it took so long. Google require GTFS formatted timetables for Maps, the Vic Government released the timetables eventually but there were issues, much finger printing was done, and eventually it was rectified.

So yes, there will be GTFS formatted timetables for Melbourne, no real-time though.


Am I the only one who read it as "time travel", and thought it'd be some map of how it used to be?


Yeah, I was ready for a subway history lesson.


I was expecting a map of the subway for time travelers


This reminds of a Washington Post article I saw [0], that made me start thinking about travel inequality (?), where someone in Podgorica is more or less cut off from the rest of Europe, while someone in Paris may have an entirely different experience.

And that's not considering differences in income... even if they have the money to travel, it's simply more difficult.

[0] https://www.washingtonpost.com/news/worldviews/wp/2015/06/05...


It's completely true, but the article only considers trains. Some countries ignored their train infrastructure, somewhere it's hard or expensive to build it and Montenegro is both poor and mountainous, making it hard and expensive to do.

On the other hand, Montenegrins are well covered by cheap flights and most of the population is within driving distance to an international airport.


This is awesome. Sort of similar idea, different approach, definitely doesn't look as cool, but my team and I published this today:

http://blog.gradientmetrics.com/2017/12/07/new-york-city-in-...


A map distorted by a non-spatial metric is often referred to as a "cartogram." The wikipedia page has a nice list of algorithms for computing different types, which might give you some inspiration.

https://en.wikipedia.org/wiki/Cartogram


Umm... wow! I did not know this, which shows my level of knowledge in this field (0). But this is amazing! Thank you!


I really like the idea of building a subway map projection based on travel time, without making you select a starting station. Might play around with force-directed graphs in d3 — meanwhile, looking forward to what you folks come up with!


I wrote a blog post about visualizing commute times. There's a section for New York in the middle. https://blog.forrestthewoods.com/visualizing-commute-times-3...

There's a tool you can play around with a little bit. Fair warning, it gets throttled pretty quickly. But source code is available for anyone who wants to experiment on their own.


I love this graphic from the NY Times with travel times for commuter rail in the greater NYC area:

http://www.nytimes.com/imagepages/2007/03/17/nyregion/nyregi...


What makes this even more complicated is walking. 49 Street and 50 Street is only 4 minutes on foot while 10 minutes on the subway.


Also, a concern in London, if you look at only the tube map you might think the shortest distance is to take 2 trains since the map isn't to scale, however, it might only be a few minute walk. To try to help they've published a map.

http://content.tfl.gov.uk/walking-tube-map.pdf

Not sure if there is something similar for NYC.


Yeah but even that is just same lines and so bits like walking from Chancery Lane to Farringdon taking eight minutes on foot and "nope" on the tube ;) is missing.

Or St Paul's to Mansion House, that's just six minutes, even Blackfriars is only nine.


Taking subway or tube is usually sloooooow. So many stops. Also, especially with the tube there are sometimes ridiculous distances to walk just to get down to the station.


Yes and neither moovit nor Google Maps takes that into account.


I like the idea as its an interesting map visualization of the subway across a time domain rather than distance.

I'm wondering why there's such a large difference in certain areas between weekday rush hour and late night though (for instance, clicking on 68th St Hunter College and changing between weekday rush hour and weekday late night is making 59th street go from 2 mins away to 12 mins away).

A few notes about mobile (specifically iPhone usage): Its difficult to use on iPhone because the first tap doesn't seem to do anything to the map - if you tap again at exactly the right place (on the dot), then it will work on iPhone. I think I know what the issue with this is: the onclick event is being replaced with the hover state when you tap once, then the real onclick is called when you tap on the dot again.


> I'm wondering why there's such a large difference in certain areas between weekday rush hour and late night though (for instance, clicking on 68th St Hunter College and changing between weekday rush hour and weekday late night is making 59th street go from 2 mins away to 12 mins away).

Fewer 6 trains, I'm guessing - they come roughly every 3 minutes during rush hour (and the trains are still crowded) but that wait time goes way up late at night (that delay goes all the way uptown on local stops past 59th st).

What I'm not certain about is why the delay isn't nearly as different between local stops below 59th st.


I'm calculating travel times by simulating a rider starting from the selected stop at a specific time (for example, "weekday late night" is 3 AM, and "rush hour" is 8 AM) and "waiting" for he next scheduled train. That's why, when you select most stops during late night, the nearest stops are pretty far (~ 10 minutes) away — because that's a typical time you'd wait for a train at that time of night. It's definitely not a perfect prediction.

And yep — I really need to put some work into the mobile experience. I'm surprised it works at all!


Going from some stations to stations on other lines, it takes more time to get to the transfer station than to several stops farther on the second line. That seems off.

Choose Rockefeller Center then look at the purple line just below it for example.


To address that issue, a better calculation might be to compute possible wait times based on distribution of likely arrival times at the station and return some weighted average.


The issue with using average waiting times (as opposed to picking a particular time and computing actual waiting times) is stations with multiple trains — the N, R and Q might each stop at Union Square once every 10 minutes, but if you're happy boarding any of those, then your average wait time isn't 5 minutes — it's much less.

What I might try is sampling a couple random start times (e.g. 8:00 AM, 8:03 AM, 8:22 AM) and averaging the predictions of all those.


> What I might try is sampling a couple random start times

My gut says this would be a better value, but I don’t have the evidence to prove it


My guess is they add the average wait time to the travel time. That would match my expectations for a 6 train. They're about 3 mins apart during weekdays. Not sure what that particular train is like at 3am, but I've seen other trains with 20+ minute wait times.


Tangent, anyone know where there's an altitude/elevation map of the NYC subway tunnels? Everything I've ever been able to find assumes they're completely 2D.


Hmm, I didn't have any luck finding any myself, nor did these redditors: https://www.reddit.com/r/gis/comments/3q1jyk/help_me_find_a_..., but you might find this to be some interesting trivia: https://untappedcities.com/2013/06/26/deepest-highest-subway....


This was so confusing on mobile. I don't think it worked on my iPhone. Totally different experience on desktop.


Came here looking for this

I’m not sure what I’m supposed to be seeing

That super marketable “mobile-last” development


I tried making something like that for Paris but it's far from looking as nice: https://arnaudl.github.io/metro/


NUMTOT check-in


o7


Very cool, love seeing the data represented this way. Curious about how it accounts for transfer times. I suspect with transfers the distances are actually a bit longer.


From the page:

”... when you click a stop, a simulation is run to calculate the travel time from that stop to every other stop. Using train departure times from the MTA, and the MTA's predicted transfer times within stations, the code counts how many minutes it takes for a simulated passenger departing the selected stop at 8:00 on a weekday would arrive at each stop on the map...”


This is really cool.

It would be interesting if there were a way to crowd source the average time from actual riders and compare them with the the MTA's feed.


I was excited to check this out, but there seems to be a zoom limit, which makes this too difficult to try to use on a (small) phone.


Just pushed some changes to make it a (little) easier to use on a small phone. Still far from perfect, but a little better!


Thanks! The larger fonts help. I still can't zoom in far enough to tap a specific station, unfortunately. Even my tiny fingers cover a half dozen stations in Manhattan or at least 2-3 in Brooklyn/Queens - so I get a random selection from nearby stations.

I must be missing something, though, because all it will do is show a station label when I tap a station. I've tapped several stations but don't see anything else to interact with. How are you supposed to get it to show travel times? (Using Safari on iOS 10, if that makes a difference.)


You need to tap a couple times — the first tap triggers the hover state (definitely not ideal for mobile). Unfortunately, it's a bit hard to hit the same stop consistently multiple times...


This is really cool, but it seems very overly optimistic when it comes to routes with connections based on a few pairs I tried.



I misread the title and thought it said NYC Subway Time Travel Map. Boy was I disappointed.


Any body knows if that google_transit.zip is somewhere available for other towns?


Yeah, you can find GTFS feeds for a lot of cities at http://transitfeeds.com/


This is so cool!

I would love more time radii (30 minutes, 15 minutes)!


hmm, okay, WNYC project's version has much better data representation

https://project.wnyc.org/transit-time/


There's no need to be snarky, even when someone else has a better data representation.


I've been searching for a room in a foreign city since I'm going there for exchange studies. What I've missed is a map that would highlight an area on the map that is within a specified travel time using public transit. Some approximation could be done by picking points on concentric circles and checking travel times for those places, I imagine. Given that Google Maps provides an API for public transit directions, I haven't checked.


It's been posted by somebody else on the thread already, but do you know http://mapnificient.net?




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: