|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IBivariateRenderer
Provides access to members that control the rendering of bivariate symbology based on two constiuent renderers.
This interface provides access to methods and properties of a renderer used to draw features based on two different attributes. Two separate renderers are assigned to represent these attributes. The first renderer assigned is a UniqueValueRenderer, and the second is a ClassBreaksRenderer.
See BiUniqueRenderer for more information about how IBivariateRenderer can be implemented. This renderer corresponds to the "Quanity by category" layer symbology option in ArcMap.
MainRenderer must be set to
a UniqueValueRenderer, and VariationRenderer must be a
ClassBreaksRenderer.
The BiUniqueValueRenderer
takes the symbol from the unique value renderer and alters
either its size or color based on the symbol from the class breaks
renderer. If the second renderer returns true for
IClassBreaksRenderer::SymbolsAreGraduated, then the size will be
altered, otherwise color will be altered. Hue will be maintained
from the MainRenderer, but saturation and value will be taken from
the VariationRenderer. See IHsvColor to learn more about hue,
saturation, and value.
The VariationRenderer is
typically set up with a symbol type that matches the MainRenderer,
for example, marker symbols in the MainRenderer and marker symbols
in the VariationRenderer. However, when rendering polygon features
you can set up the VariationRenderer with marker symbols which
will be drawn in the center of the polygon features. In this case,
IClassBreaksRenderer::BackgroundSymbol applies from the
VariationRenderer.
Call CreateLegend after
initially setting up or making changes to and renderer properties.
When the VariationRenderer is used to produce a graduated color
representation, the renderer's legend consists of the
combinatino of all possible values from the two renderers. When
VariationRenderer is a graduated symbol type representation, then
only the representative symbol colors and sizes are shown in the
legend.
You should always keep in
mind the multiplicative nature of bivariate rendering. When chosing
a number of classes for both the MainRenderer and
VariationRenderer, keep in mind that if they have 3 classes each
that your map will have 9 classes of features. Maps with too many
classes of features are hard to understand.
You can write your own
custom renderer that does bivariate mapping, and it can implement
IBivariateRenderer. Keep in mind though that the ArcMap user
interface will expect that your renderer consist of a
UniqueValueRenderer and a ClassBreaksRenderer. If implementing your
own renderer it is good practice to implement a renderer property
page so that users can set properties using a dialog, and also to
identify your renderer uniquely by implementing a custom interface
so that your property page is used to edit your
renderer.
To learn more about writing
a custom renderer property page and interface, see the library
overview topic for the Carto library.
Method Summary | |
---|---|
void |
createLegend()
Creates the legend. |
IFeatureRenderer |
getMainRenderer()
Main renderer of a bivariate renderer. |
IFeatureRenderer |
getVariationRenderer()
Variation renderer of a bivariate renderer. |
void |
setMainRendererByRef(IFeatureRenderer renderer)
Main renderer of a bivariate renderer. |
void |
setVariationRendererByRef(IFeatureRenderer renderer)
Variation renderer of a bivariate renderer. |
Method Detail |
---|
IFeatureRenderer getMainRenderer() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setMainRendererByRef(IFeatureRenderer renderer) throws IOException, AutomationException
renderer
- A reference to a com.esri.arcgis.carto.IFeatureRenderer (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IFeatureRenderer getVariationRenderer() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setVariationRendererByRef(IFeatureRenderer renderer) throws IOException, AutomationException
renderer
- A reference to a com.esri.arcgis.carto.IFeatureRenderer (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void createLegend() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |