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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM