Geotagger processor gives all geofences with exit option

3296
1
03-28-2014 06:12 AM
JeremyBabcock
New Contributor
I am using a geotagger to get the exact geofence that a vehicle is entering or leaving. I've set up the enter option successfully where it provides the geofence that was entered. When i set up the Exit, it lists All geofences from the group and not the specific fence Id that was exited. It appears to be a bug but I am hoping I am doing something wrong. Any help with this would be greatly appreciated.

Thanks!

[ATTACH=CONFIG]32593[/ATTACH]
0 Kudos
1 Reply
RJSunderman
Esri Regular Contributor
Hello Jeremy,

What you are observing was actually implemented by design. You might say that the spatial operators enter and exit are actually meta-operators - because they refer to a cache of prior events to determine the most recently received event"?s spatial relationship to the GeoFence being considered. A simpler operator, such as inside or outside, does not need to refer to a cache of prior events; at any given instant an event is either inside or outside a given GeoFence. But if we want to answer the question of whether the event has entered (vs. exited) a GeoFence, we need to first know if its last reported position was outside (vs. inside) the GeoFence.

Based on customer feedback during initial product development a decision was made that, when an event"?s prior position is not known, the enter spatial operator will report an event has "entered"� a GeoFence if the event is simply inside the GeoFence. The feedback was that customers did not want to miss an opportunity to GeoTag an event as being inside an area of interest only because the event"?s prior position was not known.

The logical opposite is that the exit spatial operator, when an event"?s prior position is not known, will report an event has "exited"� any GeoFence that the event is not inside. The obvious downside to this is that the first event received for a given track will be outside nearly every - and potentially all - known GeoFences. However, once an event"?s prior position along a track is known, the exit spatial operator will report an event has "exited"� a GeoFence only when the event was last inside the GeoFence and is now outside the GeoFence.

There are a couple of points above I would not want you to overlook.
  • When I say that the spatial operators enter and exit refer to a cache of prior events, this implies that the GeoEvent Service containing the GeoTagger processor has not been rebuilt. If you change any of the specified properties of any of the nodes (Input, Output, Filter, or Processor) within a GeoEvent Service and then publish the changes - or stop and restart the GeoEvent Processor - the GeoEvent Service"?s cache will be cleared and the service will behave as if it has never before received a position for a given track.
Which brings up the second point:
  • If the GeoEvent Definition used to interpret a specific class of event data does not have a TRACK_ID tag on a field which can be used to uniquely identify events occurring along a track, the spatial operators enter and exit will never know the last reported location for an event and will therefore always behave as if this is the first reported event for a track "� in which case you would expect a GeoTagger processor configured to tag events which exit a GeoFence to tag every received event with the name of every GeoFence the received event is not inside.

We are looking at implementing a switch which will allow an analyst to specify whether a GeoTagger should behave as described above - that is, default to inside and outside when an event"?s prior position is not known "� or whether the processor should strictly report "entry"� and "exit"� only if a prior position is known and indicates that the event was previously outside (for "entry"�) and inside (for "exit"�).

At the 10.2.1 / 10.2.2 releases, the only work around will be to ignore the tags applied to the first received event for a track since that event"?s position is needed to establish a history for enter and exit determinations to be valid.

Hope this information helps -
RJ
0 Kudos