Skip to content
import MosaicRule from "@arcgis/core/layers/support/MosaicRule.js";
Inheritance:
MosaicRuleAccessor
Since
ArcGIS Maps SDK for JavaScript 4.0

Specifies the mosaic rule when defining how individual images should be mosaicked. It specifies selection, mosaic method, sort order, overlapping pixel resolution, etc. Mosaic rules are for mosaicking rasters in the mosaic dataset. A mosaic rule is used to define:

  • The selection of rasters that will participate in the mosaic (using where clause).
  • The mosaic method, e.g. how the selected rasters are ordered.
  • The mosaic operation, e.g. how overlapping pixels at the same location are resolved.
See also
Example
new MosaicRule({
ascending: true,
method: "center",
operation: "last"
});

Constructors

Constructor

Constructor
Parameters
ParameterTypeDescriptionRequired
properties
See the properties table for a list of all the properties that may be passed into the constructor.

Properties

Any properties can be set, retrieved or listened to. See the Watch for changes topic.

ascending

Property
Type
boolean

Indicates whether the sort should be ascending. This property applies to all mosaic methods where an ordering is defined except seamline.

Default value
true

declaredClass

readonlyinherited Property
Type
string
Inherited from: Accessor
Since
ArcGIS Maps SDK for JavaScript 4.7

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

itemRasterFunction

autocast Property
Type
RasterFunction | null | undefined
Since
ArcGIS Maps SDK for JavaScript 4.27

The raster function applied on items before mosaicking.

lockRasterIds

Property
Type
number[] | null | undefined

An array of raster Ids. All the rasters with the given list of raster Ids are selected to participate in the mosaic. The rasters will be visible at all pixel sizes regardless of the minimum and maximum pixel size range of the locked rasters.

Example
let mosaicRule = new MosaicRule();
mosaicRule.method = "lock-raster";
mosaicRule.lockRasterIds = [32,454,14];

method

Property
Type
MethodType

The mosaic method determines how the selected rasters are ordered. The mosaic method defines how the mosaicked image is created from these input rasters.

Possible Values

ValueDescription
noneOrders rasters based on the order of objectIds in the mosaic dataset attribute table.
centerEnables rasters to be sorted based their ZOrder, then PixelSize, and then by a default order where rasters that have their centers closest to the view center are placed on top.
nadirEnables rasters to be sorted by the ZOrder, then PixelSize, and then by the distance between the nadir position and view center. This is similar to the Closest to Center method but uses the nadir point to a raster, which may be different than the center, especially for oblique imagery.
viewpointOrders rasters based on the ZOrder, then PixelSize, and then by a user-defined location and nadir location for the rasters using the viewpoint.
attributeEnables raster ordering based on ZOrder, then PixelSize, and then by a defined metadata attribute and its difference from a base value.
lock-rasterEnables a user to lock the display of single or multiple rasters based on the lockRasterIds.
northwestEnables raster ordering by ZOrder, then PixelSize, and then by the shortest distance between the center of a raster to the northwest position.
seamlineCuts the raster using the predefined seamline shape for each raster, using optional feathering along the seams, and orders images based on the ZOrder and then the SOrder fields in the attribute table.
Default value
"none"
Example
let mosaicRule = new MosaicRule();
mosaicRule.method = "lock-raster";

multidimensionalDefinition

autocast Property
Type
DimensionalDefinition[] | null | undefined

The multidimensional definitions associated with the ImageryLayer.mosaicRule. Filters the layer by slicing data along defined variables and dimensions such as time, depth, altitude, etc. For example, you can display a particular variable such as temperature or salinity measured at a fixed dimension (e.g. time, depth). These data types are commonly used in atmospheric, oceanographic, and earth sciences. For example, it can be used to display sea temperature at -1000m below sea level for a specific week in the year.

Multiple definitions are consolidated by server into one single where clause. The consolidation rule is:

  • For the same variableName but different dimensionName, it uses the AND operator to connect all dimension conditions for the same variable.
  • For different variableName, it uses the OR operator to connect any variable that meets the dimension conditions.
See also
Example
// Display water salinity at a specific point in time.
// In this case - Nov 30 2009
let mosaicRule = new MosaicRule();
mosaicRule.multidimensionalDefinition = [];
mosaicRule.multidimensionalDefinition.push(new DimensionalDefinition({
variableName: "Salinity",
dimensionName: "StdTime",
values: [1259625600000]
}));
layer.mosaicRule = mosaicRule;

objectIds

Property
Type
number[] | null | undefined

Defines a selection using a set of ObjectIDs. This property applies to all mosaic methods.

operation

Property
Type
OperationType

Defines the mosaic operation used to resolve overlapping pixels.

Possible Values

ValueDescription
firstThe overlapping areas will contain the cells from the first raster dataset listed in the source.
lastThe overlapping areas will contain the cells from the last raster dataset listed in the source.
minThe overlapping areas will contain the minimum cell values from all the overlapping cells.
maxThe overlapping areas will contain the maximum cell values from all the overlapping cells.
meanThe overlapping areas will contain the mean cell values from all the overlapping cells.
blendThe overlapping areas will be a blend of the cell values that overlap. This blend value relies on an algorithm that is weight based and dependent on the distance from the cells to the edge within the overlapping area.
sumThe overlapping areas will contain the total sum of the cell values from all the overlapping cells.
@public
Default value
"first"

sortField

Property
Type
string | null | undefined

The name of the attribute field that is used with a constant sortValue to define the mosaicking order when the mosaic method is set to attribute. The ordering is defined by the absolute value of the difference between the specified sort field value and the sort base value. For example, if the sort field is Month and the sort value is 7 (July), then the ordering is defined by ABS(Month -7).

sortValue

Property
Type
string | number

A constant value defining a reference or base value for the sort field when the mosaic method is set to attribute.

viewpoint

autocast Property
Type
Point | null | undefined

Defines the viewpoint location on which the ordering is defined based on the distance from the viewpoint and the nadir of rasters.

Example
let mosaicRule = new MosaicRule();
mosaicRule.method = "viewpoint";
mosaicRule.viewpoint = inPoint;
layer.mosaicRule = mosaicRule;

where

Property
Type
string | null | undefined

The where clause determines which rasters will participate in the mosaic. This property applies to all mosaic methods. This property will be overridden by the ImageryLayer's ImageryLayer.definitionExpression property if both properties are set.

Methods

MethodSignatureClass
fromJSON
inherited static
fromJSON(json: any): any
clone(): MosaicRule
toJSON
inherited
toJSON(): any

fromJSON

inheritedstatic Method
Signature
fromJSON (json: any): any
Inherited from: JSONSupportMixin

Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. 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.

Parameters
ParameterTypeDescriptionRequired
json
any

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
any

Returns a new instance of this class.

clone

Method
Signature
clone (): MosaicRule

Creates a clone of the MosaicRule object.

Returns
MosaicRule

A clone of the object that invoked this method.

Example
// Creates a clone of the mosaic rule
let mosaicRule = layer.mosaicRule.clone();

toJSON

inherited Method
Signature
toJSON (): any
Inherited from: JSONSupportMixin

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

Returns
any

The ArcGIS portal JSON representation of an instance of this class.

Type definitions

OperationType

Type definition

Defines the mosaic operation used to resolve overlapping pixels.

Possible Values

ValueDescription
firstThe overlapping areas will contain the cells from the first raster dataset listed in the source.
lastThe overlapping areas will contain the cells from the last raster dataset listed in the source.
minThe overlapping areas will contain the minimum cell values from all the overlapping cells.
maxThe overlapping areas will contain the maximum cell values from all the overlapping cells.
meanThe overlapping areas will contain the mean cell values from all the overlapping cells.
blendThe overlapping areas will be a blend of the cell values that overlap. This blend value relies on an algorithm that is weight based and dependent on the distance from the cells to the edge within the overlapping area.
sumThe overlapping areas will contain the total sum of the cell values from all the overlapping cells.
@public
See also
Type
"first" | "last" | "min" | "max" | "mean" | "blend" | "sum"

MethodType

Type definition

The mosaic method determines how the selected rasters are ordered. The mosaic method defines how the mosaicked image is created from these input rasters.

Possible Values

ValueDescription
noneOrders rasters based on the order of objectIds in the mosaic dataset attribute table.
centerEnables rasters to be sorted based their ZOrder, then PixelSize, and then by a default order where rasters that have their centers closest to the view center are placed on top.
nadirEnables rasters to be sorted by the ZOrder, then PixelSize, and then by the distance between the nadir position and view center. This is similar to the Closest to Center method but uses the nadir point to a raster, which may be different than the center, especially for oblique imagery.
viewpointOrders rasters based on the ZOrder, then PixelSize, and then by a user-defined location and nadir location for the rasters using the viewpoint.
attributeEnables raster ordering based on ZOrder, then PixelSize, and then by a defined metadata attribute and its difference from a base value.
lock-rasterEnables a user to lock the display of single or multiple rasters based on the lockRasterIds.
northwestEnables raster ordering by ZOrder, then PixelSize, and then by the shortest distance between the center of a raster to the northwest position.
seamlineCuts the raster using the predefined seamline shape for each raster, using optional feathering along the seams, and orders images based on the ZOrder and then the SOrder fields in the attribute table.
Type
"none" | "center" | "nadir" | "viewpoint" | "attribute" | "lock-raster" | "northwest" | "seamline"