|
|||||||||
上一个类 下一个类 | 框架 无框架 | ||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object com.supermap.data.Workspace
public class Workspace
工作空间。
工作空间是用户的工作环境,用于完成数据的组织和管理。工作空间存储了一个工程项目(同一个事务过程)中所有的数据源,地图的组织关系,工作空间通过其中的数据源集合对象(Datasources
),地图集合对象(Maps
)来管理其下的数据源,地图。
工作空间中的数据源集合(Datasources
)只存储数据源的连接信息和位置等,实际的数据源都是存储在数据库或者文件中。工作空间中的地图集合(Maps
)中存储的是地图的一些配置信息,如地图包含图层的个数,图层引用的数据集,地图范围,背景风格等。
在当前版本中,一个应用程序中允许多个工作空间共存,每个工作空间可以管理自己的一套数据源和地图等,但是值得注意的是不同的工作空间是不可以相互操作的。
注意:当用户使用该工作空间对象进行编程时,如果将 Workspace
与 MapControl
建立了关联,那么在进行对象的关闭时,一定需要注意关闭的顺序,如下:
public void workspaceTest(){ // 打开工作空间,取出工作空间中名为“World”的数据集,查询其描述信息 Workspace workspace = new Workspace(); WorkspaceConnectionInfo workspaceConnectionInfo = new WorkspaceConnectionInfo(); workspaceConnectionInfo.setType(WorkspaceType.SMWU); String file = "G:/world/world.smwu"; workspaceConnectionInfo.setServer(file); workspace.open(workspaceConnectionInfo); Datasource datasource = workspace.getDatasources().get(0); DatasetVector dataset = (DatasetVector) datasource.getDatasets().get("World"); System.out.println("数据集的描述信息为:" + dataset.getDescription()); // 保存工作空间 workspace.save(); // 另存工作空间 String file_saveAs = "G:/world/world_saveAs.smwu"; WorkspaceConnectionInfo workspaceConnectionInfo_saveAs = new WorkspaceConnectionInfo(file_saveAs); if (workspace.saveAs(workspaceConnectionInfo_saveAs)) { System.out.println("另存工作空间成功!"); } // 释放资源 dataset.close(); workspaceConnectionInfo.dispose(); workspaceConnectionInfo_saveAs.dispose(); workspace.close(); workspace.dispose(); }
构造方法摘要 | |
---|---|
Workspace()
构造一个新的 Workspace 对象。 |
方法摘要 | |
---|---|
void |
aboutBox()
弹出工作空间的“关于”对话框。 |
void |
addCaptionChangedListener(WorkspaceCaptionChangedListener l)
添加一个用于接收工作空间标题变化事件( WorkspaceCaptionChangedEvent )的监听器。 |
void |
addClosedListener(WorkspaceClosedListener l)
添加一个用于接收工作空间关闭结束事件( WorkspaceClosedEvent )的监听器。 |
void |
addClosingListener(WorkspaceClosingListener l)
添加一个用于接收工作空间关闭事件( WorkspaceClosingEvent )的监听器。 |
void |
addCreatedListener(WorkspaceCreatedListener l)
添加一个用于接收创建工作空间事件( WorkspaceCreatedEvent )的监听器。 |
void |
addOpenedListener(WorkspaceOpenedListener l)
添加一个用于接收工作空间打开结束事件( WorkspaceOpenedEvent )的监听器。 |
void |
addSavedAsListener(WorkspaceSavedAsListener l)
添加一个用于接收工作空间另存结束事件( WorkspaceSavedAsEvent )的监听器。 |
void |
addSavedListener(WorkspaceSavedListener l)
添加一个用于接收工作空间保存结束事件( WorkspaceSavedEvent )的监听器。 |
boolean |
changePassword(java.lang.String oldPassword,
java.lang.String newPassword)
修改已经打开的工作空间的密码。 |
void |
close()
关闭工作空间。 |
boolean |
create(WorkspaceConnectionInfo connectionInfo)
根据指定的工作空间连接信息对象来创建新的工作空间。 |
static boolean |
deleteWorkspace(WorkspaceConnectionInfo connectionInfo)
删除指定信息的工作空间。 |
void |
dispose()
释放该对象所占用的资源。 |
java.lang.String |
getCaption()
返回工作空间显示名称,便于用户做一些标识,可以修改。 |
WorkspaceConnectionInfo |
getConnectionInfo()
返回工作空间的连接信息。 |
Datasources |
getDatasources()
返回数据源集合对象。 |
java.lang.String |
getDescription()
返回用户加入的对当前工作空间的描述或说明性信息。 |
java.util.Date |
getLastUpdateTime()
返回工作空间被更改的最新时间。 |
Layouts |
getLayouts()
返回工作空间中的布局集合对象。 |
Maps |
getMaps()
返回工作空间中的地图集合对象。 |
Resources |
getResources()
返回工作空间的资源库对象。 |
Scenes |
getScenes()
返回工作空间中的三维场景集合对象。 |
WorkspaceType |
getType()
返回表示当前 Workspace 的类型的常量值。 |
WorkspaceVersion |
getVersion()
返回当前工作空间的版本。 |
static java.lang.String[] |
getWorkspaceName(WorkspaceConnectionInfo connectionInfo)
根据指定的工作空间信息返回工作空间名称。 |
boolean |
isModified()
返回工作空间的内容是否有改动,如果对工作空间的内容进行了一些修改,则返回 true,否则返回 false。 |
boolean |
open(WorkspaceConnectionInfo connectionInfo)
用于打开已有的工作空间。 |
long |
open2(WorkspaceConnectionInfo connectionInfo)
用于打开已有的工作空间。 |
void |
removeCaptionChangedListener(WorkspaceCaptionChangedListener l)
移除一个用于接收工作空间标题变化事件( WorkspaceCaptionChangedEvent )的监听器。 |
void |
removeClosedListener(WorkspaceClosedListener l)
移除一个用于接收工作空间关闭结束事件( WorkspaceClosedEvent )的监听器。 |
void |
removeClosingListener(WorkspaceClosingListener l)
移除一个用于接收工作空间关闭事件( WorkspaceClosingEvent )的监听器。 |
void |
removeCreatedListener(WorkspaceCreatedListener l)
移除一个用于接收创建工作空间事件( WorkspaceCreatedEvent )的监听器。 |
void |
removeOpenedListener(WorkspaceOpenedListener l)
移除一个用于接收工作空间打开结束事件( WorkspaceOpenedEvent )的监听器。 |
void |
removeSavedAsListener(WorkspaceSavedAsListener l)
移除一个用于接收工作空间另存结束事件( WorkspaceSavedAsEvent )的监听器。 |
void |
removeSavedListener(WorkspaceSavedListener l)
移除一个用于接收工作空间保存结束事件( WorkspaceSavedEvent )的监听器。 |
boolean |
save()
用于将现存的工作空间存盘,不改变原有的名称。 |
boolean |
saveAs(WorkspaceConnectionInfo connectionInfo)
用指定的工作空间连接信息对象来保存工作空间文件。 |
void |
setCaption(java.lang.String caption)
设置工作空间显示名称,便于用户做一些标识,可以修改。 |
void |
setDescription(java.lang.String description)
设置用户加入的对当前工作空间的描述或说明性信息。 |
从类 java.lang.Object 继承的方法 |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public Workspace()
方法详细信息 |
---|
public void close()
public void dispose()
对数据集进行操作后必须调用 dispose() 方法,否则数据修改内容不能被保存。
public WorkspaceConnectionInfo getConnectionInfo()
WorkspaceConnectionInfo
public java.lang.String getCaption()
public void setCaption(java.lang.String caption)
caption
- 工作空间显示名称。public Datasources getDatasources()
数据源集合对象存储工作空间下的数据源的逻辑信息,如数据源数据的连接信息,位置等,并不存储实际的数据源数据。实际的数据源数据存储在关系型数据库或 UDB 文件中。工作空间的数据源集合对象主要用来管理该工作空间中的数据源,包括打开、创建、关闭等操作。
DatasetGrid.buildPyramid()
的示例。Datasources
对象。public Maps getMaps()
Map
对象从此地图集合对象中返回名称,再进行访问。注意 Map
Map 对象必须先连接工作空间,才能打开地图。
Map
的示例。Maps
对象。public boolean isModified()
public java.lang.String getDescription()
public void setDescription(java.lang.String description)
description
- 用户加入的对当前工作空间的描述或说明性信息。public WorkspaceType getType()
WorkspaceType
枚举类;当工作空间未被保存的时候,是存储于内存中的,这时该工作空间的类型就是 DEFAULT。
java.lang.EnumConstantNotPresentException
- 如果返回的 Type 类型不正确。DEFAULT
。public WorkspaceVersion getVersion()
java.lang.EnumConstantNotPresentException
- 如果返回的 Version 不正确。UGC20
。public java.util.Date getLastUpdateTime()
public Scenes getScenes()
Scenes
对象。public Layouts getLayouts()
public Resources getResources()
Resources
对象public boolean open(WorkspaceConnectionInfo connectionInfo)
打开工作空间时,数据源集合、地图集合都会被读入到内存中。如果其中的数据源被设置为自动连接,则在打开工作空间时就会连接到这些数据源数据,但如果要对数据进行访问,还需要打开数据源下某个具体的数据集;如果数据源没有被设置为自动连接,则只能返回数据源的别名,数据源中存储的数据集信息不可知,数据源中数据也不可用。如果需要连接数据源的数据,可以通过数据源对象调用 Datasource.connect()
方法来实现连接。
当打开工作空间时,如果其中有某几个数据源没有被成功打开,而 open 方法仍然返回 true,可以通过查看日志来获悉哪些数据源未被成功打开。
connectionInfo
- 用来打开工作空间的工作空间连接信息对象。
public boolean create(WorkspaceConnectionInfo connectionInfo)
connectionInfo
- 用来创建工作空间的工作空间连接信息对象。
public void createTest() { // 创建工作空间,弹出 “关于”对话框 Workspace workspace = new Workspace(); WorkspaceConnectionInfo workspaceConnectionInfo = new WorkspaceConnectionInfo(); workspaceConnectionInfo.setType(WorkspaceType.SXW); String file = "G:/world/world.sxw"; workspaceConnectionInfo.setServer(file); if (workspace.create(workspaceConnectionInfo)) System.out.println("创建工作空间成功"); workspace.aboutBox(); // 释放资源 workspace.close(); workspace.dispose(); workspaceConnectionInfo.dispose(); }
public boolean save()
注意事项:
SuperMap GIS 9D(2019)版本对布局存储进行了优化和调整,SuperMap GIS 9D(2019)及以上版本保存布局到工作空间后,布局存在兼容性问题,用户可明显感知的调整结果如下:
以下将SuperMap GIS 9D(2019)及以上版本称为“新版本”,将SuperMap GIS 9D(2019)以下版本称为“旧版本”。
1. 新版本采用XML结构将布局存储在工作空间中,解决了旧版本中保存布局会发生文件损坏的问题。
2. 新版本兼容旧版本保存在工作空间中的布局,但是旧版本无法打开新版本保存在工作空间中的布局。
旧版本工作空间经过新版本保存后,布局将按照升级后的方式存储,所以其中的布局在旧版本中将无法再次打开。不过,在新版本中,可以将布局导出为布局模板,然后,在旧版本中加载布局模板,就可实现在旧版本中打开新版本保存后的布局。
3. 新版本布局存储位置发生变化。若将工作空间存储为sxwu格式,旧版本会将布局单独存储在.lyts文件里;但新版本直接将布局存储在sxwu工作空间文件中,且以调整后的XML结构描述布局,包括布局元素、布局设置等。
4. 在新版本中,插入布局中的图片将存储在工作空间同级目录下的“工作空间文件名_images”文件夹,布局只存储图片属性信息。
旧版本工作空间经过新版本保存后,其中的布局将按照升级后的方式存储,所以布局中插入的图片会调整到上述专门的文件夹中存储。
public boolean saveAs(WorkspaceConnectionInfo connectionInfo)
SuperMap GIS 9D(2019)版本对布局存储进行了优化和调整,SuperMap GIS 9D(2019)及以上版本保存布局到工作空间后,布局存在兼容性问题,具体参见:Workspace.save()
方法中的注意事项。
connectionInfo
- 工作空间连接信息对象。
public void aboutBox()
可以通过“关于对话框”的超链接与北京超图软件股份有限公司取得联系,也可以查看 SuperMap Objects 的版本号和版权等信息。
create(WorkspaceConnectionInfo)
create()
方法的示例。public static java.lang.String[] getWorkspaceName(WorkspaceConnectionInfo connectionInfo)
注意:
connectionInfo
- 指定的工作空间信息。
public static boolean deleteWorkspace(WorkspaceConnectionInfo connectionInfo)
connectionInfo
- 指定的工作空间信息。
public boolean changePassword(java.lang.String oldPassword, java.lang.String newPassword)
只有在工作空间处于打开的状态下,才能修改密码,并且该方法只针对文件型的工作空间。
oldPassword
- 指定的旧的密码。newPassword
- 指定的新的密码。
public void addCreatedListener(WorkspaceCreatedListener l)
WorkspaceCreatedEvent
)的监听器。
l
- 一个用于接收创建工作空间事件的监听器。public void removeCreatedListener(WorkspaceCreatedListener l)
WorkspaceCreatedEvent
)的监听器。
l
- 一个用于接收创建工作空间事件的监听器。public void addOpenedListener(WorkspaceOpenedListener l)
WorkspaceOpenedEvent
)的监听器。
l
- 一个用于接收工作空间打开结束事件的监听器。public void removeOpenedListener(WorkspaceOpenedListener l)
WorkspaceOpenedEvent
)的监听器。
l
- 一个用于接收工作空间打开结束事件的监听器。public void addClosingListener(WorkspaceClosingListener l)
WorkspaceClosingEvent
)的监听器。
l
- 一个用于接收工作空间关闭事件的监听器。public void removeClosingListener(WorkspaceClosingListener l)
WorkspaceClosingEvent
)的监听器。
l
- 一个用于接收工作空间关闭事件的监听器。public void addClosedListener(WorkspaceClosedListener l)
WorkspaceClosedEvent
)的监听器。
l
- 一个用于接收工作空间关闭结束事件的监听器。public void removeClosedListener(WorkspaceClosedListener l)
WorkspaceClosedEvent
)的监听器。
l
- 一个用于接收工作空间关闭结束事件的监听器。public void addSavedAsListener(WorkspaceSavedAsListener l)
WorkspaceSavedAsEvent
)的监听器。
l
- 一个用于接收工作空间另存结束事件的监听器。public void removeSavedAsListener(WorkspaceSavedAsListener l)
WorkspaceSavedAsEvent
)的监听器。
l
- 一个用于接收工作空间另存结束事件的监听器。public void addSavedListener(WorkspaceSavedListener l)
WorkspaceSavedEvent
)的监听器。
l
- 一个用于接收工作空间保存结束事件的监听器。public void removeSavedListener(WorkspaceSavedListener l)
WorkspaceSavedEvent
)的监听器。
l
- 一个用于接收工作空间保存结束事件的监听器。public void addCaptionChangedListener(WorkspaceCaptionChangedListener l)
WorkspaceCaptionChangedEvent
)的监听器。
l
- 一个用于接收工作空间标题变化事件的监听器。public void removeCaptionChangedListener(WorkspaceCaptionChangedListener l)
WorkspaceCaptionChangedEvent
)的监听器。
l
- 一个用于接收工作空间标题变化事件的监听器。public long open2(WorkspaceConnectionInfo connectionInfo)
connectionInfo
- 打开的工作空间的连接信息。
|
|||||||||
上一个类 下一个类 | 框架 无框架 | ||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |