首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

软件资讯设计 工具 系统 开发 安全 办公 陶吧 IT教育 Vista频道 | 下载中心酷我音乐盒 腾讯QQ
天极网 > 开发频道>可视化 DB2 中的空间数据

可视化 DB2 中的空间数据

2007-12-20 09:07作者:Knut Stolze出处:论坛整理责任编辑:方舟

  可视化空间数据

  完成之前的所有准备工作之后,现在可以将注意力放在根据空间数据呈现地图上来。首先,需要添加一个层。一个层是具有共同类型的空间对象(及其非空间属性)的一个集合。例如,所有街道可以形成一个街道层。按照关系 DBMS,一个层对应于一个空间表,也就是有一个几何列和一些其他非几何列的表。表中的所有列都是具有那个表所表示的某种实体类型的实体。其他列中的值描述每个几何图形的属性(例如街道名称)。

  可以通过菜单(Layer > Add Layers)或者单击工具条中的 Add Layers 图标在 ArcExplorer 中添加一个层。在新打开的 Catalog 窗口中,第一步是添加一个数据库连接。要连接的数据库必须在本地 DB2 (客户机)实例中编目。另外还必须指定一个用户名和密码。图 3 显示了这一步。

  图 3. 设置 DB2 连接

  设置 DB2 连接

  上一步的结果是一个新的连接对象。对于要访问的每个数据库,只需设置一次连接。如果使用前面提到的联邦设置,那么只需要一个到联邦服务器,即 DB2 for Linux, UNIX, and Windows 的连接。可以立即为已有数据库连接添加新层。可以选择该连接,然后获得相关数据库中所有层(已注册的空间列)的列表。对于本场景,选择所有三个层,单击 Add Layers 图标,然后关闭 Catalog 窗口。图 4 演示了这一点。注意,DB2 for z/OS 中空间表的昵称还没有被添加,因此这里没有显示。

  图 4. 添加层 layers

  添加层

  在主窗口的左面板上,现在可以选择要呈现的层,为那个层选择颜色和其他要使用的属性,缩小和放大,找到几何图形并获得相关的属性,以及根据当前选择的地图区域创建图像。还可以上下移动层(通过在左侧的概要图中右键单击层)。这将影响绘制层的顺序,以及哪些层显示在其他层之上。图 5 演示如何使用 Identify 图标显示关于一个选中的人口普查区域的信息。在使用 Identify 特性之前,必须在最左测面板上选中相关的层。

  图 5. 获得几何图形的属性

  获得几何图形的属性

  相同的操作也可以在 DB2 for z/OS 子系统中的空间数据上执行。联邦设置会隐藏数据本身的来源。ArcExplorer 只与 DB2 for Linux, UNIX, and Windows 系统打交道。图 6 演示了选择并呈现层 ZIP_CODES_HOST 的结果。在功能上,层与 DB2 for Linux, UNIX, and Windows 数据库中存储的基本表没有区别。

  图 6. 呈现 DB2 for z/OS 中的空间数据

  呈现 DB2 for z/OS 中的空间数据

  对 ArcExplorer 的性能考虑

  ArcExplorer 包含 Query Builder 特性。该特性允许根据不同的谓词过滤要显示的几何图形。图 7 展示了该特性,其中涉及所有 17 个人口普查区域,列 HOUSHO_29 包含值 6。

  图 7. 使用 ArcExplorer 的 Query Builder 过滤几何图形

  过滤几何图形

  通过分析 CLI 跟踪可以发现,查询构建器中指定的谓词没有被下推到 DB2 中。ArcExplorer 将所有数据装载到主存中,并在那里应用所有过滤。虽然对于少量几何图形和少数几个表来说这样做已经足够了,但是对于较大的表,这样很快就会导致性能问题。因此,初次装载 ArcExplorer 项目时会导致较长的延时。

  这种低效问题很容易在数据库级克服。为此,可以在 DB2 中定义一个视图,并注册那个视图的空间列。随后,使 ArcExplorer 知道该视图,并将其看作一个层。清单 6 总结了该设置。

  清单 6. 在数据库级过滤

$ db2 CREATE VIEW census_blocks_6 AS \
        SELECT blockgroup, population, househo_28, househo_29, per_capita, \
               median_hou, median_fam, average__1, average__2, se_row_id, \
               shape \
        FROM   census_blocks \
        WHERE  househo_29 = 6
DB20000I  The SQL command completed successfully.

$ db2se register_spatial_column spatial -tableName CENSUS_BLOCKS_6 \
        -columnName SHAPE -srsName NAD83_SRS_1
GSE0000I  The operation was completed successfully.

  在刷新用于数据库连接的列表之后,添加新层。然后选择显示新层,图 8 中的结果与之前 ArcExplorer 本身执行过滤时是一样的。现在,该视图在 SQL 级注入过滤谓词,DB2 可以利用通常的数据库技术,即索引访问。

  图 8. 在数据库级过滤几何图形

  在数据库级过滤几何图形

  如果有些空间表根本不会用 ArcExplorer 来访问,那么就要考虑另一个性能问题。那些表中的空间列不应该注册。如果注册了那些空间列,那么 ArcExplorer 将在启动时或者要添加一个新层时访问和扫描那些表。这是为了提供可用数据的一致、完整的视图。通过注销那些表,可以避免上述扫描,因为 ArcExplorer 不再知道那些表的存在。

  结束语

  本文介绍了如何使用 ESRI ArcExplorer 来可视化用 DB2 Spatial Extender 或 Spatial Support for DB2 for z/OS 管理的空间数据。文中解释了如何将 shapefile 导入到不同的 DB2 系统中,并对其进行设置,使 ArcExplorer 可以访问该数据。然后演示对空间数据的访问,并介绍 ArcExplorer 的基本功能。最后一节讨论如何在数据库级应用过滤谓词,以提高查询性能和缩短响应时间。

共3页。 上一页123
进入 最权威的Windows 7论坛 查看网友讨论

软件频道最新更新

热点推荐

IT嘉年华

编辑推荐

软件下载

热门
推荐

网友关注

软件
资料
游戏

装机推荐

文章排行

本周
本月
最新更新
天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络