- 判断要素集
private bool IWorkspaceIsExistDataset(IWorkspace pWorkspace, string strname)
{
IEnumDataset pEnumDataset = pWorkspace.get_Datasets(esriDatasetType.esriDTFeatureDataset);
pEnumDataset.Reset();
IDataset pDataset = pEnumDataset.Next();
bool ExistDataset = false;
while (pDataset != null)
{
if (pDataset.Name == strname)
{
ExistDataset = true;
break;
}
pDataset = pEnumDataset.Next();
}
return ExistDataset;
}
- 判断要素类
private bool IWorkspaceIsExistDataset(IWorkspace pWorkspace, string strname)
{
IEnumDatasetName pEnumDatasetName = pWorkspace.get_DatasetNames(esriDatasetType.esriDTFeatureClass);
pEnumDatasetName.Reset();
IDatasetName pDatasetName = pEnumDatasetName.Next();
bool ExistDataset = false;
while (pDatasetName != null)
{
if (pDatasetName.Name == strname)
{
ExistDataset = true;
break;
}
pDatasetName = pEnumDatasetName.Next();
}
return ExistDataset;
}
- 判断要素类是否在要素集中
private bool IWorkspaceIsExistDatasetFeatureClass(IWorkspace pWorkspace, string strname)
{
IEnumDataset pEnumDataset = pWorkspace.get_Datasets(esriDatasetType.esriDTFeatureDataset);
IFeatureDataset featureDataset = pEnumDataset.Next() as IFeatureDataset;
bool ExistDataset = false;
while (featureDataset != null)
{
IFeatureClassContainer featureClassContainer = (IFeatureClassContainer)featureDataset;
IEnumFeatureClass enumFeatureClass = featureClassContainer.Classes;
IFeatureClass featureClass = enumFeatureClass.Next();
while (featureClass != null)
{
if (featureClass.AliasName == strname)
{
ExistDataset = true;
break;
}
featureClass = enumFeatureClass.Next();
}
featureDataset = pEnumDataset.Next() as IFeatureDataset;
}
return ExistDataset;
}
- 判断要素类是否在要素集中
private bool IWorkspaceIsExistDatasetFeatureClass(IWorkspace pWorkspace, string strname)
{
IEnumDataset pEDataset = pWorkspace.get_Datasets(esriDatasetType.esriDTAny);
IDataset pDataset = pEDataset.Next();
bool ExistDataset = false;
while (pDataset != null)
{
if (pDataset.Type == esriDatasetType.esriDTFeatureClass)
{
if (pDataset.Name == strname)
{
ExistDataset = true;
break;
}
}
else if (pDataset.Type == esriDatasetType.esriDTFeatureDataset)
{
IEnumDataset pESubDataset = pDataset.Subsets;
IDataset pSubDataset = pESubDataset.Next();
while (pSubDataset != null)
{
if (pSubDataset.Name == strname)
{
ExistDataset = true;
break;
}
pSubDataset = pESubDataset.Next();
}
}
pDataset = pEDataset.Next();
}
return ExistDataset;
}