簡體   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