arcgis geoevent extension for server: working with ...€¦ · arcgis geoevent extension for...

27
ArcGIS GeoEvent Extension for Server: Working with Community Connectors and Processors Greg Tieman [email protected] Patrick Hill [email protected]

Upload: others

Post on 28-Jun-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

ArcGIS GeoEvent Extension for Server:Working with Community Connectors

and Processors

Greg [email protected]

Patrick [email protected]

Page 2: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

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

Page 3: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

Community Connectors

Page 4: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

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

Instagram

Exploitation Support Data

Cursor-on-Target

RabbitMQ

NMEA 0183

MQTT

Sierra Wireless (RAP)

KML

Kafka *

Trimble (TAIP)

Twitter

Part

ner G

alle

ry

CompassLDE

enviroCar

GNIP

FAA (ASDI)

exactEarth AIS

Zonar

Valarm

Networkfleet

OSIsoft ***

*

*

Page 5: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

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

*

Twitter

CESIUM

Part

ner

*

Page 6: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

Instagram ConnectorUsing a Community Connector

Demo

Page 7: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

What is a Connector?

Page 8: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

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

Page 9: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

CAP

Cursor-on-Target

GeoMessage

Instagram

NMEA

Sierra Wireless (RAP)

Trimble (TAIP)

Twitter

VMF

Esri

Gal

lery

Esri

Gal

lery ActiveMQ

Kafka

RabbitMQ

Twitter

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

**

Page 10: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

ActiveMQ

Hadoop

Kafka

MongoDB

RabbitMQ

Twitter

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

Page 11: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

Building Community Connectors & ProcessorsWhat you will need…

GeoEvent SDKJava 6 or 7

Page 12: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

Common Alerting Protocol (CAP) Connector Building and Using a Connector

Demo

Page 13: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

Community Processors

Page 14: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

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

Page 15: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

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

Page 16: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

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

Page 17: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

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

Page 18: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

Spatial Query & Query Report ProcessorsWorking with a Community Processor

Demo

Page 19: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

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

Page 20: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

Get involved!

Page 21: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

GeoEvent Communities

links.esri.com/geoeventesri.github.io/#GeoEvent

Contribute and use the community connectors and processors

Page 22: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

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

Page 23: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

How can you get involved?GeoEvent Galleries

links.esri.com/geoevent-community-gallery

links.esri.com/geoevent-partner-gallery

• Invite only – join by emailing [email protected]

• Sign in to ArcGIS Online• Browse to the link above• Click

Page 24: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

Other GeoEvent Extension Sessions

• The Road Ahead: ArcGIS for Server and Portal for ArcGIS- Fri 8:30-9:30am, Primrose C/D

Page 25: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

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

Page 26: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

Thank you!

Please fill out thesession survey at:

www.esri.com/RateMyDevSummitSession

Page 27: ArcGIS GeoEvent Extension for Server: Working with ...€¦ · ArcGIS GeoEvent Extension for Server: Working with Community Connectors, 2015 Esri International Developer Summit, 2015

Questions / Feedback?

http://links.esri.com/geoeventhttps://links.esri.com/geoevent-forum

To learn more: