Workspace是空间数据和非空间数据的容器,例如,要素类、栅格数据集、表等。Workspace提供实例化现有数据集和创建数据集的方法。
有三种形式的workspace:
1以shapefiles和ArcInfo workspaces为例的file system workspaces
2personal和file geodatabases为例的local geodatabaseworkspaces
3存储在RDBMS的ArcSDE geodatabase的remote geodatabase workspace,其中关系型数据库管理系统如 Oracle, DB2, SQL Server, Informixis
创建一个workspace,首先要创建一个相对应的workspace factory。每一种类型的workspace都有他自己的workspace factory。workspace factory是workspaces的分配器并且允许客户端通过定义directory、file name、connection properties等来创建workspace。Workspace factory是一个singletonobject。Single object在一个进程中只能实例化一次。对于geodatabaseworkspaces对应的workspace factory类属于datasourcesGDB库,那些非地理数据库工作空间的workspace factory类是属于DatasourcesFile库的。
创建方法可以创建一个file system workspace或者一个localgeodatabase,或者创建一个连接文件到ArcSDE geodatabase。连接属性参数指定ArcSDE geodatabase连接需要附加的连接属性,比如server、instance等。
当ArcSDE geodatabase的连接文件创建好之后,如果没有指定好连接属性,就会弹出对话框提示用户输入必须的参数。hWnd参数提供handle到父窗口的创建方法,通常值为0。
创建方法能够打开或者返回workspace相关信息,但不能够用来在enterprise, personal, or workgroup ArcSDE中创建geodatabases。