ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Data.Raster Namespace / RasterStorageDef Class / SetCompressionQuality Method
The compression quality to set.
Example

In This Topic
    SetCompressionQuality Method
    In This Topic
    Sets the compression quality of the raster to be stored on this raster storage definition. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    public void SetCompressionQuality( 
       int quality
    )
    Public Sub SetCompressionQuality( _
       ByVal quality As Integer _
    ) 

    Parameters

    quality
    The compression quality to set.
    Remarks
    The compression quality property specifies the compression quality if the compression type is JPEG or JPEG 2000. The valid range is 5 to 95 where 95 is the best quality. By default, the compression quality is set to 75.
    Example
    Write a compressed image to a raster field
    QueuedTask.Run(() =>
    {
      //Open the raster dataset on disk and create a compressed raster value dataset object
      var dataStore = new ArcGIS.Core.Data.FileSystemDatastore(new ArcGIS.Core.Data.FileSystemConnectionPath(new System.Uri(@"e:\temp"), ArcGIS.Core.Data.FileSystemDatastoreType.Raster));
      using (var fileRasterDataset = dataStore.OpenDataset<ArcGIS.Core.Data.Raster.RasterDataset>("Hydrant.jpg"))
      {
        var storageDef = new ArcGIS.Core.Data.Raster.RasterStorageDef();
        storageDef.SetCompressionType(ArcGIS.Core.Data.Raster.RasterCompressionType.JPEG);
        storageDef.SetCompressionQuality(90);
    
        var rv = new ArcGIS.Core.Data.Raster.RasterValue();
        rv.SetRasterDataset(fileRasterDataset);
        rv.SetRasterStorageDef(storageDef);
    
        var sel = MapView.Active.Map.GetSelection();
    
        //insert a raster value object into the raster field
        var insp = new ArcGIS.Desktop.Editing.Attributes.Inspector();
        insp.Load(sel.ToDictionary().Keys.First(), sel.ToDictionary().Values.First());
        insp["Photo"] = rv;
    
        var op = new EditOperation() { Name = "Raster Inspector" };
        op.Modify(insp);
        if (!op.IsEmpty)
        {
          var result = op.Execute(); //Execute and ExecuteAsync will return true if the operation was successful and false if not
        }
      }
    });
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also