当前位置:   article > 正文

一步步理清开源路径规划导航引擎GraphHopper_graphhopper 介绍

graphhopper 介绍

一步步理清开源路径规划导航引擎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 等路线显示“路径详细信息”。

三、应用分类

3.1、Web版

  • Java后台服务:可执行jar包或者graphhopper.sh
  • JavaScript 的官方 API 客户端:graphhopper-client.js

3.2、安卓版

3.2.1、在线版

Web服务地址项目:graphhopper
/navigation/
(这是个Java项目,暂不确定与可执行Jar相关)可以于可与 Android 导航 SDK【maplibre-navigation-android-legacy 】一起使用(待完善)

3.2.2、离线版

graphhopper/docs/android
/index.md
(待完善)

3.2.3、相关APP

3.2.3.1、Pocket Maps:项目源码地址

具有路线功能等的免费离线地图,该项目使用OSM数据、Mapsforge-vtm和Graphhopper开源API。

3.2.3.2、Locus Add-On:

Locus 的开发人员为 locus 创建了一个路由插件,并且对于其他地图应用程序也很有用。该插件的源代码地址:GraphHopper for Locus Map

3.2.3.3、Cruiser App:源码不开源

3.2.4、相关Libraries(FrameWorks)

3.2.4.1、OSMBonusPack:项目地址
介绍
  • OSMBonusPack 通过 GraphHopperRoadManager 支持 GraphHopper 路由 API,并为各种提供商提供地图图块集成。
  • osmdroid 是一个用于与 Android 应用程序内的 OpenStreetMap 数据进行交互的库。它提供了对 Android 地图对象的几乎完全/免费的替换:MapView、MapController、叠加层(标记、折线、多边形)等。
  • “OSMBonusPack”库用(非常)有用的类补充了osmdroid:路线和方向,兴趣点(目录服务),标记聚类,支持 KML 和 GeoJSON 内容,GroundOverlay,类似于其 Google 地图等效物,地理编码与反向地理编码等。
Android引入
  • OSMBonusPack 库以 AAR 的形式提供。(两种引入方式①包括使用 JitPack②作为本地库包含)
    //包括使用 JitPack
    repositories { 
         ...
         maven { url "https://jitpack.io" }
    }
    
    dependencies {
        ...
        implementation 'com.github.MKergall:osmbonuspack:6.9.0'
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
3.2.4.2、GraphHopper Directions API
介绍
  • GraphHopper Directions API Java客户端支持从官方和自定义服务器获取路线和指令。
  • GraphHopper Directions API 的 Java 和 Android 客户端的已弃用存储库, 老地址
  • 手工制作的版本是 GraphHopper 核心的一部分。 新地址
Android引入
<dependency>
  <groupId>com.graphhopper</groupId>
  <artifactId>directions-api-client-hc</artifactId>
  <version>[CURRENT-VERSION]</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
示例

示例地址:graphhopper/client-hc/src/test/java/com/graphhopper/api
/Examples.java

3.3、IOS版

暂未研究

四、相关网站

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号