如何使用“ osrm”包获取超过1000个距离矩阵

时间:2019-05-23 13:44:29

标签: r

我正在尝试使用“ osrm”软件包来计算R中的更多距离。我不知道自己在做什么错,因为我遵循了程序包的所有步骤。当我尝试使用参数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”):“名称”属性[3]的长度必须与   向量[1]

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 x 3.600的距离矩阵

1 个答案:

答案 0 :(得分:0)

关于支持的最大位置数的osrm语句是:

  

如果要获取大量距离,请确保相应地设置OSRM服务器的“ max-table-size”参数(表中支持的最大位置)。

此语句与OSRM服务器有关,而不与R软件包osrm有关。 如果您使用自己的服务器,则可以更改osrmTable()调用中支持的位置数。

此示例使用docker image provided by 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