我正在尝试使用 OpenStreetMap 通过两个坐标来计算步行时间。
我正在使用此数据集:https://github.com/JayScribes/Geocode-Distance/blob/main/NYC%20Bike%20Share%20Data.csv
这是我的代码:
library(readr)
NYC_Bike_Share_Data <- read_csv("NYC Bike Share Data.csv")
View(NYC_Bike_Share_Data)
library(osrm)
osrm_conn <- osrm::osrmTable(profile = "foot-walking")
origen<-c(NYC_Bike_Share_Data$ss_lat,NYC_Bike_Share_Data$sslong)
destino<-c(NYC_Bike_Share_Data$es_lat,NYC_Bike_Share_Data$es_long)
duracion <- osrmTable(osrm_conn, loc = c(origen, destino))$durations[1]
输出:
Error: "loc" should be a data.frame or a matrix of coordinates, an sfc POINT object or an sf POINT object.
您的定义不正确,您正在使用
c()
函数创建向量而不是数据框/矩阵。NYC_Bike_Share_Data <- read.csv("NYC Bike Share Data.csv")
library(osrm)
osrm_conn <- osrm::osrmTable(profile = "foot-walking")
origen<-NYC_Bike_Share_Data[ ,c("ss_long", "ss_lat")]
destino<-NYC_Bike_Share_Data[ ,c("es_long", "es_lat")]
duracion <- osrmTable(src = origen, dst =destino, osrm_proifile = "foot", measure = "durations")