工作空间是用户的工作环境,主要完成数据的组织和管理,包括打开、关闭、创建、保存工作空间文件。
程序集: SuperMap.Data (in SuperMap.Data)
版本: dll
语法
C# |
---|
public class Workspace : Component, IComponent, IDisposable |
备注
工作空间(Workspace)是SuperMap中的一个重要的概念,工作空间存储了一个工程项目中所有的数据源,地图的组织关系,工作空间通过其中的数据源集合对象( Datasources),地图集合对象( Maps)来管理其下的数据源和地图。
工作空间中的数据源集合( Datasources)只存储数据源的连接信息和位置等,实际的数据源都存储在数据库或者UDB中。
工作空间中的地图集合( Maps)中存储的是地图的配置信息,如地图包含图层的个数,图层引用的数据集,地图范围,背景风格等。
在当前版本中,一个应用程序中允许多个工作空间共存,每个工作空间可以管理自己的一套数据源和地图等。不同的工作空间不可相互操作。
注意:当用户使用该工作空间对象进行编程时,如果将Workspace与 MapControl建立了关联,那么在进行对象的关闭时,一定需要注意关闭的顺序,如下:
1、 关闭map 对象;
2、 关闭MapControl对象;
3、 关闭Workspace对象。
注意:SuperMap GIS 6R(2012) SP2 版本所保存的工作空间或者符号库文件,如果使用该版本以前的版本打开,其中三维点符号和三维线型符号所引用的模型和材质数据会丢失。另外,在运行关于工作空间的操作时,切勿删除系统临时文件夹中扩展名为 *.lock、*.sc、*.sc00 的文件,否则工作空间中三维点符号和三维线型符号所引用的模型和材质数据会丢失。
示例
以下代码示范如何打开工作空间,从工作空间中取数据源,从数据源取数据集,查看数据集的描述信息以及如何保存或另存工作空间。
CopyC#
public void OpenWorkspace() { // 打开工作空间,取出工作空间中名为“World”的数据集,查询其描述信息 Workspace workspace = new Workspace(); WorkspaceConnectionInfo workspaceConnectionInfo = new WorkspaceConnectionInfo(); workspaceConnectionInfo.Type=WorkspaceType.SXWU; String file = @"D:\world\world.sxwu"; workspaceConnectionInfo.Server=file; workspace.Open(workspaceConnectionInfo); Datasource datasource = workspace.Datasources[0]; DatasetVector dataset = (DatasetVector) datasource.Datasets["World"]; Console.WriteLine("数据集的描述信息为:"+dataset.Description); // 保存工作空间 workspace.Save(); // 另存工作空间 String file_saveAs = "D:/world/world_saveAs.sxwu"; WorkspaceConnectionInfo workspaceConnectionInfo_saveAs = new WorkspaceConnectionInfo(file_saveAs); if (workspace.SaveAs(workspaceConnectionInfo_saveAs)) { Console.WriteLine("另存工作空间成功!"); } // 释放资源 dataset.Close(); workspaceConnectionInfo.Dispose(); workspaceConnectionInfo_saveAs.Dispose(); workspace.Close(); workspace.Dispose(); }
继承层次
System..::.Object
System..::.MarshalByRefObject
System.ComponentModel..::.Component
SuperMap.Data..::.Workspace
System..::.MarshalByRefObject
System.ComponentModel..::.Component
SuperMap.Data..::.Workspace