com.esri.arcgis.carto
Interface IDataNormalization

All Superinterfaces:
Serializable
All Known Implementing Classes:
BasicTableHistogram, ChartRenderer, ClassBreaksRenderer, ProportionalSymbolRenderer, TableHistogram

public interface IDataNormalization
extends Serializable

Provides access to members that control the data normalization properties of a renderer.

Remarks

Use this interface to symbolize feature data based on normalized attributes using a ClassBreaksRenderer or ProportionalSymbolRenderer, or when preparing a histogram object to classify normalized data using a classification object.

With the exception of log normalization, data normalization creates a ratio by dividing two values. When comparing attribute values between features, normalization is useful to minimize the effect of varying map area or the number of observations. For example, dividing the 18-30 year old population by the area of a polygon feature yields a density value that can be compared for two or more features, regardless of the size of each feature. Also, dividing the 18-30 year old population by the total population of a feature yields a ratio of people between the ages of 18-30 which is again comparable, regardless of the possibly large differences in total population between two features. Log normalization reduces the influence of very large data values and is suitable for some data distributions.

When rendering feature data, to normalize by a field, you can use IProportionalSymbolRenderer::NormField or IClassBreaksRenderer::NormField as an alternative to this interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 String getNormalizationField()
          Normalization field.
 String getNormalizationFieldAlias()
          Normalization field alias.
 double getNormalizationTotal()
          Total of all values (used when normalizing by percent of total).
 int getNormalizationType()
          Normalization type.
 void setNormalizationField(String fieldName)
          Normalization field.
 void setNormalizationFieldAlias(String name)
          Normalization field alias.
 void setNormalizationTotal(double value)
          Total of all values (used when normalizing by percent of total).
 void setNormalizationType(int type)
          Normalization type.
 

Method Detail

getNormalizationField

String getNormalizationField()
                             throws IOException,
                                    AutomationException
Normalization field.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The fieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNormalizationField

void setNormalizationField(String fieldName)
                           throws IOException,
                                  AutomationException
Normalization field.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
fieldName - The fieldName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNormalizationFieldAlias

String getNormalizationFieldAlias()
                                  throws IOException,
                                         AutomationException
Normalization field alias.

Description

NormalizationField alias is not implemented by many of the classes implementing IDataNormalization and will return E_NOTIMPL in those cases.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNormalizationFieldAlias

void setNormalizationFieldAlias(String name)
                                throws IOException,
                                       AutomationException
Normalization field alias.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNormalizationType

int getNormalizationType()
                         throws IOException,
                                AutomationException
Normalization type.

Remarks

esriNormalizeByField requires that the NormalizationField be set.

esriNormalizeByLog takes a base 10 logarithm of the data values.

esriNormalizeByPercentageOfTotal requires the NormalizationTotal field to be set to the total data value. This is used to calculate percentages. Each value is divided by the NormalizationTotal and then multiplied by 100. You can use IDataStatistics to generate NormalizationTotal .

esriNormalizeByArea is not implemented.

esriNormalizeByNothing disables normalization.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
A com.esri.arcgis.carto.esriDataNormalization constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNormalizationType

void setNormalizationType(int type)
                          throws IOException,
                                 AutomationException
Normalization type.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
type - A com.esri.arcgis.carto.esriDataNormalization constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNormalizationTotal

double getNormalizationTotal()
                             throws IOException,
                                    AutomationException
Total of all values (used when normalizing by percent of total).

Description

Not implemented by ProportionalSymbolRenderer .

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNormalizationTotal

void setNormalizationTotal(double value)
                           throws IOException,
                                  AutomationException
Total of all values (used when normalizing by percent of total).

Description

Not implemented by ProportionalSymbolRenderer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.