首页 > 代码库 > ArcGIS Engine中删除要素的几种方法总结

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);  }

 

ArcGIS Engine中删除要素的几种方法总结