| Modifier and Type | Class and Description |
|---|---|
static class |
Stau.IndikatorSorter
Klasse zur Sortierung von Indikatoren innerhalb einer Fahrtrichtung nach
ihrer Position.
|
| Modifier and Type | Field and Description |
|---|---|
private de.bsvrz.dav.daf.main.ResultData |
eigenschaftenDaten
der Datensatz mit den Eigenschaften des Staus.
|
private de.bsvrz.dav.daf.main.DataDescription |
eigenschaftenDesc
die Datenbeschreibung für den Versand der Eigenschaften eines Staus.
|
private Set<ISobIndikator> |
indikatoren
die Indikatoren, die den Stau "verursachen".
|
private static de.bsvrz.sys.funclib.debug.Debug |
LOGGER
Logger für Debugausgaben.
|
private de.bsvrz.dav.daf.main.config.SystemObject |
obj
das Systemobjekt, mit dem der Stau innerhalb des Datenverteilers
repräsentiert wird.
|
private static long |
pidCounter
globaler Zähler zum Bilden einer eindeutigen PID für Stauobjekte.
|
private SvpPrognoseDaten |
prognose
die Liste der letzten Prognosedaten für den Stau.
|
private double |
prognoseVerlaengerung
der Wert der letzten prognostizierten Stauverlaengerung.
|
private IFahrtRichtung |
richtung
die Fahrtrichtung für die der Stau ermittelt wurde.
|
private boolean |
senkeAktiv
Indikator, ob eine Senke zum Empfang der Staueigenschaften aktiv ist.
|
private Object |
senkeAktivMutex
Mutex für das Flag
senkeAktiv. |
private long |
startZeitpunkt
der Startzeitpunkt des Staus.
|
private Map<ISobIndikator,Long> |
trenner
die Liste der Indikatoren, die eine Aufspaltung des Stauobjekts
verursacht, wenn die parametrierte Verzögerungszeit überschritten wurde,
inklusive des Zeitpunkts der Statusänderung des Indikators.
|
| Constructor and Description |
|---|
Stau(IFahrtRichtung richtung)
Konstruktor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addIndikator(ISobIndikator indikator)
fügt dem Stauobjekt einen Indikator hinzu.
|
void |
addIndikatoren(Collection<ISobIndikator> indikatorliste)
fügt dem Stauobjekt eine Liste von Indikatoren hinzu.
|
void |
aktualisierePrognoseVerlaengerung()
aktualisiert die für den Stau berechnete Prognoseverlängerung auf Basis
des aktuellen Status der beteiligten Störfallindikatoren.
|
long |
anzahlFahrStreifen(long offset)
liefert die Anzahl der Fahrstreifen an der angegebenen Position innerhalb
des Staus.
|
void |
dataRequest(de.bsvrz.dav.daf.main.config.SystemObject object,
de.bsvrz.dav.daf.main.DataDescription dataDescription,
byte state)
Die Funktion verarbeitet den Status der Senke für die Eigenschaften des
Stauobjekts.
|
void |
entferneIndikator(ISobIndikator indikator)
entfernt den Indikator aus dem Stauobjekt.
|
void |
entfernen()
Die Funktion entfernt einen Stau vom betroffenen Verkehsmodellnetz.
|
void |
entferneTrenner(ISobIndikator indikator)
entfernt einen als Stautrenner vorgemerktemn Indikator von dem
Stauobjekt.
|
Collection<SobStrassenKnoten> |
ermittleAsAmAnfang(de.bsvrz.sys.funclib.bitctrl.modell.verkehr.objekte.MessQuerschnittAllgemein mq)
liefert die Menge der Knoten, die zwischen Stauanfang und dem übergebenen
Messquerschnitt liegen.
|
Collection<SobStrassenKnoten> |
ermittleAsAmEnde(de.bsvrz.sys.funclib.bitctrl.modell.verkehr.objekte.MessQuerschnittAllgemein mq)
liefert die Menge der Knoten, die zwischen Stauende und dem übergebenen
Messquerschnitt liegen.
|
private int |
getAnfangsOffset(List<de.bsvrz.sys.funclib.bitctrl.modell.verkehr.objekte.StrassenSegment> segmente)
ermitteln des Offsets des Stauendes relativ zum Ende des letzten
Straßensegments, das am Stau beteiligt ist.
|
private int |
getEndeOffset(List<de.bsvrz.sys.funclib.bitctrl.modell.verkehr.objekte.StrassenSegment> segmente)
ermitteln des Offsets des Staubeginns relativ zum ersten Straßensegment,
das am Stau beteiligt ist.
|
List<ISobIndikator> |
getIndikatoren()
liefert die Liste der am Stau beteiligten Indikatoren.
|
Collection<SobStrassenKnoten> |
getKnotenImStau()
liefert die Menge der Strassenknoten, die sich im Stau befinden.
|
long |
getLaenge()
liefert die reale Länge des Stauobjektes in Metern, ohne die Verlängerung
durch die Prognose.
|
SobStrassenTeilSegment |
getLetztesStsImStau()
liefert das letzte Straßenteilsegment, das sich im Stau befindet.
|
SobMessQuerschnitt |
getMqAmAnfang()
liefert den ersten Messquerschnitt entgegengesetzt zur Fahrtrichtung
innerhalb des Staus.
|
SobMessQuerschnitt |
getMqAmEnde()
liefert den letzten Messquerschnitt entgegengesetzt zur Fahrtrichtung
innerhalb des Staus.
|
SobMessQuerschnitt |
getMqDanach()
liefert den ersten Messquerschnitt, der in Fahrtrichtung vor dem Stau und
vor dem nächsten freien Autobahnkreuz, - dreieck oder -ende liegt.
|
SobMessQuerschnitt |
getMqDavor()
liefert den ersten Messquerschnitt, der entgegengesetzt zur Fahrtrichtung
noch nicht vom Stau betroffen ist und vor dem nächsten freien
Autobahnkreuz, - dreieck oder -ende liegt.
|
private String |
getNextPid()
liefert die nächste an einen Stau zu vergebende PID.
|
long |
getOffset()
liefert die Position des Staus relativ zum Beginn des
Straßensegments in der entsprechenden Richtung.
|
SvpPrognoseDaten |
getPrognose()
liefert die Prognosedaten des Stauobjekts.
|
private de.bsvrz.dav.daf.main.ResultData |
getPrognoseDatenSatz()
erzeugt einen Datensatz zum versenden der aktuellen Prognosedaten des
Staus.
|
(package private) double |
getPrognoseVerlaengerung()
liefert die Länge, um die ein Stauobjekt durch die aktuelle Prognose
verlängert wird.
|
long |
getStartZeit()
liefert den Zeitpunkt, zu dem das Stauobjekt angelegt wurde.
|
double |
getStauLuecke(ISobIndikator ind)
ermittelt die Länge der Lücke, die ein ungestauter Indikator innerhalb
eines Stauobjekts öffnen würde.
|
double |
getStrassenEnde()
liefert den Längenoffset des Stauendes bezüglich der FahrtRichtung der
Straße inklusive der Verlängerung durch die Stauverlaufsprognose.
|
List<de.bsvrz.sys.funclib.bitctrl.modell.verkehr.objekte.StrassenSegment> |
getStrassenSegmente()
liefert die Straßensegmente, auf denen sich der Stau befindet.
|
double |
getStrassenStart()
liefert den Anfangsoffset des Staus innerhalb der FahrtRichtung der
Straße.
|
SobStrassenTeilSegment |
getStsVorDemStau()
liefert das erste Straßenteilsegment, das sich in Fahrtrichtung hinter
dem Stau befindet.
|
Map<ISobIndikator,Long> |
getTrenner()
liefert die Indikatoren, die potentiell vorgemerkt sind, um ein
Stauobjekt in kleiner Teilobjekte zu teilen.
|
boolean |
isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject object,
de.bsvrz.dav.daf.main.DataDescription dataDescription)
Die Sendesteuerung wird für die Versendung der Eigenschaften des Staus
(als Parameter) unterstützt.
|
void |
publizierePrognoseDaten()
publiziert die Prognosedaten eines Staus über den Datenverteiler.
|
void |
setPrognose(SvpPrognoseDaten prognose)
setzt die Prognosedaten des Stauobjekts.
|
(package private) void |
setPrognoseVerlaengerung(double laenge)
setzt die aktuell gültige Länge, um die ein Stauobjekt durch die Prognose
verlängert wird.
|
void |
setTrenner(ISobIndikator ind,
long zeitpunkt)
registriert einen Störfallindikator, der zu einer potentiellen eventuell
verzögerten Trennung des Stauobjekt führen kann.
|
void |
sichern(long zeitpunkt)
überträgt die Daten des Staus an den Datenverteiler.
|
String |
toString() |
private static final de.bsvrz.sys.funclib.debug.Debug LOGGER
private static long pidCounter
private de.bsvrz.dav.daf.main.config.SystemObject obj
private final long startZeitpunkt
private final IFahrtRichtung richtung
private final Set<ISobIndikator> indikatoren
private final Map<ISobIndikator,Long> trenner
private SvpPrognoseDaten prognose
private boolean senkeAktiv
private final Object senkeAktivMutex
senkeAktiv.private de.bsvrz.dav.daf.main.ResultData eigenschaftenDaten
private de.bsvrz.dav.daf.main.DataDescription eigenschaftenDesc
private double prognoseVerlaengerung
public Stau(IFahrtRichtung richtung)
richtung - die Fahrtrichtungpublic final void addIndikator(ISobIndikator indikator)
STAU befinden.indikator - der hinzufügende Indikatorpublic final void addIndikatoren(Collection<ISobIndikator> indikatorliste)
STAU befinden.indikatorliste - die Liste der hinzuzufügenden Indikatoren.public void aktualisierePrognoseVerlaengerung()
IStauaktualisierePrognoseVerlaengerung in interface IStaupublic final long anzahlFahrStreifen(long offset)
IStauanzahlFahrStreifen in interface IStauoffset - die Position innerhalb des Stauspublic final void dataRequest(de.bsvrz.dav.daf.main.config.SystemObject object,
de.bsvrz.dav.daf.main.DataDescription dataDescription,
byte state)
dataRequest in interface de.bsvrz.dav.daf.main.ClientSenderInterfaceClientSenderInterface.dataRequest(de.bsvrz.dav.daf.main.config.SystemObject,
de.bsvrz.dav.daf.main.DataDescription, byte)public void entferneIndikator(ISobIndikator indikator)
indikator - der zu entfernende Indikatorpublic final void entfernen()
entfernen in interface IStauIStau.entfernen()public void entferneTrenner(ISobIndikator indikator)
indikator - der Indikatorpublic Collection<SobStrassenKnoten> ermittleAsAmAnfang(de.bsvrz.sys.funclib.bitctrl.modell.verkehr.objekte.MessQuerschnittAllgemein mq)
IStauermittleAsAmAnfang in interface IStaumq - der Messquerschnittpublic Collection<SobStrassenKnoten> ermittleAsAmEnde(de.bsvrz.sys.funclib.bitctrl.modell.verkehr.objekte.MessQuerschnittAllgemein mq)
IStauermittleAsAmEnde in interface IStaumq - der Messquerschnittprivate int getAnfangsOffset(List<de.bsvrz.sys.funclib.bitctrl.modell.verkehr.objekte.StrassenSegment> segmente)
segmente - die sortierte Liste der am Stau beteiligten Straßensegmente.private int getEndeOffset(List<de.bsvrz.sys.funclib.bitctrl.modell.verkehr.objekte.StrassenSegment> segmente)
segmente - die sortierte Liste der am Stau beteiligten Straßensegmente.public final List<ISobIndikator> getIndikatoren()
STAU
gesetzt ist.public Collection<SobStrassenKnoten> getKnotenImStau()
IStaugetKnotenImStau in interface IStaupublic final long getLaenge()
IStaupublic SobStrassenTeilSegment getLetztesStsImStau()
IStaunull geliefert.getLetztesStsImStau in interface IStaunullpublic final SobMessQuerschnitt getMqAmAnfang()
IStaugetMqAmAnfang in interface IStaunull, wenn keiner ermittelt
werden konnte.public final SobMessQuerschnitt getMqAmEnde()
IStaugetMqAmEnde in interface IStaunull, wenn keiner ermittelt
werden konnte.public final SobMessQuerschnitt getMqDanach()
IStaugetMqDanach in interface IStaunull, wenn keiner ermittelt
werden konnte.public final SobMessQuerschnitt getMqDavor()
IStaugetMqDavor in interface IStaunull, wenn keiner ermittelt
werden konnte.private String getNextPid()
public final long getOffset()
IStaupublic SvpPrognoseDaten getPrognose()
IStaunull geliefert.getPrognose in interface IStaunullprivate de.bsvrz.dav.daf.main.ResultData getPrognoseDatenSatz()
double getPrognoseVerlaengerung()
public final long getStartZeit()
IStaugetStartZeit in interface IStaupublic double getStauLuecke(ISobIndikator ind)
ind - der Indikator.public final double getStrassenEnde()
IStaugetStrassenEnde in interface IStaupublic final List<de.bsvrz.sys.funclib.bitctrl.modell.verkehr.objekte.StrassenSegment> getStrassenSegmente()
IStaugetStrassenSegmente in interface IStaupublic final double getStrassenStart()
IStaugetStrassenStart in interface IStaupublic SobStrassenTeilSegment getStsVorDemStau()
IStaunull geliefert.getStsVorDemStau in interface IStaunullpublic Map<ISobIndikator,Long> getTrenner()
public final boolean isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject object,
de.bsvrz.dav.daf.main.DataDescription dataDescription)
isRequestSupported in interface de.bsvrz.dav.daf.main.ClientSenderInterfaceClientSenderInterface.isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject,
de.bsvrz.dav.daf.main.DataDescription)public void publizierePrognoseDaten()
IStaupublizierePrognoseDaten in interface IStaupublic final void setPrognose(SvpPrognoseDaten prognose)
IStausetPrognose in interface IStauprognose - die Datenvoid setPrognoseVerlaengerung(double laenge)
laenge - der Wert für die Verlängerungpublic void setTrenner(ISobIndikator ind, long zeitpunkt)
ind - der Indikatorzeitpunkt - der Zeitpunkt, zu dem der Indikator eingetragen wirdpublic final void sichern(long zeitpunkt)
IStauCopyright © 2017 BitCtrl Systems GmbH. All rights reserved.