获取要素类
/// <summary>
/// 获取所有要素类
/// </summary>
/// <param name="featureDataset">要素集</param>
/// <returns>要素类列表</returns>
public static List<IFeatureClass> GetAllFeatureClass(IFeatureDataset featureDataset)
{
IFeatureClassContainer featureClassContainer = (IFeatureClassContainer)featureDataset;
IEnumFeatureClass enumFeatureClass = featureClassContainer.Classes;
IFeatureClass featureClass = enumFeatureClass.Next();
List<IFeatureClass> featureClassList = new List<IFeatureClass>();
while (featureClass != null)
{
featureClassList.Add(featureClass);
featureClass = enumFeatureClass.Next();
}
return featureClassList;
}
/// <summary>
/// 获取要素类
/// </summary>
/// <param name="featureDataset">要素数据集</param>
/// <param name="featureClassName">要素类名称</param>
/// <returns>要素类对象</returns>
public static IFeatureClass GetFeatureClass(IFeatureDataset featureDataset, string featureClassName)
{
IFeatureClassContainer featureClassContainer = (IFeatureClassContainer)featureDataset;
IEnumFeatureClass enumFeatureClass = featureClassContainer.Classes;
IFeatureClass featureClass = enumFeatureClass.Next();
while (featureClass != null)
{
if (featureClass.AliasName == featureClassName)
{
return featureClass;
}
featureClass = enumFeatureClass.Next();
}
return null;
}
/// <summary>
/// 根据名称获取要素类对象
/// </summary>
/// <param name="gdbPath">gdb路径</param>
/// <param name="datasetName">要素数据集</param>
/// <param name="featureClassName">要素类名称</param>
/// <returns>IFeatureClass对象</returns>
public static IFeatureClass GetFeatureClass(string gdbPath, string datasetName, string featureClassName)
{
IFeatureDataset featureDataset = GetDataSet(gdbPath, datasetName);
IFeatureClassContainer featureClassContainer = (IFeatureClassContainer)featureDataset;
IEnumFeatureClass enumFeatureClass = featureClassContainer.Classes;
IFeatureClass featureClass = enumFeatureClass.Next();
while (featureClass != null)
{
if (featureClass.AliasName == featureClassName)
{
return featureClass;
}
featureClass = enumFeatureClass.Next();
}
return null;
}

浙公网安备 33010602011771号