Esri / public-transit-tools

Tools for working with GTFS public transit data in ArcGIS
Apache License 2.0
171 stars 51 forks source link

Interpolate Blank Stop Times: Make interpolation method that uses network travel time for estimates #27

Closed mmorang closed 3 years ago

mmorang commented 8 years ago

It might be nice to estimate arrival_time and departure_time values for stops using something more complex and "accurate" than simple interpolation. I would like to implement something that uses the road network to estimate travel time between stops.

Are people interested in this enhancement? Or is the simple interpolation method good enough for your purposes?

calhoops commented 8 years ago

Hi,

I've found that simple interpolation seems to work at a basic level. I've only used it in a metro environment though. I think the simple interpolation may start to break down over longer distances or when there are complex bus or tram routes through cites. This would be a useful expansion of the interpolation tool.

mmorang commented 8 years ago

Thanks for your comment. Yes, whenever long distances or very different travel speeds in the gaps are involved, the simple interpolation will break down. I haven't really studied it in detail, but I would imagine that most transit agencies using time points have about 5 stops in between time points and that the time points are typically no more than 5 minutes apart. So on that scale, the difference between simple interpolation and any more complex method is going to be seconds...so not a big deal since it's an estimate anyway.

In terms of more complex methods, my first thought was to use the shape_dist_traveled field in stop_times.txt, if it's present. Rather than evenly distributing the stop times as the current method does, I could distribute them in the same way that the shape_dist_traveled is distributed between the time points. This would work well if the bus or train is traveling at a relatively constant speed along the same types of roads between the time points, and if the shape_dist_traveled field is relatively accurate (not always the case).

Finally, for a more nuanced approach, I would try to calculate the actual drive time between stops using the road network and estimate the times that way. This would take a lot longer to calculate, particularly if you tried to account for different traffic conditions throughout the day. The biggest danger here, to my mind, is that the time points aren't a reasonable time apart in the first place, according to the network calculations.

paulds8 commented 7 years ago

As an aside... are we still a very long way from having driving directions enabled for GTFS-enabled networks?

mmorang commented 7 years ago

Hello @paulds8. Yes, the current implementation of Add GTFS to a Network Dataset does not allow for directions, and Esri does not currently have any plans to support transit directions in its core products. However, I'd be interested in learning more about your needs in this area. If you'd like to chat more, please e-mail me (my e-mail is on my profile page).

mmorang commented 3 years ago

This issue will not be addressed. No one has asked for this functionality, and users seems satisfied with the simple interpolation option. Furthermore, I will not be making further changes to the Interpolate Blank Stop Times tool because the interpolation functionality is rolled into the GTFS To Network Dataset Transit Sources tool in core ArcGIS Pro, and the only remaining non-deprecated tool that uses Interpolate Blank Stop Times is BetterBusBuffers, which will be deprecated with the release of ArcGIS Pro 2.9.