应用卡尔曼滤波使用 GeoCordinates 跟踪用户的移动性

问题描述

我正在尝试实现一个简单的卡尔曼滤波器,该滤波器将用于使用一组地理坐标或来自 Twitter 推文地理数据的地点 ID 来跟踪用户移动。

基本上,我正在使用 Twitter 数据计算移动模式?给定大量推文,其中一些带有地理坐标,一些带有位置 ID,我们可以使用(或开发)哪些方法来检查用户去了哪里,他们移动了多少,以及他们什么时候回到“家”。

任何人都可以对此有所了解吗?

解决方法

我会说这个问题目前的形式非常含糊,而且非常不完整。我不熟悉推特的地理数据,地理坐标是纬度和经度吗?或者它们会在其他一些以地球为中心的坐标系中表示。我可以假设您可以将地点 ID 转换为相同的表示吗?如果是这样,您的过滤器实现将变得更加简单。

总而言之,是的,可以跟踪用户的坐标,前提是测量频率足够好,并且您正在为每个用户应用正确的运动和观察模型。如果您已经有一个与每个地理坐标相关联的 ID(我认为就是这种情况),那么您的过滤器实现将进一步简化为运行多个卡尔曼过滤器实例(每个用户一个)。

最后,我假设地理数据是嘈杂的,也许这就是您想要使用卡尔曼滤波器跟踪坐标的原因。

你知道他们家在哪里吗?或者您想通过分析他们的动作来使用过滤器检测到这一点吗?

最后,我将讨论您可能需要解决的一些问题,如果您不熟悉过滤,我建议您首先跟踪一位用户的动作并开始阅读 www.kalmanfilter.net 指南。如果地理数据提供纬度/经度,则 utm (x,y) 坐标将通过非线性函数获得,从而促使您使用具有非线性观测模型的过滤器。就运动模型而言,我认为您可以使用简单的线性完整模型(对于行人来说应该足够了),但是如果用户正在驾驶汽车呢?良好跟踪的关键是测量频率。您多久会获得这些职位测量结果?它们是否足以满足您的应用需求?

也许您应该进一步澄清您想要跟踪的究竟是什么? “他们移动了多少?”是什么意思?意思。是否仅使用离散过滤器跟踪在有限数量的地方(例如图中的节点)上花费的访问量和时间就能满足您的要求?

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...