轨迹处理库

tracktotrip的Python项目详细描述


#track to trip
*tracktotrip*是一个处理GPS轨迹的库。

主要目标是将(GPX)**轨迹转换为行程**。

>;**轨迹**
>;GPS记录的原始表示。它不精确,有噪音,有价值的信息被隐藏。


>;**行程**
>;一个或多个处理轨迹的结果。它的起点和终点具有语义意义,如家、工作或学校。它有更少的错误和它的压缩,以尽可能少的信息丢失。简而言之,行程是记录的真实路径的近似值。

racktottrip
```

**python 2.x**是必需的,主要是因为[ikalman]包(https://github.com/ruipgil/ikalman)的缘故。

int是[track](../master/tracktotrip/track.py)、[segment](../master/tracktotrip/segment.py)和[point](../master/tracktotrip/point.py)类。


\track](../master/tracktotrip/track.py)可以从GPX文件加载:

段,点

track=track.from_gpx(open('file_to_track.gpx','r')
````

track可以用'to_trip'方法转换为行程。将轨道转换为行程执行以下步骤:

1。使用[卡尔曼滤波器](../master/tracktotrip/smooth.py)


2平滑段。对每个片段进行时空分割,使用[dbscan算法](../master/tracktotrip/spatiotemporal_segmentation.py)查找时空簇


3。压缩每个段,使用[时空感知压缩算法](../master/tracktotrip/compression.py)


轨迹由"段"组成,每个段由"点"组成。


rite(track.to_gpx())
````

目前,库不支持提升。


p/compression.py)实现路径压缩算法,如:
-`drp`:douglas ramer-peucker算法
-`td-sp`:top-down-speed-based轨迹压缩算法[1]
-`td-tr`:top-down-time-ratio轨迹压缩算法[1]
-`spt`:a组合在"td-sp"和"td-tr"[1]

+[`tracktotrip.kalman.kalman滤波器`](../master/tracktotrip/kalman.py)中,执行点列表中的kalman滤波器

+[`tracktotrip.learn-trip`](../master/tracktotrip/learn-trip.py)实现
-`trip-learn`使用的学习行程
-`complete-trip`用于查找两点之间的行程

+[`tracktotrip.location.infere-location`](../master/tracktotrip/location.py)使用已知位置,而web api(如google和foursquare)实现功能。

+[`tracktotrip.similarity`](../master/tracktotrip/similarity.py)n为了找到两个"segment"之间的相似性

+[`tracktotrip.smooth`](../master/tracktotrip/smooth.py)实现了一些函数来减轻kalman在第一次预测中的精度不足(../master/tracktotrip/spatiotemporal_segmentation.py)使用dbscan算法进行时空分割

+[`tracktotrip.transportation_mode`](../master/tracktotrip/transportation_mode.py)实现传输学习和预测功能,如:
-`extract_features_2`从一组点中提取特征
-`learn_transportation_mode`学习轨迹的传输模式
-`speed_clustering`实现变化点分段,并对变化点之间的子段进行分类

*tracktotrip*具有灵活性,有许多段落米。有关一般参数,请参阅数据库进展2004年《移动点对象、Nirvana Meratnia和Rolf a.de的时空压缩技术》(https://github.com/ruipgil/processmysteps/blob/master/processmysteps/default-config.py)。e technology-EDBT 2004:2004年3月14日至18日在希腊克里特岛赫拉克利翁举行的第九届扩展数据库技术国际会议,运输模式分类,运输模式分类,tracktotrip使用sklearn分类器的包装。我们考虑了两种不同的分类器:随机梯度下降分类器(http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.sgdclassier.html sklearn.linear_model.sgdclassier)和购物车决策树分类器(http://scikit-learn.org/stable/modules/generated/skle)。arn.tree.decisionTreeClassifier.html sklearn.tree.decisionTreeClassifier),都由[sklearn]实现(http://scikit learn.org/)。

ITY差异。
对于每个子段,我们提取特征。

特征提取基于累积速度和花费的时间。我们创建了一个[柱状图](../master/docs/histogram.pdf),其中箱子的速度(四舍五入)和箱子的值是在某个速度下花费的时间百分比(箱子10是10km/h)。然后我们创建一个[累积直方图](../master/docs/cum_histograms.pdf),并提取累积值超过10、20%到90%的速度。

例如,对于标记为*walk*的子分区,我们得到特征:

```
[0、0、1、1、2、2、3]
```

这意味着90%(索引8)的速度是3km/h,50%(索引4)的子分区花费在2km/h以下。

为了训练我们使用的默认分类器[地球生命GPS轨迹](https://www.microsoft.com/en-us/download/details.aspx?id=52367)数据集。我们提供命令行脚本来下载数据集并将其转换为gpx。

Foot标签包括标记为*Run*和*Walk*的数据。列车标签由标记为*列车*和*地铁*的数据组成。而*车辆*标签是*出租车*、*公共汽车*、*摩托车*和*汽车*样品的组合。由于两个原因,我们压缩了可能的标签:
+缺少相关数据。只有4个样本被标记为*run*;
+属于同一类别的运输方式。*出租车*、*汽车*和*公共汽车*是相似的交通方式,具有相似的功能设置。
我们也不使用标记为*船*和*自行车*的轨道。因为只有7个*boat*样本,而且由于*bike*功能降低了分类质量,我们很少使用。

d分类器的得分在84%到86%之间(我们在训练期间使用随机排列)。使用决策树我们得到83%的分数。使用*bike*标签,这些值下降到70%左右。

[classification\u validation.txt文件提供了更多详细信息s](../master/docs/classifier_validation.txt)。

rip_utils.py[-h][-a][-s][-o][-eps]
[-mintime mintime][-seed seed]
track[track…]output_folder


operate tracks

positional arguments:
track track to process,必须是GPX文件
output_folder

--Organize获取所有轨迹并分割它们,根据起始日期
命名它们--EPS到其他点的最大距离。拆分时使用。
默认值为1.0
--拆分所需的最小时间(秒)。默认为
120
--种子随机数生成器种子。匿名化时使用
```

`````

````
用法:tracktotrip``u geolife`.py[-h][-o outputfolder][-d]
datasetfolder


geolife tracktotrip`

传输模式从数据集提取到单独的文件中,并用
注释为以下格式:[传输模式].[控制].[点].[原始文件
名称].gpx


位置参数:
geolife数据集文件夹的dataset folder路径

元素:
-h,--help显示此帮助消息并退出
-o output folder,--outputfolder
processed dataset的路径
-d,--download传递此标志以将geolife数据集下载到
指定的文件夹要处理它,请使用tracktotrip-build-classifier.py[-h][-o outputfolder][-f功能]
[-l标签]
datasetfolder



dataset folder到数据集的路径,例如geolife数据集

s features
path to features file to use
-l labels,--labels labels
path to features file to use

`````

平行项目

[*gathermysteps*](https://github.com/ruipgil/gathermysteps)是一个webapp,它兼作轨迹编辑器和语义注释器。它由[*processmysteps*](https://github.com/ruipgil/processmysteps)支持,这是一个使用*tracktotrip*.

[*gpxplorer*](http://ruipgil.com/gathermysteps)的python后端应用程序,是[*gathermysteps*]的跟踪编辑器专用分支(https://github.com/ruipgil/gathermysteps)

三个项目是我硕士论文的一部分。叉子2英寸。进行更改
3。创建测试用例
4。带*Pylint*
5的绒布。发送pr

此项目还遵循[google python style guide](https://google.github.io/styleguide/pyguide.html)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在不扩展小程序的情况下使用小程序方法?   Java/包含点的排序数组   java如何在EJB项目中创建会话?   java JavaFX我切换了场景,但我不能再回来了   环境变量为java设置类路径时%classpath%的含义是什么   java如何使用Serenity BDD管理浏览器选项卡?   java如何创建一个。gwt中的war文件在eclipse中使用maven?   java使用java程序更新HTML文件   Java、SQLite、向数据库插入数据   java无法在RPi上安装JDK 16   在不进行反射的情况下调用动态java方法   如何在Ubuntu上安装Eclipse和Java SDK?   JavaSSHMySQL连接   在内存和性能方面,用Java每秒打印格式化日期+时间的最有效方法是什么?   java如何匹配映射返回类型的键和值?   java JUnit测试挂起在clientSocket上。接受()?   jbossweb中的java系统属性引用。服务器启动时未解析xml   java如何在set操作中使用arrayUnion   java 安卓。看法充气异常:二进制XML文件行#22