Composite keywords and geometry storage

The composite keyword is a unique type of keyword used when you create a network, terrain, or topology class. They allow you to store tables from the same network, terrain, or topology class in separate spaces. You would do this, for instance, if one table is much more active than the others or if one table in the class is much larger than the others.

Composite configuration keywords are divided into elements: the parent element, which does not have a suffix, and the composite keyword elements, which are demarcated by the addition of the ::<element name> suffix to the parent element's configuration keyword.

You can create composite keywords of your own, but the ones present by default are the NETWORK_DEFAULTS, TOPOLOGY_DEFAULTS, and TERRAIN_DEFAULTS composite keywords.

Network composite keywords

For the NETWORK class, NETWORK_DEFAULTS is the parent class. The other elements of the NETWORK class composite keyword are NETWORK_DEFAULTS::DESC and NETWORK_DEFAULTS::NETWORK. When you use NETWORK_DEFAULTS for your network class, parameters and values are read from all three configuration keywords.

If you want to create your own set of network configuration keywords, you could create, for example:

NETWORK_HWY
NETWORK_HWY::DESC
NETWORK::HWY::NETWORK

As with all custom keywords, you would specify the storage values you want to use for special, nondefault network classes. In this example, you would specify NETWORK_HWY to create a network class, and ArcGIS will use the NETWORK_HWY, NETWORK_HWY::DESC, and NETWORK_HWY::NETWORK keywords.

If you do not choose a network class composite configuration keyword from the ArcGIS interface, the network is created with the storage parameters within the NETWORK_DEFAULTS composite configuration keyword.

Terrain composite keywords

The TERRAIN composite keyword controls the storage of the following tables created for terrain datasets:

The terrain keywords are TERRAIN_DEFAULTS, which controls the default storage of the first four tables listed above, and TERRAIN_DEFAULTS::EMBEDDED, which controls the storage of the DTM_<ID>_EMBED_# tables. DTM_<ID>_EMBED_# tables store embedded feature classes. For this reason, they could be much larger than the other terrain tables; therefore, you may want to alter the storage parameters of the TERRAIN_DEFAULTS::EMBEDDED keyword to store these tables in a different place or in a different sized extent, depending on the DBMS you use to store your geodatabase.

LicenseLicense:

You must have the ArcGIS 3D Analyst extension installed and active to create terrains.

Topology composite keywords

The TOPOLOGY composite keyword controls the storage of topology tables. Your enterprise geodatabase must have a valid topology keyword in the DBTUNE table for topology to be built. The TOPOLOGY composite keyword consists of the parent element, TOPOLOGY_DEFAULTS, and TOPOLOGY_DEFAULTS::DIRTYAREAS, which indicates where the DIRTYAREAS topology table will be stored. The DIRTYAREAS table can grow quite large and is very active in versioned geodatabases. Therefore, if your geodatabase uses topology and a lot of versioned editing takes place on the data, you might want to alter the parameter values of TOPOLOGY_DEFAULTS::DIRTYAREAS to store the DIRTYAREAS table components in a separate storage location; by default, they have the same storage settings as the topology table.

Geometry and topology keywords

Datasets that participate in the same topology should use the same geometry storage type; if they do not, you may experience some topology errors due to slight variations in the way the data is stored. These variations are extremely small in most cases but could cause a violation of one or more of your topology rules. Therefore, if you create some of your feature classes with the nondefault geometry storage type and plan to build topology on them, you should create your own custom topology composite configuration keyword that includes the GEOMETRY_STORAGE parameter set to the nondefault storage type.

For example, if you are using a geodatabase in PostgreSQL and you leave your DEFAULTS GEOMETRY_STORAGE parameter set to ST_GEOMETRY but some of your data is stored using the PostGIS geometry type, if you want to create a topology that includes feature classes that use PostGIS geometry storage, you must specify a topology composite keyword that contains the GEOMETRY_STORAGE parameter set to GEOMETRY.

For example, a keyword for topology that includes a setting for the PostGIS geometry type might look something like the following:

##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

In this example, the UI_TOPOLOGY_TEXT parameter is included to allow users to choose this keyword when creating topologies from ArcGIS. The GEOMETRY_STORAGE parameter is set to GEOMETRY, so the dirtyarea and shape fields in the topology system tables will use the PostGIS geometry storage type.

Composite keywords for advanced users

You can also create custom composite keywords if you want to store tables from the same network, terrain, or topology class in different storage locations. You would do this, for instance, if one table is much more active than the others or if one table in the class is much larger than the others.

When you create custom composite keywords, remember that your configuration keyword name cannot exceed 32 characters.

Also remember that if any required parameters are not defined in the custom keyword, they are read from the DEFAULTS keyword.

8/25/2014