IS:netElement

From railML 3 Wiki
Jump to navigation Jump to search

Introduction

This concept is explained on the RailTopoModel® wiki at TOPO:Topological structure (network)

Documentation

Syntax

Autoexport from the XML-Schema for element IS:netElement of railML® version 3.2
Documentation

The NetElement type is derived from the RailTopoModel class PositioningNetElement.

Subschema

infrastructure

Parents*
Children
Attributes:

  • length: length of the NetElement in metres (optional; xs:decimal),

  • id: the identifier of the object; this can be either of type xs:ID or UUID (obligatory; xs:string; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}); compare: Dev:Identities
*Notice:
Elements may have different parent elements. As a consequence they may be used in different contexts.
Please, consider this as well as a user of this wiki as when developing this documentation further.
Aspects that are only relevant with respect to one of several parents should be explained exclusively in the documentation of the respective parent element.

Autoexport from the XML-Schema for element IS:netElement of railML® version 3.1
Documentation

The NetElement type is derived from the RailTopoModel class PositioningNetElement.

Subschema

infrastructure

Parents*
Children
Attributes:

  • length: length of the NetElement in metres (optional; xs:decimal),

  • id: the identifier of the object; this can be either of type xs:ID or UUID (obligatory; xs:ID; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}); compare: Dev:Identities
*Notice:
Elements may have different parent elements. As a consequence they may be used in different contexts.
Please, consider this as well as a user of this wiki as when developing this documentation further.
Aspects that are only relevant with respect to one of several parents should be explained exclusively in the documentation of the respective parent element.


Changes 3.1→3.2

The children have changed.

The attributes have been changed.

Semantics

Private-cloud-icon.png Proposed Semantic Constraint "IS:008":
 
Aggregation of net elements should follow the tree data structure. See figure below.

This means that no two (mesoscopic) net elements can aggregate same (microscopic) net element. In other words, (microscopic) net element can be aggregated by at most one (mesoscopic) net element.



 
Proposed on February 26th 2021
Discuss this semantic constraint
Please, recognize our guidelines on semantic constraints


Private-cloud-icon.png Proposed Semantic Constraint "IS:009":
 
Linear (geometric) coordinates (explicit or implicit, e.g. calculated as a sum of the coordinate of beginning and the length of the net element) of the same place represented at different levels of aggregation should have the same value. In the figure below (linear) coordinate the coordinate of e.g. end of ne1 should be same as one of ne1.2.



 
Proposed on February 26th 2021
Discuss this semantic constraint
Please, recognize our guidelines on semantic constraints

Private-cloud-icon.png Proposed Semantic Constraint "IS:010":
 
Difference of linear coordinates if the beginning and end of net elements, represented by intrinsic coordinates 0 and 1 correspondingly, should equal the the @length of net element if all are present in the data.
 
Proposed on February 26th 2021
Discuss this semantic constraint
Please, recognize our guidelines on semantic constraints

Private-cloud-icon.png Proposed Semantic Constraint "IS:011":
 
Aggregation must not happen within the same level of detail. In the figure below, element 1.1 must not aggregate element 1.2. This means that aggregating and aggregated net elements must not be referred from the same <level>



 
Proposed on February 29th 2024
Discuss this semantic constraint
Please, recognize our guidelines on semantic constraints



    ┌──────────────────────────────────────────────────────────┐     ┌───────────────────────────────────────────────────────┐
    │                                                          │     │                                                       │
    │                        net element 1                     │     │                     net element                       │
    │                                                          │     │                                                       │
    │                                                          │     │                                                       │
    └──────────────────────────────────────────────────────────┘     └───────────────────────────────────────────────────────┘
                              disjoint set                                                    disjoint set
 ┌───────────────────────────────────────────────────────────────┐ ┌────────────────────────────────────────────────────────────┐
 │                                                               │ │                                                            │
    ┌──────────────────────────┐    ┌──────────────────────────┐     ┌──────────────────────────┐ ┌──────────────────────────┐
    │                          │    │                          │     │                          │ │                          │
    │ net element 1.1          │    │ net element 1.2          │     │ net element              │ │ net element              │
    │                          │    │                          │     │                          │ │                          │
    │                          │    │                          │     │                          │ │                          │
    └──────────────────────────┘    └──────────────────────────┘     └──────────────────────────┘ └──────────────────────────┘
    ┌───────────┐  ┌───────────┐    ┌───────────┐  ┌───────────┐     ┌───────────┐  ┌───────────┐ ┌───────────┐  ┌───────────┐
    │ net       │  │ net       │    │           │  │           │     │           │  │           │ │           │  │           │
    │ element   │  │ element   │    │ net       │  │ net       │     │ net       │  │ net       │ │ net       │  │ net       │
    │ 1.1.1     │  │ 1.1.2     │    │ element   │  │ element   │     │ element   │  │ element   │ │ element   │  │ element   │
    └───────────┘  └───────────┘    └───────────┘  └───────────┘     └───────────┘  └───────────┘ └───────────┘  └───────────┘
   │                            │ │                             │    │                           │
   └────────────────────────────┘ └─────────────────────────────┘    └───────────────────────────┘
           disjoint set                     disjoint set                      disjoint set



Best Practice / Examples

Additional Information

Notes

Usually parent net element is referred as "aggregating" net element and child is referred as "aggregated" net element. In the figure above on the highest level of aggregation (e.g. macroscopic) ne1 is aggregating net element and ne1.1 is aggregated net element. On the second level of aggregation (e.g. mesoscopic) ne1.1 is aggregating net element and ne1.1.1 is an aggregated net element.

Open Issues