46
ArcGIS API for JavaScript: Data Visualization Rene Rubalcava (Esri Inc) Guenter Grimm (Esri UK)

ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

  • Upload
    others

  • View
    74

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

ArcGIS API for JavaScript: Data

Visualization

Rene Rubalcava (Esri Inc)

Guenter Grimm (Esri UK)

Page 2: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

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 › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

How about this?

Page 4: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Data Visualization – Where?

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

Page 5: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

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 › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Client – side rendering

• SVG

• Canvas

• Renderers on feature/graphics layers

• Feature layer Stats Plugin

Page 7: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Data Visualization – How?

• Service Defaults

• Canvas

• SVG

• Renderers

Page 8: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

• A feature layer has its own default symbol

• Defined in the “drawingInfo” property

Feature Layer

Page 9: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

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 › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

SimpleRenderer

No Field – Show Me Where!

Page 11: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

UniqueValueRenderer

With Field Name – Show Me What!

Page 12: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

ClassBreaksRenderer

With Field Name – Show Me How Much!

Page 13: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

With Expression Function – Above and Below

Page 14: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

ArcGIS API for JavaScript: Mapping and Visualization

Dot Density• DotDensityRenderer

Page 15: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

DotDensity can represent 1 dot per value

Page 16: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

BlendRenderer -- Beta

Page 17: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation
Page 18: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation
Page 20: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

HeatmapHeatmapRenderer

Page 22: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Renderer properties

• rotationInfo

• sizeInfo

• colorInfo

• opacityInfo

• proportionalSymbolInfo

Page 23: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Rotation• Renderer.rotationInfo

ArcGIS API for JavaScript: Mapping and Visualization

Arithmetic

Geographic

Page 24: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

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 › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Varying Size – By Data• SizeInfo visual variable

Page 26: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Varying Size – By Data – bounded • SizeInfo visual variable

Page 27: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Varying Size – By Data – By Scale

Map should look

good at all scales

Page 28: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Varying Size – By Value

ArcGIS API for JavaScript: Mapping and Visualization

Page 29: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Varying Color by data• ColorInfo Visual Variable

ArcGIS API for JavaScript: Mapping and Visualization

Page 31: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Varying Opacity by data• OpacityInfo Visual Variable

Page 32: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

SmartMapping (data driven defaults)

• createColorRenderer

• createSizeRenderer

• createTypeRenderer

• createPredominanceRenderer

Page 33: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

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 › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Smart Mapping API components -- Styles

Page 35: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Smart Mapping API components – FL Stats Plugin

Page 36: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Smart Mapping API components – FL Stats Plugin

Page 37: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Smart Mapping API components – smartMapping

Page 38: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Smart Mapping API components – smartMapping

Page 39: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

SmartMapping in the ArcGIS API for JavaScriptIt’s all there

Page 40: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

smartMapping HeatmapcreateHeatmapRenderer

Page 41: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

smartMapping ColorcreateColorRenderer

Page 42: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

smartMapping SizecreateSizeRenderer

Page 43: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

smartMapping TypecreateTypeRenderer

Page 44: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

smartMapping PredominancecreatePredominanceRenderer

Page 45: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

Arcade

• New expression language for ArcGIS Platform

• Supports simple math and text manipulation expressions

• Profiles include Renderer

• Can dynamically add fields used for rendering

Page 46: ArcGIS API for JavaScript: Data Visualization › library › userconf › dev... · ArcGIS API for JavaScript: Data Visualization Author: Esri Subject: 2016 Developer Summit Europe--Presentation

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