配置关键字

旧版本:

配置关键字和参数主要是旧版功能。 当数据库需要数据库管理员进行更多干预和修补工作以使其良好运行时,需要执行这些功能。在大多数情况下,您无需更改地理数据库中的配置关键字。

创建企业级地理数据库时,将使用默认配置关键字和参数对其进行填充。在大多数情况下,创建地理数据库时将参数设置为 DEFAULTS 关键字就足够了。可能的例外情况如下:

  • 如果您组织中的数据创建人员需要创建一些将使用与默认类型不同的空间存储类型的要素类,则您可能需要创建自定义关键字,其中包括设置为用户所需空间类型的 GEOMETRY_STORAGE 参数,还包括使得数据创建人员可以使用该自定义关键字的 UI_TEXT 参数。
  • 如果您组织中的数据创建人员需要创建一些将在单个字段中存储大量单字节文本的表或要素类,且无需存储多字节字符,则您可以创建自定义关键字,其中包括设置为 FALSE(表示使用此关键字创建的表和要素类中的文本字段将使用 varchar 存储)的 UNICODE_STRING 参数,还包括使得数据创建人员可以使用该自定义关键字的 UI_TEXT 参数。
  • 如果要将数据分组到不同的文件组中,以便为单个文件组创建备份,则可以为各个不同数据类型创建自定义关键字,并在每个关键字中设置参数,以便在特定文件组中存储该类型数据的所有表和索引。自定义关键字的命名应使组织中的数据创建人员能够轻松识别应为所创建的每种类型的表和要素类指定的关键字。

配置关键字为同时定义多个存储设置提供了方法。配置关键字可将多个参数和值集合到一起,这将指定数据和数据库对象在地理数据库中的存储方式。

您可在执行下列任一操作时指定配置关键字:

  • 使用 ArcGIS DesktopArcGIS Pro 或地理处理工具加载或创建数据集。
  • 迁移存储类型。
  • 建立地理数据库要素,例如 terrain 或拓扑。

ArcGIS 使用指定的配置关键字查找与之相关联的“参数名称-值”对。包含配置字符串的值包括在 ArcGIS 提交到数据库的 CREATE TABLE 或 CREATE INDEX 语句中。

提示:

必须使用标准参数名称和值,但是大多数参数都具有多个可指定的有效值。

下一部分将介绍创建企业级地理数据库时的默认关键字。您可以更改这些关键字的现有参数的值,或者如果默认关键字不能满足您的需求,请创建自定义关键字

默认配置关键字

DEFAULTS 和复合配置关键字默认存在于企业级地理数据库的所有数据库管理系统实现中。这些参数将在下面的章节中介绍:

DEFAULTS

顾名思义,在创建表、要素类、栅格数据集以及索引时,默认情况下使用 DEFAULTS 配置关键字下的设置。如果在地理数据库中创建数据时未指定其他关键字,或者指定的关键字缺少某些必要参数,则将使用 DEFAULTS 关键字中的值。在创建地理数据库时,DBTUNE 表具有完全填充的 DEFAULTS 配置关键字。

更改 DEFAULTS 关键字参数组时,请使用可代表最常见的数据存储配置的值来填充它。这样就不必为所定义的每个关键字分别定义所有参数。例如,如果创建一个配置关键字用来在与其余数据分离的存储空间中创建表,则只需要添加用于指定表存储位置的参数。然后,可从 DEFAULTS 关键字参数组选取其余参数,例如,几何存储类型。

使用您所在特定场所最常用的值来填充 DEFAULTS 关键字,这样做还可以让组织中创建数据的人们变得更轻松。如果 DEFAULTS 关键字包含的设置占到用户所需数据的 95%,那么用户只需考虑为其余 5% 选择不同的关键字。

DEFAULTS 关键字参数组中的初始配置参数因数据库管理系统的不同而有所不同。

复合配置关键字

复合关键字是一种独特的关键字类型,通常在用户要将同一网络、Terrain 或拓扑类中的表存储到单独的空间中时使用。 例如,如果某个表要比其他表活跃得多或者类中的某个表要比其他表大得多,用户就会想将其存储到单独的空间。

复合配置关键字可细分为以下元素:没有后缀的父元素,以及通过在父元素的配置关键字上添加 ::<元素名称> 后缀而进行区分的复合关键字元素。

可以创建自己的复合关键字,但默认的复合关键字有 NETWORK_DEFAULTS、TOPOLOGY_DEFAULTS 和 TERRAIN_DEFAULTS。

网络复合关键字

虽然所有企业级地理数据库中均存在 NETWORK_DEFAULTS 关键字,但其不可用于您在 ArcGIS Pro 中创建的所有数据集。

拓扑复合关键字

拓扑复合关键字用于控制拓扑表的存储方式。地理数据库的 DBTUNE 表中必须具有用于构建拓扑的有效拓扑关键字。拓扑复合关键字由父元素 TOPOLOGY_DEFAULTS 和用来指示 DIRTYAREAS 拓扑表存储位置的 TOPOLOGY_DEFAULTS::DIRTYAREAS 组成。DIRTYAREAS 表可以变得非常大,并且在版本化地理数据库中非常活跃。因此,如果地理数据库使用拓扑,并且对数据进行大量的版本化编辑,您应该更改 TOPOLOGY_DEFAULTS::DIRTYAREAS 的参数值以在单独的存储位置存储 DIRTYAREAS 表组件;默认情况下,这些表组件的存储设置与拓扑表相同。

请注意,参与同一拓扑的数据集应使用相同的几何存储类型;如果不是这样,则可能会出现一些因数据存储方式稍有变化而引起的拓扑错误。大多数情况下,这些变化非常小,但可能会违反一条或多条拓扑规则。

有关地理数据库拓扑的简介,请参阅拓扑基础知识

Terrain 复合关键字

Terrain 复合关键字用于控制针对 Terrain 数据集创建的以下各表的存储:

  • DTM_<itemID>_COMPOSITETILES
  • DTM_<itemID>_DIRTYAREA
  • DTM_<itemID>_INSIDETILES
  • DTM_<itemID>_MRFC
  • DTM_<itemID>_PROPS
  • DTM_<itemID>_EMBED_<N>

ItemID 是用于特定 Terrain 数据集的 GDB_ITEMS 表中 UUID 字段的值。N 指示特定的 DTM_<itemID>_EMBED 表;可以是表示这些表的任意数值 (0...n)。

默认的 Terrain 关键字是 TERRAIN_DEFAULTS(控制以上列出的前四个表的默认存储方式)和 TERRAIN_DEFAULTS::EMBEDDED(控制 DTM_<itemID>_EMBED_<N> 表的存储方式)。

DTM_<itemID>_EMBED_<N> 表存储嵌入的要素类。为此,它们可能要比其他 Terrain 表大得多;因此,根据用于存储地理数据库的 DBMS 而定,可能需要修改 TERRAIN_DEFAULTS::EMBEDDED 关键字的存储参数,以在不同位置或不同大小的范围内存储这些表。

许可:

只有在安装并激活了 ArcGIS 3D Analyst extension 时才可创建 Terrain。

自定义配置关键字

您可以在下列情况中添加自定义关键字:

可按照以下步骤向企业级地理数据库添加自定义配置关键字:

  1. 以地理数据库管理员身份连接到地理数据库。
  2. 运行导出地理数据库配置关键字工具将现有配置关键字值导出到文本文件。
  3. 添加所需配置关键字、参数和值。

    添加自定义关键字时,应注意以下事项:

    • 必须使关键字带有两个井号 (##) 前缀。
    • 配置关键字名称的最大长度限制为 32 个字符。如果要创建存档关键字, _ARCHIVE 必须作为此关键字名称的一部分并计入上述 32 个字符长度内。
    • 必须使用 END 关闭参数组。

  4. 要允许用户根据 ArcGIS 指定关键字,则应向关键字参数列表中添加适当的 UI 存储参数。仅可在同一自定义配置关键字组中使用下面的一个参数:
    • UI_TEXT:常规用户界面存储参数;与希望用户使用的任何关键字配合使用(日志文件、存档、网络、拓扑或 terrain 复合关键字除外)
    • UI_TOPOLOGY_TEXT:父拓扑关键字的用户界面存储参数
    • UI_TERRAIN_TEXT:父 terrain 关键字的用户界面存储参数
  5. 保存您在文本文件中所作的更改。
  6. 运行导入地理数据库配置关键字工具以从文本文件中导入值。

用于存档的配置关键字

可以为历史表指定配置关键字。这通过在关键字的末尾追加 _ARCHIVE 来完成,例如,DEFAULTS_ARCHIVE。对于创建的每个存档关键字,可根据需要更改参数。

存档关键字经常用来将历史表和这些表中的索引存储在与其余数据不同的位置中。存储在 OracleDb2PostgreSQL 中的地理数据库可让您以不同的表空间存储表;因此,您最有可能在这些地理数据库中使用存档关键字。

创建历史表时,ArcGIS 会记录要存档的数据集的配置关键字,然后搜索相应的存档关键字。创建历史表时将使用为 <关键字>_ARCHIVE 指定的参数。因此,如果使用 DEFAULTS 关键字来创建用于存档的数据集,ArcGIS 将搜索 DEFAULTS_ARCHIVE 以获得用于创建该数据集的历史表的存储信息。

对于任意给定的关键字,如果未找到对应的存档关键字,ArcGIS 将使用与原始数据集相同的关键字。在上述示例中,将使用 DEFAULTS 关键字,即意味着历史表和索引将存储在与用于存档的要素类相同的逻辑存储空间中。

如果存在 <关键字>_ARCHIVE 但缺少指定参数,则会使用 DEFAULTS 关键字中的参数值。有关地理数据库存档的详细信息,请参阅什么是存档

注:

如果创建存档关键字,则无需包括 UI_TEXT 参数。创建数据时将不会指定 *_ARCHIVE 关键字;而 ArcGIS 将搜索与存档表的配置关键字匹配的关键字。