comparison flys-backend/doc/documentation/de/importer-hydr-morph.tex @ 3666:9f768a9034f4

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

http://dive4elements.wald.intevation.org