Group Output GeoEvents by Category

5464
4
03-24-2015 07:51 PM
KDeVogelaere
Occasional Contributor

Is it possible to group similar GeoEvents belonging to the same GeoFence?  Instead of sending 5 notifications for 5 features Intersecting with a GeoFence, is it possible to send only one notification containing field-attributes from all 5 Input features?

Tags (2)
0 Kudos
4 Replies
KDeVogelaere
Occasional Contributor

Here is the response I received back from Support:

"Thanks for contacting ESRI Support.

There's no way to group features and send one notification instead of individual ones. 10.3 has a new "Envelope Creator" but even with that, there's no way to pull attributes from all features within that envelope into one notification. Below is a link to the New stuff in 10.3.

http://server.arcgis.com/en/geoevent-extension/latest/get-started/whats-new-in-geoevent-extension-fo...

Kindly let me know if you have more questions on this issue."

0 Kudos
KDeVogelaere
Occasional Contributor

Does anyone have a workaround for this?  See visual below.

Emails.png

0 Kudos
RJSunderman
Esri Regular Contributor

Generally speaking, each GeoEvent processed through a GeoEvent Service is independent. We don’t know when an event is going to arrive, and out-of-the-box processors do not cache event data – with a few exceptions. A Track Gap processor, for example, will cache the field tagged TRACK_ID and the date/time the last event with the cached TRACK_ID was observed … obviously so that it can produce an event when its timer expires and it determines that an event with TRACK_ID has not been seen in the specified time. A filter will cache some event information if it is configured with an ENTER or EXIT condition, since it has to know something about the previous event in order to determine if the event just received has entered / exited an area of interest.

Our backlog of enhancements for 10.4 includes the concept of node-level caching, event aggregation, and temporal filtering. Big topics all, but enhancing the underlying implementation to provide node-level caching – so that any given processor / filter in a GeoEvent Service could interrogate a cache to retrieve a set of events previously received – would allow the development of an “aggregator” processor which could provide some basic statistical analysis:

  • Send a single event out every 30 seconds whose Capacity field value is the largest observed
  • Send a single event out every 30 seconds with an average of all of the observed Capacity values
  • Sent a summary (or count) of all events received over the last 30 seconds which satisfy some attribute or spatial expression

We’re eliciting requirements in these areas. I cannot commit that they will make the 10.4 release. My suspicion is that the 10.4 focus will be on increasing event throughput from “thousands” of events per second to “tens-of-thousands” of events per second. Obviously this presents a challenge to any sort of node-level caching enhancement. Just how much data to we expect GeoEvent to cache and which system resource (disk or memory) is going to take the hit?

You might consider experimenting with the new spatial relationship operators available to filters – introduced at the 10.3.0 release. We tend to think of GeoFences as polygon areas then test to see if an event’s Geometry (a Point) is “inside” or “outside” the GeoFence.

But the geometry of a GeoFence is not limited to a polygon. You could import a set of point features as your GeoFences and if the Geometry of a received event is a polygon, a filter could check to see which point GeoFences intersect the polygon event Geometry. A GeoTagger then, which is just a particular combination of a spatial filter and an event enricher, could produce a comma-separated list of the name of each point GeoFence which intersects a received polygon event Geometry.

Here are the new spatial operators available for GeoEvent filtering (introduced with the 10.3 product release):

Capture.png

Hope this information helps –

RJ

KDeVogelaere
Occasional Contributor

Thanks RJ, I look forward to testing this out at the next version.  We followed your recommendation and put in a request to upgrade to version 10.3.1 (May 2015), so we wouldn't be behind a version in our next upgrade.  Great visual of the new Operators introduced at 10.3.

An alternative idea we've kicked around is storing the GEP responses in a geodatabase to build our statistics from and writing scripts to handle the notifications or sending the data back into GEP to process the notification.  There are probably other ways to design this I haven't thought of yet.

Best of Luck, K

Update 10/22/2015-- We have explored this topic further and published our findings on Grouping and Summarizing GeoEvents

0 Kudos