GIS二次开发第7课要点分析.ppt

主讲:张云鹏;第七课 空间数据管理;7.1 GeoDatabase的基础知识;;7.2 Workspace及相关对象;其它 workspace 类型包括: Raster Workspace: A workspace containing Grids and Images. Tin Workspace: A workspace containing TINs. CAD Workspace: A workspace containing CAD drawings. VPF Workspace: A workspace containing VPF data. ;要操作各种类型的空间数据,首先要获得空间数据所在的工作空间。Workspace(工作空间)是一个普通类(Class),这意味着用户不能直接新建它。为了获得一个工作空间,需要使用WorkspaceFactory对象来创建或打开一个Workspace。 WorkspaceFactory是GeoDatabase的入口。它是一个抽象类,派生了很多的子类,例如SdeWorkspaceFactory, AccessWorkspaceFactory, ShapefileWorkspaceFactory , FileGDBWorkspaceFactory等。不同类型的空间数据需要不同的工作空间工厂对象来打开一个工作空间。;Classes that implement IWorkspaceFactory;IWorkspaceFactory接口定义了所有工作空间???厂对象的一般属性和方法,用户可以通过它管理不同类型的工作空间。 ;使用 IWorkspaceFactory::Create方法可以用于产生一个新的工作空间名称对象。 public IWorkspaceName Create (?string parentDirectory, ?string Name, ?IPropertySet ConnectionProperties, ?int hWnd ); IWorkspaceFactory::Open方法和 IWorkspaceFactory::OpenFromFile方法可以用于打开一个已经存在的工作空间。 public IWorkspace Open ( IPropertySet ConnectionProperties, int hWnd); public IWorkspace OpenFromFile ( string fileName, int hWnd); IWorkspaceFactory::WorkspaceType属性可以返回工作空间的类型。;7.2.1 How to create new geodatabases;Creating a file geodatabase workspace;public static IWorkspace CreateFileGdbWorkspace(String path) { Type factoryType = Type.GetTypeFromProgID(esriDataSourcesGDB.FileGDBWorkspaceFactory); IWorkspaceFactory workspaceFactory = (IWorkspaceFactory) Activator.CreateInstance(factoryType); IWorkspaceName workspaceName = workspaceFactory.Create(path, Sample.gdb, null, 0); IName name = (IName) workspaceName; IWorkspace workspace = (IWorkspace) name.Open(); return workspace; } ;Creating a connection file (.sde) to an Enterprise ArcSDE workspace ;Creating a geodatabase in a personal or workgroup ArcSDE workspace ;7.2.2 How to connect to a geodatabase;(1)打开Personal GeoDatabae数据库;//For example, fileName = C:\\myData\\mypGDB.mdb. public IWorkspace openFromFilepGDBWorkspace(string fileName) { IWo

文档评论(0)

1亿VIP精品文档

相关文档