real-time gis: applying real-time analytics€¦ · applying real-time analytics perform real-time...

63
Real-Time GIS: Applying Real-Time Analytics RJ Sunderman GeoEvent Server Product Engineer, Esri [email protected] Ken Gorton National Government Solution Engineer, Esri [email protected]

Upload: others

Post on 22-Aug-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Real-Time GIS:

Applying Real-Time Analytics

RJ SundermanGeoEvent Server Product Engineer, Esri

[email protected]

Ken GortonNational Government Solution Engineer, Esri

[email protected]

Page 2: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

1

2

3

4

5

Agenda

Performing Analysis in Real Time

Use Case 1: Identifying Conditions

Use Case 2: Finding Patterns in Data

Use Case 3: Workforce Tracking

Summary & Resources

Page 3: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Performing Analysis in Real Time1

Page 4: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

ArcGIS Enterprisewith real-time & big data capabilities

DesktopWeb Device

visualization

live & historic

aggregates & features

map & feature service

• Ingest high velocity real-time

data into ArcGIS

• Perform continuous analytics

on events as they are received

• Notify those who need to

know about patterns of

interest

• Visualize high velocity & high

volume data:

- as an aggregation

- as discrete features

• Store observations in a

spatiotemporal big data store

• Run batch analytics on

stored observations

stream service

live features

ArcGIS

Enterprise

GeoEvent

Server

spatiotemporal

big data store

storage

ingestion

analytics

GeoAnalytics

Server

analytics

Page 5: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Applying real-time analyticsPerform real-time analytics by defining a GeoEvent Service

• 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: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Receiving and Sending Real-Time DataEasily integrate real-time streaming data into and out of ArcGIS using Connectors

GeoEvent Server

Inp

uts

Ou

tpu

ts

GeoEvent Services

Poll an ArcGIS Server for Features

Poll an external website for JSON

Poll an external website for XML

Receive JSON on a REST endpoint

Receive Features on a REST endpoint

Receive JSON on a WebSocket

Receive RSS

Receive Text from a TCP Socket

Receive Text from a UDP Socket

Receive XML on a REST endpoint

Subscribe to a WebSocket for JSON

Ou

t o

f th

e B

ox

REST

REST

Watch a Folder for New CSV files

Watch a Folder for New JSON files

.csv

.json

HTTP

WS

WS

HTTP

REST

Esri

Gallery

ActiveMQ

CAP

Instagram

GeoMessage

Cursor-on-Target

Trimble (TAIP)

Sierra Wireless (RAP)

RabbitMQ

Twitter

Kafka

NMEA

VMF

*

*

Ou

t o

f th

e B

ox

Add or Update a feature

Publish Text to a UDP Socket

Send a Text Message

Send an Email

Push Text to an external TCP Socket

Push GeoJSON or JSON to an external WebSocket

Push GeoJSON or JSON to an external Website

Send an Instant Message

Send Features to a Stream Service

Write to a CSV, GeoJSON, or JSON File .csv

WS

im

HTTP

Add a Feature to a Spatiotemporal Big Data Store

Update a feature in a Spatiotemporal Big Data Store

Part

ner

Gallery

CompassLDE

enviroCar

GNIP

FAA (ASDI)

exactEarth AIS

Waze

Valarm

Networkfleet

OSIsoft *

*

*

*

Zonar *

Amazon IoT

Azure IoT

You can create

your own input and output

connectors.

GeoMessage

Esri

Gallery

Cursor-on-Target

Hadoop

Kafka

MongoDB

MQTT

*

RabbitMQ

Twitter

Azure IoT Hub

ActiveMQ

Page 7: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Applying real-time analyticsGeoEvent Processing

• Perform continuous analytics on GeoEvents as they are received

using processors and filters.

GeoEvent Extension

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

Esri

Gallery

Bearing

Ellipse

Event Volume Control

Extent Enricher

Field Grouper

GeoNames Lookup

Range Fan

Reverse Geocoder

Service Area Creator

Symbol Lookup

Track Idle Detector

Unit Converter

Visibility

Motion Calculator Query Report

You can create

your own processors.

Page 8: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow
Page 9: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Fleet Asset Tracking Pseudo ServiceThe analytics behind the construction site example

Page 10: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Processors

• Some work only on geometry

• Some work on geometry and/or attributes

• Some respond to spatial and/or attribute conditions and generate new messages

• Processors typically transform the GeoEvent in some way

Page 11: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Filters

Use Boolean logic (AND, OR, NOT) to combine or negate expressions

Page 12: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Spatial Operators

intersect disjoint

touches contains

crosses equals

overlaps within

• Spatial operators at 10.2:

• Spatial operators at 10.3 and

beyond:

inside outside

enter exit

Page 13: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

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

GEOMETRY INTERSECTS ALL .* /.*

GEOMETRY DISJOINT ANY .* /.*

Page 14: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Spatial OperatorsExample: Overlapping GeoFences

• Intersects All geofences• Intersects Any geofence

Page 15: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

GeoFences

• Import from a feature service

- Reads once (good for static geofences)

• Synchronize with a feature service

- Periodically refreshes to update geofences

Load or synchronize GeoEvent Server with a feature service

Feature Service

Event FilteredEvent

Import Synchronize

GeoFences

• Category (e.g. “RestrictedZone”)

o SecurityPavilion

o LoadingDock

o ObservationHanger

Page 16: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

GeoFences

• GeoFences are constantly updated

- Allows geofences to become dynamic

• Requires active management and

purging of geofences as they expire

Synchronize GeoEvent Server with a stream service

Stream Service

Event FilteredEvent

Synchronize

GeoFences

• Category (e.g. “ActiveTracks”)

o A12345

o G65190

o K91263

Page 17: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Dynamic GeoFences

33.322336

-117.416323

Page 18: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Dynamic GeoFences

33.322125

-117.398225

Page 19: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Identifying Conditions (demo)2

Page 20: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Identifying conditions with real-time dataGeoEvent Service example

Page 21: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Identifying conditions with real-time dataGeoEvent Service example

Page 22: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Field Mapper processor

• Adjust the format of a GeoEvent

• Translates from one GeoEvent Definition to another

• Specifies how fields map across the GeoEvent Definitions

Page 23: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Field Mapper processor

TranslatedEvent

IncomingEvent

Mapping

TrackID J7890

Date 1405176845553

Geometry -117.123…, 36.064…

Category AnkleBraceletGPS

TrackID J7890

Date 1405176845553

Sensor 2

BatteryLevel Medium

Latitude 36.064

Longitude -117.123

Distance 0.01

DurationMin 1.03

SpeedMPH 0.62

CourseDeg 250.0

Geometry -117.123…, 36.064…

Category AnkleBraceletGPS

Page 24: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Identifying conditions with real-time dataGeoEvent Service example

Page 25: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Field Enricher processor

• Enrich a GeoEvent with new fields

• Uses an attribute join to retrieve values from an external table

• After the Field Enricher retrieves the required data from a data source

it enriches the GeoEvent with new fields derived from the source

Page 26: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Field Enricher processor

TrackID NoContact NoEntry

K90123 Temecula gangland

V10987 F65432 Pass Christian School

… … …

Event

EnrichedEvent

Feature Service

TrackID V10987

Date 1405176845553

BatteryLevel Low

Distance 105.6

Speed 1.2

Course 186.4

geometry -117.123…, 36.064…

TrackID V10987

Date 1405176845553

BatteryLevel Low

Distance 105.6

Speed 1.2

Course 186.4

geometry -117.123…, 36.064…

NoContact F65432

NoEntry Pass Christian School

Page 27: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Identifying conditions with real-time dataGeoEvent Service example

Page 28: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Buffer Creator processor

• Constructs a polygon around an event’s point, polyline, or polygon geometry

• Can enrich an event record (adding a new geometry field)

• Can also replace an event record’s geometry

Page 29: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Buffer Creator processor

TrackID S90909

Date 1405176845553

BatteryLevel High

Distance 0.2

geometry -117.123…, 36.064…

TrackID S90909

Date 1405176845553

BatteryLevel High

Distance 0.2

geometry -117.123…, 36.064…

buffer rings" : [ [ [ -116.3175, 33.6703],[-

116.3175, 33.6703]…]]

Event

EnrichedEvent

Buffer Creator

Page 30: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Identifying conditions with real-time dataGeoEvent Service example

Page 31: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Intersector processor

• Generates a geometry representing the intersection between a event record’s

geometry and a set of specified geofences

• Can enrich an event record (adding a new geometry field)

• Can also replace an event record’s geometry

Page 32: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Intersector processor

TrackID S90909

Date 1405176845553

BatteryLevel High

Distance 0.2

geometry rings" : [ [ [ -114.3175,

33.6703],[-114.3175,

33.6703]…]]

TrackID S90909

Date 1405176845553

BatteryLevel High

Distance 0.2

geometry -117.123…, 36.064…

intersection rings" : [ [ [ -116.3175, 33.6703],[-

116.3175, 33.6703]…]]

Event

EnrichedEvent

Intersector

Page 33: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Finding Patterns in Data (demo)3

Page 34: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Finding patterns in real-time dataGeoEvent Service example

Page 35: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Finding patterns in real-time dataGeoEvent Service example

Page 36: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

GeoTagger processor

• Enrich a GeoEvent with geographic context

• Uses a spatial expression to tag the event with related geometries

Page 37: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

GeoTagger processor

Event

EnrichedEventExpression

TrackID J7890

Date 1405176845553

Sensor 2

BatteryLevel Medium

Latitude 36.064

Longitude -117.123

Distance 0.01

DurationMin 1.03

SpeedMPH 0.62

CourseDeg 250.0

Geometry -117.123…, 36.064…

Category AnkleBraceletGPS

TrackID J7890

Date 1405176845553

Sensor 2

BatteryLevel Medium

Latitude 36.064

Longitude -117.123

Distance 0.01

DurationMin 1.03

SpeedMPH 0.62

CourseDeg 250.0

Geometry -117.123…, 36.064…

Category AnkleBraceletGPS

IsInside Temecula ganglandTemecula

gangland

Page 38: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Finding patterns in real-time dataGeoEvent Service example

19382,21472,39820,…CrimeIDs

Page 39: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Finding patterns in real-time dataGeoEvent Service example

Page 40: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Field Calculator processor

• Calculate new fields on a GeoEvent

• Uses an expression to calculate a new field or update an existing field

• Expressions can be mathematical expressions, string operations, or

function invocations which use regular expressions

Page 41: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Field Calculator processor

TrackID V10987

Date 1405176845553

BatteryLevel Low

Distance 0.02

Speed 1.2

Course 186.4

geometry -117.123…, 36.064…

TrackID V10987

Date 1405176845553

BatteryLevel Low

Distance 105.6

Speed 1.2

Course 186.4

geometry -117.123…, 36.064…

Event

EnrichedEventExpression

Convert fromFeet to MilesExpression:

Distance / 5280

Page 42: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Finding patterns in real-time dataGeoEvent Service example

Page 43: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Finding patterns in real-time dataGeoEvent Service example

Page 44: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Workforce Tracking (demo)4

Page 45: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Workforce Tracking

Page 46: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Workforce Tracking – Field Splitter

Page 47: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Field Splitter processor

• Splits delimited lists into multiple GeoEvents

• Lists can be a single delimited string (e.g. comma delimited values)

• A multicardinal version of this processor can handle more complex lists

Page 48: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Field Splitter processor

TrackID V10987

Date 1405176845553

BatteryLevel Low

msgCode 1

freeText “stopped for fuel and lunch”

Addresses “5712940342,

[email protected]"

geometry -117.123…, 36.064…

Event

EnrichedEventExpression

TrackID V10987

Date 1405176845553

BatteryLevel Low

msgCode 1

freeText “stopped for fuel and lunch”

Addresses “5712940342”

geometry -117.123…, 36.064…

TrackID V10987

Date 1405176845553

BatteryLevel Low

msgCode 1

freeText “stopped for fuel and lunch”

Addresses “[email protected]

geometry -117.123…, 36.064…

Page 49: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Workforce Tracking – Track Gap Detector

Page 50: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Track Gap Detector

• Detects the absence of events

• Enables alerts and notifications that expected data was not received

Page 51: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Track Gap Detector

trackId V10987

gap true

lastReceived 1405176855553

geometry -116.93…, 33.93…

trackId V10987

gap true

lastReceived 1405176855553

geometry -116.93…, 33.93…

GapClosed

GapDetected

TrackID V10987

Date 1405176845553

Geometry -116.93…, 33.93…

TrackID V10987

Date 1405176855553

geometry -116.93…, 33.93…

trackId V10987

gap true

lastReceived 1405176855553

geometry -116.93…, 33.93…

trackId V10987

gap true

lastReceived 1405176855553

Geometry -116.93…, 33.93…

trackId V10987

gap false

lastReceived 1405176915553

geometry -117.123…, 36.064…

TrackID V10987

Date 1405176915553

geometry -116.93…, 33.93…

TrackID V10987

Date 1405176925553

geometry -116.93…, 33.93…

TrackID V10987

Date 1405176935553

geometry -116.93…, 33.93…

TrackID V10987

Date 1405176945553

Geometry -117.123…, 36.064…

Page 52: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Workforce Tracking – Incident Detector

Page 53: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Incident Detector

• Detect that a condition has occurred and monitor its duration

• Uses filter expressions as opening and closing conditions

- Maintains state for the duration of an incident

- Closes the incident based on a closing expression or expiration

Page 54: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Incident Detectorid c982db54-…-3bbb61211eb6

name Geofence violation

type Cumulative

status Started

alertType Warning

openCondition (INSIDE(AnkleBraceletGPS/Tem

ecula gangland) AND (TrackID =

J7890))

closeCondition

description Started at 7/12/14 10:54 AM

timestamp 1405176865553

definitionName incident

definitionOwner com.esri.ges.processor/Incident

Detector/10.3.0

trackId J7890

geometry -117.123…, 36.064…

duration 0

dismissed false

assignedTo

note

IncidentEnded

IncidentStarted

GEOMETRY INSIDE

AnkleBraceletGPS-Geofences/Temecula Gangland

AND TrackID = J7890

gggggggggg

id c982db54-…-3bbb61211eb6

name Geofence violation

type Cumulative

status Ongoing

alertType Warning

openCondition (INSIDE(AnkleBraceletGPS/Tem

ecula gangland) AND (TrackID =

J7890))

closeCondition

description Ongoing for last 10 seconds.

timestamp 1405176875553

definitionName incident

definitionOwner com.esri.ges.processor/Incident

Detector/10.3.0

trackId J7890

geometry -117.123…, 36.064…

duration 10000

dismissed false

assignedTo

note

id c982db54-…-3bbb61211eb6

name Geofence violation

type Cumulative

status Ongoing

alertType Warning

openCondition (INSIDE(AnkleBraceletGPS/Tem

ecula gangland) AND (TrackID =

J7890))

closeCondition

description Ongoing for last 20 seconds.

timestamp 1405176885553

definitionName incident

definitionOwner com.esri.ges.processor/Incident

Detector/10.3.0

trackId J7890

geometry -117.123…, 36.064…

duration 20000

dismissed false

assignedTo

note

id c982db54-…-3bbb61211eb6

name Geofence violation

type Cumulative

status Ongoing

alertType Warning

openCondition (INSIDE(AnkleBraceletGPS/Tem

ecula gangland) AND (TrackID =

J7890))

closeCondition

description Ongoing for last 30 seconds.

timestamp 1405176895553

definitionName incident

definitionOwner com.esri.ges.processor/Incident

Detector/10.3.0

trackId J7890

geometry -117.123…, 36.064…

duration 30000

dismissed false

assignedTo

note

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..…

id c982db54-…-3bbb61211eb6

name Geofence violation

type Cumulative

status Ended

alertType Warning

openCondition (INSIDE(AnkleBraceletGPS/Tem

ecula gangland) AND (TrackID =

J7890))

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.3.0

trackId J7890

geometry -117.123…, 36.064…

duration 40000

dismissed false

assignedTo

note

Incident Detector

Page 55: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Workforce Tracking – Reverse Geocoder

Page 56: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Reverse Geocoder processor

• An example of a custom processor

• Enrich a GeoEvent with the street address nearest to the event’s location

- Uses a point geometry on the incoming event record to perform a reverse geocode

- Enriches the event record with new field(s) representing a matched address

Page 57: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Reverse Geocoder processor

Event

EnrichedEvent

Reverse Geocoder Service

REST

Reverse GeocoderTrackID J7890

Date 1405176845553

Sensor 2

BatteryLevel Medium

SpeedMPH 1.79

Geometry -116.97…, 33.98…

TrackID J7890

Date 1405176845553

Sensor 2

BatteryLevel Medium

SpeedMPH 0.01

Geometry -116.97…, 33.98…

Address 39583 Avenida Sonrisa

Neighbor

City Beaumont

Subregion

Region California

Postal 92223

PostalExt

CountryCode USA

Match_addr 39583 Avenida Sonrisa,

Beaumont, California, 92223

Loc_name USA.PointAddress

Page 58: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Summary & Resources5

Page 59: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

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

Applying real-time analytics

Page 60: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

SummarySelf-paced training and introductions to GeoEvent Server

• Step-by-Step Tutorials, free to download

- Introduction

- Stream services

- Spatiotemporal Big Data Store

- Notifications

• Blogs and discussions on the forum

- http://links.esri.com/geoevent-forum

• Video recordings of technical workshops

- http://www.esri.com/videos

Page 61: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

GeoEvent Technical PresentationsRemaining Sessions

All presentations at DevSummit 2017 are being recorded and will be available on-line after the conference

• GeoEvent Server: Best Practices Thu, 2:15-3:15pm, Primrose C-D

• Developing Real-Time Web Apps with JavaScript Thu, 3:00-3:30pm, Demo Theater 1, Oasis 1

• Big Data: Leveraging the Spatiotemporal Big Data Store Thu, 4:00-5:00pm, Catalina/Madera

• Building Android Location Awareness with GeoEvent Server Thu, 6:00-6:30pm, Mesquite C

• GeoEvent Server: Making 3D Scenes Come Alive Fri, 8:30-9:30am, Primrose C-D

• GeoEvent Server: Internet of Things (IoT) Fri, 1:00-2:00pm, Primrose

Page 62: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Please take our SurveyDownload the Esri Events App for iOS or Android

Page 63: Real-Time GIS: Applying Real-Time Analytics€¦ · Applying real-time analytics Perform real-time analytics by defining a GeoEvent Service • A GeoEvent Service configures the flow

Questions / Feedback?Questions / Feedback?

RJ Sunderman

GeoEvent Server Product Engineer, Esri

[email protected]

Ken GortonNational Government Solution Engineer, Esri

[email protected]