我有以下位置流,我可以通过网络界面访问它:
http://positionstub/interface/
它提供车辆当前所在位置的信息(纬度/经度)。它以 10hz 的速率刷新。
<response>
<data>
<position object="vehicle1" lat="22.268764" long="0.351563" />
<position object="vehicle2" lat="22.288704" long="3.142" />
</data>
</response>
我现在有在 XML 文件中定义的地理围栏,例如一个具有以下测量值的矩形:
<geofences>
<area id="area1" lat_min="22.103232" lat_max="22.103280" long_min="3.142323" long_max="3.142368"></area>
<geofences>
1.)是否有合适的方法/应用程序来分析此数据流,以在线检测车辆是在该地理围栏内还是外?
最后,该信息(地理围栏中车辆的进/出)应保存在数据库中,以便其他应用程序对其进行处理。
我读过有关 Storm 实时计算系统的信息:http://storm-project.net/
是否可以使用此工具实现此类地理围栏功能?或者我应该编写一个 C++ 软件来完成这项工作吗?
到目前为止,我只有 PHP 和 JS 等网络技术的经验。我怎么解决这个问题?我如何才能有效地在线分析此数据流?
此外,如果我可以分析此流中的复杂事件,那就太好了。
最佳答案
是的,你可以在 Storm 中构建这样的东西,这是一个不错的选择,因为你正在处理 Storm 真正擅长的事情(连续的数据流,易于并行化的计算)。
此外,由于您提到了 PHP 和 JS,您可以用任何您喜欢的方式编写 Storm 拓扑的组件,即使它不是 JVM 语言,尽管 Storm 的 Clojure DSL 非常好用且易于使用。
顺便说一句,如果您熟悉 JavaScript 并且不想学习 Storm,您可能需要考虑使用 Node.js 构建它。
关于php - 实时地理数据流分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16866064/