Dev:Intersection of lines of different categories

From railML 2 Wiki
Jump to navigation Jump to search

In this example, two lines of different categories intersect at station1.

2023-09-25 railML intersection of different lines.gif
<railml>
  <infrastructure id="inf01">
    <tracks>
      <track id="yardTrack01"
             name="yard track 01"
             code="12345"
             type="mainTrack">
        <trackTopology>
          <trackBegin id="yardTrack01_tb"
                      pos="0">
            <macroscopicNode ocpRef="yard01"/>
          </trackBegin>
          <trackEnd id="yardTrack01_te"
                    pos="50">
            <macroscopicNode ocpRef="yard01"/>
          </trackEnd>
        </trackTopology>
        <trackElements/>
      </track>
      <track id="yardTrack02"
             name="yard track 02"
             code="6789"
             type="mainTrack">
        <trackTopology>
          <trackBegin id="yardTrack02_tb"
                      pos="0">
            <macroscopicNode ocpRef="yard02"/>
          </trackBegin>
          <trackEnd id="yardTrack02_te"
                    pos="50">
            <macroscopicNode ocpRef="yard02"/>
          </trackEnd>
        </trackTopology>
        <trackElements/>
      </track>
      <track id="yardTrack04"
             name="yard track 04"
             code="2222"
             type="mainTrack">
        <trackTopology>
          <trackBegin id="yardTrack04_tb"
                      pos="0">
            <macroscopicNode ocpRef="yard04"/>
          </trackBegin>
          <trackEnd id="yardTrack04_te"
                    pos="50">
            <macroscopicNode ocpRef="yard04"/>
          </trackEnd>
        </trackTopology>
        <trackElements/>
      </track>
      <track id="yardTrack05"
             name="yard track 05"
             code="3333"
             type="mainTrack">
        <trackTopology>
          <trackBegin id="yardTrack05_tb"
                      pos="0">
            <macroscopicNode ocpRef="yard05"/>
          </trackBegin>
          <trackEnd id="yardTrack05_te"
                    pos="50">
            <macroscopicNode ocpRef="yard05"/>
          </trackEnd>
        </trackTopology>
        <trackElements/>
      </track>
      <track id="yardTrack06"
             name="yard track 06"
             code="4444"
             type="mainTrack">
        <trackTopology>
          <trackBegin id="yardTrack06_tb"
                      pos="0">
            <macroscopicNode ocpRef="yard06"/>
          </trackBegin>
          <trackEnd id="yardTrack06_te"
                    pos="50">
            <macroscopicNode ocpRef="yard06"/>
          </trackEnd>
        </trackTopology>
        <trackElements/>
      </track>
      <track id="yardTrack07"
             name="yard track 07"
             code="5555"
             type="mainTrack">
        <trackTopology>
          <trackBegin id="yardTrack07_tb"
                      pos="0">
            <macroscopicNode ocpRef="yard07"/>
          </trackBegin>
          <trackEnd id="yardTrack07_te"
                    pos="50">
            <macroscopicNode ocpRef="yard07"/>
          </trackEnd>
        </trackTopology>
        <trackElements/>
      </track>
      <track id="yardTrack08"
             name="yard track 08"
             code="6666"
             type="mainTrack">
        <trackTopology>
          <trackBegin id="yardTrack08_tb"
                      pos="0">
            <macroscopicNode ocpRef="yard08"/>
          </trackBegin>
          <trackEnd id="yardTrack08_te"
                    pos="50">
            <macroscopicNode ocpRef="yard08"/>
          </trackEnd>
        </trackTopology>
        <trackElements/>
      </track>
      <track id="segmentTrack01"
             name="Segment track 01"
             code="7777"
             type="mainTrack">
        <trackTopology>
          <trackBegin id="segmentTrack01_tb"
                      pos="0">
            <macroscopicNode ocpRef="station01"/>
          </trackBegin>
          <trackEnd id="segmentTrack01_te"
                    pos="50">
            <macroscopicNode ocpRef="station02"/>
          </trackEnd>
        </trackTopology>
        <trackElements/>
      </track>
      <track id="segmentTrack02"
             name="Segment track 02"
             code="8888"
             type="mainTrack">
        <trackTopology>
          <trackBegin id="segmentTrack02_tb"
                      pos="0">
            <macroscopicNode ocpRef="station01"/>
          </trackBegin>
          <trackEnd id="segmentTrack02_te"
                    pos="50">
            <macroscopicNode ocpRef="station02"/>
          </trackEnd>
        </trackTopology>
        <trackElements/>
      </track>
    </tracks>
    <trackGroups>
      <line id="line01"
            lineCategory="D4">
        <trackRef ref="yardTrack01"
                  sequence="1"/>
        <trackRef ref="segmentTrack01"
                  sequence="2"/>
        <trackRef ref="yardTrack04"
                  sequence="3"/>
        <trackRef ref="yardTrack05"
                  sequence="4"/>
      </line>
      <line id="line04"
            lineCategory="E5">
        <trackRef ref="yardTrack02"
                  sequence="1"/>
        <trackRef ref="segmentTrack02"
                  sequence="2"/>
        <trackRef ref="yardTrack06"
                  sequence="3"/>
        <trackRef ref="yardTrack07"
                  sequence="4"/>
      </line>
    </trackGroups>
    <operationControlPoints>
      <ocp id="station01"/>
      <ocp id="yard01"
           parentOcpRef="station01">
        <propEquipment>
          <trackRef ref="yardTrack01"/>
        </propEquipment>
      </ocp>
      <ocp id="yard02"
           parentOcpRef="station01">
        <propEquipment>
          <trackRef ref="yardTrack02"/>
        </propEquipment>
      </ocp>
      <ocp id="yard03"
           parentOcpRef="station01"/>
      <ocp id="station02"/>
        <ocp id="yard04"
             parentOcpRef="station02">
          <propEquipment>
            <trackRef ref="yardTrack04"/>
          </propEquipment>
        </ocp>
        <ocp id="yard05"
             parentOcpRef="station02">
          <propEquipment>
            <trackRef ref="yardTrack05"/>
          </propEquipment>
        </ocp>
        <ocp id="station03"/>
        <ocp id="yard06"
             parentOcpRef="station03">
          <propEquipment>
            <trackRef ref="yardTrack06"/>
          </propEquipment>
        </ocp>
        <ocp id="yard07"
             parentOcpRef="station03">
          <propEquipment>
            <trackRef ref="yardTrack07"/>
          </propEquipment>
        </ocp>
      </operationControlPoints>
    </infrastructure>
  </railml>