У меня есть следующий поток позиции, к которому я могу получить доступ через веб-интерфейс:
http://positionstub/interface/
Он предоставляет информацию (широта / долгота), где находится транспортное средство в данный момент. Он обновляется со скоростью 10 Гц.
<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, хотя Clojure DSL для Storm очень удобен и прост в использовании.
Кроме того, если вы знакомы с JavaScript и не хотите заниматься изучением Storm, вы можете рассмотреть возможность его создания с использованием Node.js.
Новый процессор GeriEvent для ArcGIS от Esri — это именно то, что вам нужно. Это не будет дешево, хотя.
Я не уверен, какова политика SO в отношении рекламы / продвижения несвободного программного обеспечения, так что извините, если это кажется спамом. Я не работаю на Эсри. Я не буду предоставлять ссылку, но вы можете легко Google это.