我正在尝试使用包“osrm”计算 R 中的更多距离。我不知道我做错了什么,因为我遵循了包中的所有步骤。当我尝试使用 argument 时max-table-size,它返回一个错误。
我已经尝试将参数max-table-size放入代码中,但这不起作用。
我尝试这样做:
distancias <- osrmTable(loc = dist[1:100, c("id","lon","lat")]"max-table-size")
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,出现以下错误:
OSRM 服务器返回错误:名称错误(src) <- c("id", "lon", "lat"): 'names' 属性 [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")
Run Code Online (Sandbox Code Playgroud)
我希望得到一个 3.600 x 3.600 的距离矩阵
小智 6
osrm关于支持的最大位置数量的声明是:
如果您想获得大量距离,请确保相应地设置 OSRM 服务器的“max-table-size”参数(表中支持的最大位置)。
该声明涉及 OSRM 服务器,而不是 R 包osrm。如果您使用自己的服务器,则可以更改呼叫中支持的位置数量osrmTable()。
此示例使用OSRM 提供的 docker 映像,将允许使用 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