In HEC-MetVue, Color Scales are used for rendering Contour Band/Isohyet, Theissen Polygon, Raster, and Polygon/Basin Average layers. Color Scales use Scale Settings and a Color Palette to define how values are rendered in Map Windows as shown in the following figure. 

Scale Settings determine how the data is binned into discrete intervals (classes), which can be rendered with a consistent color. A Color Palette defines multiple levels, where each palette level is a color that can be attached to a scale class. Scale Settings fall into two categories: Auto-Scale and Explicit. The method for attaching Color Palette Levels to Scale Classes is dependent on whether the Scale is set (through the Auto-Scale checkbox) to be Auto-Scale or Explicit.

Explicit Settings

Explicit settings contain user specified classes and colors specifically attached to those classes. Explicit classes have the benefit of allowing complete customization of the colors that represent each range of values. With this customization, the Explicit settings are incapable of scaling to data bounds. Therefore, Explicit settings are most useful when the user knows the expected range of values, or when certain ranges of values are customary for specific data and regions.

Example explicit Color Scales are included to use and adapt from for precipitation, temperature, and snow.  

Auto-Scale Settings

The Auto-Scale Settings generate a scale based on user-specified (minimum, maximum, and increment) Scale Limits and (Linear or Log) Scale Distribution Controls . Bounds on the Scale Settings can be either explicitly set by the user or inferred from the range of the data.

Number of Classes

The Number of Classes is computed by the program based on the Increment if set by the user, or otherwise the Number of Classes will equal the number of Color Palette Levels.  The conditions for computing the Number of Classes are as follows:

  • If either or both Minimum and Maximum Scale Limits are inferred, then the Number of Classes will equal the number of Color Palette Levels, irrespective of whether or not the class increment is inferred.  In this case, the Legend Preview would not show values at the Color Palette Level boundaries.

  • If both the Min and Max Scale Limits as well as the Scale Increment are user-specified, then the Number of Classes will be auto-calculated based on those settings. 

  • If the Scale Limits are user-specified while the Increment is to be inferred, then the Number of Classes will equal the number of Color Palette Levels and the Increment is auto-calculated accordingly. 

  • If either Over Max and Under Min are checked, the Number of Classes will be increment by each of those options.

Scale Distribution

The distribution of the classes within the Scale Limits may be either Linear or Logarithmic.

For the Linear Distribution, the Increment (class size), can be specified to compute evenly spaced classes between the Scale Limits.

  • If the Increment option is user-specified, each class size is equal to the specified increment, and the total Number of Classes is computed as the difference between the Maximum and Minimum Scale Limits divided by the Increment. For example, if the Scale Limits are 0 and 10 with an Increment of 2, the result is five classes:  [0.0-2.0], [2.0-4.0], [4.0-6.0], [6.0-8.0], and [8.0-10.0].
  • If the Increment option is set to be inferred, the Increment will be computed as the difference between the Maximum and Minimum Scale Limits divided by the Number of Classes.  For example, if the Scale Limits are 0 and 10 with the Number of Classes is 4, the result is four classes each with an increment of 2.5:  [0.0-2.5], [2.5-5.0], [5.0-7.5], and [7.5-10.0].

For the Logarithmic Distribution, classes are computed using a base 10 logarithmic function. Given the logarithmic function is non-linear, the increment cannot be specified explicitly. Therefore, the user must specify the Number of Classes Per Log Cycle, where a cycle is the range 10n<x<10n+1 (i.e. 0.1<x<1, 1<x<10, 10<x<100, etc.).

  • For example, if the Scale Limits are from 0.1 to 10 with the Number of Classes Per Cycle set to 2, the resulting classes are [0.1-0.5], [0.5-1.0], [1.0-5.0], and [5.0-10.0].
  • Alternatively, if the Scale Limits are from 0.1 to 10 with the Number of Classes Per Cycle set to 4, the resulting classes are [0.1-.25], [0.25-0.5], [0.5-.75], [0.75-1.0], [1.0-2.5], [2.5-5.0], [5.0-7.5], and [7.5-10.0].

Color Palette Binding Rules

When using an Auto-Scale definition where the Number of Classes does not equal the number of the Color Palette Levels, a binding rule must be selected to define how a Color Palette is attached to the Color Scale.  The various Color Palette Binding Rules are described below on how they assign colors from different Color Palette Levels to an associated Scale Class.

Use Entire Color Palette by Selecting Closest Palette Level

When the Number Color Palette Levels is greater than the Number of Classes, each Scale Class will be assigned the lowest Color Palette Level that maps closest to the Scale class.

For example, consider a scale with 5 classes, linearly interpolated between 0 and 5, and a palette containing 10 levels. In this case, the first Scale Class [0-1] will be assigned the first Color Palette Level, the second Scale Class [1-2] will assigned the third Color Palette Level, and so on as illustrated by the following image.

Alternatively, when the Number Color Palette Levels is less than the Number of Classes, multiple consecutive Scale Classes will be assigned the same Color Palette Level that is closest to them. 

For example, consider a Scale with ten classes, linearly interpolated between 0 and 10, and a Color Palette containing five levels. In this case, the first [0-1] and second [1-2] Scale Classes will both be assigned the first Color Palette Level, the third [2-3] and forth [3-4] Scale Classes will both be assigned the second Color Palette Level, and so on as illustrated by the following image.

Use Entire Color Palette by Interpolating Between Nearby Palette Levels

This binding rule is similar to the previous binding rule, except this binding will interpolate between multiple Color Palette Levels that span a Scale Class.

For example, consider a palette with 2 levels, but a scale with 3 classes. The first Scale Class will be assigned the first (red) Color Palette Level, the second Scale Class will be assigned with a (purple) color interpolated between the red and blue in Color Palette Levels 1 and 2, and the third Scale Class will be assigned the last (blue) Color Palette Level.

 

Use Top Palette Level if Scale Increment Count Exceeds Palette Level Count

This binding rule will assign each Scale Class a Color Palette Level starting from the bottom level.  When the Number Color Palette Levels is less than the Number of Classes, the extra classes will be assigned the top Color Palette Level.

For example, consider a Color Palette with three levels, and a Scale with four classes, ranging from 0 to 4. As illustrated in the following image, the first [0-1] Scale Class will be assigned the first Color Palette Level, the second [1-2] Scale Class will be assigned the second Color Palette Level, and the third [2-3] and forth [3-4] Scale Classes will be assigned the third Color Palette Level.

Quit After Last Palette Level if Scale Increment Count Exceeds Palette Level Count

This binding rule is similar to the previous rule, except that if the number of Scale Classes is greater than the number of Color Palette Levels, the extra Scale Classes will be assigned to the Over Max Color Palette Level, which would have to be turned on if the user choses to render in the legend. 

For example, consider a palette with three levels, and a scale with four classes, ranging from 0 to 4. As illustrated in the following image, the first [0-1] Scale Class will be assigned the first Color Palette Level, the second [1-2] Scale Class will be assigned the second Color Palette Level, and the third [2-3] Scale Class will be assigned the third Color Palette Level, while the forth [3-4] Scale Class will not have a color (unless the Over Max option is turned on).

Reuse Color Palette if Scale Increment Count Exceeds Palette Level Count

This binding rule will repeat a Color Palette to increase the number of levels to match the number of Scale Classes.

For example, consider a Palette with three levels, and a Scale with four classes, ranging from 0 to 4.  As illustrated in the following image, the first [0-1] Scale Class will be assigned the first Color Palette Level, the second [1-2] Scale Class will be assigned the second Color Palette Level, and the third [2-3] Scale Class will be assigned the third Color Palette Level, while the forth [3-4] Scale Class will be assigned the first Color Palette Level.