在时间顺序(LAT,Lon)位置数据中检测停止位置
infostop的Python项目详细描述
信息停止
Python包,用于检测移动数据中的停止位置
该软件包实现了文中描述的算法,用于检测时间顺序位置数据中的停止位置。
用法
给定位置跟踪,例如:
>>>dataarray([[55.75259295,12.34353885],[55.7525908,12.34353145],[55.7525876,12.3435386],...,[63.40379175,10.40477095],[63.4037841,10.40480265],[63.403787,10.4047871]])
可以使用以下方法获得停止位置解决方案:
>>>importinfostop>>>labels=infostop.label_trace(data)
这里,labels
的大小与data
匹配,并且可以很容易地映射回data
:
>>>np.hstack([data,labels.reshape(-1,1)])array([[55.75259295,12.34353885,0.],[55.7525908,12.34353145,0.],[55.7525876,12.3435386,0.],...,[63.40379175,10.40477095,164.],[63.4037841,10.40480265,164.],[63.403787,10.4047871,164.]])
将此绘制到地图上:
优点
- Simplicity:该方法的核心工作分为两步(1)减少对每个固定事件的媒体的位置跟踪;(2)将产生的位置嵌入到连接用户定义距离内的位置的网络中,并对该网络进行聚类。
- flow-based:空间簇对应于位置点的集合,这些位置点在表示为网络时包含大量流。这样可以恢复跟踪稍微重叠的位置 LI> {STR 1 } $速度< /强>:首先将点空间缩小到固定点的中值,然后利用向量函数实现HeaveNin函数的中间值之间的成对距离,最后利用基于C++的FIOMAP实现将所得到的网络在一定的距离阈值上聚类。例如,对70.000个位置点进行聚类大约需要16秒
安装
pip install infostop