ArcEngine的IFeaturLayer接口(转载)

访问一个要素图层常见内容
访问一个基于矢量图形数据图层的属性和方法,图层的数据可以是gedatabase,shapefile或coverage数据。
成员
AreaOfInterest 图层的默认兴趣区域。
Cached 指出图层是否需要其自己的显示缓存。
DataSourceType 数据源类型。
DisplayField 主要的显示字段。
Draw 按照给定的phase将layer绘制到特定的display上。
FeatureClass 图层的feature class。
MaximumScale 图层显示的最大比例尺。
MinimumScale 图层显示的最小比例尺。
Name 图层名称。
ScaleSymbols指出符号是否随图层比例尺变化。
Selectable 指出图层是否可选。
ShowTips 指出图层是否显示map tips。
SpatialReference 图层的空间参考。
SupportedDrawPhase 支持的绘制模式。
TipText 指定位置的Map tip text。
Valid 指出是否有效。
Visible 指出图层是否可视。
继承的接口
ILayer 访问所有图层的成员
实现IFeatureLayer的类
CadAnnotationLayer ESRI Cad annotation图层。
CadFeatureLayer ESRI CAD要素图层类
CoverageAnnotationLayer ESRI coverage annotation图层。
DimensionLayer dimension图层的属性集合。
FDOGraphicsLayer annotation图层的属性集合(要素数据对象graphics图层)
FeatureLayer 要素集合和它们的可视化表达。
GdbRasterCatalogLayer Geodatabase RasterCatalog数据源和显示选项。
IMSSubFeatureLayer IMS Sub-FeatureLayer类。
MADtedLayer() 用来控制MADTED目录显示的图层。
MARasterLayer() 用来控制MARPF目录显示的图层。
TmporalFeatureLayer(TrackingAnalyst) 定义TemporalFeatureLayer COM对象的组件类IDL参数和属性。
 这个接口具有指定图层要素类、数据源类型、主显示字段、是否基于相对比例按比例显示符号及图层是否可选的属性。
 图层上有一个执行搜索的方法Search。这个方法返回一个满足给定搜索条件的要素的cursor。如果图层定义了一个查询设置,搜索方法将在满足条件的要素子集中搜索。搜索方法在连接字段上不起作用。如果feature layer有连接,就要使用IGeoFeatureLayer::SearchDisplayFeatures方法。
 IGeoFeatureLayerIGeoFeatureLayer可以访问IFeatureLayer的所有属性和方法,另外还有访问图层要素渲染器和标签的属性。相对于IFeatureLayer,少数layer类型支持IGeoFeatureLayer。
几种常见成员
DataSourceType
[Visual Basic.NET] Public Property DataSourceType As String
[C#]        public string DataSourceType{get;set;}
 描述了feature layer引用的数据类型。在ArcMap和ArcCatalog中,在ArcMap和ArcCatalog中,这个描述出现在图层属性对话框的Source选项卡上的“Data Type”后。
 默认情况下图层的DataSourceType和IDataset::Category值搭配,可以将图层的DataSourceType设置成任何字符串。
[Visual Basic.NET] Public Function Search(ByVal queryFilter As IQueryFilter,ByVal recycling As Boolean) As IFeatureCursor
[C#]        public IFeatureCursor Search(IQueryFilter queryFilter,bool recycling);
 如果图层定义了一个查询设置,搜索方法将在满足条件的要素子集中搜索。可以指定一个IQueryFilter对象作为参数进行查询。
 这个Search方法在连接字段上不起作用。如果要素图层有连接,使用IGeoFeatureLayer::SearchDisplayFeatures方法代替。
 不能使用IFeatureLayer::Search来更新要素,而应使用IFeatureClass::Update代替。
 Recycling指定结果要素cursor是recycling或non-recycling。True代表recycling cursor,False代表non-recycling cursor。

IFeaturLayer Example
Sub AddLayer()
‘从shapefile创建一个FeatureLayer,并将其添加到ArcMap的map中
Dim pShWksFact As IWorkspaceFactory
Dim pFeatWks As IFeatureWorkspace
Dim pFeatLayer As IFeatureLayer
Dim pDataSet As IDataset
Dim pMxDoc As IMxDocument
Dim pMap As IMap
Set pShpWksFact=New ShapefileWorkspaceFactory
Set pFeatwks=pShpWksFact.OperFromFile("D:\Data\CentreCounty",0)
Set pFeatClass=pFeatWks.OpenFeatureClass("roads")
Set pFeatLayer=New FeatureLayer
Set pFeatLayer.FeatureClass=pFeatClass
Set pDataSet=pFeatClass
pFeatLayer.Name=pDataset.Name
Set pMxDoc=Application.Document
Set pMap=pMxDoc.FocusMap
pMap.AddLayer pFeatLayer
End Sub

转载自http://www.cnblogs.com/hehewoya/archive/2009/11/29/1613251.html

原文地址:https://www.cnblogs.com/atravellers/p/1647610.html