ArcGIS Engine中删除要素的几种方法总结
转自原文 ArcGIS Engine中删除要素的几种方法总结
/// <summary> /// 通过IFeature.Delete方法删除要素 /// </summary> /// <param name="pFeatureclass">要素类</param> /// <param name="strWhereClause">查询条件</param> public static void DeleteFeatureByIFeature(IFeatureClass pFeatureclass, string strWhereClause) { IQueryFilter pQueryFilter = new QueryFilterClass(); pQueryFilter.WhereClause = strWhereClause; IFeatureCursor pFeatureCursor = pFeatureclass.Search(pQueryFilter, false); IFeature pFeature = pFeatureCursor.NextFeature(); while (pFeature != null) { pFeature.Delete(); pFeature = pFeatureCursor.NextFeature(); } } /// <summary> /// 通过IFeatureCursor.DeleteFeature方法删除要素 /// </summary> /// <param name="pFeatureclass">要素类</param> /// <param name="strWhereClause">查询条件</param> public static void DeleteFeatureByIFeatureCursor(IFeatureClass pFeatureclass, string strWhereClause) { IQueryFilter pQueryFilter = new QueryFilterClass(); pQueryFilter.WhereClause = strWhereClause; IFeatureCursor pFeatureCursor = pFeatureclass.Update(pQueryFilter, false); IFeature pFeature = pFeatureCursor.NextFeature(); while (pFeature != null) { pFeatureCursor.DeleteFeature(); pFeature = pFeatureCursor.NextFeature(); } } /// <summary> /// 通过ITable.DeleteSearchedRows方法删除要素 /// </summary> /// <param name="pFeatureclass">要素类</param> /// <param name="strWhereClause">查询条件</param> public static void DeleteFeatureByITable(IFeatureClass pFeatureclass, string strWhereClause) { IQueryFilter pQueryFilter = new QueryFilterClass(); pQueryFilter.WhereClause = strWhereClause; ITable pTable = pFeatureclass as ITable; pTable.DeleteSearchedRows(pQueryFilter); }
你们的评论、反馈,及对你们有所用,是我整理材料和博文写作的最大的鼓励和唯一动力。欢迎讨论和关注!
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。