Building Great
Situational Awareness Apps Using ArcGIS Developer ToolsKerry Robinson
Eric Bader
Thomas Solow
Agenda
• Situational Awareness in ArcGIS
• Developing apps in connected environments
- ArcGIS Enterprise & JavaScript API
• Developing apps in disconnected environments
- Dynamic Situational Awareness Runtime Example App
• Q & A
What do we mean by Situational Awareness?
Perceive & Assess Awareness
Comprehend & Interpret
Understanding
Analyze Predict
The need for real-time Situational Awareness spans across…
Industries
• Humanitarian Aid /Disaster Relief
• Fire & Emergency Services
• Law Enforcement
• Homeland Security / Border Security
• Safe Communities
• Military Command & Control
• Cyber Security
• …
Organizational boundaries
• Individual
• Team
• Operation
• Organization / Agency
• Multi-Agency
• Multi-National
Plan & Prepare
Capture
Review
MonitorReport
Deploy
OperationsLifecycle
Plan & Prepare
Capture
Review
MonitorReport
Deploy
Situational AwarenessOperations
Lifecycle
Organizational Roles
Plan & Prepare
Deploy
CaptureReview
MonitorReport
• Field Operative (disadvantaged)
- On-foot
- In-vehicle
• Command Center
- Monitor / Supervisor
- Analyst
- Commander / Executive
• Support
- GIS Administrator
ArcGIS Enterprise and JavaScript API
Connected Environments
Real-Time Data Feedsobservations whose location and attributes change over time
Things that Move Stationary Sensors Things that Just Happen
• planes • vehicles
• satellites • storms
• animals
• water gauges
• weather stations
• traffic sensors
• air quality sensors
• IED Detonations
• 9-Line Medevac
• accidents
DesktopWeb Device
live & historic
aggregates & features
map & feature service
• 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.
stream service
live features
ArcGIS
Enterprise
GeoEvent
Server
ingestion
analytics
Real-Time & Big Data Capabilities
GeoAnalytics
Server
spatiotemporal
big data store
storage analytics
visualization
Real-Time Analytics with GeoEvent Server
What fishing vessels are inside designated ‘no fishing’ zones?
FeaturesContinuous
Analysis
Inside
Boundary
Vessel
Alert
Applications
Continuous processing on event data as it is received …
Demos
Dynamic Situational Awareness Runtime Example App
Disconnected Environments
What is the Dynamic Situational Awareness Example App?Available in April 2018 on GitHub
• Example App for developers writing solutions to meet Situational Awareness needs in
“DIL” (Disconnected, Intermittent, and Low Bandwidth) environments
• Key Characteristics:
- Team/Mission-oriented tasks
- Peer to Peer network
- Collaboration (reports, markup, share location)
- Alerts & notifications
- Analysis (Viewshed, Line of Sight)
- Local Data (no reliance on server)
- 3D
• Open Source – tweak to meet your needs
DSA-Vehicle DSA-Handheld Simulator
Dynamic Situational Awareness (DSA) Example App
Coord
Conv
Display
Messages
Markup
Interactive
Visibility Symbology GeoPackage Shapefile
Viewshed/
Line of Sight
Dynamic
Feature Layer
Local
Data
Alerts/
Geofencing
…
Basemap
Picker
Layer
List
GeoPackage Send
Location…
Tools
Runtime SDK
Example Apps
Initial Release (Qt): Apr 2018
Op
en
So
urc
e
DSA-Vehicle DSA-Handheld Simulator
Dynamic Situational Awareness (DSA) Example App
Coord
Conv
Display
Messages
Markup
Interactive
Visibility Symbology GeoPackage Shapefile
Viewshed/
Line of Sight
Dynamic
Feature Layer
Local
Data
Alerts/
Geofencing
…
Basemap
Picker
Layer
List
GeoPackage Send
Location…
Runtime SDK
Example Apps
Op
en
So
urc
e
Tools
Initial Release (Qt): Apr 2018
Runtime SDK /Platform
Example Apps DSA-Vehicle DSA-Handheld Simulator
Dynamic Situational Awareness (DSA) Example App
Coord
Conv
Display
Messages
Markup
Interactive
Visibility Symbology GeoPackage Shapefile
Viewshed/
Line of Sight
Dynamic
Feature Layer
Local
Data
Alerts/
Geofencing
…
Basemap
Picker
Layer
List
GeoPackage Send
Location…
DSA-Web
Coord
Conv
Drag n
Drop
Markup …Op
en
So
urc
e
TBD
… … …
Initial Release (Qt): Apr 2018
Tools
ArcGIS Runtime SDKs
Best Practices
Real-time Feeds“Messages” shared between team members in the field
• Receiving and Broadcasting message feeds over Peer-to-Peer network
• Examples of feeds:
- Friendly Position Reports, Contact Reports, Sensor Observations, …
• Best practices:
- Symbology (military or other)
- Performance
- Participating in other analyses
• Runtime API used:
- Graphics Overlay (Dynamic rendering mode)
- DictionaryRenderer
DemoReal-time feeds
Exploratory AnalysisGPU-based Viewshed & Line of Sight analysis
• “Exploratory”: visual only, using data & LOD rendered to screen (not “conclusive”)
• Two types:
- “Location” – based on coordinate
- “GeoElement” – tied to graphic or feature
• 360 Viewshed not officially supported until Runtime 100.3
• Runtime API Used:
- AnalysisOverlay
- LocationViewshed, GeoElementViewshed
- LocationLineOfSight, GeoElementLightOfSight
DemoExploratory Analysis
Alerts & ConditionsCritical notifications
• Alerting on conditions/rules against the real time feeds
• Conditions always evaluated
- Attribute
- Spatial / GeoFence
• Capabilities in App:
- View and manage list of alerts
- Create Conditions
- View and Manage Conditions
• Runtime API used:
- GeometryEngine
DemoAlerts & Conditions
Download the Esri Events
app and find your eventSelect the session
you attended
Scroll down to find the
feedback section
Complete answers
and select “Submit”
Please Take Our Survey in the Esri Events App