view flys-backend/doc/README.txt @ 3659:36edf9a71cbd

backend: Mention backend errors in importer. flys-backend/trunk@5253 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 23 Aug 2012 16:20:45 +0000
parents 4f16070b917b
children 976ead36192d
line wrap: on
line source
FLYS3-Importer

Der FLYS3-Importer dient dazu, hydrologische und morphologische
Gewässerdaten aus dem Dateisystem in die FLYS3-Datenbank zu importieren.
Das Werkzeug orientiert sich hierbei an der Dateihierachie,
so wie sie auch von Desktop-FLYS ausgelesen wird.

Als Startargument bekommt der Importer den Pfad zu einer
GEW-Datei übergeben. 

Wichtig für den Importer sind in dieser Datei
die Zeilen, die mit "WSTDatei:" beginnen. In ihnen wird der 
Pfad zu der zentralen WST-Datei des jeweiligen Gewässers angegeben.
Alle anderen importierten Dateien werden in ihrer Lage relativ zur 
Lage dieser Datei betrachtet.

Das Verhalten des Importes kann mit sogenannten
System-Properties gesteuert werden. Diese werden im
Allgemeinen in der Form -Dkey=value angegeben.

Will man z.B. mit dem Importer nur in simulierierten Import
durchführen, dann kann dies über die Angabe von
'-Dflys.backend.importer.dry.run=true' erfolgen.

!!! Der Import geht wie Desktop-FLYS davon aus, dass die Dateien
!!! Latin-1 encodiert vorliegen.

Für den Importer stellt jeweils der Import eines Gewässers eine
transaktionale Einheit dar. Wird der Import während eines Gewässers
abgebrochen, werden alle Änderungen bzgl. dieses Gewässers zurück gerollt.

Importierte Daten:

Der Importer importiert folgende Datentypen:

- Streckenfavoriten (*.km-Dateien)
  Der Import kann mit '-Dflys.backend.importer.skip.annotations=true'
  unterdrückt werden.

  TODO SLT: flys.backend.importer.annotation.types erklären!

- Pegel, Stammdaten (*.glt, *.sta-Dateien):
  Der Import kann mit '-Dflys.backend.importer.skip.gauges=true'
  unterdrückt werden.

- Basis-Wasserstände (gewaesser.wst-Dateien):
  Der Import kann mit '-Dflys.backend.importer.skip.wst=true'
  unterdrückt werden.

- Zusätzliche Längsschnitte (*.zus, *.wst-Dateien)
  Der Import kann mit '-Dflys.backend.importer.skip.extra.wsts=true'
  unterdrückt werden.

- Fixierungen (*.wst-Dateien)
  Der Import kann mit '-Dflys.backend.importer.skip.fixations=true'
  unterdrückt werden.

- Amtliche Linien (*.wst-Dateien)
  Der Import kann mit '-Dflys.backend.importer.skip.official.lines=true'
  unterdrückt werden.

- Profilspuren (*.prf-Dateien)
  Der Import kann mit '-Dflys.backend.importer.skip.prfs=true'
  unterdrückt werden.

- Hydraulische Kennzahlen (*.hyk)
  Der Import kann mit '-Dflys.backend.importer.skip.hyks=true'
  unterdrückt werden.

- Hochwassermarken (*.zus)
  Der Import kann mit '-Dflys.backend.importer.skip.flood.water=true'
  unterdrückt werden.

- Hochwasserschutzanlagen (*.zus)
  Der Import kann mit '-Dflys.backend.importer.skip.flood.protection=true'
  unterdrückt werden.

  TODO INGO:

  flys.backend.importer.skip.bed.height.single
  flys.backend.importer.skip.bed.height.epoch
  flys.backend.importer.skip.sediment.density
  flys.backend.importer.skip.morphological.width
  flys.backend.importer.skip.flow.velocity
  flys.backend.importer.skip.sediment.yield
  flys.backend.importer.skip.waterlevels
  flys.backend.importer.skip.waterlevel.differences
  flys.backend.importer.skip.sq.relation

TODO SLT: Datenbank-Credentials dokumentieren.


Fehler und Warnungen:
---------------------

- 'error while parsing gew'
  Die GEW-Datei ist fehlerhaft oder konnte nicht geöffnet werden.

- 'File 'XYZ' is broken!'
  Die Datei XYZ ist inkonsistent und führt zu Fehlern.

- 'Error while parsing file for morph. width.'
  Beim Lesen der morphologischen Breite trat ein Fehler auf.

- 'Error while storing flow velocity model.'
  Beim Schreiben eines Fliessgeschwindigkeitsmodells trat ein Fehler auf.

- 'Error while storing flow velocity measurement.'
  Beim Schreiben einer Fliessgeschwindigkeitsmessung trat ein Fehler auf. 

- 'Error while storing sediment yield.'
  Beim Schreiben einer Sedimentablagerung trat ein Fehler auf.

- 'Error while storing waterlevel diff.'
  Beim Schreiben einer Wassspiegeldifferenz trat ein Fehler auf.

- 'Error while storing sq relation.'
  Beim Schreiben einer S(Q) Beziehung trat ein Fehler auf.

- 'Error reading PRF file.'
  Beim Lesen einer PRF-Datei trat ein Fehler auf.

- 'Error closing PRF file.'
  Beim Schliessen einer PRF-Datei trat ein Fehler auf.

- 'HYK 1: not enough elements in line #'
- 'HYK 2: not enough elements in line #'
- 'HYK 5: not enough elements in line #'
- 'HYK 6: not enough elements in line #'
  Eine Zeile in einer HYK-Datei hat nicht genügend Elemente.

- 'HYK: parsing num zones, bottom or top height failed in line #'
- 'HYK: HYK: number of flow zones mismatches in line #'
  Die Anzahl der Zonen oder Daten über die Zonen sind nicht korrekt.

- 'HYK: cannot parse number in line #'
  Eine Zahl wurde erwartet.

- 'HYK: Error reading file.'
  Beim Lesen einer HYK-Datei trat ein Fehler auf.

- 'HYK: Error closing file.'
  Beim Schliessen einer HYK-Datei trat ein Fehler auf.
  

TODO SLT: Warnungen aus separater Datei hier hin.


Betrie :
--------

    Der Speicherverbrauch des Importers ist sehr hoch. Es ist empfehlenswert,
    der JVM mindestens 8GiB Hauptspeicher zuzuordnen: '-Xmx8192m'
    Besonders speicherintensiv ist der Import der HYKs und der PRFs.
    Hier ist es unter Umständen empfehlenswert, diese in zwei oder drei
    Schritten zu importieren. Zuerst die sonstigen hydrologischen Daten
    (hierbei mit flys.backend.importer.skip.hyks=true und flys.backend.importer.skip.prfs
    den Import der HYKs und PRFs verhindern). Dann die HYKs (mit flys.backend.importer.skip.*
    der anderen Daten) und im finalen Schritt dann die PRFs.

http://dive4elements.wald.intevation.org