簡體   English   中英

旅行時間矩陣似乎不包括 r5r 中的過境旅行時間

[英]Travel Time Matrix doesn't seem to be including transit travel times in r5r

我正在嘗試使用 r5r R 包創建涉及克利夫蘭市超市的等時線可及性研究。 我首先獲取城市的邊界,創建一個網格,並為網格生成質心。 然后我使用 OSM 獲取街道網絡和超市位置。 最后,我使用 r5r 包創建了一個旅行時間矩陣。 我的代碼如下:

# load required packages
library(tidycensus)
library(tidytransit)
library(tmap)
library(osmdata)
library(tidyverse)
library(osmextract)
library(tigris)
library(r5r)
library(sf)

cleveland_boundary = places("Ohio") %>% filter(NAME == "Cleveland") %>% st_transform(4326)
cleveland_grid = st_make_grid(cleveland_boundary, square = FALSE, n=c(100,100), 
                 what = "polygons") %>% st_as_sf() %>% st_filter(cleveland_boundary) %>% 
                 mutate(id = seq(1, length(cleveland_grid$geometry), by=1)) %>% st_transform(4326)
cleveland_centroids = st_centroid(cleveland_grid)

cle_file = oe_match("Cleveland, Ohio")

cle_grocery = oe_read(cle_file$url, layer = "points", quiet = TRUE) %>% 
              st_transform(crs = st_crs(cleveland_boundary)) %>% st_filter(cleveland_boundary) %>%
              rename(id = osm_id) %>% st_transform(4326)

dir.create("cle_network")
cleveland_streets = oe_read(cle_file$url, layer = "lines", quiet = TRUE, download_directory = "cle_network") %>% 
                    filter(!is.na(highway)) %>% 
                    st_transform(crs = st_crs(cleveland_boundary)) %>% st_filter(cleveland_boundary) 


options(java.parameters = "-Xmx2G") # set up r5r core
r5r_core <- setup_r5("cle_network", verbose = FALSE, overwrite = TRUE)

ttm_wkday = travel_time_matrix(r5r_core = r5r_core,
                         origins = cle_grocery,
                         destinations = cleveland_centroids,
                         mode = c("WALK", "TRANSIT"),
                         departure_datetime = as.POSIXct("08-12-2022 14:00:00", format = "%d-%m-%Y %H:%M:%S"),
                         max_walk_dist = 1000,
                         max_trip_duration = 480,
                         verbose = FALSE)

我從 [此處] ( https://www.riderta.com/sites/default/files/gtfs/latest/google_transit.zip ) 獲得了 GTFS 數據,並將其保存為“CLEgtfs.zip”,保存在我在上面創建的cle_networks目錄中代碼。

這段代碼的輸出只給我 532 個結果,最長行程時間為 29 分鍾。 這顯然是不正確的,而且似乎沒有考慮過境旅行時間。我的猜測是它只考慮了步行時間,而且由於我的最大步行距離為1000 meters ,我懷疑只有步行旅行時間是包含在這個旅行時間矩陣中。 有什么原因可能會發生這種情況嗎? 我將不勝感激任何指導!

您使用的出發日期時間超出了 GTFS 數據的calendar.txt中設置的有效范圍。 提要中最早的start_date是 11/12/2022 (dd/mm/yyyy),但您的出發日期是 08/12/2022。

基本上,提要中描述的所有交通服務都不會在這一天運行,所以這就是為什么您有一個僅步行矩陣的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM