Skip to content
Types
import type { IFeature, IFeatureSet, IEnvelope, GeometryType, SpatialRelationship } from "@arcgis/charts-components/spec/rest-js-types.js";

Type definitions

IFeature

Type definition

a spatial entity and its corresponding properties

IFeature can also be imported from the following packages:

import { IFeature } from "@esri/arcgis-rest-feature-layer";
import { IFeature } from "@esri/arcgis-rest-routing";

geometry

Property
Type
IGeometry | undefined

attributes

Property
Type
Record<string, any>

symbol

Property
Type
ISymbol | undefined

IFeatureSet

Type definition

IFeatureSet can also be imported from the following packages:

import { IFeatureSet } from "@esri/arcgis-rest-feature-layer";
Supertypes
IHasZM

objectIdFieldName

Property
Type
string | undefined

globalIdFieldName

Property
Type
string | undefined

displayFieldName

Property
Type
string | undefined

geometryType

Property
Type
GeometryType | undefined

For feature layers only.

spatialReference

Property
Type
ISpatialReference | undefined

For feature layers only.

fields

Property
Type
IField[] | undefined

features

Property
Type
IFeature[]

fieldAliases

Property
Type
Record<string, string> | undefined

IEnvelope

Type definition

An envelope is a rectangle defined by a range of values for each coordinate and attribute.

Supertypes
IGeometry

xmin

Property
Type
number

xmax

Property
Type
number

ymin

Property
Type
number

ymax

Property
Type
number

zmin

Property
Type
number | undefined

zmax

Property
Type
number | undefined

mmin

Property
Type
number | undefined

mmax

Property
Type
number | undefined

GeometryType

Type definition

GeometryType can also be imported from the following packages:

import { GeometryType } from "@esri/arcgis-rest-feature-layer";
Type
"esriGeometryEnvelope" | "esriGeometryMultipoint" | "esriGeometryPoint" | "esriGeometryPolygon" | "esriGeometryPolyline"

SpatialRelationship

Type definition

The spatial relationship used to compare input geometries

SpatialRelationship can also be imported from the following packages:

import { SpatialRelationship } from "@esri/arcgis-rest-feature-layer";
Type
"esriSpatialRelContains" | "esriSpatialRelCrosses" | "esriSpatialRelEnvelopeIntersects" | "esriSpatialRelIndexIntersects" | "esriSpatialRelIntersects" | "esriSpatialRelOverlaps" | "esriSpatialRelTouches" | "esriSpatialRelWithin"

IExtent

Type definition

Extents are used to define rectangles and bounding boxes.

IExtent can also be imported from the following packages:

import { IExtent } from "@esri/arcgis-rest-geocoding";
import { IExtent } from "@esri/arcgis-rest-service-admin";
import { IExtent } from "@esri/arcgis-rest-feature-layer";

xmin

Property
Type
number

ymin

Property
Type
number

zmin

Property
Type
number | undefined

xmax

Property
Type
number

ymax

Property
Type
number

zmax

Property
Type
number | undefined

spatialReference

Property
Type
ISpatialReference | undefined

JsonCurve

Type definition

Units

Type definition

Units can also be imported from the following packages:

import { Units } from "@esri/arcgis-rest-feature-layer";
Type
"esriSRUnit_Foot" | "esriSRUnit_Kilometer" | "esriSRUnit_Meter" | "esriSRUnit_NauticalMile" | "esriSRUnit_StatuteMile" | "esriSRUnit_USNauticalMile"

IStatisticDefinition

Type definition

statisticType

Property
Type
"avg" | "centroid-aggregate" | "convex-hull-aggregate" | "count" | "envelope-aggregate" | "max" | "min" | "percentile-continuous" | "percentile-discrete" | "stddev" | "sum" | "var"

Statistical operation to perform.

statisticParameters

Property
Type
{ value: number; orderBy?: "asc" | "desc"; } | undefined

Parameters to be used along with statisticType. Currently only applicable for percentile-continuous (continuous percentile) and percentile-discrete (discrete percentile).

onStatisticField

Property
Type
string

Field on which to perform the statistical operation.

outStatisticFieldName

Property
Type
string | undefined

Field name for the returned statistic field.

If outStatisticFieldName is empty or missing, the server will assign one. A valid field name can only contain alphanumeric characters and an underscore. If outStatisticFieldName is a reserved keyword of the underlying DBMS, the operation can fail. Try specifying an alternative outStatisticFieldName.

Color

Type definition

Represents the color information (R, G, B, A).

IFont

Type definition

family

Property
Type
string | undefined

size

Property
Type
number | undefined

style

Property
Type
"italic" | "normal" | "oblique" | undefined

weight

Property
Type
"bold" | "bolder" | "lighter" | "normal" | undefined

decoration

Property
Type
"line-through" | "none" | "underline" | undefined

ISymbol

Type definition

type

Property
Type
SymbolType

style

Property
Type
string | undefined

ISymbol

Type definition

type

Property
Type
SymbolType

style

Property
Type
string | undefined

IMarkerSymbol

Type definition
Supertypes
ISymbol

angle

Property
Type
number | undefined

xoffset

Property
Type
number | undefined

yoffset

Property
Type
number | undefined

SimpleMarkerSymbolStyle

Type definition
Type
"esriSMSCircle" | "esriSMSCross" | "esriSMSDiamond" | "esriSMSSquare" | "esriSMSTriangle" | "esriSMSX"

SimpleLineSymbolStyle

Type definition
Type
"esriSLSDash" | "esriSLSDashDot" | "esriSLSDashDotDot" | "esriSLSDot" | "esriSLSNull" | "esriSLSSolid"

SimpleFillSymbolStyle

Type definition
Type
"esriSFSBackwardDiagonal" | "esriSFSCross" | "esriSFSDiagonalCross" | "esriSFSForwardDiagonal" | "esriSFSHorizontal" | "esriSFSNull" | "esriSFSSolid" | "esriSFSVertical"

SymbolType

Type definition
Type
"esriPFS" | "esriPMS" | "esriSFS" | "esriSLS" | "esriSMS" | "esriTS"

ISimpleFillSymbol

Type definition
Supertypes
ISymbol

type

Property
Type
"esriSFS"

style

Property
Type
SimpleFillSymbolStyle | undefined

color

Property
Type
Color | undefined

outline

Property
Type
ISimpleLineSymbol | undefined

ISimpleLineSymbol

Type definition
Supertypes
ISymbol

type

Property
Type
"esriSLS"

style

Property
Type
SimpleLineSymbolStyle | undefined

color

Property
Type
Color | undefined

width

Property
Type
number | undefined

ISimpleMarkerSymbol

Type definition
Supertypes
IMarkerSymbol

type

Property
Type
"esriSMS"

style

Property
Type
SimpleMarkerSymbolStyle | undefined

color

Property
Type
Color | undefined

size

Property
Type
number | undefined

outline

Property
Type
ISimpleLineSymbol | undefined

ITextSymbol

Type definition
Supertypes
IMarkerSymbol

type

Property
Type
"esriTS"

color

Property
Type
Color | undefined

backgroundColor

Property
Type
Color | undefined

borderLineSize

Property
Type
number | undefined

borderLineColor

Property
Type
Color | undefined

haloSize

Property
Type
number | undefined

haloColor

Property
Type
Color | undefined

verticalAlignment

Property
Type
"baseline" | "bottom" | "middle" | "top" | undefined

horizontalAlignment

Property
Type
"center" | "justify" | "left" | "right" | undefined

rightToLeft

Property
Type
boolean | undefined

kerning

Property
Type
boolean | undefined

font

Property
Type
IFont | undefined

text

Property
Type
string | undefined

Only applicable when specified as a client-side graphic.

IField

Type definition

Contains information about an attribute field.

IField can also be imported from the following packages:

import { IField } from "@esri/arcgis-rest-feature-layer";

name

Property
Type
string

A string defining the field name.

type

Property
Type
FieldType

A string defining the field type.

alias

Property
Type
string | undefined

A string defining the field alias.

domain

Property
Type
IDomain | undefined

The domain objects if applicable.

editable

Property
Type
boolean | undefined

A Boolean defining whether this field is editable.

exactMatch

Property
Type
boolean | undefined

A Boolean defining whether or not the field is an exact match.

length

Property
Type
number | undefined

A number defining how many characters are allowed in a string. field.

nullable

Property
Type
boolean | undefined

A Boolean defining whether this field can have a null value.

defaultValue

Property
Type
any | undefined

The value written in for new records by default.

IDefinitionParameter

Type definition

defaultValue

Property
Type
number | string | undefined

The default value that is automatically given if nothing is provided.

fieldName

Property
Type
string | undefined

A string value representing the name of the field to query.

parameterId

Property
Type
any | undefined

Number given to uniquely identify the specified parameter.

type

Property
Type
"esriFieldTypeBlob" | "esriFieldTypeDate" | "esriFieldTypeDateOnly" | "esriFieldTypeDouble" | "esriFieldTypeGeometry" | "esriFieldTypeGlobalID" | "esriFieldTypeGUID" | "esriFieldTypeInteger" | "esriFieldTypeOID" | "esriFieldTypeRaster" | "esriFieldTypeSingle" | "esriFieldTypeSmallInteger" | "esriFieldTypeString" | "esriFieldTypeTimeOnly" | "esriFieldTypeTimestampOffset" | "esriFieldTypeXML" | undefined

The field type for the specified field parameter.

utcValue

Property
Type
number | undefined

An integer value representing exact UNIX time used when defaultValue is a date string.

IDefinitionInput

Type definition

hint

Property
Type
string | undefined

A string value representing a hint for the input.

parameters

Property
Type
IDefinitionParameter[] | undefined

An array of parameter objects.

prompt

Property
Type
string | undefined

A string value representing the prompt for the input.

IDrawingInfo

Type definition

Drawing info container for renderer, labeling etc.

fixedSymbols

Property
Type
any | undefined

Only used for feature collections with a renderer. The feature's symbol is defined by the layer's renderer.

labelingInfo

Property
Type
any | undefined

An object defining the properties used for labeling the layer.

renderer

Property
Type
any | undefined

An object defined which provides the symbology for the layer.

scaleSymbols

Property
Type
any | undefined

Boolean property indicating whether symbols should stay the same size in screen units as you zoom in. A value of true means the symbols stay the same size in screen units regardless of the map scale.

showLabels

Property
Type
boolean | undefined

Defines whether labels should be shown or not. This is only valid for sublayers.

transparency

Property
Type
number | undefined

Number value ranging between 0 (no transparency) to 100 (completely transparent).

ILayerDefinition

Type definition

ILayerDefinition can also be imported from the following packages:

import { ILayerDefinition } from "@esri/arcgis-rest-service-admin";
import { ILayerDefinition } from "@esri/arcgis-rest-feature-layer";
Supertypes
IHasZM

allowGeometryUpdates

Property
Type
boolean | undefined

Boolean value indicating whether the geometry of the features in the layer can be edited.

capabilities

Property
Type
string | undefined

A comma separated list of supported capabilities, e.g. Query, Editing.

copyrightText

Property
Type
string | undefined

String value for the copyright text information for the layer.

currentVersion

Property
Type
number | undefined

Numeric value indicating the server version of the layer.

defaultVisibility

Property
Type
boolean | undefined

Boolean value indicating whether the layer's visibility is turned on.

definitionEditor

Property
Type
IDefinitionEditor | undefined

Stores interactive filters.

definitionExpression

Property
Type
string | undefined

SQL-based definition expression string that narrows the data to be displayed in the layer.

description

Property
Type
string | undefined

String value of the layer as defined in the map service.

displayField

Property
Type
string | undefined

A string value that summarizes the feature.

drawingInfo

Property
Type
any | undefined

Contains drawing, labeling, and transparency information.

extent

Property
Type
IExtent | null | undefined

An object defining the rectangular area.

editingInfo

Property
Type
IEditingInfo | undefined

An object defining the editing info (last edit date).

featureReduction

Property
Type
any | undefined

Feature reductions declutter the screen by hiding features that would otherwise intersect with other features on screen.

fields

Property
Type
IField[] | undefined

An array of field objects containing information about the attribute fields for the feature collection or layer.

geometryType

Property
Type
GeometryType | undefined

A string defining the type of geometry. Possible geometry types are: esriGeometryPoint, esriGeometryMultipoint, esriGeometryPolyline, esriGeometryPolygon, and esriGeometryEnvelope.

globalIdField

Property
Type
string | undefined

The unique identifier for a feature or table row within a geodatabase.

hasAttachments

Property
Type
boolean | undefined

Indicates whether attachments should be loaded for the layer.

hasStaticData

Property
Type
boolean | undefined

Boolean value indicating whether data changes. True if it does not.

htmlPopupType

Property
Type
"esriServerHTMLPopupTypeAsHTMLText" | "esriServerHTMLPopupTypeAsURL" | "esriServerHTMLPopupTypeNone" | undefined

String value indicating the HTML popup type.

id

Property
Type
number | undefined

The identifier assigned to the layer.

isDataVersioned

Property
Type
boolean | undefined

Boolean value indicating whether the data is versioned.

maxRecordCount

Property
Type
number | undefined

Numeric value indicating tbe maximum number of records that will be returned at once for a query.

maxScale

Property
Type
number | undefined

Represents the maximum scale at which the layer definition will be applied. This does not apply to layers of type: ArcGISMapServiceLayer, ImageServiceVectorLayer or ImageServiceLayer.

minScale

Property
Type
number | undefined

Represents the minimum scale at which the layer definition will be applied. This does not apply to layers of type: ArcGISMapServiceLayer, ImageServiceVectorLayer or ImageServiceLayer.

name

Property
Type
string | undefined

Contains a unique name for the layer that can be displayed in a legend.

objectIdField

Property
Type
string | undefined

Indicates the name of the object ID field in the dataset.

overrideSymbols

Property
Type
boolean | undefined

Dictates whether a client can support having an end user modify symbols on individual features.

rangeInfos

Property
Type
any | undefined

Indicates range information

source

Property
Type
any | undefined

An object indicating the layerDefinition's layer source.

spatialReference

Property
Type
ISpatialReference | undefined

An object containing the WKID or WKT identifying the spatial reference of the layer's geometry.

supportedQueryFormats

Property
Type
string | undefined

String value indicating the output formats that are supported in a query.

supportsAdvancedQueries

Property
Type
boolean | undefined

Boolean value indicating whether the layer supports orderByFields in a query operation.

supportsAttachmentsByUploadId

Property
Type
boolean | undefined

Boolean value indicating whether the layer supports uploading attachments with the Uploads operation. This can then be used in the Add Attachment and Update Attachment operations.

supportsCalculate

Property
Type
boolean | undefined

Boolean value indicating whether the layer supports the Calculate REST operation when updating features.

supportsRollbackOnFailureParameter

Property
Type
boolean | undefined

Boolean value indicating whether the layer supports rolling back edits made on a feature layer if some of the edits fail.

supportsStatistics

Property
Type
boolean | undefined

Boolean value indicating whether feature layer query operations support statistical functions.

supportsValidateSql

Property
Type
boolean | undefined

Boolean value indicating whether the validateSQL operation is supported across a feature service layer.

templates

Property
Type
ITemplate[] | undefined

A property of the layer definition when there are no types defined; otherwise, templates are defined as properties of the types.

timeInfo

Property
Type
any | undefined

The time info metadata of the layer. May be set for feature layers inside a feature collection item.

type

Property
Type
"Feature Layer" | "Table" | undefined

Indicates whether the layerDefinition applies to a Feature Layer or a Table.

typeIdField

Property
Type
string | undefined

Contains the name of the field holding the type ID for the features.

types

Property
Type
any | undefined

Contains information about an attribute field.

visibilityField

Property
Type
string | undefined

String value indicating the attribute field that is used to control the visibility of a feature. If applicable, when rendering a feature the client should use this field to control visibility. The field's values are 0 = do not display, 1 = display.

relationships

Property
Type
any[] | undefined

editFieldsInfo

Property
Type
{ creationDateField?: string; creatorField?: string; editDateField?: string; editorField?: string; } | undefined

parentLayerId

Property
Type
number | undefined

ownershipBasedAccessControlForFeatures

Property
Type
boolean | undefined

syncCanReturnChanges

Property
Type
boolean | undefined

archivingInfo

Property
Type
{ supportsQueryWithHistoricMoment?: boolean; startArchivingMoment?: number; } | undefined

supportsValidateSQL

Property
Type
boolean | undefined

advancedQueryCapabilities

Property
Type
{ supportsPagination?: boolean; supportsTrueCurve?: boolean; supportsQueryWithDistance?: boolean; supportsReturningQueryExtent?: boolean; supportsStatistics?: boolean; supportsOrderBy?: boolean; supportsDistinct?: boolean; supportsSqlExpression?: boolean; supportsPercentileStatistics?: boolean; } | undefined

allowTrueCurvesUpdates

Property
Type
boolean | undefined

onlyAllowTrueCurveUpdatesByTrueCurveClients

Property
Type
boolean | undefined

supportsApplyEditsWithGlobalIds

Property
Type
boolean | undefined

subtypeField

Property
Type
string | undefined

indexes

Property
Type
any[] | undefined

dateFieldsTimeReference

Property
Type
{ timeZone?: string; respectsDaylightSaving?: boolean; } | undefined

useStandardizedQueries

Property
Type
boolean | undefined

ITemplate

Type definition

Templates describe features that can be created in a layer. They are generally used with feature collections and editable web-based CSV layers.

Templates are not used with ArcGIS feature services as these already have templates defined in the service.

They are also defined as properties of the layer definition when there are no defined types. Otherwise, templates are defined as properties of the types.

description

Property
Type
any | undefined

A string value containing a detailed description of the template.

drawingTool

Property
Type
FeatureEditTool | undefined

An optional string that can define a client-side drawing tool to be used with this feature. For example, map notes used by the Online Map Viewer use this to represent the viewer's different drawing tools.

name

Property
Type
string | undefined

A string containing a user-friendly name for the template.

prototype

Property
Type
IFeature | undefined

A feature object representing a prototypical feature for the template.