View
28
Download
0
Category
Preview:
Citation preview
ArcGIS GeoEvent Extension for Server:Working with Community Connectors
and Processors
Greg Tiemangtieman@esri.com
Patrick Hillpatrick_hill@esri.com
Real-Time GISIntegration and exploitation of streaming 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
ArcGIS Server
GeoEvent Extension
DesktopWeb Device
Community Connectors
Receiving Real-Time DataEasily integrate real-time streaming data into ArcGIS using an Input Connector
You can createyour own
connectors.
GeoEvent Extension
Inpu
ts
Out
puts
GeoEvent Services
Poll an ArcGIS Server for Features
Poll an external website for GeoJSON, JSON, or XML
Receive Features, GeoJSON, JSON, or XML on a REST endpoint
Receive RSS
Receive GeoJSON or JSON on a WebSocket
Receive Text from a TCP or UDP Socket
Subscribe to an external WebSocket for GeoJSON or JSON
Watch a Folder for new CSV, GeoJSON, or JSON Files
Out
of t
he B
ox REST
.csv
WS
WS
HTTP
Esri
Gal
lery
ActiveMQ
CAP
Exploitation Support Data
Cursor-on-Target
RabbitMQ
NMEA 0183
MQTT
Sierra Wireless (RAP)
KML
Kafka *
Trimble (TAIP)
Part
ner G
alle
ry
CompassLDE
enviroCar
GNIP
FAA (ASDI)
exactEarth AIS
Zonar
Valarm
Networkfleet
OSIsoft ***
*
*
You can createyour own
connectors.
Sending Real-Time DataEasily disseminate notifications, alerts, and updates using an Output Connector
GeoEvent Extension
Inpu
ts
Out
puts
GeoEvent Services
Out
of t
he B
oxAdd 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 or JSON File .csv
WS
im
HTTP
ActiveMQ
Esri
Gal
lery Cursor-on-Target
Hadoop
Kafka
MongoDB
RabbitMQ
*
CESIUM
Part
ner
*
Instagram ConnectorUsing a Community Connector
Demo
What is a Connector?
ConnectorsWhat is a connector?
• Connectors made up of two customizable components – transport and adapter• Types of transports and adapters:
- Inbound transport – connects to and gets raw bytestream- Inbound adapter – converts raw bytestream into a GeoEvent
- Outbound adapter – converts GeoEvent into a byte array, formatted to an output type- Outbound transport – accepts arrays of bytes from the adapter and transmits them
CAP
Cursor-on-Target
GeoMessage
NMEA
Sierra Wireless (RAP)
Trimble (TAIP)
VMF
Esri
Gal
lery
Esri
Gal
lery ActiveMQ
Kafka
RabbitMQ
Receiving Real-Time DataInput Connector = Transport + Adapter
GeoEvent Extension
Inpu
ts
Out
puts
GeoEvent Services
WebSocket JSON
Connectors Transport Adapter
HTTP XML
JSON
Adapters
JSON (Feature)
RSS
Text
XML
Feature Service
Transports
File
HTTP
HTTP+BasicAuth
HTTP+OAuth
TCP
UDP
WebSocket
Receive JSON on a WebSocket
Receive XML on a REST endpoint
WS
REST
**
ActiveMQ
Hadoop
Kafka
MongoDB
RabbitMQ
Esri
Gal
lery
*
*Part
ner
CESIUM
Sending Real-Time DataOutput Connector = Adapter + Transport
GeoEvent Extension
Inpu
ts
Out
puts
GeoEvent Services
MessageFormatter SMTP
Connectors TransportAdapter
JSON-Feature StreamService
Send an Email
Send Features to a Stream Service
Cache
Adapters
JSON
JSON (Feature)
Message Formatter
RSS
Text
WebSocket
Feature Service
Transports
File
HTTP
HTTP+BasicAuth
HTTP+OAuth
SMS
SMTP
Stream Service
TCP
UDP
WebSocket
XMPP
Building Community Connectors & ProcessorsWhat you will need…
GeoEvent SDKJava 6 or 7
Common Alerting Protocol (CAP) Connector Building and Using a Connector
Demo
Community Processors
Applying real-time analyticsGeoEvent Processing
• You can perform continuous analytics on GeoEvents as they are received using a processor.
You can createyour own
processors.
GeoEvent Extension
Inpu
ts
Out
puts
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
Out
of t
he B
ox
Add XYZ
Esri
Gal
lery
Bearing
Ellipse
Event Volume Control
Extent Enricher
Field Grouper
GeoNames Lookup
Range Fan
Reverse Geocoder
Service Area Creator
Track Idle Detector
Query Report
Visibility
Motion Calculator
Unit Converter
Spatial Query
ProcessorsWhat is a processor?
• Processors perform some action on each GeoEvent passed to it• Processors can be used to:
- Modify existing fields or the geometry- Add new fields- Filter- Create new GeoEvent(s)
GeoEvent Extension
Inpu
ts
Out
puts
GeoEvent Services
Processors
GeoEvent ProcessingCalculate 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, string operations, or regular expressions.
SuspectID V10987
Date 1405176845553
BatteryLevel Low
Distance 0.02
Speed 1.2
Course 186.4
geometry -117.123…, 36.064…
SuspectID V10987
Date 1405176845553
BatteryLevel Low
Distance 105.6
Speed 1.2
Course 186.4
geometry -117.123…, 36.064…
EventEnriched
EventExpression
Convert fromFeet to MilesExpression:
Distance / 5280
GeoEvent ProcessingEnrich the geometry of a GeoEvent
• A Buffer Creator processor- applies a buffer to a geometry field on the incoming GeoEvent- and either:
- enriches the GeoEvent with a new geometry field representing the buffered result- or replaces the geometry of the incoming GeoEvent with the buffered result
SuspectID S90909
Date 1405176845553
BatteryLevel High
Distance 0.2
geometry -117.123…, 36.064…
SuspectID S90909
Date 1405176845553
BatteryLevel High
Distance 0.2
geometry -117.123…, 36.064…
buffer rings" : [ [ [ -116.3175, 33.6703],[-116.3175, 33.6703]…]]
EventEnriched
Event
Spatial Query & Query Report ProcessorsWorking with a Community Processor
Demo
Demo Summary
• GeoEvent Extension – Java SDK- Java 6 or 7
• Building Maven- Modern IDE’s can import and build the project
• Source Control – GitHub- A Git client is required
Get involved!
GeoEvent Communities
links.esri.com/geoeventesri.github.io/#GeoEvent
Contribute and use the community connectors and processors
How can you get involved?GeoEvent GitHub projects
• Access GeoEvent repositories @ esri.github.io/#GeoEvent• Update connectors/processors• Create a pull request and/or submit issues• Changes are reviewed and committed as appropriate
How can you get involved?GeoEvent Galleries
links.esri.com/geoevent-community-gallery
links.esri.com/geoevent-partner-gallery
• Invite only – join by emailing geoevent@esri.com
• Sign in to ArcGIS Online• Browse to the link above• Click
Other GeoEvent Extension Sessions
• The Road Ahead: ArcGIS for Server and Portal for ArcGIS- Fri 8:30-9:30am, Primrose C/D
Where to learn more?Resources
• To learn more, visit the ‘Get Started’ area of the GeoEvent Extension product page:- http://links.esri.com/geoevent
- Introduction- Notifications- Stream Services- RSS, HTTP, Files- REST Admin API- Clustering
• Ask questions on the GeoEvent Forum:- https://links.esri.com/geoevent-forum
Thank you!
Please fill out thesession survey at:
www.esri.com/RateMyDevSummitSession
Questions / Feedback?
http://links.esri.com/geoeventhttps://links.esri.com/geoevent-forum
To learn more:
Recommended