企业级地理数据库的配置关键字

在企业级地理数据库中有多个配置关键字的选项。对于每个数据库管理系统 (DBMS) 来说,在地理数据库的 DBTUNE 表中默认创建了一组特定的配置关键字。此外,地理数据库管理员可添加自定义关键字。

什么是企业级地理数据库中的配置关键字?

配置关键字用于将参数和参数值分组到同一标题(关键字)下。参数和参数值为地理数据库中的数据集指定存储选项。配置关键字及其相关的参数和参数值保存在地理数据库的 DBTUNE 系统表中。在 DBTUNE 表中,参数值为配置字符串。

如何使用配置关键字?

通过将参数和值分组,配置关键字使用户可以指定一个影响某一特定数据集的多个存储选项的关键字。当在地理数据库中创建数据集时,您会选择要使用的配置关键字。如果不指定其他关键字,数据将使用 DEFAULTS 关键字。

地理数据库管理员可以更改参数值,以改变要素类或栅格数据集中不同部分的存储方式。例如,对于 DB2 中的地理数据库,DEFAULTS 配置关键字下的业务表增量表参数的值可以指定将它们存储到不同的表空间中。下面的示例展示了 DEFAULTS 配置关键字参数列表的一部分。在此示例中,业务表存储在表空间 FEATS 中,而增量表存储在表空间 VERSIONS 中。

##DEFAULTS
B_STORAGE	"IN FEATS INDEX IN FEATSIDX LONG IN FEATSLONG"
A_STORAGE	"IN VERSIONS INDEX IN VERSIONSIDX LONG IN VERSIONSL"
D_STORAGE	"IN VERSIONS INDEX IN VERSIONSIDX LONG IN VERSIONSL"

地理数据库管理员还可以创建自定义配置关键字。地理数据库管理员负责确保 DBTUNE 表中包含必要的配置关键字,并且这些关键字可在 ArcGIS Pro 中使用。地理数据库管理员可以告知用户是否所有自定义配置关键字都可用,如果可用,用户应在何时使用这些关键字。

用户应使用什么配置关键字?

大多数情况下,DEFAULTS 配置关键字即可满足需求。地理数据库管理员应当对 DEFAULTS 配置关键字的参数值进行所有必要的更改,以使其反映出大多数时间所需要的配置。

某些特殊情况下,用户在创建或导入数据时需要选择 DEFAULTS 之外的其他配置关键字。下面各部分给出了一些推荐的情形。

几何存储配置关键字

所有地理数据库都可以存储几何(地理数据库中的 Geo 就是由此得来的)。用于企业级地理数据库的各种 DBMS 产品都具有特定的几何存储机制。DB2 DBMS 使用 Spatial Extender 存储几何。Informix DBMS 使用 Spatial DataBlade 存储几何。Oracle、SQL Server 和 PostgreSQL DBMS 允许用户从不同的几何存储选项中进行选择。

对于 SQL Server 数据库,可以使用 Microsoft 的几何或地理空间类型。对于 Oracle 数据库,可使用 ST_Geometry 或 Oracle Spatial。对于 PostgreSQL,可使用 ST_Geometry 或 PostGIS 几何类型。

与以上各种存储类型相关的配置关键字如下所述:

配置关键字几何存储

ST_GEOMETRY

Oracle 或 PostgreSQL 的空间类型

SDO_GEOMETRY

Oracle Spatial(包括 GeoRaster)

PG_GEOMETRY

PostGIS 几何类型

GEOMETRY

Microsoft 几何类型

GEOGRAPHY

Microsoft 地理类型

注:

以下几何存储类型在 ArcGIS Pro 中已被弃用:

  • SDEBINARY
  • SDELOB
  • WKB_GEOMETRY
可以使用这些几何存储类型查看数据,但不能使用这些存储类型创建新数据。

地理数据库管理员将 DEFAULTS 几何存储类型设置为可用于大部分数据集的类型。如果要使用的存储类型不是在 DEFAULTS 关键字下设置的存储类型,可能要指定其他几何存储配置关键字,从而在下列情况下为数据使用其他几何存储类型:

  • 正在使用 Oracle;想要使用结构化查询语言 (SQL) 访问要素类的属性;并且只存储不参与拓扑、网络或关系类的简单要素,例如点、线和多边形。

    对于符合此描述的要素类,可以指定 ST_GEOMETRY 配置关键字,以便用 Oracle 的 SQL ST_Geometry 类型存储数据。

  • 启用了 Oracle Spatial 或 Oracle Locator,但只想以 SDO_GEOMETRY 格式存储部分要素类。

    此情况下,在创建满足这些条件的要素类或栅格数据集时,可以指定 SDO_GEOMETRY 配置关键字。

  • 已经安装了 PostGIS,但是只想将部分要素类以 PostGIS 几何存储方式存储。

    此情况下,在创建要以 PostGIS 几何类型存储的要素类时,可以指定 PG_GEOMETRY 配置关键字。

  • 正在使用 SQL Server,并且要以 SQL 空间类型和投影坐标系存储数据。

    要创建满足这些要求的要素类,可以在创建要素类时指定 GEOMETRY 配置关键字。

  • 正在使用 SQL Server,并且要以使用经纬度坐标的 SQL 空间类型存储数据。

    为此,可以在创建要素类时指定 GEOGRAPHY 配置关键字。

  • 正在创建地理数据库原型,并且想要为特定数据集测试每种存储类型的相对性能。

    在设计地理数据库时,用户可能想要尝试不同的存储类型,以确定哪些类型适合特定数据集的需求。在该情况下,用户可以使用不同的几何存储配置关键字存储同一数据集(使用不同的名称),然后系统性地测试各个数据集的性能。

提示:

地理数据库管理员可能已经创建了其他自定义配置关键字以供用户使用。在这种情况下,地理数据库管理员应当为用户提供该信息。

栅格数据存储配置关键字

所有地理数据库都能存储含有空间参考信息的栅格数据。可在各 DBMS 中使用不同的存储类型来存储栅格数据。

地理数据库管理员将 DEFAULTS 栅格数据存储类型设置为用于大部分数据集的类型。如果要使用的存储类型不是在 DEFAULTS 关键字下设置的存储类型,并且启用了 Oracle Spatial 或 Oracle Locator,同时还要将部分栅格数据集存储到 SDO_GEORASTER 中以使用 SQL 访问栅格,可以在创建满足这些条件的栅格数据集时指定 SDO_GEOMETRY 配置关键字。

地理数据库管理员可能也创建了自定义关键字以指定其他栅格数据类型。请联系地理数据库管理员以确定站点是否属于这种情况。

网络配置关键字

在创建网络时,要使用网络配置关键字。

网络配置关键字是复合配置关键字 - 将三个单独的网络关键字配合使用可以将同一网络类中的表存储到不同的位置。默认的网络关键字如下:

NETWORK_DEFAULTS
NETWORK_DEFAULTS::DESC
NETWORK_DEFAULTS::NETWORK

如果没有为网络指定配置关键字,将使用 NETWORK_DEFAULTS 关键字定义网络的存储方式。

如果要创建一个网络类并且不使用默认值存储其组件,用户可创建自己的网络关键字集。例如,如果要为公交线路创建会比河流和铁路网络大得多的网络,地理数据库管理员可以创建一组网络配置关键字将公交线路网络存储到地理数据库中的其他位置。地理数据库管理员可以创建具有以下名称的关键字:

NETWORK_BUS
NETWORK_BUS::DESC
NETWORK_BUS::NETWORK

管理员可以为其中的每个关键字指定不同于 NETWORK_DEFAULTS 关键字的配置字符串值。

如果 NETWORK_DEFAULTS 具有以下参数:

关键字Parameter_nameConfig_string

NETWORK_DEFAULTS

A_STORAGE

PCTFREE 0 INITRANS 4 TABLESPACE CITY

NETWORK_DEFAULTS

D_STORAGE

PCTFREE 0 INITRANS 4 TABLESPACE CITY

NETWORK_BUS 作为 NETWORK_DEFAULTS 的变更,可以具有以下参数:

关键字Parameter_nameConfig_string

NETWORK_BUS

A_STORAGE

PCTFREE 0 INITRANS 4 TABLESPACE BUS

NETWORK_BUS

D_STORAGE

PCTFREE 0 INITRANS 4 TABLESPACE BUS

如果 NETWORK_DEFAULTS::DESC 具有以下参数设置:

关键字Parameter_nameConfig_string

NETWORK_DEFAULTS::DESC

A_STORAGE

PCTFREE 0 INITRANS 4 TABLESPACE CITY

NETWORK_DEFAULTS::DESC

D_STORAGE

PCTFREE 0 INITRANS 4 TABLESPACE CITY

NETWORK_BUS::DESC 作为 NETWORK_DEFAULTS::DESC 的变更,可以具有以下设置:

关键字Parameter_nameConfig_string

NETWORK_BUS::DEFAULTS

A_STORAGE

PCTFREE 0 INITRANS 4 TABLESPACE BUS

NETWORK_BUS::DEFAULTS

D_STORAGE

PCTFREE 0 INITRANS 4 TABLESPACE BUS

最后,如果 NETWORK_DEFAULTS::NETWORK 具有以下参数值:

关键字Parameter_nameConfig_string

NETWORK_DEFAULTS::NETWORK

A_STORAGE

PCTFREE 0 INITRANS 4 TABLESPACE CITY

NETWORK_DEFAULTS::NETWORK

D_STORAGE

PCTFREE 0 INITRANS 4 TABLESPACE CITY

NETWORK_BUS::NETWORK 作为 NETWORK_DEFAULTS::NETWORK 的变形,可以具有以下参数值:

关键字Parameter_nameConfig_string

NETWORK_BUS::NETWORK

A_STORAGE

PCTFREE 0 INITRANS 4 TABLESPACE BUS

NETWORK_BUS::NETWORK

D_STORAGE

PCTFREE 0 INITRANS 4 TABLESPACE BUS

拓扑配置关键字

注:

当前 ArcGIS Pro 版本中不支持拓扑创建。

在创建拓扑时,使用拓扑配置关键字控制拓扑表的存储。

拓扑配置关键字是复合关键字。默认的 TOPOLOGY 复合关键字有:

TOPOLOGY_DEFAULTS
TOPOLOGY_DEFAULTS::DIRTYAREAS

TOPOLOGY_DEFAULTS::DIRTYAREAS 用于指定 DIRTYAREAS 拓扑表的存储方式。

如果在创建拓扑时不选择其他拓扑关键字,将使用 TOPOLOGY_DEFAULTS 和 TOPOLOGY_DEFAULTS::DIRTYAREAS 关键字指定拓扑表的存储方式。

如果不想使用默认拓扑关键字,地理数据库管理员可以创建新拓扑关键字,用来指定与默认值不同的其他存储参数。

下面的示例描述了此过程:

  • 用户正在 Oracle 中使用地理数据库。
  • 大部分数据使用 ArcSDE 压缩二进制 (SDELOB) 格式存储在表空间 MAIN 中。所有在此数据上创建的拓扑也存储在表空间 MAIN 中。TOPOLOGY_DEFAULTS 的部分参数值如下:

    拓扑配置关键字

    关键字Parameter_nameConfig_string

    TOPOLOGY_DEFAULTS

    B_INDEX_ROWID

    PCTFREE 0 INITRANS 4 TABLESPACE MAIN STORAGE (INITIAL 409600) NOLOGGING

    TOPOLOGY_DEFAULTS

    B_INDEX_SHAPE

    PCTFREE 0 INITRANS 4 TABLESPACE MAIN STORAGE (INITIAL 409600) NOLOGGING

    TOPOLOGY_DEFAULTS

    B_INDEX_USER

    PCTFREE 0 INITRANS 4 TABLESPACE MAIN STORAGE (INITIAL 409600) NOLOGGING

    TOPOLOGY_DEFAULTS

    B_STORAGE

    PCTFREE 0 INITRANS 4 TABLESPACE MAIN STORAGE (INITIAL 409600)

    TOPOLOGY_DEFAULTS 示例
  • 部分数据以 Oracle Spatial 格式 (SDO_GEOMETRY) 存储在表空间 SDO 中。
  • 建议所有参与同一拓扑的数据均使用相同的几何存储类型。
  • 因为所有的 SDO_GEOMETRY 数据都存储在表空间 SDO 中,因而用户希望与 SDO 数据一起使用的拓扑表也存储到 SDO 表空间中。
  • 用户可请求地理数据库管理员创建自定义拓扑关键字以指定此存储方式。地理数据库管理员可创建和配置以下关键字:

    TOPOLOGY_SDO
    TOPOLOGY_SDO::DIRTYAREAS

    TOPOLOGY_SDO 的部分参数值如下:

    关键字Parameter_nameConfig_string

    TOPOLOGY_SDO

    B_INDEX_ROWID

    PCTFREE 0 INITRANS 4 TABLESPACE SDO STORAGE (INITIAL 409600) NOLOGGING

    TOPOLOGY_SDO

    B_INDEX_SHAPE

    PCTFREE 0 INITRANS 4 TABLESPACE SDO STORAGE (INITIAL 409600) NOLOGGING

    TOPOLOGY_SDO

    B_INDEX_USER

    PCTFREE 0 INITRANS 4 TABLESPACE SDO STORAGE (INITIAL 409600) NOLOGGING

    TOPOLOGY_SDO

    B_STORAGE

    PCTFREE 0 INITRANS 4 TABLESPACE SDO STORAGE (INITIAL 409600)

  • 为 SDO_GEOMETRY 数据创建拓扑时,请指定 TOPOLOGY_SDO 配置关键字,从而将所有拓扑表存储到 SDO 表空间中。

地形配置关键字

在创建地形时,使用地形配置关键字控制地形表的存储。

地形配置关键字是复合关键字。默认 TERRAIN 复合关键字有:

TERRAIN_DEFAULTS
TERRAIN_DEFAULTS::EMBEDDED

TERRAIN_DEFAULTS::EMBEDDED 控制 DTM_<ID>_DISCONNECT_ <OID> 表的默认存储方式。TERRAIN_DEFAULTS 用来控制组成地形数据集的其他所有表的存储。

与网络和拓扑关键字一样,地理数据库管理员也可以创建用来指定其他存储信息的自定义关键字。