A Python Package for Map Matching Algorithm Based on Hidden Markov Model
Project description
~ 一个包搞定:路网获取、路网优化、宏微观地图匹配、匹配可视化、问题路段快速定位 ~
Developed by Tang Kai, Email: 794568794@qq.com & tangkai@zhechengdata.com
版本状态:05.07已经更新: v0.2.3
更新命令:pip install --upgrade -i https://pypi.org/simple/ gotrackit
-
地图匹配接口效率优化, 相较于v0.2.2小幅度提升
-
地图匹配接口报错机制优化
-
地图匹配接口移除html_fldr参数, 使用out_fldr替代
-
地图匹配接口增加即时输出开关instant_output, 打开后, 每匹配完一条轨迹马上进行结果存储
-
路网构建: crs判断BUG修复、境外路网构建失败BUG修复
-
增加 环路 处理功能
不要下载GitHub仓库上的代码来使用!!! 直接pip安装gotrackit为第三方库即可使用
与上一版本对比:
样例数据 | 有效的GPS点数 | top_k(k邻近候选参数) | gps_buffer(临域半径) | 候选路段条数 | 状态转移次数 | v0.2.1版解算时间 | v0.2.4版解算时间 |
---|---|---|---|---|---|---|---|
1辆车,深圳稀疏轨迹点样例1 | 190 | 60 | 500m | 10615 | 629788次 | 28秒 | 1.87秒 |
1辆车,深圳稀疏轨迹点样例2 | 400 | 20 | 120m | 5137 | 82006次 | 7.8秒 | 0.89秒 |
v0.2.4多核效率对比:
基于上表深圳稀疏轨迹点样例2,我们将他复制150份,进行多核测试,可以看到到6核时, 效率已经不再提升,最快89s解算完150条轨迹,平均每条轨迹0.59s,相较于0.89s再次提升了30%,在车辆数较多时,多核的效率提升很明显。
样例数据 | 有效的GPS点数 | top_k | gps_buffer | 候选路段条数 | 状态转移次数 | v0.2.4解算时间 |
---|---|---|---|---|---|---|
150辆车的GPS轨迹(单核串行,子图搜索,有构建子图的额外开销,提前预计算路径) | 6w | 20 | 120m | 75W | 1200W次 | 290.0秒 |
150辆车的GPS轨迹(3核并行,子图搜索,有构建子图的额外开销,提前预计算路径) | 6w | 20 | 120m | 75W | 1200W次 | 130.6秒 |
150辆车的GPS轨迹(3核并行,全图搜索,无构建子图的额外开销,提前预计算路径) | 6w | 20 | 120m | 75W | 1200W次 | 113.3秒 |
150辆车的GPS轨迹(4核并行,全图搜索,无构建子图的额外开销,提前预计算路径) | 6w | 20 | 120m | 75W | 1200W次 | 97.3秒 |
150辆车的GPS轨迹(5核并行,全图搜索,无构建子图的额外开销,提前预计算路径) | 6w | 20 | 120m | 75W | 1200W次 | 89.4秒 |
150辆车的GPS轨迹(6核并行,全图搜索,无构建子图的额外开销,提前预计算路径) | 6w | 20 | 120m | 75W | 1200W次 | 91.5秒 |
深圳稀疏轨迹点样例1:
1. 简介
本地图匹配包基于隐马尔可夫模型(HMM)实现了连续GPS点位的概率建模,利用这个包可以轻松对GPS数据进行地图匹配,本开源包的特点如下:
数据无忧
- 提供路网生产模块以及路网优化接口,您不需要准备任何路网和GPS数据即可玩转地图匹配;
- 提供GPS样例数据生产模块,解决没有GPS数据的难题;
- 提供GPS数据清洗接口,包括滑动窗口降噪、数据降频。
文档齐全
- 中文文档,有详细的操作指引;
- 算法原理讲解部分不涉及复杂的公式推导,使用动画形式剖析算法原理,简洁明了。
匹配结果自动优化
- 对基于HMM匹配的初步路径进行了优化,对于不连通的位置会自动搜路补全,对于实际路网不连通的位置会输出警告信息,方便用户回溯问题。
1.1. 如何安装gotrackit
所需前置依赖
- geopy(2.4.1)
- gdal(3.4.3)
- shapely(2.0.3)
- fiona(1.9.5)
- pyproj(3.6.1)
- geopandas(0.14.3)
- networkx(3.2.1)
- pandas(2.0.3)
- numpy(1.26.2)
- keplergl(0.3.2)
括号中为作者使用版本(基于python3.11), 仅供参考
使用pip安装
安装:
pip install -i https://pypi.org/simple/ gotrackit
更新:
pip install --upgrade -i https://pypi.org/simple/ gotrackit
1.2 用户手册与视频教程
基于隐马尔可夫模型(HMM)的地图匹配算法动画版!学不会你来打我!
2. 地图匹配问题
如何依据GPS数据推算车辆的实际路径?
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for gotrackit-0.2.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e33b32072598aecd223b2f06c1505bf25181ca33022df5067140301e5ec6eb8 |
|
MD5 | d950f92bb2397a2d09ad000b6dddca71 |
|
BLAKE2b-256 | 15c9c26aa89062e83088504dd0e27030bc0152687fc2b2f2878b14ece4636334 |