Signal control events

Optima manages signal control events, providing capabilities based on DATEX II extensions:

The <situationPublicationExtension> node hosts the XML structure that implements the signal control extensions.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<d2LogicalModel xmlns="http://datex2.eu/schema/2/2_0" xmlns:ns2="http://datex2.eu/schema/2/2_0/com/sistemaits/ext">
    <payloadPublication xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="SituationPublication">
        <publicationCreator>
            <country>it</country>
            <nationalIdentifier>OPTIMA</nationalIdentifier>
        </publicationCreator>
        <situationPublicationExtension>
            <signalActionPublication>
                <signalOperatorAction xsi:type="..." id="..." version="...">
                     ..........
                     ..........
                </signalOperatorAction>
            </signalActionPublication>
        </situationPublicationExtension>
    </payloadPublication>
</d2LogicalModel>

The <signalOperatorAction> events contain information about the signal parameters that were changed with respect the default settings. Those events are typically used in scenario evaluation or integration of real-time adaptive signal controllers.

The <signalOperatorAction> node is characterized by three attributes:

Attributes Description

type

Identifier of the action type.

You can dispose of eight distinct values:

  • DynamicStageProgram
  • DynamicInterStageProgram
  • DynamicSignalGroupProgram
  • SignalControllerUpdate
  • SignalGroupAction
  • SignalStageAction
  • StreetSignalAction
  • TurnSignalAction

id

Identifier of the signal operator action.

version

Identifier of the signal operator action version.

Every <signalOperatorAction> action type is identified by several attributes:

You can send distinct <signalOperatorAction> blocks at one time, distinguishing them by .id.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<d2LogicalModel xmlns="http://datex2.eu/schema/2/2_0" xmlns:ns2="http://datex2.eu/schema/2/2_0/com/sistemaits/ext">
    <payloadPublication xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="SituationPublication">
        <publicationCreator>
            <country>it</country>
            <nationalIdentifier>OPTIMA</nationalIdentifier>
        </publicationCreator>
        <situationPublicationExtension>
            <signalActionPublication>
                <signalOperatorAction xsi:type="DynamicStageProgram" id="controller_27_prg_rush_hour" version="1">
                </signalOperatorAction>
                <signalOperatorAction xsi:type="DynamicStageProgram" id="controller_25_prg_sunday" version="1">
                </signalOperatorAction>
            </signalActionPublication>
        </situationPublicationExtension>
    </payloadPublication>
</d2LogicalModel>

The response contains one line for each controller created:

actionid="controller_27_prg_rush_hour", version="1", "CONTROLLER_ID":27, sprgRltmIdno:"-1
actionid="controller_27_prg_sunday", version="1", "CONTROLLER_ID":27, sprgRltmIdno:"-1

Important:  Please do not rely on any order of the output lines.

Through the pair (id, version) you can distinguish the different operations run into the block <signalActionPublication>.

You can also manage six combinations of different values associated to the type attribute of two XML nodes:

  GreenIntervalTiming GreenShareTiming

DynamicStageProgram

X X

DynamicInterstageProgram

X Combination not applicable.

DynamicSignalGroupProgram

X X

Dynamic programs can be represented by describing the green red alternation (GreenIntervalTiming) or by specifying the capacity reduction applied to each maneuver (GreenShareTiming).

The combination of DynamicInterstageProgram with a GreenShareTiming does not make sense.

TRE can always calculate the green share corresponding to each maneuver starting from a DynamicInterstageProgram program with GreenIntervalTiming (→ Supply parameters > SignalPulse).

Important:  For Optima Micro (see → Optima Micro), the only valid combinations are DynamicInterstageProgram x GreenIntervalTiming or SignalControllerUpdate. The signal data (signal groups, stages, interstages) is consistent within the Optima data model and the micro subnetwork in PTV Vissim.