com.esri.arcgis.carto
Interface IBasicOverposterLayerProperties4

All Superinterfaces:
Serializable
All Known Implementing Classes:
BasicOverposterLayerProperties

public interface IBasicOverposterLayerProperties4
extends Serializable

Provides access to members that control the placement of labels relative to features using conflict detection.

Description

Manages settings that control the placement of dynamic labels and feature-linked annotation relative to features. This interface manages generic settings that apply to all feature geometry types (point, line, and polygon). This interface also manages, or provides access to other objects that manage, placement properties that are used only when labeling or annotating a specific feature geometry type.

Remarks

Not all property value combinations on this interface are valid in ArcMap, but no validation is performed by this object. This means that you can set the properties of this object to any combination and this object will not correct any of them for you.

When labeling occurs in ArcMap, invalid property combinations on this object can create unexpected results.

Validation does occur when the ArcMap user interface is used (i.e. the label placement properties dialog). Changes applied here by the user will change the values set on the current object.

When setting properties using this interface, it is recommended that you use the ArcMap user interface logic as a guide to setting valid property combinations. A few guidelines are provided here:

The following members are used only when labeling or annotating point features: PerpendicularToAngle, PointPlacementAngles, PointPlacementMethod, PointPlacementOnTop, and PointPlacementPriorities, RotationField, and RotationType . Note that labels can be placed at an angle, or on top of point features, but not both.

The following members are used only when labeling or annotating line features: LineLabelPlacementPriorities, LineLabelPosition, and LineOffset. Read the help for ILineLabelPlacementProperties and ILineLabelPosition to learn more about line label placement properties.

The following members are used only when labeling or annotating polygon features: PlaceOnlyInsidePolygon and PolygonPlacementMethod .

MaxDistanceFromTarget is used only when the label engine is used to place chart symbols.

The property GenerateUnplacedLabels simply determines whether unplaced labels are generated by the label engine or not. To specify whether or not to display the unplaced labels, see the property IOverposterLayerProperties2::TagUnplaced

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
ILabelEngineLayerProperties

Method Summary
 double getBufferRatio()
          Label buffer ratio.
 int getFeatureType()
          Feature type.
 int getFeatureWeight()
          Barrier weighting for features in the layer.
 int getLabelWeight()
          Barrier weighting for labels in the layer.
 ILineLabelPlacementPriorities getLineLabelPlacementPriorities()
          Line label placement position priority options.
 ILineLabelPosition getLineLabelPosition()
          Line label placement position options.
 double getLineOffset()
          Offset in map units at which labels will be placed away from line features.
 double getMaxDistanceFromTarget()
          Maximum distance in map units the label is allowed to be away from the feature.
 int getNumLabelsOption()
          Feature labeling option for the layer.
 Object getPointPlacementAngles()
          Point label placement angle(s).
 int getPointPlacementMethod()
          Point label placement method.
 IPointPlacementPriorities getPointPlacementPriorities()
          Point label placement position priority options.
 int getPolygonPlacementMethod()
          Polygon label placement method.
 String getRotationField()
          The attribute field that contains the label angle.
 int getRotationType()
          Defines the format is the rotation field in.
 boolean isGenerateUnplacedLabels()
          Indicates if unplaced labels are generated.
 boolean isPerpendicularToAngle()
          Indicates whether the label should be drawn perpendicular to the angle.
 boolean isPlaceOnlyInsidePolygon()
          Indicates whether label is to be placed only within the polygon.
 boolean isPointPlacementOnTop()
          Indicates if point labels are placed on top of features.
 void setBufferRatio(double bufferRatio)
          Label buffer ratio.
 void setFeatureType(int type)
          Feature type.
 void setFeatureWeight(int weight)
          Barrier weighting for features in the layer.
 void setGenerateUnplacedLabels(boolean flag)
          Indicates if unplaced labels are generated.
 void setLabelWeight(int weight)
          Barrier weighting for labels in the layer.
 void setLineLabelPlacementPriorities(ILineLabelPlacementPriorities linePlacementPriorities)
          Line label placement position priority options.
 void setLineLabelPosition(ILineLabelPosition position)
          Line label placement position options.
 void setLineOffset(double lineOffset)
          Offset in map units at which labels will be placed away from line features.
 void setMaxDistanceFromTarget(double distance)
          Maximum distance in map units the label is allowed to be away from the feature.
 void setNumLabelsOption(int option)
          Feature labeling option for the layer.
 void setPerpendicularToAngle(boolean flag)
          Indicates whether the label should be drawn perpendicular to the angle.
 void setPlaceOnlyInsidePolygon(boolean flag)
          Indicates whether label is to be placed only within the polygon.
 void setPointPlacementAngles(Object angles)
          Point label placement angle(s).
 void setPointPlacementMethod(int method)
          Point label placement method.
 void setPointPlacementOnTop(boolean onTop)
          Indicates if point labels are placed on top of features.
 void setPointPlacementPriorities(IPointPlacementPriorities pointPlacementPriorities)
          Point label placement position priority options.
 void setPolygonPlacementMethod(int method)
          Polygon label placement method.
 void setRotationField(String field)
          The attribute field that contains the label angle.
 void setRotationType(int type)
          Defines the format is the rotation field in.
 

Method Detail

getFeatureType

int getFeatureType()
                   throws IOException,
                          AutomationException
Feature type.

Description

FeatureType is the type of feature, defined by esriBasicOverposterFeatureType (point, line or polygon), being labeled.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setFeatureType

void setFeatureType(int type)
                    throws IOException,
                           AutomationException
Feature type.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getFeatureWeight

int getFeatureWeight()
                     throws IOException,
                            AutomationException
Barrier weighting for features in the layer.

Description

FeatureWeight is the weight assigned to features, defined by esriBasicOverposterWeight (none, low, medium, high). This determines whether or not labels, in this and other layers, can overlap features in this layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setFeatureWeight

void setFeatureWeight(int weight)
                      throws IOException,
                             AutomationException
Barrier weighting for features in the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getLabelWeight

int getLabelWeight()
                   throws IOException,
                          AutomationException
Barrier weighting for labels in the layer.

Description

LabelWeight is the weight assigned to labels, defined by esriBasicOverposterWeight. This determines whether or not labels in other layers can overlap labels in this layer. All weight values except esriNoWeight are accepted by this property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setLabelWeight

void setLabelWeight(int weight)
                    throws IOException,
                           AutomationException
Barrier weighting for labels in the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getNumLabelsOption

int getNumLabelsOption()
                       throws IOException,
                              AutomationException
Feature labeling option for the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setNumLabelsOption

void setNumLabelsOption(int option)
                        throws IOException,
                               AutomationException
Feature labeling option for the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getLineLabelPosition

ILineLabelPosition getLineLabelPosition()
                                        throws IOException,
                                               AutomationException
Line label placement position options.

Description

LineLabelPosition is the placement option(s) relative to line features.

Remarks

This is only used when the FeatureType is of type esriOverposterPolyline.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.carto.ILineLabelPosition
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLineLabelPosition

void setLineLabelPosition(ILineLabelPosition position)
                          throws IOException,
                                 AutomationException
Line label placement position options.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
position - A reference to a com.esri.arcgis.carto.ILineLabelPosition (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLineLabelPlacementPriorities

ILineLabelPlacementPriorities getLineLabelPlacementPriorities()
                                                              throws IOException,
                                                                     AutomationException
Line label placement position priority options.

Description

LineLabelPlacementPriorities is the placement priorities relative to line features.

Remarks

This is only used when the FeatureType is of type esriOverposterPolyline.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.carto.ILineLabelPlacementPriorities
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLineLabelPlacementPriorities

void setLineLabelPlacementPriorities(ILineLabelPlacementPriorities linePlacementPriorities)
                                     throws IOException,
                                            AutomationException
Line label placement position priority options.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
linePlacementPriorities - A reference to a com.esri.arcgis.carto.ILineLabelPlacementPriorities (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isGenerateUnplacedLabels

boolean isGenerateUnplacedLabels()
                                 throws IOException,
                                        AutomationException
Indicates if unplaced labels are generated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setGenerateUnplacedLabels

void setGenerateUnplacedLabels(boolean flag)
                               throws IOException,
                                      AutomationException
Indicates if unplaced labels are generated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getPointPlacementMethod

int getPointPlacementMethod()
                            throws IOException,
                                   AutomationException
Point label placement method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setPointPlacementMethod

void setPointPlacementMethod(int method)
                             throws IOException,
                                    AutomationException
Point label placement method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isPointPlacementOnTop

boolean isPointPlacementOnTop()
                              throws IOException,
                                     AutomationException
Indicates if point labels are placed on top of features.

Description

PointPlacementOnTop PointPlacementOnTop specifies whether or not labels are to be placed centered on top of point features.

Remarks

This is only used when the FeatureType is of type esriOverposterPoint.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setPointPlacementOnTop

void setPointPlacementOnTop(boolean onTop)
                            throws IOException,
                                   AutomationException
Indicates if point labels are placed on top of features.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getPointPlacementPriorities

IPointPlacementPriorities getPointPlacementPriorities()
                                                      throws IOException,
                                                             AutomationException
Point label placement position priority options.

Description

PointPlacementPriorities is the placement priorities relative to point features.

Remarks

This is only used when the FeatureType is of type esriOverposterPoint.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.carto.IPointPlacementPriorities
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPointPlacementPriorities

void setPointPlacementPriorities(IPointPlacementPriorities pointPlacementPriorities)
                                 throws IOException,
                                        AutomationException
Point label placement position priority options.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
pointPlacementPriorities - A reference to a com.esri.arcgis.carto.IPointPlacementPriorities (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPointPlacementAngles

Object getPointPlacementAngles()
                               throws IOException,
                                      AutomationException
Point label placement angle(s).

Description

PointPlacementAngles is an array of angle(s) at which labels are to be placed relative to point features.

Remarks

This is only used when the FeatureType is of type esriOverposterPoint.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setPointPlacementAngles

void setPointPlacementAngles(Object angles)
                             throws IOException,
                                    AutomationException
Point label placement angle(s).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getBufferRatio

double getBufferRatio()
                      throws IOException,
                             AutomationException
Label buffer ratio. A value of 1 means a buffer the size of the label height.

Description

BufferRatio is the ratio, expressed as fraction of text size, at which the label extent will be detected (effectively increasing/decreasing the available area around a label). Use this to avoid labels being placed to close to each other.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setBufferRatio

void setBufferRatio(double bufferRatio)
                    throws IOException,
                           AutomationException
Label buffer ratio. A value of 1 means a buffer the size of the label height.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getLineOffset

double getLineOffset()
                     throws IOException,
                            AutomationException
Offset in map units at which labels will be placed away from line features.

Description

LineOffset is the offset, expressed in mapunits, at which labels will be placed away from line features.

Remarks

This is only used when the FeatureType is of type esriOverposterPolyline and when the LineLabelPosition is either Above, Below, Left or Right.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setLineOffset

void setLineOffset(double lineOffset)
                   throws IOException,
                          AutomationException
Offset in map units at which labels will be placed away from line features.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMaxDistanceFromTarget

double getMaxDistanceFromTarget()
                                throws IOException,
                                       AutomationException
Maximum distance in map units the label is allowed to be away from the feature.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setMaxDistanceFromTarget

void setMaxDistanceFromTarget(double distance)
                              throws IOException,
                                     AutomationException
Maximum distance in map units the label is allowed to be away from the feature.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getRotationType

int getRotationType()
                    throws IOException,
                           AutomationException
Defines the format is the rotation field in.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setRotationType

void setRotationType(int type)
                     throws IOException,
                            AutomationException
Defines the format is the rotation field in.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getRotationField

String getRotationField()
                        throws IOException,
                               AutomationException
The attribute field that contains the label angle.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setRotationField

void setRotationField(String field)
                      throws IOException,
                             AutomationException
The attribute field that contains the label angle.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isPerpendicularToAngle

boolean isPerpendicularToAngle()
                               throws IOException,
                                      AutomationException
Indicates whether the label should be drawn perpendicular to the angle.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setPerpendicularToAngle

void setPerpendicularToAngle(boolean flag)
                             throws IOException,
                                    AutomationException
Indicates whether the label should be drawn perpendicular to the angle.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getPolygonPlacementMethod

int getPolygonPlacementMethod()
                              throws IOException,
                                     AutomationException
Polygon label placement method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setPolygonPlacementMethod

void setPolygonPlacementMethod(int method)
                               throws IOException,
                                      AutomationException
Polygon label placement method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isPlaceOnlyInsidePolygon

boolean isPlaceOnlyInsidePolygon()
                                 throws IOException,
                                        AutomationException
Indicates whether label is to be placed only within the polygon.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setPlaceOnlyInsidePolygon

void setPlaceOnlyInsidePolygon(boolean flag)
                               throws IOException,
                                      AutomationException
Indicates whether label is to be placed only within the polygon.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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