矢量瓦片路线查找

Vector tile route finding

有没有人使用 Mapbox 或 OpenMapTiles 矢量切片来查找从一个地方到另一个地方的路线?

在我看来,这些图块是为显示而制作的,并不像 Open Street Map 那样包含交叉路口信息。

Mapbox 有 directions API 使用 Open Street Map:

Mapbox’s directions services use a network of roads and paths, or ways, derived from OpenStreetMap, a collaborative project to create a free and editable map of the world.

Contributors to OpenStreetMap have built a vast, routeable network that includes properties like speed limits, turn lane restrictions, and accessibility for bikes and pedestrians. These details provide the framework that the Open Source Routing Machine (OSRM) needs to calculate the fastest path for your mode of transportation (driving, cycling, walking).

所以答案是肯定的 - 磁贴不包含路由图并且不打算显示。 Waypoints 通过 API 检索允许在顶部显示路线。这里是 example 如何将它与 mapbox-gl 一起使用。

据我所知,目前 (15-09-2018) OpenMapTiles 不提供路线选择。

我最近做了这个,因为我需要一种方法来以低成本计算一百万条随机路线以用于模拟目的。我所做的是下载与路线相关的区域中的所有矢量瓦片(边界框或与 start/end 之间的缓冲直线路径相交的所有瓦片)。然后从矢量切片中提取道路并将它们合并(并集)在一起以创建一个大的 MultiLineString。从那里我使用网络拓扑套件和最短路径算法来计算路线。请注意,这没有考虑转弯和其他道路限制,因为该数据通常不在切片中,但这取决于矢量切片的来源。您只需将收费公路从 MultiLineString 中排除即可避免收费公路。一种方式可以尊重街道,因为矢量切片需要此信息进行渲染。