Problem: Symbolizing in ArcMap using transparency by field producing inaccurate results
Inaccurate results when using field-based transparency in ArcMap.
Example: Mapping US_States by POP90_SQMI and using field-based transparency. Illinois and Georgia are symbolized similarly even though the data values are significantly different. Illinois has a population density of 203 persons per square mile, which is interpreted as 3% transparent. Georgia has a population density of 110 persons per square mile, which is interpreted as 10% transparent. Both states appear to have similar population densities on a map produced with these results.
Transparency by field interprets data values as a percentage transparency. Consequently, it does not deal well with values greater than 100. For values greater than 100, it performs a modulus operation on the value.
Solution or Workaround
Avoid using transparency by field with data that ranges below 0 or above 100. If necessary, add a new field and calculate a re-scaled data range.
- Right-click on the layer in the ArcMap Table of Contents and select Open Attribute Table.
- Determine the minimum and maximum values in the field whose values need to be scaled to a range between 0 and 100 (OldField). Right-click on OldField and select Sort Ascending. Note the minimum, then scroll down to the bottom and note the maximum.
- Click Options and select Add Field. Add a new Short Integer field. Call this field NewField.
- Right-click on NewField and select Field Calculator.
- Enter the following expression, inserting the actual min and max for <OldField Maximum> and <OldField Minimum>:
(100 * ([OldField] - <OldField Minimum>)) / (<OldField Maximum> - <OldField Minimum>)
Be sure to include the negative sign for negative values.
- Click OK to calculate the values for NewField.