3D Visualization with the ArcGIS API for JavaScript · 2019 Esri Developer Summit Palm Springs --...

Post on 12-Jul-2020

16 views 0 download

transcript

Kristian Ekenes @kekenesRaluca Nikola @nicolaraluk

3D Visualization with ArcGIS API for JavaScript

Kristian Ekenes Raluca Nicola

Product Engineer JS API

Zurich, Switzerland

Data visualization, 3D

Product Engineer JS API

Redlands, California

Data visualization, Smart Mapping, Arcade

Discover how to visualize geodata in a meaningful way in 3D

using ArcGIS API for JavaScript

World population

Earthquakes

City sketches

Smart mapping

Visualization API - basics -

5 min 25 min 10 min

Four use cases - hands on demos -

Symbols & renderers - general overview -

General overview

Symbols and Renderers

PointSymbol3D LineSymbol3D PolygonSymbol3D

IconSymbol3DLayer

ObjectSymbol3DLayer

LineSymbol3DLayer

PathSymbol3DLayer

FillSymbol3DLayer

ExtrudeSymbol3DLayer Volumetric- Real world units (feet, meter)- Graphics are in real world space

Flat- Screen size units (pt, px)

- Graphics are in screen space

Symbols

Symbols

MeshSymbol3D

FillSymbol3DLayer

Renderers

SimpleRenderer UniqueValueRenderer ClassBreaksRenderer

Multivariate mapping with visual variablesvisualVariables - only for continuous numerical visualization

Color Size

RotationOpacity

Basic patterns

Visualization API

layer

symbol

renderer

symbolLayers

var layer = new FeatureLayer({renderer: new SimpleRenderer({symbol: new PointSymbol3D({symbolLayers: [new IconSymbol3DLayer({…})]

})}),elevationInfo: {mode: "relative-to-scene"

},labelingInfo: [{

symbol: new LabelSymbol3D({symbolLayers: [new TextSymbol3DLayer({…})]

})}]

});

renderer

symbol

visualVariables

symbolLayers

var layer = new FeatureLayer({renderer: new SimpleRenderer({symbol: new PointSymbol3D({symbolLayers: [new IconSymbol3DLayer({…})]

}),visualVariables: [{type: "size",field: "TOTPOP_CY",normalizationField: "SQMI",stops: [{

value: 4000,size: 6

},{

value: 23000,size: 40

}]}]

});for numeric continuous visualizations

Data-driven visualizationRenderers & Visual Variables

1. Field value(s)TOTAL_POP

2. Arcade expressionRound( ($feature.BACHELOR + $feature.MASTER) / $feature.POP_25UP) );

layer

elevationInfo

var layer = new FeatureLayer({renderer: new SimpleRenderer({symbol: new PointSymbol3D({symbolLayers: [new IconSymbol3DLayer({…})]

})}),elevationInfo: {mode: "relative-to-scene"

},labelingInfo: [{

symbol: new LabelSymbol3D({symbolLayers: [new TextSymbol3DLayer({…})]

})}]

});

mode

layer

elevationInfo

mode

on the ground relative to ground

layer

symbol

labelingInfo

symbolLayers

var layer = new FeatureLayer({renderer: new SimpleRenderer({symbol: new PointSymbol3D({symbolLayers: [new IconSymbol3DLayer({…})]

})}),elevationInfo: {mode: "relative-to-scene"

},labelingInfo: [{

symbol: new LabelSymbol3D({symbolLayers: [new TextSymbol3DLayer({…})]

})}]

});

Hands on demos

Four use cases

Visualization of the world population

Visualization of earthquakes

Visualization of cities as a hand-drawn sketch

Smart mapping

Resources

• Visualization with ArcGIS API for Javascript overview -https://developers.arcgis.com/javascript/latest/guide/visualization-overview/index.html, https://developers.arcgis.com/javascript/latest/guide/creating-visualizations-manually/index.html

• 3D visualization techniques (series of 3 blogs) - https://www.esri.com/arcgis-blog/products/js-api-arcgis/3d-gis/3d-visualization-working-with-icons-lines-and-fill-symbols/

• Visualize data on a globe - https://www.esri.com/arcgis-blog/products/js-api-arcgis/mapping/get-creative-with-globe-visualizations/

• Sketch style for cities - https://www.esri.com/arcgis-blog/products/js-api-arcgis/mapping/sketch-your-city-with-arcgis-api-for-javascript/

Complete answersand select “Submit”

Scroll down to find the feedback section

Select the session you attended

Download the Esri Events app and find your event

Please Take Our Survey on the App