用户指南和参考
本节描述 Spatial 参考系和坐标系之间的关系,并说明如何从“控制中心”创建 Spatial 参考系。
本节接着Spatial 数据的性质继续讨论坐标系。
然后扩展开发和实现 GIS 项目中提供的 Spatial 参考系的定义。
它还提供用于确定对 Spatial 参考系的参数指定什么值的指南。
可以按照覆盖特定地理区域的虚构网格来想象坐标系。
示例包括覆盖地球的网格、覆盖一个国家的网格或覆盖州内某个地区的网格。
区域中的每个地形位于东西网格线和南北网格线的交点。
一个值称作
X 坐标,指示该位置位于东西网格线上何处。
另一个值为
Y 坐标,指示该位置位于南北网格线上何处。
两个值都使该位置参考网格的中心,即原点。
原点处的 X 和 Y 坐标都为零。从原点向东,X 坐标为正;从原点向西,
X 坐标为负。类似地,从原点向北,Y 坐标为正;从原点向南,Y 坐标为负。为了说明此分布,
考虑如下一般化示例:坐标系 A 包括覆盖大都会区域的网格。
X 坐标 7 指示从此网格的原点向东 7 个度量单位的位置。
X 坐标 -9.5 指示从该原点向西 9.5 个度量单位的位置。
Spatial 列中的每个数据项包括如下内容:
(1) 定义地形的位置的 X 坐标和 Y 坐标,或 (2) 定义地形各个部分的位置或定义地形覆盖的区域的多个 X 和 Y 坐标。
还可包括其他两种值:Z
坐标和度量单位。
与 X 和 Y 坐标不一样,Z 坐标和度量单位在 DB2 Spatial Extender 中不用于定义位置或区域。
而是只传递 GIS 应用程序所需的信息。Z 坐标通常指示地形的高度或深度。
高于原点的 Z 坐标为正;低于原点的 Z 坐标为负。
度量单位是数字的;它可传递任何种类的信息。
例如,假设在 GIS 中表示油井。若要求应用程序处理表示地震数据的拍摄点 ID 的值,
可将这些值存储为度量单位。
如坐标系、坐标和度量单位中所述,坐标可为负且可用小数表示。
这对于度量单位也成立。然而,为了减少存储器额外开销,
DB2 Spatial Extender 将每个坐标和度量单位存储为非负整数(即存储为正整数或零)。
因此,必须将实际的负坐标和小数坐标和度量单位转换为非负整数,
以便 DB2 Spatial Extender 可存储它们。另外,需要告知 DB2 Spatial Extender 如何进行该转换。
通过设置某些参数执行此操作。
将用于转换特定地理区域内的坐标和度量单位的参数设置统称为 Spatial 参考系。
可用下列方法创建 Spatial 参考系:
- 确定要表示的地形的最小负坐标和度量单位。
(负值离 0 越远,它越小。X 坐标 -10 比 X 坐标 -5 小;
-100 的度量单位比 -50 的度量单位小。)
- 指定偏移因子(或简称为偏移)为这样一些值:
当从负坐标和度量单位减去这些值时,余下非负数。
-
指定比例因子为这样一些值:
当将这些值与小数坐标和度量单位相乘时,产生其精度至少与小数坐标或度量单位相同的整数。
例如,考虑具有四位精度的坐标:92.77。
可将它乘以比例因子 100 来获取具有四位精度的整数:9277。
在为 Spatial 参考系设置参数之前,需要确定包含您想要查询的地形的地理区域中的最小负
X 坐标、Y 坐标、Z 坐标和度量单位。
通过回答下列问题可查明这些值是什么:
- 在正在表示的地形中,有一些地形位于正在使用的坐标系原点的西边吗?
若有,什么 X 坐标指示最西边的地形的西部边缘的位置?
(该答案将是正处理的负 X 坐标的最小值。)
例如,若正表示油井,而一些油井位于原点的西边,什么 X
坐标指示最西边的油井的位置?
- 有一些地形位于原点的南边吗?
若有,什么 Y 坐标指示最南边的地形的南部边缘的位置?
(该答案将是正处理的负 Y 坐标的最小值。)
例如,若正表示油井,而一些油井位于原点的南边,什么 Y
坐标指示最南边的油井的位置?
- 若打算使用 Z 坐标定义深度,则哪个地形最深,且哪个 Z
坐标表示此地形的最低点?
(该答案将是正处理的负 Z 坐标的最小值。)
- 若打算将度量单位包括在 Spatial 数据中,则有一些值为负吗?
若有,最小负度量单位是什么?
在确定最小负坐标和度量单位之后,给每个值添加等于该值 5-10% 的量。
例如,若最小负 X 坐标是 -100,则可给它添加 -5。
本书将产生的数字称作扩大的值。
下一步,指定 DB2 Spatial Extender 应使用什么偏移因子将负坐标和度量单位转换为非负数:
从 X 坐标减去的偏移称作辅助 X 坐标。
从 Y 坐标、Z 坐标和度量单位减去的偏移分别称作辅助 Y
坐标、辅助 Z 坐标 和辅助 M 坐标。
有关从“控制中心”指定这些参数的指示,参见从“控制中心”创建 Spatial 参考系。
下一步,指定 DB2 Spatial Extender 应使用什么比例因子将小数坐标和度量单位转换为整数:
- 指定这样一个比例因子,当将它乘以小数 X 坐标或小数 Y 坐标时产生一个 32 位的整数。
建议使此比例因子为 10 的幂:10 的一次幂 (10)、10 的二次幂 (100)、
10 的三次幂 (1000) 或更大的幂(若有必要的话)。
要决定比例因子应为 10 的多少次幂:
- 确定哪些 X 和 Y 坐标为(或可能为)小数。
例如,假设在将处理的各个 X 和 Y 坐标中,确定有三个坐标为小数:
1.23、5.1235 和 6.789。
- 记下具有最长小数精度的小数坐标。然后确定可对此坐标乘以 10
的多少次幂才能产生相等精度的整数。
例如:在当前示例中的三个小数坐标中,5.1235 具有最长的小数精度。
将它乘以 10 的四次幂 (10000) 会产生整数 51235。
- 确定刚才描述的乘法产生的整数是否太长以致不能存储为 32 位数据项。51235 不太长。
但假设除了 1.23、5.11235 和 6.789 之外,您的 X 和 Y 坐标范围包括第四个小数值
10006.789876。因为此坐标的小数位比其他三个坐标的小数位长,
所以应将此坐标 -- 而不是
5.1235 -- 乘以 10 的幂。为了将它转换为整数,可将它乘以 10
的六次幂 (1000000)。但产生的值 10006789876 太长以致不能存储为
32 位数据项。
若 DB2 Spatial Extender 尝试存储它,则结果将不可预测。
要避免此问题,选择这样一个 10 的幂,当将它与原来的坐标相乘时,
产生一个小数,DB2 Spatial Extender 可将该小数截断为可存储的整数,同时精度损失最小。
在此情形下,可选择 10 的四次幂 (10000)。
10000 乘以 10006.789876 产生 100067898.76。DB2 Spatial Extender 会将此数字截断为
100067898,稍微降低了它的精度。
- 若要表示的地形具有小数 Z 坐标,
遵循前面的过程确定这些坐标的比例因子。
若这些地形与小数度量单位相关,则也遵循此过程确定这些度量单位的比例因子。
X 和 Y 坐标的比例因子称作 XY 单位。
Z 坐标和度量单位的比例因子分别称作 Z
单位和 M 单位。
有关从“控制中心”指定这些参数的指示,参见从“控制中心”创建 Spatial 参考系。
本节给出了从“控制中心”创建 Spatial 参考系的步骤的概述。概述后有如何完成每个步骤的详细信息。
执行这些步骤不需要任何授权。
从“控制中心”创建 Spatial 参考系的步骤的概述:
- 打开“创建 Spatial 参考系”窗口。
- 指示想要使用哪个坐标系。
- 为想要创建的 Spatial 参考系指定标识符。
- 确定什么范围的坐标和度量单位适用于您想要查询的地形。
- 指定可用于将负的或小数坐标和度量单位转换为 DB2 Spatial Extender 可存储的数据项的值。
- 告知 DB2 Spatial Extender 创建想要的 Spatial 参考系。
从“控制中心”创建 Spatial 参考系的详细步骤:
- 打开“创建 Spatial 参考系”窗口。
- 从“控制中心”窗口中,展开对象树直到找到您想要运行 DB2 Spatial Extender 的服务器下的数据库文件夹。
- 单击数据库文件夹。
数据库显示在该窗口右边的内容窗格中。
- 用鼠标右键单击您对 Spatial 数据启用的数据库,并在弹出菜单中单击 Spatial Extender --> Spatial 参考系。
“Spatial 参考系”窗口打开。
- 从“Spatial 参考系”窗口中,单击创建。
“创建 Spatial 参考系”窗口打开。
- 从“创建 Spatial 参考系”窗口中,
使用坐标系字段指示所要使用的坐标系。
- 为要创建的 Spatial 参考系指定标识符。
- 在名称字段中,为该系统输入一个
1 到 64 个字符的名称。
限制: | 不要指定另一 Spatial 参考系的名称。数据库中的任何两个 Spatial 参考系不能具有相同名称。
|
- 在 ID 字段中,输入一个数字标识符。它必须为整数。
限制: | 不要指定另一 Spatial 参考系的 ID。
数据库中的任何两个 Spatial 参考系不能具有相同 ID。
|
- 使用“控制中心”外面的媒体 -- 例如,
纸张或白板 -- 可确定适用于要表示的地形的最小负坐标和度量单位。
有关如何执行此操作的指南,参见确定最小负坐标和度量单位。
- 从“创建 Spatial 参考系”窗口中,
指定将负的或小数坐标和度量单位转换为 DB2 Spatial Extender 支持的数据项(即转换为 32 位非负整数)的值。
- 指定将负的或小数 X 坐标转换为非负整数的值:
-
指定一个这样的辅助 Y 坐标,
它将允许 DB2 Spatial Extender 将负 Y 坐标转换为正值。
在偏移列中最接近 Y 的字段中执行此操作:
- 若在4步骤中标识的 Y 坐标范围内的任何值为负,
则输入这样一个辅助 Y 坐标,当从最小负坐标减去此值时,余下一个正数。
有关指南,参见指定偏移因子。
- 若所有 Y 坐标都为正,输入为 0 的辅助 Y 坐标。
- 若要将 Z 坐标包括在 Spatial 数据中,指定将负的或小数 Z 坐标转换为非负整数的值:
-
在偏移列中最接近 Z 的字段中,
输入一个辅助 Z 坐标:
- 若在4步骤中标识的 Z 坐标范围内的任何值为负,
则输入这样一个辅助 Z 坐标,当从最小负坐标减去此值时,余下一个正数。
有关指南,参见指定偏移因子。
- 若所有 Z 坐标都为非负数,则输入为 0 的辅助 Z 坐标。
-
在比例因子列中,
在 Z 的最右边的字段中指定 Z 单位。此 Z
单位应为这样一个值:当将它乘以任何小数 Z 坐标时,产生一个可存储为 32
位数据项的整数,且精度损失最小。
有关指南,参见指定比例因子。
- 若打算将度量单位包括在 Spatial 数据中,指定将负或小数度量单位转换为非负整数的值:
-
在偏移列中最接近线性标号的字段中,
输入辅助 M 坐标:
- 若在4步骤中标识的度量单位的范围内的任何值为负,
则输入这样一个辅助 M 坐标,当从最小负度量单位减去此值时,余下一个正数。
有关指南,参见指定偏移因子。
- 若所有度量单位为正,输入为 0 的辅助 M 坐标。
-
在比例因子列中,
在线性标号的最右边的字段中输入 M 单位。
此 M 单位应为这样一个值:当将它乘以任何小数度量单位时,产生可存储为 32
位数据项的整数,且精度损失最小。有关指南,参见指定比例因子。
- 单击确认以创建想要的 Spatial 参考系。
[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]