arcgis geoevent server - esri · -uses a filter expression to specify an opening and (optional)...
TRANSCRIPT
ArcGIS GeoEvent Server:
Applying Real-Time Analytics
Gregory Christakos
Eric Ironside
Agenda:
Performing Analysis in Real-Time
Component Review
Use Case 1: Identifying Conditions
Use Case 2: Tracking & Asset Recovery
Summary & Resources
1
2
3
4
5
Performing Analysis
in Real Time1
Apps
DesktopAPIs
analytics storage
visualization
ArcGIS EnterpriseWith Real-Time Capabilities
ingestion
actuation
Applying Real-Time AnalyticsGeoEvent Services
• A GeoEvent Service configures the flow of GeoEvents
- The Filtering and GeoEvent Processing steps performed
- The input(s) data comes from and the output(s) to which results are sent
Tracking and Assets Pseudo ServiceReal-Time Analytics Design
Component
Review2
Filters
• Allow event records to pass only if a
conditional expression evaluates TRUE
• The expression can use attributes or
geometries you have established as geofences
Filters (continued…)
• You can use Boolean logic (AND, OR, NOT) to
combine expressions
Applying Real-Time AnalyticsProcessors and Filters
• Perform continuous analytics on GeoEvents as they are received
using processors and filters.
GeoEvent Server
Inp
uts
Ou
tpu
ts
GeoEvent Services
Buffer Creator
Convex Hull Creator
Difference Creator
Envelope Creator
Field Calculator
Field Enricher
Field Mapper
Geotagger
Incident Detector
Intersector
Projector
Simplifier
Symmetric Difference
Track Gap Detector
Field Reducer Union Creator
Ou
t o
f th
e B
ox
Add XYZ Fields Event Joiner
Feature to PointRange Fan Calculator
Bearing Calculator Event Volume Control
Esri
Gallery
Ellipse
Extent Enricher
Field Grouper
GeoNames Lookup
Reverse Geocoder
Service Area Creator
Symbol Lookup
Track Idle Detector
Unit Converter
Visibility
Motion Calculator
Query Report
Many more…
You can create
your own processors.
Processors
• Some work only on geometry
• Some work on attributes
• Some respond to conditions and generate new messages
• Processors typically transform the event record being processed in some way
Geo
metr
y
Buffer Creator
Intersector
Projector
Co
nd
itio
nal
Event Joiner
Incident Detector
Track Gap Detector
IncomingEvent
TransformedEvent
- Embellished- Added
- Subtracted
- Replaced
Processor
Fie
lds
Field Enricher
Field Mapper
Field Calculator
Spatial Operators
• Don’t confuse “ANY” and “ALL” with the regular expression pattern
used to select a set of geofences
GeoFence Selection vs. Spatial Operator Scope
Every Geofence (.*/.*)
AN
YA
LL
GEOMETRY INTERSECTS ANY .* /.*
Some Geofences (CATEGORY/.*)
GEOMETRY INTERSECTS ANY HAZARDZONE /.*
GEOMETRY DISJOINT ALL SAFEZONE /.*GEOMETRY DISJOINT ALL .* /.*
Spatial OperatorsOverlapping GeoFences
• Intersects “ALL” geofences• Intersects “ANY” geofence
Spatial Operators
Stateless
inside outside
intersect disjoint
touches contains
crosses equals
overlaps within
Stateful
enter exit
GeoFences
• Import from a feature service
- Reads once (good for static geofences)
• Synchronize with a feature or stream service
- Periodically refreshes to update geofences
- Effective when
- Geometry of a fence is changing
- Start/end times are in place
- Or when external forces cause fences to
activate/deactivate.
- Requires active management and purging of
geofences as they expire
Feature Service Synchronization
Event
Geometry Inside Any
RestrictedZone/.*Filtered Event
Import
(one-time)
Synchronize
(poll service)
Feature Service
GeoFences
• Category - Group of similar fences
• RestricedZone
• ServiceArea
• FacilityLocation
• Name - Unique identifier of a fence
• IsActive – yes/no
• Start/End Date
Synchronize
Stream Service
(Subscribe to stream service)
Dynamic GeoFences
Use Case 1:
Identifying Conditions3
• Monitor field crew movement
• Monitor lightning strikes
• Alert when lightning strikes near
fixed or mobile assets
Identifying
Conditions
Identifying Conditions with Real-Time DataDemo 1: Vehicle Tracking
• Input: Vehicle locations
• Output: Update asset feature service
• Field Mapper Processor: Change the schema
• Use a Field Mapper when you need to:
- Change the schema or structure of an event record
- Translate from one GeoEvent Definition to another
- Specify how attribute values map from an inbound to an outbound event record
Field Mapper Processor
TranslatedEvent
Incoming
Event
Mapping
TrackID (string) 7890
Date 1405176845553
Velocity 43
Heading 250
Geometry -117.123…, 36.064…
Category Field Crew
TrackID (int) 7890
Date 1405176845553
Sensor 2
BatteryLevel Medium
Latitude 36.064
Longitude -117.123
Distance 0.01
DurationMin 1.03
SpeedMPH 43.2
CourseDeg 250.0
Geometry -117.123…, 36.064…
Category Field Crew
Identifying Conditions with Real-Time DataDemo 1: Lightning Processing
• Input: Lightning locations
• Field Mappers
• Outputs: Update feature service
- Lightning points
- Lightning buffer polygons
• Field Calculator: End time
• Projector:
- Geographic -> projected CS
• Buffer Creator: Hazard zone
Buffer Creator Processor
• Use a Buffer Creator when you need to:
- Construct a polygon around an event’s point, polyline, or polygon geometry
- Enrich an event record by adding a new geometry field
- Replace an event record’s geometry with a derivative
TrackID S90909
Date 1405176845553
BatteryLevel High
Distance 0.2
geometry -117.123…, 36.064…
TrackID S90909
Date 1405176845553
BatteryLev
el
High
Distance 0.2
geometry rings" : [ [ [ -116.3175, 33.6703],[-
116.3175, 33.6703]…]]
EventEnriched
Event
Buffer Creator
Identifying Conditions with Real-Time DataDemo 1: Asset Status Analysis
Incident Detector
• Use an Incident Detector when you need to:
- Detect that a condition has occurred and monitor its duration
- Uses a filter expression to specify an opening and (optional) closing condition
- Maintains state for the duration of the incident, closing the incident when a
specific closing condition is observed
- Incidents may also close (expire) when no further events are received for the
TRACK_ID associated with the incident
Incident Detector
IncidentEnded
IncidentStarted
GEOMETRY INSIDE
LIGHTNING/.*
gggggggggg
TrackID J7890
Date 1405176845553
BatteryLevel Medium
Distance 0.01
DurationMin 1.03
SpeedMPH 0.62
Geometry -117.1..…, 36.0..…
TrackID J7890
Date 1405176855553
BatteryLevel Medium
Distance 0.01
DurationMin 1.03
SpeedMPH 0.62
Geometry -117.1..…, 36.0..…
TrackID J7890
Date 1405176865553
BatteryLevel Medium
Distance 0.01
DurationMin 1.03
SpeedMPH 0.62
Geometry -117.1..…, 36.0..…
TrackID J7890
Date 1405176875553
BatteryLevel Medium
Distance 0.01
DurationMin 1.03
SpeedMPH 0.62
Geometry -117.1..…, 36.0..…
TrackID J7890
Date 1405176885553
BatteryLevel Medium
Distance 0.01
DurationMin 1.03
SpeedMPH 0.62
Geometry -117.1..…, 36.0..…
TrackID J7890
Date 1405176895553
BatteryLevel Medium
Distance 0.01
DurationMin 1.03
SpeedMPH 0.62
Geometry -117.1..…, 36.0..…
TrackID J7890
Date 1405176905553
BatteryLevel Medium
Distance 0.01
DurationMin 1.03
SpeedMPH 0.62
Geometry -117.1..…, 36.0..…
TrackID J7890
Date 1405176915553
BatteryLevel Medium
Distance 0.01
DurationMin 1.03
SpeedMPH 0.62
Geometry -117.1..…, 36.0..…
TrackID J7890
Date 1405176925553
BatteryLevel Medium
Distance 0.01
DurationMin 1.03
SpeedMPH 0.62
Geometry -117.1..…, 36.0..…
TrackID J7890
Date 1405176935553
BatteryLevel Medium
Distance 0.01
DurationMin 1.03
SpeedMPH 0.62
Geometry -117.1..…, 36.0..…
Incident Detector
id c982db54-…-3bbb61211eb6
name Lightning Hazard
type Cumulative
status Started
alertType Warning
openCondition INSIDE(LIGHTNING/.*)
closeCondition
description Started at 7/12/14 10:54 AM
timestamp 1405176865553
definitionName incident
definitionOwner com.esri.ges.processor/Incident
Detector/10.7.0
trackId J7890
geometry -117.123…, 36.064…
duration 0
dismissed false
assignedTo
note
id c982db54-…-3bbb61211eb6
name Lightning Hazard
type Cumulative
status Ongoing
alertType Warning
openCondition INSIDE(LIGHTNING/.*)
closeCondition
description Ongoing for last 10 seconds.
timestamp 1405176875553
definitionName incident
definitionOwner com.esri.ges.processor/Incident
Detector/10.7.0
trackId J7890
geometry -117.123…, 36.064…
duration 10000
dismissed false
assignedTo
note
id c982db54-…-3bbb61211eb6
name Lightning Hazard
type Cumulative
status Ongoing
alertType Warning
openCondition INSIDE(LIGHTNING/.*)
closeCondition
description Ongoing for last 20 seconds.
timestamp 1405176885553
definitionName incident
definitionOwner com.esri.ges.processor/Incident
Detector/10.7.0
trackId J7890
geometry -117.123…, 36.064…
duration 20000
dismissed false
assignedTo
note
id c982db54-…-3bbb61211eb6
name Lightning Hazard
type Cumulative
status Ongoing
alertType Warning
openCondition INSIDE(LIGHTNING/.*)
closeCondition
description Ongoing for last 30 seconds.
timestamp 1405176895553
definitionName incident
definitionOwner com.esri.ges.processor/Incident
Detector/10.7.0
trackId J7890
geometry -117.123…, 36.064…
duration 30000
dismissed false
assignedTo
note
id c982db54-…-3bbb61211eb6
name Lightning Hazard
type Cumulative
status Ended
alertType Warning
openCondition INSIDE(LIGHTNING/.*)
closeCondition
description Ended at 7/12/14 10:54 AM and
lasted for 40 seconds
timestamp 1405176905553
definitionName Incident
definitionOwner com.esri.ges.processor/Incident
Detector/10.7.0
trackId J7890
geometry -117.123…, 36.064…
duration 40000
dismissed False
assignedTo
noteHazard
Area
Identifying Conditions with Real-Time DataDemo 1: Asset Status Analysis
Event Joiner
• Use an Event Joiner processor when you need to:
- Join two separate events based on a shared key value (e.g. TRACK_ID)
• Joined events must be two different GeoEvent Definitions
- can be same schema (e.g. matching fields)
Event “A”
TrackID S90909
Date 1405176845553
geometry rings" : [ [ [ -114.3175, 33.6703],[-114.3175,
33.6703]…]]
Event “AB_Joined”
A___TrackID S90909
A___Date 1405176845553
A___geometry rings" : [ [ [ -114.3175, 33.6703],[-114.3175,
33.6703]…]]
B___TrackID S90909
B___Date 1405176848964
B___BatteryLevel High
Event A
EnrichedEvent
Joiner
Event “B”
TrackID S90909
Date 1405176848964
BatteryLevel High
Event B
Key=“123”
Key=“123”
Event Joiner
• Caching options
- Clear – The receipt of exactly two new events will result in a new joined event..
- Don’t clear – The receipt of exactly one new event (assuming one is already cached for the
other) will result in a new joined event…
• This processor clears field tags:
- Always, use a field mapper afterwards
Event A
EnrichedEvent
Joiner
Event B
Key=“123”
Key=“123”
Use Case 2:
Tracking and Asset
Recovery
4
Tracking & Asset
Recovery• Monitor field crew & asset
movement
• Real-time situational awareness
• Encounter notifications
Tracking & Asset RecoveryReal-Time Analytics Design
Tracking & Asset RecoveryReal-Time Analytics Design
Bearing Calculator
• Use a Bearing Calculator when you need to:
- Calculate the bearing (or heading) between two sets of points in a single event
record
• Can specify two geometries, separate fields containing coordinates, or both
• Bearing can be returned as the bearing line, replacing the point geometry
TrackID A5472
Date 1405176845553
Speed 42.0
Distance 0.2
X -80.781
Y 35.100
X2 -80.793
Y2 35.089
TrackID A5472
Date 1405176845553
Speed 42.0
Distance 0.2
X -80.781
Y 35.100
X2 -80.793
Y2 35.089
Bearing 225.0
Event
A
B
Enriched Event
“Geometry A
Geometry B”
45°
Bearing Calculator
or
Tracking & Asset RecoveryReal-Time Analytics Design
Range Fan Calculator
• Use a Range Fan Calculator when you need to:
- Construct a polygon foreword of an event’s point geometry
- Represent the visual or contextual range of an event record
• Requires a range, bearing, and arc angle value as constants, or from existing fields
to calculate
TrackID S90909
Range 100.0
Bearing 90.0
Arc Angle 90.0
geometry -117.123, 36.064
TrackID S90909
Range 100.0
Bearing 90.0
Arc Angle 90.0
geometry rings" : [ [ [ -117.12…
Event Enriched
Event
Range Fan Calculator
Tracking & Asset RecoveryReal-Time Analytics Design
Event Volume Controller
• Use a Event Volume Controller processor when you need to:
- Control the rate of event records processed
• Uses the TRACK ID tag to monitor for unique events
• Controls event volume based on event record count & iterating time intervals
TrackID S4782
Time 08:05:01
Warning Asset Encountered!
geometry rings" : [ [ [ -114.3175...TrackID S4782
Time 08:05:02
Warning Asset Encountered!
geometry rings" : [ [ [ -114.3175...TrackID S4782
Time 08:05:03
Warning Asset Encountered!
geometry rings" : [ [ [ -114.3175...
TrackID S4782
Time 8:05:01
Warning Asset Encountered!
geometry rings" : [ [ [ -114.3175...
“ABC” “ABC”“ABC”
Event Volume Controller
T1 T2 T3
“ABC”
T1
1 Event per 3 seconds
T2
T3
“ABC”
T2
“ABC”
T3
T1
Summary
& Resources5
Summary
• ArcGIS is a dynamic platform that enables continuous analytics
and real-time visualization for better understanding of our world
• The ArcGIS GeoEvent Server allows you to:
- know what is happening, as it happens
- react and make smarter decisions faster
- be notified when interesting events occur
GeoEvent Server – Real-Time Analytics for your ArcGIS Enterprise
ResourcesSelf-Paced Training and Resources
• ArcGIS GeoEvent Server resources
- http://enterprise.arcgis.com/en/geoevent
- Updated Documentation
- Installation Guides
- System Requirements
- Tutorials
• Blogs and discussions on the forum
- http://links.esri.com/geoevent-forum
• Video recordings of technical workshops
- http://www.esri.com/videos
Real-Time and Big Data Technical Workshops
• Tuesday
– 8:30 - 9:30 ArcGIS GeoEvent Server: An Introduction
– 10:00 - 11:00 ArcGIS GeoEvent Server: Applying Real-Time Analytics
– 2:30 - 3:30 ArcGIS and the Internet of Things (IoT)
• Wednesday
– 8:30 - 9:30 ArcGIS GeoEvent Server: Visualizing Real-Time Data
– 10:00 - 11:00 Real-Time & Big Data GIS: Best Practices
– 1:00 - 2:00 ArcGIS GeoEvent Server: An Introduction 2nd offering
– 4:00 - 5:00 ArcGIS GeoEvent Server: Applying Real-Time Analytics 2nd offering
– 4:00 - 5:00 ArcGIS and the Internet of Things (IoT) 2nd offering
• Thursday
– 10:00 - 11:00 Real-Time & Big Data GIS: Best Practices 2nd offering
– 2:30 - 3:30 Real-Time & Big Data GIS: Road Ahead Only Offering
– 4:00 - 5:00 ArcGIS GeoEvent Server: Visualizing Real-Time Data 2nd offering
Please Share Your Feedback in the App
Download the Esri
Events app and find
your event
Select the session
you attended
Scroll down to
“Survey”
Log in to access the
survey
Complete the survey
and select “Submit”
Questions
FeedbackEric Ironside
ArcGIS GeoEvent ServerProduct Engineer, Esri
Gregory Christakos
ArcGIS GeoEvent ServerProduct Engineer, Esri