从R中的CSV中的坐标计算路线距离

时间:2019-07-02 20:10:47

标签: r csv distance osrm

我想从OSRM计算要协调的坐标的路线距离(尽管我可以使用其他服务)。

例如,一行将具有“从”和“到”坐标,而不是获取点对点的距离,而是使用工艺路线来更准确地了解行进的距离。

我尝试了此处提供的脚本的每个迭代,并将数据削减为25行。

https://www.rdocumentation.org/packages/osrm/versions/3.3.0/topics/osrmTable

variables:
  disable.coverage.autogenerate: 'true'

理想情况下,我希望使用路由将新列放入数据中两个坐标之间的距离。

我已经找到了一个点对点的距离,但是在路由时却遇到了困难。

运行脚本后,我收到此消息:

# Set the working directory
setwd("C:/Users/...")

# Load libraries
library(dplyr)
library(osrm)
library(geosphere)

# Bring in the data
mydata <- read.csv("coordinates.csv", stringsAsFactors=FALSE)

# Check and eliminate the rows that don't have location information 
mydata <- mydata[!is.na(mydata$fromlat),]
mydata <- subset(mydata, fromlat!=0)

mydata <- mydata[!is.na(mydata$tolat),]
mydata <- subset(mydata, tolat!=0)

# Create date for route
src <- mydata[c(7,10,9)]
dst <- mydata[c(7,12,11)] 

# Travel time matrix with different sets of origins and destinations
route <- osrmTable(src = src, dst = dst, exclude = NULL,
                   gepaf = FALSE, measure = "distance")

更新: 我已经尝试过使用gmapsdistance,但也遇到了连接问题。我怀疑这是工作场所防火墙问题。我将调查并发布结果。

1 个答案:

答案 0 :(得分:0)

的确,我在阻止访问OSRM的防火墙后面。为了解决此问题,我通过RStudio Cloud运行R的实例。