The SEDRIS Data Representation Model
APPENDIX B - Constraints Valid Node Edge Relationships |
---|
The following specifies the constraints for forming valid relationships between <Feature Node>/<Geometry Node> instances and <Feature Edge>/<Geometry Edge> instances, respectively:
A <Feature Node> instance FN has the following relationship with its <Feature Edge> instances, if any exist.
For each <Feature Edge> instance FE that has FN as a starting node, FN shall be associated with FE through the use of an <Edge Direction> link object with a forwards field value of SE_TRUE.
For each <Feature Edge> instance FE that has FN as a ending node, FN shall be associated with FE through the use of an <Edge Direction> link object with a forwards field value of SE_FALSE.
Consequently, for any <Feature Edge> instance FE with which FN is associated, 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, through the use of distinct <Edge Direction> link objects, if FE is a loop.
A <Geometry Node> instance GN has the following relationship with its associated <Geometry Edge> instances, if any exist.
For each <Geometry Edge> instance GE that has GN as a starting node, GN shall be associated with GE through the use of an <Edge Direction> link object with a forwards field value of SE_TRUE.
For each <Geometry Edge> instance GE that has GN as a ending node, GN shall be associated with GE through the use of an <Edge Direction> link object with a forwards field value of SE_FALSE.
Consequently, for any given <Geometry Edge> instance GE with which GN is associated, 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.
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.
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.
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.
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.
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.
|