Расчет расстояния маршрута от координат в CSV в R - PullRequest
1 голос
/ 02 июля 2019

Я хотел бы рассчитать расстояние по маршруту от координаты до координаты из 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, и у меня также возникает проблема с подключением.Я подозреваю, что это проблема брандмауэра на рабочем месте.Я посмотрю на это и опубликую результаты.

1 Ответ

0 голосов
/ 08 июля 2019

На самом деле я нахожусь за брандмауэром, который блокирует доступ к OSRM. Чтобы решить эту проблему, я запускаю экземпляр R через RStudio Cloud .

...