一步步理清开源路径规划导航引擎GraphHopper,学习应用
GraphHopper简介
- 源码用 Java 编写,开发人员可以通过 Maven 轻松上手。
- 可以用作** Java 库**来计算两个或多个点之间路线的距离、时间、逐向指示和许多道路属性。
- 可以用作独立的 Web 服务器来计算两个或多个点之间路线的距离、时间、逐向指示和许多道路属性。
- 除了“A-B”路线之外,它支持路径规划、移动导航、“捕捉道路”、等时线计算等。
功能特性
- 与OpenStreetMap(osm / xml和pbf)一起开箱即用,并且可以适应自定义数据
- OpenStreetMap集成:存储并考虑道路类型,速度限制,路面,障碍物,访问限制,渡轮,有条件访问限制等
- 预构建的路由配置文件:汽车、自行车、赛车、山地自行车、步行、远足、卡车、公共汽车、摩托车…
- 提供强大的 Web API,该 API 公开来自 OpenStreetMap 的数据,并允许根据请求自定义车辆配置文件。使用 JavaScript 和 Java 客户端。
- 提供地图匹配,即“捕捉到道路”。
- 支持瞬态公共交通路线和读取 GTFS。
- 提供超过 45 种语言的转弯说明。
- 可以显示高程数据。
- 支持备用路线。
- 支持周转成本和限制。
- 可以指定自定义区域自定义路径规划行为。
- 从小型室内大小的图形缩放到全球大小的图形。
- 查找街道上最近的点,例如获取高程或“捕捉到道路”或用作空间索引。
- 计算等时线和最短路径树。
- 在浏览器中展示整个路网
- 沿 road_class 或 max_speed 等路线显示“路径详细信息”。
应用分类
Web版
- Java后台服务:可执行jar包或者graphhopper.sh
- JavaScript 的官方 API 客户端:
graphhopper-client.js
安卓版
- 在线版
Web服务地址项目:graphhopper
/navigation/(这是个Java项目,暂不确定与可执行Jar相关)可以于可与 Android 导航 SDK【maplibre-navigation-android-legacy 】一起使用(待完善) - 离线版
graphhopper/docs/android
/index.md(待完善)
IOS版
暂未研究
相关网站
- 官方网站
- 问答平台
- GraphHopper Maps在线体验
- graphhopper_map项目源码使用Typescript语言和React框架
- graphhopper_map项目源码后台服务开源路由引擎(j可执行jar包)或 GraphHopper Directions API(官方在线请求地址)