public abstract class DataChannelBAStV1_X extends AbstractDataChannelBASt
Channel zur Ausgabe von Daten in das BASt-Bestandsbandformat
Es ist zubeachten, dass die Anzahl der Geschwindigkeitsklassen nicht ohne weiteres zu bestimmen ist. Es wird davon ausgegangen, dass es eine Festlegung über die Geschwindigkeitsklassifizierung gibt, die sich nicht ändert.
Es wird die Attributegrupe atg.verkehrsDatenLangZeitIntervall mit dem Aspekt asp.messWertErsetzung ausgegeben.
Die Unterstützung für die durch die BASt definierten Prüfzeichen ist der folgenen Tabelle zu entnehmen.
Prüfkennzeichen | Bemerkung |
---|---|
korrekte, regelmäßige Werte | |
' | alle anderen Werte |
Bei der Umstellung MESZ zur MEZ wird der 2. Datensatz für 02 Uhr ausgegeben.
siehe auch:
AbstractDataChannelBASt
Modifier and Type | Class and Description |
---|---|
protected static interface |
DataChannelBAStV1_X.ValueExtractor |
private class |
DataChannelBAStV1_X.ValueExtractor1
erzeugt einen String mit den Werten für die Klassifizierungsgruppe
Kfz (1 Gruppe).
|
private class |
DataChannelBAStV1_X.ValueExtractor2
erzeugt einen String mit den Werten für die Klassifizierungsgruppe
PkwAehnliche und LkwAehnliche (2 Gruppe).
|
private class |
DataChannelBAStV1_X.ValueExtractor5plus1
extrahiert die Werte aus den ResultData und baut einen String mit den
Werten für die Klassifizierungsgruppe 5plus1.
|
private class |
DataChannelBAStV1_X.ValueExtractor8plus1
extrahiert die Werte aus den ResultData und baut einen String mit den
Werten für die Klassifizierungsgruppe 8plus1.
|
Modifier and Type | Field and Description |
---|---|
private int |
_FirstHour
gibt an mit welcher Zahl die Stundenzälung beginnt (0 oder 1; 1 ist
Standard).
|
private DataChannelBAStV1_X.ValueExtractor |
_ValueExtractor |
protected LangZeitZaehlStelle |
_ZaehlStelle |
protected Calendar |
chCalendar |
protected int |
countOfGeschwKlassen |
private static SimpleDateFormat |
DATE_FORMAT |
private boolean |
endLineWithSemikolon
gibt an, ob zum Abschluß einer Zeile ein Semikolon gesetzt werden
soll.
|
private boolean |
exportGSatz |
private boolean |
exportKSatz |
private boolean |
exportMSatz |
private boolean |
exportVSatz |
static int |
G_SATZ
Konstante zum Erzeugen ein Channels für die den G-Satz
|
protected boolean |
hasNoData |
private static DecimalFormat |
HOUR_FORMAT |
static int |
K_SATZ
Konstante zum Erzeugen ein Channels für die den K-Satz
|
private String |
lineHeader
für eine Zählstelle konstanter Anfang jeder Zeile.
|
private static Logger |
LOGGER |
static int |
M_SATZ
Konstante zum Erzeugen ein Channels für die den M-Satz
|
static int |
V_SATZ
Konstante zum Erzeugen ein Channels für die den V-Satz
|
_CountOfFS, _LastHour, _Logger, MONATE, THREE_DIGIT_FORMAT, TWO_DIGIT_FORMAT
Constructor and Description |
---|
DataChannelBAStV1_X()
erzeugt einen DataChannel, der mit einer reset-Methode und eventuell
AbstractDataChannelBASt.setZaehlstelle(LangZeitZaehlStelle)
initialisiert werden muss. |
DataChannelBAStV1_X(int satzArt)
erzeugt einen DataChannel, der mit einer reset-Methode und eventuell
setZaehlstelle() initialisiert werden muss zur Ausgabe der angegebenen
SatzArt. |
DataChannelBAStV1_X(String fileName)
erzeugt einen DataChannel, der vor dem Aufruf von
ResultDataChannel.processRecord(Dataset[], Calendar)
mit setZaehlstelle(LangZeitZaehlStelle) initialisiert werden
muss. |
Modifier and Type | Method and Description |
---|---|
protected abstract String |
calculateLineHeader()
erzeugt den für eine Zählstelle konstanten Zeilenanfang.
|
protected String |
constructFilename(LangZeitZaehlStelle zaehlStelle,
String path,
int year,
int monthOrQuartal,
boolean isQuartal)
gibt den Dateinamen zurück, der sich aus den Daten der
Zählstelle, dem Jahr, dem Monat bzw Quartal ergibt.
|
protected String |
constructFilename(LangZeitZaehlStelle zaehlStelle,
String path,
int year,
int startDayOfYear,
int endDayOfYear)
gibt den Dateinamen zurück, der sich aus den Daten der
Zählstelle, dem Jahr, dem Anfangstag und Endtag ergibt.
|
protected StringBuffer |
extractDataGSatz(AtgVerkehrsdatenLangZeitIntervall[] atgLZArray) |
protected StringBuffer |
extractDataMSatz(AtgVerkehrsdatenLangZeitIntervall[] atgLZArray) |
protected StringBuffer |
extractDataVSatz(AtgVerkehrsdatenLangZeitIntervall[] atgLZArray) |
private static String |
format(String s) |
private String |
formatBastMV_Test(AtlVerkehrsStaerkeStunde atl) |
private String |
formatBastST(AtlGeschwindigkeit atl) |
int |
getCountOfGeschwKlassen()
gint die Anzahl der Geschwindigkeitsklassen zurück.
|
private int |
getSatzType() |
protected DataChannelBAStV1_X.ValueExtractor |
getValueExtractor8plus1() |
void |
processRecord(de.bsvrz.dav.daf.main.Dataset[] rsArrayAtTime,
Calendar calendar)
erzeugt die BASt-Format-Daten und spooled diese.
|
void |
setCountOfGeschwKlassen(int count)
setzt die Anzahl der Geschwindigkeitsklassen.
|
void |
setEndLineWithSemikolon(boolean endLineWithSemikolon)
bestimmt, ob am Ende einer Zeile ein Semikolon gesetzt werden soll
(Standard == nein).
|
void |
setExportGSatz(boolean exportGSatz)
legt fest, ob der G-Satz geschrieben werden soll
(standardmäßig werden alle geschrieben).
|
void |
setExportKSatz(boolean exportKSatz)
legt fest, ob der K-Satz geschrieben werden soll
(standardmäßig werden alle geschrieben).
|
void |
setExportMSatz(boolean exportMSatz)
legt fest, ob der M-Satz geschrieben werden soll
(standardmäßig werden alle geschrieben).
|
void |
setExportVSatz(boolean exportVSatz)
legt fest, ob der V-Satz geschrieben werden soll
(standardmäßig werden alle geschrieben).
|
void |
setFirstHourOfDay(int firstHour)
setzt die Ziffer, mit der die Stuhndenzälung beginnt ( 0 oder 1; 1
== Standard).
|
void |
setKlassifizierungsgruppeBAST(String sKlassifizierungsgruppeBAST)
setzt die KlassifizierungsgruppeBASt ("8 plus 1" | "5 plus 1" | "2" | "1"
).
|
void |
setZaehlstelle(LangZeitZaehlStelle zaehlstelle)
setzt die Zählstelle.
|
protected void |
writeHeader(PrintWriter writer)
ermöglicht das Schreiben von Daten am Anfang der Datei.
|
hasData, logError, logWarning, reset, reset, reset, setChannelLogger
close, deleteLastLine, flush, reset, spool
private static final Logger LOGGER
public static final int G_SATZ
public static final int K_SATZ
public static final int V_SATZ
public static final int M_SATZ
private static SimpleDateFormat DATE_FORMAT
private static DecimalFormat HOUR_FORMAT
protected LangZeitZaehlStelle _ZaehlStelle
private DataChannelBAStV1_X.ValueExtractor _ValueExtractor
protected Calendar chCalendar
protected boolean hasNoData
protected int countOfGeschwKlassen
private boolean exportGSatz
private boolean exportKSatz
private boolean exportVSatz
private boolean exportMSatz
private int _FirstHour
private boolean endLineWithSemikolon
private String lineHeader
public DataChannelBAStV1_X()
AbstractDataChannelBASt.setZaehlstelle(LangZeitZaehlStelle)
initialisiert werden muss.public DataChannelBAStV1_X(int satzArt)
setZaehlstelle()
initialisiert werden muss zur Ausgabe der angegebenen
SatzArt.public DataChannelBAStV1_X(String fileName) throws ChannelException
ResultDataChannel.processRecord(Dataset[], Calendar)
mit setZaehlstelle(LangZeitZaehlStelle)
initialisiert werden
muss.
Ist die Datei vorhanden wird diese überschrieben.
fileName
- Dateiname mit vollständigem PfadChannelException
public void setCountOfGeschwKlassen(int count)
count
- intpublic int getCountOfGeschwKlassen()
public void setExportMSatz(boolean exportMSatz)
exportMSatz
- booleanpublic void setExportVSatz(boolean exportVSatz)
exportVSatz
- booleanpublic void setExportGSatz(boolean exportGSatz)
exportGSatz
- booleanpublic void setExportKSatz(boolean exportKSatz)
exportKSatz
- booleanpublic void setFirstHourOfDay(int firstHour)
firstHour
- 0 oder 1public void setEndLineWithSemikolon(boolean endLineWithSemikolon)
endLineWithSemikolon
- true, wenn am Zeilenende ein Semikolon gesetzt werden soll.public void processRecord(de.bsvrz.dav.daf.main.Dataset[] rsArrayAtTime, Calendar calendar) throws ChannelException
vor dem ersten Aufruf muss, der Channel vollstä initialisiert sein.
rsArrayAtTime
- ResultData[]calendar
- Intervallbeginn der DatensätzeChannelException
protected abstract String calculateLineHeader()
public void setZaehlstelle(LangZeitZaehlStelle zaehlstelle) throws ChannelException
AbstractDataChannelBASt
setzt die Zählstelle.
setZaehlstelle
in class AbstractDataChannelBASt
zaehlstelle
- LangZeitZaehlStelleChannelException
- Fehler beim Zugriff auf den Channelprotected DataChannelBAStV1_X.ValueExtractor getValueExtractor8plus1()
public void setKlassifizierungsgruppeBAST(String sKlassifizierungsgruppeBAST) throws ChannelException
muss nach setZaehlstelle(LangZeitZaehlStelle)
erfolgen,
ansonsten wird die Klassifizierungsgruppe aus der Konfiguration
übernommen.
sKlassifizierungsgruppeBAST
- StringChannelException
protected String constructFilename(LangZeitZaehlStelle zaehlStelle, String path, int year, int startDayOfYear, int endDayOfYear)
AbstractDataChannelBASt
constructFilename
in class AbstractDataChannelBASt
protected String constructFilename(LangZeitZaehlStelle zaehlStelle, String path, int year, int monthOrQuartal, boolean isQuartal)
AbstractDataChannelBASt
constructFilename
in class AbstractDataChannelBASt
private int getSatzType()
protected void writeHeader(PrintWriter writer)
FileDataChannel
writeHeader
in class FileDataChannel
writer
- PrintWriterprotected StringBuffer extractDataGSatz(AtgVerkehrsdatenLangZeitIntervall[] atgLZArray)
protected StringBuffer extractDataMSatz(AtgVerkehrsdatenLangZeitIntervall[] atgLZArray) throws ChannelException
ChannelException
protected StringBuffer extractDataVSatz(AtgVerkehrsdatenLangZeitIntervall[] atgLZArray)
private String formatBastMV_Test(AtlVerkehrsStaerkeStunde atl)
private String formatBastST(AtlGeschwindigkeit atl)
Copyright © 2017 BitCtrl Systems GmbH. All rights reserved.