com.esri.arcgis.carto
Class ProportionalSymbolRenderer

java.lang.Object
  extended by com.esri.arcgis.carto.ProportionalSymbolRenderer
All Implemented Interfaces:
IBarrierProperties2, IDataExclusion, IDataExclusion2, IDataNormalization, IExportSupport, IFeatureRenderer, ILegendInfo, IProportionalSymbolRenderer, IRotationRenderer, IRotationRenderer2, com.esri.arcgis.interop.RemoteObjRef, IPersist, IPersistStream, Externalizable, Serializable

public class ProportionalSymbolRenderer
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IFeatureRenderer, IProportionalSymbolRenderer, IDataExclusion, IDataExclusion2, ILegendInfo, IPersistStream, IPersist, IRotationRenderer, IRotationRenderer2, IDataNormalization, IBarrierProperties2, IExportSupport, Externalizable

A proportional symbol renderer, used to draw symbols of varying size for each feature, sized in proportion to a field value.

Description

Use this renderer to represent quantitative data for features. With this renderer, symbol size is exactly proportional to the data value.

Remarks

An example of using the proportional-value renderer is where you have map tree locations as points and an attribute reflecting the radius of the tree canopy. By using proportional circles, the trees can be depicted by circles reflecting theactual ground covered by the tree.

Another application is a population map; the area of a circular marker can directly relate to the population value.

Proportional symbols also apply well to line symbology; a river could be symbolized with a network of lines with different widths reflecting the river flow.

Known vs. Unknown Data Units

There are really two uses of proportional symbol rendering:

First, you can have a data field that represents an actual distance in the real world, such as the radius of a tree canopy in meters, or the width (actually diameter) of a water main in inches. In this case your units are known and you can use a ProportionalSymbolRenderer to draw a symbol on your map for each feature such that the area occupied by the feature on the map represents the actual area occupied in the real world.

Second, you may have a data field that represents a non-distance quantitiy, for example you might have county data and know the population of each county. This value does not represent a real world distance so the units are said to be unknown. In this case you can use the ProportionalSymbolRenderer to represent the relative population of each county. This is done by mapping a minimum symbol size, specified by MinSymbol, to the minimum data value of the population field. The MinSymbol is then scaled up proportionally based on the relative difference between the minimum population value and the value for a given county feature.

To learn more, see IProportionalSymbolRenderer::ValueUnit and IProportionalSymbolRenderer::ValueRepresentation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
ProportionalSymbolRenderer()
          Constructs a ProportionalSymbolRenderer using ArcGIS Engine.
ProportionalSymbolRenderer(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
ProportionalSymbolRenderer theProportionalSymbolRenderer = (ProportionalSymbolRenderer) obj;
 
Method Summary
 boolean canRender(IFeatureClass featClass, IDisplay display)
          Indicates if the specified feature class can be rendered on the given display.
 void createLegendSymbols()
          Creates the legend.
 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
 IFillSymbol getBackgroundSymbol()
          Background fill symbol used when proportional marker symbols are draw on polygon features.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 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()
          Value field.
 ILegendGroup getLegendGroup(int index)
          Legend group at the specified index.
 int getLegendGroupCount()
          Number of legend groups contained by the object.
 ILegendItem getLegendItem()
          Optional.
 int getLegendSymbolCount()
          Number of symbols displayed in the TOC and legend.
 ISymbol getMinSymbol()
          Symbol used to draw feature with the normalized minimum data value.
 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.
 String getRotationField()
          Rotation field.
 int getRotationType()
          Rotation type.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 ISymbol getSymbolByFeature(IFeature feature)
          Symbol used to draw the specified feature.
 void getSymbolRotation3DExpressions(String[] pExpressionX, String[] pExpressionY, String[] pExpressionZ)
          Gets expressions for rotation about each axis.
 int getSymbolRotation3DFlags()
          Gets rotation flags composed of enum esriSymbolRotation3DFlags.
 void getSymbolRotation3DFlags2(int[] pFlagX, int[] pFlagY, int[] pFlagZ)
          Gets one flag for each axis.
 void getSymbolRotation3DRandomRanges(double[] pMinRotationX, double[] pMinRotationY, double[] pMinRotationZ, double[] pMaxRotationX, double[] pMaxRotationY, double[] pMaxRotationZ)
          Gets rotation range for each axis (for random rotation).
 int getSymbolRotation3DRotationTypeZ()
          Gets rotation type (geographic or arithmetic) about the Z axis (hardcoded arithmetic about other axes).
 int getValueRepresentation()
          Representation type of the value field.
 int getValueUnit()
          Units of the value field.
 int getWeight()
          Weight of the barriers for this layer.
 int hashCode()
          the hashcode for this object
 void isDirty()
          isDirty
 boolean isFlanneryCompensation()
          Indicates if Flannery Compensation is applied.
 boolean isRenderPhase(int drawPhase)
          Indicates if renderer uses the specified draw phase.
 boolean isShowExclusionClass()
          Indicates if the exclusion symbol is used.
 boolean isSymbolsAreGraduated()
          Indicates if symbols are graduated.
 void load(IStream pstm)
          load
 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 save(IStream pstm, int fClearDirty)
          save
 void setBackgroundSymbol(IFillSymbol sym)
          Background fill symbol used when proportional marker symbols are draw on polygon features.
 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)
          Value field.
 void setFlanneryCompensation(boolean flag)
          Indicates if Flannery Compensation is applied.
 void setLegendSymbolCount(int num)
          Number of symbols displayed in the TOC and legend.
 void setMaxDataValue(double rhs1)
          Normalized maximum data value.
 void setMinDataValue(double rhs1)
          Normalized minimum data value.
 void setMinSymbol(ISymbol sym)
          Symbol used to draw feature with the normalized minimum data value.
 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 setRotationField(String fieldName)
          Rotation field.
 void setRotationType(int type)
          Rotation type.
 void setShowExclusionClass(boolean show)
          Indicates if the exclusion symbol is used.
 void setSymbolRotation3DExpressions(String expressionX, String expressionY, String expressionZ)
          Sets expressions for rotation about each axis.
 void setSymbolRotation3DFlags(int pFlags)
          Gets rotation flags composed of enum esriSymbolRotation3DFlags.
 void setSymbolRotation3DFlags2(int flagX, int flagY, int flagZ)
          Sets one flag for each axis.
 void setSymbolRotation3DRandomRanges(double minRotationX, double minRotationY, double minRotationZ, double maxRotationX, double maxRotationY, double maxRotationZ)
          Sets rotation range for each axis (for random rotation).
 void setSymbolRotation3DRotationTypeZ(int pType)
          Gets rotation type (geographic or arithmetic) about the Z axis (hardcoded arithmetic about other axes).
 void setSymbolsAreGraduated(boolean symbolsAreGraduated)
          Indicates if symbols are graduated.
 void setValueRepresentation(int rep)
          Representation type of the value field.
 void setValueUnit(int unit)
          Units of the value field.
 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

ProportionalSymbolRenderer

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

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

ProportionalSymbolRenderer

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

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

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

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.

getField

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

Description

The name of the numeric field used to determine the size of the symbol drawn for each feature on the map.

Remarks

The ProportionalSymbolRenderer can only draw features with with field values greater than zero. If Field contains values less than or equal to zero, you should use IDataExclusion to exclude these features from drawing.

To use normalization specify a field name for NormField.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getField in interface IProportionalSymbolRenderer
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
Value field.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setField in interface IProportionalSymbolRenderer
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.

Remarks

Similar to the ClassBreaksRenderer, the ProportionalSymbolRenderer you can specify a normalization field through the NormField property. This is exactly the same as setting the field via IDataNormalization::NormalizationField property. Data is normalized prior to caculating symbol sizes.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getNormField in interface IProportionalSymbolRenderer
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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setMaxDataValue

public void setMaxDataValue(double rhs1)
                     throws IOException,
                            AutomationException
Normalized maximum data value.

Description

This property represents the largest possible value in the data. This property does not at all affect the map symbolization, but is only used to help determine the structure of the renderers entry in the table of contents and legend if applicable.

This property is only used if ValueUnit = esriUnknownUnits. In this case the set of symbols to be shown in the renderer legend entry is determined based on the values of these properties: MinSymbol/MinDataValue, MaxDataValue, and LegendSymbolCount which is the desired number of symbols to be shown in the legend entry. Be sure to set these properties before calling CreateLegendSymbol, which refreshes the renderer's legend entry.

If ValueUnit is some known data unit, then only the MinSymbol is shown in the legend and MaxDataValue is not used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setMinDataValue

public void setMinDataValue(double rhs1)
                     throws IOException,
                            AutomationException
Normalized minimum data value.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMinSymbol

public ISymbol getMinSymbol()
                     throws IOException,
                            AutomationException
Symbol used to draw feature with the normalized minimum data value.

Description

This is the symbol used to display the data. This can be a marker or line symbol.

Remarks

MinSymbol is the base symbol used by the proportional symbol renderer, and it can be a line or marker symbol. For each feature in the data, MinSymbol is resized and used to represent the data value in Field. The rules for resizing of MinSymbol are controlled by the settings for ValueUnit and ValueRepresentation.

Marker symbols can be used with both point and polygon data. In the polygon data case, markers are drawn at the center of each feature. BackgroundSymbol provides access to the fill symbol used to draw the actual shape of the underlying polygon features.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMinSymbol in interface IProportionalSymbolRenderer
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.

setMinSymbol

public void setMinSymbol(ISymbol sym)
                  throws IOException,
                         AutomationException
Symbol used to draw feature with the normalized minimum data value.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMinSymbol in interface IProportionalSymbolRenderer
Parameters:
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.

getValueUnit

public int getValueUnit()
                 throws IOException,
                        AutomationException
Units of the value field.

Description

This property specifies the real world distance units that the data in Field represent.

Remarks

Known Units

If the data in Field represent an actual distance in the real world, and you know the units for the data, then you should set ValueUnit to these units. For example, for your tree point data you might have measured the radius of each tree canopy in meters and have this stored in the field "Canopy". In this scenario you should set ValueUnit = esriMeters and also set ValueRepresentation = esriValueRepRadius. See ValueRepresentation for more information about how symbols are scaled to data values. Also, in this case you do not need to set MinDataValue.

Unknown Units

If the data in Field does not represent an actual distance in the real world, then you should set ValueUnit = esriUnknownUnits. In this case you need to set MinDataValue to the data value corresponding to the size of the symbol set for MinSymbol.

In the marker symbol case, a feature with value that is twice the MinDataValue will have a symbol with an area twice as big as the MinSymbol. An assumption is made that the marker symbol is square for this calculation. Also, for marker symbols with unknown units, an appearance compensation factor can be applied by setting FlanneryCompensation = True. Empirical testing has shown that people tend to underestimate differences in area when visually comparing two marker symbols. Therefore, this factor increases the difference in area between a smaller symbol and a a larger symbol as the symbols get larger.

In the line symbol case, a feature with value that is twice the MinDataValue will have a width that is twice as wide as the MinSymbol.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getValueUnit in interface IProportionalSymbolRenderer
Returns:
A com.esri.arcgis.system.esriUnits constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setValueUnit

public void setValueUnit(int unit)
                  throws IOException,
                         AutomationException
Units of the value field.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setValueUnit in interface IProportionalSymbolRenderer
Parameters:
unit - A com.esri.arcgis.system.esriUnits constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getValueRepresentation

public int getValueRepresentation()
                           throws IOException,
                                  AutomationException
Representation type of the value field.

Remarks

ValueRepresentation together with ValueUnit specifies how data values are mapped to symbol sizes by the renderer. However, the way that ValueRepresentation affects this mapping is the same regardless of the ValueUnit:

Marker symbols can be proportional by radius or area. Note that marker symbols should be circular or square for these settings to correctly apply.

Line symbols can be proportional by width or distance from the center line (one half the width).

If ValueUnit = esriUnknownUnits, then marker symbols are proportional by area and line symbols are proportional by width.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setValueRepresentation

public void setValueRepresentation(int rep)
                            throws IOException,
                                   AutomationException
Representation type of the value field.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setValueRepresentation in interface IProportionalSymbolRenderer
Parameters:
rep - A com.esri.arcgis.carto.esriValueRepresentations constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isFlanneryCompensation

public boolean isFlanneryCompensation()
                               throws IOException,
                                      AutomationException
Indicates if Flannery Compensation is applied.

Remarks

This property is only used if ValueUnit is some known set of units and MinSymbol is a marker symbol.

This property is a flag that indicates whether or not a Flannery compensation factor is applied to the marker symbol sizes calculated by the renderer. By setting this property to True you are enabling the application of this compensation factor.

Empirical testing has shown that people tend to underestimate differences in area when visually comparing two marker symbols. Therefore, the Flannery compensation factor increases the difference in area between a smaller symbol and a a larger symbol as the symbols get larger. It is generally accepted that this factor should be applied when sizing marker symbols proportionally or in a graduated fashion.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isFlanneryCompensation in interface IProportionalSymbolRenderer
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFlanneryCompensation

public void setFlanneryCompensation(boolean flag)
                             throws IOException,
                                    AutomationException
Indicates if Flannery Compensation is applied.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getLegendSymbolCount

public int getLegendSymbolCount()
                         throws IOException,
                                AutomationException
Number of symbols displayed in the TOC and legend.

Remarks

The ProportionalSymbolRenderer does not use a fixed set of symbols, and so the legend information for the renderer must be refreshed by calling CreateLegendSymbols after changes are made to renderer properties.

This property represents the number of desired symbol sizes to be shown in the legend entry for the renderer. The property is onl used if ValueUnit = esriUnknownUnits. In this case the set of symbols to be shown in the table of contents, and legend if applicable is determined based on the values of these properties: MinSymbol/MinDataValue, MaxDataValue which is the largest possible value in the data, and LegendSymbolCount. Be sure to set these properties before calling CreateLegendSymbol.

If ValueUnit is some known data unit, then only the MinSymbol is shown in the legend and LegendSymbolCount is not used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLegendSymbolCount in interface IProportionalSymbolRenderer
Returns:
The num
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLegendSymbolCount

public void setLegendSymbolCount(int num)
                          throws IOException,
                                 AutomationException
Number of symbols displayed in the TOC and legend.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setLegendSymbolCount in interface IProportionalSymbolRenderer
Parameters:
num - The num (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 proportional marker symbols are draw on polygon features.

Description

This is the fill symbol used to draw the actual shape of polygon features when the renderer is applied to a polygon feature layer. In this situation, the MinSymbol is a marker symbol and is drawn at the center of each poylgon feature.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getBackgroundSymbol in interface IProportionalSymbolRenderer
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 proportional marker symbols are draw on polygon features.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setBackgroundSymbol in interface IProportionalSymbolRenderer
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.

createLegendSymbols

public void createLegendSymbols()
                         throws IOException,
                                AutomationException
Creates the legend. Call after all properties have been set.

Remarks

The ProportionalSymbolRenderer does not use a fixed set of symbols, and so the legend information for the renderer must be refreshed by calling this method after changes are made to renderer properties.

If ValueUnit = esriUnknownUnits then a set number of symbols will be shown in the table of contents, and legend if applicable. This set will be determined based on several properties: MinSymbol/MinDataValue, MaxDataValue which is the largest possible value in the data, and LegendSymbolCount which is the number of symbols desired in the renderer's legend entry. Be sure to set these properties before calling CreateLegendSymbol.

If ValueUnit is some known data unit, then only the MinSymbol is shown in the legend.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
createLegendSymbols in interface IProportionalSymbolRenderer
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.

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.

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.

getSymbolRotation3DFlags

public int getSymbolRotation3DFlags()
                             throws IOException,
                                    AutomationException
Gets rotation flags composed of enum esriSymbolRotation3DFlags. Not just for 3D rotation.

Product Availability

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

Specified by:
getSymbolRotation3DFlags in interface IRotationRenderer2
Returns:
The pFlags
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolRotation3DFlags

public void setSymbolRotation3DFlags(int pFlags)
                              throws IOException,
                                     AutomationException
Gets rotation flags composed of enum esriSymbolRotation3DFlags. Not just for 3D rotation.

Product Availability

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

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

getSymbolRotation3DFlags2

public void getSymbolRotation3DFlags2(int[] pFlagX,
                                      int[] pFlagY,
                                      int[] pFlagZ)
                               throws IOException,
                                      AutomationException
Gets one flag for each axis. Serves same purpose as SymbolRotation3DFlags (get_, put_).

Product Availability

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

Specified by:
getSymbolRotation3DFlags2 in interface IRotationRenderer2
Parameters:
pFlagX - A com.esri.arcgis.carto.esriSymbolRotation3DFlags constant (out: use single element array)
pFlagY - A com.esri.arcgis.carto.esriSymbolRotation3DFlags constant (out: use single element array)
pFlagZ - A com.esri.arcgis.carto.esriSymbolRotation3DFlags constant (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolRotation3DFlags2

public void setSymbolRotation3DFlags2(int flagX,
                                      int flagY,
                                      int flagZ)
                               throws IOException,
                                      AutomationException
Sets one flag for each axis. For axis which is not to be rotated, set to esriSymbolRotation3DNone. Serves same purpose as SymbolRotation3DFlags (get_, put_).

Product Availability

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

Specified by:
setSymbolRotation3DFlags2 in interface IRotationRenderer2
Parameters:
flagX - A com.esri.arcgis.carto.esriSymbolRotation3DFlags constant (in)
flagY - A com.esri.arcgis.carto.esriSymbolRotation3DFlags constant (in)
flagZ - A com.esri.arcgis.carto.esriSymbolRotation3DFlags constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSymbolRotation3DRotationTypeZ

public int getSymbolRotation3DRotationTypeZ()
                                     throws IOException,
                                            AutomationException
Gets rotation type (geographic or arithmetic) about the Z axis (hardcoded arithmetic about other axes).

Product Availability

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

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

setSymbolRotation3DRotationTypeZ

public void setSymbolRotation3DRotationTypeZ(int pType)
                                      throws IOException,
                                             AutomationException
Gets rotation type (geographic or arithmetic) about the Z axis (hardcoded arithmetic about other axes).

Product Availability

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

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

getSymbolRotation3DExpressions

public void getSymbolRotation3DExpressions(String[] pExpressionX,
                                           String[] pExpressionY,
                                           String[] pExpressionZ)
                                    throws IOException,
                                           AutomationException
Gets expressions for rotation about each axis. In case of non-3D rotation, Z axis is used.

Product Availability

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

Specified by:
getSymbolRotation3DExpressions in interface IRotationRenderer2
Parameters:
pExpressionX - The pExpressionX (out: use single element array)
pExpressionY - The pExpressionY (out: use single element array)
pExpressionZ - The pExpressionZ (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolRotation3DExpressions

public void setSymbolRotation3DExpressions(String expressionX,
                                           String expressionY,
                                           String expressionZ)
                                    throws IOException,
                                           AutomationException
Sets expressions for rotation about each axis. In case of non-3D rotation, Z axis is used.

Product Availability

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

Specified by:
setSymbolRotation3DExpressions in interface IRotationRenderer2
Parameters:
expressionX - The expressionX (in)
expressionY - The expressionY (in)
expressionZ - The expressionZ (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSymbolRotation3DRandomRanges

public void getSymbolRotation3DRandomRanges(double[] pMinRotationX,
                                            double[] pMinRotationY,
                                            double[] pMinRotationZ,
                                            double[] pMaxRotationX,
                                            double[] pMaxRotationY,
                                            double[] pMaxRotationZ)
                                     throws IOException,
                                            AutomationException
Gets rotation range for each axis (for random rotation).

Product Availability

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

Specified by:
getSymbolRotation3DRandomRanges in interface IRotationRenderer2
Parameters:
pMinRotationX - The pMinRotationX (out: use single element array)
pMinRotationY - The pMinRotationY (out: use single element array)
pMinRotationZ - The pMinRotationZ (out: use single element array)
pMaxRotationX - The pMaxRotationX (out: use single element array)
pMaxRotationY - The pMaxRotationY (out: use single element array)
pMaxRotationZ - The pMaxRotationZ (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolRotation3DRandomRanges

public void setSymbolRotation3DRandomRanges(double minRotationX,
                                            double minRotationY,
                                            double minRotationZ,
                                            double maxRotationX,
                                            double maxRotationY,
                                            double maxRotationZ)
                                     throws IOException,
                                            AutomationException
Sets rotation range for each axis (for random rotation).

Product Availability

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

Specified by:
setSymbolRotation3DRandomRanges in interface IRotationRenderer2
Parameters:
minRotationX - The minRotationX (in)
minRotationY - The minRotationY (in)
minRotationZ - The minRotationZ (in)
maxRotationX - The maxRotationX (in)
maxRotationY - The maxRotationY (in)
maxRotationZ - The maxRotationZ (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.

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