# Interface SubtypeGroupLayerJson

SubtypeGroupLayer provides the ability to organize several sublayers into one common layer. Suppose there are several FeatureLayers that all represent water features in different dimensions. For example, wells (points), streams (lines), and lakes (polygons). The SubtypeGroupLayer provides the functionality to treat them as one layer called Water Features even though they are stored as separate feature layers.

See https://developers.arcgis.com/web-map-specification/objects/subtypeGroupLayer/.

interface SubtypeGroupLayerJson {
blendMode?:
| "invert"
| "normal"
| "lighter"
| "multiply"
| "color"
| "average"
| "color-burn"
| "color-dodge"
| "darken"
| "destination-atop"
| "destination-in"
| "destination-out"
| "destination-over"
| "difference"
| "exclusion"
| "hard-light"
| "hue"
| "lighten"
| "luminosity"
| "minus"
| "overlay"
| "plus"
| "reflect"
| "saturation"
| "screen"
| "soft-light"
| "source-atop"
| "source-in"
| "source-out"
| "vivid-light"
| "xor";
customParameters?: Record<string, unknown>;
effect?: EffectJson;
id?: string;
itemId?: string;
layerDefinition?: LayerDefinitionJson;
layers?: SubtypeSublayerJson[];
layerType: "SubtypeGroupLayer";
listMode?: LayerListMode;
maxScale?: number;
minScale?: number;
opacity?: number;
refreshInterval?: number;
showLegend?: boolean;
timeAnimation?: boolean;
title?: string;
type?: LegacyOperationalLayerJsonType | LegacyBasemapLayerJsonType;
url?: string;
visibility?: boolean;
visibilityTimeExtent?: [number, number];
}

#### Hierarchy (view full)

- OperationalLayerJsonBase
  - SubtypeGroupLayerJson

#####
Index

### Properties

blendMode?
customParameters?
effect?
id?
itemId?
layerDefinition?
layers?
layerType
listMode?
maxScale?
minScale?
opacity?
refreshInterval?
showLegend?
timeAnimation?
title?
type?
url?
visibility?
visibilityTimeExtent?

##
Properties

### `Optional` blendMode

blendMode?:
| "invert"
| "normal"
| "lighter"
| "multiply"
| "color"
| "average"
| "color-burn"
| "color-dodge"
| "darken"
| "destination-atop"
| "destination-in"
| "destination-out"
| "destination-over"
| "difference"
| "exclusion"
| "hard-light"
| "hue"
| "lighten"
| "luminosity"
| "minus"
| "overlay"
| "plus"
| "reflect"
| "saturation"
| "screen"
| "soft-light"
| "source-atop"
| "source-in"
| "source-out"
| "vivid-light"
| "xor"

Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.

Inherited from OperationalLayerJsonBase.blendMode

### `Optional` customParameters

customParameters?: Record<string, unknown>

A sequence of custom parameters appended to the URL of all requests related to supporting ArcGIS layer types.

### `Optional` effect

effect?: EffectJson

Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work.

Inherited from OperationalLayerJsonBase.effect

### `Optional` id

id?: string

A unique identifying string for the layer.

Inherited from OperationalLayerJsonBase.id

### `Optional` itemId

itemId?: string

Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.

### `Optional` layerDefinition

layerDefinition?: LayerDefinitionJson

A layerDefinition object defining the attribute schema and drawing information for the layer.

### `Optional` layers

layers?: SubtypeSublayerJson[]

An array of feature layers, each describing the properties for a subtype in the feature service layer.

### layerType

layerType

String indicating the layer type. Value of this property must be SubtypeGroupLayer.

Overrides OperationalLayerJsonBase.layerType

### `Optional` listMode

listMode?: LayerListMode

Indicates how the layer should display in the table of contents. The known values are listed below. See support/esri!ListMode.

Inherited from OperationalLayerJsonBase.listMode

### `Optional` maxScale

maxScale?: number

A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.

Inherited from OperationalLayerJsonBase.maxScale

### `Optional` minScale

minScale?: number

A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.

Inherited from OperationalLayerJsonBase.minScale

### `Optional` opacity

opacity?: number

The degree of transparency applied to the layer on the client side, where 0 is full transparency and 1 is no transparency.

Inherited from OperationalLayerJsonBase.opacity

### `Optional` refreshInterval

refreshInterval?: number

When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm.

Inherited from OperationalLayerJsonBase.refreshInterval

### `Optional` showLegend

showLegend?: boolean

Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.

Inherited from OperationalLayerJsonBase.showLegend

### `Optional` timeAnimation

timeAnimation?: boolean

Indicates whether to disable time animation if the layer supports it.

### `Optional` title

title?: string

A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.

Inherited from OperationalLayerJsonBase.title

### `Optional` type

type?: LegacyOperationalLayerJsonType | LegacyBasemapLayerJsonType

(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.

Inherited from OperationalLayerJsonBase.type

### `Optional` url

url?: string

The URL to the layer. If the layer is not from a web service but rather a feature collection, then the url property is omitted.

### `Optional` visibility

visibility?: boolean

Determines whether the layer is initially visible in the web map.

Inherited from OperationalLayerJsonBase.visibility

### `Optional` visibilityTimeExtent

visibilityTimeExtent?: [number, number]

Represents time extent that will control when a layer should be visible based on webmap's current time. Visibility time extent only affects the layer visibility and will not filter the data.

Inherited from OperationalLayerJsonBase.visibilityTimeExtent