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

应用分类

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(官方在线请求地址)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/51248.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CLI是命令行界面(Command-Line Interface)的缩写

CLI是命令行界面(Command-Line Interface)的缩写。它是一种用户界面,允许用户通过键盘输入文本命令来与计算机进行交互。CLI在图形用户界面(GUI)普及之前是最常用的用户界面类型。 CLI的特点: 高效性&…

CentOS下原生态安装mysql,推荐yum

mysql 是一个关系型数据库管理系统,是最流行的关系型数据库管理系统之一,本文将介绍如何在 CentOS 7.x 中安装 mysql 。 安装mysql mysql 的安装方法可以通过以下几种方式进行: 1、通过第三方面板安装 mysql 2、通过 yum 命令安装 mysql 3、…

计算R velocity的方法和流程(CellRank2)

愿武艺晴小朋友一定得每天都开心 第一步:拿到cellranger count的文件夹; 运行cellranger count(这个得提前准备:R1和R2的fastq.gz文件 & 鼠的参考基因组文件) wget https://cf.10xgenomics.com/supp/cell-exp/refdata-gex-mm10-2020-A.tar.gz 最后会出现这个:Pipes…

C++简单实现消息队列

简介 消息队列是一种应用间的通讯方式,消息发送后可以立即放回,由消息系统来确保消息的可靠传递。消息发布者只需要将消息发布到消息队列中,而不需要管谁来取。消息使用者只管从消息队列中取消息而不管谁发布的。这样发布者和使用者都不同知…

uniapp文件上传前后端代码展示

使用uniapp做文件上传的时候&#xff0c;可以使用系统提供的接口进行文件上传 前端部分 前端组件代码 使用的是uview的上传组件 <u-upload id"selectPhoto" :style"{display:selectPhotoDisplay}" :useBeforeRead"true"afterRead"aft…

21.发布确认模式-高级

问题 生产环境中由于一些不明原因&#xff0c;导致rabbitmq重启&#xff0c;在重启的期间生产者消息投递失败&#xff0c;导致消息丢失&#xff0c;需要手动处理恢复。那么如何才能进行rabbitmq的消息可靠性投递&#xff1f;特别是在极端的情况&#xff0c;rabbitmq集群不可用…

Optuna包中TPE算法(代码解析)

前言 Optuna是一个自动超参数优化软件框架&#xff0c;专为机器学习而设计。Github项目地址 TPE&#xff08;Tree-structured Parzen Estimator&#xff09;是一种用于超参数优化的算法&#xff0c;它被广泛应用于机器学习模型中。TPE 算法基于贝叶斯优化技术&#xff0c;特别…

Python 教程(六):函数式编程

目录 专栏列表前言函数定义参数返回值 示例函数类型普通函数空函数匿名函数&#xff08;Lambda 函数&#xff09;嵌套函数函数装饰器高阶函数 函数参数位置参数默认参数可变位置参数可变关键字参数 函数属性和方法__name____doc__func.__dict__func.__defaults__func.__annotat…

算法工程师第二十二天(491.递增子序列 46.全排列 47.全排列 II )

参考文献 代码随想录 一、非递减子序列 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xff0c;递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素&#xff0c;如出现两个整数相等&#xff0c;也可以视作…

解析大数据分析行业的现状与前景:全球视角下的中国力量

目录 写在开头1、全球大数据分析趋势&#xff1a;引领潮流的先行者2、中国大数据分析现状&#xff1a;后起之秀的强劲崛起3、岗位分类与技能需求&#xff1a;大数据从业者的职业版图3.1. 数据科学家 (Data Scientist)3.2. 数据产品和项目管理岗位3.3. 数据工程师 (Data Enginee…

黑马头条Day11- 实时计算热点文章、KafkaStream

一、今日内容 1. 定时计算与实时计算 2. 今日内容 KafkaStream 什么是流式计算KafkaStream概述KafkaStream入门案例SpringBoot集成KafkaStream 实时计算 用户行为发送消息KafkaStream聚合处理消息更新文章行为数量替换热点文章数据 二、实时流式计算 1. 概念 一般流式计…

4、Python+MySQL+Flask的文件管理系统【附源码,运行简单】

4、PythonMySQLFlask的文件管理系统【附源码&#xff0c;运行简单】 总览 1、《文件管理系统》1.1 方案设计说明书设计目标工具列表 2、详细设计2.1 登录2.2 注册2.3 个人中心界面2.4 文件上传界面2.5 其他功能贴图 3、下载 总览 自己做的项目&#xff0c;禁止转载&#xff0c…

AI学习指南机器学习篇-标签传播算法的参数与调优

AI学习指南机器学习篇-标签传播算法的参数与调优 标签传播算法是一种常用的无监督学习算法&#xff0c;用于发现数据中的聚类结构。在应用标签传播算法时&#xff0c;合理地选择和调整参数可以对算法的效果产生重要影响。本文将介绍标签传播算法中的参数&#xff0c;并解释如何…

UART 通信协议

文章目录 一 简介二 电平标准三 引脚定义四 数据格式五 波特率 一 简介 ​ UART (Universal Asynchronous Receiver/Transmitter)&#xff0c;通用异步收发器&#xff0c;是一种串行、异步、全双工通信协议。 串行&#xff1a;利用一条传输线&#xff0c;将数据一位一位地传送…

【七】Hadoop3.3.4基于ubuntu24的分布式集群安装

文章目录 1. 下载和准备工作1.1 安装包下载1.2 前提条件 2. 安装过程STEP 1: 解压并配置Hadoop选择环境变量添加位置的原则检查环境变量是否生效 STEP 2: 配置Hadoop2.1. 修改core-site.xml2.2. 修改hdfs-site.xml2.3. 修改mapred-site.xml2.4. 修改yarn-site.xml2.5. 修改hado…

C++中的define与const的区别

C中的define与const的区别 对比维度defineconst类型和安全检查字符替换&#xff0c;没有类型安全检查有数据类型&#xff0c;进行类型检查编译器处理预处理阶段展开&#xff0c;不参与类型检查和优化编译阶段处理&#xff0c;保留类型检查和优化特性存储方式直接替换&#xff…

引用的项目“xxxx/tsconfig.node.json”可能不会禁用发出。

vue3 报错&#xff1a; 引用的项目“xxxx/tsconfig.node.json”可能不会禁用发出。 解决&#xff1a; 进入对应的 json 文件&#xff1a; 修改&#xff1a; "noEmit": false 当 noEmit 设置为 false 时&#xff0c;TypeScript 编译器将根据项目配置生成相应的输出文…

基于Java的微博传播分析系统的设计与实现

1 项目介绍 1.1 摘要 本文致力于展示一项创新的微博传播分析系统设计与应用研究&#xff0c;该系统基于Java技术&#xff0c;巧妙利用大数据环境下的社交媒体——微博的庞大用户群及高度活跃特性&#xff0c;旨在深度探索信息传播的内在逻辑与社会影响机制。研究开篇明确定了…

OpenCV 灰度直方图

一 直方图的定义&#xff0c;意义和特征 1 定义 在统计学中&#xff0c;直方图是一种对数据分布情况的图形表示&#xff0c;是一种二维统计图表&#xff0c;他的两个坐标分别是统计样本&#xff08;图像、视频帧&#xff09;和样本的某种属性&#xff08;亮度&#xff0c;像素…