ArcGIS Engine中如何获取Map中已经选择的要素呢

 

1、使用IEnumFeturea对象获取map中的FeatureSelection,该方法可以获取所有图层的选择要素。IMap中的FeatureSelection可不是IFeatureSelection,而是ISelection。

2、使用ISelectionSet,IEnumIDs,FeatureClass.GetFeature()方法获取某个图层中的选择要素

在map中获取要素时,这样是可以的,不过不能得到要素的完整属性信息,貌似只能拿到ID值。

ISelection pSelection = pMap.FeatureSelection;

IEnumFeature enumFeature = pSelection asIEnumFeature;

IFeature feature = enumFeature.Next();

while (feature != null)

{

array.Add(feature);

feature=enumFeature.Next();

}

那如果要得到完整的属性信息怎么办呢?IEnumFeatureSetup起到大作用了。如下所示:

ISelection selection = pMap.FeatureSelection;

IEnumFeatureSetup enumFeatureSetup = selection as IEnumFeatureSetup;    //这里很必要

enumFeatureSetup.AllFields = true;                                      //这里很必要

IEnumFeature enumFeature = enumFeatureSetup as IEnumFeature;

enumFeature.Reset();

IFeature feature = enumFeature.Next();

while (feature != null)

{

stringvalue = feature.get_Value(index).ToString();//就可以得到任意字段的值了

feature = enumFeature.Next();

}

最新文章

  1. ORACLE关闭启动的诡异错误
  2. web 前端常用组件【05】ZTree
  3. linux 查看内存的插槽数
  4. 在 Java 中如何更高效地存储和管理 SQL 语句?
  5. Oracle 判断 并 手动收集 统计信息 脚本
  6. js实现数据流(日志流,报警信息等)滚动展示,并分页(含实现demo)
  7. POJ-3295 Tautology---栈+表达式求值
  8. Dynamics 365-关于BPF的进一步探究
  9. AD域 组策略部署U软件
  10. Linux 命令 —— iconv 转换编码
  11. 进程间通信IPC与Binder机制原理
  12. 实现虚拟机VMware上Centos操作系统与主机windows之间互相复制与粘贴
  13. MVC请求管道
  14. 自动交互安装服务应用,以redis为例
  15. day25类的组合多态封装
  16. mysql-1045(28000)错误
  17. 从Container内存监控限制到CPU使用率限制方案
  18. 【10.14】Bug Bounty Write-up总结
  19. windows7下安装python环境和django
  20. netstat 检测及监测网络连接

热门文章

  1. 多进程(了解):守护进程,互斥锁,信号量,进程Queue与线程queue(生产者与消费者模型)
  2. (二十八)static关键字
  3. 时间由yyyy-MM-dd HH:mm:ss专为yyyy-MM-dd
  4. linux上编写运行 dotnet core api
  5. 【转】C# Socket编程(4)初识Socket和数据流
  6. Django的CSRF机制
  7. Spring中类型自动装配--byType
  8. 5 数组 Swift/Object-C ——《Swift3.0从入门到出家》
  9. Oracle cursor_sharing 参数 详解
  10. A SQLiteConnection object for database '/data/data/.../databases/....db' was leaked!