|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.esri.arcgis.carto.LayerDescription
public class LayerDescription
The Layer Description coclass contains settings of a layer in a map.
A MapServer service can have an associated tiled map cache. This cache is a collection of pre-rendered map tiles used that are used for the display of the map service. If a layer belongs to a cache all changes made to LayerDescription for this layer will be ignored.
| Constructor Summary | |
|---|---|
LayerDescription()
Constructs a LayerDescription using ArcGIS Engine. |
|
LayerDescription(Object obj)
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts. LayerDescription theLayerDescription = (LayerDescription) obj; |
|
| Method Summary | |
|---|---|
void |
deserialize(IXMLSerializeData data)
Deserializes an object from XML. |
boolean |
equals(Object o)
Compare this object with another |
void |
getClassID(GUID[] pClassID)
getClassID |
static String |
getClsid()
getClsid. |
String |
getDefinitionExpression()
The definition expression for the layer. |
int |
getID()
The layer ID. |
ILayerResultOptions |
getLayerResultOptions()
Indicate whether to include and/or modify Geometry. |
double |
getSelectionBufferDistance()
The selection buffer distance. |
IFillSymbol |
getSelectionBufferSymbol()
Symbol used for drawing selection buffer. |
IColor |
getSelectionColor()
The selection color (used when SetSelectionSymbol = FALSE). |
IFIDSet |
getSelectionFeatures()
Array of selected features. |
ISymbol |
getSelectionSymbol()
The selection symbol. |
void |
getSizeMax(_ULARGE_INTEGER[] pcbSize)
getSizeMax |
String |
getSourceID()
The id of the source to use when drawing the layer. |
double |
getTimeOffset()
Draw time offset to overlay the data on a earlier or later time span. |
int |
getTimeOffsetUnits()
Draw time offset units. |
int |
hashCode()
the hashcode for this object |
void |
isDirty()
isDirty |
boolean |
isScaleSymbols()
Indicates whether the layer should scale its symbols according to the reference scale. |
boolean |
isSetSelectionSymbol()
Indicates if the selected set of features is drawn using the SelectionSymbol. |
boolean |
isShowLabels()
Indicates whether the layer should display its dynamic labels. |
boolean |
isShowSelectionBuffer()
Indicates whether the selection buffer should be displayed. |
boolean |
isTimeDataCumulative()
Draw the data cumulatively from the first instance of time in data as time progresses. |
boolean |
isUseTime()
Indicates whether use time for display. |
boolean |
isVisible()
Indicates whether the layer is visible as defined in the TOC (i.e. |
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 |
setDefinitionExpression(String expression)
The definition expression for the layer. |
void |
setID(int layerID)
The layer ID. |
void |
setLayerResultOptionsByRef(ILayerResultOptions layerResultOptions)
Indicate whether to include and/or modify Geometry. |
void |
setScaleSymbols(boolean scale)
Indicates whether the layer should scale its symbols according to the reference scale. |
void |
setSelectionBufferDistance(double distance)
The selection buffer distance. |
void |
setSelectionBufferSymbolByRef(IFillSymbol bufferSymbol)
Symbol used for drawing selection buffer. |
void |
setSelectionColorByRef(IColor color)
The selection color (used when SetSelectionSymbol = FALSE). |
void |
setSelectionFeatures(IFIDSet featureIDs)
Array of selected features. |
void |
setSelectionSymbolByRef(ISymbol symbol)
The selection symbol. |
void |
setSetSelectionSymbol(boolean setSymbol)
Indicates if the selected set of features is drawn using the SelectionSymbol. |
void |
setShowLabels(boolean show)
Indicates whether the layer should display its dynamic labels. |
void |
setShowSelectionBuffer(boolean show)
Indicates whether the selection buffer should be displayed. |
void |
setSourceID(String srcID)
The id of the source to use when drawing the layer. |
void |
setTimeDataCumulative(boolean drawCumilative)
Draw the data cumulatively from the first instance of time in data as time progresses. |
void |
setTimeOffset(double offset)
Draw time offset to overlay the data on a earlier or later time span. |
void |
setTimeOffsetUnits(int offsetUnits)
Draw time offset units. |
void |
setUseTime(boolean useTime)
Indicates whether use time for display. |
void |
setVisible(boolean visible)
Indicates whether the layer is visible as defined in the TOC (i.e. |
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 |
|---|
public LayerDescription()
throws IOException,
UnknownHostException
IOException - if there are interop problems
UnknownHostException - if there are interop problems
public LayerDescription(Object obj)
throws IOException
LayerDescription theLayerDescription = (LayerDescription) obj;
obj to LayerDescription.
obj - an object returned from ArcGIS Engine or Server
IOException - if there are interop problems| Method Detail |
|---|
public static String getClsid()
public boolean equals(Object o)
equals in class Objectpublic int hashCode()
hashCode in class Object
public int getID()
throws IOException,
AutomationException
ID is a unique identifier for a layer in a given instance of ArcGIS Server map service. It is important to note that ID, SourceID and the index of layers (see MapLayerInfos) in map document are not the same. SourceID is used for map service interaction with the GPServer.
When a map service is published, a unique ID is assigned to all layers within the original map document (.mxd) starting from 0 (zero). This ID is accessible from IMapServerObjects2, MapLayerInfo, LayerDescription, MapServerLegendInfo, MapServerIdentifyResult, MapServerFindResult and FeatureExtent.
ID is not re-usable and does not change if the order of the layer is changed. This would change the how each layer is ordered in the index of layers. Adding new a layer results in a new ID being assigned. IDs keep incrementing as new layers are added to the map service. The limit of id numbers available is the limit of Long data type.
Please note that if the layer order in the TOC of the original map is changed or if layers are added/removed, the IDs will change accordingly.
getID in interface ILayerDescriptiongetID in interface IMapTableDescriptionIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setID(int layerID)
throws IOException,
AutomationException
setID in interface ILayerDescriptionsetID in interface IMapTableDescriptionlayerID - The layerID (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isVisible()
throws IOException,
AutomationException
This property only reflects the layer's on/off state in the TOC. A layer's visibility property may be TRUE and the layer may still not be visible on the map. This occurs when a layer is marked "on" but is not drawn in the map display because its display is dependent on the scale of the map.
Use VisibleLayers on IMapImage to retrieve an array of layers that are both "on" in the TOC and visible in the map display.
You can also use MinScale and MaxScale on IMapLayerInfo2 to see if the layer has any scale dependencies and then use MapScale on IMapImage or ComputeScale on IMapServer2 to determine the map scale. If the map scale falls outside the specified scale range set for the layer, the layer will not display.
isVisible in interface ILayerDescriptionIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setVisible(boolean visible)
throws IOException,
AutomationException
setVisible in interface ILayerDescriptionvisible - The visible (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isScaleSymbols()
throws IOException,
AutomationException
In order for symbols to scale, the map must have a reference scale set and the layer must support symbol scaling. Use ScaleSymbols to activate or deactivate a layer's symbol scaling. If a map does not have a set reference scale setting, ScaleSymbols will have no effect. Use CanScaleSymbols on IMapLayerInfo2 to verify if a layer supports symbol scaling. A reference scale is set within the original map document.
You can set a new reference scale for the MapServer object by accessing the IMap interface through IMapServerObjects2. This should be done with objects in a non-pooled environment. Changing the state of pooled objects this way will lead to unexpected results.
isScaleSymbols in interface ILayerDescriptionIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setScaleSymbols(boolean scale)
throws IOException,
AutomationException
setScaleSymbols in interface ILayerDescriptionscale - The scale (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isShowLabels()
throws IOException,
AutomationException
This only applies to layers where the property HasLabels on IMapLayerInfo2 is TRUE. This means that the layer's labels must be "on" in the original map document.
isShowLabels in interface ILayerDescriptionIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setShowLabels(boolean show)
throws IOException,
AutomationException
setShowLabels in interface ILayerDescriptionshow - The show (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IFIDSet getSelectionFeatures()
throws IOException,
AutomationException
If you want to clear the selection, set SelectionFeatures to Null/Nothing. If you forget to do this, the previous selection will be added to the current selection.
getSelectionFeatures in interface ILayerDescriptionIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setSelectionFeatures(IFIDSet featureIDs)
throws IOException,
AutomationException
setSelectionFeatures in interface ILayerDescriptionfeatureIDs - A reference to a com.esri.arcgis.geodatabase.IFIDSet (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IColor getSelectionColor()
throws IOException,
AutomationException
The color with which selected features for this particular layer are drawn.
This property should be used when you want to apply a different selection color for an individual layer. If you wish to change the selection color for all layers you should use SelectionColor on IMapDescription2. If you wish to change the symbology of selected features you need to use SetSelectionSymbol and SelectionSymbol on the LayerDescription.
SelectionColor on ILayerDescription overrides SelectionColor on IMapDescription. If SetSelectionSymbol is set to TRUE, SelectionColor will not be applied. Instead, the selection color of the symbol you specify (SelectionSymbol) will be used.
getSelectionColor in interface ILayerDescriptionIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setSelectionColorByRef(IColor color)
throws IOException,
AutomationException
setSelectionColorByRef in interface ILayerDescriptioncolor - A reference to a com.esri.arcgis.display.IColor (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public ISymbol getSelectionSymbol()
throws IOException,
AutomationException
Use this property when you want something other than the default symbology to indicate selected features. For example, you want to use a star symbol to indicate selected point features. SelectionSymbol is only applied if SetSelectionSymbol is set to TRUE. Otherwise, default symbols are used.
Only ISimpleMarkerSymbol, ICharacterMarkerSymbol, IPictureMarkerSymbol, ISimpleLineSymbol and ISimpleFillSymbol, IPictureFillSymbol are supported when accessing a MapServer object through AGSServerConnection (LAN or internet).
getSelectionSymbol in interface ILayerDescriptionIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setSelectionSymbolByRef(ISymbol symbol)
throws IOException,
AutomationException
setSelectionSymbolByRef in interface ILayerDescriptionsymbol - A reference to a com.esri.arcgis.display.ISymbol (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isSetSelectionSymbol()
throws IOException,
AutomationException
This property should be set to TRUE if you wish to use something other than the default selection symbology. For example, you want to use a star symbol to indicate selected point features. If SetSelectionSymbol is set to TRUE, SelectionColor will not be applied. You will need to set the selection color as part of the properties of the new selection symbol object.
Only ISimpleMarkerSymbol, ICharacterMarkerSymbol, IPictureMarkerSymbol, ISimpleLineSymbol and ISimpleFillSymbol, IPictureFillSymbol are supported when accessing a MapServer object through AGSServerConnection (LAN or internet).
isSetSelectionSymbol in interface ILayerDescriptionIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setSetSelectionSymbol(boolean setSymbol)
throws IOException,
AutomationException
setSetSelectionSymbol in interface ILayerDescriptionsetSymbol - The setSymbol (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public double getSelectionBufferDistance()
throws IOException,
AutomationException
The selection buffer is based on Euclidian distance. The accuracy of the buffer is dependent on the spatial reference used in the map. An inappropriate spatial reference will result in inaccurate buffer distances. For best results, the map should be in an appropriate spatial reference.
In order to control the amount of information MapServer needs to process for a buffer, a maximum number of records to be buffered can be set. This value is contained in the MaxBufferCount property. The default value for this property is 100. If the number of features to be buffered exceeds MaxBufferCount no features will be buffered. The MaxBufferCount can also be changed by modifying the MaxRecordCount XML tag in the MapServer's configuration file.
getSelectionBufferDistance in interface ILayerDescriptionIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setSelectionBufferDistance(double distance)
throws IOException,
AutomationException
setSelectionBufferDistance in interface ILayerDescriptiondistance - The distance (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isShowSelectionBuffer()
throws IOException,
AutomationException
The selection buffer is based on Euclidian distance. The accuracy of the buffer is dependent on the spatial reference used in the map. An inappropriate spatial reference will result in inaccurate buffer distances. For best results, the map should be in an appropriate spatial reference.
In order to control the amount of information MapServer needs to process for a buffer, a maximum number of records to be buffered can be set. This value is contained in the MaxBufferCount property. The default value for this property is 100. If the number of features to be buffered exceeds MaxBufferCount no features will be buffered. The MaxBufferCount can also be changed by modifying the MaxRecordCount XML tag in the MapServer's configuration file.
isShowSelectionBuffer in interface ILayerDescriptionIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setShowSelectionBuffer(boolean show)
throws IOException,
AutomationException
setShowSelectionBuffer in interface ILayerDescriptionshow - The show (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public String getDefinitionExpression()
throws IOException,
AutomationException
A DefinitionExpression can be set on a layer in order to limit layer features available for display or query. This expression can be also be set in the source map document as a definition query. An expression set in the LayerDescription will override one set for the layer in the source map. This only applies for the session state and does not replace the definition query set in the source map.
Let's look at some examples. You have a layer in your map that represents sales regions. The layer includes fields: REGIONS, SALES and MANAGER.
Example #1: In the source map the layer has a definition query, "REGION = North". No DefintionExpression is specified in LayerDescription. Only those features where REGION = North will be displayed in your map.
Example #2: In the source map the layer has a definition query, "REGION = ‘North’". You apply a DefinitionExpression in LayerDescription as "SALES > 1000". The LayerDescription DefinitionExpression overrides the definition query set in the source map. Only those features where SALES > 1000 will be displayed in your map.
If you wish to use the DefinitionExpression as a way of getting a subset of the features already filtered by the definition query in the map you will need to save the original expression and then add it to the new expression to form one compound expression, “REGION = ‘North’ AND SALES > 1000”. This will display map features that are belong to the North region and have sales over 1000.
Example #3: In the source map the layer has no definition query. You apply a DefinitionExpression in LayerDescription as "SALES > 1000". Only those features where SALES > 1000 will be displayed in your map.
The following MapServer methods will honor DefinitionExpression: Find, Identify, QueryFeatureCount2, QueryFeatureIds2, QueryFeatureData2 and QueryHyperlinks2.
Although the DefinitionExpression set in the LayerDescription will override any any definition query set in the source map, there are MapServer methods that only honor the expression set in the source document. Any expression set in DefinitionExpression in the LayerDescription will be ignored. These mothods include: QueryFeatureCount, QueryFeatureIds, and QueryFeatureData. MapDescription, which contains the LayerDescriptions, are not a parameter for these methods.
DefinitionExpression does not affect spatial extents.
getDefinitionExpression in interface ILayerDescriptiongetDefinitionExpression in interface IMapTableDescriptionIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setDefinitionExpression(String expression)
throws IOException,
AutomationException
setDefinitionExpression in interface ILayerDescriptionsetDefinitionExpression in interface IMapTableDescriptionexpression - The expression (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public String getSourceID()
throws IOException,
AutomationException
SourceID is used for map service interaction with the GPServer. It is a unique job id assigned to a geoprocessing service each time it runs on the server. This property can be used to find out which geoprocessing job has created this layer.
It is important to note that LayerID, SourceID and the index of layers (see MapLayerInfos) in map document are not the same.
getSourceID in interface ILayerDescription2getSourceID in interface IMapTableDescriptionIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setSourceID(String srcID)
throws IOException,
AutomationException
setSourceID in interface ILayerDescription2setSourceID in interface IMapTableDescriptionsrcID - The srcID (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IFillSymbol getSelectionBufferSymbol()
throws IOException,
AutomationException
Use this property when you want something other than the default symbology to symbolize buffers. Only ISimpleMarkerSymbol, ICharacterMarkerSymbol, IPictureMarkerSymbol, ISimpleLineSymbol and ISimpleFillSymbol, IPictureFillSymbol are supported when accessing a MapServer object through AGSServerConnection (LAN or internet).
getSelectionBufferSymbol in interface ILayerDescription2IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setSelectionBufferSymbolByRef(IFillSymbol bufferSymbol)
throws IOException,
AutomationException
setSelectionBufferSymbolByRef in interface ILayerDescription2bufferSymbol - A reference to a com.esri.arcgis.display.IFillSymbol (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setLayerResultOptionsByRef(ILayerResultOptions layerResultOptions)
throws IOException,
AutomationException
setLayerResultOptionsByRef in interface ILayerDescription3layerResultOptions - A reference to a com.esri.arcgis.carto.ILayerResultOptions (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public ILayerResultOptions getLayerResultOptions()
throws IOException,
AutomationException
In some cases you may want to customize the results of a MapServer query - for example, when you want field names (instead of field aliases) or data in native format or in some cases you may want improve the performance by limiting or adjusting the geometry being returned.
Since LayerResultsOptions is part of of the LayerDescription, any settings made for LayerResultsOptions will only affect those methods that include the LayerDescription (or MapDescription which contains LayerDescriptions) as a parameter.
getLayerResultOptions in interface ILayerDescription3IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isUseTime()
throws IOException,
AutomationException
When UseTime is set to False, the layer or table becomes time unaware and time related operations will ignore any time related settings on this layer or table. For example, when UseTime=False for a layer, ExportMapImage will draw all features from this layer even when IMapTimeDescription's TimeValue is set.
isUseTime in interface IMapTableTimeDescriptionIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setUseTime(boolean useTime)
throws IOException,
AutomationException
setUseTime in interface IMapTableTimeDescriptionuseTime - The useTime (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isTimeDataCumulative()
throws IOException,
AutomationException
isTimeDataCumulative in interface IMapTableTimeDescriptionIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setTimeDataCumulative(boolean drawCumilative)
throws IOException,
AutomationException
setTimeDataCumulative in interface IMapTableTimeDescriptiondrawCumilative - The drawCumilative (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public double getTimeOffset()
throws IOException,
AutomationException
getTimeOffset in interface IMapTableTimeDescriptionIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setTimeOffset(double offset)
throws IOException,
AutomationException
setTimeOffset in interface IMapTableTimeDescriptionoffset - The offset (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public int getTimeOffsetUnits()
throws IOException,
AutomationException
getTimeOffsetUnits in interface IMapTableTimeDescriptionIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setTimeOffsetUnits(int offsetUnits)
throws IOException,
AutomationException
setTimeOffsetUnits in interface IMapTableTimeDescriptionoffsetUnits - A com.esri.arcgis.system.esriTimeUnits constant (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void serialize(IXMLSerializeData data)
throws IOException,
AutomationException
serialize in interface IXMLSerializedata - A reference to a com.esri.arcgis.system.IXMLSerializeData (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void deserialize(IXMLSerializeData data)
throws IOException,
AutomationException
deserialize in interface IXMLSerializedata - A reference to a com.esri.arcgis.system.IXMLSerializeData (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void isDirty()
throws IOException,
AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
isDirty in interface IPersistStreamIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void load(IStream pstm)
throws IOException,
AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
load in interface IPersistStreampstm - A reference to a com.esri.arcgis.system.IStream (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void save(IStream pstm,
int fClearDirty)
throws IOException,
AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
save in interface IPersistStreampstm - A reference to a com.esri.arcgis.system.IStream (in)fClearDirty - The fClearDirty (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
throws IOException,
AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
getSizeMax in interface IPersistStreampcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getClassID(GUID[] pClassID)
throws IOException,
AutomationException
IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.
getClassID in interface IPersistpClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void writeExternal(ObjectOutput out)
throws IOException
writeExternal in interface ExternalizableIOException
public void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException
readExternal in interface ExternalizableIOException
ClassNotFoundException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||