繁体   English   中英

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

[英]Calculating route distance from coordinates in CSV in R

我想从OSRM计算要协调的坐标的路线距离(尽管我对其他服务开放)。

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

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

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

# 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")

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

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

我运行脚本后收到以下消息:

The OSRM server returned an error:
Error in function (type, msg, asError = TRUE) : Failed to connect to router.project-osrm.org port 80: Timed out

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM