public interface SignalPlanService
| Modifier and Type | Method and Description |
|---|---|
void |
addCacheDataValueDurations(Program program)
Sets the attribute duration to the cached DataValue, in such a way to have an estimate (in sec) of
how long it will take for that SG to change status.
|
java.util.Map<java.lang.Integer,java.util.Map<ConflictingLane,java.lang.String>> |
applyProgram(Intersection intersection,
Program program,
ScheduleModeType scheduleType)
Applies the provided Program to the Intersection TimeTable for the provided ScheduleModeType.
|
Program |
createFixTimeProgram(PhaseGroup phaseGroup,
java.lang.String programId,
int duration)
Provided a PhaseGroup, and a Duration, a SignalProgram is created.
|
void |
createPhaseGroups(Intersection intersection)
After creating the Phases, we would need to put them together in a consistent way, in order to be able to
create Signal Programs.
|
java.util.List<Phase> |
createPhases(Intersection intersection,
java.lang.String strategy)
The first step is to create the Phases.
|
java.util.List<Phase> createPhases(Intersection intersection,
java.lang.String strategy)
intersection - the Intersection for which we want to compute the Phasesvoid createPhaseGroups(Intersection intersection)
intersection - the Intersection for which PhaseGroups have to be computed.Program createFixTimeProgram(PhaseGroup phaseGroup,
java.lang.String programId,
int duration)
SignalPlanConstants
interface, such as the clearing time for pedestrians and for main and secondary roads.
The time for the Phases will then be assigned according to the weight attribute of the Phases. Each Phase has a min and
max weight, which should be set as a percentage value (70 means the Phase will receive the 70% of the available program
duration, etc). The min weight is the one used for the computation currently, but there are a min and a max to help
decimal values to be properly rounded, since the duration has to be an Integer.
The Program will then be built starting from the first Phase (based on the ID), then the corresponding Transition between
this Phase and the second one, and so on.phaseGroup - the PhaseGroupprogramId - the program IDduration - the program durationjava.util.Map<java.lang.Integer,java.util.Map<ConflictingLane,java.lang.String>> applyProgram(Intersection intersection,
Program program,
ScheduleModeType scheduleType)
intersection - program - scheduleType - void addCacheDataValueDurations(Program program)
program - the Program for which we want to set the DataValue durationsData In Motion GmbH all rights reserved