arcgis geoevent server - esri · -uses a filter expression to specify an opening and (optional)...

47
ArcGIS GeoEvent Server: Applying Real-Time Analytics Gregory Christakos Eric Ironside

Upload: others

Post on 21-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

ArcGIS GeoEvent Server:

Applying Real-Time Analytics

Gregory Christakos

Eric Ironside

Page 2: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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

Page 3: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Performing Analysis

in Real Time1

Page 4: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Apps

DesktopAPIs

analytics storage

visualization

ArcGIS EnterpriseWith Real-Time Capabilities

ingestion

actuation

Page 5: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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

Page 6: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident
Page 7: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Tracking and Assets Pseudo ServiceReal-Time Analytics Design

Page 8: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Component

Review2

Page 9: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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

Page 10: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Filters (continued…)

• You can use Boolean logic (AND, OR, NOT) to

combine expressions

Page 11: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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.

Page 12: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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

Page 13: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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 .* /.*

Page 14: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Spatial OperatorsOverlapping GeoFences

• Intersects “ALL” geofences• Intersects “ANY” geofence

Page 15: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Spatial Operators

Stateless

inside outside

intersect disjoint

touches contains

crosses equals

overlaps within

Stateful

enter exit

Page 16: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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)

Page 17: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Dynamic GeoFences

Page 18: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Use Case 1:

Identifying Conditions3

Page 19: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

• Monitor field crew movement

• Monitor lightning strikes

• Alert when lightning strikes near

fixed or mobile assets

Identifying

Conditions

Page 20: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident
Page 21: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Identifying Conditions with Real-Time DataDemo 1: Vehicle Tracking

• Input: Vehicle locations

• Output: Update asset feature service

• Field Mapper Processor: Change the schema

Page 22: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

• 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

Page 23: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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

Page 24: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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

Page 25: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Identifying Conditions with Real-Time DataDemo 1: Asset Status Analysis

Page 26: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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

Page 27: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing 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

Page 28: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Identifying Conditions with Real-Time DataDemo 1: Asset Status Analysis

Page 29: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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”

Page 30: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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”

Page 31: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Use Case 2:

Tracking and Asset

Recovery

4

Page 32: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Tracking & Asset

Recovery• Monitor field crew & asset

movement

• Real-time situational awareness

• Encounter notifications

Page 33: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident
Page 34: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Tracking & Asset RecoveryReal-Time Analytics Design

Page 35: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Tracking & Asset RecoveryReal-Time Analytics Design

Page 36: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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

Page 37: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Tracking & Asset RecoveryReal-Time Analytics Design

Page 38: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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

Page 39: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Tracking & Asset RecoveryReal-Time Analytics Design

Page 40: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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

Page 41: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Summary

& Resources5

Page 42: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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

Page 43: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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

Page 44: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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

Page 45: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

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”

Page 46: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident

Questions

FeedbackEric Ironside

ArcGIS GeoEvent ServerProduct Engineer, Esri

[email protected]

Gregory Christakos

ArcGIS GeoEvent ServerProduct Engineer, Esri

[email protected]

Page 47: ArcGIS GeoEvent Server - Esri · -Uses a filter expression to specify an opening and (optional) closing condition-Maintains state for the duration of the incident, closing the incident