IS:balise

From railML 3 Wiki
Jump to navigation Jump to search


Balise

Introduction

🗒️ This article uses the unit label meter.

As the reference for this Wiki is British English, the correct label is metre.

Wherever the label meter occurs, it is meant equivalently to metre.

 

Relation between railML elements <baliseGroup> and <balise>

In balise based ATP systems, each <balise> belongs to a “balise group”.

Consequently, for balise based ATP systems, there are two levels of description: the higher level “balise group”, which is presented by the railML® element <baliseGroup> and the more detailed level <balise>, presented by the railML® element <balise>.

Usually, the definition of balise groups in the track layout is sufficient for the most purposes and it is not necessary additionally to give information about each balise of a balise group, because all relevant information for the ATP software engineering can be derived from the element <baliseGroup>. For example, all variables required for an ETCS balise telegram header according to SUBSET-026 (versions 2.3.0, 3.4.0 or 3.6.0), section 8.4.2.1, can be calculated from the information given by element <baliseGroup>.

Nevertheless, railML® provides the possibility to specify each balise of a balise group, which can make sense in cases where the exact location of each balise in a balise group is important, for example for special test purposes or for the mounting and installation of the balises.

Conclusion:

The use of railML® <balise> elements is optional.

But if railML® <balise> elements are used, then the railML® <baliseGroup> elements are mandatory. Each <balise> element must reference a <baliseGroup> element.

Concept of the railML element <balise>

Correspondent to the concept of railML® element <baliseGroup>, also the railML® element <balise> is suitable for all balise based ATP systems. This means, a railML® element <balise> can be a KVB balise, an Ebicab balise, a RSDD balise (together known as KER balises) or an Eurobalise.

The general information provided for all hardware types of balises is:

  • the location of the balise (using sub-element spotLocation)
  • to which balise group the balise belongs to (using attibute belongsToBaliseGroup)
  • the distance to the predecessor balise within the group (using attribute distanceToPredecessorBaliseWithinGroup)

In case of Eurobalise, the optional sub-element “isEurobalise“ shall be used to specify the ETCS related information:

  • the value of UNISIG variable N_PIG (provided in railML® by attribute positionInGroup), which is defined by UNISIG in SUBSET-026 (versions 2.3.0, 3.4.0 or 3.6.0), section 7.5.1.81
  • the value of UNISIG variable M_DUP (provided in railML® by attribute duplicate), which is defined by UNISIG in SUBSET-026 (versions 2.3.0, 3.4.0 or 3.6.0), section 7.5.1.63 and
  • the value of UNISIG variable M_VERSION (provided in railML® by attribute mVersion), which is defined by UNISIG in SUBSET-026 (versions 2.3.0, 3.4.0 or 3.6.0), section 7.5.1.79

Documentation

Syntax

Autoexport from the XML-Schema for element IS:balise of railML® version 3.3
    
Description defines a single balise and its attributes. A balise is an electronic beacon or transponder placed between the rails of a railway as part of an Automatic Train Protection (ATP) system.
Subschema infrastructure
Parents*

balises

Children**

name (0..*), isValid (0..*), areaLocation (0..*), linearLocation (0..*), spotLocation (0..*), gmlLocation (0..*), networkLocation (0..*), designator (0..*), typeDesignator (0..*), elementState (0..*), isEurobalise (0..1)

Attributes:

  • belongsToBaliseGroup: reference to the balise group that this balise belongs to (obligatory: tRef : xs:IDREF),

  • distanceToPredecessorBaliseWithinGroup: distance to predecessor balise in balise group in meters (optional: tLengthM : xs:decimal),

  • type: type of balise: fixed or controlled (optional: tBaliseType : xs:string)
Possible values:
  • controlled: describes a controlled data balise
  • fixed: describes a fixed data balise,

  • id: the file-internal ID of the object (obligatory: tID : xs:ID): 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.
**Notice:
To learn, how to interpret multiplicity information like (0..*) go to Class diagram ()


 

Autoexport from the XML-Schema for element IS:balise of railML® version 3.2
    
Description defines a single balise and its attributes. A balise is an electronic beacon or transponder placed between the rails of a railway as part of an Automatic Train Protection (ATP) system.
Subschema infrastructure
Parents*

balises

Children**

name (0..*), isValid (0..*), areaLocation (0..*), linearLocation (0..*), spotLocation (0..*), gmlLocations (0..*), networkLocation (0..*), designator (0..*), external (0..*), typeDesignator (0..*), isEurobalise (0..1)

Attributes:
  • baliseGroupType: DEPRECATED with railML 3.2;
    type of balise group: fixed, transparent or infill (optional: tBaliseGroupTypeExt : xs:string: patterns: other:\w{2,}; consider Use of tOtherEnumerationValue too.)
Possible values:
  • fixed
  • infill
  • signal,

  • belongsToBaliseGroup: reference to the balise group that this balise belongs to (optional: tRef : 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}\}),

  • belongsToParent: DEPRECATED with railML 3.2;
    reference to the (one and only) parent balise


    - if some information exists in parent and child, then information in child overwrites it in child

    - if some information exists only in parent, then child inherits this information from parent (optional: tRef : 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:On the differences between belongsToParent and basedOnTemplate,

  • distanceToPredecessorBaliseWithinGroup: distance to predecessor balise in balise group in meters (optional: tLengthM : xs:decimal),

  • isBaliseGroup: DEPRECATED with railML 3.2, use BaliseGroup instead;
    indicate whether the <balise> represents a balise group (optional: xs:boolean : xs:boolean),

  • type: type of balise: fixed or controlled (optional: tBaliseType : xs:string)
Possible values:
  • controlled: describes a controlled data balise
  • fixed: describes a fixed data balise
  • transparent: DEPRECATED with railML 3.2, use value 'controlled' instead,

  • id: the identifier of the object; this can be either of type xs:ID or UUID (obligatory: tID : 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.
**Notice:
To learn, how to interpret multiplicity information like (0..*) go to Class diagram ()


 

Autoexport from the XML-Schema for element IS:balise of railML® version 3.1
    
Description This element is not documented in the schema!
Subschema infrastructure
Parents*

balises

Children**

name (0..*), isValid (0..*), areaLocation (0..*), linearLocation (0..*), spotLocation (0..*), gmlLocations (0..*), networkLocation (0..*), designator (0..*), external (0..*), any (0..*)

Attributes:
  • type: type of balise: fixed or transparent (optional: tBaliseType : xs:string)
Possible values:
  • transparent
  • fixed,

  • isBaliseGroup: indicate whether the <balise> represents a balise group (optional: xs:boolean : xs:boolean),

  • baliseGroupType: type of balise group: fixed, transparent or infill (optional: tBaliseGroupTypeExt : xs:string: patterns: other:\w{2,}; consider Use of tOtherEnumerationValue too.)
Possible values:
  • signal
  • infill
  • fixed,

  • id: the identifier of the object; this can be either of type xs:ID or UUID (obligatory: tID : 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.
**Notice:
To learn, how to interpret multiplicity information like (0..*) go to Class diagram ()


 


Changes 3.1→3.2

There exists an overview of all changes between railML® 3.1 and railML® 3.2 on page Dev:Changes/3.2.

The element documentation has been changed.

The children have been changed.

The attributes have been changed.

Changes 3.2→3.3

There exists an overview of all changes between railML® 3.2 and railML® 3.3 on page Dev:Changes/3.3.

The children have been changed.

The attributes have been changed.

Semantics

Semantic Constraint "IS:022":
 
The element <balise> shall always use the railML® option <spotLocation> when defining the balise location on the topology.
 
Proposed on 30 April 2025
Approved on 19 May 2025
"Proposal of a semantic constraint for <baliseGroup> (link to the railML® website)".

Please, recognize our guidelines on semantic constraints 

Best Practice / Examples

Example 1 – Eurobalises belonging to a Eurobalise group consisting of 2 fix data balises

This example shows the balise elements belonging to the ETCS balise group presented in section 1.2.1 of railML® element <baliseGroup>.


Figure 6: Example 1 – Balise group of 2 fix data balises

Corresponding railML® description
<balises>
	<balise id="bg1_bal0" type="fixed" belongsToBaliseGroup="bg1" distanceToPredecessorBaliseWithinGroup="0.0">
		<name name="127-00777-0" description="etcsName" language="EN"/>
		<spotLocation id="bg1_bal0_sloc01" netElementRef="ne_101" applicationDirection="both" pos="45.0">
			<linearCoordinate positioningSystemRef="lps01" measure="100045.0"/>
		</spotLocation>
		<isEurobalise positionInGroup="0" duplicate="no" mVersion="32"/>
	</balise>
	<balise id="bg1_bal1" type="fixed" belongsToBaliseGroup="bg1" distanceToPredecessorBaliseWithinGroup="3.0">
		<name name="127-00777-1" description="etcsName" language="EN"/>
		<spotLocation id="bg1_bal1_sloc01" netElementRef="ne_101" applicationDirection="both" pos="48.0">
			<linearCoordinate positioningSystemRef="lps01" measure="100048.0"/>
		</spotLocation>
		<isEurobalise positionInGroup="1" duplicate="no" mVersion="32"/>
	</balise>
</balises>

Example 2 – Eurobalises belonging to a Eurobalise group consisting of 1 fix data balise and 1 controlled balise

This example shows the balise elements belonging to the ETCS balise group presented in section 1.2.2 of railML® element <baliseGroup>.


Figure 7: Example 2 – Balise group of 1 fix data balise and 1 controlled balise

Corresponding railML® description
<balises>
	<balise id="bg2_bal0" type="fixed" belongsToBaliseGroup="bg2" distanceToPredecessorBaliseWithinGroup="0.0">
		<name name="127-00787-0" description="etcsName" language="EN"/>
		<spotLocation id="bg2_bal0_sloc01" netElementRef="ne_102" applicationDirection="both" pos="985.0">
			<linearCoordinate positioningSystemRef="lps01" measure="101985.0"/>
		</spotLocation>
		<isEurobalise positionInGroup="0" duplicate="no" mVersion="16"/>
	</balise>
	<balise id="bg2_bal1" type="controlled" belongsToBaliseGroup="bg2" distanceToPredecessorBaliseWithinGroup="3.0">
		<name name="127-00787-1" description="etcsName" language="EN"/>
		<spotLocation id="bg2_bal1_sloc01" netElementRef="ne_102" applicationDirection="both" pos="982.0">
			<linearCoordinate positioningSystemRef="lps01" measure="101982.0"/>
		</spotLocation>
		<isEurobalise positionInGroup="1" duplicate="no" mVersion="16"/>
	</balise>
</balises>

Example 3 – A Eurobalise belonging to an Eurobalise group consisting of 1 fix data balise

This example shows the balise element belonging to the ETCS balise group presented in section 1.2.4 of railML® element <baliseGroup>.


Figure 8: Example 3 – Balise group of 1 fix data balise

Corresponding railML® description
<balises>
	<balise id="bg4_bal0" type="fixed" belongsToBaliseGroup="bg4" distanceToPredecessorBaliseWithinGroup="0.0">
		<name name="127-00727-0" description="etcsName" language="EN"/>
		<spotLocation id="bg4_bal0_sloc01" netElementRef="ne_104" applicationDirection="both" pos="210.0">
			<linearCoordinate positioningSystemRef="lps01" measure="103210.0"/>
		</spotLocation>
		<isEurobalise positionInGroup="0" duplicate="no" mVersion="16"/>
	</balise>
</balises>

Additional Information

Notes

Open Issues

If the general information provided by the railML® element <balise> is not sufficient for a KER balise application, then please open a request in the railML® forum reporting the missing information to be modelled in railML®. railML.org e.V. will provide a suggestion for modelling the missing information in railML®, for example added by a new optional sub-element “railML/infrastructure/functionalInfrastructure/balises/balise/isEbicabBalise“ which includes the new requested information.