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