如何使用osrm软件包计算两个数据库之间的路由?

时间:2019-07-12 13:22:18

标签: r gis distance osrm

我正在尝试计算两个不同数据库(一个源和另一个目标)之间的路由。 为此,我创建了一个osrm容器/ docker,并使用osrm包在R中使用以下脚本。

 library(osrm)

    options(osrm.server = "http://000.000.00.000:5000/")

dst <- read.table("M:\\folder\\folder2\\folder3\\folder4\\destination.txt", header=TRUE, sep="\t")

src <- read.table("M:\\folder\\folder2\\folder3\\folder4\\source.txt", header=TRUE, sep="\t")

route <- osrmTable(loc=NULL, src = src[1:46881, c("id", "long", "lat")], dst = dst[1:60721, c("id", "long", "lat")], 
                   measure = c("duration"))

write.table(route, file = "duration_exit.txt", sep="\t")

我遇到以下错误。

  

OSRM服务器返回错误:错误:InvalidQuery查询字符串   位置36342附近格式错误

     

警告消息:在nSrc * nDst中:由整数溢出产生的NA

实际上,我有一系列的原点坐标,并且想要计算所有目标之间的最低路径。我正在尝试这种方式,这是我所需的最佳方法吗?我为什么会犯这个错误?有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

我发现了错误。实际上,问题出在我的坐标列表上。因为它是一个非常大的数据库,所以我没有标识一个空字段。

所有提示。始终检查坐标是否正确。