Как получить более 1000 дистанционных матриц с пакетом "osrm" - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь рассчитать больше расстояний в R с помощью пакета "osrm". Я не знаю, что я делаю неправильно, потому что я выполнил все шаги пакета. Когда я пытаюсь использовать аргумент max-table-size, он возвращает ошибку.

Я уже пытался вставить аргумент max-table-size в код, но это не работает.

Я пытался сделать это:

distancias <- osrmTable(loc = dist[1:100, c("id","lon","lat")]"max-table-size")

Когда я пытаюсь это сделать, у меня появляется эта ошибка:

Сервер OSRM возвратил ошибку: Ошибка в именах (src) <- c ("id", "lon", "lat"): атрибут 'names' [3] должен иметь ту же длину, что и вектор [1] </p>

library(osrm)

dist <- read.table ("C:\\Users\\hammer\\Documents\\Erick\\22-05-19\\Distancias\\mg.txt", header=TRUE, sep="\t")


distancias <- osrmTable(loc = dist[1:100, c("id","lon","lat")])


write.table(distancias, file = "dist.txt", sep="\t")

Я надеюсь получить одну матрицу расстояний 3,600 х 3,600

1 Ответ

0 голосов
/ 23 мая 2019

Оператор osrm для максимального количества поддерживаемых местоположений:

Если вы хотите получить большое количество расстояний, обязательно установите аргумент "max-table-size" (Максимальное количество местоположений, поддерживаемых в таблице) сервера OSRM соответственно.

Это утверждение касается сервера OSRM, а не пакета R osrm.Если вы используете свой собственный сервер, вы можете изменить количество местоположений, поддерживаемых в вызове osrmTable().

В этом примере с использованием образа докера , предоставленного OSRM , можно использовать 10000 местоположений:

docker run -t -i -p 5000:5000 -v "${PWD}:/data" osrm/osrm-backend osrm-routed --algorithm mld --max-table-size 10000 /data/berlin-latest.osrm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...