用户指南和参考
本节描述地理编码过程并说明如何从“控制中心”以批处理方式运行地理编码器。
本节区分地理编码器与其源的基本差别。
本节将描述了运行地理编码器的两种方式,并介绍在计划使用地理编码器时要考虑的因素。
使用 DB2 Spatial Extender,您可以:
- 使用与 DB2 Spatial Extender 一起提供的缺省地理编码器。
- 插入第三方供应商开发的地理编码器。
- 插入自己的地理编码器。
缺省地理编码器对美国地址进行地理编码,并可以将它们转换为
ST_Point 数据或 ST_Geometry 数据。若需要存储其他 Spatial 数据类型的数据,
则可以插入地理编码器来生成这样的数据。若需要表示美国以外的地点或没有地址的地点(例如在土质方面不同的农田)的 Spatial 数据,
您也可以插入地理编码器来满足该需要。
在可使用插入的地理编码器之前,它必须被注册。用户与供应商可以使用
db2gse.gse_register_gc 存储过程注册它。
它不能从“控制中心”注册。有关 db2gse.gse_register_gc
的信息,参见db2gse.gse_register_gc。有关使用 DB2 Spatial Extender 存储过程的一般信息,
参见存储过程。
地理编码器以两种方式运行:
-
以批处理方式运行时,
它尝试在单个操作中将 Spatial 列中所有现存的源数据转换为 Spatial 数据,
并用那些数据填充该列。您可以从“运行地理编码器”窗口中启动此操作。或者,
您可以编写一个应用程序来调用 db2gse.gse_run_gc 存储过程,
在该应用程序中启动它。
-
以增量方式运行时,
地理编码器在表中插入了新数据或更新某数据时对该数据进行转换,
并将产生的 Spatial 值放置在某个列中,以使该列保持最新。
该功能是通过“插入触发器”和“更新触发器”来激活的,您可以通过“创建 Spatial
层”窗口请求这些触发器。或者,您可以编写一个应用程序来调用
db2gse.gse_enable_autogc 存储过程,在该应用程序中请求它们。
增量地理编码也称为自动地理编码。
当计划使用地理编码器时,您可能会考虑以下因素:
- 使用“控制中心”时,在使用“运行地理编码器”窗口之前,一般使用“创建
Spatial 层”窗口。这指的是在启动批处理地理编码之前,
您可以让 DB2 Spatial Extender 为以增量方式运行地理编码而设置触发器。
因此,可以在以批处理方式运行地理编码之前以增量方式运行地理编码。
以批处理方式处理所有源数据时,
地理编码器将对它以增量方式处理过的相同数据进行地理编码。这种冗余不会导致重复
(当产生 Spatial 数据两次时,第二次产生的数据将覆盖第一次的数据)。
但它可能会使性能降低。其中一种解决方法是,将设置触发器延迟到进行批处理地理编码之后。
- 若准备以批处理方式进行地理编码时设置了触发器,则建议释放它们,直到批处理地理编码结束。
可从“运行地理编码器”窗口释放它们,或编写一个应用程序来调用 db2gse.gse_disable_autogc
存储过程,在该应用程序中释放它们。若使用“运行地理编码器”窗口,
DB2 Spatial Extender 在地理编码结束时自动重新激活它们。若使用 db2gse.gse_disable_autogc 存储过程,
可通过调用 db2gse.gse_enable_autogc 存储过程重新激活它们。
- 若想要以批处理方式运行地理编码器来填充具有索引的 Spatial 列,
应先禁用或卸下该索引。否则,若在地理编码器运行时索引仍可操作,性能将严重降低。
若正在使用“控制中心”,则可从“运行地理编码器”窗口禁用该索引。当地理编码结束时,
DB2 Spatial Extender 将自动重新启用该索引。
若正使用应用程序,可用 SQL DROP 语句卸下该索引。若这样做,一定要记下该索引的参数,
以便可在批处理地理编码结束之后重新创建它。
-
当地理编码器读取源数据的记录时,它尝试将该记录与参考数据中的对应项进行匹配。
为了让地理编码器处理该记录,匹配必须准确到某种程度(称作精度)。
例如,精度 85 指的是源记录与它在参考数据中的对应项之间的匹配必须至少为
85%,才能使该源记录被处理。
您指定精度应为什么值。要知道可能需要调整它。
例如,假设精度为 100。若许多源记录包含比参考数据更新的地址,
则这些记录和参考数据之间的 100% 准确的匹配将是不可能的。
结果,地理编码器将拒绝这些记录。
总的来说,若地理编码器产生的 Spatial 数据似乎不够或大部分不准确,
可尝试通过更改精度并再次运行地理编码器来解决此问题。
[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]