**Read this in other languages: [Chinese](README.md) or [English](README_EN.md).**
<div align="center">
<a href="https://gotrackit.readthedocs.io/en/latest/">
<img src="docs/_static/images/gotrackit.svg" width="320" alt="GoTrackIt"/>
</a>
</div>
<div align=center>
[![Documentation Status](https://readthedocs.org/projects/gotrackit/badge/?version=latest)](https://gotrackit.readthedocs.io/en/latest/?badge=latest)
![PyPI - Version](https://img.shields.io/pypi/v/gotrackit)
![GitHub License](https://img.shields.io/github/license/zdsjjtTLG/Trackit)
[![Downloads](https://static.pepy.tech/badge/gotrackit)](https://pepy.tech/project/gotrackit)
![PyPI - Downloads](https://img.shields.io/pypi/dw/gotrackit)
![PyPI - Downloads](https://img.shields.io/pypi/dm/gotrackit)
![GitHub Discussions](https://img.shields.io/github/discussions/zdsjjtTLG/TrackIt)
![Static Badge](https://img.shields.io/badge/Model-HMM-9EC231)
![Static Badge](https://img.shields.io/badge/Optimization-FastMapMatching-blue)
![Static Badge](https://img.shields.io/badge/Optimization-MultiCoreParallelism-9EC231)
![Github Created At](https://img.shields.io/github/created-at/zdsjjtTLG/Trackit)
![GitHub last commit](https://img.shields.io/github/last-commit/zdsjjtTLG/Trackit)
![GitHub User's stars](https://img.shields.io/github/stars/zdsjjtTLG)
![GitHub forks](https://img.shields.io/github/forks/zdsjjtTLG/Trackit)
<div align="center">
<a href="https://gotrackit.readthedocs.io/en/latest/">
<img src="docs/_static/home_page.png" width="1080" alt="GoTrackIt"/>
</a>
</div>
gotrackit是一个基于改进隐马尔可夫模型实现的全流程地图匹配包
~ 💪一个包搞定:路网获取、路网优化、宏微观地图匹配、匹配可视化、问题路段快速定位💪 ~
👻Developed by TangKai, Email: 794568794@qq.com,关注B站Up:[码不停的Tank](https://space.bilibili.com/49719605) 获取更多开源分享👻
🔑gotrackit迭代更新很快,记得关注版本更新信息哦🔑
**❗❗❗不要下载GitHub仓库上的代码来使用!!! 直接pip安装gotrackit为第三方库即可使用❗❗❗**
😆😁👉[gotrackit用户手册](https://gotrackit.readthedocs.io/en/latest/)👈😝😉
</div>
**💬版本状态: 2024.12.26 已更新v0.3.16**
- [支持路径匹配结果到微观仿真的转换](https://gotrackit.readthedocs.io/en/latest/blog/2024/12/08/ny-eve/)
- 路径匹配模块:优化投影计算,匹配效率提升,构建Net时提供了[prj_cache参数](https://gotrackit.readthedocs.io/en/latest/Func%26API/Net/)
- 路径匹配模块:[提供了对dir=-1的link的支持](https://gotrackit.readthedocs.io/en/latest/UserGuide/数据要求/#-_1)
- 线层清洗函数:[增加环路、自相交路段的清洗功能](https://gotrackit.readthedocs.io/en/latest/UserGuide/路网优化/#_2)
- GIS工具模块:[增加地理配准接口](https://gotrackit.readthedocs.io/en/latest/UserGuide/GIS工具/#_10)
- 其他代码优化、BUG修复
<div align=center>
~ gotrackit功能概览 ~
</div>
<div align="center">
<a href="https://gotrackit.readthedocs.io/en/latest/">
<img src="docs/_static/images/FunctionGraph.png" />
</a>
</div>
<div align=center>
~ 稀疏轨迹匹配与路径补全 ~
</div>
<br>
深圳稀疏轨迹点样例1:
<div align="center">
<img src="docs/_static/images/极稀疏轨迹匹配.gif" />
</div>
<div align="center">
<img src="docs/_static/images/匹配动画样例3.gif" />
</div>
<br>
<div align=center>
~ 常规匹配 ~
</div>
<br>
<div align="center">
<img src="docs/_static/images/匹配动画样例1.gif" />
</div>
<div align="center">
<img src="docs/_static/images/kvs/hk_trip.gif" />
</div>
<div align="center">
<img src="docs/_static/images/geojson_res.jpg" />
</div>
<br>
<div align=center>
~ 目前两个用户交流群人数均已超过200人, 请添加小助手微信后再入群~
</div>
<div align=center>
~ 别忘了给项目一颗star哦, 您的支持是我迭代的动力 ~
</div>
<br>
<div align="center">
<img src="docs/_static/images/tk.jpg" />
</div>
## 1. 简介
本地图匹配包基于隐马尔可夫模型(HMM)实现了连续GPS点位的概率建模,利用这个包可以轻松对GPS数据进行地图匹配,本开源包的特点如下:
**😻数据无忧**
- 提供路网生产模块以及大量路网处理优化工具,您不需要准备任何路网和GPS数据即可玩转地图匹配;
- 提供GPS样例数据生产模块,解决没有GPS数据的难题;
- 提供GPS数据清洗接口,包括行程切分、滤波平滑、停留点识别、点位增密等功能。
**☑️文档齐全**
- 中文文档,有详细的操作指引;
- 算法原理讲解部分不涉及复杂的公式推导,使用动画形式剖析算法原理,简洁明了。
**🚀匹配算法优化**
- 支持基于路径预计算的FastMapMatching、支持多核并行匹配、支持网格参数搜索;
- 对基于HMM匹配的初步路径进行了优化,对于不连通的位置会自动搜路补全,对于实际路网不连通的位置会输出警告信息,方便用户回溯问题。
**🌈匹配结果支持动画可视化**
- 匹配结果提供三种输出形式:GPS点匹配结果表(csv)、匹配结果矢量化图层、矢量图层匹配动画(HTML文件),HTML动画方便用户直观地感受匹配结果,同时可以提高问题排查的效率。
### 1.1. 如何安装gotrackit
#### __使用pip安装__
安装:
``` shell
pip install -i https://pypi.org/simple/ gotrackit
```
更新:
``` shell
pip install --upgrade -i https://pypi.org/simple/ gotrackit
```
详细的安装教程见:[如何安装](https://gotrackit.readthedocs.io/en/latest/UserGuide/如何下载/)
### 1.2 如何使用gotrackit
- [用户手册](https://gotrackit.readthedocs.io/en/latest/)
- [基于隐马尔可夫模型(HMM)的地图匹配算法动画版!学不会你来打我!](https://www.bilibili.com/video/BV1gQ4y1w7dC)
- [一个python包搞定路网获取+地图匹配!](https://www.bilibili.com/video/BV1nC411z7Vg)
- [gotrackit地图匹配包参数详解与问题排查](https://www.bilibili.com/video/BV1qK421Y7hV)
- [QGIS路网拓扑显示、底图加载、样式复用、map保存](https://www.bilibili.com/video/BV1Sq421F7QX)
### 1.3. 如何引用gotrackit
如果你想在文章中引用gotrackit,请附上以下链接:
``` shell
https://github.com/zdsjjtTLG/TrackIt
```
### 1.4. BUG提交
如果确定是BUG,请提交在以下页面:
[BUG提交页面](https://github.com/zdsjjtTLG/TrackIt/issues)
## 2. 贡献者名单
在GoTrackIt的迭代发展过程中,他们对GoTrackIt提出了很多宝贵的意见,带来了大量实用的设计思路,助力GotTrackIt成为更加普及的开源项目!
- 陈先龙,314059@qq.com,广州市交通规划研究院有限公司-模型工程师
- 郑贵兵,1441411885@qq.com,广州市交通规划研究院有限公司-GIS工程师
- 万志杨,1115897470@qq.com,四川省交通运输发展战略和规划科学研究院-交通大数据工程师
- 郭凯,rsroyceguo@gmail.com,独立开发者
- 费怡瑄,2022224127@chd.edu.cn,长安大学信息工程学院-硕士研究生
- 参考了知乎网友 @空之箱大战春日影 关于滤波的代码:[文章链接](https://zhuanlan.zhihu.com/p/710241984/)
- 参考了CSDN网友 @瞌睡的代码仓库 关于贝塞尔曲线的代码:[文章链接](https://blog.csdn.net/qq_37643054/article/details/135938121)
- 参考了某位大神网友关于坐标转换的文章,这个网上资料太多,不清楚是谁的原创,如有人知道可以告知作者,我们会将他列为贡献者
- 参考了Paul Newson、John Krumm的论文:[Hidden Markov Map Matching Through Noise and Sparseness](https://dl.acm.org/doi/10.1145/1653771.1653818)
- 参考了武汉大学YangCan的论文:[Fast map matching, an algorithm integrating hidden Markov model with precomputation](https://www.tandfonline.com/doi/full/10.1080/13658816.2017.1400548)
## 3. 地图匹配定义
![car_gps.png](docs/_static/images/MapMatch.PNG)
## 4. 地图匹配应用场景
![car_gps.png](docs/_static/images/application.PNG)
Raw data
{
"_id": null,
"home_page": null,
"name": "gotrackit",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "HMM, MapMatching, Net, Link, Node, Hidden Markov Model, Algorithm",
"author": null,
"author_email": "Kai Tang <794568794@qq.com>",
"download_url": "https://files.pythonhosted.org/packages/b4/ed/7ef62b16a49176c62dffb9220fde82d9d776a06db29471fe86c595f16da5/gotrackit-0.3.17.tar.gz",
"platform": null,
"description": "**Read this in other languages: [Chinese](README.md) or [English](README_EN.md).**\r\n\r\n<div align=\"center\">\r\n<a href=\"https://gotrackit.readthedocs.io/en/latest/\">\r\n <img src=\"docs/_static/images/gotrackit.svg\" width=\"320\" alt=\"GoTrackIt\"/>\r\n</a>\r\n</div>\r\n\r\n\r\n<div align=center>\r\n\r\n[![Documentation Status](https://readthedocs.org/projects/gotrackit/badge/?version=latest)](https://gotrackit.readthedocs.io/en/latest/?badge=latest)\r\n![PyPI - Version](https://img.shields.io/pypi/v/gotrackit)\r\n![GitHub License](https://img.shields.io/github/license/zdsjjtTLG/Trackit)\r\n[![Downloads](https://static.pepy.tech/badge/gotrackit)](https://pepy.tech/project/gotrackit)\r\n![PyPI - Downloads](https://img.shields.io/pypi/dw/gotrackit)\r\n![PyPI - Downloads](https://img.shields.io/pypi/dm/gotrackit)\r\n![GitHub Discussions](https://img.shields.io/github/discussions/zdsjjtTLG/TrackIt)\r\n\r\n![Static Badge](https://img.shields.io/badge/Model-HMM-9EC231)\r\n![Static Badge](https://img.shields.io/badge/Optimization-FastMapMatching-blue)\r\n![Static Badge](https://img.shields.io/badge/Optimization-MultiCoreParallelism-9EC231)\r\n\r\n![Github Created At](https://img.shields.io/github/created-at/zdsjjtTLG/Trackit)\r\n![GitHub last commit](https://img.shields.io/github/last-commit/zdsjjtTLG/Trackit)\r\n\r\n![GitHub User's stars](https://img.shields.io/github/stars/zdsjjtTLG)\r\n![GitHub forks](https://img.shields.io/github/forks/zdsjjtTLG/Trackit)\r\n\r\n\r\n<div align=\"center\">\r\n<a href=\"https://gotrackit.readthedocs.io/en/latest/\">\r\n <img src=\"docs/_static/home_page.png\" width=\"1080\" alt=\"GoTrackIt\"/>\r\n</a>\r\n</div>\r\n\r\ngotrackit\u662f\u4e00\u4e2a\u57fa\u4e8e\u6539\u8fdb\u9690\u9a6c\u5c14\u53ef\u592b\u6a21\u578b\u5b9e\u73b0\u7684\u5168\u6d41\u7a0b\u5730\u56fe\u5339\u914d\u5305\r\n\r\n~ \ud83d\udcaa\u4e00\u4e2a\u5305\u641e\u5b9a\uff1a\u8def\u7f51\u83b7\u53d6\u3001\u8def\u7f51\u4f18\u5316\u3001\u5b8f\u5fae\u89c2\u5730\u56fe\u5339\u914d\u3001\u5339\u914d\u53ef\u89c6\u5316\u3001\u95ee\u9898\u8def\u6bb5\u5feb\u901f\u5b9a\u4f4d\ud83d\udcaa ~\r\n\r\n\ud83d\udc7bDeveloped by TangKai, Email: 794568794@qq.com\uff0c\u5173\u6ce8B\u7ad9Up\uff1a[\u7801\u4e0d\u505c\u7684Tank](https://space.bilibili.com/49719605) \u83b7\u53d6\u66f4\u591a\u5f00\u6e90\u5206\u4eab\ud83d\udc7b\r\n\r\n\ud83d\udd11gotrackit\u8fed\u4ee3\u66f4\u65b0\u5f88\u5feb\uff0c\u8bb0\u5f97\u5173\u6ce8\u7248\u672c\u66f4\u65b0\u4fe1\u606f\u54e6\ud83d\udd11\r\n\r\n**\u2757\u2757\u2757\u4e0d\u8981\u4e0b\u8f7dGitHub\u4ed3\u5e93\u4e0a\u7684\u4ee3\u7801\u6765\u4f7f\u7528!!! \u76f4\u63a5pip\u5b89\u88c5gotrackit\u4e3a\u7b2c\u4e09\u65b9\u5e93\u5373\u53ef\u4f7f\u7528\u2757\u2757\u2757**\r\n\r\n\ud83d\ude06\ud83d\ude01\ud83d\udc49[gotrackit\u7528\u6237\u624b\u518c](https://gotrackit.readthedocs.io/en/latest/)\ud83d\udc48\ud83d\ude1d\ud83d\ude09\r\n\r\n</div>\r\n\r\n**\ud83d\udcac\u7248\u672c\u72b6\u6001: 2024.12.26 \u5df2\u66f4\u65b0v0.3.16**\r\n\r\n- [\u652f\u6301\u8def\u5f84\u5339\u914d\u7ed3\u679c\u5230\u5fae\u89c2\u4eff\u771f\u7684\u8f6c\u6362](https://gotrackit.readthedocs.io/en/latest/blog/2024/12/08/ny-eve/)\r\n- \u8def\u5f84\u5339\u914d\u6a21\u5757\uff1a\u4f18\u5316\u6295\u5f71\u8ba1\u7b97\uff0c\u5339\u914d\u6548\u7387\u63d0\u5347\uff0c\u6784\u5efaNet\u65f6\u63d0\u4f9b\u4e86[prj_cache\u53c2\u6570](https://gotrackit.readthedocs.io/en/latest/Func%26API/Net/)\r\n- \u8def\u5f84\u5339\u914d\u6a21\u5757\uff1a[\u63d0\u4f9b\u4e86\u5bf9dir=-1\u7684link\u7684\u652f\u6301](https://gotrackit.readthedocs.io/en/latest/UserGuide/\u6570\u636e\u8981\u6c42/#-_1)\r\n- \u7ebf\u5c42\u6e05\u6d17\u51fd\u6570\uff1a[\u589e\u52a0\u73af\u8def\u3001\u81ea\u76f8\u4ea4\u8def\u6bb5\u7684\u6e05\u6d17\u529f\u80fd](https://gotrackit.readthedocs.io/en/latest/UserGuide/\u8def\u7f51\u4f18\u5316/#_2)\r\n- GIS\u5de5\u5177\u6a21\u5757\uff1a[\u589e\u52a0\u5730\u7406\u914d\u51c6\u63a5\u53e3](https://gotrackit.readthedocs.io/en/latest/UserGuide/GIS\u5de5\u5177/#_10)\r\n- \u5176\u4ed6\u4ee3\u7801\u4f18\u5316\u3001BUG\u4fee\u590d\r\n\r\n\r\n\r\n\r\n<div align=center>\r\n~ gotrackit\u529f\u80fd\u6982\u89c8 ~\r\n</div>\r\n\r\n<div align=\"center\">\r\n<a href=\"https://gotrackit.readthedocs.io/en/latest/\">\r\n <img src=\"docs/_static/images/FunctionGraph.png\" />\r\n</a>\r\n</div>\r\n\r\n\r\n\r\n\r\n<div align=center>\r\n~ \u7a00\u758f\u8f68\u8ff9\u5339\u914d\u4e0e\u8def\u5f84\u8865\u5168 ~\r\n</div>\r\n\r\n<br>\r\n\r\n\u6df1\u5733\u7a00\u758f\u8f68\u8ff9\u70b9\u6837\u4f8b1\uff1a\r\n<div align=\"center\">\r\n <img src=\"docs/_static/images/\u6781\u7a00\u758f\u8f68\u8ff9\u5339\u914d.gif\" />\r\n</div>\r\n\r\n\r\n<div align=\"center\">\r\n <img src=\"docs/_static/images/\u5339\u914d\u52a8\u753b\u6837\u4f8b3.gif\" />\r\n</div>\r\n\r\n\r\n<br>\r\n\r\n<div align=center>\r\n~ \u5e38\u89c4\u5339\u914d ~\r\n</div>\r\n\r\n<br>\r\n\r\n<div align=\"center\">\r\n <img src=\"docs/_static/images/\u5339\u914d\u52a8\u753b\u6837\u4f8b1.gif\" />\r\n</div>\r\n\r\n<div align=\"center\">\r\n <img src=\"docs/_static/images/kvs/hk_trip.gif\" />\r\n</div>\r\n\r\n<div align=\"center\">\r\n <img src=\"docs/_static/images/geojson_res.jpg\" />\r\n</div>\r\n\r\n<br>\r\n\r\n<div align=center>\r\n~ \u76ee\u524d\u4e24\u4e2a\u7528\u6237\u4ea4\u6d41\u7fa4\u4eba\u6570\u5747\u5df2\u8d85\u8fc7200\u4eba\uff0c \u8bf7\u6dfb\u52a0\u5c0f\u52a9\u624b\u5fae\u4fe1\u540e\u518d\u5165\u7fa4~\r\n</div>\r\n\r\n<div align=center>\r\n~ \u522b\u5fd8\u4e86\u7ed9\u9879\u76ee\u4e00\u9897star\u54e6\uff0c \u60a8\u7684\u652f\u6301\u662f\u6211\u8fed\u4ee3\u7684\u52a8\u529b ~\r\n</div>\r\n\r\n<br>\r\n\r\n<div align=\"center\">\r\n <img src=\"docs/_static/images/tk.jpg\" />\r\n</div>\r\n\r\n\r\n## 1. \u7b80\u4ecb\r\n\u672c\u5730\u56fe\u5339\u914d\u5305\u57fa\u4e8e\u9690\u9a6c\u5c14\u53ef\u592b\u6a21\u578b(HMM)\u5b9e\u73b0\u4e86\u8fde\u7eedGPS\u70b9\u4f4d\u7684\u6982\u7387\u5efa\u6a21\uff0c\u5229\u7528\u8fd9\u4e2a\u5305\u53ef\u4ee5\u8f7b\u677e\u5bf9GPS\u6570\u636e\u8fdb\u884c\u5730\u56fe\u5339\u914d\uff0c\u672c\u5f00\u6e90\u5305\u7684\u7279\u70b9\u5982\u4e0b:\r\n\r\n**\ud83d\ude3b\u6570\u636e\u65e0\u5fe7**\r\n- \u63d0\u4f9b\u8def\u7f51\u751f\u4ea7\u6a21\u5757\u4ee5\u53ca\u5927\u91cf\u8def\u7f51\u5904\u7406\u4f18\u5316\u5de5\u5177\uff0c\u60a8\u4e0d\u9700\u8981\u51c6\u5907\u4efb\u4f55\u8def\u7f51\u548cGPS\u6570\u636e\u5373\u53ef\u73a9\u8f6c\u5730\u56fe\u5339\u914d\uff1b\r\n- \u63d0\u4f9bGPS\u6837\u4f8b\u6570\u636e\u751f\u4ea7\u6a21\u5757\uff0c\u89e3\u51b3\u6ca1\u6709GPS\u6570\u636e\u7684\u96be\u9898\uff1b\r\n- \u63d0\u4f9bGPS\u6570\u636e\u6e05\u6d17\u63a5\u53e3\uff0c\u5305\u62ec\u884c\u7a0b\u5207\u5206\u3001\u6ee4\u6ce2\u5e73\u6ed1\u3001\u505c\u7559\u70b9\u8bc6\u522b\u3001\u70b9\u4f4d\u589e\u5bc6\u7b49\u529f\u80fd\u3002\r\n\r\n\r\n**\u2611\ufe0f\u6587\u6863\u9f50\u5168**\r\n- \u4e2d\u6587\u6587\u6863\uff0c\u6709\u8be6\u7ec6\u7684\u64cd\u4f5c\u6307\u5f15\uff1b\r\n- \u7b97\u6cd5\u539f\u7406\u8bb2\u89e3\u90e8\u5206\u4e0d\u6d89\u53ca\u590d\u6742\u7684\u516c\u5f0f\u63a8\u5bfc\uff0c\u4f7f\u7528\u52a8\u753b\u5f62\u5f0f\u5256\u6790\u7b97\u6cd5\u539f\u7406,\u7b80\u6d01\u660e\u4e86\u3002\r\n\r\n\r\n**\ud83d\ude80\u5339\u914d\u7b97\u6cd5\u4f18\u5316**\r\n- \u652f\u6301\u57fa\u4e8e\u8def\u5f84\u9884\u8ba1\u7b97\u7684FastMapMatching\u3001\u652f\u6301\u591a\u6838\u5e76\u884c\u5339\u914d\u3001\u652f\u6301\u7f51\u683c\u53c2\u6570\u641c\u7d22\uff1b\r\n- \u5bf9\u57fa\u4e8eHMM\u5339\u914d\u7684\u521d\u6b65\u8def\u5f84\u8fdb\u884c\u4e86\u4f18\u5316\uff0c\u5bf9\u4e8e\u4e0d\u8fde\u901a\u7684\u4f4d\u7f6e\u4f1a\u81ea\u52a8\u641c\u8def\u8865\u5168\uff0c\u5bf9\u4e8e\u5b9e\u9645\u8def\u7f51\u4e0d\u8fde\u901a\u7684\u4f4d\u7f6e\u4f1a\u8f93\u51fa\u8b66\u544a\u4fe1\u606f\uff0c\u65b9\u4fbf\u7528\u6237\u56de\u6eaf\u95ee\u9898\u3002\r\n\r\n\r\n**\ud83c\udf08\u5339\u914d\u7ed3\u679c\u652f\u6301\u52a8\u753b\u53ef\u89c6\u5316**\r\n- \u5339\u914d\u7ed3\u679c\u63d0\u4f9b\u4e09\u79cd\u8f93\u51fa\u5f62\u5f0f\uff1aGPS\u70b9\u5339\u914d\u7ed3\u679c\u8868(csv)\u3001\u5339\u914d\u7ed3\u679c\u77e2\u91cf\u5316\u56fe\u5c42\u3001\u77e2\u91cf\u56fe\u5c42\u5339\u914d\u52a8\u753b(HTML\u6587\u4ef6)\uff0cHTML\u52a8\u753b\u65b9\u4fbf\u7528\u6237\u76f4\u89c2\u5730\u611f\u53d7\u5339\u914d\u7ed3\u679c\uff0c\u540c\u65f6\u53ef\u4ee5\u63d0\u9ad8\u95ee\u9898\u6392\u67e5\u7684\u6548\u7387\u3002\r\n\r\n\r\n\r\n### 1.1. \u5982\u4f55\u5b89\u88c5gotrackit\r\n\r\n#### __\u4f7f\u7528pip\u5b89\u88c5__\r\n\r\n\u5b89\u88c5\uff1a\r\n\r\n``` shell\r\npip install -i https://pypi.org/simple/ gotrackit\r\n```\r\n\r\n\u66f4\u65b0\uff1a\r\n``` shell\r\npip install --upgrade -i https://pypi.org/simple/ gotrackit\r\n```\r\n\u8be6\u7ec6\u7684\u5b89\u88c5\u6559\u7a0b\u89c1\uff1a[\u5982\u4f55\u5b89\u88c5](https://gotrackit.readthedocs.io/en/latest/UserGuide/\u5982\u4f55\u4e0b\u8f7d/)\r\n\r\n### 1.2 \u5982\u4f55\u4f7f\u7528gotrackit\r\n\r\n- [\u7528\u6237\u624b\u518c](https://gotrackit.readthedocs.io/en/latest/)\r\n\r\n- [\u57fa\u4e8e\u9690\u9a6c\u5c14\u53ef\u592b\u6a21\u578b(HMM)\u7684\u5730\u56fe\u5339\u914d\u7b97\u6cd5\u52a8\u753b\u7248\uff01\u5b66\u4e0d\u4f1a\u4f60\u6765\u6253\u6211\uff01](https://www.bilibili.com/video/BV1gQ4y1w7dC)\r\n\r\n- [\u4e00\u4e2apython\u5305\u641e\u5b9a\u8def\u7f51\u83b7\u53d6+\u5730\u56fe\u5339\u914d\uff01](https://www.bilibili.com/video/BV1nC411z7Vg)\r\n\r\n- [gotrackit\u5730\u56fe\u5339\u914d\u5305\u53c2\u6570\u8be6\u89e3\u4e0e\u95ee\u9898\u6392\u67e5](https://www.bilibili.com/video/BV1qK421Y7hV)\r\n\r\n- [QGIS\u8def\u7f51\u62d3\u6251\u663e\u793a\u3001\u5e95\u56fe\u52a0\u8f7d\u3001\u6837\u5f0f\u590d\u7528\u3001map\u4fdd\u5b58](https://www.bilibili.com/video/BV1Sq421F7QX)\r\n\r\n\r\n### 1.3. \u5982\u4f55\u5f15\u7528gotrackit\r\n\r\n\u5982\u679c\u4f60\u60f3\u5728\u6587\u7ae0\u4e2d\u5f15\u7528gotrackit\uff0c\u8bf7\u9644\u4e0a\u4ee5\u4e0b\u94fe\u63a5\uff1a\r\n\r\n``` shell\r\nhttps://github.com/zdsjjtTLG/TrackIt\r\n```\r\n\r\n### 1.4. BUG\u63d0\u4ea4\r\n\r\n\u5982\u679c\u786e\u5b9a\u662fBUG\uff0c\u8bf7\u63d0\u4ea4\u5728\u4ee5\u4e0b\u9875\u9762\uff1a\r\n\r\n[BUG\u63d0\u4ea4\u9875\u9762](https://github.com/zdsjjtTLG/TrackIt/issues)\r\n\r\n\r\n## 2. \u8d21\u732e\u8005\u540d\u5355\r\n\r\n\u5728GoTrackIt\u7684\u8fed\u4ee3\u53d1\u5c55\u8fc7\u7a0b\u4e2d\uff0c\u4ed6\u4eec\u5bf9GoTrackIt\u63d0\u51fa\u4e86\u5f88\u591a\u5b9d\u8d35\u7684\u610f\u89c1\uff0c\u5e26\u6765\u4e86\u5927\u91cf\u5b9e\u7528\u7684\u8bbe\u8ba1\u601d\u8def\uff0c\u52a9\u529bGotTrackIt\u6210\u4e3a\u66f4\u52a0\u666e\u53ca\u7684\u5f00\u6e90\u9879\u76ee\uff01\r\n\r\n\r\n- \u9648\u5148\u9f99\uff0c314059@qq.com\uff0c\u5e7f\u5dde\u5e02\u4ea4\u901a\u89c4\u5212\u7814\u7a76\u9662\u6709\u9650\u516c\u53f8-\u6a21\u578b\u5de5\u7a0b\u5e08\r\n- \u90d1\u8d35\u5175\uff0c1441411885@qq.com\uff0c\u5e7f\u5dde\u5e02\u4ea4\u901a\u89c4\u5212\u7814\u7a76\u9662\u6709\u9650\u516c\u53f8-GIS\u5de5\u7a0b\u5e08\r\n- \u4e07\u5fd7\u6768\uff0c1115897470@qq.com\uff0c\u56db\u5ddd\u7701\u4ea4\u901a\u8fd0\u8f93\u53d1\u5c55\u6218\u7565\u548c\u89c4\u5212\u79d1\u5b66\u7814\u7a76\u9662-\u4ea4\u901a\u5927\u6570\u636e\u5de5\u7a0b\u5e08\r\n- \u90ed\u51ef\uff0crsroyceguo@gmail.com\uff0c\u72ec\u7acb\u5f00\u53d1\u8005\r\n- \u8d39\u6021\u7444\uff0c2022224127@chd.edu.cn\uff0c\u957f\u5b89\u5927\u5b66\u4fe1\u606f\u5de5\u7a0b\u5b66\u9662-\u7855\u58eb\u7814\u7a76\u751f\r\n- \u53c2\u8003\u4e86\u77e5\u4e4e\u7f51\u53cb @\u7a7a\u4e4b\u7bb1\u5927\u6218\u6625\u65e5\u5f71 \u5173\u4e8e\u6ee4\u6ce2\u7684\u4ee3\u7801\uff1a[\u6587\u7ae0\u94fe\u63a5](https://zhuanlan.zhihu.com/p/710241984/)\r\n- \u53c2\u8003\u4e86CSDN\u7f51\u53cb @\u778c\u7761\u7684\u4ee3\u7801\u4ed3\u5e93 \u5173\u4e8e\u8d1d\u585e\u5c14\u66f2\u7ebf\u7684\u4ee3\u7801\uff1a[\u6587\u7ae0\u94fe\u63a5](https://blog.csdn.net/qq_37643054/article/details/135938121)\r\n- \u53c2\u8003\u4e86\u67d0\u4f4d\u5927\u795e\u7f51\u53cb\u5173\u4e8e\u5750\u6807\u8f6c\u6362\u7684\u6587\u7ae0\uff0c\u8fd9\u4e2a\u7f51\u4e0a\u8d44\u6599\u592a\u591a\uff0c\u4e0d\u6e05\u695a\u662f\u8c01\u7684\u539f\u521b\uff0c\u5982\u6709\u4eba\u77e5\u9053\u53ef\u4ee5\u544a\u77e5\u4f5c\u8005\uff0c\u6211\u4eec\u4f1a\u5c06\u4ed6\u5217\u4e3a\u8d21\u732e\u8005\r\n- \u53c2\u8003\u4e86Paul Newson\u3001John Krumm\u7684\u8bba\u6587\uff1a[Hidden Markov Map Matching Through Noise and Sparseness](https://dl.acm.org/doi/10.1145/1653771.1653818)\r\n- \u53c2\u8003\u4e86\u6b66\u6c49\u5927\u5b66YangCan\u7684\u8bba\u6587\uff1a[Fast map matching, an algorithm integrating hidden Markov model with precomputation](https://www.tandfonline.com/doi/full/10.1080/13658816.2017.1400548)\r\n\r\n## 3. \u5730\u56fe\u5339\u914d\u5b9a\u4e49\r\n\r\n![car_gps.png](docs/_static/images/MapMatch.PNG)\r\n\r\n\r\n## 4. \u5730\u56fe\u5339\u914d\u5e94\u7528\u573a\u666f\r\n\r\n![car_gps.png](docs/_static/images/application.PNG)\r\n\r\n",
"bugtrack_url": null,
"license": "LICENCE",
"summary": "A Python Package for Map Matching Algorithm Based on Hidden Markov Model",
"version": "0.3.17",
"project_urls": {
"Homepage": "https://github.com/zdsjjtTLG/TrackIt"
},
"split_keywords": [
"hmm",
" mapmatching",
" net",
" link",
" node",
" hidden markov model",
" algorithm"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3e07ec6daf70dee8d302f0763e23c31fc26360c43df515d197d1648472392037",
"md5": "80a2b1ddcc2887f1e885941a2bd3a7ae",
"sha256": "a8720e5b584ca137369e43515f0b19bc64937920549acccc3bff32c5d2d6d241"
},
"downloads": -1,
"filename": "gotrackit-0.3.17-py3-none-any.whl",
"has_sig": false,
"md5_digest": "80a2b1ddcc2887f1e885941a2bd3a7ae",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 222947,
"upload_time": "2024-12-27T03:24:13",
"upload_time_iso_8601": "2024-12-27T03:24:13.741833Z",
"url": "https://files.pythonhosted.org/packages/3e/07/ec6daf70dee8d302f0763e23c31fc26360c43df515d197d1648472392037/gotrackit-0.3.17-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b4ed7ef62b16a49176c62dffb9220fde82d9d776a06db29471fe86c595f16da5",
"md5": "ded9b2aa93b6dff67589d1b95288c1be",
"sha256": "6f37ab1d30eacf2db33bd2f5f522b3369d1b4e19b30bd9595051c5176a2fd8f9"
},
"downloads": -1,
"filename": "gotrackit-0.3.17.tar.gz",
"has_sig": false,
"md5_digest": "ded9b2aa93b6dff67589d1b95288c1be",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 182966,
"upload_time": "2024-12-27T03:24:16",
"upload_time_iso_8601": "2024-12-27T03:24:16.882656Z",
"url": "https://files.pythonhosted.org/packages/b4/ed/7ef62b16a49176c62dffb9220fde82d9d776a06db29471fe86c595f16da5/gotrackit-0.3.17.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-27 03:24:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zdsjjtTLG",
"github_project": "TrackIt",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "mkdocs-material",
"specs": []
},
{
"name": "mkdocstrings",
"specs": []
}
],
"lcname": "gotrackit"
}