From fd5988c0a66f11fc0240649f50b44d7996e21a78 Mon Sep 17 00:00:00 2001 From: polettif Date: Thu, 15 Feb 2024 12:52:30 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20r-transi?= =?UTF-8?q?t/tidytransit@0adfa5a3db1d3e09277cad1e9b37a80337da578b=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- articles/frequency.html | 2 +- articles/introduction.html | 59 +++++----- authors.html | 4 +- pkgdown.yml | 2 +- reference/cluster_stops-1.png | Bin 45648 -> 45661 bytes reference/cluster_stops.html | 12 +- reference/index.html | 202 +++++++++++++++++++--------------- reference/stops_as_sf-1.png | Bin 130298 -> 131754 bytes reference/stops_as_sf.html | 2 +- 9 files changed, 156 insertions(+), 127 deletions(-) diff --git a/articles/frequency.html b/articles/frequency.html index 2f283a38..974e9aa5 100644 --- a/articles/frequency.html +++ b/articles/frequency.html @@ -89,7 +89,7 @@

Transit (GTFS) Service & Headway Mapping

Tom Buckley

-

2023-12-07

+

2024-02-15

Source: vignettes/frequency.Rmd diff --git a/articles/introduction.html b/articles/introduction.html index cd6ebcb8..eff86374 100644 --- a/articles/introduction.html +++ b/articles/introduction.html @@ -91,7 +91,7 @@

Introduction to tidytransit

Tom Buckley

-

2023-12-07

+

2024-02-15

Source: vignettes/introduction.Rmd @@ -260,32 +260,33 @@

Using MobilityDatafilter(data_type == "gtfs") str(MobilityData_feedlist) -
## tibble [1,481 × 25] (S3: tbl_df/tbl/data.frame)
-##  $ mdb_source_id                          : int [1:1481] 1 2 3 4 5 6 7 8 9 10 ...
-##  $ data_type                              : chr [1:1481] "gtfs" "gtfs" "gtfs" "gtfs" ...
-##  $ entity_type                            : chr [1:1481] "" "" "" "" ...
-##  $ location.country_code                  : chr [1:1481] "US" "CA" "CA" "US" ...
-##  $ location.subdivision_name              : chr [1:1481] "Maine" "Ontario" "Ontario" "Ohio" ...
-##  $ location.municipality                  : chr [1:1481] "Casco Bay" "London" "Barrie" "Athens" ...
-##  $ provider                               : chr [1:1481] "Casco Bay Lines" "London Transit Commission" "Barrie Transit" "Athens Public Transit" ...
-##  $ name                                   : chr [1:1481] "" "" "" "" ...
-##  $ note                                   : chr [1:1481] "" "" "" "" ...
-##  $ static_reference                       : int [1:1481] NA NA NA NA NA NA NA NA NA NA ...
-##  $ urls.direct_download                   : chr [1:1481] "http://smttracker.com/downloads/gtfs/cascobaylines-portland-me-usa.zip" "http://www.londontransit.ca/gtfsfeed/google_transit.zip" "http://www.myridebarrie.ca/gtfs/Google_transit.zip" "https://transitfeeds.com/p/athens-public-transit/298/latest/download" ...
-##  $ urls.authentication_type               : int [1:1481] NA NA NA NA NA NA NA NA NA NA ...
-##  $ urls.authentication_info               : chr [1:1481] "" "" "" "" ...
-##  $ urls.api_key_parameter_name            : chr [1:1481] "" "" "" "" ...
-##  $ urls.latest                            : chr [1:1481] "https://storage.googleapis.com/storage/v1/b/mdb-latest/o/us-maine-casco-bay-lines-gtfs-1.zip?alt=media" "https://storage.googleapis.com/storage/v1/b/mdb-latest/o/ca-ontario-london-transit-commission-gtfs-2.zip?alt=media" "https://storage.googleapis.com/storage/v1/b/mdb-latest/o/ca-ontario-barrie-transit-gtfs-3.zip?alt=media" "https://storage.googleapis.com/storage/v1/b/mdb-latest/o/us-ohio-athens-public-transit-gtfs-4.zip?alt=media" ...
-##  $ urls.license                           : chr [1:1481] "" "https://www.londontransit.ca/open-data/ltcs-open-data-terms-of-use/" "" "" ...
-##  $ location.bounding_box.minimum_latitude : num [1:1481] 43.7 42.9 44.3 39.3 44.1 ...
-##  $ location.bounding_box.maximum_latitude : num [1:1481] 43.7 43.1 44.4 39.4 45 ...
-##  $ location.bounding_box.minimum_longitude: num [1:1481] -70.2 -81.4 -79.7 -82.1 -75.8 ...
-##  $ location.bounding_box.maximum_longitude: num [1:1481] -70.1 -81.1 -79.6 -82 -74.6 ...
-##  $ location.bounding_box.extracted_on     : chr [1:1481] "2022-02-22T19:51:22+00:00" "2022-02-22T19:51:34+00:00" "2022-03-01T22:43:25+00:00" "2022-03-23T14:43:11+00:00" ...
-##  $ status                                 : chr [1:1481] "" "" "" "inactive" ...
-##  $ features                               : chr [1:1481] "" "" "" "" ...
-##  $ redirect.id                            : logi [1:1481] NA NA NA NA NA NA ...
-##  $ redirect.comment                       : logi [1:1481] NA NA NA NA NA NA ...
+
## tibble [1,490 × 26] (S3: tbl_df/tbl/data.frame)
+##  $ mdb_source_id                          : int [1:1490] 1 2 3 4 5 6 7 8 9 10 ...
+##  $ data_type                              : chr [1:1490] "gtfs" "gtfs" "gtfs" "gtfs" ...
+##  $ entity_type                            : chr [1:1490] "" "" "" "" ...
+##  $ location.country_code                  : chr [1:1490] "US" "CA" "CA" "US" ...
+##  $ location.subdivision_name              : chr [1:1490] "Maine" "Ontario" "Ontario" "Ohio" ...
+##  $ location.municipality                  : chr [1:1490] "Casco Bay" "London" "Barrie" "Athens" ...
+##  $ provider                               : chr [1:1490] "Casco Bay Lines" "London Transit Commission" "Barrie Transit" "Athens Public Transit" ...
+##  $ name                                   : chr [1:1490] "" "" "" "" ...
+##  $ note                                   : chr [1:1490] "" "" "" "" ...
+##  $ feed_contact_email                     : chr [1:1490] "" "croy@londontransit.ca" "" "" ...
+##  $ static_reference                       : int [1:1490] NA NA NA NA NA NA NA NA NA NA ...
+##  $ urls.direct_download                   : chr [1:1490] "http://smttracker.com/downloads/gtfs/cascobaylines-portland-me-usa.zip" "http://www.londontransit.ca/gtfsfeed/google_transit.zip" "http://www.myridebarrie.ca/gtfs/Google_transit.zip" "https://transitfeeds.com/p/athens-public-transit/298/latest/download" ...
+##  $ urls.authentication_type               : int [1:1490] NA NA NA NA NA NA NA NA NA NA ...
+##  $ urls.authentication_info               : chr [1:1490] "" "" "" "" ...
+##  $ urls.api_key_parameter_name            : chr [1:1490] "" "" "" "" ...
+##  $ urls.latest                            : chr [1:1490] "https://storage.googleapis.com/storage/v1/b/mdb-latest/o/us-maine-casco-bay-lines-gtfs-1.zip?alt=media" "https://storage.googleapis.com/storage/v1/b/mdb-latest/o/ca-ontario-london-transit-commission-gtfs-2.zip?alt=media" "https://storage.googleapis.com/storage/v1/b/mdb-latest/o/ca-ontario-barrie-transit-gtfs-3.zip?alt=media" "https://storage.googleapis.com/storage/v1/b/mdb-latest/o/us-ohio-athens-public-transit-gtfs-4.zip?alt=media" ...
+##  $ urls.license                           : chr [1:1490] "" "https://www.londontransit.ca/open-data/ltcs-open-data-terms-of-use/" "https://www.barrie.ca/services-payments/transportation-parking/barrie-transit/barrie-gtfs" "" ...
+##  $ location.bounding_box.minimum_latitude : num [1:1490] 43.7 42.9 44.3 39.3 44.1 ...
+##  $ location.bounding_box.maximum_latitude : num [1:1490] 43.7 43.1 44.4 39.4 45 ...
+##  $ location.bounding_box.minimum_longitude: num [1:1490] -70.2 -81.4 -79.7 -82.1 -75.8 ...
+##  $ location.bounding_box.maximum_longitude: num [1:1490] -70.1 -81.1 -79.6 -82 -74.6 ...
+##  $ location.bounding_box.extracted_on     : chr [1:1490] "2022-02-22T19:51:22+00:00" "2022-02-22T19:51:34+00:00" "2022-03-01T22:43:25+00:00" "2022-03-23T14:43:11+00:00" ...
+##  $ status                                 : chr [1:1490] "inactive" "" "" "deprecated" ...
+##  $ features                               : chr [1:1490] "" "" "" "" ...
+##  $ redirect.id                            : int [1:1490] NA NA NA 1973 NA NA NA NA NA NA ...
+##  $ redirect.comment                       : logi [1:1490] NA NA NA NA NA NA ...

There is a URL (column urls.direct_download) for each feed, which can be used to read the feed for a given area directly into R. For example:

@@ -332,8 +333,8 @@

Using MobilityDataaddProviderTiles(provider = providers$CartoDB.Positron) %>% addPolygons(data = MobilityData_sf, weight = 2, fillOpacity = 0.1, label = substr(MobilityData_sf$provider, 0, 60)) -
- +
+ diff --git a/authors.html b/authors.html index 12f6d7a7..a68789ce 100644 --- a/authors.html +++ b/authors.html @@ -149,14 +149,14 @@

Citation

-

Poletti F, Herszenhut D, Padgham M, Buckley T, Noriega-Goodwin D (2023). +

Poletti F, Herszenhut D, Padgham M, Buckley T, Noriega-Goodwin D (2024). tidytransit: Read, Validate, Analyze, and Map GTFS Feeds. R package version 1.6.1, https://github.com/r-transit/tidytransit.

@Manual{,
   title = {tidytransit: Read, Validate, Analyze, and Map GTFS Feeds},
   author = {Flavio Poletti and Daniel Herszenhut and Mark Padgham and Tom Buckley and Danton Noriega-Goodwin},
-  year = {2023},
+  year = {2024},
   note = {R package version 1.6.1},
   url = {https://github.com/r-transit/tidytransit},
 }
diff --git a/pkgdown.yml b/pkgdown.yml index 3d997fe0..e5757b5e 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -6,5 +6,5 @@ articles: introduction: introduction.html servicepatterns: servicepatterns.html timetable: timetable.html -last_built: 2023-12-07T14:16Z +last_built: 2024-02-15T12:51Z diff --git a/reference/cluster_stops-1.png b/reference/cluster_stops-1.png index 945414b1b5e529c6aeb8655a528ce9ca88c792e8..dae7ee0bcea9573ba9e9e30bb286a08e781ef6ba 100644 GIT binary patch literal 45661 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 Iy6-Rl3zk52L;wH) diff --git a/reference/cluster_stops.html b/reference/cluster_stops.html index 152434d1..76dad803 100644 --- a/reference/cluster_stops.html +++ b/reference/cluster_stops.html @@ -147,12 +147,12 @@

Examples

#> # A tibble: 6 × 4 #> stop_id stop_name parent_station stop_name_cluster #> <chr> <chr> <chr> <chr> -#> 1 121 86 St "" 86 St [2] -#> 2 121N 86 St "121" 86 St [2] -#> 3 121S 86 St "121" 86 St [2] -#> 4 626 86 St "" 86 St [1] -#> 5 626N 86 St "626" 86 St [1] -#> 6 626S 86 St "626" 86 St [1] +#> 1 121 86 St "" 86 St [1] +#> 2 121N 86 St "121" 86 St [1] +#> 3 121S 86 St "121" 86 St [1] +#> 4 626 86 St "" 86 St [2] +#> 5 626N 86 St "626" 86 St [2] +#> 6 626S 86 St "626" 86 St [2] #> # A tibble: 6 × 4 #> stop_id stop_name parent_station stop_name_cluster #> <chr> <chr> <chr> <chr> diff --git a/reference/index.html b/reference/index.html index 4bc1ad34..4de80057 100644 --- a/reference/index.html +++ b/reference/index.html @@ -63,42 +63,45 @@

Reference

- + - - + + - + - + - - + + - + - - @@ -107,137 +110,162 @@

All functions filter_feed_by_trips()

- - + + + - + - + - + + + + - + - + - + + + + - - - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - +
-

All functions

+

Read and write GTFS feeds

-

as_tidygtfs()

+

read_gtfs()

Convert another gtfs like object to a tidygtfs object

Read and validate GTFS files

-

cluster_stops()

+

write_gtfs()

Cluster nearby stops within a group

-

convert_times_to_hms()

+

Write a tidygtfs object to a zip file

+

Travel time calculations

+

+
+

travel_times()

Convert time columns to hms::hms in feed

Calculate shortest travel times from a stop to all reachable stops

-

duplicated_primary_keys()

+

raptor()

Check if primary keys are unique within tables

Calculate travel times from one stop to all reachable stops

-

empty_strings_to_na()

+

filter_stop_times()

Convert empty strings ("") to NA values in all gtfs tables

-

feed_contains()

+

Filter a stop_times table for a given date and timespan.

+

Filter GTFS objects

+

+
+

filter_feed_by_date()

Returns TRUE if the given gtfs_obj contains the table. Used to check for -tidytransit's calculated tables in sublist (gtfs_obj$.)

Filter a gtfs feed so that it only contains trips running on a given date

filter_feed_by_area()

Filter a gtfs feed so that it only contains trips that pass a given area

-

filter_feed_by_date()

-

Filter a gtfs feed so that it only contains trips running on a given date

filter_feed_by_stops()

Filter a gtfs feed so that it only contains a given set of trips

-

filter_stop_times()

-

Filter a stop_times table for a given date and timespan.

filter_stops()

Get a set of stops for a given set of service ids and route ids

+

Analyse

+

+
+

validate_gtfs()

+

Validate GTFS file

-

get_route_frequency()

+

set_servicepattern()

Get Route Frequency

Calculate servicepattern ids for a gtfs feed

-

get_route_geometry()

+

get_route_frequency()

Get all trip shapes for a given route and service

Get Route Frequency

get_stop_frequency()

Get Stop Frequency

-

get_trip_geometry()

+

summary(<tidygtfs>)

Get all trip shapes for given trip ids

GTFS feed summary

+

Find and fix inconsistencies in feeds

+

+
+

interpolate_stop_times()

+

Interpolate missing stop_times linearly +Uses shape_dist_traveled if available

-

gtfs_as_sf()

+

cluster_stops()

Convert stops and shapes to Simple Features

Cluster nearby stops within a group

-

gtfs_duke

+

stop_group_distances()

Example GTFS data

Calculates distances among stop within the same group column

-

gtfs_to_tidygtfs()

+

stop_distances()

Convert an object created by gtfsio::import_gtfs to a tidygtfs object

Calculate distances between a given set of stops

+

Geospatial functions (sf)

+

+
+

gtfs_as_sf()

+

Convert stops and shapes to Simple Features

gtfs_transform()

Transform or convert coordinates of a gtfs feed

-

hhmmss_to_hms()

-

convert a vector of time strings -empty strings are converted to NA

-

hhmmss_to_sec_split()

+

shapes_as_sf()

Fallback function to convert strings like 5:02:11 -10x slower than hhmmss_to_seconds(), empty strings are converted to NA

Convert shapes into Simple Features Linestrings

-

hhmmss_to_seconds()

+

stops_as_sf()

Function to convert "HH:MM:SS" time strings to seconds.

Convert stops into Simple Features Points

-

interpolate_stop_times()

+

get_trip_geometry()

Interpolate missing stop_times linearly -Uses shape_dist_traveled if available

Get all trip shapes for given trip ids

-

na_to_empty_strings()

+

get_route_geometry()

Convert NA values to empty strings ("")

Get all trip shapes for a given route and service

-

plot(<tidygtfs>)

+

sf_as_tbl()

Plot GTFS stops and trips

Convert stops and shapes from sf objects to tibbles

-

print(<tidygtfs>)

+

sf_lines_to_df()

Print a GTFS object

Adds the coordinates of an sf LINESTRING object as columns and rows

-

raptor()

+

sf_points_to_df()

Calculate travel times from one stop to all reachable stops

-

read_gtfs()

+

Adds the coordinates of an sf POINT object as columns

+

Helpers

+

+
+

as_tidygtfs()

Read and validate GTFS files

Convert another gtfs like object to a tidygtfs object

-

route_type_names

+

gtfs_to_tidygtfs()

Dataframe of route type id's and the names of the types (e.g. "Bus")

Convert an object created by gtfsio::import_gtfs to a tidygtfs object

-

set_servicepattern()

+

convert_times_to_hms()

Calculate servicepattern ids for a gtfs feed

Convert time columns to hms::hms in feed

-

sf_as_tbl()

+

hhmmss_to_hms()

Convert stops and shapes from sf objects to tibbles

convert a vector of time strings +empty strings are converted to NA

-

sf_lines_to_df()

+

hhmmss_to_seconds()

Adds the coordinates of an sf LINESTRING object as columns and rows

Function to convert "HH:MM:SS" time strings to seconds.

-

sf_points_to_df()

+

hhmmss_to_sec_split()

Adds the coordinates of an sf POINT object as columns

Fallback function to convert strings like 5:02:11 +10x slower than hhmmss_to_seconds(), empty strings are converted to NA

-

shapes_as_sf()

+

na_to_empty_strings()

Convert shapes into Simple Features Linestrings

Convert NA values to empty strings ("")

-

stop_distances()

+

feed_contains()

Calculate distances between a given set of stops

Returns TRUE if the given gtfs_obj contains the table. Used to check for +tidytransit's calculated tables in sublist (gtfs_obj$.)

-

stop_group_distances()

+

duplicated_primary_keys()

Calculates distances among stop within the same group column

Check if primary keys are unique within tables

-

stops_as_sf()

+

empty_strings_to_na()

Convert stops into Simple Features Points

Convert empty strings ("") to NA values in all gtfs tables

-

summary(<tidygtfs>)

+

plot(<tidygtfs>)

GTFS feed summary

Plot GTFS stops and trips

-

travel_times()

+

print(<tidygtfs>)

Calculate shortest travel times from a stop to all reachable stops

-

validate_gtfs()

+

Print a GTFS object

+

Datasets

+

+
+

gtfs_duke

Validate GTFS file

Example GTFS data

-

write_gtfs()

+

route_type_names

Write a tidygtfs object to a zip file

Dataframe of route type id's and the names of the types (e.g. "Bus")