麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

ArcGIS Engine 10 开发手册(4-6)打开数据库的另一种方式

数据集对象可以分为两大类,一种是 Table,我们无法将 Table 存储在要素数据集中(可以尝试下), 一种是 Geodataset,这个是要素类的容器。数据集对象有一个很重要的属性,就是这个 Fullname,用这个 可以返回和数据集相关的名称对象,而这个名称对象有一个很重要的方法 Open(),这个可以获取和这个 名称对象相关的对象(内存中的),Open()方法的返回值是 object,所以用 Open 方法的时候,我们必须 心里清楚,自己到底是要得到那个对象,然后 QI 到我们要的对象上。

IName 对象是一个代表性对象。通过使用 IName 对象,可以访问它所代表的对象的一些基本属性,而 不用将整个对象调入内存。我们用 IWorkspace 获得一个 Workspace , 那可是 会调入内存的,而 IWorkspaceName 则不会,除非你用了 IWorkspaceName.open.在我看来,那些继承 IName 的接口,在数据转 换和叠加分析的时候经常要用到这个。

IName 是一个抽象类,拥有很多子类,借助它的子类 IWorkspaceName 也可以打开数据库。打开一个 数据库 ,我 们要指 定它 的类型 ,是 个人数 据库 ,还是 文件 数据库 。 IWorkspaceName 的 IWorkspaceName.WorkspaceFactoryProgID 属性用于完成这一操作,这个属性是一个枚举的常量类型

  • esriDataSourcesGDB.AccessWorkspaceFactory
  • esriDataSourcesFile.ArcInfoWorkspaceFactory
  • esriDataSourcesFile.CadWorkspaceFactory
  • esriDataSourcesGDB.FileGDBWorkspaceFactory
  • esriDataSourcesOleDB.OLEDBWorkspaceFactory
  • esriDataSourcesFile.PCCoverageWorkspaceFactory
  • esriDataSourcesRaster.RasterWorkspaceFactory
  • esriDataSourcesGDB.SdeWorkspaceFactory
  • esriDataSourcesFile.ShapefileWorkspaceFactory
  • esriDataSourcesOleDB.TextFileWorkspaceFactory
  • esriDataSourcesFile.TinWorkspaceFactory
  • esriDataSourcesFile.VpfWorkspaceFactory

示例代码

public IWorkspace Get_Workspace (string_pWorkspacePath)
{
  IWorkspaceName pWorkspaceName = new WorkspaceNameClass ();
  pWorkspaceName.WorkspaceFactoryProgID = "esriDataSourcesGDB.AccessWorkspaceFactory";
  pWorkspaceName.PathName = _pWorkspacePath;
  IName pName = pWorkspaceName as IName;
  IWorkspace pWorkspace = pName.Open () as IWorkspace;
  return pWorkspace;
}

ArcGIS Engine 10 开发手册全集

ArcGIS Engine 10 开发手册全集: ArcGIS Engine 10 开发手册

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)