Java讀取工作空間下所有shp文件名

List lists = new ArrayList();
IWorkspaceFactory factory = new ShapefileWorkspaceFactoryClass();
IWorkspace pworkspace = factory.OpenFromFile(xmlOutDir, 0);
IEnumDatasetName datasetName = pworkspace.getDatasetNames(esriDatasetType.esriDTFeatureClass); //篩選出shp
IDatasetName shpdatasetName = datasetName.Next(); //獲取的數據集名稱無後綴名
while (shpdatasetName != null)
{
lists.add(shpdatasetName.getName());
shpdatasetName = datasetName.Next();
}


tips:

  • getDatasetNames(int datasetType);同理getDatasets(int datasetType);
  • 主要用到esriDatasetType.esriDTFeatureClass//篩選文件類型

附上佳作:
http://blog.csdn.net/yaoxiaochuang/article/details/47720325


拓展:
Feature classes
存儲了簡單的要素,他可以在featureDataset內也可以在dataet外,在外面的featureclass被稱作獨立的
featureclass。存儲了拓撲關係的featureclass必須包含在dataset中以確保他們是統一的空間索引(spatial
reference)。
一個
FeatureDataset是一個僅存在於geodatabase工作空間的dataset。他的所有dataset都是geodatabase的一部分.當編程時記得featureclass可能是或不是一個featuredataset的一部分。
一個geodatabase的每一個dataset都必須有獨一無二的名字
。特別是在一個geodatabase中,每個featureclass也必須有一個獨一無二的名字,無論它存在於那個dataset。這不同於文件系統,兩個文件夾可以有同一個名字的文件。
一個workspace的IFeatureWorkspace
接口的OpenFeatureClass方法
能夠打開這個works脾氣所有的featureclass。包括獨立的featureclass和存儲在featuredataset中featureclass。
另外一個 FeatureDataset
存儲的featureclass都是同一個空間索引。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章