ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit...

49
ArcGIS API for JavaScript: Data Visualization Ben Ramseth & Rene Rubalcava

Transcript of ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit...

Page 1: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

ArcGIS API for JavaScript: Data

Visualization

Ben Ramseth & Rene Rubalcava

Page 2: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Data Visualization – Why?

• Visual exploration:

- Anomalies in the data

- Trends

- Change detection

• Display of analytical results

• Interactivity (e.g. highlighting selections)

Page 3: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

How about this?

Page 4: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Data Visualization – Where?

• Server – side • Client – sideX: -14.55°Y: 45.2°

Page 5: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Server - side rendering

• Layer Infos / LayerDrawingOptions (apply renderers to layers-

ArcGISDynamicMapServiceLayer)

• Map service with asynchronous geoprocessing

• Map viewer (ArcGIS online/ Server defaults)

Page 6: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Client – side rendering

• SVG

• Canvas

• Renderers on feature/graphics layers

• Feature layer Stats Plugin

Page 7: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Data Visualization – How?

• Service Defaults

• Canvas

• SVG

• Renderers

Page 8: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

• A feature layer has its own default symbol

• Defined in the “drawingInfo” property

Feature Layer

Page 9: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Renderers

• SimpleRenderer - only location information - no field - where?

• UniqueValueRenderer - what?

• ClassBreaksRenderer - how much?

• DotDensity

• BlendRenderer

• ScaleDependentRenderer

• HeatmapRenderer

• TemporalRenderer

• Labeling - LabelLayer

With Expression Function

Above-Below

Predominance

Page 10: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

SimpleRenderer

No Field – Show Me Where!

Page 11: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

UniqueValueRenderer

With Field Name – Show Me What!

Page 12: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

ClassBreaksRenderer

With Field Name – Show Me How Much!

Page 13: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

With Expression Function – Above and Below

Page 14: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

ArcGIS API for JavaScript: Mapping and Visualization

Dot Density• DotDensityRenderer

Page 15: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

DotDensity can represent 1 dot per value

Page 16: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

BlendRenderer -- Beta

Page 17: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization
Page 18: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization
Page 20: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

HeatmapHeatmapRenderer

Page 22: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Renderer properties

• rotationInfo

• sizeInfo

• colorInfo

• opacityInfo

• proportionalSymbolInfo

Page 23: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Rotation• Renderer.rotationInfo

ArcGIS API for JavaScript: Mapping and Visualization

Arithmetic

Geographic

Page 24: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

ArcGIS API for JavaScript: Mapping and Visualization

Varying Size – By Real-World Distance/Area• SizeInfo visual variable

Page 25: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Varying Size – By Data• SizeInfo visual variable

Page 26: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Varying Size – By Data – bounded • SizeInfo visual variable

Page 27: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Varying Size – By Data – By Scale

Map should look

good at all scales

Page 28: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Varying Size – By Value

ArcGIS API for JavaScript: Mapping and Visualization

Page 29: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Varying Color by data• ColorInfo Visual Variable

ArcGIS API for JavaScript: Mapping and Visualization

Page 31: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Varying Opacity by data• OpacityInfo Visual Variable

Page 32: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

SmartMapping (data driven defaults)

• createColorRenderer

• createSizeRenderer

• createTypeRenderer

• createPredominanceRenderer

Page 33: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Smart Mapping

• Introduced in 3.13

• Takes the guesswork out of:

- What colors to use…for fill, outline, background fill outline, etc

- What opacity to use on each color

- What size to use for lines, markers, outlines on markers

- What size is appropriate for what scale

• Does this by looking at the data, the basemap, and the story you want to tell

• Data driven defaults

• Used by authoring and data exploration apps

Page 34: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Smart Mapping API components -- Styles

Page 35: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Smart Mapping API components – FL Stats Plugin

Page 36: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Smart Mapping API components – FL Stats Plugin

Page 37: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Smart Mapping API components – smartMapping

Page 38: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Smart Mapping API components – smartMapping

Page 39: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

SmartMapping in the ArcGIS API for JavaScriptIt’s all there

Page 40: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

smartMapping HeatmapcreateHeatmapRenderer

Page 41: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

smartMapping ColorcreateColorRenderer

Page 42: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

smartMapping SizecreateSizeRenderer

Page 43: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

smartMapping TypecreateTypeRenderer

Page 44: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

smartMapping PredominancecreatePredominanceRenderer

Page 45: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Arcade

• New expression language for ArcGIS Platform

• Supports simple math and text manipulation expressions

• Profiles include Renderer

• Can dynamically add fields used for rendering

• Documentation

Page 46: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Arcade

• Add calculated dynamic fields

Page 47: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Arcade

• New ways to explore your data

Page 48: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Arcade

• Awesome Demo Fun Time!

Page 49: ArcGIS API for JavaScript: Data Visualization...Data Visualization ... 2017 Esri Developer Summit DC--Presentation, 2017 Esri Developer Summit DC, ArcGIS API for JavaScript: Data Visualization

Thank you for attending our session

• Please check out the samples and documentation for further information and

resources regarding visualization.

https://developers.arcgis.com/javascript/3/jssamples/#renderers,_symbols,_visualization