com.esri.arcgis.maplex
Class MaplexOverposter

java.lang.Object
  extended by com.esri.arcgis.maplex.MaplexOverposter
All Implemented Interfaces:
com.esri.arcgis.interop.RemoteObjRef, IMaplexOverposter, Serializable

public class MaplexOverposter
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IMaplexOverposter

A label placement engine based on the Maplex label placement algorithms.

Description

The MaplexOverposter is the Maplex equivalent of the BasicOverposter. An "overposter" is the ArcObjects representation of the label engine itself and is the lowest level at which the engines can be driven for multiple features.

Product Availability

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

Supported Platforms

Windows

See Also:
com.esri.arcgis.maplex.MaplexExtension, MaplexOverposter, Serialized Form

Constructor Summary
MaplexOverposter()
          Constructs a MaplexOverposter using ArcGIS Engine.
MaplexOverposter(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
MaplexOverposter theMaplexOverposter = (MaplexOverposter) obj;
 
Method Summary
 void addBarriers(int weight, IGeometryCollection barriers)
          Adds a barrier object that placed objects must avoid.
 int addClass(ILabelEngineLayerProperties props)
          Adds a class to the overposter and specifies its properties.
 void addFeature(int classIndex, IGeometry featureShape, ISymbol featureSymbol, int featureID, String label, double labelAngle, int mapLevel)
          Adds a feature with its associated label (optional) to the overposter.
 void addSymbol(int classIndex, ISymbol symbol, IGeometry geometry, int featureID)
          Adds a symbol to be placed.
 boolean equals(Object o)
          Compare this object with another
 int getCapabilities(ILayer layer)
          Overposter capabilities for the specified layer.
 int getClassCount()
          The number of classes.
static String getClsid()
          getClsid.
 int getPlacedLabelCount()
          The number of unplaced labels.
 IEnumMaplexPlacedLabel getPlacedLabels()
          Enumeration of placed labels.
 int getUnplacedLabelCount()
          The number of unplaced labels.
 IEnumMaplexPlacedLabel getUnplacedLabels()
          Enumeration of unplaced labels.
 int hashCode()
          the hashcode for this object
 void initialize(IEnvelope extent, IDisplay display, ISpatialReference spatialReference, IMaplexOverposterProperties overposterProps, ITrackCancel trackCancel)
          Initializes the overposter for drawing into the specified area of the map display.
 void placeLabels()
          Places labels using the overposter.
 void resetClasses()
          Removes all classes from the overposter.
 
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

MaplexOverposter

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

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

MaplexOverposter

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

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

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

initialize

public void initialize(IEnvelope extent,
                       IDisplay display,
                       ISpatialReference spatialReference,
                       IMaplexOverposterProperties overposterProps,
                       ITrackCancel trackCancel)
                throws IOException,
                       AutomationException
Initializes the overposter for drawing into the specified area of the map display.

Product Availability

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

Supported Platforms

Windows

Specified by:
initialize in interface IMaplexOverposter
Parameters:
extent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
display - A reference to a com.esri.arcgis.display.IDisplay (in)
spatialReference - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
overposterProps - A reference to a com.esri.arcgis.carto.IMaplexOverposterProperties (in)
trackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in, optional, pass null if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCapabilities

public int getCapabilities(ILayer layer)
                    throws IOException,
                           AutomationException
Overposter capabilities for the specified layer.

Product Availability

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

Specified by:
getCapabilities in interface IMaplexOverposter
Parameters:
layer - A reference to a com.esri.arcgis.carto.ILayer (in)
Returns:
A com.esri.arcgis.carto.esriOverposterCaps constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassCount

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

Description

The number of labeling classes which have been added to the overposter.

Product Availability

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

Supported Platforms

Windows

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

addClass

public int addClass(ILabelEngineLayerProperties props)
             throws IOException,
                    AutomationException
Adds a class to the overposter and specifies its properties.

Product Availability

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

Supported Platforms

Windows

Specified by:
addClass in interface IMaplexOverposter
Parameters:
props - A reference to a com.esri.arcgis.carto.ILabelEngineLayerProperties (in)
Returns:
The classIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

resetClasses

public void resetClasses()
                  throws IOException,
                         AutomationException
Removes all classes from the overposter.

Product Availability

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

Supported Platforms

Windows

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

addFeature

public void addFeature(int classIndex,
                       IGeometry featureShape,
                       ISymbol featureSymbol,
                       int featureID,
                       String label,
                       double labelAngle,
                       int mapLevel)
                throws IOException,
                       AutomationException
Adds a feature with its associated label (optional) to the overposter.

Product Availability

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

Supported Platforms

Windows

Specified by:
addFeature in interface IMaplexOverposter
Parameters:
classIndex - The classIndex (in)
featureShape - A reference to a com.esri.arcgis.geometry.IGeometry (in)
featureSymbol - A reference to a com.esri.arcgis.display.ISymbol (in)
featureID - The featureID (in)
label - The label (in)
labelAngle - The labelAngle (in)
mapLevel - The mapLevel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addBarriers

public void addBarriers(int weight,
                        IGeometryCollection barriers)
                 throws IOException,
                        AutomationException
Adds a barrier object that placed objects must avoid.

Product Availability

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

Supported Platforms

Windows

Specified by:
addBarriers in interface IMaplexOverposter
Parameters:
weight - A com.esri.arcgis.carto.esriBasicOverposterWeight constant (in)
barriers - A reference to a com.esri.arcgis.geometry.IGeometryCollection (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addSymbol

public void addSymbol(int classIndex,
                      ISymbol symbol,
                      IGeometry geometry,
                      int featureID)
               throws IOException,
                      AutomationException
Adds a symbol to be placed.

Product Availability

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

Supported Platforms

Windows

Specified by:
addSymbol in interface IMaplexOverposter
Parameters:
classIndex - The classIndex (in)
symbol - A reference to a com.esri.arcgis.display.ISymbol (in)
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
featureID - The featureID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

placeLabels

public void placeLabels()
                 throws IOException,
                        AutomationException
Places labels using the overposter.

Description

Tells the MaplexOverposter to place the labels.

Product Availability

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

Supported Platforms

Windows

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

getPlacedLabelCount

public int getPlacedLabelCount()
                        throws IOException,
                               AutomationException
The number of unplaced labels. Only valid after calling PlaceObjects.

Product Availability

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

Supported Platforms

Windows

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

getUnplacedLabelCount

public int getUnplacedLabelCount()
                          throws IOException,
                                 AutomationException
The number of unplaced labels. Only valid after calling PlaceObjects.

Product Availability

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

Supported Platforms

Windows

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

getPlacedLabels

public IEnumMaplexPlacedLabel getPlacedLabels()
                                       throws IOException,
                                              AutomationException
Enumeration of placed labels.

Description

Returns an enumeration containing the labels (as MaplexPlacedLabels) for which Maplex has obtained satisfactory positions.

Product Availability

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

Supported Platforms

Windows

Specified by:
getPlacedLabels in interface IMaplexOverposter
Returns:
A reference to a com.esri.arcgis.maplex.IEnumMaplexPlacedLabel
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getUnplacedLabels

public IEnumMaplexPlacedLabel getUnplacedLabels()
                                         throws IOException,
                                                AutomationException
Enumeration of unplaced labels.

Description

Returns an enumeration containing the labels (as MaplexPlacedLabels) for which Maplex could not obtain satisfactory positions. The best possible position is given to each label anyway and its PlacementCode is set to esriPlacementUnplaced.

Product Availability

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

Supported Platforms

Windows

Specified by:
getUnplacedLabels in interface IMaplexOverposter
Returns:
A reference to a com.esri.arcgis.maplex.IEnumMaplexPlacedLabel
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.