arcgis geoevent server: applying real-time analytics...receive rss receive text from a tcp or udp...

36
Stefan Jung, Thomas Paschke ArcGIS GeoEvent Server: Applying Real-Time Analytics

Upload: others

Post on 25-May-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Stefan Jung, Thomas Paschke

ArcGIS GeoEvent Server:

Applying Real-Time

Analytics

Page 2: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Agenda

Real-Time Development

Working with Real-Time Data

GeoEvent Server SDK

Visualizing Real-Time Data

Summary

1

2

3

4

5

Page 3: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Real-Time (& Big Data) Development1

Page 4: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

GIS DataWhat has happened, what is happening, what will happen

The ‘current’ snapshot is outdated almost as soon as it’s created…

Credit: iStockphoto/chris_lemmens

Page 5: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Real-Time GIS RequirementsIngestion, Analytics, Notifications and Alerting

Requirement #1

Requirement #2

Continuous

AnalysisFeatures

Position

AlertInside

Boundary

Requirement #3

Applications

Page 6: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

ArcGIS Enterprise with real-time GIS capabilities

ArcGIS

Enterprise

spatiotemporal

big data storeGeoEvent

Server

Stream Service

Page 7: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

ArcGIS Enterprise with real-time & big data GIS capabilities

ArcGIS

Enterprise

spatiotemporal

big data store

IoT

GeoAnalytics

Server

Big Data

GeoEvent

Server

Page 8: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Working with Real-Time Data2

Page 9: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

GeoEvent ServerReal-Time Analytics

GeoEvent Server

Inp

uts

Ou

tpu

ts

GeoEvent Services

Page 10: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Ingestion of real-time dataGeoEvent Server: input connectors

GeoEvent Server

Inp

uts

Ou

tpu

ts

GeoEvent Services

Poll an ArcGIS Server for Features

Ou

t o

f th

e B

ox Poll an external website for GeoJSON, JSON, or XMLHTTP

Receive Features, GeoJSON, JSON, or XML on a REST endpointREST

Receive GeoJSON or JSON on a WebSocketWS

Receive RSS

Receive Text from a TCP or UDP Socket

Subscribe to an external WebSocket for GeoJSON or JSONWS

Watch a Folder for new CSV, GeoJSON, or JSON Files.csv

Subscribe to a Kafka Topic for JSON, GeoJSON, Text

Esri

Gallery

Azure IoT

Amazon IoT

ActiveMQ

RabbitMQ

GTFS

NMEA 0183

Kafka

KML

MQTT

Instagram

Twitter

Pa

rtn

er

Ga

lle

ry

CompassLDE

enviroCar

exactEarth AIS

FAA (ASDI)

Networkfleet

OSIsoft

Valarm

Waze

Page 11: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

GeoEvent Server

Inp

uts

Ou

tpu

ts

GeoEvent Services

Dissemination of real-time dataoutput connectors

Ou

t o

f th

e B

ox

Add or Update a Feature

Add or Update a Feature to a SBDS

Send Features to a Stream Service

Push data to an external TCP Socket

Push data to a UDP Socket

Push data to an external Website

Push data to an external WebSocketWS

HTTP

Send an Instant Messageim

Send a Text Message

Send an Email

Write to a CSV, GeoJSON, or JSON File .csv

Write data to a Kafka Topic

Esri

Gallery

Amazon IoT

Azure IoT

ActiveMQ

RabbitMQ

Hadoop

Kafka

MongoDB

MQTT

Twitter

Page 12: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Disseminationconfigure a new output connector by pairing an adapter & transport together

Connector =

Adapter + Transport

GeoEvent Server

Inp

uts

Ou

tpu

ts

GeoEvent Services

Feature-JSON

Connectors Transport Adapter

GeoJSON

Receive Feature-JSON from Kafka

Poll GeoJSON on an external Website

Feature-JSON

Adapters

GeoJSON

JSON

RSS

Text

XML

Instagram

NMEA

Sierra Wireless (RAP)

Trimble (TAIP)

Twitter

VMF

Esri

Gallery

Waze

Feature Service

Transports

File

HTTP

HTTP+BasicAuth

HTTP+OAuth

TCP

UDP

Waze

WebSocket

Esri

Gallery Amazon IoT

Azure IoT

Kafka

MQTT

Kafka

HTTP

RabbitMQ

Twitter

you can create

your own

connectors

Page 13: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Demo:

Ingestion & Visualization

Page 14: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Streaming analyticsGeoEvent Server: geoevent services

input1 output1buffer

geofences

filter(spatial)

input2 output2

geofences

geotagger

output3motion

calculator

geometry inside Zones/.*

geometry inside Zones/.*

• A GeoEvent Service configures the flow of real-time data,

- the filtering and geoevent processing steps to perform,

- the input(s) where data comes from and the output(s) to which results are sent.

Page 15: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Spatial Operators

• Spatial operators:

geofences

inside outside

enter exit

intersect disjoint

touches contains

crosses equals

overlaps within

Page 16: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

GeoEvent ServerBeispiel: Bereichsüberprüfung und Alarmierung

Page 17: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

GeoEvent ServerBeispiel: Konvoy Trennung

Page 18: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Demo:

Incident Detection of Trains

Page 19: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

you can create

your own

processors

Streaming analytics, policies & orchestrationGeoEvent Server: processors

GeoEvent Server

Inp

uts

Ou

tpu

ts

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

Ou

t o

f th

e B

ox

Add XYZ

Event Volume Control

Range Fan

Bearing

Feature To Point

Event Joiner

Esri

Gallery

Ellipse

Extent Enricher

Field Grouper

GeoNames Lookup

Reverse Geocoder

Service Area Creator

Symbol Lookup

Track Idle Detector

Unit Converter

Visibility

Motion Calculator Update Only

Spatial Query

Field Splitter

HTTP Handler Event Counter

Page 20: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Extending GeoEventSoftware Development Kit (SDK)

Page 21: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

GeoEvent SDK3

Page 22: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Creating a custom GeoEvent Processor

You can create your own custom connectors and processors using the GeoEvent

Software Development Kit (SDK)

Your processors

Your

connectors

GeoEvent Server

Inp

uts

Ou

tpu

ts

GeoEvent Services

Your

connectors

Page 23: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Getting Started

• Java Development Kit (JDK 8+)

• Apache Maven (Build Management Tool)

• Eclipse (IDE)

Install and Configure

Page 24: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

GeoEvent Server SDK

• api: JavaDoc content associated with GeoEvent Server SDK

• repository: Local maven repository

• samples: Sample connectors (and processors)

• GeoEvent Developer Guide

Page 25: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Define your own Processor

Input Processor OutputFilter

Which data passed the filter?

Page 26: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Define your own Processor

Input Processor OutputFilter

Output 2

Page 27: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Define your own Processor

Input Processor OutputFilter

Logging

Page 28: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Demo:

Custom GeoEvent Processor

Page 29: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

GeoEvent Admin REST APIScript based administration

Page 30: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Visualizing Real-Time Data4

Page 31: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Stream Layer

Map Layer

Feature Layer

• Map & Features layers in apps periodically poll to visualize most current observations

- backed by an enterprise geodatabase (EGDB) or a spatiotemporal big data store (BDS)

- history can be retrieved & queried for playback and analysis

• Stream layers in apps subscribe to stream services to immediately visualize observations

- does not require storage, low latency, no playback

ArcGISEnterprise

Stream Service

Send Features to a Stream Service subscribe (push)

polling (pull)

Map ServiceFeature Service

Add or Update a Feature

EGDBGeoEvent

ServerAdd a Feature to a BDS

Update a Feature in a BDS

spatiotemporalbig data store

Apps

Desktop

APIs

choosing a service type: stream service, feature service, map service

Visualization

Page 32: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Demo:

StreamLayer in ArcGIS Pro

Page 33: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Summary6

Page 34: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

• Ingest high velocity real-time

data into ArcGIS.

• Perform continuous analytics

on events as they are received.

• Store observations in a

spatiotemporal big data store.

• Visualize high velocity &

volume data:

- as an aggregation

- or as discrete features.

• Notify about patterns of

interest.

DesktopWeb Device

visualization

live & historic

aggregates & features

map & feature servicestream service

live features

ArcGIS

Enterprise

GeoEvent

Server

spatiotemporal

big data store

storage

ingestion

analytics

SummaryGeoEvent Server – real-time analytics for your ArcGIS Enterprise

Page 35: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder

Summaryself-paced training and resources

• Step-by-Step Tutorials, free to download

- Introduction

- Stream services

- Spatiotemporal Big Data Store

- Notifications

• Blogs and discussions on the forum

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

• Video recordings of technical workshops

- http://www.esri.com/videos

Page 36: ArcGIS GeoEvent Server: Applying Real-Time Analytics...Receive RSS Receive Text from a TCP or UDP Socket WS Subscribe to an external WebSocket for GeoJSON or JSON.csv Watch a Folder