arcgis engine 按照属性选择要素

您所在的位置:网站首页 成都市气温曲线和降水柱状图 arcgis engine 按照属性选择要素

arcgis engine 按照属性选择要素

2024-01-10 13:35| 来源: 网络整理| 查看: 265

arcgis engine 按照属性选择要素

前言 条件过滤主要用到IQueryFilter接口,其SubFields属性用于过滤指定的字段;WhereClause用于过滤指定的sql语句; 一、按照属性选择要素主要步骤: 1、由ILayer获取图层名; 2、由指定的图层名,获取图层要素IFeatureLayer 3、由指定的字段名设置IQueryFilter 4、由IFeatureLayer获取IFeatureClass,进而获得该图层属性表中的所有字段IFields以及IFeatureCursor 5、由字段名获取属性表中一个字段IField 6、由IFeatureCursor获得IDataStatistics 7、由IDataStatistics的UniqueValues属性得到IEnumerator 8、由IEnumerator得到字段的所有值 9、根据以上步骤获得属性过滤条件,字段=字段值 10、根据属性过滤条件设置IQueryFilter 11、根据IFeatureSelection选择指定属性过滤条件的要素。

二、下面代码是根据过滤条件,选择要素的方法:

private void SelectFeatureByFilter() { IFeatureSelection pFeatureSelection = currentFeatureLayer as IFeatureSelection; IQueryFilter pQueryFilter = new QueryFilterClass(); pQueryFilter.WhereClause = txtSelectResult.Text;//过滤条件,查询表达式 IActiveView pActiveView = currentMap as IActiveView; switch (comBoxSelectMethod.SelectedIndex) { case 0: currentMap.ClearSelection(); pFeatureSelection.SelectFeatures(pQueryFilter, esriSelectionResultEnum.esriSelectionResultNew,false); break; case 1: currentMap.ClearSelection(); pFeatureSelection.SelectFeatures(pQueryFilter, esriSelectionResultEnum.esriSelectionResultAdd,false); break; case 2: currentMap.ClearSelection(); pFeatureSelection.SelectFeatures(pQueryFilter, esriSelectionResultEnum.esriSelectionResultSubtract,false); break; case 3: currentMap.ClearSelection(); pFeatureSelection.SelectFeatures(pQueryFilter, esriSelectionResultEnum.esriSelectionResultAnd,false); break; default: currentMap.ClearSelection(); pFeatureSelection.SelectFeatures(pQueryFilter, esriSelectionResultEnum.esriSelectionResultNew,false); break; } pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, pActiveView.Extent); }

三、运行界面及结果 在这里插入图片描述 参考: http://blog.sciencenet.cn/blog-3373120-1110830.html Arcgis官方构建查询表达式方法: https://resources.arcgis.com/zh-cn/help/main/10.2/index.html#/na/00s50000002t000000/



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3