分析实时地理数据流

时间:2013-05-31 21:11:48

标签: php python c++ hadoop apache-storm

我有以下位置流,我可以通过网络界面访问:

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等Web技术有过经验。我怎么解决这个问题?如何在线有效分析此数据流?

此外,如果我可以分析此流以查找复杂事件,那将是很好的。

2 个答案:

答案 0 :(得分:4)

是的,你可以在Storm中构建这样的东西,而且它是一个很好的选择,因为你正在处理Storm真正擅长的事情(连续的数据流,易于并行化的计算。

此外,既然你提到了PHP和JS,你就可以在任何你喜欢的东西中编写Storm拓扑的组件,即使它不是JVM语言,尽管Clojure DSL for Storm非常好用且易于使用

顺便说一句,如果您对JavaScript感到满意并且不想学习Storm,那么您可能需要考虑使用Node.js来构建它。

答案 1 :(得分:3)

Esri的新GeoEvent处理器for ArcGIS正是您所需要的。但它并不便宜。

我不确定宣传/推广非自由软件的SO政策是什么,所以如果这看起来很垃圾,请原谅我。我不为Esri工作。我不会提供链接,但您可以轻松Google。