INTERLIS Datenaustausch

Dies ist ein Leitfaden für den Import/Export von Daten zwischen TWW und INTERLIS 2 Transfer Format (XTF) <https://www.interlis.ch>`_..

Allgemeines

Das TWW-plugin beinhaltet eine INTERLIS Import/Export Funktion. Die folgenden Datenmodelle werden zur Zeit unterstützt:

  • SIA405_ABWASSER_2020_1_LV95

  • DSS_2020_1_LV95

  • VSA_KEK_2020_1_LV95

  • SIA405_Base_Abwasser_1_LV95 (um die eigenen zusätzlichen Organisationen zu exportieren, die nicht Teil des zentralisierten VSA Organisations-Datensatzes sind. )

Bitte beachten Sie, dass Exporte derzeit nur in deutscher Sprache möglich sind. Übersetzte Exporte sind in Planung. Teilen Sie uns bitte mit, wenn Sie an dieser Funktion interessiert sind.

Voraussetzungen

Java

Sie benötigen Java auf ihrem System.

Windows : Java for windows download MacOS : Java for MacOS download Linux : use the package manager

Python Bibliotheken

Sie benötigen sqlalchemy und geoalchemy2.

To install : before launching QGIS, open OSGeo4W Shell

../../_images/osgeo4wshell.jpg

and type:

>>> pip3 install "sqlalchemy~=2.0.36" "geoalchemy2>=0.14.7"

If the command fails, try:

>>> pip3 install --upgrade pip

Bemerkung

If pip cannot be found, make sure you’ve installed the python3-pip package using the OSGeo4W network installer (if you’ve installed the standalone version of QGIS, it should be included).

If this command still fails, try:

>>> pip3 install --target=c:\somewhere\other\than\the\default --upgrade pip

where c:\somewhere\other\than\the\default is the path to your current pip package

The same –target flag can be added to install sqlalchemy and geoalchemy2 in another location.

TWW Version

The export only supports up-to-date TWW data model (2020.1 at the time of writing). Ensure your TWW data model is fully updated before trying to import/export.

Benutzung (GUI)

Aktivieren Sie den Admin-Modus

Stellen Sie im Dialog „Plugin>TWW>Einstellungen“ unter dem Reiter „Entwickleroptionen“ sicher, dass der „Admin-Modus“ aktiviert ist. Starten Sie QGIS neu.

../../_images/settings_dialog.png

In der TWW-Symbolleiste sollten nun die neuen Schaltflächen „Import“ und „Export“ erscheinen.

../../_images/toolbar.png

INTERLIS-Export

../../_images/tww_interlis_export_button.png

Um Ihre TWW-Daten zu exportieren, klicken Sie auf die Schaltfläche „INTERLIS-Export“.

Es erscheint folgender Dialog.

../../_images/tww_interlis_export.png

Wählen Sie zunächst das Exportmodell aus.

Wenn Sie eine aktive Auswahl in der Ebene „Knoten und/oder Haltungen“ haben, können Sie den Export auf diese Auswahl beschränken. Dies ist besonders nützlich in Kombination mit den Auswahlwerkzeugen „gegen Fliessrichtung“/„mit Fliessrichtung“.

../../_images/tww_interlis_export_selection.png

Die Export-Tools können Labelpositionen für verschiedene Massstäbe exportieren. Sie können auswählen, welche Massstäbe Sie exportieren möchten, indem Sie diese auswählen oder die Auswahl aufheben.

Bemerkung

Wählen Sie entweder Werkplan 1:500 oder Werkplan 1:250. Letzterer ermöglicht eine genauere Platzierung der Beschriftungen im Maßstab 1:500. Die Auswahl beider Maßstäbe im gleichen Export führt zu doppelten Beschriftungspositionen – vermeiden Sie dies! In der exportierten XTF-Datei lassen sich die Beschriftungen für 1:250 und 1:500 nicht mehr unterscheiden, da beide den Plantyp „Werkplan“ erhalten (derzeit unterstützt VSA-DSS / SIA405 Abwasser 2020.x nur einen Maßstab – dies kann sich in einer zukünftigen Version ändern).

Bestätigen Sie das Dialogfeld und wählen Sie einen Speicherort für die .xtf-Datei.

Bemerkung

Beachten Sie, dass Windows-Dateipfade mit leeren Zeichenfolgen im Verzeichnispfad oder Dateinamen derzeit nicht unterstützt werden.

Bemerkung

Beachten Sie, dass der Befehl bei grossen/vollständigen Exporten sehr lange dauern kann.

Bemerkung

Beachten Sie, dass QGIS bei zu langen Beschriftungen standardmässig diese horizontal dreht (Ausrichtung = 0). Sie können die Eigenschaften der Ebene „vw_tww_Haltung“ anpassen – Symbologie – Platzierung – Beschriftungsüberlauf von „kein Überlauf“ auf z. B. 7 mm (Millimeter).

../../_images/layer_vw_tww_reach_label_overrun.png

Bemerkung

Beachten Sie, dass Bemerkungsfelder bei INTERLIS Export auf 80 Zeichen gekürzt werden, da die INTERLIS-Definition dies vorsieht. Wenn Sie Bemerkungsfelder mit mehr Text haben, sollten Sie diese Daten in die Dokumentation mit den Klassen „Datei” und „Datentraeger” verschieben, damit sie vollständig nach INTERLIS exportiert werden können, wo Sie einer Klasse beliebige Dokumente, Fotos oder Videos hinzufügen können.

The following validations are run as pre-process:

  • Subklassen vor dem Export prüfen (_check_subclass_counts): Die Summe der Einträge in den Subklassen über alle Subklassen hinweg muss der Anzahl der Einträge in der Superklasse entsprechen.

  • Prüfung auf NULL-Werte für Bezeichnungen (_check_identifier_null): Da Bezeichnungen in den INTERLIS-Modellen obligatorisch sind, wird geprüft, ob jedes Bezeichnung-Feld einen Eintrag (NOT NULL) enthält. Wenn Sie Daten haben, für die Sie keine eigenen Bezeichnungen erstellen möchten, kopieren Sie die obj_id als Bezeichnungen (z. B. für Haltungspunkte). Dies ist auch das Standardverhalten beim Hinzufügen neuer Daten. Wenn Sie Daten von anderen Quellen kopiert haben (die nicht in TEKSI erstellt wurden), müssen Sie diese möglicherweise bereinigen, da sonst der INTERLIS-Export abgebrochen wird.

  • Prüfen Sie die Verweise auf die Organisationsklasse (_check_fk_owner_null, _check_fk_operator_null, _check_fk_dataowner_null, _check_fk_provider_null): Eigentümer, Betreiber und die Metainformationen zu Dateneigentümer und Datenlieferant sind in einer INTERLIS-Exportdatei obligatorisch. Diese Vorabprüfungen stellen sicher, dass diese Felder ausgefüllt sind. Falls Sie die Informationen nicht kennen, wählen Sie die Organisation „unbekannt“, da diese ebenfalls im Organisationsdatensatz vorhanden ist.

  • Überprüfen Sie Verweise auf Klassen, die als MANDATORY (zwingend) gekennzeichnet sind (z. B. _check_fk_reach_point_from_null, …): Verweise, die in INTERLIS als MANDATORY gekennzeichnet sind, werden vorab geprüft, um einen Absturz beim Export zu vermeiden.

Es öffnet sich ein neues Zusammenfassungsfenster, das Ihnen mitteilt, falls eine dieser Vor-Prüfungen fehlgeschlagen ist:

../../_images/interlis_export_precheck_results.png

Sie können den Export fortsetzen, wenn Sie der Meinung sind, dass die Ergebnisse der Vorprüfung für Ihren Export nicht relevant sind (z. B. wenn Sie SIA405 Abwasser exportieren, aber Referenzprüfungsfehler innerhalb des VSA-DSS-Teils vorliegen, die über SIA405 Abwasser hinausgehen).

Ein Export beinhaltet außerdem am Ende einen Validierungsschritt mit ilivalidator, der Sie darüber informiert, ob der Export INTERLIS-Validierungsfehler enthält.

Wenn der Export erfolgreich war, erscheint eine grüne Erfolgsmeldung. Wenn der Export nicht erfolgreich war, erhalten Sie entweder während des Exportvorgangs Fehlermeldungen oder am Ende des Vorgangs eine Fehlerwarnung.

Weitere Details finden Sie im Protokollfenster und in den Textprotokollen.

Es gibt vier verschiedene Log-Dateien:

Heading Export step

Heading Description

Heading Log File

Exportschema

Erstellung eines Exportschemas mit ili2db und der ausgewählten INTERLIS-Modelldatei

*.ili2pg-schemaimport.log

Zwischenschema für den Datenexport

Export von Daten aus tww_od in das neue Zwischenschema, Übersetzung vom Englischen ins Deutsche

*.tww2ili-export.log

Datenexport nach xtf

Datenexport aus dem Zwischenschema in die INTERLIS-Transferdatei (xtf)

*.ili2pg-export-MODELNAME.log

INTERLIS Validierung

Validierung der erstellten xtf-Datei(en) mit ilivalidator

*.ilivalidator-MODELNAME.log

Zusätzliche Organisationen exportieren

../../_images/tww_interlis_export_organisation.jpg

Seit Release 2025.x können Sie auch zusätzliche Organisationen exportieren, die nicht als Teil des VSA-Organisationsdatensatzes gepflegt werden und die Sie selbst pflegen. Eine allgemeine Einführung in die Pflege von Organisationen durch den Verband Schweizer Abwasser & Gewässerschutzfachleute (VSA) finden Sie in dieser Dokumentation <https://vsa.ch/fachbereiche-cc/siedlungsentwaesserung/generelle-entwaesserungsplanung/datenmanagement/#Organisationstabelle>_.

Zusätzliche Organisationen könnten beispielsweise grössere private Organisationen sein, die bei Veröffentlichungen für andere in der Regel als „Privat“ zusammengefasst werden, für Sie jedoch relevant sind, um unterschieden zu werden. Für einen Export müssen sie als „tww_local_extension = True“ gekennzeichnet werden.

../../_images/organisation_tww_local_extension.png

INTERLIS-Import

../../_images/tww_interlis_import_button.png

Um xtf-Dateien zu importieren, klicken Sie auf die Schaltfläche INTERLIS importieren und navigieren Sie zur .xtf-Datei.

Bemerkung

Beachten Sie, dass Windows-Dateipfade mit leeren Zeichenfolgen im Verzeichnispfad oder Dateinamen derzeit nicht unterstützt werden.

Bemerkung

Es gibt eine neue Option, mit der Sie das Überschreiben von Daten vermeiden können, wenn Attribute im Importdatensatz NULL-Werte enthalten. Dadurch bleiben Ihre bereits in der Datenbank vorhandenen Werte erhalten.

../../_images/interlis_import_options.png

Organisationen vor Daten!

Bemerkung

Ab der Version 2020 befinden sich alle Organisationen in einem separaten Datensatz und müssen zuerst importiert werden, da sonst eine Reihe von Fehlern bei allen Referenzen wie fk_dataowner, fk_owner, fk_provider usw. auftreten. Laden Sie den VSA-Organisationsdatensatz von https://www.vsa.ch/models/organisation/vsa_organisationen_2020_1.xtf herunter und beginnen Sie mit dem Import dieses Datensatzes. Dieser Datensatz wird regelmäßig aktualisiert. Bitte schauen Sie später noch einmal vorbei (und importieren Sie ihn gegebenenfalls erneut), um Zugriff auf alle verfügbaren Organisationen zu erhalten.

Wenn Sie Organisationen haben, die noch nicht in diesem Datensatz enthalten sind, informieren Sie bitte die VSA und reichen Sie einen Antrag auf Aufnahme ein <https://vsa.ch/fachbereiche-cc/siedlungsentwaesserung/generelle-entwaesserungsplanung/datenmanagement/#Organisationstabelle>_.

Wenn Sie über weitere eigene lokale Organisationen verfügen, die (noch) nicht im VSA-Organisationsdatensatz enthalten sind, importieren Sie diese, bevor Sie mit dem Import Ihrer Netzwerkdaten beginnen. TV-Inspektionsdaten werden in der Regel zuletzt importiert, da sie auf Ihre Netzwerkdaten verweisen.

Nach dem Start des Importvorgangs wird Ihr Datensatz validiert und in ein Zwischenschema importiert. Anschließend erscheint das folgende Dialogfeld.

../../_images/tww_import_dialog.png

Im linken Teil dieses Dialogfelds werden alle Elemente aufgelistet, die aus der .xtf-Datei importiert werden. Sie können die zu importierenden Elemente überprüfen und unerwünschte Elemente abwählen. Falls bereits ein Datensatz mit derselben obj_id existiert, sehe Sie in der Spalte state folgendes: (EXISTING) bedeutet, dass der Import keine Änderungen mit sich bringt, (MODIFIED) hingegen, dass einige Attribute geändert wurden. Details finden Sie auf der rechten Seite, wo Sie die Werte der einzelnen Attribute vergleichen können.

In der zweiten Spalte wird außerdem der Validierungsstatus jedes Objekts (GÜLTIG) angezeigt. Daraus wird ersichtlich, ob vor dem Import weitere Maßnahmen erforderlich (UNGÜLTIG) oder empfohlen (WARNUNG) sind.

Der rechte Teil dieses Dialogfelds zeigt ein Formular, das für den in der Liste ausgewählten Elementtyp spezifisch ist und die Anpassung des Imports ermöglicht.

Bemerkung

Derzeit kann das Abwählen und Auswählen von Objekten je nach Anzahl der Datensätze in der jeweiligen Klasse sehr lange dauern.

Wenn Sie mit den Importoptionen zufrieden sind, bestätigen Sie den Dialog, um die Änderungen in Ihrer Datenbank zu übernehmen.

Wenn der Import erfolgreich war, erscheint eine grüne Erfolgsmeldung.

Benutzung (Befehlszeile)

Für fortgeschrittene Anwendungen kann das Import-/Export-Tool auch als Befehlszeilentool verwendet werden.

Abhängigkeiten

Die QGIS-Python-Klassen müssen im Python-Interpreter verfügbar sein.

  • Unter Windows können Sie die OSGeo4W-Umgebung verwenden.

  • Unter Linux können Sie den PYTHONPATH so erweitern, dass er auf Ihre QGIS-Installation verweist, zum Beispiel: export PYTHONPATH=“$PYTHONPATH:/usr/share/qgis/python“

Import

Importbeispiel

$ python3 plugin/tww_cmd.py interlis_import --xtf_file plugin/teksi_wastewater/tests/data/minimal-dataset-SIA405-ABWASSER.xtf --pgservice pg_tww

Volle Nutzung

$ python3 plugin/tww_cmd.py interlis_export --help

usage: tww_cmd.py interlis_export [-h] --xtf_file XTF_FILE [--selection SELECTION] [--export_model {SIA405_ABWASSER_2020_1_LV95,DSS_2020_1_LV95,VSA_KEK_2020_1_LV95}] [--logs_next_to_file]
                                               [--label_scale_pipeline_registry_1_1000] [--label_scale_network_plan_1_250] [--label_scale_network_plan_1_500] [--label_scale_overviewmap_1_10000] [--label_scale_overviewmap_1_5000]
                                               [--label_scale_overviewmap_1_2000] [--selected_ids SELECTED_IDS] [--pgservice PGSERVICE] [--pghost PGHOST] [--pgport PGPORT] [--pgdatabase PGDATABASE]
                                               [--pguser PGUSER] [--pgpass PGPASS]

options:
  -h, --help            show this help message and exit
  --xtf_file XTF_FILE   XTF outup file
  --selection SELECTION
                        if provided, limits the export to networkelements that are provided in the selection (comma separated list of ids)
  --export_model {SIA405_ABWASSER_2020_1_LV95,DSS_2020_1_LV95,VSA_KEK_2020_1_LV95}
                        Model to export (default: DSS_2020_1_LV95)
  --logs_next_to_file   Put log files next to XTF output file
  --label_scale_pipeline_registry_1_1000
                        Export labels in scale 1:1'000, can be combined with other scales (Leitungskataster/Cadastre des conduites souterraines)
  --label_scale_network_plan_1_250
                        Export labels in scale 1:250, should not be combined with other scales of Werkplan (Werkplan/Plan de reseau)
  --label_scale_network_plan_1_500
                        Export labels in scale 1:500, should not be combined with other scales of Werkplan (Werkplan/Plan de reseau)
  --label_scale_overviewmap_1_10000
                        Export labels in scale 1:10'000, can be combined with other scales (Uebersichtsplan/Plan d'ensemble)
  --label_scale_overviewmap_1_5000
                        Export labels in scale 1:5'000, can be combined with other scales (Uebersichtsplan/Plan d'ensemble)
  --label_scale_overviewmap_1_2000
                        Export labels in scale 1:2'000, can be combined with other scales (Uebersichtsplan/Plan d'ensemble)
  --selected_ids SELECTED_IDS
                        If provided, limits the export to networkelements that are provided in the selection (comma separated list of ids)
  --pgservice PGSERVICE
                        Postgres service name
  --pghost PGHOST       Postgres host
  --pgport PGPORT       Postgres port
  --pgdatabase PGDATABASE
                        Postgres database
  --pguser PGUSER       Postgres user
  --pgpass PGPASS       Postgres password

Export

Exportbeispiel

python3 plugin/tww_cmd.py interlis_export --xtf_file "output.xtf" --pgservice pg_tww

Volle Nutzung

$ python3 plugin/tww_cmd.py interlis_export --help

usage: tww_cmd.py interlis_export [-h] --xtf_file XTF_FILE [--selection SELECTION] [--export_model {SIA405_ABWASSER_2020_1_LV95,DSS_2020_1_LV95,VSA_KEK_2020_1_LV95}] [--logs_next_to_file]
                                               [--label_scale_pipeline_registry_1_1000] [--label_scale_network_plan_1_250] [--label_scale_network_plan_1_500] [--label_scale_overviewmap_1_10000] [--label_scale_overviewmap_1_5000]
                                               [--label_scale_overviewmap_1_2000] [--selected_ids SELECTED_IDS] [--pgservice PGSERVICE] [--pghost PGHOST] [--pgport PGPORT] [--pgdatabase PGDATABASE]
                                               [--pguser PGUSER] [--pgpass PGPASS]

options:
  -h, --help            show this help message and exit
  --xtf_file XTF_FILE   XTF outup file
  --selection SELECTION
                        if provided, limits the export to networkelements that are provided in the selection (comma separated list of ids)
  --export_model {SIA405_ABWASSER_2020_1_LV95,DSS_2020_1_LV95,VSA_KEK_2020_1_LV95}
                        Model to export (default: DSS_2020_1_LV95)
  --logs_next_to_file   Put log files next to XTF output file
  --label_scale_pipeline_registry_1_1000
                        Export labels in scale 1:1'000, can be combined with other scales (Leitungskataster/Cadastre des conduites souterraines)
  --label_scale_network_plan_1_250
                        Export labels in scale 1:250, can be combined with other scales (Werkplan/Plan de reseau)
  --label_scale_network_plan_1_500
                        Export labels in scale 1:500, can be combined with other scales (Werkplan/Plan de reseau)
  --label_scale_overviewmap_1_10000
                        Export labels in scale 1:10'000, can be combined with other scales (Uebersichtsplan/Plan d'ensemble)
  --label_scale_overviewmap_1_5000
                        Export labels in scale 1:5'000, can be combined with other scales (Uebersichtsplan/Plan d'ensemble)
  --label_scale_overviewmap_1_2000
                        Export labels in scale 1:2'000, can be combined with other scales (Uebersichtsplan/Plan d'ensemble)
  --selected_ids SELECTED_IDS
                        If provided, limits the export to networkelements that are provided in the selection (comma separated list of ids)
  --pgservice PGSERVICE
                        Postgres service name
  --pghost PGHOST       Postgres host
  --pgport PGPORT       Postgres port
  --pgdatabase PGDATABASE
                        Postgres database
  --pguser PGUSER       Postgres user
  --pgpass PGPASS       Postgres password

Qualitätskontrolle

Qualitätskontrolle mit VSA Checker (Fachprüfung) (online)

https://vsa.ch/wp-content/uploads/2020/04/Daten-checker-d-f-it.jpg

For details see explanation on the VSA Homepage

Informationen zu Zugriff und Lizenzierung finden Sie hier <https://vsa.ch/Mediathek/gep-datachecker-jahresgebuehr/?media_filter_two=lizenzen-software>_