The SEDRIS Data Representation Model
APPENDIX A - Classes
Attribute Set

Class Name: Attribute Set

Superclass - <SEDRIS Abstract Base>

Subclasses

This DRM class is concrete and has no subclasses.

Definition

An instance of this DRM class groups together a set of instances of classes that

  1. have formal component relationships with <Geometry> and / or <Feature>, and
  2. that specify either 'attributes', such as <Rendering Priority Level>, or metadata.

An <Attribute Set> instance provides a mechanism for a set of 'attributes' to be explicitly reused by many <Geometry> and / or < Feature> instances.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

Example

  1. A number of polygons that are all coloured red and rendered using flat shading each contain the same <Attribute Set Index>, which references an <Attribute Set> containing a <Colour> instance specifying red and a <Rendering Properties> instance specifying flat shading.

  2. A number of polygons that are all coloured green, have grass texture that is modulated and have an EAC_SURFACE_MATERIAL_TYPE specifying EEC_SRF_MATTY_GRASS. A common <Attribute Set Index> specifies an <Attribute Set> containing:

    1. a <Colour> instance specifying green,

    2. an <Image Mapping Function> instance specifying image_mapping_method = SE_IMG_MAPNG_METH_MODULATE, and

    3. a <Property Value> instance specifying an EAC_SURFACE_MATERIAL_TYPE value of EEC_SRF_MATTY_GRASS.

  3. A number of polygons that all have the same electromagnetic properties and are coloured grey. A common <Attribute Set> would contain a <Colour> instance specifying grey and a <Property Table Reference> into a <Property Table> of electromagnetic properties.
  4. A <Feature> is associated with a <Geometry> that has been developed from it. Both reference the same <Attribute Set>, which contains a <Colour> instance, <Image Mapping Function> and <Browse Media>. The < Geometry> would use the <Colour> and <Image Mapping Function> but ignore the <Browse Media>.
  5. Consider a <Feature> instance with a <Data Quality> component, the fictional field of which is set to SE_TRUE. This particular <Feature> instance also has an <Attribute Set Index> component, referencing an <Attribute Set> containing a <Data Quality> instance, the fictional field of which is set to SE_FALSE. Since a <Feature> may contain at most one <Data Quality> instance, the <Data Quality> instance with fictional set to SE_TRUE would be used, as it is contained directly by the < Feature> instance.
  6. Consider a <Geometry> instance with two <Property Table Reference> components, which references an <Attribute Set> that contains another three <Property Table Reference> instances, where all 5 have distinct meanings. As a < Geometry> may contain many <Property Table Reference> instances, all five will be used by the <Geometry> as required. The two that are contained directly will be used first, then the three that are contained in the < Attribute Set>.
  7. Consider a Polygon instance with two <Image Mapping Function> components, which references an <Attribute Set> that contains another two. As a < Primitive Geometry> may contain many ordered <Image Mapping Function> instances, all four will be used by the <Polygon> as required. The two that are contained directly will be used in order first, then the three that are contained in the <Attribute Set>, again in order.
  8. A <Union Of Primitive Geometry> contains two <Property Table References> and references two <Attribute Sets>. The first <Attribute Set> contains another <Property Table Reference> and and the second contains < Attribute Set> contains another three <Property Table References>. As an <Aggregate Geometry> may contain many <Property Table Reference> instances, all six would be used by the <Union Of Primitive Geometry> as required. The two that are contained directly would be used first, then the one that is contained in the first < Attribute Set> and finally the three that are contained in the second <Attribute Set>.

FAQs

Where can I find more information on 'attribute' objects?

See Part 4, Volume 9 Attribute Inheritance and Context Technical Guide of the SEDRIS Documentation Set for further information.

What is the order of precedence for 'attribute' objects within a single <Attribute Set> instance?

A <Geometry> or <Feature> instance may contain a number of formal attribute and / or meta data components in addition to an <Attribute Set Index>. If there is a conflict between the two, then the directly attached components of the <Geometry> or <Feature> take precedence over those in the < Attribute Set>. This precedence will behave differently depending on the multiplicity of the relationship that the class of the component in question has with the aggregating <Geometry> or <Feature>. In the event of a clash, the following rules will apply based on this multiplicity:
Zero or one The direct component of the <Geometry> or <Feature> is used.
Zero or more The direct components of the <Geometry> or <Feature> are used, followed by those contained in the <Attribute Set>, if required.
Zero or more
{ordered}
The direct components of the <Geometry> or <Feature> are used in order, followed by those contained in the <Attribute Set>, in order, as required.

What if a <Geometry> or < Feature> has more than one < Attribute Set Index>, where the referenced < Attribute Set> instances have conflicting attribute objects?

The relationships between <Geometry> and <Feature> and the <Attribute Set Index> class are ordered, so that precedence can be determined for this case.

In case of a conflict, attribute objects contained in <Attribute Set> instances take precedence according to

  1. the order of the < Attribute Set Index> components referring to them, with regard to conflicts between <Attribute Sets> and
  2. the rules sited in the previous FAQ, with regard to conflicts with formal components of the referencing object.

What if an <Attribute Set> contains attribute objects that are related to <Features> but is referenced by a <Geometry> object? Or vice versa?

Any attribute objects in an <Attribute Set> that have no meaning to the object that references the <Attribute Set> will be ignored.

Constraints

Composed of (two-way)

Composed of (two-way metadata)

Component of (two-way)

Inherited Field Elements

This class has no inherited field elements.
Prev: Attachment Point. Next: Attribute Set Index. Up:Index.

Last updated: October 1, 2002 Copyright © 2002 SEDRIS™