2013 Esri Europe, Middle East, and Africa User Conference October 23-25, 2013 | Munich, Germany
ArcGIS GeoEvent Processor An Introduction Adam Mollenkopf,
[email protected] @amollenkopf
Esri EMEAUC13
GIS Data •
GIS data typically represents state at a specific moment in time: “historic”, “current”, or “future”.
Credit: iStockphoto/chris_lemmens
Esri EMEAUC13
ArcGIS GeoEvent Processor - An Introduction
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 and Warehouses - Environmental -
Challenge #1
Features Police Car Police Person Ambulance Network Sensor Warehouse Item Storm Wind
110°
Temperature Earthquake Wild Fire
Esri EMEAUC13
ArcGIS GeoEvent Processor - An Introduction
Applications
Real-time Analytics •
Are my field personnel working within the designated project area? Continuous Analysis
Features Equipment
Outside Boundary
Challenge #2
Esri EMEAUC13
ArcGIS GeoEvent Processor - An Introduction
Alert
Applications
Real-time Notifications and Alerting •
Tell customer when their delivery truck is 15 minutes away. Continuous Analysis
Features
Applications
Delivery Vehicle Enter Customer Area
Challenge #3
Esri EMEAUC13
ArcGIS GeoEvent Processor - An Introduction
ArcGIS GeoEvent Processor for Server Integrates and Exploits real-time data •
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 GeoEvent Services
GeoEvent Processor ws://
ArcGIS Server Inputs
Esri EMEAUC13
ArcGIS GeoEvent Processor - An Introduction
Outputs
Working with real-time data
Esri EMEAUC13
Receiving real-time data •
You can easily integrate real-time streaming data with ArcGIS by using an input connector. GeoEvent Processor Outputs
Receive RSS
Receive Tweets
Receive text from a TCP Socket
Receive Instagram feed
Receive text from a UDP Socket
Receive Trimble
*
Receive Sierra Wireless
*
http:// Receive Features on a REST endpoint http:// Receive JSON on a REST endpoint
NMEA Receive NMEA
*
ws:// Receive JSON on a Web Socket
Receive from RabbitMQ
*
ws:// Receive JSON on external Web Socket
Receive from ActiveMQ
*
Receive Air Traffic Control
Poll an ArcGIS Server for Features http:// Poll an external website for JSON
Esri EMEAUC13
You can add your own connectors.
CoT
Receive Cursor on Target Receive VMF
.csv
Watch a folder for new .csv files
VMF
.json
Watch a folder for new .json files
Geo Message
ArcGIS GeoEvent Processor - An Introduction
Receive Geomessages Receive Vessels
Gallery
out-of-the-box
Inputs
GeoEvent Services
Demo
Demonstration Social monitoring
Esri EMEAUC13
Sending real-time data •
You can easily send updates and results to those who need it where they need it using an output connector. GeoEvent Processor
Add a feature
Send a Tweet
Update a feature
Send to RabbitMQ
Send an email
Send to ActiveMQ
Send an instant message
Write to Hadoop
Send a text message
Write to MongoDB
ws://
Publish JSON to a Web Socket
Send to CESIUM
ws://
Push JSON to an external Web Socket
out-of-the-box
im
Publish text on a TCP Socket Publish text on a UDP Socket http:// Publish JSON to an external website Publish on a REST endpoint
Esri EMEAUC13
ArcGIS GeoEvent Processor - An Introduction
You can add your own connectors.
.csv
Write to a .csv file
.json
Write to a .json file
Gallery
Inputs
Outputs
GeoEvent Services
Sending real-time data to features Using local feature services Your Dashboards Operations Dashboard for ArcGIS
ArcGIS Online / Portal for ArcGIS operation view
Your Applications
web map
GeoEvent Processor
JavaScript Flex
Inputs
Outputs
GeoEvent Services
Silverlight/WPF
iOS Android Windows Phone
feature layers .Net Mac OS X
ArcGIS Server
Java Qt
Esri EMEAUC13
ArcGIS GeoEvent Processor - An Introduction
Sending real-time data to features Using remote feature services Your Dashboards Operations Dashboard for ArcGIS
ArcGIS Online / Portal for ArcGIS operation view
Your Applications
web map
GeoEvent Processor
JavaScript Flex
Inputs
Outputs
GeoEvent Services
Silverlight/WPF feature layers iOS Android Windows Phone
ArcGIS Server
.Net Mac OS X
ArcGIS Server
Java Qt
Esri EMEAUC13
ArcGIS GeoEvent Processor - An Introduction
Sending real-time data to features Using ArcGIS Online / Portal for ArcGIS feature services
Your Dashboards Operations Dashboard for ArcGIS
Your Applications
ArcGIS Online / Portal for ArcGIS
GeoEvent Processor
JavaScript operation view Flex
GeoEvent Services Inputs
Outputs
web map Silverlight/WPF feature layers iOS Android Windows Phone
.Net Mac OS X
ArcGIS Server
Java Qt
Esri EMEAUC13
ArcGIS GeoEvent Processor - An Introduction
Performing continuous processing and real-time analytics
Esri EMEAUC13
Continuous processing and analytics GeoEvent Services •
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 outputs(s) to send the results to. -
GeoEvent Processor
Inputs
Outputs
GeoEvent Services
Twitter Monitor (GeoEvent Service) Twitter Input
Geolocated Filter
Add Tweet Feature Write Tweets to Hadoop
Esri EMEAUC13
ArcGIS GeoEvent Processor - An Introduction
Continuous processing and analytics Processors •
Modify a geoevent: Field Enricher, Field Reducer
•
Calculate new fields on a geoevent: Field Calculator, GeoTagger
•
Derive geoevent: Field Mapper, Track Gap Detector, Incident Detector
GeoEvent Service Field Enricher
Field Reducer
Field Calculator
Input 1
Output 1 GeoTagger
Field Mapper
Track Gap Detector
Incident Detector
Esri EMEAUC13
ArcGIS GeoEvent Processor - An Introduction
Continuous processing and analytics Processors – modify a geoevent •
A Field Enricher processor -
enriches the geoevent with new fields derived from a data source: feature service or file.
GeoEvent Enriched GeoEvent Feature Service
•
A Field Reducer processor -
removes fields from a geoevent.
Fields to remove
Reduced GeoEvent
Continuous processing and analytics Processors – calculate new fields on a geoevent •
A Field Calculator processor uses an expression to calculate a new field or update an existing field. - Expressions can be mathematical expressions or regular expressions. -
GeoEvent
Expression Enriched GeoEvent
•
A GeoTagger processor -
uses a spatial condition to tag the event with related geometries.
GeoEvent
Spatial Condition Enriched GeoEvent
Continuous processing and analytics Processors – derive a new geoevent •
A Field Mapper processor -
translates from one geoevent format to another.
Mapping Incoming GeoEvent
•
Translated GeoEvent
A Track Gap Detector processor -
Detects the absence of events and alerts about the situation.
Continuous processing and analytics Processors – derive a new geoevent •
An Incident Detector processor creates an incident upon an opening condition being met, - maintains state for the duration of the incident, - closes the incident based on a closing condition or expiration. -
GeoEvent Service
66
68
73
81
92
90
91
90
68
65
noiseDecibel >= 90 Opening Condition
Esri EMEAUC13
Output 1
Incident Detector
Input 1
ArcGIS GeoEvent Processor - An Introduction
81
92
Close Incident
90
91
90 Open Incident
Demo
Demonstration Noise violation alerting external network (amazon ec2)
internal network (my laptop)
GeoEvent Processor
GeoEvent Processor
GeoEvent Service
GeoEvent Service
JSON ws://
ws://
feature
ws:// incident detector
Noise App
ArcGIS Server ArcGIS Server Esri EMEAUC13
feature
Solutions and sample applications Applying real-time GIS •
A number of sample applications and solutions leverage GeoEvent Processor to enable real-time GIS capabilities within them including: -
Esri EMEAUC13
Defense and Intelligence:
http://resources.arcgis.com/en/communities/defense-and-intelligence/
-
ArcGIS for the Military
-
ArcGIS for the National Guard
-
ArcGIS for Intelligence
-
Asset Monitor
-
Route Monitor
ArcGIS GeoEvent Processor - An Introduction
Asset Monitoring
Route Monitoring
ArcGIS for the Military
ArcGIS for Intelligence
Demo
Demonstration Ambulance monitoring
Esri EMEAUC13
ArcGIS GeoEvent Processor – An Intro Summary •
ArcGIS is a dynamic platform that enables real-time visualization and continuous analytics to better understanding of our world.
•
GeoEvent Processor allows you to:
•
-
be alerted when interesting events occur
-
react and make smarter decisions faster
-
to know what is happening, as it happens
To learn more, visit the tutorials in the Gallery: -
Esri EMEAUC13
http://pro.arcgis.com/share/geoevent-processor
ArcGIS GeoEvent Processor - An Introduction
C. Adam Mollenkopf | Product Lead ArcGIS GeoEvent Processor for Server
[email protected] | @amollenkopf
http://pro.arcgis.com/share/geoevent-processor