The r5r package for transport times

See: https://cran.r-project.org/web/packages/r5r/vignettes/intro_to_r5r.html

library(r5r)
## Warning: package 'r5r' was built under R version 4.0.5
## Loading required namespace: sf
## Loading required namespace: rJava
## Please make sure you have already allocated some memory to Java by running:
##   options(java.parameters = '-Xmx2G').
## Currently, Java memory is set to -Xmx512m
wd <- getwd()
data_path <- paste(wd,"//cph//",sep="")
r5r_core <- setup_r5(data_path = data_path, verbose = FALSE)
## Using cached version from C:/Users/np83zg/OneDrive - Aalborg Universitet/Dokumenter/R/win-library/4.0/r5r/jar/r5-v6.2-all_20210408.jar
## 
## Using cached network.dat from C:/Users/np83zg/OneDrive - Aalborg Universitet/Skrivebord/cars-master/rspace_osm/r5r_copenhagen//cph///network.dat
setwd(wd)

Then with the network build we are ready to make requests for travel times and lengths from origin to destination. We just need some input data in the form of origin and destination spatial points. So this data is some how acquired: Here I just input it manually.

L <- list()
    L[[1]] <- c('Reffen','55.69311844','12.60969741','201809','NA')
    L[[2]] <- c('Torvehallerne','55.68388','12.56957','201109','NA')
    L[[3]] <- c('Copenhagen Street Food','55.67763498115367', '12.597292074615451','201403','201709')
    L[[4]] <- c('Experimentariet (papirøen)','55.67763498115367', '12.597292074615451','201403','201603')
    L[[5]] <- c('Copenhagen Contemporary (papirøen)','55.67763498115367',     '12.597292074615451','201609','201709')
    L[[6]] <- c('Copenhagen Contemporary (reffen)','55.69311844','12.60969741','201809','NA')
    L[[7]] <- c('Den Blå Planet','55.638422110388326', '12.656186126474394','201309','NA')
    L[[8]] <- c('Royal Golf Center','55.6407305782633','12.573146281505826','201003','NA')
    L[[9]] <- c('Ofelia Plads','55.68086190221758','12.595000382318917','201609','NA')
    L[[10]] <- c('Fælledparken - Skate Park','55.70054200866475', '12.563170633763198','201109','NA')
    

    amenity_df <- data.frame( 
            id=sapply(L,function(x) x[1]),
            lat=sapply(L,function(x) as.numeric(x[2])),
            lon=sapply(L,function(x) as.numeric(x[3]))
            )
    
    head(amenity_df)
##                                   id      lat      lon
## 1                             Reffen 55.69312 12.60970
## 2                      Torvehallerne 55.68388 12.56957
## 3             Copenhagen Street Food 55.67763 12.59729
## 4         Experimentariet (papirøen) 55.67763 12.59729
## 5 Copenhagen Contemporary (papirøen) 55.67763 12.59729
## 6   Copenhagen Contemporary (reffen) 55.69312 12.60970

Very importantly the data set has columns {id,lat,lon}. So the step was

# Compute travel time matrix
    # set inputs
    max_walk_dist <- 5000
    max_trip_duration <- 120
    departure_datetime <- as.POSIXct("13-05-2019 12:00:00",
                                 format = "%d-%m-%Y %H:%M:%S")
    
    # calculate a travel time matrix
    ttm <- travel_time_matrix(r5r_core = r5r_core,
                          origins = amenity_df,
                          destinations = amenity_df,
                          mode = "CAR",
                          departure_datetime = departure_datetime,
                          max_walk_dist = max_walk_dist,
                          max_trip_duration = max_trip_duration,
                          verbose = FALSE)

    
    ttm
##                                  fromId                               toId
##   1:                             Reffen                             Reffen
##   2:                             Reffen                      Torvehallerne
##   3:                             Reffen             Copenhagen Street Food
##   4:                             Reffen         Experimentariet (papirøen)
##   5:                             Reffen Copenhagen Contemporary (papirøen)
##   6:                             Reffen   Copenhagen Contemporary (reffen)
##   7:                             Reffen                     Den Blå Planet
##   8:                             Reffen                  Royal Golf Center
##   9:                             Reffen                       Ofelia Plads
##  10:                             Reffen          Fælledparken - Skate Park
##  11:                      Torvehallerne                             Reffen
##  12:                      Torvehallerne                      Torvehallerne
##  13:                      Torvehallerne             Copenhagen Street Food
##  14:                      Torvehallerne         Experimentariet (papirøen)
##  15:                      Torvehallerne Copenhagen Contemporary (papirøen)
##  16:                      Torvehallerne   Copenhagen Contemporary (reffen)
##  17:                      Torvehallerne                     Den Blå Planet
##  18:                      Torvehallerne                  Royal Golf Center
##  19:                      Torvehallerne                       Ofelia Plads
##  20:                      Torvehallerne          Fælledparken - Skate Park
##  21:             Copenhagen Street Food                             Reffen
##  22:             Copenhagen Street Food                      Torvehallerne
##  23:             Copenhagen Street Food             Copenhagen Street Food
##  24:             Copenhagen Street Food         Experimentariet (papirøen)
##  25:             Copenhagen Street Food Copenhagen Contemporary (papirøen)
##  26:             Copenhagen Street Food   Copenhagen Contemporary (reffen)
##  27:             Copenhagen Street Food                     Den Blå Planet
##  28:             Copenhagen Street Food                  Royal Golf Center
##  29:             Copenhagen Street Food                       Ofelia Plads
##  30:             Copenhagen Street Food          Fælledparken - Skate Park
##  31:         Experimentariet (papirøen)                             Reffen
##  32:         Experimentariet (papirøen)                      Torvehallerne
##  33:         Experimentariet (papirøen)             Copenhagen Street Food
##  34:         Experimentariet (papirøen)         Experimentariet (papirøen)
##  35:         Experimentariet (papirøen) Copenhagen Contemporary (papirøen)
##  36:         Experimentariet (papirøen)   Copenhagen Contemporary (reffen)
##  37:         Experimentariet (papirøen)                     Den Blå Planet
##  38:         Experimentariet (papirøen)                  Royal Golf Center
##  39:         Experimentariet (papirøen)                       Ofelia Plads
##  40:         Experimentariet (papirøen)          Fælledparken - Skate Park
##  41: Copenhagen Contemporary (papirøen)                             Reffen
##  42: Copenhagen Contemporary (papirøen)                      Torvehallerne
##  43: Copenhagen Contemporary (papirøen)             Copenhagen Street Food
##  44: Copenhagen Contemporary (papirøen)         Experimentariet (papirøen)
##  45: Copenhagen Contemporary (papirøen) Copenhagen Contemporary (papirøen)
##  46: Copenhagen Contemporary (papirøen)   Copenhagen Contemporary (reffen)
##  47: Copenhagen Contemporary (papirøen)                     Den Blå Planet
##  48: Copenhagen Contemporary (papirøen)                  Royal Golf Center
##  49: Copenhagen Contemporary (papirøen)                       Ofelia Plads
##  50: Copenhagen Contemporary (papirøen)          Fælledparken - Skate Park
##  51:   Copenhagen Contemporary (reffen)                             Reffen
##  52:   Copenhagen Contemporary (reffen)                      Torvehallerne
##  53:   Copenhagen Contemporary (reffen)             Copenhagen Street Food
##  54:   Copenhagen Contemporary (reffen)         Experimentariet (papirøen)
##  55:   Copenhagen Contemporary (reffen) Copenhagen Contemporary (papirøen)
##  56:   Copenhagen Contemporary (reffen)   Copenhagen Contemporary (reffen)
##  57:   Copenhagen Contemporary (reffen)                     Den Blå Planet
##  58:   Copenhagen Contemporary (reffen)                  Royal Golf Center
##  59:   Copenhagen Contemporary (reffen)                       Ofelia Plads
##  60:   Copenhagen Contemporary (reffen)          Fælledparken - Skate Park
##  61:                     Den Blå Planet                             Reffen
##  62:                     Den Blå Planet                      Torvehallerne
##  63:                     Den Blå Planet             Copenhagen Street Food
##  64:                     Den Blå Planet         Experimentariet (papirøen)
##  65:                     Den Blå Planet Copenhagen Contemporary (papirøen)
##  66:                     Den Blå Planet   Copenhagen Contemporary (reffen)
##  67:                     Den Blå Planet                     Den Blå Planet
##  68:                     Den Blå Planet                  Royal Golf Center
##  69:                     Den Blå Planet                       Ofelia Plads
##  70:                     Den Blå Planet          Fælledparken - Skate Park
##  71:                  Royal Golf Center                             Reffen
##  72:                  Royal Golf Center                      Torvehallerne
##  73:                  Royal Golf Center             Copenhagen Street Food
##  74:                  Royal Golf Center         Experimentariet (papirøen)
##  75:                  Royal Golf Center Copenhagen Contemporary (papirøen)
##  76:                  Royal Golf Center   Copenhagen Contemporary (reffen)
##  77:                  Royal Golf Center                     Den Blå Planet
##  78:                  Royal Golf Center                  Royal Golf Center
##  79:                  Royal Golf Center                       Ofelia Plads
##  80:                  Royal Golf Center          Fælledparken - Skate Park
##  81:                       Ofelia Plads                             Reffen
##  82:                       Ofelia Plads                      Torvehallerne
##  83:                       Ofelia Plads             Copenhagen Street Food
##  84:                       Ofelia Plads         Experimentariet (papirøen)
##  85:                       Ofelia Plads Copenhagen Contemporary (papirøen)
##  86:                       Ofelia Plads   Copenhagen Contemporary (reffen)
##  87:                       Ofelia Plads                     Den Blå Planet
##  88:                       Ofelia Plads                  Royal Golf Center
##  89:                       Ofelia Plads                       Ofelia Plads
##  90:                       Ofelia Plads          Fælledparken - Skate Park
##  91:          Fælledparken - Skate Park                             Reffen
##  92:          Fælledparken - Skate Park                      Torvehallerne
##  93:          Fælledparken - Skate Park             Copenhagen Street Food
##  94:          Fælledparken - Skate Park         Experimentariet (papirøen)
##  95:          Fælledparken - Skate Park Copenhagen Contemporary (papirøen)
##  96:          Fælledparken - Skate Park   Copenhagen Contemporary (reffen)
##  97:          Fælledparken - Skate Park                     Den Blå Planet
##  98:          Fælledparken - Skate Park                  Royal Golf Center
##  99:          Fælledparken - Skate Park                       Ofelia Plads
## 100:          Fælledparken - Skate Park          Fælledparken - Skate Park
##                                  fromId                               toId
##      travel_time
##   1:           0
##   2:          11
##   3:           8
##   4:           8
##   5:           8
##   6:           0
##   7:          15
##   8:          16
##   9:          10
##  10:          16
##  11:          12
##  12:           0
##  13:           6
##  14:           6
##  15:           6
##  16:          12
##  17:          17
##  18:          14
##  19:           6
##  20:           7
##  21:          10
##  22:           6
##  23:           0
##  24:           0
##  25:           0
##  26:          10
##  27:          15
##  28:          13
##  29:           6
##  30:          12
##  31:          10
##  32:           6
##  33:           0
##  34:           0
##  35:           0
##  36:          10
##  37:          15
##  38:          13
##  39:           6
##  40:          12
##  41:          10
##  42:           6
##  43:           0
##  44:           0
##  45:           0
##  46:          10
##  47:          15
##  48:          13
##  49:           6
##  50:          12
##  51:           0
##  52:          11
##  53:           8
##  54:           8
##  55:           8
##  56:           0
##  57:          15
##  58:          16
##  59:          10
##  60:          16
##  61:          15
##  62:          17
##  63:          15
##  64:          15
##  65:          15
##  66:          15
##  67:           3
##  68:          15
##  69:          17
##  70:          22
##  71:          17
##  72:          15
##  73:          14
##  74:          14
##  75:          14
##  76:          17
##  77:          15
##  78:           2
##  79:          15
##  80:          20
##  81:          12
##  82:           7
##  83:           7
##  84:           7
##  85:           7
##  86:          12
##  87:          17
##  88:          15
##  89:           0
##  90:           9
##  91:          18
##  92:           7
##  93:          13
##  94:          13
##  95:          13
##  96:          18
##  97:          23
##  98:          20
##  99:          10
## 100:           1
##      travel_time
    dit <- detailed_itineraries(r5r_core = r5r_core,
                            origins = amenity_df,
                            destinations = amenity_df[1,],
                            mode = "CAR",
                            departure_datetime = departure_datetime,
                            max_walk_dist = max_walk_dist,
                            shortest_path = FALSE,
                            verbose = FALSE)
## Destinations dataframe expanded to match the number of origins.
dit
## Simple feature collection with 10 features and 14 fields
## Geometry type: LINESTRING
## Dimension:     XY
## Bounding box:  xmin: 12.56151 ymin: 55.6394 xmax: 12.65327 ymax: 55.70254
## Geodetic CRS:  WGS 84
##                                fromId  fromLat  fromLon   toId    toLat   toLon
## 1                              Reffen 55.69312 12.60970 Reffen 55.69312 12.6097
## 2                       Torvehallerne 55.68388 12.56957 Reffen 55.69312 12.6097
## 3              Copenhagen Street Food 55.67763 12.59729 Reffen 55.69312 12.6097
## 4          Experimentariet (papirøen) 55.67763 12.59729 Reffen 55.69312 12.6097
## 5  Copenhagen Contemporary (papirøen) 55.67763 12.59729 Reffen 55.69312 12.6097
## 6    Copenhagen Contemporary (reffen) 55.69312 12.60970 Reffen 55.69312 12.6097
## 7                      Den Blå Planet 55.63842 12.65619 Reffen 55.69312 12.6097
## 8                   Royal Golf Center 55.64073 12.57315 Reffen 55.69312 12.6097
## 9                        Ofelia Plads 55.68086 12.59500 Reffen 55.69312 12.6097
## 10          Fælledparken - Skate Park 55.70054 12.56317 Reffen 55.69312 12.6097
##    option segment mode total_duration segment_duration wait distance route
## 1       1       1  CAR        1.85000          1.85000    0       99      
## 2       1       1  CAR       15.05000         15.05000    0     5843      
## 3       1       1  CAR       11.88333         11.88333    0     4053      
## 4       1       1  CAR       11.88333         11.88333    0     4053      
## 5       1       1  CAR       11.88333         11.88333    0     4053      
## 6       1       1  CAR        1.85000          1.85000    0       99      
## 7       1       1  CAR       15.76667         15.76667    0     7451      
## 8       1       1  CAR       23.10000         23.10000    0     9450      
## 9       1       1  CAR       14.53333         14.53333    0     5045      
## 10      1       1  CAR       20.20000         20.20000    0     8081      
##                          geometry
## 1  LINESTRING (12.61016 55.692...
## 2  LINESTRING (12.56912 55.683...
## 3  LINESTRING (12.59624 55.678...
## 4  LINESTRING (12.59624 55.678...
## 5  LINESTRING (12.59624 55.678...
## 6  LINESTRING (12.61016 55.692...
## 7  LINESTRING (12.65327 55.639...
## 8  LINESTRING (12.57301 55.642...
## 9  LINESTRING (12.59364 55.679...
## 10 LINESTRING (12.56483 55.700...