# HG changeset patch # User Ingo Weinzierl # Date 1346061356 0 # Node ID 9f768a9034f4ae8523c68caeed2866f5b702e4ff # Parent 0b0522bf51b652282d2d2dfd277a5e5da25368a1 Transfered README into latex documentation (german). flys-backend/trunk@5271 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 0b0522bf51b6 -r 9f768a9034f4 flys-backend/ChangeLog --- a/flys-backend/ChangeLog Sun Aug 26 22:57:35 2012 +0000 +++ b/flys-backend/ChangeLog Mon Aug 27 09:55:56 2012 +0000 @@ -1,3 +1,8 @@ +2012-08-27 Ingo Weinzierl + + * doc/documentation/de/importer-hydr-morph.tex: Added documentation from + README. + 2012-08-27 Sascha L. Teichmann * doc/README.txt: Documented which hydrological files are taken into account. diff -r 0b0522bf51b6 -r 9f768a9034f4 flys-backend/doc/documentation/de/importer-hydr-morph.tex --- a/flys-backend/doc/documentation/de/importer-hydr-morph.tex Sun Aug 26 22:57:35 2012 +0000 +++ b/flys-backend/doc/documentation/de/importer-hydr-morph.tex Mon Aug 27 09:55:56 2012 +0000 @@ -1,2 +1,667 @@ \section{Fachdatenimport} - % TODO + +Der Fachdatenimporter dient dazu, hydrologische und morphologische Gewässerdaten +aus dem Dateisystem in die FLYS3-Datenbank zu importieren. Das Werkzeug +orientiert sich hierbei an der Dateihierachie, so wie sie auch von Desktop-FLYS +ausgelesen wird. Der Import Vorgang ist in zwei Phasen unterteilt: + +\begin{itemize} + \item Lesen aller Daten eines Gewässers aus dem Dateisystem. + \item Schreiben der erfolgreich eingelesenen Daten in die Datenbank. +\end{itemize} + +Sollte beim Lese- oder Schreib-Vorgang eines Gewässers ein Fehler auftreten, so +werden sämtliche Daten des Gewässers verworfen. Beide Phasen zusammen bilden +somit eine Transaktion. + +\textbf{Hinweis} +\\Der Import geht wie Desktop-FLYS davon aus, dass die Dateien Latin-1 encodiert +vorliegen! + + +\subsection{Importierte Daten} +Der Importer importiert folgende Datentypen: + +\subsubsection{Streckenfavoriten (*.km-Dateien)} +Der Import kann mit \textbf{-Dflys.backend.importer.skip.annotations=true} +unterdrückt werden. + +Zur Klassifikation von Streckenfavoriten kann mit +\textbf{-Dflys.backend.importer.annotation.types=DATEI} der Pfad zu einer +XML-Datei angegeben werden, in der über Regeln festgelegt wird, wie diese +geschehen soll. Details hierzu im Anhang 'Klassifikation von Streckenfavoriten'. + +\subsubsection{Pegel, Stammdaten (*.glt, *.sta-Dateien)} +Der Import kann mit \textbf{'-Dflys.backend.importer.skip.gauges=true'} +unterdrückt werden. Die .glt-Datei, die neben der .wst-Datei liegt, wird zuerst +ausgelesen. Es werden nur *.sta-Datei von Pegeln geladen, die in der .glt-Datei +vermerkt sind. + +Mittels \textbf{-Dflys.backend.sta.parse.gauge.numbers=true'} wird versucht, die +offiziellen Pegelnummern aus den Stammdaten zu extrahieren. +\textbf{Dies ist mit Vorsicht zu behandeln, denn die meisten STA-Dateien +enthalten invalide Pegelnummern.} + +Die System-Property \textbf{flys.backend.main.value.types} kann einen String +mit gültigen Typen von Stammdaten enthalten. Vorbelegt ist \textbf{QWTD}. In der +Praxis ist "QWD" eine sinnvolle Belegung. + +\subsection{Basis-Wasserstände (gewaesser.wst-Dateien)} +Der Import kann mit \textbf{-Dflys.backend.importer.skip.wst=true} unterdrückt werden. + +\subsection{Zusätzliche Längsschnitte (*.zus, *.wst-Dateien)} +Der Import kann mit \textbf{-Dflys.backend.importer.skip.extra.wsts=true} +unterdrückt werden. Es werden die *.zus- und *.wst-Dateien aus dem Verzeichnis +\textit{../Zus.Längsschnitte} relativ zur gewaesser.wst-Datei betrachtet. + +\subsection{Fixierungen (*.wst-Dateien)} +Der Import kann mit \textbf{-Dflys.backend.importer.skip.fixations=true} +unterdrückt werden. Es werden die *.wst-Dateien aus dem Verzeichnis +\textit{../Fixierungen} relativ zur gewaesser.wst-Datei betrachtet. + +\subsection{Amtliche Linien (*.wst-Dateien)} +Der Import kann mit \textbf{-Dflys.backend.importer.skip.official.lines=true} +unterdrückt werden. Es werden die \textit{Amtl\_Linien.wst}-Dateien aus dem +Verzeichnis \textit{../Basisdaten} und \textit{../Fixierungen} relativ zur +gewaesser.wst-Datei betrachtet. + +\subsection{Profilspuren (*.prf-Dateien)} +Der Import kann mit \textbf{-Dflys.backend.importer.skip.prfs=true} +unterdrückt werden. Es werden rekursiv alle *.prf-Dateien aus \textit{../../..} +relativ zur gewaesser.wst-Datei betrachtet. Vor dem Import werden mithilfe +eines Längen- und eines MD5-Summen-Vergleichs inhaltliche Duplikate +ausgeschlossen. + +\subsection{Hydraulische Kennzahlen (*.hyk)} +Der Import kann mit \textbf{-Dflys.backend.importer.skip.hyks=true} unterdrückt +werden. Es werden rekursiv alle *.hyk-Dateien aus \textit{../../..} relativ zur +gewaesser.wst-Datei betrachtet. Vor dem Import werden mithilfe eines Längen- und +eines MD5-Summen-Vergleichs inhaltliche Duplikate ausgeschlossen. + +\subsection{Hochwassermarken (*.zus, *.wst)} +Der Import kann mit \textbf{-Dflys.backend.importer.skip.flood.water=true} +unterdrückt werden. Es werden die *.zus- und *.wst-Dateien aus dem Verzeichnis +\textit{../HW-Marken} relativ zur gewaesser.wst-Datei betrachtet. + +\textbf{Hochwasserschutzanlagen (*.zus)} +Der Import kann mit \textbf{-Dflys.backend.importer.skip.flood.protection=true} +unterdrückt werden. Es werden die *.zus- und *.wst-Dateien aus dem Verzeichnis +\textit{../HW-Schutzanlagen} relativ zur gewaesser.wst-Datei betrachtet. + + \todo INGO: + + flys.backend.importer.skip.bed.height.single + flys.backend.importer.skip.bed.height.epoch + flys.backend.importer.skip.sediment.density + flys.backend.importer.skip.morphological.width + flys.backend.importer.skip.flow.velocity + flys.backend.importer.skip.sediment.yield + flys.backend.importer.skip.waterlevels + flys.backend.importer.skip.waterlevel.differences + flys.backend.importer.skip.sq.relation + + +\subsection{Konfiguration} +\label{configuration} +\todo +Zum Starten des Importers ist es notwendig, in der Datei \textit{run.sh} die +Variablen am Anfang der Datei anzupassen. Im folgenden werden notwendige und +optionale Einstellungen beschrieben, die beim Starten des Importers +berücksichtigt werden. Folgende Einstellungen sind zwangsläufig an die +bestehende Umgebung anzupassen: + +\textbf{INFO\_GEW} +\\Diese Option muss auf eine valide *.gew Datei verweisen (bekannt aus +Desktop-FLYS). Wichtig für den Importer sind in dieser Datei die Zeilen, die mit +\textit{WSTDatei:} beginnen. In ihnen wird der Pfad zu der zentralen WST-Datei +des jeweiligen Gewässers angegeben. Alle anderen importierten Dateien werden in +ihrer Lage im Dateisystem relativ zur Lage dieser Datei betrachtet. + +\textbf{BACKEND\_USER} +\\Der Nutzername, der zum Verbinden zur Datenbank verwendet werden soll. + +\textbf{BACKEND\_PASS} +\\Das Passwort, welches in Kombination mit \textbf{BACKEND\_USER} zum Verbinden +zur Datenbank verwendet werden soll. + +\textbf{BACKEND\_HOST} +\\Der Datenbank-Host. In der Regel sollte hier \textit{localhost} eingetragen +werden, da es empfohlen wird, den Importer auf dem selben Host zu starten, auf +dem auch die Datenbank läuft. + +\textbf{BACKEND\_PORT} +\\Der Port auf dem die Datenbank zu erreichen ist. Bei einer Oracle XE Instanz +z.B.: \textit{1521}, sofern nicht anders konfiguriert. + +\textbf{BACKEND\_NAME} +\\Der Name der Datenbank Instanz. Beispielsweise \textit{XE} bei einer Oracle XE +Instanz. + + +Für die Verbindung zur Datenbank ist es nötig, dem Import die Verbindungsdaten +zu übergeben. Dies geschieht ebenfalls über System-Properties: + +\textbf{BACKEND\_DB\_PREFIX} +\\Der Präfix zum Aufbau einer Datenbankverbindung. Für Oracle z.B.: \textit{jdbc:oracle:thin:@}. + +\textbf{BACKEND\_DB\_DRIVER} +\\Der Name des JDBC-Treibers, der es erlaubt das Protokoll der Datenbank zu +sprechen. Im Falle einer Oracle XE wäre dies z.B.: \textit{oracle.jdbc.OracleDriver}. + +\textbf{BACKEND\_DB\_DIALECT} +\\Der Hibernate-Dialekt, den die Datenbank versteht. Im Falle einer Oracle-XE +wäre dies z.B.: \textit{org.hibernate.dialect.OracleDialect}. + + +Weitere Details zum Verbinden zu einer Oracle Datenbank finden Sie unter +\href{http://www.orafaq.com/wiki/JDBC}. + + +\textbf{IMPORTER\_MAINVALUE\_TYPES} +\\Diese Einstellung erlaubt die Angabe eines Textes, der aus den gültigen Typen +für Hauptwerte zusammengesetzt ist. \textit{QWTD} ist standardmäßig gesetzt. + +\textbf{IMPORTER\_ANNOTATION\_TYPES} +\\Diese Einstellung verweist auf eine Datei (relativ zum Ort der \textit{run.sh} +im Dateisystem), die die möglichen Typen von Streckenfavoriten und deren Regeln +definiert. Siehe hierzu auch Kapitel \ref{annotation-types}. + + +Die im folgenden beschriebenen Einstellungen können jeweils die Werte +\textit{true} oder \textit{false} annehmen und sind optional anzupassen. + +\textbf{IMPORTER\_DRY\_RUN} +\\Falls \textit{true} gesetzt wird, wird der Import nur simuliert. Es werden +keine Daten in die Datenbank geschrieben. Dies kann z.B.: zum Ermitteln +potentieller Dateninkonsistenzen sinnvoll sein. + +\textbf{IMPORTER\_SKIP\_GAUGES} +\\Wenn \textit{true} gesetzt ist werden keine Pegel- und Stammdaten bearbeitet. + +\textbf{IMPORTER\_SKIP\_ANNOTATIONS} +\\Wenn \textit{true} gesetzt ist werden keine Streckenfavoriten bearbeitet. + +\textbf{IMPORTER\_SKIP\_WST} +\\Wenn \textit{true} gesetzt ist werden keine WST Dateien bearbeitet. + +\textbf{IMPORTER\_SKIP\_PRFS} +\\Wenn \textit{true} gesetzt ist werden keine Querprofilspuren bearbeitet. + +\textbf{IMPORTER\_SKIP\_HYKS} +\\Wenn \textit{true} gesetzt ist werden keine HYK Dateien bearbeitet. + +\textbf{IMPORTER\_SKIP\_EXTRA\_WST} +\\Wenn \textit{true} gesetzt ist werden keine zusätzlichen Längsschnitte +bearbeitet. + +\textbf{IMPORTER\_SKIP\_FIXATIONS} +\\Wenn \textit{true} gesetzt ist werden keine Fixierungen bearbeitet. + +\textbf{IMPORTER\_SKIP\_OFFICIAL\_LINES} +\\Wenn \textit{true} gesetzt ist werden keine offiziellen Linien bearbeitet. + +\textbf{IMPORTER\_SKIP\_FLOOD\_WATER} +\\Wenn \textit{true} gesetzt ist werden keine Hochwassermarken bearbeitet. + +\textbf{IMPORTER\_SKIP\_FLOOD\_PROTECTION} +\\Wenn \textit{true} gesetzt ist werden keine Hochwasserschutzanlagen +bearbeitet. + +\textbf{IMPORTER\_SKIP\_BED\_HEIGHT\_SINGLE} +\\Wenn \textit{true} gesetzt ist werden keine mittleren Sohlhöhen (Peilungen) bearbeitet. + +\textbf{IMPORTER\_SKIP\_BED\_HEIGHT\_EPOCH} +\\Wenn \textit{true} gesetzt ist werden keine mittleren Sohlhöhen (Epochen) +bearbeitet. + +\textbf{IMPORTER\_SKIP\_SEDIMENT\_DENSITY} +\\Wenn \textit{true} gesetzt ist werden keine Dateien zur Sedimentdichte +bearbeitet. + +\textbf{IMPORTER\_SKIP\_MORPHOLOGICAL\_WIDTH} +\\Wenn \textit{true} gesetzt ist wird keine morphologische Breite bearbeitet. + +\textbf{IMPORTER\_SKIP\_FLOW\_VELOCITY} +\\Wenn \textit{true} gesetzt ist werden keine Fließgeschwindigkeiten bearbeitet. + +\textbf{IMPORTER\_SKIP\_SEDIMENT\_YIELD} +\\Wenn \textit{true} gesetzt ist werden keine Sedimentfrachten bearbeitet. + +\textbf{IMPORTER\_SKIP\_WATERLEVELS} +\\Wenn \textit{true} gesetzt ist werden keine Sohlhöhen bearbeitet. + +\textbf{IMPORTER\_SKIP\_WATERLEVEL\_DIFFERENCES} +\\Wenn \textit{true} gesetzt ist werden keine Sohlhöhendifferenzen bearbeitet. + +\textbf{IMPORTER\_SKIP\_SQ\_RELATION} +\\Wenn \textit{true} gesetzt ist werden keine Daten für die Berechnungsart +SQ-Beziehung bearbeitet. + + +\subsection{Klassifikation von Streckenfavoriten} +\label{annotation-types} +Streckenfavoriten werden aus KM-Dateien importiert. Um die einzelnen Einträge +eine Kategorie (Brücken, Pegel, etc.) zuzuordnen, kann eine XML angegeben werden, +in der Regeln für diese Klassifikation definiert werden. Schematisch gliedert +sich diese Datei in die zwei Bereiche 'types' und 'patterns': + +\begin{lstlisting} + + + ... + ... + ... + + + ... + ... + ... + + +\end{lstlisting} + +In der Sektion 'types' werden die Kategorien vereinbart, in die klassifiziert +werden sollen. Die geschieht mit einzelnen + +\begin{lstlisting} + + + ... + +\end{lstlisting} + +Das Attribut 'default' kann einmal vergeben werden und besagt, dass diese +Kategorie gewählt werden soll, wenn keine andere Kategorie zugeordnet werden kann. + +In der Sektion 'patterns' werden dann die Regel definiert, die einzelne Einträge +den zuvor definierten Kategorien zuordnet. Hierfür können zwei Arten von +Definitionen angegeben werden: + +\begin{lstlisting} + +\end{lstlisting} + +oder + +\begin{lstlisting} + +\end{lstlisting} + +Die erste Variante bestimmt die Kategorie, die pro KM-Datei gelten soll. +\textit{pattern} ist hierbei ein regulärer Ausdruck, der auf den Dateinamen +angewandt wird. Passt der Name der Datei auf den regulären Ausdruck, wird +\textit{type} als Vorgabe angenommen. Treffen mehrere -Regeln zu, wird +der erste Treffer angewandt. Findet keine der -Regeln Anwendung, wird +die Kategorie ausgewählt, die in der -Section das Attribut +\textit{default} gesetzt hat. + +Die zweite Regel-Variante wird auf jeden Eintrag innerhalb einer KM-Datei +auf den Bezeichner der Streckenfavoriten angewandt. Als Muster dient auch hier +ein regulärer Ausdruck, der über das Attribut \textit{pattern} definiert wird. +Die Kategorie wird in Trefferfall über das Attribut \textit{type} bestimmt. +Treffen mehrere Regeln zu, wird die Kategorie gewählt, die zum ersten Treffer +gehört. Trifft keine Regel zu wird der Eintrag der Kategorie zugeteilt, die für +die beinhaltende Datei als Vorgabe gilt. + + +\subsection{Fehler und Warnungen} + +\subsubsection{Fehler} + +\textbf{error while parsing gew} +\\Die GEW-Datei ist fehlerhaft oder konnte nicht geöffnet werden. + +\textbf{File 'XYZ' is broken!} +\\Die Datei XYZ ist inkonsistent und führt zu Fehlern. + +\textbf{Error while parsing file for morph. width.} +\\Beim Lesen der morphologischen Breite trat ein Fehler auf. + +\textbf{Error while storing flow velocity model.} +\\Beim Schreiben eines Fliessgeschwindigkeitsmodells trat ein Fehler auf. + +\textbf{Error while storing flow velocity measurement.} +\\Beim Schreiben einer Fliessgeschwindigkeitsmessung trat ein Fehler auf. + +\textbf{Error while storing sediment yield.} +\\Beim Schreiben einer Sedimentablagerung trat ein Fehler auf. + +\textbf{Error while storing waterlevel diff.} +\\Beim Schreiben einer Wassspiegeldifferenz trat ein Fehler auf. + +\textbf{Error while storing sq relation.} +\\Beim Schreiben einer S(Q) Beziehung trat ein Fehler auf. + +\textbf{Error reading PRF file.} +\\Beim Lesen einer PRF-Datei trat ein Fehler auf. + +\textbf{Error closing PRF file.} +\\Beim Schliessen einer PRF-Datei trat ein Fehler auf. + +\textbf{HYK 1: not enough elements in line \#} +\\Eine Zeile in einer HYK-Datei hat nicht genügend Elemente. + +\textbf{HYK 2: not enough elements in line \#} +\\Eine Zeile in einer HYK-Datei hat nicht genügend Elemente. + +\textbf{HYK 5: not enough elements in line \#} +\\Eine Zeile in einer HYK-Datei hat nicht genügend Elemente. + +\textbf{HYK 6: not enough elements in line \#} +\\Eine Zeile in einer HYK-Datei hat nicht genügend Elemente. + +\textbf{HYK: parsing num zones, bottom or top height failed in line \#} +\\Die Anzahl der Zonen oder Daten über die Zonen sind nicht korrekt. + +\textbf{HYK: HYK: number of flow zones mismatches in line \#} +\\Die Anzahl der Zonen oder Daten über die Zonen sind nicht korrekt. + +\textbf{HYK: cannot parse number in line \#} +\\Eine Zahl wurde erwartet. + +\textbf{HYK: Error reading file.} +\\Beim Lesen einer HYK-Datei trat ein Fehler auf. + +\textbf{HYK: Error closing file.} +\\Beim Schliessen einer HYK-Datei trat ein Fehler auf. + +\subsubsection{Warnungen} +\textbf{annotation type file 'XYZ' is not readable.} +\\Die Datein XYZ kann nicht gelesen werden. + +\textbf{cannot parse annotation types file.} +\\Während der Verarbeitung der Annotationsdatei ist Fehler aufgetreten. + +\textbf{Cannot read directory.} +\\Verzeichnis konnte nicht gelesen werden. + +\textbf{no official lines wst file found} +\\Keine Datei mit amtlichen Linien gefunden. + +\textbf{cannot read fixations wst file directory} +\\Das Verzeichnis mit den Fixierungen kann nicht gelesen werden. + +\textbf{cannot read extra longitudinal wst file directory} +\\Das Verzeichnis mit den zusätzlichen Längsschnitten kann nicht gelesen werden. + +\textbf{cannot read gauges from 'XYZ'} +\\Die Pegelgültigkeiten können nicht gelesen werden. + +\textbf{HYK file 'XYZ' seems to be a duplicate.} +\\Die HYK-Datei wurde unter anderem Namen aber gleichen Inhalts bereits +gefunden. + +\textbf{PRF file 'XYZ' seems to be a duplicate.} +\\Die PRF-Datei wurde unter anderem Namen aber mit gleichem Inhalt bereits +gefunden. + +\textbf{Skip invalid SedimentYield: time interval or unit null!} +\\Eine Sedimentablagerung ist ungültig und wurde ausgelassen. + +\textbf{skip flow velocity model: No discharge zone specified.} +\\Da kein Abflussbereich angegeben wurde, wurde das Fließgeschwindigkeitsmodell ausgelassen. + +\textbf{skip invalid waterlevel - no unit set!} +\\Ein einheitenloser Wasserstand wurde ausgelassen. + +\textbf{Cannot parse time range.} +\\Das Zeitformat wurde nicht erkannt. + +\textbf{skip invalid data line \#} +\\Ungültige Datenzeile wurde ausgelassen. + +\textbf{Error while parsing sq relation row \#} +\\Eine Zeile in der S(Q)-Beziehung ist ungültig. + +\textbf{GLT: no gauge found in line \#} +\\In der GLT-Datei wurde ein Pegel erwartet, aber nicht gefunden. + +\textbf{GLT: line \# has not enough columns.} +\\Eine Zeile in der Pegelgültigkeitsdatei hat nicht genug spalten. + +\textbf{Error while parsing flow velocity values.} +\\Invalide Datenzeile in einer Datei mit einer Fliessgeschwindigkeitsmessung. + +\textbf{skip invalid data line: \#} +\\Invalide Datenzeile in einer Datei mit einer Fliessgeschwindigkeitsmessung. + +\textbf{skip invalid waterlevel line: \#} +\\Invalide Datenzeile in einer Datei mit Wasserstandsdifferenzen. + +\textbf{Error while parsing value: \#} +\\Invalide Datenzeile in einer Datei mit Wasserstandsdifferenzen. + +\textbf{Error while parsing station: \#} +\\Invalide Datenzeile in einer Datei mit Wasserstandsdifferenzen. + +\textbf{skip invalid MainValue part: \#} +\\Invalide Datenzeile in einer Datei Fließgeschwindigkeitsmodellen. + +\textbf{skip invalid gauge part: \#} +\\Invalide Datenzeile in einer Datei Fließgeschwindigkeitsmodellen. + +\textbf{Error while parsing Q value: } +\\Invalide Datenzeile in einer Datei Fließgeschwindigkeitsmodellen. + +\textbf{skip invalid data line: \#} +\\Invalide Datenzeile in einer Datei Fließgeschwindigkeitsmodellen. + +\textbf{Error while parsing flow velocity values.} +\\Invalide Datenzeile in einer Datei Fließgeschwindigkeitsmodellen. + +\textbf{Error while parsing number from data row: \#} +\todo INGO + +\textbf{Unknown meta line: \#} +\\Invalide Datenzeile in einer Datei mit Sedimentdichten. + +\textbf{Error while parsing numbers in: \#} +\\Invalide Datenzeile in einer Datei mit Sedimentdichten. + +\textbf{skip invalid data line: \#} +\\Invalide Datenzeile in einer Datei mit Sedimentdichten. + +\textbf{Error while parsing numbers in \#} +\\Invalide Datenzeile in einer Datei mit Sedimentdichten. + +\textbf{STA file is empty} +\\Stammdatendatei ist leer oder hat zu wenige Zeilen. + +\textbf{STA file has not enough lines} +\\Stammdatendatei ist leer oder hat zu wenige Zeilen. + +\textbf{STA file is too short} +\\Stammdatendatei ist leer oder hat zu wenige Zeilen. + +\textbf{First line in STA file is too short.} +\\Die erste Zeile der Stammdaten ist zu kurz. + +\textbf{STA: second line is too short} +\\Die zweite Zeile ist zu kurz. + +\textbf{STA: parsing of the datum of the gauge failed} +\\Das Datum in der Stammdatendatei konnte nicht gelesen werden. + +\textbf{STA: 'XYZ' is not a valid long number.} +\\Die Pegelnummer ist invalide. + +\textbf{STA: Not enough columns for aeo and datum} +\\AEO und Pegelnullpunkt können nicht ermittelt werden. + +\textbf{STA: cannot parse aeo or datum.} +\\AEO oder Pegelnullpunkt sind invalide. + +\textbf{STA: value not parseable in line \#} +\\Wert ist nicht als Zahl zu interpretieren. + +\textbf{PRF: cannot open file } +\\Die PRF kann nicht geöffnet werden. + +\textbf{PRF: file is empty} +\textbf{PRF: First line does not look like a PRF data pattern.} +\textbf{PRF: premature EOF. Expected integer in line 2} +\textbf{PRF: Expected in line 2} +\textbf{PRF: invalid integer in line 2} +\textbf{PRF: premature EOF. Expected pattern for km extraction} +\textbf{PRF: line 4 does not look like a PRF km extraction pattern.} +\textbf{PRF: premature EOF. Expected skip row count.} +\textbf{PRF: line 5 is not an positive integer.} +\textbf{PRF: cannot extract km in line \#} +\\Das PRF-Format ist komplex. Hier sollten weitere Information zur genaueren +Analyse herangezogen werden. + +\textbf{cannot access WST file } +\\Die WST-Datei konnte nicht gefunden werden. + +\textbf{Found an invalid row in the AT file.} +\\Eine Zeile in einer AT-Datei ist nicht korrekt. + +\textbf{AT: invalid number } +\\Eine Zahl wurde erwartet aber nicht gefunden. + +\textbf{Try to add Q range without waterlevel!} +\\Q-Bereich ohne Wasserstand gefunden. + +\textbf{Error while parsing Q range: \#} +\\Invalider Q-Bereich + +\textbf{skip invalid waterlevel line: \#} +\\Ungültige Wasserstandslinie + +\textbf{Error while parsing number values: \#} +\\Ungültige Zahlenwerte. + +\textbf{ANN: not enough columns in line \#} +\\Nicht genug Zeichenspalten in KM-Datei + +\textbf{ANN: invalid number in line \#} +\\Ungültige Zahl. + +\textbf{ANN: cannot parse 'Unterkante' in line \#} +\\Die Unterkante in einer KM-Datei konnte nicht gelesen werden. + +\textbf{ANN: cannot parse 'Unterkante' or 'Oberkante' in line \#} +\\Unter- oder Oberkannte liegen in einem falschen Format vor. + +\textbf{ANN: duplicated annotation 'XYZ' in line \#} +\\Ein Duplikat eines Streckenfavoriten wurde gefunden. + +\textbf{ANN: 'XYZ' is not a directory.} +\\Unterverzeichnis konnte nicht geöffnet werden. + +\textbf{ANN: cannot list directory 'XYZ'} +\\Unterverzeichnis konnte nicht durchsucht werden. + +\textbf{BHP: Meta line did not match any known type: \#} +\\Unbekannter Typ. + +\textbf{BHP: Error while parsing timeinterval!} +\\Ungültiges Zeitinterval. + +\textbf{BHP: Error while parsing year!} +\\Ungültige Jahresangabe. + +\textbf{BHP: Error while parsing sounding width!} +\\Unbekannte Peilungsbreite. + +\textbf{BHP: Error while parsing range!} +\\Bereichsangabe fehlerhaft. + +\textbf{MWP: Unknown meta line: \#} +\\Meta-Informationen ungültig. + +\textbf{MWP: skip invalid data line: \#} +\\Ungültige Datenzeile wurde übersprungen. + +\textbf{MWP: Error while parsing numbers in \#} +\\Falsche Zahlenformat. + +\textbf{ANNCLASS: rule has no name} +\\Klassifizierungsregel für Streckenfavoriten hat keinen Namen. + +\textbf{ANNCLASS: pattern has no 'pattern' attribute.} +\\Klassifizierungsmuster für Streckenfavoriten hat kein Muster. + +\textbf{ANNCLASS: pattern has unknown type 'XYZ'} +\\Klassifizierungsmuster für Streckenfavoriten konnte keinem Typ zugeordnet werden. + +\textbf{ANNCLASS: pattern 'XYZ' is invalid.} +\\Klassifizierungsmuster für Streckenfavoriten ist ungültig. + +\textbf{BSP: Error while parsing data row.} +\\Ungültige Datenzeile. + +\textbf{SYP: Unknown meta line: \#} +\\Ungültige Metadatenzeile. + +\textbf{SYP: skip invalid data line \#} +\\Ungültige Datenzeile wurde übersprungen. + +\textbf{SYP: Error while parsing numbers in \#} +\\Ungültige Zahlenformatierung. + +\textbf{SYP: Unknown time interval string } +\\Falsches Datumformat. + +\textbf{SYP: Error while parsing years } +\\Falsches Jahreszahlformat. + +\textbf{SYP: Error while parsing ranges of } +\\Bereichsangaben fehlerhaft. + +\textbf{SYP: Unknown grain fraction } +\\Unbekannte Kornfraktion. + +\textbf{WST: invalid number.} +\\Ungültige Zahl. + +\textbf{WST: km () found more than once. -> ignored.} +\\Ein Kilometer ist doppelt in einer WST-Datei enthalten. + +\textbf{HYK: zone coordinates swapped in line \#} +\\Fließzonenkordinaten wurden in umgekehrter Reihenfolge angeben. + +\textbf{BHS: Skip invalid file 'XYZ'} +\\Die Inhalte der Datei sind ungültig. + +\textbf{ISQ: Unable to store sq relation value.} +\\S(Q) Beziehung konnte nicht gespeichert werden. + +\textbf{ISQ: Cannot determine sq relation without time interval.} +\\Einer S(Q)-Beziehung ist keine zeitliche Gültigkeit zugeordnet. + +\textbf{IWD: skip invalid waterlevel difference - no unit set!} +\\Wasserstandsdifferenz hat keine Einheit. + +\textbf{BHE: Skip file - invalid current elevation model.} +\\Höhenmodell ungültig. + +\textbf{BHE: Skip file - invalid time range.} +\\Zeitbereich ungültig. + +\textbf{BHE: Skip file - invalid km range.} +\\Kilometerbereich ungültig. + + +\subsection{Hinweise zum Betrieb} +Aufgrund des hohen Speicherverbrauchs des Importers wird empfohlen, der JVM +mindestens 8 GiB Hauptspeicher zuzuordnen. Dies kann beim Starten des Java +Prozesses mittels folgendem Parameter '-Xmx8192m' getan werden. Das +Shellskript zum Starten des Importers setzt diesen Wert standardmäßig. +Besonders speicherintensiv ist der Import der HYKs und der PRFs. +Hier ist es unter Umständen empfehlenswert, diese in zwei oder drei +Schritten zu importieren. Zuerst die sonstigen hydrologischen Daten importieren; +anschließend einen Import-Vorgang ausschließlich für HYKs starten; anschließend +einen Import-Vorgang für PRFs starten. Siehe Kapitel \ref{configuration} für +weitere Informationen zum Aktivieren/Deaktivieren einzelner Dateitypen beim +Import. + + +\subsection{Starten des Fachdaten Importers} +Der Fachdaten Importer wird mit Hilfe eines Shellskripts von einer Konsole +gestartet. Dazu wechseln Sie auf der Konsole in das Verzeichnis \todo und führen +folgenden Befehl aus:\\ + +\begin{lstlisting} + sh contrib/run.sh +\end{lstlisting}