require(["esri/layers/support/fieldUtils"], (fieldUtils) => { /* code goes here */ });
import * as fieldUtils from "@arcgis/core/layers/support/fieldUtils.js";
esri/layers/support/fieldUtils
Convenience methods for getting field names used for feature layer labeling, elevation, editor tracking and time span.
Method Overview
Name | Return Type | Summary | Object |
---|---|---|---|
Gets the appropriate display field name to label a feature. | fieldUtils | ||
Returns an array of field names used in the Arcade expression for calculating the z-values of features in the given feature layer's FeatureLayer.elevationInfo. | fieldUtils | ||
Returns an array of field names referenced in one or more Arcade expressions to be set on the given layer in either the renderer, labels, or popup template. | fieldUtils | ||
Returns an array of editor tracking field names for a given layer. | fieldUtils | ||
Returns an array of geometry field names for a given layer. | fieldUtils | ||
Returns an array of field names used in the Arcade expression for labeling features in the given feature layer's FeatureLayer.labelingInfo. | fieldUtils | ||
Returns an array of field names used in the layer's Renderer. | fieldUtils | ||
Returns an array of field names related to time. | fieldUtils |
Method Details
-
getDisplayFieldName
getDisplayFieldName(layer){String}
Since: ArcGIS Maps SDK for JavaScript 4.15fieldUtils since 4.11, getDisplayFieldName added at 4.15. -
Gets the appropriate display field name to label a feature.
ParameterAn array of fields to determine the display field from.
ReturnsType Description String The name of the display field to use for labeling.
-
Returns an array of field names used in the Arcade expression for calculating the z-values of features in the given feature layer's FeatureLayer.elevationInfo.
Parameterlayer FeatureLayerThe featureLayer to extract fields required for calculating feature z-values.
Returns
-
Since: ArcGIS Maps SDK for JavaScript 4.15fieldUtils since 4.11, getExpressionFields added at 4.15. -
Returns an array of field names referenced in one or more Arcade expressions to be set on the given layer in either the renderer, labels, or popup template. This is useful for when you want to request the data for these fields prior to updating a renderer for fast visual updates or when you want to execute a client-side query on that data prior to setting the Arcade expressions on the layer.
ParametersThe layer for which the Arcade
expressions
are authored. This layer must have afields
property.An array of Arcade expressions to be set on the given
layer
.Returns- See also
Exampleconst windDirectionExpression = ` $feature["WIND_DIRECT"]; $feature["WIND_SPEED"]; var DEG = $feature.WIND_DIRECT; var SPEED = $feature.WIND_SPEED; var DIR = When( SPEED == 0, "", (DEG < 22.5 && DEG >= 0) || DEG > 337.5, "N", DEG >= 22.5 && DEG < 67.5, "NE", DEG >= 67.5 && DEG < 112.5, "E", DEG >= 112.5 && DEG < 157.5, "SE", DEG >= 157.5 && DEG < 202.5, "S", DEG >= 202.5 && DEG < 247.5, "SW", DEG >= 247.5 && DEG < 292.5, "W", DEG >= 292.5 && DEG < 337.5, "NW", "" ); return SPEED + " mph " + DIR; `; const labelExpressions = [ "Round($feature.TEMP) + '° F';", "$feature.R_HUMIDITY + '% RH'", "$feature.STATION_NAME", windDirectionExpression ]; // Assume the layer has only requested the OBJECTID field fieldUtils.getExpressionFields(layer, labelExpressions) .then(function(fieldNames){ // fieldNames = ["R_HUMIDITY", "STATION_NAME", "TEMP", "WIND_DIRECT", "WIND_SPEED"] layer.outFields = fieldNames; // Do something else like a client-side query with those fields }).catch(function(error){ console.error(error); });
-
Returns an array of editor tracking field names for a given layer. It includes the fields from the FeatureLayer.editFieldsInfo.
ParameterThe layer from which to extract editor tracking fields.
Returns
-
Since: ArcGIS Maps SDK for JavaScript 4.19fieldUtils since 4.11, getFeatureGeometryFields added at 4.19. -
Returns an array of geometry field names for a given layer. It includes the fields from the FeatureLayer.geometryProperties.
ParameterThe layer to extract geometry fields from.
Returns
-
Returns an array of field names used in the Arcade expression for labeling features in the given feature layer's FeatureLayer.labelingInfo.
Parameterlayer FeatureLayerThe Feature Layer from which to extract label fields.
Returns
-
Since: ArcGIS Maps SDK for JavaScript 4.30fieldUtils since 4.11, getRendererFields added at 4.30. -
Returns an array of field names used in the layer's Renderer.
Parametersrenderer RendererLayer's renderer to collect field names used in that renderer.
fieldsIndex FieldsIndexThe field index of the layer. It can be used to make case-insensitive lookups for a field by name.
ReturnsExampleconst rendererFields = fieldUtils.getRendererFields(layer.renderer, layer.fieldsIndex);
-
Returns an array of field names related to time. It includes the fields from the FeatureLayer.timeInfo, and the
trackIdField
.Parameterlayer FeatureLayerThe Feature Layer from which to extract time fields.
Returns