在 Oracle 中存储的地理数据库 (geodatabase) 内的定位器

定位器是包含用于进行地理编码的参考数据快照的数据集。所含有的信息包括:如何使地址标准化、搜索地址匹配项的方法以及发现匹配项时返回的信息类型。要了解有关如何创建和使用定位器的详细信息,请参阅定义地址定位器组件及相关主题。

ArcGIS Desktop 中的定位器

如果已在地理数据库中创建过地址定位器,那么它便会在目录树中显示为下方图标:

Oracle 中地理数据库内地址定位器的名称将包含定位器所有者的名称和定位器本身的名称。

例如,用户 perrita 所拥有的定位器 city_streets 在目录树中将以 perrita.city_streets 形式列出。

Oracle 数据库中的定位器

创建定位器的同时,系统会在地理数据库中创建相应的定位器数据集表。定位器数据集表中将包含定位器参考数据的快照,它包括地理编码所需的全部属性和 shape 信息,这些信息以便于快速搜索和检索的格式存储。

定位器创建后,不会使用原始参考数据而是参考定位器数据集表。

定位器数据集表的名称与定位器名称相同,只是加了 _lox 后缀。如果定位器名称中包含空格,则在定位器数据集表名称中应以下划线代替空格。

定位器数据集表的作用是,将一系列二进制数据块(与文件类似)保留在数据库中。

注注:

您不应该修改定位器数据集表中的内容。

<locator_name>_lox

创建定位器时,ArcSDE 将从参考要素类中读取与地理编码相关的属性,然后以一种高效的专有二进制结构组织数据,最后在定位器数据集表中存储参考数据的快照。这样,定位器创建后,便无需使用原始参考数据,而只需参考定位器数据集表。按照 EmbedGeocodingRules 定位器属性所指明的那样,定位器也可以将地理编码规则文件的副本存储在地理编码索引表中。

定位器数据集表的作用是,将一系列二进制数据块(与文件类似)保留在数据库中。

*_lox

字段名

字段类型

描述

是否允许空值

FILEID

NUMBER(9)

内部地理编码索引数据块的标识符

非空

SEGID

NUMBER(9)

内部地理编码索引数据块子部分(段)的标识符

非空

DATA

BLOB

内部地理编码索引数据块子部分(段)的二进制数据

非空

下方示意图显示了定位器所涉及到的数据库管理系统 (DBMS) 中的表。在本例中,CITY_STREETS_LOX 表即为定位器数据集。

Oracle 中定位器表的示例

XML 文档中的定位器

目前,XML 文档不支持定位器。因此,如果您的地理数据库中已存在定位器,并且您将地理数据库导出为 XML 工作空间文档,然后将 XML 工作空间文档导入另一个数据库,则必须重新创建定位器。


7/10/2012