VectorFieldRenderer

require(["esri/renderers/VectorFieldRenderer"], function(VectorFieldRenderer) { /* code goes here */ });
Class: esri/renderers/VectorFieldRenderer
Inheritance: VectorFieldRenderer Accessor
Since: ArcGIS API for JavaScript 4.17
beta

The VectorFieldRenderer allows you to display your raster data with vector symbols. This renderer is often used for visualizing flow direction and magnitude information in meteorology and oceanography raster data. It can also be used to symbolize a single raster layer where the symbols are scalar. The direction of the raster defines the angles, while the magnitude of the raster defines the size of the symbol.

elevation-info

Known Limitations

See also:
Example:
const renderer = new VectorFieldRenderer({
  style: "beaufort-kn", // Beaufort point symbol (knots)
  flowRepresentation: "flow-from", // show flow to angle for wind direction
  symbolTileSize: 10, // draw one symbol in every 10x10 pixels
   visualVariables: [
     {
       type: "size",
       field: "Magnitude", // values read from the first band
       maxDataValue: 32,
       maxSize: "100px",
       minDataValue: 0.04,
       minSize: "8px"
     },
     {
       type: "rotation",
       field: "Direction", // values read from the second band
       rotationType: "geographic" // "arithmetic" is the default
     }
   ]
});

Constructors

new VectorFieldRenderer(properties)
Parameter:
properties Object
optional

See the properties for a list of all the properties that may be passed into the constructor.

Property Overview

Any properties can be set, retrieved or listened to. See the Working with Properties topic.
NameTypeSummaryClass
String

Attribute field presenting the magnitude.

more details
more detailsVectorFieldRenderer
String

The name of the class.

more details
more detailsAccessor
String

Defines the flow direction of the data.

more details
more detailsVectorFieldRenderer
String

Predefined symbol styles used to represent the vector flow.

more details
more detailsVectorFieldRenderer
Number

Determines the density of the symbols.

more details
more detailsVectorFieldRenderer
String

The type of Renderer.

more details
more detailsVectorFieldRenderer
VisualVariable[]

An array of VisualVariable objects.

more details
more detailsVectorFieldRenderer

Property Details

attributeField String

Attribute field presenting the magnitude.

For VectorFieldRenderer the attributeField is always "Magnitude".

declaredClass Stringreadonly inherited

The name of the class. The declared class name is formatted as esri.folder.className.

flowRepresentation String

Defines the flow direction of the data. This can be modified to display meteorological (the direction it is flowing from) or climatological data (the direction it is flowing to).

ValueDescription
flow-fromFlow from angle.
flow-toFlow to angle.

Possible Values:"flow-from"|"flow-to"

Default Value:"flow-from"
style String

Predefined symbol styles used to represent the vector flow.

ValueDescription
beaufort-ftBeaufort point symbol (feet)
beaufort-kmBeaufort point symbol (kilometers)
beaufort-knBeaufort point symbol (knots)
beaufort-mBeaufort point symbol (meters)
beaufort-miBeaufort point symbol (miles)
classified-arrowClassified arrow point symbol
ocean-current-knOcean current point symbol (knots)
ocean-current-mOcean current point symbol (meters)
simple-scalarSimple scalar point symbol
single-arrowSingle arrow point symbol
wind-barbBarb wind speed point symbol

Possible Values:"beaufort-ft"|"beaufort-km"|"beaufort-kn"|"beaufort-m"|"beaufort-mi"|"classified-arrow"|"ocean-current-kn"|"ocean-current-m"|"simple-scalar"|"single-arrow"|"wind-barb"

Default Value:"single-arrow"
symbolTileSize Number

Determines the density of the symbols. Larger tile size, fewer symbols. The VectorFieldRenderer draws one symbol within a defined tile size (in screen pixels).

Default Value:50
type Stringreadonly

The type of Renderer.

For VectorFieldRenderer the type is always "vector-field".

visualVariables VisualVariable[]autocast
Autocasts from Object[]

An array of VisualVariable objects. Each object must indicate the type of visual variable to apply (e.g. SizeVisualVariable, RotationVisualVariable), the numeric field or expression from which to drive the visualization, and the visual values to map to the data. The following list identifies each visual variable type that is supported with the VectorFieldRenderer and provides a link to the specification table of each.

When setting fields for the visual variables set on the VectorFieldRenderer, use Magnitude and Direction fields. Magnitude will return pixel values from the first band. Direction will return values from the second band. If the data represents u (zonal) and v (meridional) speed components, values are automatically converted to Magnitude and Direction.

See also:
Example:
const renderer = new VectorFieldRenderer({
  style: "beaufort-kn", // Beaufort point symbol (knots)
  flowRepresentation: "flow-from", // show flow to angle for wind direction
  symbolTileSize: 10, // controls the density of the displayed vector symbols.
   visualVariables: [
     {
       type: "size",
       field: "Magnitude", // values read from the first band
       maxDataValue: 32,
       maxSize: "100px",
       minDataValue: 0.04,
       minSize: "8px"
     },
     {
       type: "rotation",
       field: "Direction", // values read from the second band
       rotationType: "geographic" // "arithmetic" is the default
     }
   ]
});

Method Overview

NameReturn TypeSummaryClass
VectorFieldRenderer

Creates a deep clone of the renderer.

more details
more detailsVectorFieldRenderer
*

Creates a new instance of this class and initializes it with values from a JSON object generated from a product in the ArcGIS platform.

more details
more detailsVectorFieldRenderer
Object

Converts an instance of this class to its ArcGIS portal JSON representation.

more details
more detailsVectorFieldRenderer

Method Details

Creates a deep clone of the renderer.

Returns:
TypeDescription
VectorFieldRendererA deep clone of the object that invoked this method.
Example:
// Creates a deep clone of the first layer's renderer
var renderer = view.map.layers.getItemAt(0).renderer.clone();
fromJSON(json){*}static

Creates a new instance of this class and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input json parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function.

Parameter:
json Object

A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects.

Returns:
TypeDescription
*Returns a new instance of this class.
toJSON(){Object}

Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.

Returns:
TypeDescription
ObjectThe ArcGIS portal JSON representation of an instance of this class.

API Reference search results

NameTypeModule
Loading...