Professional Documents
Culture Documents
Ryan Elliott |
Software Engineer
ArcGIS GeoEvent Processor for Server
relliott@esri.com
James Cardona |
Web Developer
DC Development Center
jcardona@esri.com
Sends updates and alerts to those who need it where they need it
GeoEvent
Services
GeoEvent
Processor
ws://
ArcGIS Server
Inputs
Outputs
Demo
Demonstration
Field Worker Monitoring
SCREENSHOT
SCREENSHOT
SCREENSHOT
Receiving Real-Time
Data
Ryan Elliott
You can easily integrate real-time streaming data with ArcGIS by using an input
connector.
GeoEvent Processor
Inputs
Outputs
GeoEvent Services
GNIP
Geofeedia
CAP
exactEarth
Cursor-on-Target
VMF
GeoMessage
ActiveMQ
RabbitMQ
Partner Gallery
Receive RSS
Esri Gallery
ASDI (FAA)
OSIsoft
Valarm
Harris
CompassCom
NMEA
NetworkFleet
Zonar
.csv
TAIP (Trimble)
.json
Demo
Demonstration
Connecting to Real-Time Data Feeds
Applying Real-Time
Analytics
Ryan Elliott
You can perform continuous analytics on geoevents as they are received using a
processor.
GeoEvent Processor
GeoEvent Services
Field Calculator
Geotagger
Field Mapper
Esri Gallery
Field Reducer
ETA Calculator
Service Area
Buffer
Ellipse
Range Fan
Incident Detector
Visibility
Query Report
SDK
Inputs
Outputs
Field Enricher
Slope Calculator
Volume Control
Demo
Demonstration
Detecting GeoFence Violations
Sending Real-Time
Data to the Map
Ryan Elliott & James Cardona
Your
Applications
Broadcast Features
Subscribe (Push)
ws://
feature layers
ArcGIS Server
Polling
(Pull)
Update a Feature
Add a Feature
GeoEvent Services
ArcGIS Server
Map Services
Feature Services
EGDB
Feature Layer
Stream Layer
Demo
Demonstration
Publishing Events through
Web Sockets
JavaScript
GeoEvent Processor
GeoEvent Services
Outputs
Inputs
ArcGIS Server
Demo
Displaying Real-Time
Web Socket data on a
map with the Stream
Layer
James Cardona
Stream Layer
What is it?
esri/layers/GraphicsLayer
esri/layers/FeatureLayer
esri/layers/StreamLayer
RESPONSE
Graphic
Geometry
Attributes
Symbol
Stream Layer
Feature Layer
Graphics Layer
GET
POST
HTTP
Feature service
Web
Socket
PUSH
GeoEvent
Processor
ArcGIS Server
ArcGIS Server
Stream Layer
Advantages
Request
Response
Close
Establish
Connection
Connection
Data
GeoEvent Processor
Feature service
ArcGIS Server
ArcGIS Server
Stream Layer
Lifecycle
GeoEvent Processor
ArcGIS Server
Map
StreamLayer
FeatureCollection:
{ layerDefinition:
{ geometryType: esriGeometryPoint,
timeInfo: {
startTimeField: StartTime,
trackIdField: Name },
fields: [ ] },
featureSet: null }
Options
webSocketUrl:
ws://gep:6180/urlpath
purgeOptions:
{ displayCount: 500 }
Stream Layer
Lifecycle
GeoEvent Processor
ArcGIS Server
{ geometry:
{ x:-77,
y:42,
spatialReference: {
wkid:4326},
attributes:
{ name:Buffy}}
Stream Layer
(WebSocket.onmessage)
Parses message
to generate geometry
and attributes
Emits message event
Checks if number of
graphics is over
threshold
Removes oldest graphic
if necessary
Emits graphic-remove
event if necessary
Stream Layer
What is needed
<meta http-equiv="X-UA-Compatible" content="IE=10" />
6+
14 +
6+
Demo
Demonstration
Consuming Streams of Features with
the Stream Layer
Road Ahead
Stream Services
Ryan Elliott & James Cardona
Developer Productivity
-
Customizable
-
Provides all the metadata needed by clients to find and consume a stream of
features.
Individualized client connections provide filtering and projection.
Scalable
-
Features published to a stream services are accessible from any machine in the
cluster.
GeoEvent Processor
ws://
Subscribe
Stream Service
Subscription
changes
ArcGIS Server
Stream Layer
GeoEvent Processor
ws://
Subscribe
Stream Service
ArcGIS Server
Subscription
changes
Stream Layer
Demo
Demonstration
Stream Services
Pushed events to a web app through feature services and web sockets
Used JavaScript API Stream Layer to receive messages pushed from server
and display them on a map
Saw a preview of the Stream Service that will allow developers to easily receive
data through a web socket and set filters that are processed on the server
Use Cases for Applying Real-Time Analytics Using ArcGIS GeoEvent Processor
Tuesday 4:00pm - 5:00pm Primrose B
Use Cases for Applying Real-Time Analytics Using ArcGIS GeoEvent Processor
Thursday2:30pm - 3:30pm Primrose C/D
ArcGIS API for JavaScript: What Have You Done for Me Lately?
Tuesday 5:30 - 6:30 Oasis 4 and Thursday 2:30 3:30 Catalina/Madera
Tips and Tricks for Debugging Apps Built with ArcGIS API for JavaScript
Wednesday 4:00 5:00 Catalina/Madera and Thursday 2:30 3:30 Primrose A
Resource Center
http://pro.arcgis.com/share/geoevent-processor
Forum
http://forums.arcgis.com/forums/257-GeoEvent-Processor
Additional resources
Code Samples
https://github.com/jcardonadcdev/DevSummit2014-realtime
Questions / Feedback?
To learn more:
https://developers.arcgis.com/javascript
http://pro.arcgis.com/share/geoevent-processor
Ryan Elliott |
Software Engineer
ArcGIS GeoEvent Processor for Server
relliott@esri.com
James Cardona |
Web Developer
DC Development Center
jcardona@esri.com