This sample uses the recorded locations of hurricanes to demonstrate how to visualize multiple data attributes in a single renderer using 3D symbols in a SceneView. In this case a PointSymbol3D is used in conjunction with a cone primitive in an ObjectSymbol3DLayer to symbolize wind speed and pressure.
color is used to visualize atmospheric pressure and the height of each cone indicates the wind speed in knots.
Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
const renderer = {
type: "simple", // autocasts as new SimpleRenderer()symbol: {
// symbol type required for rendering point geometriestype: "point-3d", // autocasts as new PointSymbol3D()symbolLayers: [
{
// renders points as volumetric objectstype: "object", // autocasts as new ObjectSymbol3DLayer()resource: { primitive: "cone" }, // renders points as coneswidth: 50000 }
]
},
visualVariables: [
{
type: "color",
field: "PRESSURE", // field containing data for atmospheric pressurestops: [{ value: 950, color: "red" }, { value: 1020, color: "blue" }]
},
{
type: "size",
field: "WINDSPEED", // field containing data for wind speedstops: [{ value: 20, size: 60000 }, { value: 150, size: 500000 }],
axis: "height" },
{
type: "size",
axis: "width-and-depth",
useSymbolValue: true// uses the width value defined in the symbol layer (50,000) }
]
};
The axis property of the size visual variables indicates how to define the size of each feature. the width-and-depth size variable is used to set a constant diameter to the base of each cone. The height size variable, on the other hand, uses the values of the WINDSPEED field to determine a size between 60 and 500 kilometers in height.