用户指南和参考
通过在 DB2 Spatial Extender 和它的基础 DB2 RDBMS
的组合环境中设置 DB2 Spatial Extender 并开发 GIS 项目,可创建 DB2 Spatial Extender GIS。通过实现这些项目,
即通过生成和分析设计这些项目提供的 Spatial 和传统信息,来使用 GIS。整个过程涉及执行几组任务。
本节介绍可用来执行这些任务的界面,提供这些任务的概述并提供一个方案来说明它们。
本节概述可用来创建 DB2 Spatial Extender GIS(即为它设置资源、获取 Spatial 数据等)
和使用它(即生成和分析有关地形的信息)的界面。
可用下列方法创建 DB2 Spatial Extender GIS:
- 使用“DB2 控制中心”的 DB2 Spatial Extender 窗口和菜单选项。有关指示,参见:
- 运行调用 DB2 Spatial Extender 存储过程的应用程序。
有关开发这样的程序的指南,参见编写 DB2 Spatial Extender 的应用程序。
- 同时使用“控制中心”和应用程序。例如,可使用“控制中心”调用缺省地理编码器。
另外,若想使用另一地理编码器,必须先通过调用应用程序中的
db2gse.gse_register_gc 存储过程将它注册到 DB2 Spatial Extender。
(有关非缺省地理编码器的信息,参见关于地理编码。
有关 db2gse.gse_register_gc 存储过程的信息,参见db2gse.gse_register_gc。)
- 与其他界面组合使用“控制中心”和/或应用程序。
例如,要创建一个表来保持 Spatial 函数(如地理编码器)生成的数据,
可使用“命令行处理器”或“控制中心”界面。
可用下列方法使用 DB2 Spatial Extender GIS:
- 用地理浏览器以图形方式显示信息;例如,“环境系统研究学会”(ESRI)
提供的 ArcExplorer
- 显式地从“DB2 控制中心”或“命令行处理器”提交 SQL 查询
- 从应用程序中提交 SQL 查询
本节概述用来创建和使用 DB2 Spatial Extender GIS 的任务。
用来创建 GIS 的任务涉及设置 DB2 Spatial Extender 和开发 GIS 项目。
用来使用 GIS 的任务涉及实现这些项目。
此概述从设置 DB2 Spatial Extender 开始,然后转向开发和实现 GIS 项目。
本节的末尾指示了概述中描述的任务在实际情况中如何变化。
要设置 DB2 Spatial Extender:
- 计划和进行准备
(决定开发哪些 GIS 项目,决定对 DB2 Spatial Extender 启用什么数据库,选择管理 DB2 Spatial Extender 和开发项目的人员等)。
- 安装 DB2 Spatial Extender。
- 放入资源来支持 GIS 项目;例如:
- DB2 Spatial Extender 提供的资源
- 这些资源包括系统目录、Spatial 数据类型、Spatial 函数
(包括缺省地理编码器)等。
设置这些资源的任务称作对 Spatial 操作启用数据库。
- 用户和/或供应商开发的地理编码器。
- 缺省地理编码器将美国地址转换为 Spatial 数据。
您的组织和其他组织可提供将外国地址和其他种类的属性数据转换为 Spatial 数据的地理编码器。
有关安装 DB2 Spatial Extender 的指示,参见安装 DB2 Spatial Extender。
有关使用“控制中心”放入资源的指示,参见设置资源。
有关使用用于此用途的应用程序的指南,参见编写 DB2 Spatial Extender 的应用程序。
有关说明设置 DB2 Spatial Extender 的整个过程的方案,参见综合 Spatial 数据和传统数据的系统。
要开发和实现 GIS 项目:
- 计划和进行准备
(设置项目的目标,决定需要什么表和数据,确定要使用什么坐标系等)。
-
确定要使用什么 Spatial 参考系。
坐标值通常包括正整数、负数和小数。
然而 DB2 Spatial Extender 必须以正整数格式存储所有坐标值。
Spatial 参考系是一组参数,
这些参数定义如何将特定坐标系中的负数和小数转换为正整数,
以便 DB2 Spatial Extender 可存储它们。在决定对 Spatial 列使用的坐标系之后,
需要指定对该列进行必要转换时所用的参考系。
若现有 Spatial 参考系满足您的要求,可使用它;否则可创建一个参考系。
- 定义一个或多个包含 Spatial 数据的列,将它们注册到 DB2 Spatial Extender,
并启用地理编码器来自动维护它们。
注册 Spatial 列涉及将它记录在 DB2 Spatial Extender 目录中。
从注册它时开始,它就被称作层,
因为根据它生成的信息将给 GIS 为您创建的虚拟地理风景添加一个层。
在注册它之后,可对它执行 Spatial 操作;例如,可填充它并在其上定义 Spatial 索引。
- 填充 Spatial 列:
- 对于需要地理编码器的项目,设置该地理编码器的参数。
然后运行它,以使它在单个操作中对所有可用源数据进行地理编码并将产生的坐标装入某个层中。
- 对于需要调入 Spatial 数据的项目,调入该数据。
- 方便存取 Spatial 列。特别地,这涉及定义使 DB2
能快速存取 Spatial 数据的索引,和定义使用户能高效地检索相关数据的视图。
在定义这样的视图之后,需要将它的 Spatial 列注册为层。
-
生成和分析 Spatial 信息和相关的商业信息。
这涉及查询 Spatial 列和相关的属性列。
在这样的查询中,可包括返回各种信息的 DB2 Spatial Extender 函数;
例如,两个地形之间的最小距离,或定义环绕某个地形的区域的坐标。
有关返回这些坐标的函数 ST_Buffer 的信息,
参见使用其他 Spatial 数据作为源数据和ST_Buffer。
有关使用 Spatial 函数的查询的示例,
参见检索和分析 Spatial 信息和用于 SQL 查询的 Spatial 函数。
有关使用“控制中心”来执行涉及开发 GIS 项目的任务的指示,参见:
有关使用“控制中心”实现 GIS 项目的指南,参见检索和分析 Spatial 信息。
有关使用应用程序开发和实现 GIS 项目的指南,参见编写 DB2 Spatial Extender 的应用程序。
有关说明整个过程的方案,参见建立办事处和调整保险费的项目。
根据您的要求和使用的界面不同,创建和使用 DB2 Spatial Extender GIS
要执行的任务组可在内容和顺序上变化。例如,考虑定义要包含 Spatial 数据的列、
将它们注册为层和启用地理编码器以自动维护它们的任务。
使用“控制中心”,可从单个窗口一起执行这些任务。
然而,若正从程序中调用存储过程,则可分别执行这些任务,并可随意安排执行它们的时间。
本节提供一个方案来说明前一节中描述的任务组。
Safe Harbor 房地产保险公司的信息系统环境包括一个“DB2 通用数据库”系统和一个单独的 GIS 数据库管理系统。
在一定程度上,查询可检索来自两个系统的数据组合。
例如,DB2 表存储有关收入的信息,GIS 表存储公司的分支机构的位置。
因此,有可能找出带来指定金额的收入的分支机构的位置。
但不能综合来自两个系统的数据(例如,用户不能将 DB2 列与 GIS 列连接),
诸如查询优化这样的 DB2 服务不可用于 GIS。
为了克服这些缺点,Safe Harbor 获取了 DB2 Spatial Extender 并建立了新的 GIS 开发部。
下列各节描述该部门如何设置 DB2 Spatial Extender 和实现它的第一个项目。
为了设置 DB2 Spatial Extender,Safe Harbor 的 GIS 开发部按如下步骤进行工作:
- 该部门准备将 DB2 Spatial Extender 包括在它的 DB2 环境中。例如:
- 该部门的管理小组指派一个 Spatial 管理小组来安装和实现 DB2 Spatial Extender,
并指派一个 Spatial 分析小组来生成和分析 Spatial 信息。
- 因为 Safe Harbor 的商业决策主要是根据客户的要求作出的,
因此管理小组决定在包含有关公司客户的信息的数据库中安装 DB2 Spatial Extender。
此信息的大部分存储在 CUSTOMERS 表中。
为了便于引用所选数据库,GIS 开发部的成员将它称作 GIS 数据库。
然而,他们知道它不仅仅是为 GIS 项目保留的;非 Spatial 应用程序也可象以前一样继续使用它。
- Spatial 管理小组安装 DB2 Spatial Extender。
- Spatial 管理小组设置 GIS 项目将需要的资源:
- 该小组使用“控制中心”来提供对 Spatial 操作启用 GIS 数据库的资源。
这些资源包括 DB2 Spatial Extender 目录、Spatial 数据类型、Spatial 函数等。
- 因为 Safe Harbor 正准备将它的业务扩展到加拿大,
所以 Spatial 管理小组开始请求加拿大的供应商提供将加拿大地址转换为 Spatial 数据的地理编码器。
为了在 DB2 Spatial Extender 下实现第一个 GIS 项目,GIS 开发部按如下步骤进行工作:
- 该部门准备开发该项目;例如:
- 管理小组设置项目的目标:
- 确定在何处建立新的分支机构。
- 基于客户距离危险区(高交通事故率区、高犯罪率区、泛洪区、地震断层等)
的远近调整保险费。
- 该 GIS 项目将牵涉到美国的客户和办事处。
因此,Spatial 管理小组决定:
- 使用一些坐标系,这些坐标系可以准确定义 Safe Harbor 在美国开展了业务的地区的位置。
- 使用缺省地理编码器,因为它设计成可对美国地址进行地理编码。
- Spatial 管理小组决定达到项目的目标所需要的数据以及将包含此数据的表。
- Spatial 管理小组使用“控制中心”创建两个 Spatial 参考系。
一个参考系确定如何将定义办事处位置的坐标转换为 DB2 Spatial Extender 可存储的数据项。
另一个参考系确定如何将定义客户住宅位置的坐标转换为 DB2 Spatial Extender 可存储的数据项。
- Spatial 管理小组使用“控制中心”来定义用于包含 Spatial 数据的列、
将这些列注册为层和启用地理编码器以自动维护它们:
- 该小组给 CUSTOMERS 表添加 LOCATION 列。
该表已包含客户的地址。缺省地理编码器将把它们转换为 Spatial 数据并将此数据装入 LOCATION 列。
- 该小组创建 OFFICES 表来包含现在存储在单独的 GIS 中的数据。
此数据包括 Safe Harbor 的分支机构的地址、
由地理编码器从这些地址派生的 Spatial 数据和定义每个分支机构周围五英里半径范围内的区域的 Spatial 数据 。
地理编码器生成的数据将进入 LOCATION 列。
定义区域的数据将进入 SALES_AREA 列。
- 该小组将两个 LOCATION 列和 SALES_AREA 列注册为层。
- 该小组启用缺省地理编码器以自动维护两个 LOCATION 列。
- Spatial 管理小组填充 CUSTOMER 表的 LOCATION 列、
整个 OFFICES 表和一个新的 HAZARD_ZONES 表:
- 该小组使用“控制中心”填充 CUSTOMER 表的 LOCATION 列:
- 该小组指示地理编码器仅在下列情况下将地址的 Spatial 数据插入
LOCATION 列:地址与其在美国人口普查局的记录中的对应项之间的匹配必须具有
100% 的准确度。
(随 DB2 Spatial Extender 一起交付一个地址文件,其中的地址由人口普查局提供。
在地理编码器可将源数据中的地址转换为 Spatial 数据之前,
地理编码器必须尝试将此地址与其在该文件中的对应项匹配。
用户可指定匹配必须精确到多少百分比才将该 Spatial 数据放入表中。
此百分比称作精度。)
- 该小组以批处理方式运行地理编码器,以便它可在一个操作中将表中的所有地址进行地理编码。
使该小组沮丧的是,地理编码器拒绝了大约十分之一的地址!
- 该小组推测被拒绝的地址肯定是在人口普查局的记录中没有准确匹配的新地址。
为了解决该问题,该小组将精度降低至 85。
- 该小组再次以批处理方式运行地理编码器。地址被拒绝的比率降至可接受的水平。
- 该小组使用单独的 GIS 提供的实用程序,将分支机构数据装入文件。
然后该小组使用“控制中心”将此数据从该文件调入到新的 OFFICES 表。
- 该小组使用“控制中心”创建一个 HAZARD ZONES
表、将它的 Spatial 列注册为层并给它调入数据。
该数据来自地图供应商提供的文件。
- 通过使用“控制中心”,Spatial 管理小组使存取新层更为便利:
- 该小组为它们创建索引。
- 该小组创建一个视图来连接来自 CUSTOMERS 和 HAZARD ZONES 表的列。
该小组然后将视图的 Spatial 列注册为层。
- Spatial 分析小组运行查询以获取将帮助它达到初始目标的信息:
确定在何处建立新的分支机构和根据客户距离危险区的远近调整保险费。
[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]