ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS...
Transcript of ArcGIS GeoEvent Extension for Server: An Introduction to ... · Real-Time GIS Data •Real-time GIS...
ArcGIS GeoEvent Extension for Server:
An Introduction to Building Real-Time
Web ApplicationsKen Leung
Louis Pang
What is Real-Time GIS?
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
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
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
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
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
Working with Real-Time Data
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
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
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
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://
Esri
Gallery
ActiveMQ
RabbitMQ
Hadoop
MongoDB
CESIUM
Part
ner
Demo
Making Feature
Come Alive
Applying Real-Time Analytics
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
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
=
=
=
=
Filtering, Change Symbology,
Threshold Detection
Airplane Noise
Monitoring System
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
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
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…
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…
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
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
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…
Incident Detection and Management
GeoEvent
Processing
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
Deployment Patterns
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
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
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
Connecting Real-Time Data
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)
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
Connected Homes
ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications
Smart Homes
• Smart Appliances, Thermostat (Cooling/Heating), Security Monitoring
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
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
Connected Retail
ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications
Smart Shopping
• Proximity to brand
• Interest sensing
Connected Buildings
ArcGIS GeoEvent Extension for Server: An Introduction to Building Real-Time Web Applications
Smart Workplace
• Workplace Safety
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
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
Common Operating
Picture
Share your moment #EsriAPUC