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