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 |
Modifier and Type | Field and Description |
---|---|
protected LangZeitZaehlStelle |
_ZaehlStelle |
protected java.util.Calendar |
chCalendar |
protected int |
countOfGeschwKlassen |
static int |
G_SATZ
Konstante zum Erzeugen ein Channels für die den G-Satz
|
protected boolean |
hasNoData |
static int |
K_SATZ
Konstante zum Erzeugen ein Channels für die den K-Satz
|
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, 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(java.lang.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 java.lang.String |
calculateLineHeader()
erzeugt den für eine Zählstelle konstanten Zeilenanfang.
|
protected java.lang.String |
constructFilename(LangZeitZaehlStelle zaehlStelle,
java.lang.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 java.lang.String |
constructFilename(LangZeitZaehlStelle zaehlStelle,
java.lang.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 java.lang.StringBuffer |
extractDataGSatz(AtgVerkehrsdatenLangZeitIntervall[] atgLZArray) |
protected java.lang.StringBuffer |
extractDataMSatz(AtgVerkehrsdatenLangZeitIntervall[] atgLZArray) |
protected java.lang.StringBuffer |
extractDataVSatz(AtgVerkehrsdatenLangZeitIntervall[] atgLZArray) |
int |
getCountOfGeschwKlassen()
gint die Anzahl der Geschwindigkeitsklassen zurück.
|
protected DataChannelBAStV1_X.ValueExtractor |
getValueExtractor8plus1() |
void |
processRecord(de.bsvrz.dav.daf.main.Dataset[] rsArrayAtTime,
java.util.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(java.lang.String sKlassifizierungsgruppeBAST)
setzt die KlassifizierungsgruppeBASt ("8 plus 1" | "5 plus 1" | "2" | "1" ).
|
void |
setZaehlstelle(LangZeitZaehlStelle zaehlstelle)
setzt die Zählstelle.
|
protected void |
writeHeader(java.io.PrintWriter writer)
ermöglicht das Schreiben von Daten am Anfang der Datei.
|
hasData, logError, logWarning, reset, reset, reset, setChannelLogger
close, deleteLastLine, flush, reset, spool
public static final int G_SATZ
public static final int K_SATZ
public static final int V_SATZ
public static final int M_SATZ
protected LangZeitZaehlStelle _ZaehlStelle
protected java.util.Calendar chCalendar
protected boolean hasNoData
protected int countOfGeschwKlassen
public DataChannelBAStV1_X()
AbstractDataChannelBASt.setZaehlstelle(LangZeitZaehlStelle)
initialisiert werden muss.public DataChannelBAStV1_X(int satzArt)
setZaehlstelle()
initialisiert werden muss zur Ausgabe der angegebenen
SatzArt.satzArt
- die Datensatzartpublic DataChannelBAStV1_X(java.lang.String fileName)
ResultDataChannel.processRecord(Dataset[], Calendar)
mit setZaehlstelle(LangZeitZaehlStelle)
initialisiert werden muss.
Ist die Datei vorhanden wird diese überschrieben.
fileName
- Dateiname mit vollständigem Pfadpublic 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, java.util.Calendar calendar) throws ChannelException
vor dem ersten Aufruf muss, der Channel vollstä initialisiert sein.
rsArrayAtTime
- ResultData[]calendar
- Intervallbeginn der DatensätzeChannelException
- die Daten konnten nicht erfolgreich verarbeitet werdenprotected abstract java.lang.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(java.lang.String sKlassifizierungsgruppeBAST) throws ChannelException
muss nach setZaehlstelle(LangZeitZaehlStelle)
erfolgen, ansonsten
wird die Klassifizierungsgruppe aus der Konfiguration übernommen.
sKlassifizierungsgruppeBAST
- StringChannelException
- die Daten konnten nicht erfolgrecih verarbeitet werdenprotected java.lang.String constructFilename(LangZeitZaehlStelle zaehlStelle, java.lang.String path, int year, int startDayOfYear, int endDayOfYear)
AbstractDataChannelBASt
constructFilename
in class AbstractDataChannelBASt
zaehlStelle
- die Zählstellepath
- der Basispfadyear
- das JahrstartDayOfYear
- der Anfangstag des JahresendDayOfYear
- der Endtag des Jahresprotected java.lang.String constructFilename(LangZeitZaehlStelle zaehlStelle, java.lang.String path, int year, int monthOrQuartal, boolean isQuartal)
AbstractDataChannelBASt
constructFilename
in class AbstractDataChannelBASt
zaehlStelle
- die Zählstellepath
- der basispfadyear
- das JahrmonthOrQuartal
- der Monat oder das QuartalisQuartal
- wurde ein Monat oder ein Quartal angegeben?protected void writeHeader(java.io.PrintWriter writer)
FileDataChannel
writeHeader
in class FileDataChannel
writer
- PrintWriterprotected java.lang.StringBuffer extractDataGSatz(AtgVerkehrsdatenLangZeitIntervall[] atgLZArray)
protected java.lang.StringBuffer extractDataMSatz(AtgVerkehrsdatenLangZeitIntervall[] atgLZArray) throws ChannelException
ChannelException
protected java.lang.StringBuffer extractDataVSatz(AtgVerkehrsdatenLangZeitIntervall[] atgLZArray)