ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / ImageServiceLayer Class / SetMosaicRule Method
ArcGIS.Core.CIM.CIMMosaicRule
Example Version

    SetMosaicRule Method
    Sets the mosaic rule. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    public void SetMosaicRule( 
       CIMMosaicRule mosaicRule
    )

    Parameters

    mosaicRule
    ArcGIS.Core.CIM.CIMMosaicRule
    Exceptions
    ExceptionDescription
    This method or property must be called within the lambda passed to QueuedTask.Run.
    Example
    Update the sort order - mosaic method on a mosaic layer
    await QueuedTask.Run(() =>
    {
      // Get the image sub-layer from the mosaic layer.
      ImageServiceLayer mosaicImageSubLayer = mosaicLayer.GetImageLayer() as ImageServiceLayer;
      // Get the mosaic rule.
      CIMMosaicRule mosaicingRule = mosaicImageSubLayer.GetMosaicRule();
      // Set the Mosaic Method to Center.
      mosaicingRule.MosaicMethod = RasterMosaicMethod.Center;
      // Update the mosaic with the changed mosaic rule.
      mosaicImageSubLayer.SetMosaicRule(mosaicingRule);
    });
    Update the resolve overlap - mosaic operator on a mosaic layer
    await QueuedTask.Run(() =>
    {
      // Get the image sub-layer from the mosaic layer.
      ImageServiceLayer mosaicImageSublayer = mosaicLayer.GetImageLayer() as ImageServiceLayer;
      // Get the mosaic rule.
      CIMMosaicRule mosaicRule = mosaicImageSublayer.GetMosaicRule();
      // Set the Mosaic Operator to Mean.
      mosaicRule.MosaicOperatorType = RasterMosaicOperatorType.Mean;
      // Update the mosaic with the changed mosaic rule.
      mosaicImageSublayer.SetMosaicRule(mosaicRule);
    });
    Update the sort order - mosaic method on an image service layer
    await QueuedTask.Run(() =>
    {
      // Get the mosaic rule of the image service.
      CIMMosaicRule mosaicRule = isLayer.GetMosaicRule();
      // Set the Mosaic Method to Center.
      mosaicRule.MosaicMethod = RasterMosaicMethod.Center;
      // Update the image service with the changed mosaic rule.
      isLayer.SetMosaicRule(mosaicRule);
    });
    Update the resolve overlap - mosaic operator on an image service layer
    await QueuedTask.Run(() =>
    {
      // Get the mosaic rule of the image service.
      CIMMosaicRule mosaicingRule = isLayer.GetMosaicRule();
      // Set the Mosaic Operator to Mean.
      mosaicingRule.MosaicOperatorType = RasterMosaicOperatorType.Mean;
      // Update the image service with the changed mosaic rule.
      isLayer.SetMosaicRule(mosaicingRule);
    });
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also