com.esri.arcgis.carto
Class ClassBreaksRenderer

java.lang.Object
  extended by com.esri.arcgis.carto.ClassBreaksRenderer
All Implemented Interfaces:
IBarrierProperties2, IClassBreaksRenderer, IClassBreaksUIProperties, IDataExclusion, IDataExclusion2, IDataNormalization, IDataSampling, IExportSupport, IFeatureRenderer, ILegendInfo, ILevelRenderer, ILookupSymbol, IRendererClasses, IRotationRenderer, com.esri.arcgis.interop.RemoteObjRef, IPersist, IPersistStream, IXMLSerialize, IXMLVersionSupport, Externalizable, Serializable

public class ClassBreaksRenderer
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IClassBreaksRenderer, IFeatureRenderer, ILevelRenderer, ILegendInfo, IPersistStream, IPersist, IClassBreaksUIProperties, IDataSampling, IDataExclusion, IDataExclusion2, IRotationRenderer, IDataNormalization, IBarrierProperties2, ILookupSymbol, IRendererClasses, IXMLSerialize, IXMLVersionSupport, IExportSupport, Externalizable

A renderer that can be used to draw graduated color (choropleth) and graduated symbol maps.

Description

Use a ClassBreaksRenderer to symbolize quantitative information about feature data. Class breaks symbology divides the range of feature values into a relatively small number of classes. For example, you can use a ClassBreaksRenderer to symbolize features by population value, dividing the features into three classes of low, medium, and high population value.
One symbol is associated with each class, and it is used to draw features in the class. For example, with a polygon feature class, a yellow fill symbol can represent low population, orange fill can represent medium population, and red fill can represent high population.
The ClassBreaksRenderer works well also with other feature types. For example, a line feature class representing roads with associated numeric values for traffic density can be rendered using different colors for high, medium, and low traffic. Also, city points can be classified with a range of circular marker symbols with different sizes or colors (or both) based on population.
Classes are defined by specifying the break values between the classes. You can set class breaks manually to define these classes, or you can generate a list of class breaks using IClassify and one of the ESRI classification objects (e.g. Quantile, NaturalBreaks). Use a histogram objects (e.g. TableHistogram, BasicTableHistogram, DataHistogram) to set data to a classification object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
StandardDeviation, EqualInterval, NaturalBreaks, ClassBreaksRenderer, DefinedInterval, Quantile, Serialized Form

Constructor Summary
ClassBreaksRenderer()
          Constructs a ClassBreaksRenderer using ArcGIS Engine.
ClassBreaksRenderer(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
ClassBreaksRenderer theClassBreaksRenderer = (ClassBreaksRenderer) obj;
 
Method Summary
 boolean canRender(IFeatureClass featClass, IDisplay display)
          Indicates if the specified feature class can be rendered on the given display.
 void deserialize(IXMLSerializeData data)
          Deserializes an object from XML.
 void disconnect()
          Disconnects the data from the renderer.
 void draw(IFeatureCursor cursor, int drawPhase, IDisplay display, ITrackCancel trackCancel)
          Draws features from the specified cursor on the given display.
 boolean equals(Object o)
          Compare this object with another
 String esri_getClass(int index)
          Class name.
 IFillSymbol getBackgroundSymbol()
          Background fill symbol used when graduated marker symbols are draw on polygon features.
 double getBreak(int index)
          Break value at the specified index.
 int getBreakCount()
          Number of class breaks (equal to the number of classes).
 int getClassCount()
          Number of classes.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 String getColorRamp()
          File and path name of the color ramp.
 String getDescription(int index)
          Description at the specified index.
 double getDeviationInterval()
          Deviation interval (0-1), where 0 means that no deviation is used.
 String getExclusionClause()
          Data exclusion where clause.
 String getExclusionDescription()
          Description for the excluded data.
 String getExclusionLabel()
          Label for the excluded data.
 ISymbol getExclusionSymbol()
          Symbol used to draw excluded values.
 String getField()
          Classification field.
 String getLabel(int index)
          Label at the specified index.
 ILegendGroup getLegendGroup(int index)
          Legend group at the specified index.
 int getLegendGroupCount()
          Number of legend groups contained by the object.
 ILegendItem getLegendItem()
          Optional.
 Object getLevelArray()
          Array that contains all levels used by the symbols, (symbols without a level get a level of 0).
 double getLowBreak(int index)
          Lower bound of the class at the specified index.
 int getMaxSampleSize()
          Maximum sample size.
 IUID getMethod()
          Classification method.
 double getMinimumBreak()
          Minimum break, i.e.
 String getMinNamespaceSupported()
          The minimum namespace the class can serialize to (eg the 90 namespace).
 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.
 String getNormField()
          Normalization field.
 INumberFormat getNumberFormat()
          Number format for class labels.
 String getRotationField()
          Rotation field.
 int getRotationType()
          Rotation type.
 int getSamplingMethod()
          Data sampling method.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 ISymbol getSymbol(int index)
          Symbol at the specified index (used to draw features in the specified class).
 ISymbol getSymbolByFeature(IFeature feature)
          Symbol used to draw the specified feature.
 int getWeight()
          Weight of the barriers for this layer.
 String getWhereClause(int index, ITable table)
          WhereClause.
 int hashCode()
          the hashcode for this object
 void isDirty()
          isDirty
 boolean isRenderPhase(int drawPhase)
          Indicates if renderer uses the specified draw phase.
 boolean isShowClassGaps()
          Indicates if each lower bound is adjusted up to the nearest existing data value.
 boolean isShowExclusionClass()
          Indicates if the exclusion symbol is used.
 boolean isSortClassesAscending()
          Indicates if classes are displayed in increasing order in legends/TOC.
 boolean isSymbolsAreGraduated()
          Indicates if symbols are graduated.
 void load(IStream pstm)
          load
 ISymbol lookupSymbol(boolean firstPass, IFeature feature)
          Returns a reference to the renderer's symbol for the input feature.
 void prepareFilter(IFeatureClass fc, IQueryFilter queryFilter)
          Prepares the query filter for the rendering process.
 void queryBarriers(IDisplay display, IGeometryCollection pBarriers, IEnvelope extent, ITrackCancel trackCancel)
          List of barriers within the specified extent, or all barriers if no extent given.
 void readExternal(ObjectInput in)
           
 void resetLookupSymbol(ISymbol symbol)
          Resets temporary options on the symbol (e.g.
 void save(IStream pstm, int fClearDirty)
          save
 void serialize(IXMLSerializeData data)
          Serializes an object to XML.
 void setBackgroundSymbol(IFillSymbol sym)
          Background fill symbol used when graduated marker symbols are draw on polygon features.
 void setBreak(int index, double value)
          Break value at the specified index.
 void setBreakCount(int valueCount)
          Number of class breaks (equal to the number of classes).
 void setColorRamp(String colorRamp)
          File and path name of the color ramp.
 void setCurrentDrawLevel(int rhs1)
          The current draw level, (set to -1 to draw all levels).
 void setDescription(int index, String text)
          Description at the specified index.
 void setDeviationInterval(double interval)
          Deviation interval (0-1), where 0 means that no deviation is used.
 void setExclusionClause(String clause)
          Data exclusion where clause.
 void setExclusionDescription(String text)
          Description for the excluded data.
 void setExclusionLabel(String label)
          Label for the excluded data.
 void setExclusionSetByRef(IFeatureIDSet rhs1)
          An object reference to a temporary drawing exclusion set.
 void setExclusionSymbol(ISymbol symbol)
          Symbol used to draw excluded values.
 void setExportInfoByRef(IFeatureExportInfoGenerator rhs1)
          The helper oject to generate export information.
 void setField(String field)
          Classification field.
 void setLabel(int index, String label)
          Label at the specified index.
 void setLowBreak(int index, double value)
          Lower bound of the class at the specified index.
 void setMaxSampleSize(int size)
          Maximum sample size.
 void setMethodByRef(IUID clsid)
          Classification method.
 void setMinimumBreak(double value)
          Minimum break, i.e.
 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.
 void setNormField(String field)
          Normalization field.
 void setNumberFormatByRef(INumberFormat format)
          Number format for class labels.
 void setRotationField(String fieldName)
          Rotation field.
 void setRotationType(int type)
          Rotation type.
 void setSamplingMethod(int method)
          Data sampling method.
 void setShowClassGaps(boolean showGaps)
          Indicates if each lower bound is adjusted up to the nearest existing data value.
 void setShowExclusionClass(boolean show)
          Indicates if the exclusion symbol is used.
 void setSortClassesAscending(boolean ascending)
          Indicates if classes are displayed in increasing order in legends/TOC.
 void setSymbol(int index, ISymbol sym)
          Symbol at the specified index (used to draw features in the specified class).
 void setSymbolsAreGraduated(boolean symbolsAreGraduated)
          Indicates if symbols are graduated.
 void setWeight(int weight)
          Weight of the barriers for this layer.
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

ClassBreaksRenderer

public ClassBreaksRenderer()
                    throws IOException,
                           UnknownHostException
Constructs a ClassBreaksRenderer using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

ClassBreaksRenderer

public ClassBreaksRenderer(Object obj)
                    throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
ClassBreaksRenderer theClassBreaksRenderer = (ClassBreaksRenderer) obj;

Construct a ClassBreaksRenderer using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to ClassBreaksRenderer.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getBreakCount

public int getBreakCount()
                  throws IOException,
                         AutomationException
Number of class breaks (equal to the number of classes).

Description

BreakCount is the number of class breaks which is equal to the number of classes in which the features are grouped for symbolization.

Remarks

Increasing this property preserves existing breaks, but decreasing it removes excess break values.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getBreakCount in interface IClassBreaksRenderer
Returns:
The valueCount
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setBreakCount

public void setBreakCount(int valueCount)
                   throws IOException,
                          AutomationException
Number of class breaks (equal to the number of classes).

Description

BreakCount is the number of class breaks (not the number of classes) that will be used to divide the data of classification Field .

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setBreakCount in interface IClassBreaksRenderer
Parameters:
valueCount - The valueCount (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getField

public String getField()
                throws IOException,
                       AutomationException
Classification field.

Description

Field that contains the values upon which the symbolization is based. This is the Value Field on the user interface.

Remarks

This field must be numeric.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getField in interface IClassBreaksRenderer
Returns:
The field
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setField

public void setField(String field)
              throws IOException,
                     AutomationException
Classification field.

Description

Field is the field that contains the values that will be classified.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setField in interface IClassBreaksRenderer
Parameters:
field - The field (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNormField

public String getNormField()
                    throws IOException,
                           AutomationException
Normalization field.

Description

NormField is the field that contains the values that the Field values will be divided by to produce the symbolization.

Remarks

Normalizing, i.e. dividing, by a field is the most common way to normalize data for a ClassBreaksRenderer. In general, mapping of ratios or densities is preferrable to mapping counts and a NormField can be used to generate these types of values. Normalize by an area field to represent a density, or normalize by another field with the same units as the values in Field to produce a rate. For example, to map a rate set Field to a field that stores the count of hispanic persons, and set NormField to a field that stores total persons.

Setting NormField is the same as setting IDataNormalization::NormalizationField and setting IDataNormalization::NormalizationType to esriNormalizeByField. You can use IDataNormalization to do other types of normalization.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getNormField in interface IClassBreaksRenderer
Returns:
The field
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNormField

public void setNormField(String field)
                  throws IOException,
                         AutomationException
Normalization field.

Description

NormField is the field that contains the values that the classification field will be divided by when the IClassify object generates class breaks.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setNormField in interface IClassBreaksRenderer
Parameters:
field - The field (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSymbol

public ISymbol getSymbol(int index)
                  throws IOException,
                         AutomationException
Symbol at the specified index (used to draw features in the specified class).

Product Availability

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

Specified by:
getSymbol in interface IClassBreaksRenderer
Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.display.ISymbol
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbol

public void setSymbol(int index,
                      ISymbol sym)
               throws IOException,
                      AutomationException
Symbol at the specified index (used to draw features in the specified class).

Product Availability

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

Specified by:
setSymbol in interface IClassBreaksRenderer
Parameters:
index - The index (in)
sym - A reference to a com.esri.arcgis.display.ISymbol (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLabel

public String getLabel(int index)
                throws IOException,
                       AutomationException
Label at the specified index.

Product Availability

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

Specified by:
getLabel in interface IClassBreaksRenderer
Parameters:
index - The index (in)
Returns:
The label
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLabel

public void setLabel(int index,
                     String label)
              throws IOException,
                     AutomationException
Label at the specified index.

Product Availability

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

Specified by:
setLabel in interface IClassBreaksRenderer
Parameters:
index - The index (in)
label - The label (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDescription

public String getDescription(int index)
                      throws IOException,
                             AutomationException
Description at the specified index.

Product Availability

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

Specified by:
getDescription in interface IClassBreaksRenderer
Parameters:
index - The index (in)
Returns:
The text
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDescription

public void setDescription(int index,
                           String text)
                    throws IOException,
                           AutomationException
Description at the specified index.

Product Availability

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

Specified by:
setDescription in interface IClassBreaksRenderer
Parameters:
index - The index (in)
text - The text (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBreak

public double getBreak(int index)
                throws IOException,
                       AutomationException
Break value at the specified index. Break(0) is the lowest break and represents the upper bound of the lowest class.

Product Availability

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

Specified by:
getBreak in interface IClassBreaksRenderer
Parameters:
index - The index (in)
Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setBreak

public void setBreak(int index,
                     double value)
              throws IOException,
                     AutomationException
Break value at the specified index. Break(0) is the lowest break and represents the upper bound of the lowest class.

Product Availability

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

Specified by:
setBreak in interface IClassBreaksRenderer
Parameters:
index - The index (in)
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMinimumBreak

public double getMinimumBreak()
                       throws IOException,
                              AutomationException
Minimum break, i.e. the lower bound of the first class.

Remarks

Represents the minimum value symbolized by the renderer. Values less than the MinimumBreak will not be drawn by the renderer, thererfore is is common to set this property to the minimum value in the dataset being symbolized.

If you change the data being symbolized, you may need to reset the MinimumBreak if the minimum value in the data is affected.

MinimumBreak does NOT equal Break(0). Break(0) is the highest value in the first class, while MinimumBreak is functionally the lowest value in the first class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMinimumBreak in interface IClassBreaksRenderer
Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMinimumBreak

public void setMinimumBreak(double value)
                     throws IOException,
                            AutomationException
Minimum break, i.e. the lower bound of the first class.

Remarks

Commonly the minimum value in the dataset. Does NOT equal Break(0).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isSortClassesAscending

public boolean isSortClassesAscending()
                               throws IOException,
                                      AutomationException
Indicates if classes are displayed in increasing order in legends/TOC.

Description

Indicates whether or not the classes are sorted by their values in ascending order.

Remarks

Changing this property reverses the Break array, but keeps the Symbol, Label, and Description arrays intact and in the same order.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isSortClassesAscending in interface IClassBreaksRenderer
Returns:
The ascending
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSortClassesAscending

public void setSortClassesAscending(boolean ascending)
                             throws IOException,
                                    AutomationException
Indicates if classes are displayed in increasing order in legends/TOC.

Description

SortClassesAscending is whether the classes are sorted by their values in ascending order.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSortClassesAscending in interface IClassBreaksRenderer
Parameters:
ascending - The ascending (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBackgroundSymbol

public IFillSymbol getBackgroundSymbol()
                                throws IOException,
                                       AutomationException
Background fill symbol used when graduated marker symbols are draw on polygon features.

Description

BackgroundSymbol is the fill symbol that is used when the layer's features are polygons and the ClassBreaksRenderer is used to draw graduated marker symbols.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getBackgroundSymbol in interface IClassBreaksRenderer
Returns:
A reference to a com.esri.arcgis.display.IFillSymbol
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setBackgroundSymbol

public void setBackgroundSymbol(IFillSymbol sym)
                         throws IOException,
                                AutomationException
Background fill symbol used when graduated marker symbols are draw on polygon features.

Description

BackgroundSymbol is the Symbol that is used when the layer's features are polygons and the classification is applied to a graduated symbol.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setBackgroundSymbol in interface IClassBreaksRenderer
Parameters:
sym - A reference to a com.esri.arcgis.display.IFillSymbol (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canRender

public boolean canRender(IFeatureClass featClass,
                         IDisplay display)
                  throws IOException,
                         AutomationException
Indicates if the specified feature class can be rendered on the given display.

Remarks

If the renderer is not applicable to a feature layer, then it can return False in response to a CanRender method. For example, the dot-density renderer is only applicable to polygon feature layers and returns False in response to other feature layers.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
canRender in interface IFeatureRenderer
Parameters:
featClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
display - A reference to a com.esri.arcgis.display.IDisplay (in)
Returns:
The result
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

prepareFilter

public void prepareFilter(IFeatureClass fc,
                          IQueryFilter queryFilter)
                   throws IOException,
                          AutomationException
Prepares the query filter for the rendering process.

Remarks

This method is called prior to the Draw method and gives the renderer a chance to adjust the query filter to incorporate extra constraints. For example, if a particular field is required for the renderer, it would add this field to the filter to ensure it is accessible during the Draw method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
prepareFilter in interface IFeatureRenderer
Parameters:
fc - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

draw

public void draw(IFeatureCursor cursor,
                 int drawPhase,
                 IDisplay display,
                 ITrackCancel trackCancel)
          throws IOException,
                 AutomationException
Draws features from the specified cursor on the given display.

Remarks

This method is typically called by the framework to renderer features to a display. This could be in response to a refresh on the map. This method typically iterates through all the features and renders each feature with an appropriate symbol.

An individual feature is typically drawn by calling the Draw method on the feature's IFeatureDraw with the symbol created by the renderer. However, when writing a custom feature renderer you can draw anything you want using a number of different methods. To learn more see the section on writing a custom feature renderer in Extending ArcObjects.

To allow complex rendering to be canceled halfway through a draw, the renderer typically checks the TrackCancel object after each feature or set of features. If a cancel action has occurred, the renderer will exit.

There are three drawing phases: selection, annotation, and geography, and this method can be called by the framework up to three times. With the exception of the selection phase, this method will only be called for a particular draw phase if the call by the framework to RenderPhase returns true for that phase.

Feature renderers typically only draw features during the geography phase, though in some cases features are drawn in the annotation phase. Take for example a case where proportional symbols are drawn for polygon features. The ProportionalSymbolRenderer draws the background fill symbol during the geography phase and the proportionally sized marker symbol during the annotation phase.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
draw in interface IFeatureRenderer
Parameters:
cursor - A reference to a com.esri.arcgis.geodatabase.IFeatureCursor (in)
drawPhase - A com.esri.arcgis.system.esriDrawPhase constant (in)
display - A reference to a com.esri.arcgis.display.IDisplay (in)
trackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSymbolByFeature

public ISymbol getSymbolByFeature(IFeature feature)
                           throws IOException,
                                  AutomationException
Symbol used to draw the specified feature.

Product Availability

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

Specified by:
getSymbolByFeature in interface IFeatureRenderer
Parameters:
feature - A reference to a com.esri.arcgis.geodatabase.IFeature (in)
Returns:
A reference to a com.esri.arcgis.display.ISymbol
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isRenderPhase

public boolean isRenderPhase(int drawPhase)
                      throws IOException,
                             AutomationException
Indicates if renderer uses the specified draw phase.

Product Availability

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

Specified by:
isRenderPhase in interface IFeatureRenderer
Parameters:
drawPhase - A com.esri.arcgis.system.esriDrawPhase constant (in)
Returns:
The result
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExclusionSetByRef

public void setExclusionSetByRef(IFeatureIDSet rhs1)
                          throws IOException,
                                 AutomationException
An object reference to a temporary drawing exclusion set.

Description

The list of feature IDs to be excluded from drawing.

Remarks

Some feature renderers support IDataExclusion which allows you to build a where clause to exclude features.

Exclusion prevents features from drawing. To prevent features from drawing as well as from appearing in tables and in query results, set a layer definition query using IFeatureLayerDefinition.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExclusionSetByRef in interface IFeatureRenderer
Parameters:
rhs1 - A reference to a com.esri.arcgis.carto.IFeatureIDSet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCurrentDrawLevel

public void setCurrentDrawLevel(int rhs1)
                         throws IOException,
                                AutomationException
The current draw level, (set to -1 to draw all levels).

Remarks

This property is set by the framework at draw time to specify which symbol level the renderer is to draw. If implementing a custom renderer that implements ILevelRenderer, you can check this property in your implementation of IFeatureRenderer::Draw to know which symbol level to draw.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setCurrentDrawLevel in interface ILevelRenderer
Parameters:
rhs1 - The rhs1 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLevelArray

public Object getLevelArray()
                     throws IOException,
                            AutomationException
Array that contains all levels used by the symbols, (symbols without a level get a level of 0).

Remarks

This property returns an array of long integers representing all the the symbol levels of the symbols used by the renderer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLevelArray in interface ILevelRenderer
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLegendGroupCount

public int getLegendGroupCount()
                        throws IOException,
                               AutomationException
Number of legend groups contained by the object.

Remarks

The number of legend groups is determined by the implementation of the renderer, consequently this property is read only. For example, SimpleRenderer has one group, while a BiUniqueValueRenderer has any number of groups.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLegendGroupCount in interface ILegendInfo
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLegendGroup

public ILegendGroup getLegendGroup(int index)
                            throws IOException,
                                   AutomationException
Legend group at the specified index.

Product Availability

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

Specified by:
getLegendGroup in interface ILegendInfo
Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.carto.ILegendGroup
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLegendItem

public ILegendItem getLegendItem()
                          throws IOException,
                                 AutomationException
Optional. Defines legend formatting for layer rendered with this object.

Remarks

Layer or renderer legend information is further formatted for display in ArcMap legends. A renderer can override this formatting by returning a LegendItem for this property. ESRI renderers typically do not return anything for this property. With this configuration, legend formatting becomes a user or developer choice on the legend object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLegendItem in interface ILegendInfo
Returns:
A reference to a com.esri.arcgis.carto.ILegendItem
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSymbolsAreGraduated

public boolean isSymbolsAreGraduated()
                              throws IOException,
                                     AutomationException
Indicates if symbols are graduated.

Description

Indicates whether the symbols used for a layer or renderer's legend vary by size.

Remarks

For example the proportional symbol renderer returns True for this property.

You can use this property to distinguish between a layer symbolized with graduated color or graduated symbol type layer symbology. Both of these symbolizations use a ClassBreaksRenderer, but only a graduated symbol symbolization will return True for this property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isSymbolsAreGraduated in interface ILegendInfo
Returns:
The symbolsAreGraduated
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolsAreGraduated

public void setSymbolsAreGraduated(boolean symbolsAreGraduated)
                            throws IOException,
                                   AutomationException
Indicates if symbols are graduated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSymbolsAreGraduated in interface ILegendInfo
Parameters:
symbolsAreGraduated - The symbolsAreGraduated (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDirty

public void isDirty()
             throws IOException,
                    AutomationException
isDirty

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDirty in interface IPersistStream
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

load

public void load(IStream pstm)
          throws IOException,
                 AutomationException
load

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
load in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

save

public void save(IStream pstm,
                 int fClearDirty)
          throws IOException,
                 AutomationException
save

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
save in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
fClearDirty - The fClearDirty (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeMax

public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
                throws IOException,
                       AutomationException
getSizeMax

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSizeMax in interface IPersistStream
Parameters:
pcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassID

public void getClassID(GUID[] pClassID)
                throws IOException,
                       AutomationException
getClassID

Description

IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClassID in interface IPersist
Parameters:
pClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLowBreak

public double getLowBreak(int index)
                   throws IOException,
                          AutomationException
Lower bound of the class at the specified index.

Product Availability

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

Specified by:
getLowBreak in interface IClassBreaksUIProperties
Parameters:
index - The index (in)
Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLowBreak

public void setLowBreak(int index,
                        double value)
                 throws IOException,
                        AutomationException
Lower bound of the class at the specified index.

Product Availability

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

Specified by:
setLowBreak in interface IClassBreaksUIProperties
Parameters:
index - The index (in)
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getColorRamp

public String getColorRamp()
                    throws IOException,
                           AutomationException
File and path name of the color ramp.

Description

ColorRamp is the name of the color ramp that is used to display the data. If that color ramp does not exist in the currently referenced styles, then use "Custom", this way something will appear in the user interface (versus a blank line, which can be confusing).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getColorRamp in interface IClassBreaksUIProperties
Returns:
The colorRamp
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setColorRamp

public void setColorRamp(String colorRamp)
                  throws IOException,
                         AutomationException
File and path name of the color ramp.

Description

ColorRamp is the name of the color ramp that is used to display the data. If that color ramp does not exist in the currently referenced styles, then use "Custom", this way something will appear in the user interface (versus a blank line, which can be confusing).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setColorRamp in interface IClassBreaksUIProperties
Parameters:
colorRamp - The colorRamp (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMethod

public IUID getMethod()
               throws IOException,
                      AutomationException
Classification method.

Description

Method is the classification method used to create the class breaks. Use IClassify.MethodName to set this value.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMethod in interface IClassBreaksUIProperties
Returns:
A reference to a com.esri.arcgis.system.IUID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMethodByRef

public void setMethodByRef(IUID clsid)
                    throws IOException,
                           AutomationException
Classification method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMethodByRef in interface IClassBreaksUIProperties
Parameters:
clsid - A reference to a com.esri.arcgis.system.IUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNumberFormat

public INumberFormat getNumberFormat()
                              throws IOException,
                                     AutomationException
Number format for class labels.

Description

NumberFormat is the INumberFormat that defines how the labels of the classification appear.

Remarks

This property affects the formatting of the class labels on the layer properties dialog's symbology tab.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getNumberFormat in interface IClassBreaksUIProperties
Returns:
A reference to a com.esri.arcgis.system.INumberFormat
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ILatLonFormat2, CustomNumberFormat, IRateFormat, IAngleFormat, NumericFormat, LatLonFormat, CurrencyFormat, INumericFormat, IFractionFormat, RateFormat, IScientificNumberFormat, ICustomNumberFormat, ILatLonFormat, IPercentageFormat, INumberFormat, ScientificFormat, FractionFormat, PercentageFormat, AngleFormat

setNumberFormatByRef

public void setNumberFormatByRef(INumberFormat format)
                          throws IOException,
                                 AutomationException
Number format for class labels.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setNumberFormatByRef in interface IClassBreaksUIProperties
Parameters:
format - A reference to a com.esri.arcgis.system.INumberFormat (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isShowClassGaps

public boolean isShowClassGaps()
                        throws IOException,
                               AutomationException
Indicates if each lower bound is adjusted up to the nearest existing data value.

Description

This value indicates whether or not the minimum values of the classes are displayed on the layer properties dialog's symbology tab using actual data values. If False, then the values are displayed based on the precision specified in the NumberFormat property.
The framework sets this value internally. You cannot set this value.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isShowClassGaps in interface IClassBreaksUIProperties
Returns:
The showGaps
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setShowClassGaps

public void setShowClassGaps(boolean showGaps)
                      throws IOException,
                             AutomationException
Indicates if each lower bound is adjusted up to the nearest existing data value.

Description

ShowClassGaps is whether the minimum and maximum values of the class are displayed using actual data values. If false, then the minimum and maximum values are displayed based on the precision specified in the NumberFormat property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setShowClassGaps in interface IClassBreaksUIProperties
Parameters:
showGaps - The showGaps (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDeviationInterval

public double getDeviationInterval()
                            throws IOException,
                                   AutomationException
Deviation interval (0-1), where 0 means that no deviation is used.

Description

DeviationInterval is the percentage of one standard deviation to be used as the interval of the class breaks. Range is 0 to 1. This is a user interface property only. Match this to the value of IDeviationInterval::DeviationInterval on the StandardDeviation object used to generate the class breaks for the ClassBreaksRenderer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDeviationInterval in interface IClassBreaksUIProperties
Returns:
The interval
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDeviationInterval

public void setDeviationInterval(double interval)
                          throws IOException,
                                 AutomationException
Deviation interval (0-1), where 0 means that no deviation is used.

Description

DeviationInterval is the percentage of one standard deviation to be used as the interval of the class breaks. Range is 0 to 1.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setDeviationInterval in interface IClassBreaksUIProperties
Parameters:
interval - The interval (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaxSampleSize

public int getMaxSampleSize()
                     throws IOException,
                            AutomationException
Maximum sample size.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMaxSampleSize in interface IDataSampling
Returns:
The size
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaxSampleSize

public void setMaxSampleSize(int size)
                      throws IOException,
                             AutomationException
Maximum sample size.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMaxSampleSize in interface IDataSampling
Parameters:
size - The size (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSamplingMethod

public int getSamplingMethod()
                      throws IOException,
                             AutomationException
Data sampling method.

Remarks

esriAllRecords samples all features up to the maximum sample size

esriRandomRecords is not implemented

esriEveryNthRecord is not implemented

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSamplingMethod in interface IDataSampling
Returns:
A com.esri.arcgis.carto.esriDataSampling constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSamplingMethod

public void setSamplingMethod(int method)
                       throws IOException,
                              AutomationException
Data sampling method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSamplingMethod in interface IDataSampling
Parameters:
method - A com.esri.arcgis.carto.esriDataSampling constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExclusionClause

public String getExclusionClause()
                          throws IOException,
                                 AutomationException
Data exclusion where clause.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExclusionClause in interface IDataExclusion
Returns:
The clause
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExclusionClause

public void setExclusionClause(String clause)
                        throws IOException,
                               AutomationException
Data exclusion where clause.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExclusionClause in interface IDataExclusion
Parameters:
clause - The clause (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExclusionSymbol

public ISymbol getExclusionSymbol()
                           throws IOException,
                                  AutomationException
Symbol used to draw excluded values.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExclusionSymbol in interface IDataExclusion
Returns:
A reference to a com.esri.arcgis.display.ISymbol
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExclusionSymbol

public void setExclusionSymbol(ISymbol symbol)
                        throws IOException,
                               AutomationException
Symbol used to draw excluded values.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExclusionSymbol in interface IDataExclusion
Parameters:
symbol - A reference to a com.esri.arcgis.display.ISymbol (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isShowExclusionClass

public boolean isShowExclusionClass()
                             throws IOException,
                                    AutomationException
Indicates if the exclusion symbol is used.

Description

Setting ShowExclusionClass to TRUE creates a new LegendClass that appears in the TOC containing the ExclusionSymbol, ExclusionLabel, and ExclusionDescription. Also, use this property to control whether the ExclusionSymbol is drawn on the map. IDataExclusion provides no mechanism to make the symbol appear on the map, but not in the TOC.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isShowExclusionClass in interface IDataExclusion
Returns:
The show
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setShowExclusionClass

public void setShowExclusionClass(boolean show)
                           throws IOException,
                                  AutomationException
Indicates if the exclusion symbol is used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setShowExclusionClass in interface IDataExclusion
Parameters:
show - The show (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExclusionLabel

public String getExclusionLabel()
                         throws IOException,
                                AutomationException
Label for the excluded data.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExclusionLabel in interface IDataExclusion
Returns:
The label
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExclusionLabel

public void setExclusionLabel(String label)
                       throws IOException,
                              AutomationException
Label for the excluded data.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExclusionLabel in interface IDataExclusion
Parameters:
label - The label (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExclusionDescription

public String getExclusionDescription()
                               throws IOException,
                                      AutomationException
Description for the excluded data.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExclusionDescription in interface IDataExclusion
Returns:
The text
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExclusionDescription

public void setExclusionDescription(String text)
                             throws IOException,
                                    AutomationException
Description for the excluded data.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExclusionDescription in interface IDataExclusion
Parameters:
text - The text (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

disconnect

public void disconnect()
                throws IOException,
                       AutomationException
Disconnects the data from the renderer.

Product Availability

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

Specified by:
disconnect in interface IDataExclusion2
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRotationField

public String getRotationField()
                        throws IOException,
                               AutomationException
Rotation field.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getRotationField in interface IRotationRenderer
Returns:
The fieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRotationField

public void setRotationField(String fieldName)
                      throws IOException,
                             AutomationException
Rotation field.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getRotationType

public int getRotationType()
                    throws IOException,
                           AutomationException
Rotation type.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getRotationType in interface IRotationRenderer
Returns:
A com.esri.arcgis.carto.esriSymbolRotationType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRotationType

public void setRotationType(int type)
                     throws IOException,
                            AutomationException
Rotation type.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getNormalizationField

public String getNormalizationField()
                             throws IOException,
                                    AutomationException
Normalization field.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getNormalizationField in interface IDataNormalization
Returns:
The fieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNormalizationField

public 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

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

getNormalizationFieldAlias

public 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

Specified by:
getNormalizationFieldAlias in interface IDataNormalization
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNormalizationFieldAlias

public 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

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

getNormalizationType

public 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

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

setNormalizationType

public 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

Specified by:
setNormalizationType in interface IDataNormalization
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

public 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

Specified by:
getNormalizationTotal in interface IDataNormalization
Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNormalizationTotal

public 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

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

getWeight

public int getWeight()
              throws IOException,
                     AutomationException
Weight of the barriers for this layer.

Description

A Long value corresponding to a weight in esriBasicOverposterWeight.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getWeight in interface IBarrierProperties2
Returns:
The weight
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setWeight

public void setWeight(int weight)
               throws IOException,
                      AutomationException
Weight of the barriers for this layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setWeight in interface IBarrierProperties2
Parameters:
weight - The weight (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryBarriers

public void queryBarriers(IDisplay display,
                          IGeometryCollection pBarriers,
                          IEnvelope extent,
                          ITrackCancel trackCancel)
                   throws IOException,
                          AutomationException
List of barriers within the specified extent, or all barriers if no extent given.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryBarriers in interface IBarrierProperties2
Parameters:
display - A reference to a com.esri.arcgis.display.IDisplay (in)
pBarriers - A reference to a com.esri.arcgis.geometry.IGeometryCollection (in)
extent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
trackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

lookupSymbol

public ISymbol lookupSymbol(boolean firstPass,
                            IFeature feature)
                     throws IOException,
                            AutomationException
Returns a reference to the renderer's symbol for the input feature.

Remarks

This method hands out a reference to the symbol for a specific feature. The firstPass parameter is passed in as True on the first call of this method. This allows the renderer to internally cache the symbols for succesive calls.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
lookupSymbol in interface ILookupSymbol
Parameters:
firstPass - The firstPass (in)
feature - A reference to a com.esri.arcgis.geodatabase.IFeature (in)
Returns:
A reference to a com.esri.arcgis.display.ISymbol
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

resetLookupSymbol

public void resetLookupSymbol(ISymbol symbol)
                       throws IOException,
                              AutomationException
Resets temporary options on the symbol (e.g. Rotation).

Remarks

This method resets modifications to marker symbol angles that may be set on the symbol reference handed to the label engine. When implementing this interface it is important to reset any marker symbol rotation changes in this method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
resetLookupSymbol in interface ILookupSymbol
Parameters:
symbol - A reference to a com.esri.arcgis.display.ISymbol (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassCount

public int getClassCount()
                  throws IOException,
                         AutomationException
Number of classes.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClassCount in interface IRendererClasses
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

esri_getClass

public String esri_getClass(int index)
                     throws IOException,
                            AutomationException
Class name.

Product Availability

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

Specified by:
esri_getClass in interface IRendererClasses
Parameters:
index - The index (in)
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWhereClause

public String getWhereClause(int index,
                             ITable table)
                      throws IOException,
                             AutomationException
WhereClause.

Product Availability

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

Specified by:
getWhereClause in interface IRendererClasses
Parameters:
index - The index (in)
table - A reference to a com.esri.arcgis.geodatabase.ITable (in)
Returns:
The whereClause
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

serialize

public void serialize(IXMLSerializeData data)
               throws IOException,
                      AutomationException
Serializes an object to XML.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
serialize in interface IXMLSerialize
Parameters:
data - A reference to a com.esri.arcgis.system.IXMLSerializeData (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deserialize

public void deserialize(IXMLSerializeData data)
                 throws IOException,
                        AutomationException
Deserializes an object from XML.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
deserialize in interface IXMLSerialize
Parameters:
data - A reference to a com.esri.arcgis.system.IXMLSerializeData (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMinNamespaceSupported

public String getMinNamespaceSupported()
                                throws IOException,
                                       AutomationException
The minimum namespace the class can serialize to (eg the 90 namespace).

Product Availability

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

Specified by:
getMinNamespaceSupported in interface IXMLVersionSupport
Returns:
The namespaceURI
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExportInfoByRef

public void setExportInfoByRef(IFeatureExportInfoGenerator rhs1)
                        throws IOException,
                               AutomationException
The helper oject to generate export information.

Product Availability

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

Specified by:
setExportInfoByRef in interface IExportSupport
Parameters:
rhs1 - A reference to a com.esri.arcgis.carto.IFeatureExportInfoGenerator (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException