The SEDRIS Data Representation Model
APPENDIX B - Constraints
Valid Node Edge Relationships

Definition

  1. A <Feature Node> instance FN has the following relationship with its associated <Feature Edge> instances, if any exist.

    1. For each <Feature Edge> instance FE that has FN as a starting node, FN shall be associated to FE.

    2. For each <Feature Edge> instance FE that has FN as an ending node, FN shall be associated to FE.

    3. If FN is neither the starting nor ending node of a given <Feature Edge> instance FE, FN shall not be associated to FE.

    4. Consequently, for any given <Feature Edge> instance FE of which FN is a starting or ending node, FE shall appear among the associates of FN either:

      • once, if FN is FE's starting node and not its ending node,
      • once, if FN is FE's ending node and not its starting node,
      • twice, if FE is a loop.
  2. A <Geometry Node> instance GN has the following relationship with its associated <Geometry Edge> instances, if any exist.

    1. For each <Geometry Edge> instance GE that has GN as a starting node, GN shall be associated to GE.

    2. For each <Geometry Edge> instance GE that has GN as an ending node, GN shall be associated to GE.

    3. If GN is neither the starting nor ending node of a given <Geometry Edge> instance GE, GN shall not be associated to GE.

    4. Consequently, for any given <Geometry Edge> instance GE of which GN is a starting or ending node, GE shall appear among the associates of GN once, where GN is either GE's starting node or GE's ending node but not both.

Rationale

The associations between <Feature Node> and <Feature Edge> implement a boundary/co-boundary relationship. This topological relationship must be consistent, and must be consistent with the geometric representation of these objects.

The associations between <Geometry Node> and <Geometry Edge> implement a boundary/co-boundary relationship. This topological relationship must be consistent, and must also be consistent with the geometric counterparts of these objects.

Example

  1. Consider a <Feature Edge> instance E1 that has distinct starting and ending <Feature Node> instances N1 and N2. N1 shall be associated to E1, and N2 shall also be associated to E1.

  2. Consider a <Geometry Edge> instance E1 that has distinct starting and ending <Geometry Node> instances N1 and N2. N1 shall be associated to E1, and N2 shall also be associated to E1.

FAQs

For a <Feature Edge> instance FE that forms a loop (that is, a <Feature Edge> instance for which the starting <Feature Node> instance and ending <Feature Node> instance are the same <Feature Node> instance), how many times does FE appear in that <Feature Node> instance's list of associated <Feature Edge> instances?

Twice, with <Edge Direction> instances having opposite field values. A <Feature Edge> instance with distinct starting and ending <Feature Node> instances would appear only once.

For a <Geometry Edge> instance GE that forms a loop (that is, a <Geometry Edge> instance for which the starting <Geometry Node> instance and ending <Geometry Node> instance are the same <Geometry Node> instance), how many times does GE appear in that <Geometry Node> instance's list of associated <Geometry Edge> instances?

This case can never occur for a <Geometry Edge> instance GE, because GE corresponds to either a <Linear Geometry> instance or one of the edges of a <Polygon> instance, neither of which permits loops to occur.


Prev: Union Organizing Principle. Next: Variable Meaning Constraints. Up:Index.