comparison flys-backend/doc/documentation/de/importer-hydr-morph.tex @ 3689:c938e568c4a2 2.9

merged flys-backend/2.9
author Thomas Arendsen Hein <thomas@intevation.de>
date Fri, 28 Sep 2012 12:14:44 +0200
parents 1bef83948d61
children ac93f397018d
comparison
equal deleted inserted replaced
3651:06a65baae494 3689:c938e568c4a2
1 \section{Fachdatenimport}
2
3 Der Fachdatenimporter dient dazu, hydrologische und morphologische Gewässerdaten
4 aus dem Dateisystem in die FLYS3-Datenbank zu importieren. Das Werkzeug
5 orientiert sich hierbei an der Dateihierachie, so wie sie auch von Desktop-FLYS
6 ausgelesen wird. Der Import Vorgang ist in zwei Phasen unterteilt:
7
8 \begin{itemize}
9 \item Lesen aller Daten eines Gewässers aus dem Dateisystem.
10 \item Schreiben der erfolgreich eingelesenen Daten in die Datenbank.
11 \end{itemize}
12
13 Sollte beim Lese- oder Schreib-Vorgang eines Gewässers ein Fehler auftreten, so
14 werden sämtliche Daten des Gewässers verworfen. Beide Phasen zusammen bilden
15 somit eine Transaktion.
16
17 \textbf{Hinweis}
18 \\Der Import geht wie auch Desktop-FLYS davon aus, dass die Dateien Latin-1
19 encodiert vorliegen! Stellen Sie also sicher, dass das von Ihnen verwendete
20 Encoding korrekt ist. Andernfalls ist es möglich, dass es während des Imports zu
21 unerwarteten Problemen kommt.
22
23 Der Importer ist ein in Java geschriebenes Werkzeug und kann von der Konsole aus
24 gestartet werden. Sämtlich Konfigurationen können über sogenannte
25 \textit{System-Properties} übergeben werden. Eine \textit{System-Property} wird
26 dabei mittels \textit{-Dkey=value} beim Start übergeben. Im folgenden Beispiel
27 würde der Importer mit einer Konfiguration \textit{flys.backend.importer.dry.run},
28 welche den Wert \textit{true} gesetzt hat, gestartet.
29
30 \begin{lstlisting}
31 java -Dflys.backend.importer.dry.run=true de.intevation.flys.importer.Importer
32 \end{lstlisting}
33
34 Auf gleiche Weise können dem Importer sämtliche Optionen zur Konfiguration
35 beim Start mitgegeben werden. Im folgenden werden die möglichen System-Properties und
36 ihre Auswirkung auf den Import genauer beschrieben. In den Kapiteln
37 \ref{configuration} und \ref{start-hydr} wird zur Einfachheit jedoch ein
38 Shellskript verwendet, das eine Standardkonfiguration vorgibt und den Importer
39 mit allen erforderlichen Konfigurationen startet.
40
41
42 \subsection{Importierte Daten}
43 In diesem Kapitel werden die Datentypen aufgelistet und erläutert, wie sie vom
44 Importer eingelesen werden.
45
46 \subsubsection{Streckenfavoriten (*.km-Dateien)}
47 Der Import der Streckenfavoriten kann mit \textbf{-Dflys.backend.importer.skip.annotations=true}
48 unterdrückt werden.
49
50 Zur Klassifikation von Streckenfavoriten muss mittels\\
51 \textbf{-Dflys.backend.importer.annotation.types=DATEI} der Pfad zu einer
52 XML-Datei angegeben werden. In dieser Datei werden die Typen und Regeln
53 festgelegt, anhand derer die Klassifikation während des Import-Vorgangs
54 vorgenommen wird. Details hierzu befinden sich im Kapitel \ref{annotation-types}.
55
56 \subsubsection{Pegel, Stammdaten (*.glt, *.sta-Dateien)}
57 Der Import von Pegel- und Stammdaten kann mit \textbf{'-Dflys.backend.importer.skip.gauges=true'}
58 unterdrückt werden. Die .glt-Datei, die neben der .wst-Datei liegt, wird zuerst
59 ausgelesen. Es werden nur *.sta-Datei von Pegeln geladen, die in der .glt-Datei
60 vermerkt sind.
61
62 Mittels \textbf{-Dflys.backend.sta.parse.gauge.numbers=true'} wird versucht, die
63 offiziellen Pegelnummern aus den Stammdaten zu extrahieren.
64 \textbf{Dies ist mit Vorsicht zu behandeln, denn die meisten STA-Dateien
65 enthalten invalide Pegelnummern.}
66
67 Die System-Property \textbf{flys.backend.main.value.types} kann einen String
68 mit gültigen Typen von Stammdaten enthalten. Vorbelegt ist \textit{QWTD}. In der
69 Praxis ist \textit{QWD} eine sinnvolle Belegung.
70
71 \subsubsection{Basis-Wasserstände (gewaesser.wst-Dateien)}
72 Der Import von Wasserständen kann mit \textbf{-Dflys.backend.importer.skip.wst=true} unterdrückt werden.
73
74 \subsubsection{Zusätzliche Längsschnitte (*.zus, *.wst-Dateien)}
75 Der Import von zusätzlichen Längsschnitten kann mit \textbf{-Dflys.backend.importer.skip.extra.wsts=true}
76 unterdrückt werden. Es werden die *.zus- und *.wst-Dateien aus dem Verzeichnis
77 \textit{../Zus.Längsschnitte} relativ zur gewaesser.wst-Datei betrachtet.
78
79 \subsubsection{Fixierungen (*.wst-Dateien)}
80 Der Import von Fixierungen kann mit \textbf{-Dflys.backend.importer.skip.fixations=true}
81 unterdrückt werden. Es werden die *.wst-Dateien aus dem Verzeichnis
82 \textit{../Fixierungen} relativ zur gewaesser.wst-Datei betrachtet.
83
84 \subsubsection{Amtliche Linien (*.wst-Dateien)}
85 Der Import von amtlichen Linien kann mit \textbf{-Dflys.backend.importer.skip.official.lines=true}
86 unterdrückt werden. Es werden die \textit{Amtl\_Linien.wst}-Dateien aus dem
87 Verzeichnis \textit{../Basisdaten} und \textit{../Fixierungen} relativ zur
88 \textit{gewaesser.wst}-Datei betrachtet.
89
90 \subsubsection{Profilspuren (*.prf-Dateien)}
91 Der Import von Profilspuren kann mit \textbf{-Dflys.backend.importer.skip.prfs=true}
92 unterdrückt werden. Es werden rekursiv alle *.prf-Dateien aus \textit{../../..}
93 relativ zur gewaesser.wst-Datei betrachtet. Vor dem Import werden mit Hilfe
94 eines Längen- und eines MD5-Summen-Vergleichs inhaltliche Duplikate
95 ausgeschlossen.
96
97 \subsubsection{Hydraulische Kennzahlen (*.hyk)}
98 Der Import von hydraulischen Kennzahlen kann mit \textbf{-Dflys.backend.importer.skip.hyks=true} unterdrückt
99 werden. Es werden rekursiv alle *.hyk-Dateien aus \textit{../../..} relativ zur
100 gewaesser.wst-Datei betrachtet. Vor dem Import werden mit Hilfe eines Längen- und
101 eines MD5-Summen-Vergleichs inhaltliche Duplikate ausgeschlossen.
102
103 \subsubsection{Hochwassermarken (*.zus, *.wst)}
104 Der Import von Hochwassermarken kann mit \textbf{-Dflys.backend.importer.skip.flood.water=true}
105 unterdrückt werden. Es werden die *.zus- und *.wst-Dateien aus dem Verzeichnis
106 \textit{../HW-Marken} relativ zur gewaesser.wst-Datei betrachtet.
107
108 \subsubsection{Hochwasserschutzanlagen (*.zus)}
109 Der Import von Hochwasserschutzanlagen kann mit \textbf{-Dflys.backend.importer.skip.flood.protection=true}
110 unterdrückt werden. Es werden die *.zus- und *.wst-Dateien aus dem Verzeichnis
111 \textit{../HW-Schutzanlagen} relativ zur \textit{gewaesser.wst}-Datei betrachtet.
112
113 \subsubsection{Sohlhöhen (Peilungen)}
114 Der Import von Sohlhöhen-Peilungen kann mit \textbf{-Dflys.backend.importer.skip.bed.height.single=true}
115 unterdrückt werden. Es werden die Dateien aus dem Verzeichnis
116 \textit{Morphologie/Sohlhoehen/Einzeljahre} geladen.
117
118 \subsubsection{Sohlhöhen (Epochen)}
119 Der Import Sohlhöhen-Epochen kann mit \textbf{-Dflys.backend.importer.skip.bed.height.epoch=true}
120 unterdrückt werden. Es werden die Dateien aus dem Verzeichnis
121 \textit{Morphologie/Sohlhoehen/Epochen} geladen.
122
123 \subsubsection{Sedimentdichte}
124 Der Import der Sedimentdichte kann mit
125 \textbf{-Dflys.backend.importer.skip.sediment.density=true}
126 unterdrückt werden. Es werden alle Dateien aus dem Verzeichnis
127 \textit{Morphologie/Sedimentdichte} geladen.
128
129 \subsubsection{Morphologische Breite}
130 Der Import der morphologischen Breite kann mit
131 \textbf{-Dflys.backend.importer.skip.morphological.width=true}
132 unterdrückt werden. Es werden alle Dateien aus dem Verzeichnis
133 \textit{Morphologie/morphologische\_Breite} geladen.
134
135 \subsubsection{Fließgeschwindigkeit}
136 Der Import der Fließgeschwindigkeit kann mit
137 \textbf{-Dflys.backend.importer.skip.flow.velocity=true}
138 unterdrückt werden. Es werden alle Modellrechnungen aus dem Verzeichnis\\
139 \textit{Morphologie/Geschwindigkeit\_Schubspannung/Modellrechnungen} und\\
140 \textit{Morphologie/Geschwindigkeit\_Schubspannung/v-Messungen} geladen.
141
142 \subsubsection{Sedimentfracht}
143 Der Import der Sedimentfracht kann mit
144 \textbf{-Dflys.backend.importer.skip.sediment.yield=true}
145 unterdrückt werden. Es werden alle Dateien aus dem Verzeichnis
146 \textit{Morphologie/Fracht} geladen. Dabei werden die Dateien aus dem
147 Unterverzeichnissen \textit{Einzeljahre} und \textit{Epochen} entsprechend als
148 \textit{Einzeljahre} und \textit{Epochen} vermerkt.
149
150 \subsubsection{Wasserspiegellagen für MINFO}
151 Der Import der MINFO spezifischen Wasserspiegellagen kann mit\\
152 \textbf{-Dflys.backend.importer.skip.waterlevels=true}
153 unterdrückt werden. Es werden alle Dateien aus dem Verzeichnis
154 \textit{Morphologie/Fixierungsanalyse/Wasserspiegellagen} geladen.
155
156 \subsubsection{Wasserspiegeldifferenzen für MINFO}
157 Der Import der Wasserspiegellagendifferenzen kann mit\\
158 \textbf{-Dflys.backend.importer.skip.waterlevel.differences=true}
159 unterdrückt werden. Es werden alle Dateien aus dem Verzeichnis
160 \textit{Morphologie/Fixierungsanalyse/Wasserspiegeldifferenzen} geladen.
161
162 \subsubsection{Transport Abfluss Beziehung}
163 Der Import der Daten für die Transport Abfluss Beziehung kann mit\\
164 \textbf{flys.backend.importer.skip.sq.relation=true} unterdrückt
165 werden. Es werden alle Dateien unter
166 \textit{Feststofftransport-Abfluss-Beziehung} geladen.
167
168
169 \subsection{Klassifikation von Streckenfavoriten}
170 \label{annotation-types}
171 Streckenfavoriten werden aus KM-Dateien importiert. Um die einzelnen Einträge
172 einer Kategorie (Brücke, Pegel, etc.) zuzuordnen, kann eine XML angegeben werden,
173 in der Regeln für diese Klassifikation definiert werden. Schematisch gliedert
174 sich diese Datei in die zwei Bereiche 'types' und 'patterns':
175
176 \begin{lstlisting}
177 <annotation>
178 <types>
179 <type>...</type>
180 <type>...</type>
181 ...
182 </types>
183 <patterns>
184 <pattern>...</pattern>
185 <pattern>...</pattern>
186 ...
187 </patterns>
188 </annotation>
189 \end{lstlisting}
190
191 In der Sektion \textit{types} werden die Kategorien vereinbart, in die klassifiziert
192 werden soll. Dies geschieht mit entsprechenden Zeilen in der XML Datei. Es folgt
193 ein Auszug aus einer solchen Datei:
194
195 \begin{lstlisting}
196 <type name="Pegel"/>
197 <type name="Brücke"/>
198 ...
199 <type name="Sonstige" default="true"/>
200 \end{lstlisting}
201
202 Das Attribut 'default' darf maximal einmal vergeben werden und besagt, dass diese
203 Kategorie gewählt werden soll, wenn keine andere Kategorie zugeordnet werden kann.
204
205 In der Sektion 'patterns' werden dann die Regeln definiert, die einzelne Einträge
206 den zuvor definierten Kategorien zuordnet. Hierfür können zwei Arten von
207 Definitionen angegeben werden:
208
209 \begin{lstlisting}
210 <file pattern="^Brücken$" type="Brücke"/>
211 \end{lstlisting}
212
213 oder
214
215 \begin{lstlisting}
216 <line pattern="^Brücke[:\s].*$" type="Brücke"/>
217 \end{lstlisting}
218
219 Die erste Variante bestimmt die Kategorie, die pro KM-Datei gelten soll.
220 \textit{pattern} ist hierbei ein regulärer Ausdruck, der auf den Dateinamen
221 angewandt wird. Passt der Name der Datei auf den regulären Ausdruck, wird
222 \textit{type} als Vorgabe angenommen. Treffen mehrere \textit{file}-Regeln zu,
223 wird der erste Treffer angewandt. Findet keine der \textit{file}-Regeln Anwendung, wird
224 die Kategorie ausgewählt, die in der \textit{types}-Section das Attribut
225 \textit{default} gesetzt hat.
226
227 Die zweite Regel-Variante \textit{line} wird auf jeden Eintrag innerhalb einer KM-Datei
228 auf den Bezeichner der Streckenfavoriten angewandt. Als Muster dient auch hier
229 ein regulärer Ausdruck, der über das Attribut \textit{pattern} definiert wird.
230 Die Kategorie wird im Trefferfall über das Attribut \textit{type} bestimmt.
231 Treffen mehrere Regeln zu, wird die Kategorie gewählt, die zum ersten Treffer
232 gehört. Trifft keine Regel zu wird der Eintrag der Kategorie zugeteilt, die für
233 die beinhaltende Datei als Vorgabe gilt.
234
235
236 \subsection{Konfiguration}
237 \label{configuration}
238 Zum Starten des Importers ist es notwendig, in der Datei
239 \textit{contrib/run\_hydr\_morph.sh} die Variablen am Anfang der Datei
240 anzupassen. Im folgenden werden notwendige und optionale Einstellungen
241 beschrieben, die beim Starten des Importers berücksichtigt werden. Folgende
242 Einstellungen sind zwangsläufig an die bestehende Umgebung anzupassen:
243
244 \textbf{INFO\_GEW}
245 \\Diese Option muss auf eine valide *.gew Datei verweisen (bekannt aus
246 Desktop-FLYS). Wichtig für den Importer sind in dieser Datei die Zeilen, die mit
247 \textit{WSTDatei:} beginnen. In ihnen wird der Pfad zu der zentralen WST-Datei
248 des jeweiligen Gewässers angegeben. Alle anderen importierten Dateien werden in
249 ihrer Lage im Dateisystem relativ zur Lage dieser Datei betrachtet.
250
251 \textbf{BACKEND\_USER}
252 \\Der Nutzername, der zum Verbinden zur Datenbank verwendet werden soll.
253
254 \textbf{BACKEND\_PASS}
255 \\Das Passwort, welches in Kombination mit \textbf{BACKEND\_USER} zum Verbinden
256 zur Datenbank verwendet werden soll.
257
258 \textbf{BACKEND\_HOST}
259 \\Der Datenbank-Host. In der Regel sollte hier \textit{localhost} eingetragen
260 werden, da es empfohlen wird, den Importer auf dem selben Host zu starten, auf
261 dem auch die Datenbank läuft.
262
263 \textbf{BACKEND\_PORT}
264 \\Der Port auf dem die Datenbank zu erreichen ist. Bei einer Oracle XE Instanz
265 z.B.: \textit{1521}, sofern nicht anders konfiguriert.
266
267 \textbf{BACKEND\_NAME}
268 \\Der Name der Datenbank Instanz. Beispielsweise \textit{XE} bei einer Oracle XE
269 Instanz.
270
271 \textbf{BACKEND\_DB\_PREFIX}
272 \\Der Präfix zum Aufbau einer Datenbankverbindung. Für Oracle z.B.: \textit{jdbc:oracle:thin:@}.
273
274 \textbf{BACKEND\_DB\_DRIVER}
275 \\Der Name des JDBC-Treibers, der es erlaubt das Protokoll der Datenbank zu
276 sprechen. Im Falle einer Oracle XE wäre dies z.B.: \textit{oracle.jdbc.OracleDriver}.
277
278 \textbf{BACKEND\_DB\_DIALECT}
279 \\Der Hibernate-Dialekt, den die Datenbank versteht. Im Falle einer Oracle-XE
280 wäre dies z.B.: \textit{org.hibernate.dialect.OracleDialect}.
281
282
283 Weitere Details zum Verbinden zu einer Oracle Datenbank finden Sie unter\\
284 \href{http://www.orafaq.com/wiki/JDBC}{http://www.orafaq.com/wiki/JDBC}. Alle weiteren Einstellungen sind
285 optional anpassbar:
286
287 \textbf{LOG4J\_CONFIG}
288 \\Der Fachdatenimport verwendet die externe Bibliothek \textit{Apache Log4J} zum Loggen
289 von Informationen. Dazu ist es notwendig eine entsprechende Konfiguration beim
290 Start anzugeben. \textit{LOG4J\_CONFIG} verweist in diesem Fall auf eine externe
291 Datei zur Konfiguration von Log4J. Im Standardfall wird die Datei
292 \textit{conf/log4j.properties} verwendet, welche eine sinnvolle Standardkonfiguration
293 enthält. Sollten Sie diese Konfiguration verwenden, wird beim Import eine
294 Log-Datei namens \textit{import.log} erstellt, die maximal 100 MB groß werden
295 kann. Sollte die Log-Datei größer als 100 MB anwachsen, wird die aktuelle Datei
296 nach \textit{import.log.1} umbenannt und eine neue Datei \textit{import.log}
297 wird begonnen. Maximal werden 10 Log-Dateien gespeichert. Für weitere Details
298 zu Log4J siehe Online Dokumentation unter
299 \href{http://logging.apache.org/log4j/1.2/}{http://logging.apache.org/log4j/1.2/}
300
301
302 \textbf{IMPORTER\_MAINVALUE\_TYPES}
303 \\Diese Einstellung erlaubt die Angabe eines Textes, der aus den gültigen Typen
304 für Hauptwerte zusammengesetzt ist. \textit{QWTD} ist standardmäßig gesetzt.
305
306 \textbf{IMPORTER\_ANNOTATION\_TYPES}
307 \\Diese Einstellung verweist auf eine Datei (relativ zum Ort der \textit{run.sh}
308 im Dateisystem), die die möglichen Typen von Streckenfavoriten und deren Regeln
309 definiert. Siehe hierzu auch Kapitel \ref{annotation-types}.
310
311
312 Die im folgenden beschriebenen Einstellungen können jeweils die Werte
313 \textit{true} oder \textit{false} annehmen und sind optional anzupassen.
314
315 \textbf{IMPORTER\_DRY\_RUN}
316 \\Falls \textit{true} gesetzt wird, wird der Import nur simuliert. Es werden
317 keine Daten in die Datenbank geschrieben. Dies kann z.B.: zum Ermitteln
318 potentieller Dateninkonsistenzen sinnvoll sein.
319
320 \textbf{IMPORTER\_SKIP\_GAUGES}
321 \\Wenn \textit{true} gesetzt ist werden keine Pegel- und Stammdaten bearbeitet.
322
323 \textbf{IMPORTER\_SKIP\_ANNOTATIONS}
324 \\Wenn \textit{true} gesetzt ist werden keine Streckenfavoriten bearbeitet.
325
326 \textbf{IMPORTER\_SKIP\_WST}
327 \\Wenn \textit{true} gesetzt ist werden keine WST Dateien bearbeitet.
328
329 \textbf{IMPORTER\_SKIP\_PRFS}
330 \\Wenn \textit{true} gesetzt ist werden keine Querprofilspuren bearbeitet.
331
332 \textbf{IMPORTER\_SKIP\_HYKS}
333 \\Wenn \textit{true} gesetzt ist werden keine HYK Dateien bearbeitet.
334
335 \textbf{IMPORTER\_SKIP\_EXTRA\_WST}
336 \\Wenn \textit{true} gesetzt ist werden keine zusätzlichen Längsschnitte
337 bearbeitet.
338
339 \textbf{IMPORTER\_SKIP\_FIXATIONS}
340 \\Wenn \textit{true} gesetzt ist werden keine Fixierungen bearbeitet.
341
342 \textbf{IMPORTER\_SKIP\_OFFICIAL\_LINES}
343 \\Wenn \textit{true} gesetzt ist werden keine offiziellen Linien bearbeitet.
344
345 \textbf{IMPORTER\_SKIP\_FLOOD\_WATER}
346 \\Wenn \textit{true} gesetzt ist werden keine Hochwassermarken bearbeitet.
347
348 \textbf{IMPORTER\_SKIP\_FLOOD\_PROTECTION}
349 \\Wenn \textit{true} gesetzt ist werden keine Hochwasserschutzanlagen
350 bearbeitet.
351
352 \textbf{IMPORTER\_SKIP\_BED\_HEIGHT\_SINGLE}
353 \\Wenn \textit{true} gesetzt ist werden keine mittleren Sohlhöhen (Peilungen) bearbeitet.
354
355 \textbf{IMPORTER\_SKIP\_BED\_HEIGHT\_EPOCH}
356 \\Wenn \textit{true} gesetzt ist werden keine mittleren Sohlhöhen (Epochen)
357 bearbeitet.
358
359 \textbf{IMPORTER\_SKIP\_SEDIMENT\_DENSITY}
360 \\Wenn \textit{true} gesetzt ist werden keine Dateien zur Sedimentdichte
361 bearbeitet.
362
363 \textbf{IMPORTER\_SKIP\_MORPHOLOGICAL\_WIDTH}
364 \\Wenn \textit{true} gesetzt ist wird keine morphologische Breite bearbeitet.
365
366 \textbf{IMPORTER\_SKIP\_FLOW\_VELOCITY}
367 \\Wenn \textit{true} gesetzt ist werden keine Fließgeschwindigkeiten bearbeitet.
368
369 \textbf{IMPORTER\_SKIP\_SEDIMENT\_YIELD}
370 \\Wenn \textit{true} gesetzt ist werden keine Sedimentfrachten bearbeitet.
371
372 \textbf{IMPORTER\_SKIP\_WATERLEVELS}
373 \\Wenn \textit{true} gesetzt ist werden keine Wasserspiegellagen für MINFO bearbeitet.
374
375 \textbf{IMPORTER\_SKIP\_WATERLEVEL\_DIFFERENCES}
376 \\Wenn \textit{true} gesetzt ist werden keine Wasserspiegellagendifferenzen für
377 MINFO bearbeitet.
378
379 \textbf{IMPORTER\_SKIP\_SQ\_RELATION}
380 \\Wenn \textit{true} gesetzt ist werden keine Daten für die Berechnungsart
381 SQ-Beziehung bearbeitet.
382
383
384
385 \subsection{Fehler und Warnungen}
386
387 \subsubsection{Fehler}
388
389 \textbf{error while parsing gew}
390 \\Die GEW-Datei ist fehlerhaft oder konnte nicht geöffnet werden.
391
392 \textbf{File 'XYZ' is broken!}
393 \\Die Datei XYZ ist inkonsistent und führt zu Fehlern.
394
395 \textbf{Error while parsing file for morph. width.}
396 \\Beim Lesen der morphologischen Breite trat ein Fehler auf.
397
398 \textbf{Error while storing flow velocity model.}
399 \\Beim Schreiben eines Fließgeschwindigkeitsmodells trat ein Fehler auf.
400
401 \textbf{Error while storing flow velocity measurement.}
402 \\Beim Schreiben einer Fließgeschwindigkeitsmessung trat ein Fehler auf.
403
404 \textbf{Error while storing sediment yield.}
405 \\Beim Schreiben einer Sedimentablagerung trat ein Fehler auf.
406
407 \textbf{Error while storing waterlevel diff.}
408 \\Beim Schreiben einer Wasserspiegeldifferenz trat ein Fehler auf.
409
410 \textbf{Error while storing sq relation.}
411 \\Beim Schreiben einer S(Q) Beziehung trat ein Fehler auf.
412
413 \textbf{Error reading PRF file.}
414 \\Beim Lesen einer PRF-Datei trat ein Fehler auf.
415
416 \textbf{Error closing PRF file.}
417 \\Beim Schließen einer PRF-Datei trat ein Fehler auf.
418
419 \textbf{HYK 1: not enough elements in line \#}
420 \\Eine Zeile in einer HYK-Datei hat nicht genügend Elemente.
421
422 \textbf{HYK 2: not enough elements in line \#}
423 \\Eine Zeile in einer HYK-Datei hat nicht genügend Elemente.
424
425 \textbf{HYK 5: not enough elements in line \#}
426 \\Eine Zeile in einer HYK-Datei hat nicht genügend Elemente.
427
428 \textbf{HYK 6: not enough elements in line \#}
429 \\Eine Zeile in einer HYK-Datei hat nicht genügend Elemente.
430
431 \textbf{HYK: parsing num zones, bottom or top height failed in line \#}
432 \\Die Anzahl der Zonen oder Daten über die Zonen sind nicht korrekt.
433
434 \textbf{HYK: HYK: number of flow zones mismatches in line \#}
435 \\Die Anzahl der Zonen oder Daten über die Zonen sind nicht korrekt.
436
437 \textbf{HYK: cannot parse number in line \#}
438 \\Eine Zahl wurde erwartet.
439
440 \textbf{HYK: Error reading file.}
441 \\Beim Lesen einer HYK-Datei trat ein Fehler auf.
442
443 \textbf{HYK: Error closing file.}
444 \\Beim Schließen einer HYK-Datei trat ein Fehler auf.
445
446 \subsubsection{Warnungen}
447 \textbf{annotation type file 'XYZ' is not readable.}
448 \\Die Datein XYZ kann nicht gelesen werden.
449
450 \textbf{cannot parse annotation types file.}
451 \\Während der Verarbeitung der Annotationsdatei ist Fehler aufgetreten.
452
453 \textbf{Cannot read directory.}
454 \\Verzeichnis konnte nicht gelesen werden.
455
456 \textbf{no official lines wst file found}
457 \\Keine Datei mit amtlichen Linien gefunden.
458
459 \textbf{cannot read fixations wst file directory}
460 \\Das Verzeichnis mit den Fixierungen kann nicht gelesen werden.
461
462 \textbf{cannot read extra longitudinal wst file directory}
463 \\Das Verzeichnis mit den zusätzlichen Längsschnitten kann nicht gelesen werden.
464
465 \textbf{cannot read gauges from 'XYZ'}
466 \\Die Pegelgültigkeiten können nicht gelesen werden.
467
468 \textbf{HYK file 'XYZ' seems to be a duplicate.}
469 \\Die HYK-Datei wurde unter anderem Namen aber gleichen Inhalts bereits
470 gefunden.
471
472 \textbf{PRF file 'XYZ' seems to be a duplicate.}
473 \\Die PRF-Datei wurde unter anderem Namen aber mit gleichem Inhalt bereits
474 gefunden.
475
476 \textbf{Skip invalid SedimentYield: time interval or unit null!}
477 \\Eine Sedimentablagerung ist ungültig und wurde ausgelassen.
478
479 \textbf{skip flow velocity model: No discharge zone specified.}
480 \\Da kein Abflussbereich angegeben wurde, wurde das Fließgeschwindigkeitsmodell ausgelassen.
481
482 \textbf{skip invalid waterlevel - no unit set!}
483 \\Ein einheitenloser Wasserstand wurde ausgelassen.
484
485 \textbf{Cannot parse time range.}
486 \\Das Zeitformat wurde nicht erkannt.
487
488 \textbf{skip invalid data line \#}
489 \\Ungültige Datenzeile wurde ausgelassen.
490
491 \textbf{Error while parsing sq relation row \#}
492 \\Eine Zeile in der S(Q)-Beziehung ist ungültig.
493
494 \textbf{GLT: no gauge found in line \#}
495 \\In der GLT-Datei wurde ein Pegel erwartet, aber nicht gefunden.
496
497 \textbf{GLT: line \# has not enough columns.}
498 \\Eine Zeile in der Pegelgültigkeitsdatei hat nicht genug Spalten.
499
500 \textbf{Error while parsing flow velocity values.}
501 \\Invalide Datenzeile in einer Datei mit einer Fliessgeschwindigkeitsmessung.
502
503 \textbf{skip invalid data line: \#}
504 \\Invalide Datenzeile in einer Datei mit einer Fliessgeschwindigkeitsmessung.
505
506 \textbf{skip invalid waterlevel line: \#}
507 \\Invalide Datenzeile in einer Datei mit Wasserstandsdifferenzen.
508
509 \textbf{Error while parsing value: \#}
510 \\Invalide Datenzeile in einer Datei mit Wasserstandsdifferenzen.
511
512 \textbf{Error while parsing station: \#}
513 \\Invalide Datenzeile in einer Datei mit Wasserstandsdifferenzen.
514
515 \textbf{skip invalid MainValue part: \#}
516 \\Invalide Datenzeile in einer Datei Fließgeschwindigkeitsmodellen.
517
518 \textbf{skip invalid gauge part: \#}
519 \\Invalide Datenzeile in einer Datei Fließgeschwindigkeitsmodellen.
520
521 \textbf{Error while parsing Q value: $<Q>$}
522 \\Invalide Datenzeile in einer Datei Fließgeschwindigkeitsmodellen.
523
524 \textbf{skip invalid data line: \#}
525 \\Invalide Datenzeile in einer Datei Fließgeschwindigkeitsmodellen.
526
527 \textbf{Error while parsing flow velocity values.}
528 \\Invalide Datenzeile in einer Datei Fließgeschwindigkeitsmodellen.
529
530 \textbf{Error while parsing number from data row: \#}
531 \\In der eingelesenen Zeile konnte keine Zahl gefunden werden.
532
533 \textbf{Unknown meta line: \#}
534 \\Invalide Datenzeile in einer Datei mit Sedimentdichten.
535
536 \textbf{Error while parsing numbers in: \#}
537 \\Invalide Datenzeile in einer Datei mit Sedimentdichten.
538
539 \textbf{skip invalid data line: \#}
540 \\Invalide Datenzeile in einer Datei mit Sedimentdichten.
541
542 \textbf{Error while parsing numbers in \#}
543 \\Invalide Datenzeile in einer Datei mit Sedimentdichten.
544
545 \textbf{STA file is empty}
546 \\Stammdatendatei ist leer oder hat zu wenige Zeilen.
547
548 \textbf{STA file has not enough lines}
549 \\Stammdatendatei ist leer oder hat zu wenige Zeilen.
550
551 \textbf{STA file is too short}
552 \\Stammdatendatei ist leer oder hat zu wenige Zeilen.
553
554 \textbf{First line in STA file is too short.}
555 \\Die erste Zeile der Stammdaten ist zu kurz.
556
557 \textbf{STA: second line is too short}
558 \\Die zweite Zeile ist zu kurz.
559
560 \textbf{STA: parsing of the datum of the gauge failed}
561 \\Das Datum in der Stammdatendatei konnte nicht gelesen werden.
562
563 \textbf{STA: 'XYZ' is not a valid long number.}
564 \\Die Pegelnummer ist invalide.
565
566 \textbf{STA: Not enough columns for aeo and datum}
567 \\AEO und Pegelnullpunkt können nicht ermittelt werden.
568
569 \textbf{STA: cannot parse aeo or datum.}
570 \\AEO oder Pegelnullpunkt sind invalide.
571
572 \textbf{STA: value not parseable in line \#}
573 \\Wert ist nicht als Zahl zu interpretieren.
574
575 \textbf{PRF: cannot open file $<FILE>$}
576 \\Die PRF kann nicht geöffnet werden.
577
578 \textbf{PRF: file is empty}\\
579 \textbf{PRF: First line does not look like a PRF data pattern.}\\
580 \textbf{PRF: premature EOF. Expected integer in line 2}\\
581 \textbf{PRF: Expected $<num>$ in line 2}\\
582 \textbf{PRF: invalid integer in line 2}\\
583 \textbf{PRF: premature EOF. Expected pattern for km extraction}\\
584 \textbf{PRF: line 4 does not look like a PRF km extraction pattern.}\\
585 \textbf{PRF: premature EOF. Expected skip row count.}\\
586 \textbf{PRF: line 5 is not an positive integer.}\\
587 \textbf{PRF: cannot extract km in line \#}
588 \\Das PRF-Format ist komplex. Bei oben genannten Fehlern sollten weitere
589 Information zur genaueren Analyse herangezogen werden.
590
591 \textbf{cannot access WST file $FILE$}
592 \\Die WST-Datei konnte nicht gefunden werden.
593
594 \textbf{Found an invalid row in the AT file.}
595 \\Eine Zeile in einer AT-Datei ist nicht korrekt.
596
597 \textbf{AT: invalid number $XYZ$}
598 \\Eine Zahl wurde erwartet aber nicht gefunden.
599
600 \textbf{Try to add Q range without waterlevel!}
601 \\Q-Bereich ohne Wasserstand gefunden.
602
603 \textbf{Error while parsing Q range: \#}
604 \\Invalider Q-Bereich
605
606 \textbf{skip invalid waterlevel line: \#}
607 \\Ungültige Wasserstandslinie
608
609 \textbf{Error while parsing number values: \#}
610 \\Ungültige Zahlenwerte.
611
612 \textbf{ANN: not enough columns in line \#}
613 \\Nicht genug Zeichenspalten in KM-Datei
614
615 \textbf{ANN: invalid number in line \#}
616 \\Ungültige Zahl.
617
618 \textbf{ANN: cannot parse 'Unterkante' in line \#}
619 \\Die Unterkante in einer KM-Datei konnte nicht gelesen werden.
620
621 \textbf{ANN: cannot parse 'Unterkante' or 'Oberkante' in line \#}
622 \\Unter- oder Oberkannte liegen in einem falschen Format vor.
623
624 \textbf{ANN: duplicated annotation 'XYZ' in line \#}
625 \\Ein Duplikat eines Streckenfavoriten wurde gefunden.
626
627 \textbf{ANN: 'XYZ' is not a directory.}
628 \\Unterverzeichnis konnte nicht geöffnet werden.
629
630 \textbf{ANN: cannot list directory 'XYZ'}
631 \\Unterverzeichnis konnte nicht durchsucht werden.
632
633 \textbf{BHP: Meta line did not match any known type: \#}
634 \\Unbekannter Typ.
635
636 \textbf{BHP: Error while parsing timeinterval!}
637 \\Ungültiges Zeitinterval.
638
639 \textbf{BHP: Error while parsing year!}
640 \\Ungültige Jahresangabe.
641
642 \textbf{BHP: Error while parsing sounding width!}
643 \\Unbekannte Peilungsbreite.
644
645 \textbf{BHP: Error while parsing range!}
646 \\Bereichsangabe fehlerhaft.
647
648 \textbf{MWP: Unknown meta line: \#}
649 \\Meta-Informationen ungültig.
650
651 \textbf{MWP: skip invalid data line: \#}
652 \\Ungültige Datenzeile wurde übersprungen.
653
654 \textbf{MWP: Error while parsing numbers in \#}
655 \\Falsche Zahlenformat.
656
657 \textbf{ANNCLASS: rule has no name}
658 \\Klassifizierungsregel für Streckenfavoriten hat keinen Namen.
659
660 \textbf{ANNCLASS: pattern has no 'pattern' attribute.}
661 \\Klassifizierungsmuster für Streckenfavoriten hat kein Muster.
662
663 \textbf{ANNCLASS: pattern has unknown type 'XYZ'}
664 \\Klassifizierungsmuster für Streckenfavoriten konnte keinem Typ zugeordnet werden.
665
666 \textbf{ANNCLASS: pattern 'XYZ' is invalid.}
667 \\Klassifizierungsmuster für Streckenfavoriten ist ungültig.
668
669 \textbf{BSP: Error while parsing data row.}
670 \\Ungültige Datenzeile.
671
672 \textbf{SYP: Unknown meta line: \#}
673 \\Ungültige Metadatenzeile.
674
675 \textbf{SYP: skip invalid data line \#}
676 \\Ungültige Datenzeile wurde übersprungen.
677
678 \textbf{SYP: Error while parsing numbers in \#}
679 \\Ungültige Zahlenformatierung.
680
681 \textbf{SYP: Unknown time interval string 'XYZ'}
682 \\Falsches Datumformat.
683
684 \textbf{SYP: Error while parsing years 'XYZ'}
685 \\Falsches Jahreszahlformat.
686
687 \textbf{SYP: Error while parsing ranges of 'XYZ'}
688 \\Bereichsangaben fehlerhaft.
689
690 \textbf{SYP: Unknown grain fraction 'XYZ'}
691 \\Unbekannte Kornfraktion.
692
693 \textbf{WST: invalid number.}
694 \\Ungültige Zahl.
695
696 \textbf{WST: km $km$ ($<Zeile>$) found more than once. $->$ ignored.}
697 \\Ein Kilometer ist doppelt in einer WST-Datei enthalten.
698
699 \textbf{HYK: zone coordinates swapped in line \#}
700 \\Fließzonenkordinaten wurden in umgekehrter Reihenfolge angeben.
701
702 \textbf{BHS: Skip invalid file 'XYZ'}
703 \\Die Inhalte der Datei sind ungültig.
704
705 \textbf{ISQ: Unable to store sq relation value.}
706 \\S(Q) Beziehung konnte nicht gespeichert werden.
707
708 \textbf{ISQ: Cannot determine sq relation without time interval.}
709 \\Einer S(Q)-Beziehung ist keine zeitliche Gültigkeit zugeordnet.
710
711 \textbf{IWD: skip invalid waterlevel difference - no unit set!}
712 \\Wasserstandsdifferenz hat keine Einheit.
713
714 \textbf{BHE: Skip file - invalid current elevation model.}
715 \\Höhenmodell ungültig.
716
717 \textbf{BHE: Skip file - invalid time range.}
718 \\Zeitbereich ungültig.
719
720 \textbf{BHE: Skip file - invalid km range.}
721 \\Kilometerbereich ungültig.
722
723
724 \subsection{Hinweise zum Betrieb}
725 Aufgrund des hohen Speicherverbrauchs des Importers wird empfohlen, der JVM
726 mindestens 8 GiB Hauptspeicher zuzuordnen. Dies kann beim Starten des Java
727 Prozesses mittels folgendem Parameter '-Xmx8192m' getan werden. Das
728 Shellskript zum Starten des Importers setzt diesen Wert standardmäßig.
729 Besonders speicherintensiv ist der Import der HYKs und der PRFs.
730 Hier ist es unter Umständen empfehlenswert, diese in zwei oder drei
731 Schritten zu importieren. Zuerst die sonstigen hydrologischen Daten importieren;
732 anschließend einen Import-Vorgang ausschließlich für HYKs starten; anschließend
733 einen Import-Vorgang für PRFs starten. Siehe Kapitel \ref{configuration} für
734 weitere Informationen zum Aktivieren/Deaktivieren einzelner Dateitypen beim
735 Import.
736
737
738 \subsection{Starten des Fachdaten Importers}
739 \label{start-hydr}
740 Der Fachdaten Importer wird mit Hilfe eines Shellskripts von einer Konsole
741 gestartet. Dazu führen folgenden Befehl aus:\\
742
743 \begin{lstlisting}
744 contrib/run_hydr_morph.sh
745 \end{lstlisting}
746
747 Nachdem der Prompt der Konsole zurückkehrt, ist der Import abgeschlossen oder es
748 ist ein Fehler aufgetreten. Weitere Informationen entnehmen Sie der Log-Datei.
749

http://dive4elements.wald.intevation.org