ArcEngine中使用IMap.FeatureSelection获取被选中的要素

  1. public void getSelectedFeature()    
  2.          
  3.            try    
  4.               
  5.             IMap map axMapControl1.Map;  
  6.             ISelection selection map.FeatureSelection;  
  7.             IEnumFeatureSetup iEnumFeatureSetup (IEnumFeatureSetup)selection;  
  8.             iEnumFeatureSetup.AllFields true 
  9.             IEnumFeature enumFeature (IEnumFeature)iEnumFeatureSetup;  
  10.             enumFeature.Reset();    
  11.             IFeature feature enumFeature.Next();    
  12.             while (feature != null   
  13.               
  14.                  string hehe feature.get_Value(5).ToString();  
  15.                  MessageBox.Show(hehe);  
  16.                feature enumFeature.Next();    
  17.                 
  18.               
  19.            catch (Exception e)    
  20.             
  21.             
  22.          

Feature和FeatureClass关系:

1、FeaturLayer是加载在地图文档中的数据层,只是要素类的表现形式;FeatureClass是一组空间实体的集合,在数据表中存储了统一的属性和行为,每一个FeatureClass都有一个Geometry类型,如shp文件;

2、IFeatureLayer继承自ILayer,IFeatureClass继承自IClass;

3、FeatureLayer可以创建自己的对象,而FeatureClass不行:

IFeatureClass=IFeatureLayer.FeatureClass 或者

IFeatureClass=IFeatureWorkspace.openFeatureClass("xx")


Feature是实现了Ifeature接口的实体类.它指要素类中的一个要素.
FeatureClass指要素类,FeatureLayer指要素图层,真正代表图层的还是FeatureClass,FeatureFLayer只是一个表层的东西,举个简单的例子,当某个图层的数据源丢失的时候,你就要去判断FeatureLayer.FeatureClass!=null ,
通过IfeatureClass.CreateFeature可以在要素类中创建一个要素,然后通过Store方法保存.

Feature和FeatureClass转换:IFeature pFeature = o as IFeature; IFeatureClass pFeatureClass = pFeature.Class as IFeatureClass;

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值