复合关键字与几何存储
复合关键字是一种独特的关键字类型,通常用在创建网络、terrain 或拓扑类时。它们能够将同一网络、terrain 或拓扑类中的表存储在单独空间内。例如,如果某个表要比其他表活跃得多或者类中的某个表要比其他表大得多,用户就会想将其存储到单独的空间。
复合配置关键字可划分为以下元素:没有后缀的父元素,以及通过在父元素的配置关键字上添加 ::<元素名称> 后缀而进行区分的复合关键字元素。
可以创建自己的复合关键字,但默认的复合关键字有 NETWORK_DEFAULTS、TOPOLOGY_DEFAULTS 和 TERRAIN_DEFAULTS。
网络复合关键字
对于 NETWORK 类,NETWORK_DEFAULTS 是父类。NETWORK 类复合关键字的其他元素有 NETWORK_DEFAULTS::DESC 和 NETWORK_DEFAULTS::NETWORK。将 NETWORK_DEFAULTS 用于网络类时,将从所有这三个配置关键字中读取参数和值。
如果要创建自己的网络配置关键字集,则可创建:
NETWORK_HWY NETWORK_HWY::DESC NETWORK::HWY::NETWORK
与所有自定义关键字一样,您将指定要用于特殊的非默认网络类的存储值。在此例中,您指定 NETWORK_HWY 来创建网络类后,ArcGIS 将使用 NETWORK_HWY、NETWORK_HWY::DESC 和 NETWORK_HWY::NETWORK 关键字。
如果未从 ArcGIS 界面选择网络类复合配置关键字,将使用 NETWORK_DEFAULTS 复合配置关键字中的存储参数创建网络。
地形复合关键字
TERRAIN 复合关键字用于控制针对地形数据集创建的以下各表的存储:
- DTM_<ID>_COMPOSITETILES
- DTM_<ID>_DIRTYAREA
- DTM_<ID>_INSIDETILES
- DTM_<ID>_MRFC
- DTM_<ID>_EMBED_#
- DTM_<ID>_PROPS
terrain 关键字包括 TERRAIN_DEFAULTS 和 TERRAIN_DEFAULTS::EMBEDDED,前者用于控制以上列出的前四个表的默认存储方式,后者用于控制 DTM_<ID>_EMBED_# 表的存储方式。DTM_<ID>_EMBED_# 表存储嵌入的要素类。为此,它们可能要比其他 terrain 表大得多;因此,根据用于存储地理数据库的 DBMS,可能要修改 TERRAIN_DEFAULTS::EMBEDDED 关键字的存储参数,以在不同位置或不同大小的范围内存储这些表。
必须安装并激活 ArcGIS 3D Analyst 扩展模块才能创建 terrain。
拓扑复合关键字
TOPOLOGY 复合关键字用于控制拓扑表的存储。地理数据库的 DBTUNE 表中必须具有用于构建拓扑的有效拓扑关键字。TOPOLOGY 复合关键字由父元素 TOPOLOGY_DEFAULTS 和用来指示 DIRTYAREAS 拓扑表存储位置的 TOPOLOGY_DEFAULTS::DIRTYAREAS 组成。DIRTYAREAS 表可以变得非常大,并且在版本化地理数据库中非常活跃。因此,如果地理数据库使用拓扑,并且对数据进行大量版本化编辑,可能需要更改 TOPOLOGY_DEFAULTS::DIRTYAREAS 的参数值以在单独的存储位置存储 DIRTYAREAS 表组件;默认情况下,这些表组件的存储设置与拓扑表相同。
几何和拓扑关键字
参与同一拓扑的数据集应使用相同的几何存储类型;如果不是这样,可能出现一些因数据存储方式稍有变化而引起的拓扑错误。大多数情况下,这些变化非常小,但可能会违反一条或多条拓扑规则。因此,如果使用非默认存储类型创建一些要素类并要对其构建拓扑,应创建自定义拓扑复合配置关键字,将其所含 GEOMETRY_STORAGE 参数设置为非默认存储类型。
例如,如果正在使用 PostgreSQL 中的地理数据库,并将 DEFAULTS GEOMETRY_STORAGE 参数设置为 ST_GEOMETRY,但某些数据使用 PostGIS 几何类型存储,此时如果要创建所含要素类使用 PostGIS 几何存储的拓扑,必须指定所含 GEOMETRY_STORAGE 参数已设置为 GEOMETRY 的拓扑复合关键字。
例如,一个包括 PostGIS 几何类型设置的拓扑关键字可能类似于:
##TOPOLOGY_PG_GEOMETRY UI_TOPOLOGY_TEXT "Topology setting for PostGIS GEOMETRY" GEOMETRY_STORAGE "GEOMETRY" A_STORAGE "TABLESPACE pgtblspace" B_STORAGE "TABLESPACE pgtblspace" D_STORAGE "TABLESPACE pgtblspace" END ##TOPOLOGY_PG_GEOMETRY::DIRTYAREAS GEOMETRY_STORAGE "GEOMETRY" A_STORAGE "TABLESPACE pgtblspace" B_STORAGE "TABLESPACE pgtblspace" D_STORAGE "TABLESPACE pgtblspace" END
本例中,UI_TOPOLOGY_TEXT 参数已包括在内,以允许用户在通过 ArcGIS 创建拓扑时选择此关键字。GEOMETRY_STORAGE 参数已设置为 GEOMETRY,以使拓扑系统表中的 dirtyarea 和 shape 字段使用 PostGIS 几何存储类型。
针对高级用户的复合关键字
如果要将同一网络、terrain 或拓扑类中的表存储在不同存储位置,还可创建自定义复合关键字。例如,如果某个表要比其他表活跃得多或者类中的某个表要比其他表大得多,用户就会想将其存储到单独的空间。
创建自定义复合关键字时请记住,配置关键字名称不能超过 32 个字符。
还要记住,如果未在自定义关键字中定义所需参数,系统会从 DEFAULTS 关键字读取。