ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS...

42
ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications Ken Leung Louis Pang

Transcript of ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS...

Page 1: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

ArcGIS GeoEvent Extension for Server:

An Introduction to Building Real-Time

Web ApplicationsKen Leung

Louis Pang

Page 2: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

What is Real-Time GIS?

Page 3: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

GIS Data

• GIS data typically represents state at a specific moment in time:

“historic”, “current”, or “future”.

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

Credit: iStockphoto/chris_lemmens

Page 4: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Real-Time GIS Data

• Real-time GIS data is a continuous stream of events flowing from sensors, where each event

represents the latest state of the sensor.

- Emergency response

- Utility networks

- Warehouses

- Environmental

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

FeaturesChallenge #1

ApplicationsNetwork Sensor

Warehouse Item

110°

Storm

Wind

Temperature

Earthquake

Wild Fire

Police Person

Ambulance

Police Car

Page 5: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Real-Time Analytics

• What fishing vessels are inside designated “no fishing” zones?

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

Features

Challenge #2

Continuous

Analysis

Inside

Boundary

Vessel

Alert

Applications

Page 6: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Real-Time Notifications and Alerting

• Tell a parent when their child leaves school property.

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

Challenge #3

Continuous

AnalysisFeatures

Outside

Boundary

Child

Applications

Page 7: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

ArcGIS GeoEvent Extension for Server

• Integrates real-time streaming data

into ArcGIS

• Performs continuous processing and

real-time analytics

• Sends updates and alerts to those

who need it

where they need it

Integrates and Exploits real-time data

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

GeoEvent

Services

GeoEvent

Extension

ArcGIS Server

Input

Connectors

ws://

Output

Connectors

Page 8: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Working with Real-Time Data

Page 9: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Working with Real-Time Data

• Connect an output to your feature

• Import the schema of your feature as a GeoEvent Definition

• Configure an input to receive real-time data

• Author and publish a GeoEvent Service

• Visualize your real-time feature

Making features come alive

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

GeoEvent Extension

Ou

tpu

ts

Inp

uts

GeoEvent Services

ArcGIS Server

Operations Dashboard

for ArcGIS

operation views

web maps

ArcGIS Online /

Portal for ArcGIS

feature services

GeoEvent Definitions

Page 10: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Receiving Real-Time DataInput Connectors

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

• Easily integrate real-time streaming data with ArcGIS by using an input connector.

You can create

your own

connectors.

GeoEvent Extension

Inp

uts

Ou

tpu

ts

GeoEvent Services

Receive RSS

Receive text from a TCP Socket

Receive text from a UDP Socket

Receive JSON on a REST endpoint

Receive Features on a REST endpoint

Receive JSON on a Web Socket

Receive JSON on external Web Socketws://

http://

http://

ws://

Poll an ArcGIS Server for Features

Poll an external website for JSONhttp://

Watch a folder for new .csv files

Watch a folder for new .json files

.csv

.json

Ou

t o

f th

e B

ox

Esri

Gallery

Twitter

Instagram

VMF

Cursor-on-Target

CAP

TAIP (Trimble)

NMEA

RabbitMQ

RAP (Sierra Wireless)

GeoMessage

ActiveMQ

Part

ner

Gallery

GNIP

Geofeedia

OSIsoft

ASDI (FAA)

exactEarth

Zonar

NetworkFleet

CompassCom

Valarm

Harris

Page 11: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Sending Real-Time Data

• Easily send updates and results to those who need it, where they need it using an output

connector.

Output Connectors

You can create

your own

connectors.

GeoEvent Extension

Inp

uts

Ou

tpu

ts

GeoEvent Services

Ou

t o

f th

e B

ox

Add a feature

Update a feature

Publish JSON to a Web Socket

Push JSON to an external Web Socketws://

ws://

Send a text message

Send an instant message

Send an email

im

Publish text on a TCP Socket

Publish text on a UDP Socket

Write to a .csv file Write to a .json file.csv .json

Publish JSON to an external website

Publish on a REST endpoint

http://

Twitter

Esri

Gallery

ActiveMQ

RabbitMQ

Hadoop

MongoDB

CESIUM

Part

ner

Page 12: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Demo

Making Feature

Come Alive

Page 13: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Applying Real-Time Analytics

Page 14: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Applying real-time analytics

• A GeoEvent Service configures the flow of GeoEvents,

- The Filtering and GeoEvent Processing steps to perform,

- what input(s) to apply them to,

- and what output(s) to send the results to.

GeoEvent Services

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

Page 15: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Applying real-time analytics

• A Filter eliminates GeoEvents based on an expression.

Filtering

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

=

=

=

=

Page 16: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Filtering, Change Symbology,

Threshold Detection

Airplane Noise

Monitoring System

Page 17: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Applying real-time analytics

• You can perform continuous analytics on GeoEvents as they are received using a processor.

GeoEvent Processing

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

GeoEvent Extension

Inp

uts

Ou

tpu

ts

GeoEvent Services

Ou

t o

f th

e B

ox

Field Enricher

Field Reducer

Track Gap Detector

Incident Detector

Field Mapper

GeoTagger

Field Calculator

You can create

your own

processors.

Track Idle Detector

Esri

Gallery ETA Calculator

Service Area

Buffer

Ellipse

Range Fan

Visibility

Query Report

Slope Calculator

SD

K

Volume Control

Page 18: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Applying real-time analytics

• You can perform continuous analytics on GeoEvents as they are received using a processor.

GeoEvent Processing

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

GeoEvent Extension

Inp

uts

Ou

tpu

ts

GeoEvent Services

Ou

t o

f th

e B

ox

Field Enricher

Field Reducer

Track Gap Detector

Incident Detector

Field Mapper

GeoTagger

Field Calculator

You can create

your own

processors.

Track Idle Detector

Esri

Gallery ETA Calculator

Service Area

Buffer

Ellipse

Range Fan

Visibility

Query Report

Slope Calculator

SD

K

Volume Control

Page 19: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

GeoEvent Processing

• A Field Mapper processor

- Translates from one GeoEvent Definition to another

- Specifying how fields map across the GeoEvent Definitions

Processors – derive a new GeoEvent

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

TranslatedEvent

IncomingEvent

Mapping

{

"id": "53c14c0de4b07cbb857a1d4f",

"deviceId": "52df1e34e4b0293fcac059e9",

"timestamp": 1405176845553,

"tsRaw": 1405176842104,

"sessionId": "1405173281715",

"type": "CLOCK",

"trigger": "INTERVAL",

"location": {

"lat": 34.0642350014815,

"lng": -117.1238773357668,

"alt": 475.59906005859375,

"acc": 47.20000076293945

},

"weather": {

"tmp": 25.25,

"hum": 41,

"lum": 46,

"bar": 954

},

"gases": {

"co2": 1604,

"voc": 463

}

}

deviceId 52df1e34e4b0293fcac059e9

timestamp 1405176845553

co2 1604.0

voc 463.0

geometry -117.123…, 36.064…

Page 20: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

GeoEvent Processing

• A Field Reducer processor

- Removes specified fields from a GeoEvent

- derives a new GeoEvent Definition based on the resulting schema

Processors – modify a GeoEvent

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

Event

ReducedEvent

deviceId 52df1e34e4b0293fcac059e9

timestamp 1405176845553

co2 1604.0

voc 463.0

extraField1 value

… …

extraFieldN valueN

geometry -117.123…, 36.064…

deviceId 52df1e34e4b0293fcac059e9

timestamp 1405176845553

co2 1604.0

voc 463.0

geometry -117.123…, 36.064…

Page 21: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

GeoEvent Processing

• A Field Enricher processor

- Uses a field on the incoming GeoEvent to join with another data source and retrieve fields.

- After the Field Enricher retrieves the required data from a data source, it enriches the GeoEvent with

new fields derived from the source.

Processors – modify a GeoEvent

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

deviceId 52df1e34e4b0293fcac059e9

timestamp 1405176845553

co2 1604.0

voc 463.0

geometry -117.123…, 36.064…

deviceId 52df1e34e4b0293fcac059e9

timestamp 1405176845553

co2 1604.0

voc 463.0

sensorName Station-01

installedBy Adam Mollenkopf

geometry -117.123…, 36.064…

deviceId sensorName installedBy

52df1e34e4b0293fcac059e9 Station-01 Adam Mollenkopf

53bf2799e4b07cbb8578d4a0 Station-MarinaDelRey Edward Pultar

… … …

Event

EnrichedEvent

Feature Service

Page 22: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

GeoEvent Processing

• A Field Calculator processor uses an expression to

- calculate a new field or update an existing field.

- Expressions can be mathematical expressions, string operations, or regular expressions.

Processors – calculate new fields on a GeoEvent

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

deviceId 52df1e34e4b0293fcac059e9

timestamp 1405176845553

temperature 25.5

humidity 41.0

sensorName Station-01

installedBy Adam Mollenkopf

geometry -117.123…, 36.064…

Event

EnrichedEvent

deviceId 52df1e34e4b0293fcac059e9

timestamp 1405176845553

temperature 25.5

humidity 41.0

sensorName Station-01

installedBy Adam Mollenkopf

temperatureF 77.9

geometry -117.123…, 36.064…

Expression

Page 23: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

GeoEvent Processing

• A GeoTagger processor

- uses a spatial expression to tag the event with related geometries.

Processors – calculate new fields on a GeoEvent

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

Event

EnrichedEvent

deviceId 52df1e34e4b0293fcac059e9

timestamp 1405176845553

temperature 25.5

humidity 41.0

sensorName Station-01

installedBy Adam Mollenkopf

temperatureF 77.9

geotags SanDiegoCoast

geometry -117.123…, 36.064…

Expression

deviceId 52df1e34e4b0293fcac059e9

timestamp 1405176845553

temperature 25.5

humidity 41.0

sensorName Station-01

installedBy Adam Mollenkopf

temperatureF 77.9

geometry -117.123…, 36.064…

Page 24: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Incident Detection and Management

GeoEvent

Processing

Page 25: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Extending GeoEvent

• You can create your own connectors and processors using the GeoEvent SDK.

Software Development Kit (SDK)

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

Your processors

Your

connectors

Your

connectors

GeoEvent Extension

Inp

uts

Ou

tpu

ts

GeoEvent Services

Page 26: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Deployment Patterns

Page 27: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Deployment PatternsUsing local feature services

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

GeoEvent Extension

Inp

uts

GeoEvent Services

ArcGIS Server

Ou

tpu

tsfeature layers

Operations Dashboard

for ArcGIS

Your Dashboards

ArcGIS Online /

Portal for ArcGIS

operation view

web mapYour

Applications

Page 28: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Deployment PatternsUsing remote feature services

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

GeoEvent Extension

ArcGIS Server

Inp

uts

GeoEvent Services

Ou

tpu

ts

ArcGIS Server

feature layers

Your

Applications

Operations Dashboard

for ArcGIS

Your Dashboards

ArcGIS Online /

Portal for ArcGIS

operation view

web map

10.2.x

10.1.x

Page 29: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Deployment PatternsUsing ArcGIS Online / Portal for ArcGIS feature services

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

Operations Dashboard

for ArcGIS

Your Dashboards

operation view

web map

GeoEvent Extension

Inp

uts

GeoEvent Services

Ou

tpu

ts

ArcGIS Server

ArcGIS Online /

Portal for ArcGIS

feature layers

Your

Applications

Page 30: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Connecting Real-Time Data

Page 31: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

The Internet of Things (IoT)

• More things are connecting to the Internet than people

- Over 12.5 billion devices in 2010 are tying together the physical, digital, and analytic worlds

Everything Connected

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

Predictions are that 25 billion devices will be connected by 2015, and 50 billion by 2020.(Cisco, http://share.cisco.com/internet-of-things.html)

Page 32: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Connected Cars

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

• AT&T Drive Studio

• Nissan, Tesla, GM, Ford, BMW, Audi

Page 33: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Connected Homes

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

Smart Homes

• Smart Appliances, Thermostat (Cooling/Heating), Security Monitoring

Page 34: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

Nature to Machine Interface

Micro-Weather Station

Reports ambient temperature, relative

humidity & barometric pressure

Chemical Sensor

Reports volatile organic compounds

Air Quality

Reports carbon dioxide (CO2)

Reports luminosity

Light Sensor

Page 35: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Connected Schools

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

Student Proximity

• Modern solution for frantic and frequent head counts

Page 36: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Connected Retail

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

Smart Shopping

• Proximity to brand

• Interest sensing

Page 37: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Connected Buildings

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

Smart Workplace

• Workplace Safety

Page 38: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Connected People

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

Smart Wearables

Google Glass Platronics Headset

Under Armour Armour39

Sensoria Sports Bra/Shirt

Sensoria Smart Socks

Jawbone UpSamsung Galaxy Gear

Page 39: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Gateway

Gateway

Gateway

The Internet of Things (IoT)

• Geospatial reasoning is needed

amongst the Internet of Things.

• Performing geospatial reasoning

closer to the things can improve

their ability to sense.

• When meaningful patterns are

found things can notify people or

even other things.

Everything Connected

ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications

ArcGIS

Another Thing

Connected Environment

Connected Buildings

Connected People

Connected Retail

Connected Vehicles

Page 40: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Common Operating

Picture

Page 41: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents
Page 42: ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS data is a continuous stream of events flowing from sensors, where each event represents

Share your moment #EsriAPUC