4.4. INTERLIS Data exchange
This represents a guide on how to import/export data between TWW and INTERLIS 2 Transfer Format (XTF).
4.4.1. General
The TWW plugin includes an experimental interlis import/export feature. It is currently capable of importing and exporting the following models:: * SIA405_ABWASSER_2020_1_LV95 * DSS_2020_1_LV95 * VSA_KEK_2020_1_LV95
Note that currently, exports are possible in German only. Translated exports are on the roadmap, let us know if you are interested in this feature.
4.4.2. Prerequisites
4.4.2.1. Java
You need java on your system.
Windows : Java for windows download MacOS : Java for MacOS download Linux : use the package manager
4.4.2.2. Python libraries
You need sqlalchemy and geoalchemy2.
To install : before launching QGIS, open OSGeo4W Shell
and type:
>>> pip3 install "sqlalchemy~=1.3.22" "geoalchemy2>=0.9.0"
If the command fails, try:
>>> pip3 install --upgrade pip
Note
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.
4.4.2.3. TWW Version
The export only supports up-to-date TWW datamodel (1.5.6 at the time of writing). Ensure your datamodel is fully updated before trying to import/export.
4.4.3. Usage (GUI)
4.4.3.1. Enable admin mode
In the plugin>TWW>settings dialog, under the Developer options tab, ensure Admin mode is enabled. Restart QGIS.
You should now see new import and export buttons in the TWW toolbar.
4.4.3.2. Export
To export your TWW data, click on the export button. The following dialog will appear.
At first, select the export model.
If you have an active selection in the nodes and/or reaches layer, you can choose to restrict the export to that selection. This is especially useful in combination with the upstream/downstream selection tools.
The export tools is capable of exporting label positions for different scales. You can choose which scales you are interested in exporting by selected/deselecting them.
Then, confirm the dialog and choose where to save the .xtf file.
Note
Note that windows file pathes with empty strings in the directory path or filename are not supported at the moment.
Note
Note that for large/full exports, the command can take a long time.
Note
Note that QGIS standard behaviour for too long labels is to turn them horizontally (orientation = 0). You can adjust the properties of the vw_tww_reach layer - Symbology - Placement - Label overrun from “no overrun” to e.g. 7 mm (Millimeter)
Note
Note that remark fields are truncated to 80 characters on INTERLIS Export, as the INTERLIS definition is like this. If you have remark fields with more text then consider to move this data to documentation with the classes “file” and “data_media” so it can be exported to INTERLIS completely where you can add any document, photo or video to a class.
Exports include a validation step using ilivalidator, which will inform you whether the export contains validation error.
4.4.3.3. Import
To import xtf`files, click on the `import button and navigate to the .xtf file.
Note
Note that windows file pathes with empty strings in the directory path or filename are not supported at the moment.
The following dialog will appear.
The left part of this dialog lists all elements that are going to be imported from the .xtf file, allowing to review what is going to be imported and to deselect elements you may want to skip. It also shows the validation status of each object, showing whether further action is needed (INVALID) or recommended (WARNING) prior to importing.
The right part of this dialog shows a form specific to the type of element selected in the list, allowing to adapt the import. For instance, it allows to attach “examinations” to their pipes.
Once you’re happy with the import options, confirm the dialog to persist the changes to your database.
4.4.4. Usage (command line)
For advanced usage, the import/export tool can also be used as a command line tool.
4.4.4.1. Dependencies
The QGIS python classes must be available in the python interpreter.
On windows you can use the OSGeo4W environment
On linux you can extend the PYTHONPATH pointing to you QGIS installation, for example: export PYTHONPATH=”$PYTHONPATH:/usr/share/qgis/python”
4.4.4.2. Import
Import example
$ python3 plugin/tww_cmd.py interlis_import --xtf_file plugin/teksi_wastewater/tests/data/minimal-dataset-SIA405-ABWASSER.xtf --pgservice pg_tww
Full usage
$ 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_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_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
4.4.4.3. Export
Export example
python3 plugin/tww_cmd.py interlis_export --xtf_file "output.xtf" --pgservice pg_tww
Full usage
$ 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_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_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