Setting min and max values across different rasters in Pro

6347
2
03-22-2018 09:28 AM
MikeW
by
New Contributor III

I am trying to accomplish the same thing as the person in this question: https://community.esri.com/thread/181412-same-color-scale-symbology-for-multiple-rasters  in PRO...

Is this functionality available in ArcGIS PRO?

2 Replies
XanderBakker
Esri Esteemed Contributor

You can share the first layer with the correct symbology as a layer file lyx and import that at the others by following these steps.

Define the symbology for the first layer:

In short; Stretch, Minimum Maximum, custom statistics and define Min and Max values (and set the color schema you want.

Save the layer file:

Enter the symbology properties of the next raster and import the symbology from the layer file:

LesleyBross1
New Contributor III

Thanks for pointing me in the right direction. For anyone wishing to accomplish something similar using the ArcGIS Pro SDK, the following worked for me:

// Create a new Stretch Colorizer Definition supplying the color ramp
StretchColorizerDefinition stretchColorizerDef = new StretchColorizerDefinition(0, RasterStretchType.DefaultFromSource, 1.0, cimColorRamp);
stretchColorizerDef.StretchType = RasterStretchType.PercentMinimumMaximum;
//Create a new Stretch colorizer using the colorizer definition created above.
CIMRasterStretchColorizer newStretchColorizer =
await rasterLayer.CreateColorizerAsync(stretchColorizerDef) as CIMRasterStretchColorizer;

if (useCustomMinMax == true)
{
  //Customize min and max
  newStretchColorizer.StretchType = RasterStretchType.MinimumMaximum;
  newStretchColorizer.StatsType = RasterStretchStatsType.GlobalStats;
  StatsHistogram histo = newStretchColorizer.StretchStats;
  histo.max = stretchMax;
  histo.min = stretchMin;
  newStretchColorizer.StretchStats = histo;
}