arcgis engine 按照属性选择要素 |
您所在的位置:网站首页 › 成都市气温曲线和降水柱状图 › arcgis engine 按照属性选择要素 |
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); }三、运行界面及结果 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |