ArcGIS Engine中如何获取Map中已经选择的要素呢(转)
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();
}
最新文章
- ORACLE关闭启动的诡异错误
- web 前端常用组件【05】ZTree
- linux 查看内存的插槽数
- 在 Java 中如何更高效地存储和管理 SQL 语句?
- Oracle 判断 并 手动收集 统计信息 脚本
- js实现数据流(日志流,报警信息等)滚动展示,并分页(含实现demo)
- POJ-3295 Tautology---栈+表达式求值
- Dynamics 365-关于BPF的进一步探究
- AD域 组策略部署U软件
- Linux 命令 —— iconv 转换编码
- 进程间通信IPC与Binder机制原理
- 实现虚拟机VMware上Centos操作系统与主机windows之间互相复制与粘贴
- MVC请求管道
- 自动交互安装服务应用,以redis为例
- day25类的组合多态封装
- mysql-1045(28000)错误
- 从Container内存监控限制到CPU使用率限制方案
- 【10.14】Bug Bounty Write-up总结
- windows7下安装python环境和django
- netstat 检测及监测网络连接
热门文章
- 多进程(了解):守护进程,互斥锁,信号量,进程Queue与线程queue(生产者与消费者模型)
- (二十八)static关键字
- 时间由yyyy-MM-dd HH:mm:ss专为yyyy-MM-dd
- linux上编写运行 dotnet core api
- 【转】C# Socket编程(4)初识Socket和数据流
- Django的CSRF机制
- Spring中类型自动装配--byType
- 5 数组 Swift/Object-C ——《Swift3.0从入门到出家》
- Oracle cursor_sharing 参数 详解
- A SQLiteConnection object for database '/data/data/.../databases/....db' was leaked!