sascha@3657: FLYS3-Importer sascha@3657: sascha@3657: Der FLYS3-Importer dient dazu, hydrologische und morphologische sascha@3657: Gewässerdaten aus dem Dateisystem in die FLYS3-Datenbank zu importieren. sascha@3657: Das Werkzeug orientiert sich hierbei an der Dateihierachie, sascha@3657: so wie sie auch von Desktop-FLYS ausgelesen wird. sascha@3657: sascha@3657: Als Startargument bekommt der Importer den Pfad zu einer sascha@3657: GEW-Datei übergeben. sascha@3657: sascha@3657: Wichtig für den Importer sind in dieser Datei sascha@3657: die Zeilen, die mit "WSTDatei:" beginnen. In ihnen wird der sascha@3657: Pfad zu der zentralen WST-Datei des jeweiligen Gewässers angegeben. sascha@3657: Alle anderen importierten Dateien werden in ihrer Lage relativ zur sascha@3657: Lage dieser Datei betrachtet. sascha@3657: sascha@3657: Das Verhalten des Importes kann mit sogenannten sascha@3657: System-Properties gesteuert werden. Diese werden im sascha@3657: Allgemeinen in der Form -Dkey=value angegeben. sascha@3657: sascha@3657: Will man z.B. mit dem Importer nur in simulierierten Import sascha@3657: durchführen, dann kann dies über die Angabe von sascha@3657: '-Dflys.backend.importer.dry.run=true' erfolgen. sascha@3657: sascha@3657: !!! Der Import geht wie Desktop-FLYS davon aus, dass die Dateien sascha@3657: !!! Latin-1 encodiert vorliegen. sascha@3657: sascha@3657: Für den Importer stellt jeweils der Import eines Gewässers eine sascha@3657: transaktionale Einheit dar. Wird der Import während eines Gewässers sascha@3657: abgebrochen, werden alle Änderungen bzgl. dieses Gewässers zurück gerollt. sascha@3657: sascha@3657: Importierte Daten: sascha@3657: sascha@3657: Der Importer importiert folgende Datentypen: sascha@3657: sascha@3657: - Streckenfavoriten (*.km-Dateien) sascha@3657: Der Import kann mit '-Dflys.backend.importer.skip.annotations=true' sascha@3657: unterdrückt werden. sascha@3657: sascha@3657: TODO SLT: flys.backend.importer.annotation.types erklären! sascha@3657: sascha@3657: - Pegel, Stammdaten (*.glt, *.sta-Dateien): sascha@3657: Der Import kann mit '-Dflys.backend.importer.skip.gauges=true' sascha@3657: unterdrückt werden. sascha@3657: sascha@3657: - Basis-Wasserstände (gewaesser.wst-Dateien): sascha@3657: Der Import kann mit '-Dflys.backend.importer.skip.wst=true' sascha@3657: unterdrückt werden. sascha@3657: sascha@3657: - Zusätzliche Längsschnitte (*.zus, *.wst-Dateien) sascha@3657: Der Import kann mit '-Dflys.backend.importer.skip.extra.wsts=true' sascha@3657: unterdrückt werden. sascha@3657: sascha@3657: - Fixierungen (*.wst-Dateien) sascha@3657: Der Import kann mit '-Dflys.backend.importer.skip.fixations=true' sascha@3657: unterdrückt werden. sascha@3657: sascha@3657: - Amtliche Linien (*.wst-Dateien) sascha@3657: Der Import kann mit '-Dflys.backend.importer.skip.official.lines=true' sascha@3657: unterdrückt werden. sascha@3657: sascha@3657: - Profilspuren (*.prf-Dateien) sascha@3657: Der Import kann mit '-Dflys.backend.importer.skip.prfs=true' sascha@3657: unterdrückt werden. sascha@3657: sascha@3657: - Hydraulische Kennzahlen (*.hyk) sascha@3657: Der Import kann mit '-Dflys.backend.importer.skip.hyks=true' sascha@3657: unterdrückt werden. sascha@3657: sascha@3657: - Hochwassermarken (*.zus) sascha@3657: Der Import kann mit '-Dflys.backend.importer.skip.flood.water=true' sascha@3657: unterdrückt werden. sascha@3657: sascha@3657: - Hochwasserschutzanlagen (*.zus) sascha@3657: Der Import kann mit '-Dflys.backend.importer.skip.flood.protection=true' sascha@3657: unterdrückt werden. sascha@3657: sascha@3657: TODO INGO: sascha@3657: sascha@3657: flys.backend.importer.skip.bed.height.single sascha@3657: flys.backend.importer.skip.bed.height.epoch sascha@3657: flys.backend.importer.skip.sediment.density sascha@3657: flys.backend.importer.skip.morphological.width sascha@3657: flys.backend.importer.skip.flow.velocity sascha@3657: flys.backend.importer.skip.sediment.yield sascha@3657: flys.backend.importer.skip.waterlevels sascha@3657: flys.backend.importer.skip.waterlevel.differences sascha@3657: flys.backend.importer.skip.sq.relation sascha@3657: sascha@3657: TODO SLT: Datenbank-Credentials dokumentieren. sascha@3657: sascha@3657: sascha@3659: Fehler und Warnungen: sascha@3659: --------------------- sascha@3659: sascha@3659: - 'error while parsing gew' sascha@3659: Die GEW-Datei ist fehlerhaft oder konnte nicht geöffnet werden. sascha@3659: sascha@3659: - 'File 'XYZ' is broken!' sascha@3659: Die Datei XYZ ist inkonsistent und führt zu Fehlern. sascha@3659: sascha@3659: - 'Error while parsing file for morph. width.' sascha@3659: Beim Lesen der morphologischen Breite trat ein Fehler auf. sascha@3659: sascha@3659: - 'Error while storing flow velocity model.' sascha@3659: Beim Schreiben eines Fliessgeschwindigkeitsmodells trat ein Fehler auf. sascha@3659: sascha@3659: - 'Error while storing flow velocity measurement.' sascha@3659: Beim Schreiben einer Fliessgeschwindigkeitsmessung trat ein Fehler auf. sascha@3659: sascha@3659: - 'Error while storing sediment yield.' sascha@3659: Beim Schreiben einer Sedimentablagerung trat ein Fehler auf. sascha@3659: sascha@3659: - 'Error while storing waterlevel diff.' sascha@3659: Beim Schreiben einer Wassspiegeldifferenz trat ein Fehler auf. sascha@3659: sascha@3659: - 'Error while storing sq relation.' sascha@3659: Beim Schreiben einer S(Q) Beziehung trat ein Fehler auf. sascha@3659: sascha@3659: - 'Error reading PRF file.' sascha@3659: Beim Lesen einer PRF-Datei trat ein Fehler auf. sascha@3659: sascha@3659: - 'Error closing PRF file.' sascha@3659: Beim Schliessen einer PRF-Datei trat ein Fehler auf. sascha@3659: sascha@3659: - 'HYK 1: not enough elements in line #' sascha@3659: - 'HYK 2: not enough elements in line #' sascha@3659: - 'HYK 5: not enough elements in line #' sascha@3659: - 'HYK 6: not enough elements in line #' sascha@3659: Eine Zeile in einer HYK-Datei hat nicht genügend Elemente. sascha@3659: sascha@3659: - 'HYK: parsing num zones, bottom or top height failed in line #' sascha@3659: - 'HYK: HYK: number of flow zones mismatches in line #' sascha@3659: Die Anzahl der Zonen oder Daten über die Zonen sind nicht korrekt. sascha@3659: sascha@3659: - 'HYK: cannot parse number in line #' sascha@3659: Eine Zahl wurde erwartet. sascha@3659: sascha@3659: - 'HYK: Error reading file.' sascha@3659: Beim Lesen einer HYK-Datei trat ein Fehler auf. sascha@3659: sascha@3659: - 'HYK: Error closing file.' sascha@3659: Beim Schliessen einer HYK-Datei trat ein Fehler auf. sascha@3659: sascha@3659: sascha@3659: TODO SLT: Warnungen aus separater Datei hier hin. sascha@3659: sascha@3659: sascha@3659: Betrie : sascha@3659: -------- sascha@3657: sascha@3657: Der Speicherverbrauch des Importers ist sehr hoch. Es ist empfehlenswert, sascha@3659: der JVM mindestens 8GiB Hauptspeicher zuzuordnen: '-Xmx8192m' sascha@3657: Besonders speicherintensiv ist der Import der HYKs und der PRFs. sascha@3657: Hier ist es unter Umständen empfehlenswert, diese in zwei oder drei sascha@3657: Schritten zu importieren. Zuerst die sonstigen hydrologischen Daten sascha@3657: (hierbei mit flys.backend.importer.skip.hyks=true und flys.backend.importer.skip.prfs sascha@3657: den Import der HYKs und PRFs verhindern). Dann die HYKs (mit flys.backend.importer.skip.* sascha@3657: der anderen Daten) und im finalen Schritt dann die PRFs.