using ESRI.ArcGIS.Geodatabase; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; namespace Kingo.RuleCheck.AEHelper { public interface IFeatureClassAPI { IFeatureClass FeatureClass { get; } /// /// 关闭/释放要素类 /// bool CloseFeatureClass(); /// /// 通过条件过滤筛选要素 /// List QueryFeatures(IQueryFilter pQueryFilter); /// /// 空间过滤筛选要素 /// /// 筛选条件 /// 是否裁切图形 /// List SpatialFilterQueryFeatures(ISpatialFilter pFilter, bool IsCut = false); /// /// 根据筛选条件查询要素到DataTable /// /// 筛选条件 /// 查询数据条数 /// 输出结果 /// 满足筛选条件的总数据量 int QueryFeaturesToDataTable(IQueryFilter pQueryFilter, int pQueryCount, out DataTable pResult); /// /// 通过OID获取要素 /// IFeature GetFeature(int OID); /// /// 添加要素 /// bool AddFeature(IFeature pFeature); /// /// 添加要素并返回 /// /// /// IFeature AddFeatureAndReturn(ESRI.ArcGIS.Geodatabase.IFeature pFeature); /// /// 添加要素 /// /// 字段、值集合 /// bool AddFeature(List pDicData); /// /// 获取所有字段 /// /// List GetFields(); /// /// 更新要素 /// bool UpdateFeature(IFeature pFeature); /// /// 删除要素 /// /// 要素ID /// bool DelFeatures(int OID); /// /// 添加字段 /// bool AddField(IField pField); /// /// 添加字段 /// bool AddField(string pFieldName, esriFieldType pFieldType, string pAliasName); /// /// 删除字段 /// bool DeleteField(string pFieldName); /// /// 重命名要素类 /// /// 修改后的要素类名称 bool RenameFeatureClass(string newName); /// /// 将数据拷贝到目标要素类中 /// /// 目标要素类 /// 过滤条件 /// 是否裁剪 bool FcToFc(IFeatureClass pFc, IQueryFilter pFilter, bool pIsCut); } }