com.esri.arcgis.carto
Interface IGeoFeatureLayer

All Superinterfaces:
IFeatureLayer, ILayer, Serializable
All Known Implementing Classes:
CadastralFabricSubLayer, CadFeatureLayer, FeatureLayer, GdbRasterCatalogLayer, IGeoFeatureLayerProxy, TemporalFeatureLayer

public interface IGeoFeatureLayer
extends IFeatureLayer, Serializable

Provides access to members that control geographic aspects of a feature layer.

Description

Provides access to symbolization and labeling properties for layers based on vector geographic data. Also provides a method for returning a read-only feature cursor of layer features that includes joined fields.

Remarks

IGeoFeatureLayer inherits from IFeatureLayer, and IFeatureLayer in turn inherits from ILayer. This means when you are working with a layer through IGeoFeatureLayer, that all of the properties and methods of IFeatureLayer and ILayer are directly available.

Product Availability

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

See Also:
IFeatureLayer, ILayer

Method Summary
 IAnnotateLayerPropertiesCollection getAnnotationProperties()
          Annotation properties.
 IUID getAnnotationPropertiesID()
          The UID used for annotation properties.
 IFeatureClass getDisplayFeatureClass()
          Feature class used for display operations (may include joined fields).
 IFeatureIDSet getExclusionSet()
          The set of features that are excluded from drawing.
 IFeatureRenderer getRenderer()
          Renderer used to draw the layer.
 IUID getRendererPropertyPageClassID()
          Class id of the property page for the renderer.
 boolean isDisplayAnnotation()
          Indicates if the layer displays annotation.
 IFeatureCursor searchDisplayFeatures(IQueryFilter queryFilter, boolean recycling)
          Creates a cursor from the display feature class based upon the search criteria.
 void setAnnotationProperties(IAnnotateLayerPropertiesCollection props)
          Annotation properties.
 void setAnnotationPropertiesIDByRef(IUID uid)
          The UID used for annotation properties.
 void setCurrentMapLevel(int rhs1)
          Current map level for drawing symbols.
 void setDisplayAnnotation(boolean value)
          Indicates if the layer displays annotation.
 void setExclusionSetByRef(IFeatureIDSet fIDs)
          The set of features that are excluded from drawing.
 void setRendererByRef(IFeatureRenderer renderer)
          Renderer used to draw the layer.
 void setRendererPropertyPageClassID(IUID clsid)
          Class id of the property page for the renderer.
 
Methods inherited from interface com.esri.arcgis.carto.IFeatureLayer
getDataSourceType, getDisplayField, getFeatureClass, isScaleSymbols, isSelectable, search, setDataSourceType, setDisplayField, setFeatureClassByRef, setScaleSymbols, setSelectable
 
Methods inherited from interface com.esri.arcgis.carto.ILayer
draw, getAreaOfInterest, getMaximumScale, getMinimumScale, getName, getSupportedDrawPhases, getTipText, isCached, isShowTips, isValid, isVisible, setCached, setMaximumScale, setMinimumScale, setName, setShowTips, setSpatialReferenceByRef, setVisible
 

Method Detail

getRenderer

IFeatureRenderer getRenderer()
                             throws IOException,
                                    AutomationException
Renderer used to draw the layer.

Description

Specifies the layer's feature renderer object which determines how a layer draws.

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.IFeatureRenderer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRendererByRef

void setRendererByRef(IFeatureRenderer renderer)
                      throws IOException,
                             AutomationException
Renderer used to draw the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getRendererPropertyPageClassID

IUID getRendererPropertyPageClassID()
                                    throws IOException,
                                           AutomationException
Class id of the property page for the renderer.

Description

The classID of the renderer property page that is used to edit the renderer of the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setRendererPropertyPageClassID

void setRendererPropertyPageClassID(IUID clsid)
                                    throws IOException,
                                           AutomationException
Class id of the property page for the renderer.

Description

RendererPropertyPageClassID is the classID of the render property page that is associated with the render of a IGeoFeatureLayer

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isDisplayAnnotation

boolean isDisplayAnnotation()
                            throws IOException,
                                   AutomationException
Indicates if the layer displays annotation.

Description

Indicates whether dynamic labeling is on for the layer. Use this property to see if labeling is on for a layer, or to toggle labeling on or off.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setDisplayAnnotation

void setDisplayAnnotation(boolean value)
                          throws IOException,
                                 AutomationException
Indicates if the layer displays annotation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getAnnotationPropertiesID

IUID getAnnotationPropertiesID()
                               throws IOException,
                                      AutomationException
The UID used for annotation properties.

Description

Indicates the CLSID of the labeling properties used to label the layer.

Remarks

ArcGIS provides two engines that can be used for labeling, the ESRI Standard Labeling Engine and the ESRI Maplex Labeling Engine.

You can use AnnotationPropertiesID determine which engine is being used by the layer to label features.

ESRI Standard Labeling Engine: GUID for LabelEngineLayerProperties = "{01004145-0D1C-11D2-A26F-080009B6F22B}"
ESRI Maplex Labeling Engine: GUID for MaplexLabelEngineLayerProperties = "{20664808-0D1C-11D2-A26F-080009B6F22B}"

You should not set this property. The labeling engine set for the map controls how each layer in the map will be labeled. To set this use IMap::AnnotationEngine. When the label engine is changed, the label properties of the all layers in the map will automatically be changed to properties of the new label engine.

If have a standalone layer that is not in a map, you can translate the properties to the other label engine by using IAnnotationPropertiesConverter on the coclass MaplexAnnotationPropertiesConverter.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setAnnotationPropertiesIDByRef

void setAnnotationPropertiesIDByRef(IUID uid)
                                    throws IOException,
                                           AutomationException
The UID used for annotation properties.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getAnnotationProperties

IAnnotateLayerPropertiesCollection getAnnotationProperties()
                                                           throws IOException,
                                                                  AutomationException
Annotation properties.

Description

Provides access to the labeling properites for the layer.

Remarks

A feature layer's labeling properties are accessed via this property which returns a collection. Each item in the collection is an IAnnotateLayerProperties object that represents a label class. To learn more, see IAnnotateLayerProperties.

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.IAnnotateLayerPropertiesCollection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAnnotationProperties

void setAnnotationProperties(IAnnotateLayerPropertiesCollection props)
                             throws IOException,
                                    AutomationException
Annotation properties.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setCurrentMapLevel

void setCurrentMapLevel(int rhs1)
                        throws IOException,
                               AutomationException
Current map level for drawing symbols.

Remarks

When symbol level drawing is used, this property is used by the framework to communicate to a layer what the current symbol level being drawn is. Priori to ArcGIS 9.0 this was the only method by which this could be communicated to a layer. At ArcGIS 9.0 and later versions, IMapLevel::MapLevel can be used for this. IMapLevel is implemented by more layers than IGeoFeatureLayer, so a layer that does not participate in symbol level drawing, for example a RasterLayer, can still know the current symbol level.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getExclusionSet

IFeatureIDSet getExclusionSet()
                              throws IOException,
                                     AutomationException
The set of features that are excluded from drawing.

Description

Provides access to the set of features that are exluded from drawing for a layer. In ArcMap, features are added to this set when you convert features to graphics, and you can resume drawing these features, thereby removing them from the ExclusionSet, by using the Layer Properties dialog's Display tab.

When you use IDataExclusion to exclude features from drawing for a feature renderer, the excluded features will not show up in the layer's ExclusionSet.

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.IFeatureIDSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExclusionSetByRef

void setExclusionSetByRef(IFeatureIDSet fIDs)
                          throws IOException,
                                 AutomationException
The set of features that are excluded from drawing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getDisplayFeatureClass

IFeatureClass getDisplayFeatureClass()
                                     throws IOException,
                                            AutomationException
Feature class used for display operations (may include joined fields).

Description

Provides access to an IFeatureClass object that contains joined fields if present on the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

searchDisplayFeatures

IFeatureCursor searchDisplayFeatures(IQueryFilter queryFilter,
                                     boolean recycling)
                                     throws IOException,
                                            AutomationException
Creates a cursor from the display feature class based upon the search criteria.

Remarks

SearchDisplayFeatures works like IFeatureLayer::Search with the added behavior that it will work on joined fields if you qualify field names. For example, if you want to search a field called "Pop1990" from a joined table called "Demog", you should used "Demog.Pop1990" for the field name in the query filter used in the search method.

The IDisplayTable::SearchDisplayTable method is a similar search method which will work on feature layers as well as other types of layers and standalone tables. If you want your code to be generic enough to work on different types of layers, you should use IDisplayTable::SearchDisplayTable.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
recycling - The recycling (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureCursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.