配置关键字

旧版本:

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

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

  • 如果您组织中的数据创建人员需要创建一些将使用与默认类型不同的空间存储类型的要素类,则您可能需要创建自定义关键字,其中包括设置为用户所需空间类型的 GEOMETRY_STORAGE 参数,还包括使得数据创建人员可以使用该自定义关键字的 UI_TEXT 参数。
  • 如果您组织中的数据创建人员需要创建一些将在单个字段中存储大量单字节文本的表或要素类,且无需存储多字节字符,则您可以创建自定义关键字,其中包括设置为 FALSE(表示使用此关键字创建的表和要素类中的文本字段将使用 varchar2 存储)的 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 关键字参数组中的初始配置参数因数据库管理系统的不同而有所不同。

LOGFILE_DEFAULTS

LOGFILE_DEFAULTS 关键字存在,但不再使用。

复合配置关键字

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

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

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

网络复合关键字

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

拓扑复合关键字

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

请注意,参与相同拓扑的数据集应使用相同的几何存储类型;否则,由于数据存储方式的细微变化,您可能会遇到一些拓扑错误。 在大多数情况下,这些变化非常小,但可能会导致违反一项或多项拓扑规则。

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

地形复合关键字

地形复合关键字控制为地形数据集创建的以下表的存储:

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

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

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

DTM_<itemID>_EMBED_<N> 表存储嵌入的要素类。 因此,它们可能比其他地形表大得多;因此,您可能希望更改 TERRAIN_DEFAULTS::EMBEDDED 关键字的存储参数在不同的位置或以不同大小的范围将这些表存储,具体取决于用于存储地理数据库的 DBMS。

许可:

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

自定义配置关键字

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

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

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

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

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

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

用于存档的配置关键字

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

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

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

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

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

注:

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