獲取mdb下要素類FeatureClass,獨立要素類,沒有dataset獲取要素類
阿新 • • 發佈:2017-08-31
idata t對象 blank span 素數 string end all .get
1.通過IWorkspace的Datasets屬性獲取工作空間中的所有Dataset對象(IEnumDataset)
2.枚舉EnumDataset,獲取Dataset對象
3.如果該Dataset是FeatureDataset
4.QI到IFeatureClassContainer接口
for(int i=0;i < pFClContainer.ClassCount;i++)
{
IFeatureClass pFeatureClass= pFClContainer.Class(i);
IDataset pDataset = pFeatureClass as IDataset;
string pFeaClsName= pDataset.Name;
……
} -------------------------------------------- 另外 ----------------------------- 轉載自:http://blog.csdn.net/u011609113/article/details/52083451
轉載自:http://blog.sina.com.cn/s/blog_6faf711d0100za4x.html
獲取mdb數據庫要素類的名稱
整體思路如下:1.通過IWorkspace的Datasets屬性獲取工作空間中的所有Dataset對象(IEnumDataset)
2.枚舉EnumDataset,獲取Dataset對象
3.如果該Dataset是FeatureDataset
4.QI到IFeatureClassContainer接口
for(int i=0;i < pFClContainer.ClassCount;i++)
{
IFeatureClass pFeatureClass= pFClContainer.Class(i);
string pFeaClsName= pDataset.Name;
……
} -------------------------------------------- 另外 ----------------------------- 轉載自:http://blog.csdn.net/u011609113/article/details/52083451
有一些要素數據集是放到特定的要素數據集中的,而有些則直接位於工作空間中。如下圖。
獲取獨立於要素數據集的要素類很簡單,方法如下:
1 /// <summary> 2 /// 獲取獨立的要素類 3 /// </summary> 4 /// <param name="IN_SomeFeatureDataset">工作空間下任意一個要素數據集</param> 5 /// <param name="IN_FeatureClassName">獨立要素類的名稱</param> 6 /// <returns>找的的獨立要素類</returns> 7 private IFeatureClass PRV_GetIndependentFeatureClass(IFeatureDataset IN_SomeFeatureDataset,stringIN_FeatureClassName) 8 { 9 //獲取所有獨立的要素類 10 IEnumDataset Temp_AllIndependentFeatureClass=(IN_SomeFeatureDataset.Workspace.get_Datasets(esriDatasetType.esriDTFeatureClass)); 11 //獲取每一個獨立的要素類 12 IFeatureClass Each_IndependentFeatureClass = Temp_AllIndependentFeatureClass.Next() as IFeatureClass; 13 //遍歷所有要素類 14 while (Each_IndependentFeatureClass != null) 15 { 16 //如果找到了就返回 17 if (Each_IndependentFeatureClass.AliasName==IN_FeatureClassName) 18 return Each_IndependentFeatureClass; 19 } 20 return null; 21 }
獲取mdb下要素類FeatureClass,獨立要素類,沒有dataset獲取要素類