com.esri.arcgis.carto
Interface ILayerDescription3

All Superinterfaces:
ILayerDescription, ILayerDescription2, Serializable
All Known Implementing Classes:
LayerDescription

public interface ILayerDescription3
extends ILayerDescription2, Serializable

Provides access to the available properties of a layer description object.

Description

This interface is new at ArcGIS 9.3. It supersedes ILayerDescription and ILayerDescription2.

Remarks

Please note the difference of use between IMapLayerInfo and ILayerDescription: Use ILayerDescription to access layer settings that can be changed on the server object without changing the state of the underlying fine-grained ArcObjects that the layer is based on. MapLayerInfo is used to retrieve information about a layer that can only be changed by directly accessing the map document or the fine-grained ArcObjects it is based on.

In some cases you may want limit or adjust the geometry being returned in the find result. This can be done for performance reasons. Use ILayerResultOptions to manage this. If IncludeGeometry is set to False, FeatureShape returns nothing. This should increase performance in cases where feature geometry is large. You can also choose to densify or generalize the geometry returned in FeatureShape using GeometryResultOptions. Densification is used to better support clients that do not support Arcs (e.g. Bezier, Circular etc.). Generalization reduces the amount of geography being sent across the network and should lead to better performance. If LayerResultOptions are not specified for the LayerDescription, query results will include the original geometry.

Layer settings of the Server object can be permanently changed by accessing fine-grained ArcObjects. This is accomplished using IMapServerObjects. This should be done with objects in a non-pooled environment. Changing the state of pooled objects this way will lead to unexpected results. Changes made using IMapServerObjects reside in memory only. They affect only the instance of the map service being accessed. They do not change anything in the original map document (.mxd) saved on disk. These changes exist until the service is restarted or recycled.

Product Availability

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


Method Summary
 ILayerResultOptions getLayerResultOptions()
          Indicate whether to include and/or modify Geometry.
 void setLayerResultOptionsByRef(ILayerResultOptions layerResultOptions)
          Indicate whether to include and/or modify Geometry.
 
Methods inherited from interface com.esri.arcgis.carto.ILayerDescription2
getSelectionBufferSymbol, getSourceID, setSelectionBufferSymbolByRef, setSourceID
 
Methods inherited from interface com.esri.arcgis.carto.ILayerDescription
getDefinitionExpression, getID, getSelectionBufferDistance, getSelectionColor, getSelectionFeatures, getSelectionSymbol, isScaleSymbols, isSetSelectionSymbol, isShowLabels, isShowSelectionBuffer, isVisible, setDefinitionExpression, setID, setScaleSymbols, setSelectionBufferDistance, setSelectionColorByRef, setSelectionFeatures, setSelectionSymbolByRef, setSetSelectionSymbol, setShowLabels, setShowSelectionBuffer, setVisible
 

Method Detail

setLayerResultOptionsByRef

void setLayerResultOptionsByRef(ILayerResultOptions layerResultOptions)
                                throws IOException,
                                       AutomationException
Indicate whether to include and/or modify Geometry.

Product Availability

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

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

getLayerResultOptions

ILayerResultOptions getLayerResultOptions()
                                          throws IOException,
                                                 AutomationException
Indicate whether to include and/or modify Geometry.

Remarks

In some cases you may want limit or adjust the geometry being returned in the find result. This can be done for security or performance reasons. Use ILayerResultOptions to manage this. If IncludeGeometry is set to False, no geometry is returned (the default value for IncludeGeometry is True). This should increase performance in cases where feature geometry is large. You can also choose to densify or generalize the geometry returned in FeatureShape using GeometryResultOptions. Densification is used to better support clients that do not support Arcs (e.g. Bezier, Circular etc.). Generalization reduces the amount of geography being sent across the network and should lead to better performance. If LayerResultOptions are not specified for the LayerDescription, query results will include the original geometry.

Since LayerResultsOptions is part of of the LayerDescriptionany settings made for LayerResultsOptions will only affect those methods that include the LayerDescription (or MapDescription whcih contains LayerDescriptions) as a parameter. These include Find, Identify, QueryFeatureCount2, QueryFeatureIds2, QueryFeatureData2 and QueryHyperlinks. QueryHyperLinks always returns geometry regardless InlcudeGeometry’s value, but honors GeometryResultOptions.

Product Availability

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

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