c#+AE-属性查询之框选查询
来源:互联网 发布:java 写html table 编辑:程序博客网 时间:2024/05/22 01:36
属性查询是ArcGIS Engine二次开发中经常用到的基础功能,这里就以框选查询为例,介绍一下矢量图层的属性查询。
整个过程分为两部分,一是获取框选的要素,而是显示框选要素的属性值。
得到框选要素的方法代码如下:
/// <summary> /// 框选数据集 /// </summary> /// <param name="pFeatureLayer">操作图层</param> /// <returns></returns> private List<IFeature> RecSelectFetures(IFeatureLayer pFeatureLayer) { List<IFeature> pFeatures = new List<IFeature>(); if (pFeatureLayer != null) { IFeatureSelection pFeatureSelection = pFeatureLayer as IFeatureSelection; pFeatureSelection.Clear(); axMapControl1.Refresh(); IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass; IGeometry pGeometry = axMapControl1.TrackRectangle(); ISpatialFilter pSpatialFilter = new SpatialFilterClass(); pSpatialFilter.Geometry = pGeometry; pSpatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects; IFeatureCursor pFeatureCursor = pFeatureLayer.Search(pSpatialFilter, false); IFeature pFeature = pFeatureCursor.NextFeature(); pFeatureSelection.CombinationMethod = esriSelectionResultEnum.esriSelectionResultNew; while (pFeature != null) { pFeatureSelection.Add(pFeature); pFeatures.Add(pFeature); pFeature = pFeatureCursor.NextFeature(); } axMapControl1.ActiveView.Refresh(); } return pFeatures; }
获取并显示框选要素属性值的代码如下:
/// <summary> /// 返回数据源 /// </summary> /// <param name="pFeatureList">框选的数据集</param> /// <returns></returns> private DataTable AttributeShow(List<IFeature> pFeatureList) { DataTable pDataTable = new DataTable(); if (pFeatureList != null) { if (pFeatureList.Count > 0) { for (int i = 0; i < pFeatureList[0].Fields.FieldCount; i++) { DataColumn pDataColumn = new DataColumn(); pDataColumn.ColumnName = pFeatureList[0].Fields.get_Field(i).Name; pDataColumn.Caption = pFeatureList[0].Fields.get_Field(i).AliasName; pDataTable.Columns.Add(pDataColumn); } for (int j = 0; j < pFeatureList.Count; j++) { DataRow pDataRow = pDataTable.NewRow(); for (int k = 0; k < pDataTable.Columns.Count; k++) { int index=pFeatureList[j].Fields.FindField(pDataTable.Columns[k].ColumnName); if (index >= 0) { pDataRow[k] = pFeatureList[j].get_Value(index); } } pDataTable.Rows.Add(pDataRow); } } } return pDataTable; }
其实验效果如图:
0 0
- c#+AE-属性查询之框选查询
- AE属性查询(c#)
- C#+AE 实现点击查询属性功能
- vb+ae属性查询函数
- AE+C# SQL属性查询
- AE高效属性查询接口IWorkspace.ExecuteSQL
- AE学习笔记之空间查询
- AE查询过滤bug?
- AE查询 IQueryFilter ISpatialFilter
- AE中画点线面查询小结(C#)
- AE建立查询图层
- AE空间九关系查询
- AE的空间查询功能
- AE中地图查询方式
- AE中地图查询方式
- hibernate之HQL属性查询
- hibernate之HQL属性查询
- 属性查询
- Kafka源码深度解析-序列4 -Producer -network层核心原理
- Windows编程 DirectSound DirectMusic 音效和音乐
- BEGIN TRANSACTION (Transact-SQL)
- ctags 的一些实用细节!!
- android关于uses-permission权限列表
- c#+AE-属性查询之框选查询
- string 中 str.assign() 的用法
- 欢迎使用CSDN-markdown编辑器
- Android振动器的使用
- HDFS Truncate文件截断
- 配置RN的开发环境
- COMMIT TRANSACTION (Transact-SQL)
- Android 新出ConstraintLayout布局简介
- iOS之 UITableView 的数据源方法和代理方法总结