Geodatabase - 打开要素类

 1 string dbPath = @"G:\doc\gis\1.400\data\pdb.mdb";
 2 ESRI.ArcGIS.Geodatabase.IWorkspaceFactory wsf = new ESRI.ArcGIS.DataSourcesGDB.AccessWorkspaceFactoryClass();
 3 ESRI.ArcGIS.Geodatabase.IWorkspace ws = wsf.OpenFromFile(dbPath, 0);
 4 ESRI.ArcGIS.Geodatabase.IEnumDataset eds = ws.get_Datasets(ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTAny);
 5 ESRI.ArcGIS.Geodatabase.IDataset ds = null;
 6 while ((ds = eds.Next()) != null) {
 7     //要素类.
 8     if (ds.Type == ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTFeatureClass)
 9         MessageBox.Show(ds.Name);
10     //要素数据集.
11     else if (ds.Type == ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTFeatureDataset) {
12         ESRI.ArcGIS.Geodatabase.IEnumDataset subEDS = ds.Subsets;
13         ESRI.ArcGIS.Geodatabase.IDataset sds;
14         while ((sds = subEDS.Next()) != null) {
15         MessageBox.Show("sub:" + sds.Name);
16         }
17     }
18     else {
19
20     }
21 }
时间: 2024-08-05 11:14:02

Geodatabase - 打开要素类的相关文章

Geodatabase - 创建要素类.

在NET中,会遇到以“_2”结尾的属性,这些属性是可写的. 以下代码在已有工作空间下,创建一个新的点要素类: 1 //例如,[email protected]"G:\doc\gis\1.400\data\pdb.mdb", featureClassName="newF" 2 public void CreateFeatureClass(string personalDBPath, string featureClassName) { 3 //创建点类型. 4 //空

Geodatabase - 打开栅格数据

打开栅格数据 和打开要素类的方式类似,打开栅格数据集需要用 IRasterWorkspace,如 1 //获得栅格工作空间(普通目录). 2 public ESRI.ArcGIS.DataSourcesRaster.IRasterWorkspace GetRasterWorkspace(string rasterWorkspacePath) { 3 ESRI.ArcGIS.Geodatabase.IWorkspaceFactory wsf = new ESRI.ArcGIS.DataSource

arcengine 要素类的复制

转自原文arcengine 要素类的复制 using System; using System.Collections.Generic; using System.Text; using ESRI.ArcGIS.Geodatabase; using ESRI.ArcGIS.Geometry; using ESRI.ArcGIS.Carto; namespace MyGISClass { /// <summary> /// 该类主要包含了要素类的复制以及同要素类数据的加载 /// 函数主要用于S

ArcGIS Engine问答:为什么地理数据库中不能产生同名要素类

之所以产生这样的问题,其原因是无论一个要素类是直接放在工作空问中,还是放在工作空问的一个要素数据集中,这些差别仅仅是逻辑上的,而它们的物理组成都是数据库中的一张二维表,并目表名就是要素类的名字,在一个数据库中不能出现两个同名的二维表,因此也就不能产生两个同名的要素类. 也就是说如果在工作空问中存在一个名为A的要素类和B的要素数据集,B中如果再产生一个名为A的要素类是不会成功的. 因此可以使用IFeatureWorkspace::OpenFeatureClass方法可以打开工作空问中的任何一个要素

要素类的复制方法

转自原文 要素类的复制方法 如何根据一个要素类(源要素类)在另一个工作空间中产生一个同字段,但空间范围可能不一致的要素类(目标要素类)?本文提供了完备的方法. public ESRI.ArcGIS.Geodatabase.IFeatureClass CloneFeatureClass(ESRI.ArcGIS.Geodatabase.IFeatureClass srcFeatureClass, ESRI.ArcGIS.Geodatabase.IFeatureWorkspace SaveFeatWo

Geodatabase - 删除要素

1 //删除要素类. 2 //例如:[email protected]"G:\doc\gis\1.400\data\pdb.mdb", featureClassPath="res2_4m". 3 private void featureClass_delete(string workspacePath, string featureClassPath) { 4 ESRI.ArcGIS.Geodatabase.IWorkspaceFactory wsf = new E

ArcGIS创建要素类

在使用ARCGIS软件进行工作时,免不了要建立地理数据库和要素类之类的.一下是我创建文件地理数据库并在数据库中创建要素类写相关步骤: 1.启动软件,可以使用ARCCatalog直接进行创建也可以使用ArcMap中ARCCatalog窗口进行创建.总之需要用到ARCCatalog这个数据管理工具:这里我们直接启动ArcMap: 2.在ArcCatalog窗口文件连接中展开到你需要创建的位置的文件夹,右键单击选择新建——文件地理数据库,创建完成可进行重命名: 3.选择你创建好的文件地理数据,右键单击

ArcGis Python脚本——批量对影像、要素类定义投影

这一段是批量定义要素类(FeatureClasses)投影的ArcPy代码: 把要处理的要素类塞进一个文件夹(工作空间,workspace),然后将代码开头的路径换成这个"文件夹"的路径,处理完后再做其他处理(比如批量塞回原来文件夹,vba,python啥的代码.小工具处理即可). 或者,把要处理的要素类都加载到ArcMap工作空间,然后把下面代码set environment workspace(设置工作空间)的这一行代码干掉,代码执行的默认工作空间就是当前ArcMap的工作空间了.

获取mdb下要素类FeatureClass,独立要素类,没有dataset获取要素类

转载自:http://blog.sina.com.cn/s/blog_6faf711d0100za4x.html 获取mdb数据库要素类的名称 整体思路如下:1.通过IWorkspace的Datasets属性获取工作空间中的所有Dataset对象(IEnumDataset)2.枚举EnumDataset,获取Dataset对象3.如果该Dataset是FeatureDataset4.QI到IFeatureClassContainer接口for(int i=0;i < pFClContainer.