【问题标题】:Vector tile route finding矢量平铺路线查找
【发布时间】:2018-09-12 16:36:34
【问题描述】:

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

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

【问题讨论】:

    标签: mapbox-gl vector-tiles openmaptiles


    【解决方案1】:

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

    【讨论】:

    • 你是如何将图块合并在一起的?除了最详细的缩放级别之外,我在寻找道路交叉口时遇到了麻烦,即使这样我有时也会找到不存在的交叉口。
    • 我使用 NetTopology 套件进行计算,效果很好。但是,我为 Azure Maps 使用了矢量图块,它们在图块边缘有一些重叠,这可能会有所帮助。
    • 有没有办法可以访问 Azure 矢量切片?
    • 这个API可以访问矢量和光栅图块:docs.microsoft.com/en-us/rest/api/maps/render/getmaptile一定要设置格式为pbf来获取矢量图块。
    • 为了记录,Mapbox的矢量瓦片在每个瓦片的边缘也有一个缓冲区
    【解决方案2】:

    Mapbox 有directions API 使用开放街道地图:

    Mapbox 的方向服务使用源自 OpenStreetMap 的道路和路径网络,OpenStreetMap 是一个协作项目,用于创建免费且可编辑的世界地图。

    OpenStreetMap 的贡献者构建了一个庞大的可路由网络,其中包括速度限制、转弯车道限制以及自行车和行人的可达性等属性。这些详细信息提供了Open Source Routing Machine (OSRM) 需要为您的交通方式(驾车、骑自行车、步行)计算最快路径的框架。

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

    据我所知,目前(15-09-2018)的 OpenMapTiles 不提供路由。

    【讨论】:

    • 这并不能真正回答问题。在某些情况下,能够使用矢量图块计算路径非常有用。尤其是在转弯限制和单向可能不重要的情况下为模拟数据提供动力。
    • 当然它可能非常有用,但有可能吗?如果你有实用的方法,请在这里发给大家。
    • 目前官方不支持使用矢量图块路由:github.com/mapbox/vector-tile-spec/issues/113
    猜你喜欢
    • 1970-01-01
    • 2016-01-27
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    • 2017-03-07
    • 1970-01-01
    • 2021-08-04
    • 2016-06-19
    相关资源
    最近更新 更多