我有以下位置流,我可以通过网络界面访问:
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技术有过经验。我怎么解决这个问题?如何在线有效分析此数据流?
此外,如果我可以分析此流以查找复杂事件,那将是很好的。
答案 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。