UrbanAnalyst / gtfsrouter

Routing and analysis engine for GTFS (General Transit Feed Specification) data
https://urbananalyst.github.io/gtfsrouter/
82 stars 17 forks source link

Allow for spatial coordinates as input for origins and destinations #27

Closed rafapereirabr closed 4 years ago

mpadge commented 4 years ago

That commit enables this:

library(gtfsrouter)
gtfs <- extract_gtfs ("vbb.zip")
gtfs <- gtfs_timetable (gtfs)
#> Day not specified; extracting timetable for Wednesday

# make random (lon, lat) coords from stop table:
xy <- gtfs$stops [sample (nrow (gtfs$stops), 1), ]
from <- c (xy$stop_lon, xy$stop_lat) + runif (2) * 0.01
xy <- gtfs$stops [sample (nrow (gtfs$stops), 1), ]
to <- c (xy$stop_lon, xy$stop_lat) + runif (2) * 0.01
from; to
#> [1] 13.10885 52.36717
#> [1] 13.39424 52.66415

r <- gtfs_route (gtfs, from, to)
#> Loading required namespace: geodist
head (r)
#>   route_name     trip_name                     stop_name arrival_time
#> 1        699 Rehbrücke Bhf         Potsdam, Zum Heizwerk     16:22:00
#> 2        699 Rehbrücke Bhf      Potsdam, An der Brauerei     16:25:00
#> 3        699 Rehbrücke Bhf Bergholz-Rehbrücke, Verdistr.     16:26:00
#> 4        699 Rehbrücke Bhf    Potsdam, Rehbrücke Bhf/Süd     16:27:00
#> 5        699 Rehbrücke Bhf        Potsdam, Rehbrücke Bhf     16:28:00
#> 6       RB33 S Wannsee Bhf        Potsdam, Rehbrücke Bhf     16:38:06
#>   departure_time
#> 1       16:22:00
#> 2       16:25:00
#> 3       16:26:00
#> 4       16:27:00
#> 5       16:28:00
#> 6       16:38:54

Created on 2020-06-17 by the reprex package (v0.3.0)

Also works in the gtfs_isochrone() fn.