com.esri.arcgis.carto
Class MapDescription

java.lang.Object
  extended by com.esri.arcgis.carto.MapDescription
All Implemented Interfaces:
IMapDescription, IMapDescription2, IMapServerGeoTransformation, IMapTimeDescription, com.esri.arcgis.interop.RemoteObjRef, IPersist, IPersistStream, IXMLSerialize, Externalizable, Serializable

public class MapDescription
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IMapDescription, IMapDescription2, IMapTimeDescription, IMapServerGeoTransformation, IXMLSerialize, IPersistStream, IPersist, Externalizable

The Map Description coclass contains settings of a map in the current document.

Remarks

A MapServer service can have an associated tiled map cache. This cache is a collection of pre-rendered map tiles that are used for the display of the map service. A cache can either be a fused cache where all layers within the map service are cached or a Multi-layer cache where only select map layers are cached. Working with MapServer and a cached map service can be different than working with a map service without a cache. Though you will be able to query against a cached map service just as you would a non-cached map service, you will see differences when working with cached map service's MapDescription.

If the map service has a fused cache custom graphics, including the rendering of selected features, cannot be applied to the MapDescription. In addition, applying a new spatial reference on cached map services though IMapDescription will not work. The cached layers will not draw. You will need to use ITileCacheInfo to change the spatial reference.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
MapDescription()
          Constructs a MapDescription using ArcGIS Engine.
MapDescription(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
MapDescription theMapDescription = (MapDescription) obj;
 
Method Summary
 void deserialize(IXMLSerializeData data)
          Deserializes an object from XML.
 boolean equals(Object o)
          Compare this object with another
 IFillSymbol getBackgroundSymbol()
          Background symbol of the Map.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 IGraphicElements getCustomGraphics()
          Custom graphics.
 IGeoTransformation getGeoTransformation()
          On-the-fly geographic transformations.
 ILayerDescriptions getLayerDescriptions()
          A collection of Layer Description objects, each describing a layer within the map (data frame).
 IMapArea getMapArea()
          The display area of the map (data frame).
 double getMapRotation()
          The angle/rotation of the map (data frame) in degrees, measured anti-clockwise.
 String getName()
          The name of the map (data frame).
 IColor getSelectionColor()
          The default selection color.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 ISpatialReference getSpatialReference()
          The spatial reference of the map (data frame).
 ITimeReference getTimeReference()
          Time reference used by the time aware content.
 ITimeValue getTimeValue()
          Time value that will be used by the time aware content of the map.
 IColor getTransparentColor()
          The color that is transparent (100 %).
 int hashCode()
          the hashcode for this object
 void isDirty()
          isDirty
 void load(IStream pstm)
          load
 void readExternal(ObjectInput in)
           
 void save(IStream pstm, int fClearDirty)
          save
 void serialize(IXMLSerializeData data)
          Serializes an object to XML.
 void setBackgroundSymbol(IFillSymbol fillSymbol)
          Background symbol of the Map.
 void setCustomGraphics(IGraphicElements elements)
          Custom graphics.
 void setGeoTransformationByRef(IGeoTransformation transformations)
          On-the-fly geographic transformations.
 void setLayerDescriptions(ILayerDescriptions layerDescriptions)
          A collection of Layer Description objects, each describing a layer within the map (data frame).
 void setMapArea(IMapArea area)
          The display area of the map (data frame).
 void setMapRotation(double angleDegrees)
          The angle/rotation of the map (data frame) in degrees, measured anti-clockwise.
 void setName(String name)
          The name of the map (data frame).
 void setSelectionColor(IColor color)
          The default selection color.
 void setSpatialReferenceByRef(ISpatialReference spatialReference)
          The spatial reference of the map (data frame).
 void setTimeReferenceByRef(ITimeReference timeReference)
          Time reference used by the time aware content.
 void setTimeValueByRef(ITimeValue timeValue)
          Time value that will be used by the time aware content of the map.
 void setTransparentColor(IColor color)
          The color that is transparent (100 %).
 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

MapDescription

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

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

MapDescription

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

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

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

getName

public String getName()
               throws IOException,
                      AutomationException
The name of the map (data frame).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setName

public void setName(String name)
             throws IOException,
                    AutomationException
The name of the map (data frame).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMapArea

public IMapArea getMapArea()
                    throws IOException,
                           AutomationException
The display area of the map (data frame).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setMapArea

public void setMapArea(IMapArea area)
                throws IOException,
                       AutomationException
The display area of the map (data frame).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMapArea in interface IMapDescription
Specified by:
setMapArea in interface IMapDescription2
Parameters:
area - A reference to a com.esri.arcgis.carto.IMapArea (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLayerDescriptions

public ILayerDescriptions getLayerDescriptions()
                                        throws IOException,
                                               AutomationException
A collection of Layer Description objects, each describing a layer within the map (data frame).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setLayerDescriptions

public void setLayerDescriptions(ILayerDescriptions layerDescriptions)
                          throws IOException,
                                 AutomationException
A collection of Layer Description objects, each describing a layer within the map (data frame).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setLayerDescriptions in interface IMapDescription
Specified by:
setLayerDescriptions in interface IMapDescription2
Parameters:
layerDescriptions - A reference to a com.esri.arcgis.carto.ILayerDescriptions (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMapRotation

public double getMapRotation()
                      throws IOException,
                             AutomationException
The angle/rotation of the map (data frame) in degrees, measured anti-clockwise.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMapRotation in interface IMapDescription
Specified by:
getMapRotation in interface IMapDescription2
Returns:
The angleDegrees
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMapRotation

public void setMapRotation(double angleDegrees)
                    throws IOException,
                           AutomationException
The angle/rotation of the map (data frame) in degrees, measured anti-clockwise.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMapRotation in interface IMapDescription
Specified by:
setMapRotation in interface IMapDescription2
Parameters:
angleDegrees - The angleDegrees (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpatialReference

public ISpatialReference getSpatialReference()
                                      throws IOException,
                                             AutomationException
The spatial reference of the map (data frame).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSpatialReference in interface IMapDescription
Specified by:
getSpatialReference in interface IMapDescription2
Returns:
A reference to a com.esri.arcgis.geometry.ISpatialReference
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSpatialReferenceByRef

public void setSpatialReferenceByRef(ISpatialReference spatialReference)
                              throws IOException,
                                     AutomationException
The spatial reference of the map (data frame).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSpatialReferenceByRef in interface IMapDescription
Specified by:
setSpatialReferenceByRef in interface IMapDescription2
Parameters:
spatialReference - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCustomGraphics

public IGraphicElements getCustomGraphics()
                                   throws IOException,
                                          AutomationException
Custom graphics.

Remarks

Use CustomGraphics to display text or geometric shapes on the map. When interacting with the display of labels, CustomGraphics will honor the Feature Weight value for the default graphics layer set in the Label Weight Ranking dialog in the map document. A setting of High, the ArcMap default, will result in labels not drawing within the bounds of the custom graphics. If the Feature Weight for the default graphics layer is None, Low or Medium labels will draw within the bounds of the custom graphics. With None, all labels should display. With Low or Medium, the amount of labels that draw may vary.

Please note that the optimized MapServer only supports the esriSFSSolid style of ISimpleFillSymbol. For other types of fills, use other fill symbol types such as ILineSymbol. For hollow symbols, you should use IColor::NullColor with esriSFSSolid instead of using the esriSFSNull style.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setCustomGraphics

public void setCustomGraphics(IGraphicElements elements)
                       throws IOException,
                              AutomationException
Custom graphics.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setCustomGraphics in interface IMapDescription
Specified by:
setCustomGraphics in interface IMapDescription2
Parameters:
elements - A reference to a com.esri.arcgis.carto.IGraphicElements (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTransparentColor

public IColor getTransparentColor()
                           throws IOException,
                                  AutomationException
The color that is transparent (100 %).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setTransparentColor

public void setTransparentColor(IColor color)
                         throws IOException,
                                AutomationException
The color that is transparent (100 %).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setTransparentColor in interface IMapDescription
Specified by:
setTransparentColor in interface IMapDescription2
Parameters:
color - A reference to a com.esri.arcgis.display.IColor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSelectionColor

public IColor getSelectionColor()
                         throws IOException,
                                AutomationException
The default selection color.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setSelectionColor

public void setSelectionColor(IColor color)
                       throws IOException,
                              AutomationException
The default selection color.

Product Availability

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

Specified by:
setSelectionColor in interface IMapDescription
Specified by:
setSelectionColor in interface IMapDescription2
Parameters:
color - A reference to a com.esri.arcgis.display.IColor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBackgroundSymbol

public IFillSymbol getBackgroundSymbol()
                                throws IOException,
                                       AutomationException
Background symbol of the Map.

Remarks

If the background symbol and color are not explicitly set in the original map document (.mxd), the default background symbol a solid-filled symbol with an off-white color (RGB value of 253,253,253).

Product Availability

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

Specified by:
getBackgroundSymbol in interface IMapDescription2
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 fillSymbol)
                         throws IOException,
                                AutomationException
Background symbol of the Map.

Product Availability

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

Specified by:
setBackgroundSymbol in interface IMapDescription2
Parameters:
fillSymbol - 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.

getTimeValue

public ITimeValue getTimeValue()
                        throws IOException,
                               AutomationException
Time value that will be used by the time aware content of the map.

Product Availability

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

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

setTimeValueByRef

public void setTimeValueByRef(ITimeValue timeValue)
                       throws IOException,
                              AutomationException
Time value that will be used by the time aware content of the map.

Product Availability

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

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

getTimeReference

public ITimeReference getTimeReference()
                                throws IOException,
                                       AutomationException
Time reference used by the time aware content.

Remarks

You should set this property when the TimeValue that you are passing in is in different timezone that any of the dataframe's or layer's TimeReference in the MapServer.

When TimeReference is set to Null/Nothing, MapServer assumes the TimeValue is in layer's TimeReference while searching features from layer. For example, there may be two layers in the map, one is in Pacific Standard Time (PST) and the other is in Eastern Standard Time (EST). If the TimeValue you are passing in is PST, but you have TimeReference is set to Null, when MapServer searches for feature for the first layer, it will assume the input TimeValue is in PST and find the correct features. While it searches for the features from the second layer, it will assume the input TimeValue is in EST and will get incorrect features.

Product Availability

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

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

setTimeReferenceByRef

public void setTimeReferenceByRef(ITimeReference timeReference)
                           throws IOException,
                                  AutomationException
Time reference used by the time aware content.

Product Availability

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

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

setGeoTransformationByRef

public void setGeoTransformationByRef(IGeoTransformation transformations)
                               throws IOException,
                                      AutomationException
On-the-fly geographic transformations.

Product Availability

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

Specified by:
setGeoTransformationByRef in interface IMapServerGeoTransformation
Parameters:
transformations - A reference to a com.esri.arcgis.geometry.IGeoTransformation (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGeoTransformation

public IGeoTransformation getGeoTransformation()
                                        throws IOException,
                                               AutomationException
On-the-fly geographic transformations.

Remarks

GeoTransformation provides access to members that define a geographic (datum) transformation.

Product Availability

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

Specified by:
getGeoTransformation in interface IMapServerGeoTransformation
Returns:
A reference to a com.esri.arcgis.geometry.IGeoTransformation
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

serialize

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

deserialize

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

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.

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