PostgreSQL 地理数据库中的定位器

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

ArcGIS for Desktop 中的定位器

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

PostgreSQL 中,地理数据库的地址定位器名称包含数据库名称、定位器所有者的名称以及定位器自身的名称。

例如,如果定位器 city_streets 由用户 jake 所有,并且所在的地理数据库名为 infrastructure,则它将以 infrastructure.jake.city_streets 形式列出在目录树中。

PostgreSQL 数据库中的定位器

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

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

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

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

注注:

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

<locator_name>_lox

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

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

*_lox

字段名

字段类型

描述

是否允许为空

fileid

integer

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

segid

integer

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

data

bytea

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

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

PostgreSQL 中定位器表的示例

XML 工作空间文档中的定位器

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

9/15/2013