public class DataChannelBAStV20 extends AbstractDataChannelBASt
Channel zur Ausgabe der Verkehrsmengendaten in das BASt-Bestandsbandformat Version 2004.
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 | Beschreibung lt. BAST | Bemerkung |
---|---|---|
- | korrekte, regelmäßige Werte | |
u | korrekte, aber unregelmäßige Werte (z.B. wg. Großverantstaltung) | wird nicht unterstützt |
a | fehlende Werte (Ausfall) | wenn Status == "nicht ermittelbar" |
d | fehlerhafte Werte | wenn Güte <> 1 |
s | Schätzwert wegen fehlender Werte | wird nicht unterstützt |
k | Schätzwert wegen fehlerhafter Werte | wird nicht unterstützt |
z | Zeitumstellung (auf MESZ bzw. auf MEZ) |
Die fehlende Stunde bei der Umstellung von der MEZ zur MESZ wird mit 0-Werten und Prükennzeichen z (Zeitumstellung) und der Statuskennung i ausgegeben. Bei der Umstellung MESZ zur MEZ wird der 2. Datensatz für 02 Uhr ausgegeben.
siehe auch:
AbstractDataChannelBASt
Modifier and Type | Class and Description |
---|---|
private static interface |
DataChannelBAStV20.ValueExtractor |
private class |
DataChannelBAStV20.ValueExtractor1
erzeugt einen String mit den Werten für die Klassifizierungsgruppe
Kfz (1 Gruppe).
|
private class |
DataChannelBAStV20.ValueExtractor2
erzeugt einen String mit den Werten für die Klassifizierungsgruppe
PkwAehnliche und LkwAehnliche (2 Gruppe).
|
private class |
DataChannelBAStV20.ValueExtractor5plus1
extrahiert die Werte aus den ResultData und baut einen String mit den
Werten für die Klassifizierungsgruppe 5plus1.
|
private class |
DataChannelBAStV20.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 String |
_ThirdLine |
private DataChannelBAStV20.ValueExtractor |
_ValueExtractor |
private static SimpleDateFormat |
DATE_FORMAT |
private static String |
HEADER_ROW03_1 |
private static String |
HEADER_ROW03_2 |
private static String |
HEADER_ROW03_5plus1 |
private static String |
HEADER_ROW03_8plus1 |
private static DecimalFormat |
HOUR_FORMAT |
private static Logger |
LOGGER |
_CountOfFS, _LastHour, _Logger, _ZaehlStelle, MONATE, THREE_DIGIT_FORMAT, TWO_DIGIT_FORMAT
Constructor and Description |
---|
DataChannelBAStV20()
erzeugt einen DataChannel, der mit einer reset-Methode und eventuell
AbstractDataChannelBASt.setZaehlstelle(LangZeitZaehlStelle)
initialisiert werden muss. |
DataChannelBAStV20(String fileName)
erzeugt einen DataChannel, der vor dem Aufruf von
processRecord(Dataset[], Calendar) mit
setZaehlstelle(LangZeitZaehlStelle) initialisiert werden muss. |
Modifier and Type | Method and Description |
---|---|
private String |
calculateFirstRow() |
private String |
calculateSecondRow() |
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.
|
private static String |
format(String s) |
void |
processRecord(de.bsvrz.dav.daf.main.Dataset[] rsArrayAtTime,
Calendar calendar)
erzeugt die BASt-Format-Daten und spooled diese.
|
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
private static String HEADER_ROW03_8plus1
private static String HEADER_ROW03_5plus1
private static String HEADER_ROW03_2
private static String HEADER_ROW03_1
private static SimpleDateFormat DATE_FORMAT
private static DecimalFormat HOUR_FORMAT
private String _ThirdLine
private DataChannelBAStV20.ValueExtractor _ValueExtractor
public DataChannelBAStV20()
AbstractDataChannelBASt.setZaehlstelle(LangZeitZaehlStelle)
initialisiert werden muss.public DataChannelBAStV20(String fileName)
processRecord(Dataset[], Calendar)
mit
setZaehlstelle(LangZeitZaehlStelle)
initialisiert werden muss.
Ist die Datei vorhanden wird diese überschrieben.
fileName
- Dateiname mit vollständigem Pfadpublic 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
public void setZaehlstelle(LangZeitZaehlStelle zaehlstelle) throws ChannelException
AbstractDataChannelBASt
setzt die Zählstelle.
setZaehlstelle
in class AbstractDataChannelBASt
zaehlstelle
- LangZeitZaehlStelleChannelException
- Fehler beim Zugriff auf den Channelprotected 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 final String calculateFirstRow()
private final String calculateSecondRow()
protected void writeHeader(PrintWriter writer)
FileDataChannel
writeHeader
in class FileDataChannel
writer
- PrintWriterCopyright © 2017 BitCtrl Systems GmbH. All rights reserved.