From ca1b034be04a62b90bafae43412eca80fd0d499c Mon Sep 17 00:00:00 2001 From: Lukasz Debek Date: Mon, 18 Nov 2024 12:51:29 +0100 Subject: [PATCH] Schema 300 custom forms (#280) * Refactoring custom forms and handlers. * Removed 'fid' field references. * Removed obsolete Manhole layer related logic. * More schema 219 -> 300 plugin refactoring. --- HISTORY.rst | 2 +- threedi_schematisation_editor/__init__.py | 134 +- threedi_schematisation_editor/conversion.py | 830 ------ .../custom_tools/__init__.py | 112 +- .../custom_widgets/__init__.py | 66 +- .../custom_widgets/ui/import_structures.ui | 98 +- .../data/empty.sqlite | Bin 7168000 -> 0 bytes threedi_schematisation_editor/data_models.py | 30 +- .../forms/custom_forms.py | 198 +- .../forms/ui/channel.ui | 1691 +++++++++--- .../forms/ui/connection_node.ui | 510 +++- .../forms/ui/cross_section_location.ui | 481 ++-- .../forms/ui/culvert.ui | 1827 +++++++++---- .../forms/ui/exchange_line.ui | 249 +- .../forms/ui/impervious_surface_map.ui | 266 -- .../forms/ui/manhole.ui | 872 ------- .../forms/ui/orifice.ui | 2113 ++++++++++----- .../forms/ui/pipe.ui | 2314 +++++++---------- .../forms/ui/potential_breach.ui | 61 +- .../forms/ui/{pumpstation.ui => pump.ui} | 495 ++-- .../forms/ui/pump_map.ui | 678 +++++ .../forms/ui/pumpstation_map.ui | 1126 -------- .../forms/ui/surface_map.ui | 214 +- .../forms/ui/weir.ui | 1929 ++++++++++---- .../processing/__init__.py | 2 - .../processing/alghorithms_inflow.py | 28 +- .../processing/algorithms_1d.py | 80 +- .../processing/algorithms_1d2d.py | 24 +- .../processing/algorithms_conversion.py | 74 - .../processing/config/import_culvert.json | 2 +- .../vector/aggregation_settings/default.qml | 18 +- .../default.qml | 18 +- .../timeseries label.qml | 12 +- .../default.qml | 18 +- .../timeseries label.qml | 20 +- .../channel/calculation point distance.qml | 44 +- .../vector/channel/calculation type.qml | 42 +- .../styles/vector/channel/code.qml | 40 +- .../styles/vector/channel/default.qml | 40 +- .../vector/channel/drawing direction.qml | 40 +- .../styles/vector/connection_node/default.qml | 16 +- .../connection_node/initial water level.qml | 6 +- .../vector/connection_node/storage area.qml | 8 +- .../cross_section_location/cross-section.qml | 18 +- .../vector/cross_section_location/default.qml | 18 +- .../vector/cross_section_location/levels.qml | 18 +- .../vector/culvert/calculation type.qml | 50 +- .../styles/vector/culvert/cross-section.qml | 80 +- .../styles/vector/culvert/default.qml | 32 +- .../vector/culvert/drawing direction.qml | 50 +- .../culvert/levels and flow direction.qml | 58 +- .../vector/grid_refinement_area/default.qml | 24 +- .../grid_refinement_area/refinement level.qml | 26 +- .../default.qml | 20 +- .../refinement level.qml | 24 +- .../default.qml | 144 +- .../area and DWF production.qml | 710 ----- .../vector/impervious_surface/default.qml | 662 ----- .../surface inclination.qml | 483 ---- .../vector/impervious_surface_map/default.qml | 146 -- .../impervious_surface_map/percentage.qml | 238 -- .../default.qml | 0 .../{1d_lateral => lateral_1d}/default.qml | 0 .../timeseries label.qml | 0 .../{2d_lateral => lateral_2d}/default.qml | 0 .../timeseries label.qml | 0 .../vector/manhole/calculation type.qml | 82 +- .../styles/vector/manhole/code.qml | 86 +- .../styles/vector/manhole/default.qml | 86 +- .../styles/vector/manhole/levels.qml | 88 +- .../default.qml | 380 +-- .../vector/numerical_settings/default.qml | 198 +- .../vector/orifice/drawing direction.qml | 2 +- .../styles/vector/pipe/calculation type.qml | 102 +- .../styles/vector/pipe/code.qml | 100 +- .../styles/vector/pipe/cross-section.qml | 100 +- .../styles/vector/pipe/default.qml | 100 +- .../styles/vector/pipe/drawing direction.qml | 120 +- .../vector/pipe/levels and flow direction.qml | 144 +- .../vector/potential_breach/default.qml | 18 +- .../vector/{pumpstation => pump}/capacity.qml | 2 +- .../vector/{pumpstation => pump}/default.qml | 2 +- .../vector/{pumpstation => pump}/levels.qml | 2 +- .../capacity.qml | 2 +- .../{pumpstation_map => pump_map}/default.qml | 10 +- .../{pumpstation_map => pump_map}/levels.qml | 2 +- .../default.qml | 40 +- .../surface/area and DWF production.qml | 648 ----- .../styles/vector/surface/default.qml | 518 ++-- .../styles/vector/surface_map/default.qml | 8 +- .../default.qml | 0 .../default.qml | 0 .../user_layer_handlers.py | 207 +- threedi_schematisation_editor/utils.py | 5 +- 94 files changed, 10330 insertions(+), 12351 deletions(-) delete mode 100644 threedi_schematisation_editor/conversion.py delete mode 100644 threedi_schematisation_editor/data/empty.sqlite delete mode 100644 threedi_schematisation_editor/forms/ui/impervious_surface_map.ui delete mode 100644 threedi_schematisation_editor/forms/ui/manhole.ui rename threedi_schematisation_editor/forms/ui/{pumpstation.ui => pump.ui} (91%) create mode 100644 threedi_schematisation_editor/forms/ui/pump_map.ui delete mode 100644 threedi_schematisation_editor/forms/ui/pumpstation_map.ui rename threedi_schematisation_editor/styles/vector/{1d_boundary_condition => boundary_condition_1d}/default.qml (95%) rename threedi_schematisation_editor/styles/vector/{1d_boundary_condition => boundary_condition_1d}/timeseries label.qml (88%) rename threedi_schematisation_editor/styles/vector/{2d_boundary_condition => boundary_condition_2d}/default.qml (95%) rename threedi_schematisation_editor/styles/vector/{2d_boundary_condition => boundary_condition_2d}/timeseries label.qml (88%) rename threedi_schematisation_editor/styles/vector/{grid_refinement => grid_refinement_line}/default.qml (92%) rename threedi_schematisation_editor/styles/vector/{grid_refinement => grid_refinement_line}/refinement level.qml (89%) rename threedi_schematisation_editor/styles/vector/{groundwater_settings => groundwater}/default.qml (85%) delete mode 100644 threedi_schematisation_editor/styles/vector/impervious_surface/area and DWF production.qml delete mode 100644 threedi_schematisation_editor/styles/vector/impervious_surface/default.qml delete mode 100644 threedi_schematisation_editor/styles/vector/impervious_surface/surface inclination.qml delete mode 100644 threedi_schematisation_editor/styles/vector/impervious_surface_map/default.qml delete mode 100644 threedi_schematisation_editor/styles/vector/impervious_surface_map/percentage.qml rename threedi_schematisation_editor/styles/vector/{interflow_settings => interflow}/default.qml (100%) rename threedi_schematisation_editor/styles/vector/{1d_lateral => lateral_1d}/default.qml (100%) rename threedi_schematisation_editor/styles/vector/{1d_lateral => lateral_1d}/timeseries label.qml (100%) rename threedi_schematisation_editor/styles/vector/{2d_lateral => lateral_2d}/default.qml (100%) rename threedi_schematisation_editor/styles/vector/{2d_lateral => lateral_2d}/timeseries label.qml (100%) rename threedi_schematisation_editor/styles/vector/{global_settings => model_settings}/default.qml (84%) rename threedi_schematisation_editor/styles/vector/{pumpstation => pump}/capacity.qml (99%) rename threedi_schematisation_editor/styles/vector/{pumpstation => pump}/default.qml (99%) rename threedi_schematisation_editor/styles/vector/{pumpstation => pump}/levels.qml (99%) rename threedi_schematisation_editor/styles/vector/{pumpstation_map => pump_map}/capacity.qml (99%) rename threedi_schematisation_editor/styles/vector/{pumpstation_map => pump_map}/default.qml (97%) rename threedi_schematisation_editor/styles/vector/{pumpstation_map => pump_map}/levels.qml (99%) rename threedi_schematisation_editor/styles/vector/{simple_infiltration_settings => simple_infiltration}/default.qml (89%) delete mode 100644 threedi_schematisation_editor/styles/vector/surface/area and DWF production.qml rename threedi_schematisation_editor/styles/vector/{vegetation_drag => vegetation_drag_2d}/default.qml (100%) rename threedi_schematisation_editor/styles/vector/{windshielding => windshielding_1d}/default.qml (100%) diff --git a/HISTORY.rst b/HISTORY.rst index f2bb0e4..8922a95 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -37,7 +37,7 @@ History ----------------- - Fixes/enhancements: #191 -- No longer commit changes in processing algorithms "Manhole bottom levels from pipes" and "Map (impervious) surfaces to connection nodes" +- No longer commit changes in processing algorithms "Manhole bottom levels from pipes" and "Map (DWF) surfaces to connection nodes" - Add documentation to processing algorithm "Manhole bottom level from pipes" 1.9 (2024-03-14) diff --git a/threedi_schematisation_editor/__init__.py b/threedi_schematisation_editor/__init__.py index a94f468..6579ea7 100644 --- a/threedi_schematisation_editor/__init__.py +++ b/threedi_schematisation_editor/__init__.py @@ -4,11 +4,10 @@ from qgis.core import QgsApplication, QgsLayerTreeNode, QgsProject from qgis.PyQt.QtGui import QCursor, QIcon -from qgis.PyQt.QtWidgets import QAction, QComboBox, QDialog, QMenu +from qgis.PyQt.QtWidgets import QAction, QComboBox, QMenu import threedi_schematisation_editor.data_models as dm from threedi_schematisation_editor.communication import UICommunication -from threedi_schematisation_editor.conversion import ModelDataConverter from threedi_schematisation_editor.custom_widgets import ImportStructuresDialog, LoadSchematisationDialog from threedi_schematisation_editor.processing import ThreediSchematisationEditorProcessingProvider from threedi_schematisation_editor.user_layer_manager import LayersManager @@ -73,7 +72,6 @@ def initGui(self): ("Orifices", self.import_external_orifices, None), ("Weirs", self.import_external_weirs, None), ("Pipes", self.import_external_pipes, None), - ("Manholes", self.import_external_manholes, None), ] self.action_import_culverts = self.add_multi_action_button( "Import schematisation objects", import_culverts_icon_path, import_actions_spec @@ -246,135 +244,10 @@ def open_model_from_geopackage(self, model_gpkg=None): if self.model_gpkg and not is_gpkg_connection_exists(self.model_gpkg): add_gpkg_connection(self.model_gpkg, self.iface) - def load_from_spatialite(self, src_sqlite=None): - if not src_sqlite: - schematisation_loader = LoadSchematisationDialog(self.uc) - result = schematisation_loader.exec_() - if result != QDialog.Accepted: - return - src_sqlite = schematisation_loader.selected_schematisation_sqlite - if not can_write_in_dir(os.path.dirname(src_sqlite)): - warn_msg = "You don't have required write permissions to load data from the selected spatialite." - self.uc.show_warn(warn_msg) - return - schema_version = ModelDataConverter.spatialite_schema_version(src_sqlite) - if schema_version is None: - warn_msg = ( - "The selected spatialite cannot be used because its schema version information is missing. " - "Please upgrade the 3Di Schematisation Editor and try again." - ) - self.uc.show_warn(warn_msg) - self.uc.bar_warn("Loading from the Spatialite aborted!") - return - if schema_version > ModelDataConverter.SUPPORTED_SCHEMA_VERSION: - warn_msg = ( - "The selected spatialite cannot be used because its database schema version is newer than expected. " - "Please upgrade the 3Di Schematisation Editor and try again." - ) - self.uc.show_warn(warn_msg) - self.uc.bar_warn("Loading from the Spatialite aborted!") - return - else: - schema_is_valid = ensure_valid_schema(src_sqlite, self.uc) - if schema_is_valid is False: - self.uc.bar_warn("Loading from the Spatialite aborted!") - return - dst_gpkg = os.path.normpath(src_sqlite.replace(".sqlite", ".gpkg")) - if dst_gpkg in set(self.workspace_context_manager.layer_managers.keys()): - warn_msg = "Selected schematisation is already loaded. Loading canceled." - self.uc.show_warn(warn_msg) - return - converter = ModelDataConverter(src_sqlite, dst_gpkg, user_communication=self.uc) - known_epsg = converter.set_epsg_from_sqlite() - if known_epsg is False: - return - try: - converter.create_empty_user_layers() - converter.import_all_model_data() - except ConversionError: - self.uc.bar_warn("Loading from the Spatialite failed!") - return - if converter.missing_source_settings is True: - add_settings_entry(dst_gpkg, id=1, epsg_code=converter.epsg_code) - lm = LayersManager(self.iface, self.uc, dst_gpkg) - lm.load_all_layers() - self.workspace_context_manager.register_layer_manager(lm) - self.uc.show_info("Loading from the Spatialite finished!") - self.check_macros_status() - self.toggle_active_project_actions() - if self.model_gpkg and not is_gpkg_connection_exists(self.model_gpkg): - add_gpkg_connection(self.model_gpkg, self.iface) - - def save_to_selected(self): - self.save_to_spatialite() - - def save_to_default(self): - self.save_to_spatialite(pick_destination=False) - - def save_to_spatialite(self, pick_destination=True): - if not self.model_gpkg: - return - if self.layer_manager is None: - return - fixed_errors_msg, unsolved_errors_msg = self.layer_manager.validate_layers() - if unsolved_errors_msg: - warn_msg = ( - "Saving to Spatialite failed. " - "The following features have cross sections with incorrect table inputs:\n" - ) - warn_msg += unsolved_errors_msg - self.uc.show_warn(warn_msg) - return - self.layer_manager.stop_model_editing() - if pick_destination: - dst_sqlite = self.select_sqlite_database(title="Select database to save features to") - else: - dst_sqlite = self.model_gpkg.replace(".gpkg", ".sqlite") - if not dst_sqlite: - return - if not os.path.isfile(dst_sqlite): - warn_msg = "Target spatialite file doesn't exist. Saving to spatialite canceled." - self.uc.show_warn(warn_msg) - return - if not can_write_in_dir(os.path.dirname(dst_sqlite)): - warn_msg = "You don't have required write permissions to save data into the selected spatialite." - self.uc.show_warn(warn_msg) - return - schema_version = ModelDataConverter.spatialite_schema_version(dst_sqlite) - if schema_version > ModelDataConverter.SUPPORTED_SCHEMA_VERSION: - warn_msg = ( - "The selected spatialite cannot be used because its database schema version is newer than expected. " - "Please upgrade the 3Di Schematisation Editor and try again." - ) - self.uc.show_warn(warn_msg) - return - else: - schema_is_valid = ensure_valid_schema(dst_sqlite, self.uc) - if schema_is_valid is False: - return - converter = ModelDataConverter(dst_sqlite, self.model_gpkg, user_communication=self.uc) - known_epsg = converter.set_epsg_from_gpkg() - if known_epsg is False: - return - converter.trim_sqlite_targets() - converter.report_conversion_errors() - converter.export_all_model_data() - self.uc.show_info("Saving to the Spatialite finished!") - - def save_to_spatialite_on_action(self): - model_modified = self.layer_manager.model_modified() - if model_modified: - title = "Save to Spatialite?" - question = "Would you like to save model to Spatialite before closing project?" - answer = self.uc.ask(None, title, question) - if answer is True: - self.save_to_spatialite() - def remove_model_from_project(self): if not self.model_gpkg: return if self.layer_manager is not None: - self.save_to_spatialite_on_action() self.iface.currentLayerChanged.disconnect(self.switch_workspace_context) self.layer_manager.remove_groups() self.iface.currentLayerChanged.connect(self.switch_workspace_context) @@ -405,14 +278,9 @@ def import_external_pipes(self): import_pipes_dlg = ImportStructuresDialog(dm.Pipe, self.model_gpkg, self.layer_manager, self.uc) import_pipes_dlg.exec_() - def import_external_manholes(self): - import_manholes_dlg = ImportStructuresDialog(dm.Manhole, self.model_gpkg, self.layer_manager, self.uc) - import_manholes_dlg.exec_() - def on_project_close(self): if self.layer_manager is None: return - self.save_to_spatialite_on_action() for lm in self.workspace_context_manager: lm.remove_loaded_layers(dry_remove=True) self.workspace_context_manager.unregister_all() diff --git a/threedi_schematisation_editor/conversion.py b/threedi_schematisation_editor/conversion.py deleted file mode 100644 index 7f8ea8e..0000000 --- a/threedi_schematisation_editor/conversion.py +++ /dev/null @@ -1,830 +0,0 @@ -# Copyright (C) 2023 by Lutra Consulting -from collections import OrderedDict, defaultdict -from operator import itemgetter - -from qgis.core import ( - QgsCoordinateTransform, - QgsExpression, - QgsFeature, - QgsFeatureRequest, - QgsGeometry, - QgsPointXY, - QgsProject, - QgsVectorFileWriter, - QgsWkbTypes, -) -from qgis.PyQt.QtCore import QCoreApplication -from qgis.PyQt.QtWidgets import QDialog - -import threedi_schematisation_editor.data_models as dm -import threedi_schematisation_editor.enumerators as en -from threedi_schematisation_editor.communication import UICommunication -from threedi_schematisation_editor.custom_widgets import ProjectionSelectionDialog -from threedi_schematisation_editor.utils import ( - ConversionError, - cast_if_bool, - gpkg_layer, - layer_to_gpkg, - sqlite_layer, - vector_layer_factory, -) - - -class ModelDataConverter: - """Class with methods Spatialite <==> GeoPackage conversion of the 3Di model layers.""" - - SUPPORTED_SCHEMA_VERSION = 219 - - def __init__(self, src_sqlite, dst_gpkg, epsg_code=4326, user_communication=None): - self.src_sqlite = src_sqlite - self.dst_gpkg = dst_gpkg - self.epsg_code = epsg_code - self.missing_source_settings = False - self.all_models = dm.ALL_MODELS[:] - self.timeseries_rawdata = OrderedDict() - self.uc = ( - user_communication - if user_communication is not None - else UICommunication(context="3Di Schematisation Editor") - ) - self.conversion_errors = defaultdict(list) - - def report_conversion_errors(self, report_limit=25): - """Report all caught conversion errors.""" - error_message = "" - errors_per_data_model = list(self.conversion_errors.items()) - errors_per_data_model.sort(key=itemgetter(0)) - total_errors_number = sum([len(errors) for layer_name, errors in errors_per_data_model]) - for layer_name, errors in errors_per_data_model: - errors_str = "\n".join(errors) - error_message += f"{layer_name} conversion errors:\n{errors_str}\n" - error_message.strip() - if error_message: - self.uc.log_warn(error_message) - if total_errors_number > report_limit: - general_error_message = ( - f"More than {report_limit} conversion errors detected. " - f"Please check the QGIS Log Message panel to get the conversion error details." - ) - self.uc.show_error(general_error_message) - else: - self.uc.show_error(error_message) - - @staticmethod - def spatialite_schema_version(sqlite_path): - """Getting Spatialite 3Di model database schema version.""" - schema_version_table = sqlite_layer(sqlite_path, "schema_version", geom_column=None) - if schema_version_table.isValid(): - try: - schema_row = next(iter(schema_version_table.getFeatures())) - spatialite_schema_id = int(schema_row["version_num"]) - except (StopIteration, TypeError): - spatialite_schema_id = 1 - else: - schema_version_table = sqlite_layer(sqlite_path, "south_migrationhistory", geom_column=None) - if not schema_version_table.isValid() or schema_version_table.featureCount() == 0: - return None - schema_row = list(schema_version_table.getFeatures())[-1] - try: - spatialite_schema_id = int(schema_row["migration"].split("_", 1)[0]) - except (AttributeError, IndexError, TypeError, ValueError): - spatialite_schema_id = 1 - return spatialite_schema_id - - def set_epsg_from_sqlite(self): - """Setting EPSG code from SQLITE 3Di model settings table.""" - settings_table = next(iter(dm.ModelSettings.SQLITE_SOURCES)) - settings_layer = sqlite_layer(self.src_sqlite, settings_table, geom_column=None) - try: - settings_feat = next(settings_layer.getFeatures()) - fetched_epsg = settings_feat["epsg_code"] - except StopIteration: - self.missing_source_settings = True - msg = f"'{settings_table}' table is empty. Please pick EPSG code that you want to use first." - self.uc.show_warn(msg) - crs_selection_dlg = ProjectionSelectionDialog() - res = crs_selection_dlg.exec_() - if res == QDialog.Accepted: - selected_crs = crs_selection_dlg.projection_selection.crs() - epsg_str = selected_crs.authid().split(":")[-1] - if epsg_str.isnumeric(): - fetched_epsg = int(epsg_str) - else: - fetched_epsg = -1 - else: - return False - if fetched_epsg and fetched_epsg != self.epsg_code: - self.epsg_code = fetched_epsg - return True - - def set_epsg_from_gpkg(self): - """Setting EPSG code from GeoPackage 3Di model settings table.""" - settings_table = dm.ModelSettings.__tablename__ - settings_layer = gpkg_layer(self.dst_gpkg, settings_table) - try: - settings_feat = next(settings_layer.getFeatures()) - except StopIteration: - msg = f"'{dm.ModelSettings.__layername__}' layer is empty. Please add record with EPSG code first." - self.uc.show_error(msg) - return False - fetched_epsg = settings_feat["epsg_code"] - if fetched_epsg and fetched_epsg != self.epsg_code: - self.epsg_code = fetched_epsg - return True - - def create_empty_user_layers(self, overwrite=True): - """Creating empty 3Di User Layers structure within GeoPackage.""" - vector_layers = [vector_layer_factory(model_cls, epsg=self.epsg_code) for model_cls in self.all_models] - overwrite = overwrite - for vl in vector_layers: - writer, error_msg = layer_to_gpkg(vl, self.dst_gpkg, overwrite=overwrite) - if writer != QgsVectorFileWriter.NoError: - self.uc.show_error(error_msg) - raise ConversionError((writer, error_msg)) - overwrite = False - - def trim_sqlite_targets(self): - """Removing all features from Spatialite tables.""" - self.conversion_errors.clear() - for model_cls in self.all_models: - for src_table in model_cls.SQLITE_TARGETS or tuple(): - src_layer = sqlite_layer(self.src_sqlite, src_table) - if not src_layer.isValid(): - src_layer = sqlite_layer(self.src_sqlite, src_table, geom_column=None) - fids = [f.id() for f in src_layer.getFeatures()] - src_layer.startEditing() - src_layer.deleteFeatures(fids) - success = src_layer.commitChanges() - if not success: - commit_errors = src_layer.commitErrors() - self.conversion_errors[model_cls.__layername__] += commit_errors - - @staticmethod - def copy_features(src_layer, dst_layer, request=None, **field_mappings): - """Handling copying of features during Spatialite <==> GeoPackage conversion.""" - src_crs = src_layer.sourceCrs() - dest_crs = dst_layer.sourceCrs() - if src_crs != dest_crs: - context = QgsProject.instance().transformContext() - transformation = QgsCoordinateTransform(src_crs, dest_crs, context) - - def geometry_transform(geometry): - geometry.transform(transformation) - - else: - - def geometry_transform(geometry): - pass - - src_fields = src_layer.fields() - dst_fields = dst_layer.fields() - src_field_names = {f.name() for f in src_fields} - dst_field_names = {f.name() for f in dst_fields} - skip_geometry = dst_layer.geometryType() == QgsWkbTypes.GeometryType.NullGeometry - if skip_geometry: - - def transfer_geometry(source_feat, destination_feat): - pass - - else: - - def transfer_geometry(source_feat, destination_feat): - src_geom = source_feat.geometry() - new_geom = QgsGeometry(src_geom) - if new_geom.isMultipart(): - new_geom.convertToSingleType() - geometry_transform(new_geom) - destination_feat.setGeometry(new_geom) - - field_mappings = { - dst_fld: src_fld - for dst_fld, src_fld in field_mappings.items() - if src_fld in src_field_names and dst_fld in dst_field_names - } - new_feats = [] - for src_feat in src_layer.getFeatures() if request is None else src_layer.getFeatures(request): - dst_feat = QgsFeature(dst_fields) - transfer_geometry(src_feat, dst_feat) - for dst_field, src_field in field_mappings.items(): - src_value = src_feat[src_field] - dst_feat[dst_field] = cast_if_bool(src_value) - new_feats.append(dst_feat) - return new_feats - - def extract_timeseries_rawdata(self, src_layer, dst_layer): - """Extracting Timeseries data from layer features.""" - dst_layer_name = dst_layer.name() - for src_feat in src_layer.getFeatures(): - self.timeseries_rawdata[dst_layer_name, src_feat["id"]] = src_feat["timeseries"] - - @staticmethod - def parse_timeseries_row(timeseries_txt, timeseries_id, reference_layer, reference_id, offset=0): - """Parsing text Timeseries data into structured form.""" - series = [] - for row in timeseries_txt.split("\n"): - duration_str, value_str = row.split(",") - duration, value = int(duration_str), float(value_str) - series.append((timeseries_id, reference_layer, reference_id, offset, duration, value)) - return series - - def process_timeseries_rawdata(self): - """Writing structured Timeseries into separate table.""" - ts_layer = gpkg_layer(self.dst_gpkg, dm.Timeseries.__tablename__) - ts_fields = ts_layer.fields() - ts_field_names = [f.name() for f in ts_fields] - ts_field_names.remove("fid") - ts_features = [] - for ts_id, ((reference_layer, reference_id), ts_txt) in enumerate(self.timeseries_rawdata.items(), start=1): - timeseries = self.parse_timeseries_row(ts_txt, ts_id, reference_layer, reference_id) - for ts_row in timeseries: - ts_feat = QgsFeature(ts_fields) - for field_name, field_value in zip(ts_field_names, ts_row): - ts_feat[field_name] = field_value - ts_features.append(ts_feat) - ts_layer.startEditing() - ts_layer.addFeatures(ts_features) - success = ts_layer.commitChanges() - if not success: - commit_errors = ts_layer.commitErrors() - self.conversion_errors[dm.Timeseries.__layername__] += commit_errors - - def recreate_timeseries_rawdata(self): - """Reading Timeseries from User Layer table.""" - self.timeseries_rawdata.clear() - ts_layer = gpkg_layer(self.dst_gpkg, dm.Timeseries.__tablename__) - grouped_records = defaultdict(list) - for feat_ts in ts_layer.getFeatures(): - reference_layer = feat_ts["reference_layer"] - reference_id = feat_ts["reference_id"] - ts_row = [feat_ts["duration"], feat_ts["value"]] - grouped_records[reference_layer, reference_id].append(ts_row) - for key, values in grouped_records.items(): - values.sort(key=itemgetter(0)) - ts_txt = "\n".join(",".join(str(col) for col in row) for row in values) - self.timeseries_rawdata[key] = ts_txt - - def fill_required_attributes(self, src_layer, new_feats): - """Filling required attributes during Spatialite <==> GeoPackage conversion.""" - src_layer_name = src_layer.name() - layers_with_ts = {el.__layername__ for el in dm.ELEMENTS_WITH_TIMESERIES} - if src_layer_name == dm.Pump.__layername__: - map_table = dm.PumpMap.__tablename__ - map_layer = gpkg_layer(self.dst_gpkg, map_table) - connections_ids = { - feat["pumpstation_id"]: feat["connection_node_id_end"] for feat in map_layer.getFeatures() - } - for feat in new_feats: - feat_id = feat["id"] - try: - feat["connection_node_id_end"] = connections_ids[feat_id] - except KeyError: - continue - elif src_layer_name in layers_with_ts: - for feat in new_feats: - feat_id = feat["id"] - try: - feat["timeseries"] = self.timeseries_rawdata[src_layer_name, feat_id] - except KeyError: - continue - else: - pass - - def add_surface_map_geometries(self): - """Adding polyline geometries to the surfaces map layers.""" - connection_node_layer = gpkg_layer(self.dst_gpkg, dm.ConnectionNode.__tablename__) - impervious_surface_layer = gpkg_layer(self.dst_gpkg, dm.DryWeatherFlow.__tablename__) - surface_layer = gpkg_layer(self.dst_gpkg, dm.Surface.__tablename__) - connection_node_points = {f["id"]: f.geometry() for f in connection_node_layer.getFeatures()} - impervious_surface_points = {f["id"]: f.geometry().centroid() for f in impervious_surface_layer.getFeatures()} - surface_points = {f["id"]: f.geometry().centroid() for f in surface_layer.getFeatures()} - impervious_surface_map_layer = gpkg_layer(self.dst_gpkg, dm.DryWeatherFlowMap.__tablename__) - surface_map_layer = gpkg_layer(self.dst_gpkg, dm.SurfaceMap.__tablename__) - impervious_surface_map_geoms, surface_map_geoms = {}, {} - for feat in impervious_surface_map_layer.getFeatures(): - fid, node_id, surface_id = feat.id(), feat["connection_node_id"], feat["impervious_surface_id"] - if not surface_id or surface_id not in impervious_surface_points: - missing_surface_error = ( - f"Impervious Surface link ({fid}) with an invalid 'impervious_surface_id'. " - f"Impervious surface ID reference is missing." - ) - self.conversion_errors[dm.DryWeatherFlow.__layername__].append(missing_surface_error) - continue - try: - connection_node_geom = connection_node_points[node_id] - except KeyError: - missing_node_error = ( - f"Impervious Surface ({fid}) with an invalid 'connection_node_id' reference. " - f"Node ({node_id}) doesn't exist." - ) - self.conversion_errors[dm.DryWeatherFlow.__layername__].append(missing_node_error) - continue - connection_node_point = connection_node_geom.asPoint() - isurface_centroid_geom = impervious_surface_points[surface_id] - try: - isurface_point = isurface_centroid_geom.asPoint() - except ValueError: - # If surface have no geometry let use point laying 10 meters to the north from connection node - isurface_point = QgsPointXY(connection_node_point.x(), connection_node_point.y() + 10.0) - link_geom = QgsGeometry.fromPolylineXY([isurface_point, connection_node_point]) - impervious_surface_map_geoms[fid] = link_geom - for feat in surface_map_layer.getFeatures(): - fid, node_id, surface_id = feat.id(), feat["connection_node_id"], feat["surface_id"] - if not surface_id or surface_id not in surface_points: - missing_surface_error = ( - f"Surface link ({fid}) with an invalid 'surface_id'. Surface ID reference is missing." - ) - self.conversion_errors[dm.Surface.__layername__].append(missing_surface_error) - continue - try: - connection_node_geom = connection_node_points[node_id] - except KeyError: - missing_node_error = ( - f"Surface ({fid}) with an invalid 'connection_node_id' reference. " - f"Node ({node_id}) doesn't exist." - ) - self.conversion_errors[dm.Surface.__layername__].append(missing_node_error) - continue - connection_node_point = connection_node_geom.asPoint() - surface_centroid_geom = surface_points[surface_id] - try: - surface_point = surface_centroid_geom.asPoint() - except ValueError: - # If surface have no geometry let use point laying 10 meters to the north from connection node - surface_point = QgsPointXY(connection_node_point.x(), connection_node_point.y() + 10.0) - link_geom = QgsGeometry.fromPolylineXY([surface_point, connection_node_point]) - surface_map_geoms[fid] = link_geom - impervious_surface_map_layer.startEditing() - for fid, link_geom in impervious_surface_map_geoms.items(): - impervious_surface_map_layer.changeGeometry(fid, link_geom) - success = impervious_surface_map_layer.commitChanges() - if not success: - commit_errors = impervious_surface_map_layer.commitErrors() - self.conversion_errors[dm.DryWeatherFlow.__layername__] += commit_errors - surface_map_layer.startEditing() - for fid, link_geom in surface_map_geoms.items(): - surface_map_layer.changeGeometry(fid, link_geom) - success = surface_map_layer.commitChanges() - if not success: - commit_errors = surface_map_layer.commitErrors() - self.conversion_errors[dm.Surface.__layername__] += commit_errors - - def import_model_data(self, annotated_model_cls): - """Converting Spatialite layer into GeoPackage User Layer based on model data class.""" - dst_table = annotated_model_cls.__tablename__ - dst_layer_name = annotated_model_cls.__layername__ - dst_layer = gpkg_layer(self.dst_gpkg, dst_table, dst_layer_name) - field_mappings = {k: k for k in annotated_model_cls.__annotations__.keys()} - if annotated_model_cls.IMPORT_FIELD_MAPPINGS: - field_mappings.update(annotated_model_cls.IMPORT_FIELD_MAPPINGS) - for src_table in annotated_model_cls.SQLITE_SOURCES: - src_layer = sqlite_layer(self.src_sqlite, src_table) - if not src_layer.isValid(): - src_layer = sqlite_layer(self.src_sqlite, src_table, geom_column=None) - src_field_names = {f.name() for f in src_layer.fields()} - layer_with_ts = "timeseries" in src_field_names - new_feats = self.copy_features(src_layer, dst_layer, **field_mappings) - # Extra logic for dealing with Linear obstacles - self.fill_required_attributes(src_layer, new_feats) - # Extra logic for dealing with Timeseries - if layer_with_ts: - self.extract_timeseries_rawdata(src_layer, dst_layer) - dst_layer.startEditing() - dst_layer.addFeatures(new_feats) - success = dst_layer.commitChanges() - if not success: - commit_errors = dst_layer.commitErrors() - self.conversion_errors[dst_layer_name] += commit_errors - - def collect_src_dst_ids(self, annotated_model_cls): - """Getting unique feature IDs of source and destination layers.""" - src_feat_ids, dst_feat_ids = set(), set() - src_expr = None - if annotated_model_cls == dm.Pump: - src_expr = QgsExpression('"connection_node_start_id" IS NOT NULL') - elif annotated_model_cls == dm.PumpMap: - src_expr = QgsExpression('"connection_node_start_id" IS NOT NULL AND "connection_node_end_id" IS NOT NULL') - if src_expr is None: - src_request = QgsFeatureRequest() - else: - src_request = QgsFeatureRequest(src_expr) - src_request.setFlags(QgsFeatureRequest.NoGeometry) - dst_request = QgsFeatureRequest() - dst_request.setFlags(QgsFeatureRequest.NoGeometry) - for src_table in annotated_model_cls.SQLITE_TARGETS: - src_target_layer = sqlite_layer(self.src_sqlite, src_table) - if not src_target_layer.isValid(): - src_target_layer = sqlite_layer(self.src_sqlite, src_table, geom_column=None) - # Let's assume that ids are unique across multiple sqlite targets - src_feat_ids |= {src_feat["id"] for src_feat in src_target_layer.getFeatures(src_request)} - dst_table = annotated_model_cls.__tablename__ - dst_layer = gpkg_layer(self.dst_gpkg, dst_table) - dst_id_idx = dst_layer.fields().indexFromName("id") - dst_feat_ids |= set(dst_layer.uniqueValues(dst_id_idx)) - return src_feat_ids, dst_feat_ids - - @staticmethod - def tabulate_data(*table_arguments, values_separator=", "): - table_rows = zip(*[arg.split() for arg in table_arguments]) - table_text = "\n".join(values_separator.join(row) for row in table_rows) - return table_text - - @staticmethod - def text_to_number(text_value): - try: - value = float(text_value) - except (TypeError, ValueError): - value = None - return value - - def import_cross_section_definition_data(self): - """Importing and splitting cross-section definition data.""" - xs_def_table = next(iter(dm.CrossSectionDefinition.SQLITE_SOURCES)) - xs_def_lyr = sqlite_layer(self.src_sqlite, xs_def_table) - if not xs_def_lyr.isValid(): - xs_def_lyr = sqlite_layer(self.src_sqlite, xs_def_table, geom_column=None) - model_with_xs_def = dm.CrossSectionLocation - dst_model_field_names = [ - field_name - for field_name in model_with_xs_def.__annotations__.keys() - if field_name.startswith("cross_section_") - ] - # Get cross-section definition data and reformat it to fit User Layers structure - xs_definitions = {} - for xs_def_feat in xs_def_lyr.getFeatures(): - src_xs_def_id = xs_def_feat["id"] - src_xs_def_shape = xs_def_feat["shape"] - src_xs_def_height = xs_def_feat["height"] - src_xs_def_width = xs_def_feat["width"] - src_xs_def_friction = xs_def_feat["friction_values"] - src_xs_def_vegetation_stem_densities = xs_def_feat["vegetation_stem_densities"] - src_xs_def_vegetation_stem_diameters = xs_def_feat["vegetation_stem_diameters"] - src_xs_def_vegetation_heights = xs_def_feat["vegetation_heights"] - src_xs_def_vegetation_vegetation_drag_coefficients = xs_def_feat["vegetation_drag_coefficients"] - all_vegetation_fields = [ - src_xs_def_vegetation_stem_densities, - src_xs_def_vegetation_stem_diameters, - src_xs_def_vegetation_heights, - src_xs_def_vegetation_vegetation_drag_coefficients, - ] - if src_xs_def_shape in dm.TABLE_SHAPES and src_xs_def_height and src_xs_def_width: - if src_xs_def_shape == en.CrossSectionShape.YZ.value: - xs_def_table = self.tabulate_data(src_xs_def_width, src_xs_def_height) - else: - xs_def_table = self.tabulate_data(src_xs_def_height, src_xs_def_width) - xs_def_height = None - xs_def_width = None - else: - xs_def_height = self.text_to_number(src_xs_def_height) - xs_def_width = self.text_to_number(src_xs_def_width) - xs_def_table = None - if src_xs_def_friction: - xs_def_friction_table = self.tabulate_data(src_xs_def_friction) - else: - xs_def_friction_table = None - if all(all_vegetation_fields): - xs_def_vegetation_table = self.tabulate_data(*all_vegetation_fields) - else: - xs_def_vegetation_table = None - xs_def_data = { - "cross_section_shape": src_xs_def_shape, - "cross_section_height": xs_def_height, - "cross_section_width": xs_def_width, - "cross_section_table": xs_def_table, - "cross_section_friction_table": xs_def_friction_table, - "cross_section_vegetation_table": xs_def_vegetation_table, - } - xs_definitions[src_xs_def_id] = xs_def_data - # Update User Layers cross-section definition data - request = QgsFeatureRequest() - request.setFlags(QgsFeatureRequest.NoGeometry) - for model_cls in dm.ELEMENTS_WITH_XS_DEF: - # Initialize spatialite and GeoPackage layers for the model class with the cross-section definition data - table_name = next(iter(model_cls.SQLITE_SOURCES)) - src_xs_def_lyr = sqlite_layer(self.src_sqlite, table_name) - if not src_xs_def_lyr.isValid(): - src_xs_def_lyr = sqlite_layer(self.src_sqlite, table_name, geom_column=None) - dst_xs_def_lyr = gpkg_layer(self.dst_gpkg, model_cls.__tablename__) - # Map field names to field indexes - dst_layer_fields = dst_xs_def_lyr.fields() - dst_layer_field_names = dst_layer_fields.names() - field_indexes = { - field_name: dst_layer_fields.lookupField(field_name) - for field_name in dst_model_field_names - if field_name in dst_layer_field_names - } - # Establish `cross_section_definition_id` field - src_id_field_name = model_cls.IMPORT_FIELD_MAPPINGS["id"] - xs_def_id_field_name = None - for field in src_xs_def_lyr.fields(): - field_name = field.name() - if "definition_id" in field_name: - xs_def_id_field_name = field_name - break - # Map feature `id`s to cross-section definition `id`s based on source spatialite layers - feat_to_xs_def = {} - for src_feat in src_xs_def_lyr.getFeatures(request): - src_feat_id = src_feat[src_id_field_name] - xs_def_id = src_feat[xs_def_id_field_name] - feat_to_xs_def[src_feat_id] = xs_def_id - # Pair cross-section definition data with User Layer features and prepare update dictionary - xs_def_data_changes = {} - for dst_feat in dst_xs_def_lyr.getFeatures(request): - fid = dst_feat.id() - dst_feat_id = dst_feat["id"] - xs_def_id = feat_to_xs_def[dst_feat_id] - xs_def_data = xs_definitions[xs_def_id] - xs_def_data_changes[fid] = { - field_indexes[fld]: xs_def_data[fld] for fld in xs_def_data.keys() if fld in dst_layer_field_names - } - # Update User Layers with cross-section definition data - dst_xs_def_lyr.startEditing() - for fid, changes in xs_def_data_changes.items(): - dst_xs_def_lyr.changeAttributeValues(fid, changes) - success = dst_xs_def_lyr.commitChanges() - if not success: - commit_errors = dst_xs_def_lyr.commitErrors() - self.conversion_errors[model_cls.__layername__] += commit_errors - - def import_all_model_data(self): - """Converting all Spatialite layers into GeoPackage User Layers.""" - self.conversion_errors.clear() - self.timeseries_rawdata.clear() - models_to_import = list(self.all_models) - models_to_import.remove(dm.Timeseries) - models_to_import.remove(dm.CrossSectionDefinition) - number_of_steps = len(models_to_import) - msg = "Loading data from Spatialite..." - self.uc.progress_bar(msg, 0, number_of_steps, 0, clear_msg_bar=True) - QCoreApplication.processEvents() - incomplete_imports = OrderedDict() - for i, data_model_cls in enumerate(models_to_import): - msg = f'Loading "{data_model_cls.__layername__}" layer data...' - self.uc.progress_bar(msg, 0, number_of_steps, i, clear_msg_bar=True) - QCoreApplication.processEvents() - self.import_model_data(data_model_cls) - if data_model_cls == dm.SchemaVersion: - continue - sqlite_feat_ids, gpkg_feat_ids = self.collect_src_dst_ids(data_model_cls) - sqlite_feat_count = len(sqlite_feat_ids) - gpkg_feat_count = len(gpkg_feat_ids) - if sqlite_feat_count != gpkg_feat_count: - missing_ids = list(sorted(sqlite_feat_ids - gpkg_feat_ids)) - missing = len(missing_ids) - if missing: - incomplete_imports[data_model_cls] = (sqlite_feat_count, gpkg_feat_count, missing, missing_ids) - # Adding geometry between surfaces and connection nodes - msg = f"Adding links between surfaces and connection nodes..." - self.uc.progress_bar(msg, 0, number_of_steps, number_of_steps, clear_msg_bar=True) - QCoreApplication.processEvents() - self.add_surface_map_geometries() - msg = f"Importing and splitting cross-section definition data..." - self.uc.progress_bar(msg, 0, number_of_steps, number_of_steps, clear_msg_bar=True) - QCoreApplication.processEvents() - self.import_cross_section_definition_data() - self.uc.clear_message_bar() - # TODO: Uncomment line below after finishing forms implementation - # self.process_timeseries_rawdata() - if incomplete_imports: - warn = "Incomplete import:\n" - for model_cls, (sqlite_fc, gpkg_fc, miss_no, missing_ids) in incomplete_imports.items(): - layer_name = model_cls.__layername__ - warn += f"\n{layer_name}: {gpkg_fc} out of {sqlite_fc} features imported ({miss_no} missing)\n" - ids_str = ", ".join(str(mid) for mid in missing_ids[:10]) - warn += f"ID's of missing features: {ids_str}" - if miss_no > 10: - warn += " ..." - warn += "\nPlease run the 3Di schematisation checker for more details" - self.uc.show_warn(warn) - self.report_conversion_errors() - - def export_model_data(self, annotated_model_cls): - """Converting GeoPackage User Layer into Spatialite layer based on model data class.""" - src_table = annotated_model_cls.__tablename__ - src_layer_name = annotated_model_cls.__layername__ - src_layer = gpkg_layer(self.dst_gpkg, src_table, src_layer_name) - field_mappings = {k: k for k in annotated_model_cls.__annotations__.keys()} - if annotated_model_cls.EXPORT_FIELD_MAPPINGS: - field_mappings.update(annotated_model_cls.EXPORT_FIELD_MAPPINGS) - switched_map = {v: k for k, v in field_mappings.items()} - dst_table = next(iter(annotated_model_cls.SQLITE_TARGETS)) - dst_layer = sqlite_layer(self.src_sqlite, dst_table) - if not dst_layer.isValid(): - dst_layer = sqlite_layer(self.src_sqlite, dst_table, geom_column=None) - new_feats = self.copy_features(src_layer, dst_layer, **switched_map) - self.fill_required_attributes(src_layer, new_feats) - dst_layer.startEditing() - dst_layer.addFeatures(new_feats) - success = dst_layer.commitChanges() - if not success: - commit_errors = dst_layer.commitErrors() - self.conversion_errors[src_layer_name] += commit_errors - - @staticmethod - def cross_section_definition_code(shape, width, width_values=None, height_values=None): - """Generate cross-section definition code.""" - if shape in {en.CrossSectionShape.OPEN_RECTANGLE.value, en.CrossSectionShape.CLOSED_RECTANGLE.value} and width: - code = f"rect_{width:.3f}" - elif shape == en.CrossSectionShape.CIRCLE.value and width: - code = f"round_{width:.3f}" - elif shape == en.CrossSectionShape.EGG.value and width: - code = f"egg_{width:.3f}_{width * 1.5:.3f}" - elif shape == en.CrossSectionShape.TABULATED_RECTANGLE.value and width_values and height_values: - code = f"tab_rect_{float(max(width_values, key=float)):.3f}_{float(max(height_values, key=float)):.3f}" - elif shape == en.CrossSectionShape.TABULATED_TRAPEZIUM.value and width_values and height_values: - code = f"tab_trap_{float(max(width_values, key=float)):.3f}_{float(max(height_values, key=float)):.3f}" - else: - code = None - return code - - def export_cross_section_definition_data(self): - """Exporting and aggregating cross-section definition data.""" - request = QgsFeatureRequest() - request.setFlags(QgsFeatureRequest.NoGeometry) - xs_def_data_ids = OrderedDict() - lyr_feat_to_xs_def_id = {} - next_xs_def_id = 1 - # Get and aggregate cross-section definition data - for model_cls in dm.ELEMENTS_WITH_XS_DEF: - table_name = next(iter(model_cls.SQLITE_TARGETS)) - src_with_xs_def_lyr = gpkg_layer(self.dst_gpkg, model_cls.__tablename__) - for feat_with_xs_def in src_with_xs_def_lyr.getFeatures(request): - feat_id = feat_with_xs_def["id"] - src_xs_def_shape = feat_with_xs_def["cross_section_shape"] - src_xs_def_height = feat_with_xs_def["cross_section_height"] - src_xs_def_width = feat_with_xs_def["cross_section_width"] - src_xs_def_table = feat_with_xs_def["cross_section_table"] - if model_cls == dm.CrossSectionLocation: - src_xs_def_friction_table = feat_with_xs_def["cross_section_friction_table"] - src_xs_def_vegetation_table = feat_with_xs_def["cross_section_vegetation_table"] - xs_def_friction_values = ( - " ".join(src_xs_def_friction_table.split("\n")) if src_xs_def_friction_table else None - ) - if src_xs_def_vegetation_table: - parsed_vegetation_table = [row.split(",") for row in src_xs_def_vegetation_table.split("\n")] - ( - vegetation_stem_densities, - vegetation_stem_diameters, - vegetation_heights, - vegetation_drag_coefficients, - ) = list(zip(*parsed_vegetation_table)) - xs_def_vegetation_stem_densities = " ".join(sde.strip() for sde in vegetation_stem_densities) - xs_def_vegetation_stem_diameters = " ".join(sdi.strip() for sdi in vegetation_stem_diameters) - xs_def_vegetation_heights = " ".join(h.strip() for h in vegetation_heights) - xs_def_vegetation_drag_coefficients = " ".join( - dc.strip() for dc in vegetation_drag_coefficients - ) - else: - ( - xs_def_vegetation_stem_densities, - xs_def_vegetation_stem_diameters, - xs_def_vegetation_heights, - xs_def_vegetation_drag_coefficients, - ) = (None,) * 4 - else: - ( - xs_def_friction_values, - xs_def_vegetation_stem_densities, - xs_def_vegetation_stem_diameters, - xs_def_vegetation_heights, - xs_def_vegetation_drag_coefficients, - ) = (None,) * 5 - - if src_xs_def_shape in dm.TABLE_SHAPES and src_xs_def_table: - parsed_table = [row.split(",") for row in src_xs_def_table.split("\n")] - height_values, width_values = list(zip(*parsed_table)) - if src_xs_def_shape == en.CrossSectionShape.YZ.value: - height_values, width_values = width_values, height_values - xs_def_height = " ".join(hv.strip() for hv in height_values) - xs_def_width = " ".join(wv.strip() for wv in width_values) - src_xs_def_code = self.cross_section_definition_code( - src_xs_def_shape, src_xs_def_width, width_values, height_values - ) - else: - xs_def_height = str(src_xs_def_height) if src_xs_def_height else None - xs_def_width = str(src_xs_def_width) if src_xs_def_width else None - src_xs_def_code = self.cross_section_definition_code(src_xs_def_shape, src_xs_def_width) - xs_def_data = ( - src_xs_def_code, - src_xs_def_shape, - xs_def_height, - xs_def_width, - xs_def_friction_values, - xs_def_vegetation_stem_densities, - xs_def_vegetation_stem_diameters, - xs_def_vegetation_heights, - xs_def_vegetation_drag_coefficients, - ) - try: - xs_def_id = xs_def_data_ids[xs_def_data] - except KeyError: - xs_def_id = next_xs_def_id - xs_def_data_ids[xs_def_data] = xs_def_id - next_xs_def_id += 1 - lyr_feat_to_xs_def_id[table_name, feat_id] = xs_def_id - # Inserting CrossSectionDefinition data - xs_def_table = next(iter(dm.CrossSectionDefinition.SQLITE_TARGETS)) - xs_def_lyr = sqlite_layer(self.src_sqlite, xs_def_table) - if not xs_def_lyr.isValid(): - xs_def_lyr = sqlite_layer(self.src_sqlite, xs_def_table, geom_column=None) - xs_def_fields = xs_def_lyr.fields() - new_xs_def_feats = [] - for ( - xs_def_code, - xs_def_shape, - xs_def_height, - xs_def_width, - xs_def_friction_values, - xs_def_vegetation_stem_densities, - xs_def_vegetation_stem_diameters, - xs_def_vegetation_heights, - xs_def_vegetation_drag_coefficients, - ), xs_def_id in xs_def_data_ids.items(): - new_feat = QgsFeature(xs_def_fields) - new_feat["id"] = xs_def_id - new_feat["code"] = xs_def_code - new_feat["shape"] = xs_def_shape - new_feat["height"] = xs_def_height - new_feat["width"] = xs_def_width - new_feat["friction_values"] = xs_def_friction_values - new_feat["vegetation_stem_densities"] = xs_def_vegetation_stem_densities - new_feat["vegetation_stem_diameters"] = xs_def_vegetation_stem_diameters - new_feat["vegetation_heights"] = xs_def_vegetation_heights - new_feat["vegetation_drag_coefficients"] = xs_def_vegetation_drag_coefficients - new_xs_def_feats.append(new_feat) - xs_def_lyr.startEditing() - xs_def_lyr.addFeatures(new_xs_def_feats) - success = xs_def_lyr.commitChanges() - if not success: - commit_errors = xs_def_lyr.commitErrors() - self.conversion_errors[dm.CrossSectionDefinition.__layername__] += commit_errors - # Update `cross_section_definition_id` fields in the layers that refers to the cross-section definition data - for model_cls in dm.ELEMENTS_WITH_XS_DEF: - dst_changes = {} - table_name = next(iter(model_cls.SQLITE_TARGETS)) - dst_with_xs_def_lyr = sqlite_layer(self.src_sqlite, table_name) - if not dst_with_xs_def_lyr.isValid(): - dst_with_xs_def_lyr = sqlite_layer(self.src_sqlite, table_name, geom_column=None) - # Establish `cross_section_definition_id` field index - dst_with_xs_def_lyr_fields = dst_with_xs_def_lyr.fields() - xs_def_id_field = "definition_id" if model_cls == dm.CrossSectionLocation else "cross_section_definition_id" - xs_def_id_field_idx = dst_with_xs_def_lyr_fields.lookupField(xs_def_id_field) - # Create dictionary with `cross_section_definition_id` updates - for dst_feat in dst_with_xs_def_lyr.getFeatures(request): - feat_fid = dst_feat.id() - dst_feat_id = dst_feat["id"] - xs_def_id = lyr_feat_to_xs_def_id[table_name, dst_feat_id] - dst_changes[feat_fid] = xs_def_id - # Update `cross_section_definition_id`field - dst_with_xs_def_lyr.startEditing() - for feat_fid, xs_def_id in dst_changes.items(): - dst_with_xs_def_lyr.changeAttributeValue(feat_fid, xs_def_id_field_idx, xs_def_id) - success = dst_with_xs_def_lyr.commitChanges() - if not success: - commit_errors = dst_with_xs_def_lyr.commitErrors() - self.conversion_errors[model_cls.__layername__] += commit_errors - - def export_all_model_data(self): - """Converting all GeoPackage User Layers into Spatialite layers.""" - # TODO: Uncomment line below after finishing forms implementation - # self.recreate_timeseries_rawdata() - self.conversion_errors.clear() - models_to_export = list(self.all_models) - models_to_export.remove(dm.Timeseries) - models_to_export.remove(dm.PumpMap) - models_to_export.remove(dm.CrossSectionDefinition) - number_of_steps = len(models_to_export) - msg = "Saving data into Spatialite..." - self.uc.progress_bar(msg, 0, number_of_steps, 0, clear_msg_bar=True) - QCoreApplication.processEvents() - incomplete_exports = OrderedDict() - for i, data_model_cls in enumerate(models_to_export): - msg = f'Saving "{data_model_cls.__layername__}" layer data...' - self.uc.progress_bar(msg, 0, number_of_steps, i, clear_msg_bar=True) - QCoreApplication.processEvents() - self.export_model_data(data_model_cls) - if data_model_cls == dm.SchemaVersion: - continue - sqlite_feat_ids, gpkg_feat_ids = self.collect_src_dst_ids(data_model_cls) - sqlite_feat_count = len(sqlite_feat_ids) - gpkg_feat_count = len(gpkg_feat_ids) - if gpkg_feat_count != sqlite_feat_count: - missing_ids = list(sorted(gpkg_feat_ids - sqlite_feat_ids)) - missing = len(missing_ids) - if missing: - incomplete_exports[data_model_cls] = (sqlite_feat_count, gpkg_feat_count, missing, missing_ids) - msg = f"Exporting and aggregating cross-section definition data..." - self.uc.progress_bar(msg, 0, number_of_steps, number_of_steps, clear_msg_bar=True) - QCoreApplication.processEvents() - self.export_cross_section_definition_data() - self.uc.clear_message_bar() - if incomplete_exports: - warn = "Incomplete export:\n" - for model_cls, (sqlite_fc, gpkg_fc, miss_no, miss_ids) in incomplete_exports.items(): - layer_name = model_cls.__layername__ - warn += f"\n{layer_name}: {sqlite_fc} out of {gpkg_fc} features exported ({miss_no} missing)\n" - ids_str = ", ".join(str(mid) for mid in miss_ids[:10]) - warn += f"ID's of missing features: {ids_str}" - if miss_no > 10: - warn += " ..." - self.uc.show_warn(warn) - self.report_conversion_errors() diff --git a/threedi_schematisation_editor/custom_tools/__init__.py b/threedi_schematisation_editor/custom_tools/__init__.py index 40dae2d..b478e91 100644 --- a/threedi_schematisation_editor/custom_tools/__init__.py +++ b/threedi_schematisation_editor/custom_tools/__init__.py @@ -174,7 +174,6 @@ def __init__(self, external_source, target_gpkg, import_settings): "use_snapping", "snapping_distance", "create_connection_nodes", - "create_manholes", "length_source_field", "length_fallback_value", "azimuth_source_field", @@ -192,7 +191,6 @@ def conversion_settings(self): else: snapping_distance = self.DEFAULT_INTERSECTION_BUFFER create_connection_nodes = conversion_config.get("create_connection_nodes", False) - create_manholes = conversion_config.get("create_manholes", False) length_source_field = conversion_config.get("length_source_field", None) length_fallback_value = conversion_config.get("length_fallback_value", 10.0) azimuth_source_field = conversion_config.get("azimuth_source_field", None) @@ -202,7 +200,6 @@ def conversion_settings(self): use_snapping, snapping_distance, create_connection_nodes, - create_manholes, length_source_field, length_fallback_value, azimuth_source_field, @@ -298,58 +295,6 @@ def import_structures(self, context=None, selected_ids=None): raise NotImplementedError("Function called from the abstract class.") -class AbstractStructuresImporterWithManholes(AbstractStructuresImporter): - def __init__(self, *args): - super().__init__(*args) - self.manhole_layer = None - - @property - def modifiable_layers(self): - """Return a list of the layers that can be modified.""" - return super().modifiable_layers + [self.manhole_layer] - - def setup_target_layers(self, structure_model_cls, structure_layer=None, node_layer=None, manhole_layer=None): - """Setup target layers with fields configuration.""" - super().setup_target_layers(structure_model_cls, structure_layer, node_layer) - self.manhole_layer = ( - gpkg_layer(self.target_gpkg, dm.Manhole.__tablename__) if manhole_layer is None else manhole_layer - ) - self.fields_configurations[dm.Manhole] = self.import_settings.get("manhole_fields", {}) - - def manholes_for_structures(self, external_source_features, new_structure_features): - """Create manholes for the structures.""" - manhole_fields = self.manhole_layer.fields() - next_manhole_id = get_next_feature_id(self.manhole_layer) - manholes_at_nodes = {manhole_feat["connection_node_id"] for manhole_feat in self.manhole_layer.getFeatures()} - new_manholes = [] - for external_src_feat, structure_feat in zip(external_source_features, new_structure_features): - start_node_id = structure_feat["connection_node_id_start"] - end_node_id = structure_feat["connection_node_id_end"] - if start_node_id not in manholes_at_nodes: - start_manhole_feat = QgsFeature(manhole_fields) - start_node = next(get_features_by_expression(self.node_layer, f'"id" = {start_node_id}', True)) - start_node_point = start_node.geometry().asPoint() - start_manhole_feat.setGeometry(QgsGeometry.fromPointXY(start_node_point)) - start_manhole_feat["id"] = next_manhole_id - start_manhole_feat["connection_node_id"] = start_node_id - self.update_attributes(dm.Manhole, external_src_feat, start_manhole_feat) - new_manholes.append(start_manhole_feat) - manholes_at_nodes.add(start_node_id) - next_manhole_id += 1 - if end_node_id not in manholes_at_nodes: - end_manhole_feat = QgsFeature(manhole_fields) - end_node = next(get_features_by_expression(self.node_layer, f'"id" = {end_node_id}', True)) - end_node_point = end_node.geometry().asPoint() - end_manhole_feat.setGeometry(QgsGeometry.fromPointXY(end_node_point)) - end_manhole_feat["id"] = next_manhole_id - end_manhole_feat["connection_node_id"] = end_node_id - self.update_attributes(dm.Manhole, external_src_feat, end_manhole_feat) - new_manholes.append(end_manhole_feat) - manholes_at_nodes.add(end_node_id) - next_manhole_id += 1 - return new_manholes - - class PointStructuresImporter(AbstractStructuresImporter): """Point features importer class.""" @@ -451,7 +396,7 @@ def import_structures(self, context=None, selected_ids=None): self.structure_layer.addFeatures(new_structures) -class LinearStructuresImporter(AbstractStructuresImporterWithManholes): +class LinearStructuresImporter(AbstractStructuresImporter): """Linear features importer class.""" def new_structure_geometry(self, src_structure_feat): @@ -595,10 +540,6 @@ def import_structures(self, context=None, selected_ids=None): next_structure_id += 1 new_structures.append(new_structure_feat) external_source_structures.append(external_src_feat) - if self.conversion_settings.create_manholes: - self.manhole_layer.startEditing() - new_manholes = self.manholes_for_structures(external_source_structures, new_structures) - self.manhole_layer.addFeatures(new_manholes) self.structure_layer.addFeatures(new_structures) @@ -627,12 +568,11 @@ def setup_target_layers( structure_model_cls, structure_layer=None, node_layer=None, - manhole_layer=None, channel_layer=None, cross_section_location_layer=None, ): """Setup target layers with fields configuration.""" - super().setup_target_layers(structure_model_cls, structure_layer, node_layer, manhole_layer) + super().setup_target_layers(structure_model_cls, structure_layer, node_layer) self.channel_layer = ( gpkg_layer(self.target_gpkg, dm.Channel.__tablename__) if channel_layer is None else channel_layer ) @@ -739,7 +679,6 @@ def update_feature_endpoints(self, dst_feature, **template_node_attributes): start_node_feat.setGeometry(start_node) for field_name, field_value in template_node_attributes.items(): start_node_feat[field_name] = field_value - start_node_feat["fid"] = start_node_id start_node_feat["id"] = start_node_id self.next_node_id += 1 self.node_by_location[start_node_point] = start_node_id @@ -754,7 +693,6 @@ def update_feature_endpoints(self, dst_feature, **template_node_attributes): end_node_feat.setGeometry(end_node) for field_name, field_value in template_node_attributes.items(): end_node_feat[field_name] = field_value - end_node_feat["fid"] = end_node_id end_node_feat["id"] = end_node_id self.next_node_id += 1 self.node_by_location[end_node_point] = end_node_id @@ -851,7 +789,6 @@ def integrate_structure_features(self, channel_feat, channel_structures): channel_fields = self.layer_fields_mapping[channel_layer_name] channel_field_names = self.layer_field_names_mapping[channel_layer_name] channel_attributes = {field_name: channel_feat[field_name] for field_name in channel_field_names} - del channel_attributes["fid"] channel_geom = channel_feat.geometry() channel_polyline = channel_geom.asPolyline() first_point = channel_polyline[0] @@ -871,7 +808,6 @@ def integrate_structure_features(self, channel_feat, channel_structures): # Update with values from the widgets. self.update_attributes(self.structure_model_cls, src_structure_feat, structure_feat) structure_attributes = {field_name: structure_feat[field_name] for field_name in structure_field_names} - del structure_attributes["fid"] structure_length = channel_structure.length half_length = structure_length * 0.5 structure_m = channel_structure.m @@ -941,10 +877,8 @@ def import_structures(self, context=None, selected_ids=None): source_channel_feat = next(get_features_by_expression(self.channel_layer, f'"id" = {channel_id}')) self.channel_layer.deleteFeature(source_channel_feat.id()) visited_channel_ids.add(channel_id) - channel_feat["fid"] = source_channel_feat["fid"] channel_feat["id"] = source_channel_feat["id"] else: - channel_feat["fid"] = next_channel_id channel_feat["id"] = next_channel_id next_channel_id += 1 channels_to_add[channel_id].append(channel_feat) @@ -956,7 +890,6 @@ def import_structures(self, context=None, selected_ids=None): # Process structures structures_to_add = [] for structure_id, structure_feat in enumerate(self.features_to_add[self.structure_layer_name], start=1): - structure_feat["fid"] = structure_id structure_feat["id"] = structure_id structures_to_add.append(structure_feat) self.structure_layer.startEditing() @@ -994,18 +927,14 @@ def import_structures(self, context=None, selected_ids=None): disconnected_structures_to_add.append(new_structure_feat) external_source_structures.append(disconnected_structure) self.structure_layer.addFeatures(disconnected_structures_to_add) - if self.conversion_settings.create_manholes: - self.manhole_layer.startEditing() - new_manholes = self.manholes_for_structures(external_source_structures, disconnected_structures_to_add) - self.manhole_layer.addFeatures(new_manholes) class CulvertsImporter(LinearStructuresImporter): """Class with methods responsible for the importing culverts from the external data source.""" - def __init__(self, *args, structure_layer=None, node_layer=None, manhole_layer=None): + def __init__(self, *args, structure_layer=None, node_layer=None): super().__init__(*args) - self.setup_target_layers(dm.Culvert, structure_layer, node_layer, manhole_layer) + self.setup_target_layers(dm.Culvert, structure_layer, node_layer) class CulvertsIntegrator(StructuresIntegrator): @@ -1016,22 +945,19 @@ def __init__( *args, structure_layer=None, node_layer=None, - manhole_layer=None, channel_layer=None, cross_section_location_layer=None, ): super().__init__(*args) - self.setup_target_layers( - dm.Culvert, structure_layer, node_layer, manhole_layer, channel_layer, cross_section_location_layer - ) + self.setup_target_layers(dm.Culvert, structure_layer, node_layer, channel_layer, cross_section_location_layer) class OrificesImporter(LinearStructuresImporter): """Class with methods responsible for the importing orifices from the external data source.""" - def __init__(self, *args, structure_layer=None, node_layer=None, manhole_layer=None): + def __init__(self, *args, structure_layer=None, node_layer=None): super().__init__(*args) - self.setup_target_layers(dm.Orifice, structure_layer, node_layer, manhole_layer) + self.setup_target_layers(dm.Orifice, structure_layer, node_layer) class OrificesIntegrator(StructuresIntegrator): @@ -1042,22 +968,19 @@ def __init__( *args, structure_layer=None, node_layer=None, - manhole_layer=None, channel_layer=None, cross_section_location_layer=None, ): super().__init__(*args) - self.setup_target_layers( - dm.Orifice, structure_layer, node_layer, manhole_layer, channel_layer, cross_section_location_layer - ) + self.setup_target_layers(dm.Orifice, structure_layer, node_layer, channel_layer, cross_section_location_layer) class WeirsImporter(LinearStructuresImporter): """Class with methods responsible for the importing weirs from the external data source.""" - def __init__(self, *args, structure_layer=None, node_layer=None, manhole_layer=None): + def __init__(self, *args, structure_layer=None, node_layer=None): super().__init__(*args) - self.setup_target_layers(dm.Weir, structure_layer, node_layer, manhole_layer) + self.setup_target_layers(dm.Weir, structure_layer, node_layer) class WeirsIntegrator(StructuresIntegrator): @@ -1068,27 +991,16 @@ def __init__( *args, structure_layer=None, node_layer=None, - manhole_layer=None, channel_layer=None, cross_section_location_layer=None, ): super().__init__(*args) - self.setup_target_layers( - dm.Weir, structure_layer, node_layer, manhole_layer, channel_layer, cross_section_location_layer - ) + self.setup_target_layers(dm.Weir, structure_layer, node_layer, channel_layer, cross_section_location_layer) class PipesImporter(LinearStructuresImporter): """Class with methods responsible for the importing pipes from the external data source.""" - def __init__(self, *args, structure_layer=None, node_layer=None, manhole_layer=None): - super().__init__(*args) - self.setup_target_layers(dm.Pipe, structure_layer, node_layer, manhole_layer) - - -class ManholesImporter(PointStructuresImporter): - """Class with methods responsible for the importing manholes from the external data source.""" - def __init__(self, *args, structure_layer=None, node_layer=None): super().__init__(*args) - self.setup_target_layers(dm.Manhole, structure_layer, node_layer) + self.setup_target_layers(dm.Pipe, structure_layer, node_layer) diff --git a/threedi_schematisation_editor/custom_widgets/__init__.py b/threedi_schematisation_editor/custom_widgets/__init__.py index 197605b..a5e11f5 100644 --- a/threedi_schematisation_editor/custom_widgets/__init__.py +++ b/threedi_schematisation_editor/custom_widgets/__init__.py @@ -175,7 +175,6 @@ class ImportStructuresDialog(ic_basecls, ic_uicls): dm.Orifice: OrificesIntegrator, dm.Weir: WeirsIntegrator, } - STRUCTURES_WITH_MANHOLES = (dm.Culvert, dm.Orifice, dm.Weir, dm.Pipe) LAST_CONFIG_DIR_ENTRY = "threedi/last_import_config_dir" @@ -187,20 +186,14 @@ def __init__(self, structure_model_cls, model_gpkg, layer_manager, uc, parent=No self.layer_manager = layer_manager self.uc = uc self.import_configuration = StructuresImportConfig(self.structure_model_cls) - if self.include_manholes: - self.import_configuration.add_related_model_class(dm.Manhole) self.structure_model = QStandardItemModel() self.structure_tv.setModel(self.structure_model) self.connection_node_model = QStandardItemModel() self.connection_node_tv.setModel(self.connection_node_model) - self.manhole_model = QStandardItemModel() - self.manhole_tv.setModel(self.manhole_model) self.data_models_tree_views = { self.structure_model_cls: (self.structure_tv, self.structure_model), dm.ConnectionNode: (self.connection_node_tv, self.connection_node_model), } - if self.include_manholes: - self.data_models_tree_views[dm.Manhole] = (self.manhole_tv, self.manhole_model) self.structure_layer_cbo.setFilters( QgsMapLayerProxyModel.PointLayer if self.structure_model_cls.__geometrytype__ == dm.GeometryType.Point @@ -210,16 +203,11 @@ def __init__(self, structure_model_cls, model_gpkg, layer_manager, uc, parent=No self.populate_conversion_settings_widgets() self.structure_layer_cbo.layerChanged.connect(self.on_layer_changed) self.create_nodes_cb.stateChanged.connect(self.on_create_nodes_change) - self.create_manholes_cb.stateChanged.connect(self.on_create_manholes_change) self.save_pb.clicked.connect(self.save_import_settings) self.load_pb.clicked.connect(self.load_import_settings) self.run_pb.clicked.connect(self.run_import_structures) self.close_pb.clicked.connect(self.close) self.setup_labels() - if not self.include_manholes: - self.create_manholes_cb.hide() - self.create_manholes_cb.setChecked(False) - self.tab_widget.setTabVisible(2, False) if not self.enable_structures_integration: for widget in self.structures_integration_widgets: widget.hide() @@ -235,10 +223,6 @@ def setup_labels(self): def is_obsolete_field(model_cls, field_name): return field_name in model_cls.obsolete_fields() - @property - def include_manholes(self): - return self.structure_model_cls in self.STRUCTURES_WITH_MANHOLES - @property def enable_structures_integration(self): return self.structure_model_cls in self.STRUCTURE_INTEGRATORS @@ -272,8 +256,6 @@ def layer_dependent_widgets(self): self.create_nodes_cb, self.snap_gb, ] - if self.include_manholes: - widgets.append(self.create_manholes_cb) if self.enable_structures_integration: widgets += self.structures_integration_widgets return widgets @@ -288,14 +270,6 @@ def deactivate_layer_dependent_widgets(self): def on_create_nodes_change(self, is_checked): self.connection_node_tab.setEnabled(is_checked) - if self.include_manholes: - if not is_checked: - self.create_manholes_cb.setChecked(is_checked) - self.manhole_tab.setEnabled(is_checked) - - def on_create_manholes_change(self, is_checked): - if self.include_manholes: - self.manhole_tab.setEnabled(is_checked) def on_layer_changed(self, layer): layer_field_names = [""] @@ -309,8 +283,6 @@ def on_layer_changed(self, layer): self.length_source_field_cbo.setLayer(None) self.azimuth_source_field_cbo.setLayer(None) data_models = [self.structure_model_cls, dm.ConnectionNode] - if self.include_manholes: - data_models.append(dm.Manhole) source_attribute_widgets = self.get_column_widgets( StructuresImportConfig.SOURCE_ATTRIBUTE_COLUMN_IDX, *data_models ) @@ -388,8 +360,6 @@ def populate_conversion_settings_widgets(self): def connect_configuration_widgets(self): data_models = [self.structure_model_cls, dm.ConnectionNode] - if self.include_manholes: - data_models.append(dm.Manhole) for model_cls in data_models: tree_view, tree_view_model = self.data_models_tree_views[model_cls] row_idx = 0 @@ -429,7 +399,6 @@ def collect_settings(self): "use_snapping": self.snap_gb.isChecked(), "snapping_distance": self.snap_dsb.value(), "create_connection_nodes": self.create_nodes_cb.isChecked(), - "create_manholes": self.create_manholes_cb.isChecked(), "length_source_field": self.length_source_field_cbo.currentField(), "length_fallback_value": self.length_fallback_value_dsb.value(), "azimuth_source_field": self.azimuth_source_field_cbo.currentField(), @@ -439,8 +408,6 @@ def collect_settings(self): "fields": self.collect_fields_settings(self.structure_model_cls), "connection_node_fields": self.collect_fields_settings(dm.ConnectionNode), } - if self.include_manholes: - import_settings["manhole_fields"] = self.collect_fields_settings(dm.Manhole) return import_settings def collect_fields_settings(self, model_cls): @@ -559,12 +526,6 @@ def load_import_settings(self): self.update_fields_settings(dm.ConnectionNode, connection_node_fields) except KeyError: pass - if self.include_manholes: - self.create_manholes_cb.setChecked(conversion_settings.get("create_manholes", False)) - try: - self.update_fields_settings(dm.Manhole, import_settings["manhole_fields"]) - except KeyError: - pass self.uc.show_info(f"Settings loaded from the template.", self) except Exception as e: self.uc.show_error(f"Import failed due to the following error:\n{e}", self) @@ -573,8 +534,6 @@ def missing_source_fields(self): data_models = [self.structure_model_cls] if self.create_nodes_cb.isChecked(): data_models.append(dm.ConnectionNode) - if self.include_manholes and self.create_manholes_cb.isChecked(): - data_models.append(dm.Manhole) field_labels = self.get_column_widgets(StructuresImportConfig.FIELD_NAME_COLUMN_IDX, *data_models) method_widgets = self.get_column_widgets(StructuresImportConfig.METHOD_COLUMN_IDX, *data_models) source_attribute_widgets = self.get_column_widgets( @@ -616,12 +575,10 @@ def run_import_structures(self): source_layer = self.source_layer structures_handler = self.layer_manager.model_handlers[self.structure_model_cls] node_handler = self.layer_manager.model_handlers[dm.ConnectionNode] - manhole_handler = self.layer_manager.model_handlers[dm.Manhole] channel_handler = self.layer_manager.model_handlers[dm.Channel] cross_section_location_handler = self.layer_manager.model_handlers[dm.CrossSectionLocation] structure_layer = structures_handler.layer node_layer = node_handler.layer - manhole_layer = manhole_handler.layer channel_layer = channel_handler.layer cross_section_location_layer = cross_section_location_handler.layer selected_feat_ids = None @@ -636,9 +593,6 @@ def run_import_structures(self): structure_importer_cls = self.STRUCTURE_IMPORTERS[self.structure_model_cls] processed_handlers = [structures_handler, node_handler] processed_layers = {"structure_layer": structure_layer, "node_layer": node_layer} - if self.include_manholes: - processed_handlers.append(manhole_handler) - processed_layers["manhole_layer"] = manhole_layer if edit_channels: processed_handlers += [channel_handler, cross_section_location_handler] processed_layers["channel_layer"] = channel_layer @@ -646,20 +600,12 @@ def run_import_structures(self): try: for handler in processed_handlers: handler.disconnect_handler_signals() - if self.include_manholes: - structures_importer = structure_importer_cls( - source_layer, - self.model_gpkg, - import_settings, - **processed_layers, - ) - else: - structures_importer = structure_importer_cls( - source_layer, - self.model_gpkg, - import_settings, - **processed_layers, - ) + structures_importer = structure_importer_cls( + source_layer, + self.model_gpkg, + import_settings, + **processed_layers, + ) structures_importer.import_structures(selected_ids=selected_feat_ids) success_msg = ( "Features imported successfully.\n\n" diff --git a/threedi_schematisation_editor/custom_widgets/ui/import_structures.ui b/threedi_schematisation_editor/custom_widgets/ui/import_structures.ui index d9e4ca5..b316bab 100644 --- a/threedi_schematisation_editor/custom_widgets/ui/import_structures.ui +++ b/threedi_schematisation_editor/custom_widgets/ui/import_structures.ui @@ -122,16 +122,6 @@ - - - Manholes - - - - - - - @@ -235,24 +225,6 @@ - - - - - 10 - - - - Qt::LeftToRight - - - Create manholes - - - true - - - @@ -265,39 +237,6 @@ - - - - - 10 - - - - Qt::LeftToRight - - - Selected features only - - - - - - - - 10 - - - - Qt::LeftToRight - - - Create connection nodes - - - true - - - @@ -394,6 +333,39 @@ + + + + + 10 + + + + Qt::LeftToRight + + + Create connection nodes + + + true + + + + + + + + 10 + + + + Qt::LeftToRight + + + Selected features only + + + @@ -413,9 +385,6 @@ structure_layer_cbo edit_channels_cb - create_manholes_cb - create_nodes_cb - selected_only_cb length_source_field_cbo length_fallback_value_dsb azimuth_source_field_cbo @@ -423,7 +392,6 @@ tab_widget structure_tv connection_node_tv - manhole_tv save_pb load_pb snap_gb diff --git a/threedi_schematisation_editor/data/empty.sqlite b/threedi_schematisation_editor/data/empty.sqlite deleted file mode 100644 index 9365487bb1e25aa08717404731e6cc7ea39f0889..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7168000 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

A|zrOx{g)Dx6H|!MrF=4biI~{WxmQZbmI_B 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�{2?>EwqTtHJW>4Vau8x*&($U@7|>ER}pUSSq~1GHY@YH&{BRlOJ+OgC&pu zufN!qzvAe30OJ2a>`?~edlZ$e#i)KQM$MNN16|iVqnxS!uO`-F9Mj2^K=9o@?$gz6Pt{%kX9E@*%3cKe_@%Nl5`RX}?7H+;<%ak02 zH9-UCqXRu>j_Krw9MW^fOzvoQNSI?Qsd(N^ZCvnf2V>gxVl-RE%ZW#kWy9A0-;Bw5b9{1CwicuNwHP&DS`0Lz^1WE5doew+7UP&s zPRNl|-J1V*^-Y+ZH+4Y{yXQ>z_nfKu>N!(+&soMkM^D^y=9o@?$gz9Q-iXP0V;AJG zd(L!!&zYL9o->vAoMlZ8*7&>V|94C$Kje7x|K3~}`oiFs9ejM?&C!t&zkiAkJ!&Koh_{68N5?_Olcf7A8w4nQ<> zH}*7l$MrOd#Pl=@>eS4Sr-9q%(M+b%jFP-dlbTI#GR;TVr0~z znIB@{wmC7G5+f(?&deDxbRJ;o>N_zp?~F~1#wG?$pv@668Yd>(Xhu#xeKu#r&^dsm zt9N2z?u<>0%q9j+p3M<4GAAZuVvZtQ8^9oN&S zY;8u(sWt<*&7+x2qZzedv>DUZW{Q}YVr*jA+Kif0ZARtV%!zFGW@^7^GbWt}Si1Ty zOw7CD5~CQ*XhuO3X!8@zz-@CMlc|qU68E6xOwBZD2U_XsJ(!q#ViTjXi9wTRb3}~F ziOJT-D9NYJ<}3a;z4?DU{@=aGkpHIZ;T?eZ|2^2#yeF=w(b(FImQ!s8ZkzATGTobL z{i4m7wl;GgCg#4_#IUs)EvMRy#B7m11w#=7ZY=DY+~3wW?D{r%rt@f zm~5jNtzUY~OuNTy7!xxbml&1ZW2WY`#|&iAbDE-t+vdP!3Y^|2DQZoyMV$vQF%QHhhMl6;bDE;od5SvY zFi7u{6tyN0QRlVItA_|N>V?{+SvqRt(BsGEO{Mry@$uD-Gn?h=YPq;D!!0do}A6GQ9HlVFqAPk?A-gm&Ig@`-HhiV=%d3UN5&UU&YT){ zZ+KBOO=WR%0sbPK8!&(3=;Yk&^pR7;a0^AzG~g5tP1X%j)<-1MD8YbuNs>fC92svL zub>Me8G;q^h$c!Tj2t;JH$5{6e|)N5sZ`IeE}a>Mm(~7@43oay_E?DJ$_iW#SC#~r zAE(NaDXHY1WjW-jrYMoME#whJ)9Brun45iUa$;e6_V}scg?hQ#c&SovR2FAo0!n$K zRv$*aDlidcbz^h6vRFI4SgWtDtXAPZ&=pIS>PEf1wg?kcR+m@H@Hn%P+4|(sZwQ>u zoGUd`mK8hxe=l|w?~Uy$*ga-?PJ7IB-eZ=vtLT>=Gm}mNEM2`H6LWuDVl;M-nU>QY zGq`Qf*Z5zn>vHTLg2Pc@)TZZYj@8SJM(up#>?`1K6x-oQib@?$*dnhB5{Vc?7I{rF z=p#LKH10j5>}a%p=`l0;{J(Be9sFAU4tVbXB)&@6)0F(HFT^JDsI`SIPL($sjnQNE z&6P^M2qRlewl-ttRGWd@=AI_g#FvR+zG{KH$Mlms?afvb5+KiD?Z3b?e z6O$=1MxSUiaIz=tw86)WU}8pM6T|K?GjiHvX7C=fjN^Z!PkPKW!Je3T7!z|iHZklT zGb5)xW(Myu%bJ)z=`qs;(v^7&gf#mH6leaw;zc<8JN^#vcOdK?*p{wJ#LHB+-hSyt zDo9Fky^JWZg&BCfc=+rXIGc_l;}~jj{FO;c9JhxpKNe^tg%nQ?bkA$c^)0CevUB-g2Z^?%nubq$iw}u8MeX zCdQ@4WNR~KPPG}hZH`Q)$e4Yi&1izHW(t@XAvQ7W9y2qiJ!U5FG0QlbG5e&)OcU&h znGa!N9*Rv2yT{DTX^)x7d(5&XrcZjzG=X$wTJis(!qCqRUOo8Sz@e~shyRSf1K0aI z05QLYV}32JXAwoV7z2;zH0FmJ=K)Nn0Swqezr_4hkCCpbm>M-cHEcmf6mzP`z>RTg zvTb69x4d7dp_4MDs|uz@iA{~b?y3}poVHcMjd5x+rbg(O#!8VkR!Uc8OpP3$8g^%; zDCD%Y5^juBlQlK{(p)K$=1Ly_U+bk)Gr81boLH2O$3c0QN2)i0xhE2u()Lt0n_C&g1`Voe(5ihXn&b>^V`rCfi6x z?-xx*w&(v%V``@3Qxl=d=y}y-bgs!{y(iQAMU#>3`F}?-HAiDpqeb+ZX?g86gB$0* zCR<;l^-HgrY|sCj!qiN~rzWD;Ov`JpnZ|p~vi3Dvzx0~P-u%D&toi>R8Mv>zsEA+9 z-+}&r2ey@~$1Trt$E5~6@9%hQ&!Q_&9X?mDy)d@1Ua2n?53iLs7KJe=_+P74;hRx0 z$HD(od_$J$hKv|PpUg3rsUo9Xox$A9#OFqj;wG=<|GLh($+jgExapVrf7zb@_c)GZ z9*@n95z%XAXqY|sBYhN(Fgn;Jc$*G$i^v*FZa>umbS*Ld^) zMhZheGx$23|2NYA(Hwt;{2fU44s4gM&Jho@v~}C18qEXDc^<}8iw_m$(dEiYy;3Po zl{XvzKYQ;2AK7&t_F$FWByKUMgeZ+N| zCb8Ro=bZcc&OP_e1DHD(;2G&B%>wrh?!EK<&-eaLedJtiZKYJpeYILCk%H3d>h=2Q)mpJ$&z)&hZ>-d9eN@%+x-~qaXobA(43F4K-Y|y?2m%2-0ZXC^OuG?xN4D2<`_f6Pme8JnD#$uQE|u* z=g*&=n46t?`qI!ja<$bP^{Y2?ilY~XhE2_~Roxg?9XqcLk6ll$Wjy!QDnb$aV@Ot~q>RW@_Qm5c@jd$b12u zYeQ2V)qrc&HPJOV3LRP}_)y)yhS_H)#uuh$XD$sb)QXk*tEF1Kv^Wi+onoU}8$#YY zgnG)2wdK-c_3~o1R$eJr;5yI|OQlMqR$N_#&`^1~T!i1NT?YVMsX?EAxwr~fSE<$- zSIU(Y`q$ZGxmIe_N<+hn;8vXidwydtOo61#_~*{d&MlmMX_)zYTlCp# zi_Y$=rlFl?`rEUZo7uLxv6L3vWVqB!a+5YUho{zz^qR5xf8hWBgVWzR`Lgu?yYmd? zS?`1=06hSoXFBFSw+`U*fsSeA|0`;eJEMi$G8HvL{tWD`J3KitJITilWC)-~ApouG zu1rsEvSXRKd6^5CnhPCJqa;!jZp&1ZEK#FKYElgYXkB+@dUBH;YTOxs3z(XP4yY+4 zQWGu#fE~oM6Kz%?P%L%L@K9>uW(~)qJBR^za+4iuXunzh?Ri2?kfE7xpBg6#8Z}%2 z;ADsyM%%JOS|izkuzrFSM^&6f;S+=;4-3#mtay zfqiwQJvNl0J*Ib^lkwyxGup*)=l{Kksd=#jYK%l`!Y!GKktJ%N5=MG4X;Ra5N2Vt? znW08^=l{Kcsd=FTYV<^E!lPytJxkQ+lA2T<8NKUCv!2{!hZ=YO-$hK##SW;^lBm(b zqh?{V(F{e*G)YaW)M#B#n)T!+JJiVefBWGX%FlQwJOS|kzl62Rm)h4ZYGOXd4CiCi zEahWhUtQ_Rr0M^gUFTywxyg)nG2HooFJWq4YM&Y}W}e(+hZ=YO-z7}Vr4Fb` zY&J8(&1OoLy3G{XZsykir_^p{;Ley%DrU0QZ)ODZ|K$FE?*t!K-edPq0Q~=#v37a6 zeeI$q=47mJP6m49vlCs0mVD{Sr0L06UFT#xxyg=A=H_IIn3`e-)FkF)%y3Rd%~DPV z_SKctq)Cn0bxy{Uo9s~I&j0%|rsm5XP?OkaW`_IB)GYOx!RQr9O{&y%-Dl>>O?Iep z`^*+GHH#fklh|iwhWpIaEcKbGvd=7C|KIGo&&-pX>`)WT|C9cI_nx6V^PTVn!2iFD zwaeuWv`b=6#t!FX)GXy>U|(Hnlci~s*VTTWoQxgL$*5V% z$-ut4lA2Vh={hIl$xU{sp)&y0x0f+B%Na=u<{Yy3WaXa+4YDV!An*GNz{70X2y^87G{R z(Xy12fqiu)HK|h5bxy{Uo9s~I&i=cCskzbtHHp1uPPo@h%TlkICVS1&^<X7X%ThW9w$znQOqxy%$O6&~ z9dwp?f`iWQ=Z;L4yCc&z%+0k9xJk^%!0_qZnX98v0q`1Zk*Q@VA*0EJOu7ac$O4l4 zPPlOe2c6$fZcIA;Pk(zAbF-$cubC$}+2O|RHM@%a z|EnEvlh|wKgnP}jEcKdcveztKY@Dup%{;lu4mH92zuds!Z=C-AlP?_09YzmM-jjR+ z-97>E{%hD8tF^CH^u%0@qK1<(dX|zgx=hBTt5!f3kY4D(i}3^po!?I{#-iC6{q0vU zH?OqMjh2{=QIv2xM$1w_7eO>zJGC9dMJ_XQn9OMl&r- zjb@r`G)tSCt~<>^D#uJ?E=oOlc z(cfOf+^luLO=31iQN!sNJxl2rU8ZAF=0@#0AL9v5cDSLl|Ma&Tn43li+$8pyDQdXU zOwUrInJyd6(&nb?PBTw%vcnDSG}GU%V{YmlaFf_+rl{doGd)YKX1Z)OOPiand(Aw- z$qqNc{6FdcA8s#J-d(p(0Q~>2V!iU!4)jWLK1L7cWArTLV|1C1Nm;MxUFTyw!O4tX zvE6*kP0Y>B4!B9q$LQgFjGm=@j4tyrX>-$cKE@NA>~KS8|LJePhPipI18$PL&9rd0 znVzL?GhKF@rOb`ib+?%(IN9OG?KZoCxw+8+H_6>*TDaRx&r-LUF1yXr=BDdzGf!|b z!;KZp|C9cIxBj6#?{Gf>@c+Mo^~yKe*DFSHKE?>=V~i~2V+@&(Nm;KLUFTyw!O4tX zvE6*k*D*I=?|_@+e2fv!#~4}4$H11la%x7ZQ!|XN^D&;_WQQ9%`%i!SYnYp_b-+z> zznKy4H#4%-Z)V7Tv$XY1*ZpRm;ADpzx8Lk_%+2fVbE7Bso9W?xGd)ZFX1eS*OPL$J z>wYs&aI(WqF#k{b|A*U)m3PvH@7X2n;BW^H#20vS<2iP zUH6-Lf|DI?RylxGTC|V(JJHsQkk~hrZ0{Kr~(S}C~c@=EDwMw~BAH9}4 zQ>iX4moC@O&&@tNK7VPblM9!5%*j;qn0D9s7}HJUWkj!Nn&Ze2f*& z#~4}4$H11lGXI|{H&)mA7*B9A!i{P=Z2sTQam>y4cEC+?znK;8H#4%-Z)V7Tvy}Z9 ztLuI-yb#04zl9L^B z=@@>&!p^^$rDiizHk+kRPS@VQCpp<6hjyEpJ9lAnHaj3EvD*yD z35T1_EVY}NvfV6oa=MN;dyK63@>oel9yC@QMuKFoel5YgL&C*n-?XS7gPn1 z6?;roBrhrR(sk51TfCS~F#k{b|JbXO|B_Fjy(a+v|NF4M`GI!zjjkr@8y$6PW<}q? zMN5AsRewhBzEhJ5O?Lc$nyDGyc`xSWPq)j9<|Oi>p)Sp=@B$Ytc}bNQt@{qmjPXL} z0S@oH2lMj%ZS!I#^Ma<&W`-A2@{+DUqjf)dHe3hWPS!NTKY4o`ZLC1 z$vdzHMHT`^&6M_Lo_*zbtKD4oiQT;`Wz4fO+|I?ebzK_m`QO>@S0hmiAbx z_LzBC`pXnK{}20e@?Y`^bovCq{~yBo<}bFZZ=B@(jFZXy3|zF-H>v6y=dk2wR5w5K zAm-&Sw9AW~oS(5XnV*4+mb|3Oi+xz~GpalPFNb;gp|*KR?k}@5*BQb>-2X{E*~qr zQ++vk-|`8x^8~=>{~qk~|J8Q&i=reaWZ?Ii^!eekr3;g)3j>mHNPK>c=41*xk6~v1 zqxP9ePRb}sCbKedS(2G_+nC{z9};F%I`^-z^C)KKue8lfA-Sj1jC=y%|L3ue z`N_6*jGCN~QPfOkWZ<%-j!9X^sD~vdqtTp9VP^z0^Aqhelbn=M)J$e&;Ibq$X)|+J z@-iBo`&ZZ*#?1V9`^+RamMLl`JImm*Br|CEM*g1ol`LVW{QIea>6eW}0 zWpG)NnUtAP4oiQT=FR^*G4PWl|NpP<`rxtOhqoDif%m0h!v99wgljD#d|Eamd~n$^ z`B;CHaqY!4aTcdX- zX=l%0TPQV3xyN%C7N&DwtyW4o&6+=Ry;l9o=vw1i?hN_Ss0KD-y}H)8k~>pcUA*wcYpBd|_s4;nL7@X$204Bl88t(hW^@R6}tbUDE`oItm>XA^45%U&HLP z6XOe0vomn-wPL0IYN=K)El!teOT|XDHiRkxR*Q{tV{N&#SiQVht(8~G6}S#`#8Ro! zs1;Wiua#=$<#G{zuO&4R6!MP4RZU+muEO6h73+<1Wo2l%jm{eo19v+p_JppL8Z~%8 zir}uD0(+EWFHC_{On84}Vr+ilrD68NnQEQnz)J%4l!DUJB zAZ7nwO;QcG2CZ|g0D7rIbr4uxU7#LWC`Sd74{)<&3vn42uF)$1eYYHKT{T5fzg zr|2zuX7p_K%)n(!X3~w?>W8IgMt5_W24?1Ow$Dt9o*6xxJu|xOnMpfpt7CuV;LeuO z>8#Acj*gl6nYNkHTJ+3l+3cBt%a(d3T|J{6mYx|f$X|NtUhu7sL)*XX|Id(2PVrKqs`^>cHbTqTs>1fJM$JCiQES-)z>2zfN zf8NXg=QHSX$xD(?AR|v;L){r?8s@$`b=nvFAGfVxEbAg`7;ZqD=~C_tw57tcHGqbYUXJ*Mhv$Xwx z>#+2h8KlpQ`Trjs82ruCZ=d|qv5#iN(UO-TpFrQAz{V3hlSH44t$%21gnIjbZ)WUi zTYL2E*xbxx(6&6bT70>9t(YStnFPMQR>(u9#dYs(BX4Wr7uoBNj@uy{F~0^80O&4< zSMJPB78YP5#3twFiHqY+5OZgSwVE6jf0=<-5<13jD5vN*Q1v{oxF-CUe2 zT`tv1m8H_+OsR3BTDuzV@Q2HT)_&VC5w)U%rrK+k@5Dl}k3JQtUi(32@x+3+r z#oxb%J+}Ch?;iQ^(HUbSyhxzqvCr=c3Oa(T$YkOpIHKau2J3vfO!vda44RQqcb;Ju znHMkn^|mcC({2$j%WUdj#>>)mV@8z2ll!Opn5jDxn415jZE7r~1vQy1GLzJ#P0it{ zGNWB)>dw=cnqO<58od=YS#|#hPYw+J>Eg7mj_h?@pJz0Qm$m z_5?OYcFwUlz=^Go(Kx_=8giaV9H3T)0pP{l#gaG<0CoLdl3&sC7A?PI9vuw`xbDBA zX=YE{|IpP*_kU=3C~3a97lPQU`;QCw1}nXBA1^E2s(;)`>EInj_8luZ_-4} z6FbimU?$h!>jut#Qw+>F8@w)xorRfE@{VHqFIpzU@JWdr_cA3s*?|X%L{ha36BGd- z{;+=73jr2h!4Z8Th>riWccz%idGFREROS4AF+p*m=P*8ne25-1eSF9@N_Mit4w8q% z#SU#Zdu-<{W9P`${gj>G;Mj4~HgV<}7-3%0#v&OUFHaLP*34e#YRI)oW>R7XFa82! z%?3F@3Zg4hjR_6<9A?b*NzwT8|BifaU~u--Pn7oD@zbyY3|0j>y}UYClrSk-L&>RmW@9bH!^fmuij0@oEJG^#Q^eQA4)68c*)gwBwvv?!rwUPVgMClq!r75oBhVLeW(if{#G z+yheSy+~41CYAf*5e?mv%84KPOfjjPT%t2Nrxp}*dcgYg|Bjp;7(9RKmrlGN-pE&1 zPhfL$XP&tbuWVnU3*YbHg^%}`&FI>vWKybvse3Y87CP(_zE5)I(wvBeoA8o&uEI)hsbS-HB% z5eaOV)T03w$scS!x--X6etvtDqWoVZqijS`HuAdI(a`e+u^FRQOvWLNm0767aDz|NmkW?aW=##{F;@vC`0+1%@ z_}U!aInRK+;06GGI~hnV3Z$La1v(P)VOG8%(5heun_=at(zeS!0IEqqQw9{icZ8A% zN+J&EpeS#|*yV(-#Ti6_Vrj%G_dxLK&;J|v*8_uRPJQe6kHMRF!fR9AxkwhNC)ZcD zC#lu&UvZ06wNfc9HOfnCZeMpOT@UFNTd)eLqwotz5HRaOFW^jSkn6L+M{*r=t)Sb5 zLf$Np4sg=-4e2Hb+vds7_cKljX=U$j{ zKWbNqk`C0a2$LR;uN4epau6fKfj#OAuqLQBxCMmb(4*X6ioZx@v*!GWOpdJtRiiGqr zl+_T0>iX}%xcd(P(TY>T^xNqZzV3ZUfKvvT69xpt9snlNhdwLHIdK+vDpPQ%+$-2LJ6N=@+4gQ8vDLRwgSM|%OSO7w zaT+$)DmJRMHd<(LU7bMXaMFN%eGxhiw)!%zef;@-DjeN-`aL}K? zMsa76#RZ(LS?ZYl_gER61yxWkqk#-aBS6g%sz3{DD#hRufx&nfk{^VQQsSt10~hvv zls~#~sVLG>6udMb4@00fI2mcJHmKyFPvta+*9dWbY;J6NVqs$L(hxf$$l<2hIcC!# zf6wlGi9z<@78{!IPvaqT2PPoM6dR{!!;sPH3eWON8!U+6$To-$+aS8Kz<3Ej2nfN7 z6jdx0S4)eRi%Z1f8)mNVfuqSC`1cZv0(b-e{yR+5WT{$PfgwUMu{4d08F7PWI_?UL z4E(b~^9%O1Av%1GlA&~zlZIR91k^yx8o9KHGLaX94&XEqlO4ekebPj9;GezoMa<5B zD`qDqf)-{6_fiUmW%imK89Ylbc-96xSRPuNaso0+F#fb$S%G{Hl^wwmePYL-|9A9P z1_poe^lK*{fj9CcpTI$S0vj*yERn^3bbWGbiu(G0fEWL%<>HlU+!lRM7EjE@;N@FU zio&5EIQqJ!nU=#|;ZD#VBqoE4m-bXT_7o=(c*Pf3SDc*S<3-jLkscg*=1i=tsR^21 zncjJsIr|T9eTGu@`g5S~#o80hP7r8OghBJhf9~K;7@w&iu1@pxmJaJW!}yEgU_AQno-_xx)%l z2}#Ql1?i!LzJ26Wh)^;>CeT5c9~L>o3Mh_nR44$WU?6y4`;H1m7$6uFZIc#6WY z5u$uNwPZk5fER&IlOZ`pAU%e{-#u0@LWZ!}cHjx}=l>nu9T@zn)1?!C3~%I1K7sx} z0m$I5u!Y^r;Qw>HuurY7mMhhAJvJYL)AXU%Z3nv>;Sg`A)VOCk5_I9xsZYoA=(KyA zlM$>MMC*Rb%HxdXO&ppxDeYWlka?lA|0xEtxWq{;WHz@i1b8Q&EoJF$=nVdkdHGte zaw=s7=)Y{w84~)Ko9}dGO?4jIJ7_i@93un27mnY3nzXS-pH4H0+A=MIkUvSHA^+qvf>>8jZ9{U2bH%t_OgV-w_y-c@EbGKZgW6^t>3Y_vUT`s;IFTQ)) zxPaS+OyCCgfZHJCR{P@mS7>^g+jnMvA z0gp4nEtYgGuLkulv}J|OPSe$x@yhUg$xJn#NF{6%Db(NC*J@%4CcOsoD*9p6G)ngdjtU{!Z8~#8F273I+|Ti&Q=#jXJa)`uSN${1vB+Oim5@vJe^)Ntu3aoY+xPK6;n)(GRBlY|L=%1FgSneJIDVWypgZ=p1|hlPL(W16YJNu zpQj4`|G&eCp7h ziaxSaVE|8UKTZMu-(vt4`_bgF5lg{)kh?KG z=l{mh2@{`+^*H5f=Z(4Sh0BGGdOCQ1fr{8M+9!VcSw4QmGp{jKDM*U(0$3> zKlfh>(T!27FkhXEb@^&FW|si2)-14#9d{dD57zxxu#8!$Ui+b5xvw3OAY>LD5#^7V z!kqB6ID-&tqrEHkN^GinHkkkS#K7Q}PyOzR?;d@kJ?B>*C7%F!0vnfh>SU=OU3c8( z`~M3s_0z?2r4(1A52+rs(gzE-6WM~aKHU7!gMd#A?mx^L?d>ID6v2(OrQ2PFE#Ms29n(WEYoSL@j0B76pu zOmTD-fane;{KaE91TYbCK){IrLI-fJNVaP3?E*<`Y#!Trg|IWZ{`mI&l%0Qt*?F$I zR<6?&{Cst-aV4@{8QH|c3+cg59i+dWR;Q^H9w*y42#ZlmD5FtcIaTNNMF4>q8YZpk5+2%)gt}_g$w%Hyr z|7RSAG4TL3s>N6+PeEf1y%-YsNrh3u4G?(xaEqoZiGo8aq`IBXRZZ0|rx}ji&Z`93=hw%#SwHXp%^_Q? z*NaP6*6O83qn?|puNEuI5eEax>P392qwot=3@(hta~%%|fVf%7o>dP_3vNOJn=-I? zu$=%=A_$0%C~~Yt2FY5BGYF)d5TY|UNWB7{tT-Mdv9X!oStE>ISf6&)>c386ltih- zl!8qtfRR!v&PVDYN@?c|i3o&u4YTO;+Rx&AjH-7p64uPY$~V@CVdX>)p%*=a!5WrD zthG5<+ZZp)1T?+!e!D=2`Mt8!AjCSboAX`N5dI^c*xF4YqmZ`MNo5_23qW4jvvi@J zA|?cGxt4CvN&}{g>|!N^=|aeT(=(ebWQvB+?rOdR7&+~qnH~H&n#J8T4HOM zGD`d_e{loXDW+$h9O8E929?F(DL^d#xvy3Sf9-OuOLwi~7A3*z=CoH|Ol7PMGXqN> zUO724qmAi7Od?Y>GZdPUPFEmAX;X|JqJ%jiLoK&JS4g$0!O|kir zotp&OiFL18=il0Gd)5tiz1F1?=R;9dW zE+CW>39SC2?2)irQYB9G3_>f&V-lgvhk%H8R-6dhN@wl7M(CVcUvisu{+}2+V~t$s zVD;4~>{lp=xPcng@)|!d%FSDeVKu#>H2YqLHNyil24%36WBPr^G%{U#@9cwWzhi1 z|HrG2dcC?48=VU8__H9jk<{s-1ZOKHZ0`wb!qHaS2pO=v$1m!zI;f)OT3cHyMgh0_j6yjbjwq>Q!UD5QlA>i@q+ zNScJe9jpKUW1b{00TvUvGx93$^s~sF7Oi51Uyv|CC>6%kR9eAx8M^C7a2+SzMGA`> z-X9s5Lqc^}&f4+)IRQlQa!M|f*)V_p-_h?54F2TlmrvdeZ{$lpfvh}%jdJrCQ63KL zoAgZ*9JuEgRvt5@mutoP)nc@^+ARTtGEK-8(;T8TvrkYa$+yTE0!6x=xm)oGq$AXTAm_gK%8Ht1TV zR!B!H5CK5;j=;9! zo0q|WkpLw{fuUL9$XkF?G&|$gx9(?~(oD&}R!LGiBxytdkkAWI;^hJzFG2|&z){pj zg2gYLPHP;xt&$82_$(&~OB28n^I1*^SxWF&IGjwRnnIc>8pQT1p!aW|0v9LgvAlSx zyJTl~9!q;fA<<~9oRWxY!&~tyn$shSbnt~Q<|2z6`2L^xb^lK+4;EjCAC-6>q z0-!|hAxdO&{Q=j-xrbLGH*(XZ*UC%PxLRo~81$qREL>a=_&6kYg)9&`ANbB zp=*_HPD*YLZq*d|IGkLx)FM<`&{4djLuE*CM1NA8Dox8g-n^TzG=1y!txwRj%-yjp zCAc|ZoJ?9j;Dy|xj?F&XU_L(5tx4CdX@ejl3P|2NwZ7W$WYQcVs*=15sGrkV{hW?P zCeDuu^8yXf;a8x33Qoa+1L>{=CV3LQRX@^?NzspK10F0FEit0ff{xVE_?&xy;VzqWP_guBIk}y48G;EC&{G;>;Eth0{Vce#IrXK^gV9h56Qcu(Q z{2j?v0P2yJFytsb;4AIBaT@#nlCbnxZvQKR}V}rM*Rwl$Ffsc`RI4jEFi; zCNNQ=s!OiWfM+OMHkU?nE*sA@?P|LbZHQDY!K|p&DHEy z>lpd^(J^AzmXoj+XMk(Viyk_IGs`p9sH>4Q!sdIL?_)epvb{R)d7psC8M5tQbl!v# znqOSV>tX~Q3pq7A+)t;BgA|tPbUt{^XgId6gQryQY{u*}VF`5z5IL;w{QFA(RtBbVkMr_2>T` z*&Y~NJ@xY^9)dUW)vqV8`GMw#$YMFRKDqrET`WI@7t7gNX{B0;vvNr2(%aGqEsO3i zU@$7z(;g(i71duRS&>RFsszKAFD;ssEgJmQw_Y!aK%liOy801|rqy6ovO=o3G!=a+ zw?ewYCpe@+-0pH^1%|Dp*dnFT-Hkrb{2=D?gF-H2%ojo#;}X|m(n3RbU~#Ow5pc=U zFFoW^S}y&tT#_~j6L}hKa%m!jqU;hbIdMd1a9p~=Cpe@}T$0qq=1B8C!sP_ik&RJ( zc^}8+)z#va>b1DI01N_Ck)rfK)wDbt=H&gB{Q_d>uw= zK>Lmf(L`jSq|OLTM+uuap>`-6PUxwP<6pWoZ&EgIxbGYp7J{YJZslGO^9D;BUKrz+ zQm)ZA+v}%JGaOFyBZSB4^`hI%@)67<%}KUMQ0n<`@D8OUgWw$(MhScml6^wR_88OX z9Z6o(NUsyV^dd@hy zv=8m+=7$NoW9uK=VwD9S#^}ynsV`k6={1zHmM0+zm zBYdS&lXk30yKA4}zJ3IZfI=b^=onG&Kamx55XTXdAi)upz9hGFfBxT*dj|$@oci(O z{|Mf^lV6+T%}|gx%~yUJb7-erdjH=QY7E z3Zp7FJC2;eI%FN#T8nqNdoUqea9eUA>UbgAQwb9<189{HEJ#kPy|Rc4&PgKr%%~j! zRsk=f=nQT(Ya_#u{={va<{1{6A14@(zj4?03dQ*2B8+1JR`RxhQx(QT4_yB zp61W|v0i~H0ZkcD9IzH3sT3k!JZxyZT&yiGUN6>)tE;8eMV7fj;)MtkGfCtQ9mav! z#{7R*7}EsNpZ|B{iGjh1Q(MP>AKu7U2Tx!#*L;X9W25UAx7j40hww6Xp;5dNQ?L*1 z(zHB@RWMn3Rp?s4S{GJ3p`Kwy@fS5ZbG=vI#Mi_P|G=l)ASeIZc^U?)yg^bk8XjKJ-~poC&8`EceQ3`YwS% zG7*rBe~{_Ys+){|P{1kmfg>IPbhcSSj{u&aB_tMp5e7C?<`zS251a)`EWIJgYr4Gh z-#%h&54>_>h(1<`E+?ORMYj)51nrQsnmOjpUvtsTVRSg2 zH=ZL1w+8_^W(KneJF`uC;OEmyILU6h?5gIMuFh_R)(85sV045Kdm;A(ip3bdqhwigMshGP=@y7cllAlKh?*WWgVt#A^7*1f11 z1OW-1lerdWfX_pO5go;?xNXEE(i|jU(4@zc%})_FC)TUm^E49iDa_{Q%e9qqr5xL^ zY{jK6aoZZrP_kwoGtSE)v-er*QVWyX11|^Pl%zFXS|NUn{9MG0z*-`5fsPUK3X#EZ z5*^z<(KASl0*fdg8C69h+93^$!D5@oWn37tn!d;K*t)2+)C*jBhyD*Ts#y8M(-H zyvXgT&4BynTN)M)ILYV7=EkNc7AEE{4MhzG;=E(|!=D*FgE;S4F!33jiP1(4W2%lk z&3AmH`8@>L+4U#4*(P}3!y#L$H*&rSEgnk_=6_6^0XHVv4Zsn z#AH`I?hYiY>9VR}E(B(YjW+;~vc_tCkeIdLnYikl{Gl^4PA5reY*d<$F*@J7eS#{~ z$CBt2JL-^_^=9Ibx*z7V1A;Vc=D7xr7eh-4L+Ok6!x!fxVge8?kOYK@5Jf6eEe<36 z;nu#46Gt2FtmdPHxGC7B;~XXKQI5DE=_FQ$5Y9(oN>V^a3uD1lK*=Td7u1H0oWYuA zL&L0l=A(y_P_hW14^V*?{n&OU39B`$(5BM$9 z9E8Cz7Jn8CYb=jLq)STw3PR_eAsS{M%fCwFG8Qf|~oujS5E zs*B5|%k}efv(JvtU*ZbFFAA<&IzJsdKix%R`F#gOi+KS{2wHPRk=Yh=S(r4TPhl%} z#h=TP%E$91N@QTJaMTZi30_vi=ZfWOdJ#?tAth1D z5=uxYaKxbtl$Zb|qLgN|&ZJZR-q#!<6iq_3?h#7S2uG10V2^Q5^n5{3hztRCHDQZ1fDOf5vlW3{9T3WnZTxwKnuq9yLfmhPf+s05c-!Hjbtv1MKY6aaM z9=ot`c6M%R;l)e7ZCNM~uVQ%Yg(-*}k;oRcu_ngm7rYX{DnaR`H%@GSlUhM4M(O-osn)3G=E_Ue9L%b5Q}Qs^I3H=GRBYjX$m%HkLR@I9 z#10-cVfTh`fF05<{PZL*RZ5*_!|OJokD^5D|_diq+2$gYbu2IF^HJ6{s9H^ z?!}%-{f$6tLJFCBR!B6&ToBQ-LsQFp7bz!KD;e#W(XKQn5dkFo0v?I(3`+(& zzKgIPlOpsf{g057mb#76W`XeZJXHC!cGp5YPwi)*pdAq~i-gB}SLWk}$7$7_3><`v zEk$LXkP6@&hUr0^!j7p7)sE)DgLrvi}(B>!Ddlr{f9nE%%p82l;l|G#yl(ZcnU zzut!@@aCzeMHa0W-?;xRmXNUUqBUMzEnlwINGCA((WRW411I{zyz54X_Zo17)lpEf z$PJ|O%ci)_vhX}X6_OT#kq-(43?CSG#@udJyW;%}e$z?9eXTyy(i4xnXK7Y+Y*y^a z^ydTwyWJvFL&XUYp|uZfuklq<(KEo>=LHz8y_~gg8YT%JLDMY0+K7o_>IK;Jh#kl5 z{tNTD`daPP(#>4h>n{|{f@2mGRdK`)0ZGp9*&(oK8suuzq-(+Y>u=pd0{~|7TA;+O z1uz3G6hnizerg0lX6__&2UpFJRl%#7%oP0IO-lGvhMyA z6*?+JOwdsrV_A%slg_)1>88&7{r7J@N!6t;=ErrSiLz{&eNysHDE-uj>{Iw+B}>_1 z2?++Lw+=x9%Afx?Fg!4L`jm3~33!w6dh=b)&oICB6K}C#+h;I*ybou_*{ZPZ32I98 zXUxIwCZa*U(0B*io*?r!FkQi-C#`zfab3OJmMC|O^4?rmEF&0Lk@ZR?2dTlRIZ9e+ zIcaTi2Jv1wF-B)_s`j9IuXLhawfSl0y?*npcT;uz>Eso`h+PqkydLJ8w7RpMF`zP% zSS$X^cV;z|3bV7c0(iG6SAdjP0FVj9nvi-M9U?{^iz8l2qGu4~IXOjtn@#}XrH(Ujpo@?z41*sHwJ6x8#?{|dSyD4AIx_|(wxkHed`Uz=ZUK1mjgY1n0(83Ipo3r4k4DJ?b1OKXj|r2!L5^jHUp!o!0 zeEy9G-@1<)`%mzUuU2ctWsfu7JXun3itx}b$;HD+^>0-}qjEeabV6PClL3la5$iNyvG6b8SZ;p~R;Nto#+t=tCFdDN4jI%!7*j2!x+S(24!II!Q z|De3NK9oSi({GJw_`cJQZ%^``GVh#>Acpq9I}u9sSextyP?05v;+QrBRRo6w9+%(w-_LFUn-2W@TJtG_>g>9+b(8v9Pl-|W zN^kw9AT&=?)v)O^;s{cNR`FpywTD(!Lm5`N+*wdg8&{cL86mf-o zH?seg$DV^K40^Blxa*eCr30OYOZ^0Dj*}7W-;1Dguz`AzHJ(5J@5nzN7~DGj{u6b0 zBVUK{32dHfPO=!l)E1jFHi;M3spaC8sy84deszT$ceq|7oR?J~it8<}x}}*GnaKt( z=3xlt2Xs8muN@CVbRTlHO=q>`gafaog0)vsbmTpVmRll8coFATTqWGppHNwm4JU)n z{QGG08N%YZ_0slxsgd)Hh{ceNE*b=u03z20lY}L!r0%`_!>|n9l4LTgOd{#Q40i?S zfeHf98GZHU1PcN@zV!;_a{}`@S*q4nU^Y)EiX|XaBV#xGP|M>`6xT!NSmh#HPT3)CUR$iq_78a<>uIkl*&jtMCm5(gF>mbKV79pzVR zKJ8&wrPw_!#xA5qT40BkGMEk&Xu@>E-X3Ukvo=0N%O z4jt!rPxD!3#7u6Vrbf)O80@Laa=8dwW3=!c;2R1sg;q4K*v5;q5%}E{K8z`c7xNob z-O)@P+zH!K!KWZ~JNw%KA-D?(amNsMmB)u#d7Oa|!OKYu@&H6mJe4DK6i1@!7^-Dp z7ls`YxDvKnP+?9o^*H+8y8vZBq<7)|<`l#6rENB!WJ-)<$TAoC6bMHHhrmN#MHolo z(FYE_<$Cm~kr}!nNoIz~#KObrOTkRBmSk$G4ceilpPw-}X&n4W^DKe$-1?ZClRC@6 zNpn)knv%;opoEk`D^@*SNjnah-_N!)2%_Fll+(jxROkjIis_)pNd?ACpfDAM$O=+` zA~i`x2pz?%NmC_LtPV)UTQL9cwSjy7=+x84FAltxman{dsX0sFUtBM`8(+<0_@|5Y zdU5H>TD{b0)M3A?RkHh4xZ*A}1|Pm|owJZxmm&N@75oBb3Iw~)S^l_@w4C6CTayb! z#|y-sTwxto*$I{gA|43&XqyoD!Mp^vIK!P55Ee~z2DhvnEI*hI1}ryc2;NKUSKqpq z`oS|vcuyD0l|;bRycvF2{r~}Z?&0<<;taD<_hG;luMs6C+YOElb)EOuN5+(McPKf} z9Oobc|BLRn-(**X(^{MUWDeTic z?6sRoctbz1Hw=JnUE@&vK%?uy~>10=P<8+mS(=X*0>U9 zb;Eb!P>;y_A4V+@Z00TRXY~JloK5nSf>+S@Z!=$=^rFRB;esFUuf7)EwB$Tx&N&G| z;0ZXVa)S;Mqt1zHi!;c;4^D>B8T<;+W(g`X<1?VU{rP`Kasz{fQ!gCdiUA z-|YH}+f&q5ndA9ex>8;#R)PtH(QPtyE$T+l%>{I*{ql?x2qlE@gbw<^>wtGIlhoUw zc|CZFU1SYfZi6{pj@*tUv11bV7!z!RNGu<1cpIDywmO4E4nQ~&=^V$*@i53J7Qtab zUfzc}yv3z>UrV~9^4JSg^OuH50=ZmS85*7#n_uuYyPT=k8dvB~XJ+RX&ccr)`!cIg z!A`hcXg*JUjP;w_CCcsdG2D&^Qv(I$f?wdd6*|;M3xa?U%m?QSRZa(57Jp41#zqKZ z3#QX_qgvZ1IedeX<&;^*qJgOsX<95W_;{gfp@W1X{Gvw@mO0r)XYgFpku_vS9{yl< zSRc8jN&DxT=b1iU+kT01eLjY3x>k_bfq-hRK8eHum_CM%eKF#CbjF}t#Ol_+x$UN; zRP7<9m(VQe8l0-yfh@y0o>>VeM=rf~d5S}?fMQ3n4tE4EvQXJ^+5ggV> zp8ffMN5TJp{q$WYz722WOFn_n6WI7l^CDUAFRkCdRi^9xMZDh6ly2mvORtre+L#`o z1yvVHf$iGp1wEL5B?$8Nq%bS?qUCDd@oL^x)T51^jH!U21ydC1KnHLOFN(Kjd^CVl zp!5IMnx7}MU08o;>vc-o=VNILRrrcZmcyulQ5${*p~iw!aNs}^Zd6PHUl$>bcKVJ( zyoD}X!j>J_u!tb4MA%WmK}T`y8M>lHS`}hFm_82PbP9Cv-}UAN0^ZpAgWGpe@GfBR zrmGd`W-7+`Gi2(m>%g#g5R}l_?uN`uQ3^EpPxG5J_(1&>$J?@`qd}XkBM+f#m5g=F z*xrJN9-o>>9H3S3t~DULZ?7`<&HEL z2y-O0#%5A2aLk2LYoQ`~fwm(_6hG+azEO+#GKQY3c?vj6$5A?*Di6^uXZF(}O48gg5f_&U^wJuQxA|)%bZ>joCO$g(551bFVg=I`4`UH;y;Vu`L^uEXi9!#eI878pdlq_kXx zL4MFN+&T=C1#Q(KBl6m`d;02t(7eh(^9!Ca^mXchd?5zE@gQF+t}_Y~2wUiK`IHEO z(2@+VpjEk771Ta~_y#0|nSqcK76h2c6lwusxaBzW(KkByuiSi*slbnIv7HWIjA1Yo z#1eQTP%)063(A}=x+ji@pc{Cj8nB0fH>$KlS1gH3hd5pg5Kkf{7}+C7Fb@EI2&eUQ zM^(7sL#(6USA|DA1dlaeAh2CnceamEh4(@fHaD>p@|{Jvg+txkE|G!jPYQ(GQURN8 z!o z-W-6}=4YFWWa*e+pWI%dOUEK!I%cn~!ZiD9t#-777LRa^uU}}W!A{YFU%>RdP>>PK zWD?Eq>E3q2`;hBL$Lq(QBKjKkGzII3gX?djae6W+4+|T1OQUB%WS^5ld=Ai62CNd)fAWu^ilyWI1J)v4Y$K zy`1DB7NfiqdO49qXB-fE3$)p;+WaD+cX9o7cWTcUIeNVu&~w$wO6#Fq1p%l)Z~?8l zR0l)x43x|i&;|%0Q_`8tHSh~v?|MjCKM_{bj zxK}8;D6yDASn%+o6g`8*6od(alGp5eZ~_T5hwymwWy0<`7!EK_*?k$aJ6kKQRFg*o z1ignUE*o@zL1u+U?G@M0P<=l`3AL{1CY;-G-%87}-pI{JhSO!369mkgfMJD*2Le3` zC9y_YSuDiG;Di%>DrbMNG@z5WbPY@>~E%p|b)XZx%7KMIo|*BOMJ5_zD(k z?2(5NAS)R75kVG)ppX~M1L|rokqvG}BAYU@SP=FN*;d+_Aj=7760)>Z28ysOZo_g$ zb{~-?O=+7iHor`eonJ4#b&P7+FLTIx>9*u?fnW_IT75H_#4^J#-(;pk6@%Xpycxx0 zgUs}@Z{gdL0H+Hu8>|_~0HR2sbKA1dKQQ?C zso~@I!yE6l`L*T>q5h>ej=c2{rG5odzfgLuSa-8?vWWjymzSAmpQ0W2b|je1US z5U)|f$(q24ZHqIAg@EN5UlX?`wA&@f5(&PW-p`U`{P<#hd4>`)+06G_j3)1}#^qEEd0k+u(bMFfZ#0+||5Qy$oE(hr@2LLOQ zBm}F-C;)Lm$B35zET9f&$4Owjfw-HAWxy(+ZEDlaWwHcJuU~ab z_m<Uv#*`mc=IA9gA@~Y6YfORLVCqm^#isCOYp`3tGaB~7= z4{dnSf?&I&rKM#~kGnIusHD88V3EK|UbMszK|w2lc!?qM*y1px zJlO8R%XJf=6$c)1_!Z;^TEMJ?V0P3_?1c7U4&R%^Ic1zVp+E?Bk25J)Z3ky8tNVg8 zwJa=13_>6?U7AU9V6)gPQ^owoecM$^b6G$$^MS>KzF~V#VfYUoX?Rz}(7v5qjIV93 z!&sBt05k=+?*g=kc5tH->~z5faS1Q>xUOXnU~}S$){CfS2bImq?Y=P1+ybcAaZ*>= zv>WfM%`4QUf8&9-?xT=j!H|d3UokE{pO^9X=T*Vi541P!z-Q4s6}Mi6!u&xrkA?6f zJ76&ry~lw)ne#t8J2$oPB5VY6ett4t+Bw<4kO^of64L@*@cVfgZE*&`&IvER4$eMr zqv+oqN1d5~p6bv48~E(N;QLOUKCZ%>4qltJW|gcQ7okLetsGUna$GFd$!A|sl&4HNR>Lt|hvfv}7X=nf1D%t^7H1GY07MiWb)c~( ziGVjxG_Mh?=fMqNn}T1%Sbx4;TPat{p@AGCsL7__0)wAz3NH8sMDn;Tp97DdOa*0( zYZ!9YT@!fxe&J919)CM}U3kZm_jGyZ#RE|%pq~g0Iz~u5C#HB!iJn1%^+^MKc>3A+ zS=Z7}n0=YCjG#)J>b}xkr3=CO*WDoit1$~fSPe!Ce4IQ)*O?g)!Ftqh?P_{p--=7g zwP3%;#XUax;aimCr%XN;4$NrxYq`gB3)4A8%gs!%#kX;-R9j+8Zei4) z!Vd?WaR&~&a|W0#<##9-M@`MLVG1}|uV03L7^b0s-PNexSgG6k=m>1pH#}ln!-{PW z7ubJtXVxm^Mt$^J?o6e+xLmqiKR-A7>^N*2Ex5X1-SmDrH2n0~!iDMJ=%L~H^JgdK zW~ZLMG&H_itX(bT;I9>Ok4{a_JT^4!U*NFnXnEZ<3oz)`(M;76Y(Q-l=#V+VZ%kDo zIqKo_b5qk3@Yg46rBdYvY`8uIcNN{q+Gg9-xOunb(h3|7M?yl{(hW^@R0DF!FpElX zs-viEEA7bk*t&lWv(HY9FHFtOTpH?XbCXsx^%a~X5sWj%J&fF<#)L$$>{X)u!`DiU z8ax?A^dKPWMjrVd_Y`+DnyGlAStBr9fVrP+FUlIWOfHt|OVvuf9P0QN`6$qtSrE7) zFqudd4jqGVBQa&%{v#l(=dFk08wo%P-L}sX{n_H#^2(LPv8AQ8T5;*-;#}!+saC2i zl@@18jT^9eM;Nrpx%r&p*agOyqFF$f4HHW&RaK#uPVj94TBJ2Z@EcPxsKECXE&mz< zwDvUlQ^$saz~pc+g;B?W1Q)QhVKXLr1_>^3Vkn^S;0^51=y<@#o39XpUtHJR@}O5j zq6``>5d87vmO=>j`b9$Ugo8Odx`u;-E4ISv5MQ)>2pfMSdeXZIg zTGMCO)w_nkzV6O-n40(kgUF4RQr)8{ zpj%j!6zWarq-oe5*Vj1Sd!}|?CevV71HCh%7qns1)?uu05FfpMZS*U}tHl~@U=gcv z@Kps!u%G)dOs-YdDl3cLPlHJ5Q|v+%TL+#XMrvt}l~)X+UmW;<)mBtnpi8Vmf$EZI z#M3l05FquhA<#0@5ZEp@s@pseR*w1J(qGYhe&c}W3}0! z=Fl6bw^&VaNr z-sYR`7%^5zz#I$DBx1{axzY$P@(MIn!jw>Zctk6}P)WnKh_3;IB;8CJkc)ggQi zo(5!xbi;<96dY4EoMCdXRUj>maZDxLU_cf<$kz$W9=IFAC3|BKc*^; zQmx`WFU0}pf~L|mNaU%GICmD8w*uABe+R_BhCnrR#TS*47L0MC(-Jrbj~e6D3KKK* zCwZ;Hq%Te0{P}-Je{Nv#Cr^LzyHoAtGV`$HLsqTT}b6rd8Z+*n&KEmkitR%>M_ zWhS*8oD84^I%;=ul98kn65VE3iqK!<)q$S@YTNSaJ`e@5Ng9ZH9TW9>SjaF@F`?Z! zqM+NGOY!(b^)k5H&oc`{Ct1T2>tsg(ahFqB0lSC8<-;QD4PGeKnS-Fq z!rn_LSz^G>5(u_XvPAEvjv50WLlU*WL?Ic#hzN8PCmBe|;6Op5j&h|4o!(C!rIBnU z5Oot1bu*r*7^@FG&0y{T>FA0hs;^exn6&y>bZsAX6q12fMDdb=km!J@tXX{;>E^u` ze7zF`-yr_~-#__Jj(r#2ruf=;VD|{&dGyxW*1a^QeTx+rjnB``KL#e}v=`VG!t90l zMhx01=!N#&3{F9}BP9b+^9p6y3&fco1J?@$URTnzK_r~bY7RQT~;&QoIS)9KP z9!PODRFgY@v)(9O3rFnsw2tw$vQ9fQFnd7tD6okqn4 zeZ=0?-GsNV-o)7af>#+3_0t5k0XoTKZaBLG1dmIA#~F&pw?cvjc+8Ji&p*#HKWgsL z<aCO{Kao=nHwDa)Y9&`msoZc=rzd^)( z?ADn(i&WgdaUNQ=s=4`M1^%~7QP&+1b?6O*9WnHvxFs%;8UF_ZIS(D<%Q*enBE3+E zT|-%1s2y;hg`B9>ehayK4N}P6w!robB9g5H|NrYm$b<6ZugCiT=VBsi$jJ|7eQ;4Y z2@Lo#>b^$Q&dG?{zWe`J29VJo^(_o688}>k-HZbjQG=>M&;KtC4F0pzzk2eAkA3ez zsR!;qxcMguwt<_!f&CcY&9_BSaNo_hG}82!lH(FwQ=q&;SM4h=>E;hX;af^>K9K-~ zE9UROc`63Yygsmd0^@NzBxvC%n3aqN-HkqNJS>SvW*m7dvf+Hxvq`K|%UTqSrcoc* zJ&y7C-WWX0L_AD7Rx)ioz?t##p`ojm+9Q}Oou2j}5^$KbhfZ^%59}Vpc)Sr3w6OLt zlJS84%k+&aC|H(wB)3$jW?Y#d0f!0?Vw8gKaTMdR9)pK4Uf}y4Cfy<|ZS4{A{X18!WAU^~hGA3yp>#Q*>0lgsc%zT^`)PoG6{YrT$_b5Hy&9XxgN38^HzHDO~s1~Bb zsMw?$n1$iTtH|&P(ps$3#yZw=1{Ess@;Wp3qdKMCYnOIc7he19%d6#A)=G;=8d~=m zP?(E5Q*Je`F&Qw-kHK43df8cwzT6;capK-CO5q zYVr=|ZKiZ1_f&1IQioxjS21eLW#JGr>FhU`F!~SAF7p^u!$VFj?;q`thmQ_6ZTpHP zSSf-9Up^9e5m)>%qL6ViS*|ppzr+`ZxkA=4ThZj_3sW!_g|7w>l!zI$U;1OarwCh5 zLW$VBDO+!1N%hkhN+HqxhfOB?;QlKx6-oO48S(##2p}03k%A83G*HH($8;nu`2Tld z|9>+E5GR=rq-WA9F?J*#U1*c8h63QRF#<(mwWCN55*~j3|A;&tw1&1{yATP&|5Q7=rbeqHm-gX7>@@^=t*w%c5U}wPw1I<^{3*5 zUW*Dn#Qu6A^qLgNNapCN21-iM=v-0-MUccGVBrxp=o#T z58J?7hK5FZk`YtzPm*J$djpf6Z?-kC1x`1a*an?!@Ctt3kuRRGWw7{GINv0w+9CP4 z#W5H_U0#C00N(IU8wPy@!=3ka6o6_H7p}j3Z~isxvG0vY1B$WA^)rN)*9OH&Ba>bvC=p8cx-zyUF=!Q5j zZQj5LMvsBPdL}-G0}5XX&yn9g-B*0*7=c%I-{+ZyY(&iu#F&L@)GSncV-~_+La^A{ zqjX?SfXvv_wkAiDFYIdf}&5)%w9EvuT3Hrw%Q|9LXkJJY4eb3$MUDL-G;jMi2^aRHuEab#jHeHXK zOP%~D1M%mM^FauHPR3K)VVU3ONRK-jx{vh+uxByjuE#Rp#=L`rltHrC4EEiR5^1+? zeeBK+y0riKxyffH>F(A3+O9@xrqw;xObh==AlB^HzBEUd^=Du^gr#D+zBsvdvsfvS zg&l1qz0V7K1~!t0t+1(b>9vp>hpJB6qO}2E*nNQ6FORt!4g9(B`AI0e4B0P6}k&d>FA z33snSN_Qta3|O=XV0HH+%wRd=8Z3Wya;>;rTCJ{KCkBh&t-&&)n-=UEV-AnN_MEMA zQptZb5P9x6U-*NcgS^9>(B8>=|HJ5}>Rv;y<^6Carz|i3f8vNTaPPkiUL+F!aIivz5Av4>_lK}Hzy$i9tqocR)&}nydb~F1xY)S|r9pjg;cdD*!SUUP zh``U@vbOG_0{_EPlQSUfrkXofs;#V*R!fzz*z0OU>~(N(Q1A+iy`meS8f|M>DQK;w zzU5yJWIuYSPXPRiSc2-Je-FLmz@ZHW{j~|bYv?ftX3tCHQs)4wENFjdV|R#fFnQ~7 zH*WhEL53_fH?wwiEqAv3YB3Cf6=486(-IJ{p;yI%9R-cH^lTSdP-t~&iFMU0qa$h|GSq@~-jAp% z872^Vd7bzpD&3HVHRCHL=o@}-0f;k)_7=b%w;zEf?nb<2)$쿏KE1_tf5z0qq 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%0ABR42PA8Q5(g1b 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

PV8(pQm56j+E+&q9llZL=wJ0#|X0Ivri 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%0Df{;Q z9f_ex>#a_~d4JF;M`==y#*-46_lIdZeo``#_?LL%KV?!PM=H@CPoSt-vLz-%q~Ody zkaC13ijtCfq5%1XIaS$&xF$YgJ(@q05p-bxcbaSm3x_00PXt7WU`Uomk;^8?mb-%hm8 z{nys{kex&Kj7_p2W{6Ul#=;>*=fn(7Bh!G1w;M27l&Pji}h2=p$n z@-~{4x5cv(nf-^m0%ZQnJ|Spx(oJOL1m21JVi zM2(INP<_sO4+xws*C45Cko`9~&l(^&&k2C2G$3jmAkmQlHCvGZl}83r)*$M@L(z1JXcwp@dxszLTYkvv-(L^07m<%IqJF`B)x81~F)|DWo7 z-h1}oY&mUG|GK;Ue-21!+e?7z`@)&OxT1HOX>y-Yn=~M13?O>6|4&UQ?>!)Jwp@dxszLTYo;+(B#LNFr<%WOr#J@WB_l|7l zraH>)2M^lKTVH(~akjW~&$SY+zxyJI?@XaK4qg(SxRr}~>`0TS;2r>#l$-`zZGkl@@u zKr%r?G7$%f9OM5}!^$%N37jw2BeGa? zd#{yo?*HjH&UEp)s1|^McIO!Y4NjPYmMUlmX?C75(#V{1z~m_!lc!=a(c>`jcRJ4k zCOXF?-5vi2>2sbnOq~4xleE?LWIQI(m1ILUCze{!?jDhXo(ys6jV&8Vv6PktQU5U%0pm*F2GZXhkd zzbc!X7n@^K3yT^!>8<*u^`@b~hxCG27*)iAK>ja(a=TV-HOIE{Cu{Z6YGtiCzcBaY z#NzTuyHoNOe0;=6;neujnHe~~zTLV|8sDlksw?GM=~TJ3y;TxT4Ti)l&YzxKn43Pe zJOZbaho9;BnfhvVty)r{@-?m(DJaOcDb`hao@EDunSH zO%u@~QkY+uo|%MGm}*oiwM*5N3nOrG;V&{w0l9dEGqcl6%Ok6mbvPW3EDEBosIp{A zs%V;uEHgf8ia3bE_>JP8!`zdT6HC)`v&$py;~Sw$E$c;UB3?t z`bUs_G}r3zB_Qn!r}DFvOGL(-txBU(cBEXDilVB4Sg7{Pk$SZ#8@eVN_6rYj6^bUj z1Ref?co6YWXo7>H$pC}{!}&_HS=sbxP&KtE$(jkbu_y?JUQpl%nrakAg`y&82EZZ| zW$2axGBGL^4PB7cf>IO=QEJZ(;|e`wykEN9_T;C-iz-)NG7I#TtP755xGR_4xcR$tz(lorwRudg@C7cW#-;<*V3h(-|* z#waK@)Zz4&6<3<5V*=a}8DkvbVMjzSJ?IRROn-gR`W;-GFJHOs`fV7x$2<`u(9LbG zb{jfd{qz$Tgs_d9B|hCKKf%zbM$01QWnPg}o*`-;!(Ja+v~oNxT`XUeT| z0}LBo0l>&VWMnNwWMXfL@8B$S^3X)hf<#=N+?gBilydzx=hJOU6p04;!z3CdP=r!jqh$hT? z$F?5mZct)6Lq+LAJ0lB}7pgnzweqsh!6Ry^QLZ�gI+mnyEBk=6t;oue$J)r&I?+ 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 $8I0YuA-q39Ta4IZTE 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�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 Wz#-rea0oaA90CpjhrmaM!2bti{8@JZ diff --git a/threedi_schematisation_editor/data_models.py b/threedi_schematisation_editor/data_models.py index 5fc96cc..d1be5b0 100644 --- a/threedi_schematisation_editor/data_models.py +++ b/threedi_schematisation_editor/data_models.py @@ -73,11 +73,12 @@ class ConnectionNode(ModelObject): id: int code: str + display_name: str storage_area: Optional[float] initial_water_level: Optional[float] visualisation: Optional[Visualisation] manhole_surface_level: Optional[float] - manhole_bottom_level: float + bottom_level: float exchange_level: Optional[float] exchange_type: Optional[ExchangeTypeNode] exchange_thickness: Optional[float] @@ -90,10 +91,11 @@ def display_names() -> list: display_names_list = [ "ID", "Code", + "Display name", "Storage area [m²]", "Initial water level [m]", "Visualisation", - "Manhole bottom level [m MSL]", + "Bottom level [m MSL]", "Manhole surface level [m MSL]", "Exchange level [m MSL]", "Exchange type", @@ -181,7 +183,7 @@ class PumpMap(ModelObject): code: str display_name: str pump_id: int - connection_node_id_start: int + connection_node_id_end: int tags: Optional[str] @@ -248,8 +250,8 @@ class Culvert(ModelObject): display_name: str exchange_type: Optional[ExchangeTypeCulvert] calculation_point_distance: Optional[float] - invert_level_start_point: float - invert_level_end_point: float + invert_level_start: float + invert_level_end: float discharge_coefficient_positive: float discharge_coefficient_negative: float friction_value: float @@ -371,7 +373,7 @@ def display_names() -> list: "ID", "Code", "Display name", - "Calculation type", + "exchange type", "Calculation point distance [m]", "Invert level start point", "Invert level end point", @@ -410,7 +412,7 @@ class CrossSectionLocation(ModelObject): cross_section_width: Optional[float] cross_section_height: Optional[float] cross_section_table: Optional[str] - cross_section_friction_table: Optional[str] + cross_section_friction_values: Optional[str] cross_section_vegetation_table: Optional[str] vegetation_stem_density: Optional[float] vegetation_stem_diameter: Optional[float] @@ -610,7 +612,7 @@ class DryWeatherFlowMap(ModelObject): id: int percentage: float - impervious_surface_id: int + dry_weather_flow_id: int connection_node_id: int tags: Optional[str] @@ -790,7 +792,7 @@ class GroundWaterSettings(ModelObject): phreatic_storage_capacity_aggregation: Optional[InitializationType] equilibrium_infiltration_rate: Optional[float] equilibrium_infiltration_rate_aggregation: Optional[str] - equilibrium_infiltration_rate_type: Optional[InitializationType] + equilibrium_infiltration_rate_aggregation: Optional[InitializationType] initial_infiltration_rate: Optional[float] initial_infiltration_rate_file: Optional[str] initial_infiltration_rate_aggregation: Optional[InitializationType] @@ -1039,7 +1041,6 @@ class VegetationDrag2DSettings(ModelObject): ConnectionNode, BoundaryCondition1D, Lateral1D, - Material, Pump, PumpMap, Weir, @@ -1049,6 +1050,7 @@ class VegetationDrag2DSettings(ModelObject): CrossSectionLocation, Channel, Windshielding1D, + Material, ) MODEL_2D_ELEMENTS = ( @@ -1064,12 +1066,12 @@ class VegetationDrag2DSettings(ModelObject): ) MODEL_0D_INFLOW_ELEMENTS = ( - DryWeatherFlow, - DryWeatherFlowMap, - DryWeatherFlowDistribution, Surface, SurfaceMap, + DryWeatherFlow, + DryWeatherFlowMap, SurfaceParameters, + DryWeatherFlowDistribution, ) SETTINGS_ELEMENTS = ( @@ -1196,7 +1198,7 @@ class VegetationDrag2DSettings(ModelObject): ExchangeLine: ("channel_id",), }, DryWeatherFlow: { - DryWeatherFlowMap: ("impervious_surface_id",), + DryWeatherFlowMap: ("dry_weather_flow_id",), }, Surface: { SurfaceMap: ("surface_id",), diff --git a/threedi_schematisation_editor/forms/custom_forms.py b/threedi_schematisation_editor/forms/custom_forms.py index ab95afa..4d5e4bc 100644 --- a/threedi_schematisation_editor/forms/custom_forms.py +++ b/threedi_schematisation_editor/forms/custom_forms.py @@ -56,6 +56,7 @@ class BaseForm(QObject): MODEL = None MIN_FID = -sys.maxsize - 1 + AUTOGENERATE_ID = "Autogenerate" def __init__(self, layer_manager, dialog, layer, feature): super().__init__(parent=dialog) # We need to set dialog as a parent to keep form alive @@ -89,7 +90,6 @@ def foreign_models_features(self): def setup_form_widgets(self): """Setting up all form widgets.""" - # TODO: Improve handling of newly added related features for field, customisation_fn in self.handler.FORM_CUSTOMIZATIONS.items(): widget = self.dialog.findChild(QObject, field) customisation_fn(widget) @@ -101,7 +101,7 @@ def setup_form_widgets(self): if not geometry: return # form open for an invalid feature else: - if self.feature["id"] is not None: + if self.feature["id"] != self.AUTOGENERATE_ID: # This is the case after accepting new feature return self.creation = True @@ -163,8 +163,8 @@ def populate_widgets(self, data_model_cls=None, feature=None, start_end_modifier """ Populate form's widgets - widgets are named after their attributes in the data model. If data_model_cls is given, then populate widgets for this class and feature. - start_end_modifier is used when there are multiple features edited in the form, for example two manholes in - a pipe form. The modifier should be 1 for starting point and 2 for ending. + start_end_modifier is used when there are multiple features edited in the form, for example two connection nodes + in a pipe form. The modifier should be 1 for starting point and 2 for ending. """ if data_model_cls is not None: field_name_prefix = data_model_cls.__tablename__ + "_" @@ -439,7 +439,7 @@ def __init__(self, *args, **kwargs): def cross_section_table_field_widget_map(self): field_map = { "cross_section_table": self.cross_section_table, - "cross_section_friction_table": self.cross_section_friction, + "cross_section_friction_values": self.cross_section_friction, "cross_section_vegetation_table": self.cross_section_vegetation, } return field_map @@ -538,11 +538,11 @@ def connect_custom_widgets(self): cross_section_vegetation_clear_signal = self.cross_section_vegetation_clear.clicked cross_section_friction_copy_signal = self.cross_section_friction_copy.clicked cross_section_vegetation_copy_signal = self.cross_section_vegetation_copy.clicked - cross_section_friction_edit_slot = partial(self.edit_table_row, "cross_section_friction_table") + cross_section_friction_edit_slot = partial(self.edit_table_row, "cross_section_friction_values") cross_section_vegetation_edit_slot = partial(self.edit_table_row, "cross_section_vegetation_table") - cross_section_friction_clear_slot = partial(self.clear_table_row_values, "cross_section_friction_table") + cross_section_friction_clear_slot = partial(self.clear_table_row_values, "cross_section_friction_values") cross_section_vegetation_clear_slot = partial(self.clear_table_row_values, "cross_section_vegetation_table") - cross_section_friction_copy_slot = partial(self.copy_table_rows, "cross_section_friction_table") + cross_section_friction_copy_slot = partial(self.copy_table_rows, "cross_section_friction_values") cross_section_vegetation_copy_slot = partial(self.copy_table_rows, "cross_section_vegetation_table") connect_signal(cross_section_friction_edit_signal, cross_section_friction_edit_slot) connect_signal(cross_section_vegetation_edit_signal, cross_section_vegetation_edit_slot) @@ -586,7 +586,7 @@ def get_cross_section_table_header(self, table_field_name): table_header += ["Y [m]", "Z [m]"] else: table_header += ["Height [m]", "Width [m]"] - elif table_field_name == "cross_section_friction_table": + elif table_field_name == "cross_section_friction_values": table_header += ["Friction coefficient"] elif table_field_name == "cross_section_vegetation_table": table_header += ["Stem density [m-2]", "Stem diameter [m]", "Height [m]", "Drag coefficient [-]"] @@ -662,7 +662,7 @@ def delete_table_rows(self): self.cross_section_vegetation.removeRow(frict_vege_last_row_number) self.save_cross_section_table_edits() if self.MODEL in [dm.CrossSectionLocation, dm.Channel]: - self.save_cross_section_table_edits("cross_section_friction_table") + self.save_cross_section_table_edits("cross_section_friction_values") self.save_cross_section_table_edits("cross_section_vegetation_table") def paste_table_rows(self): @@ -991,8 +991,6 @@ class PipeForm(FormWithStartEndNode, FormWithXSTable): def __init__(self, *args, **kwargs): super().__init__(*args, *kwargs) - self.manhole_start = None - self.manhole_end = None @property def foreign_models_features(self): @@ -1000,95 +998,25 @@ def foreign_models_features(self): fm_features = { (dm.ConnectionNode, 1): self.connection_node_start, (dm.ConnectionNode, 2): self.connection_node_end, - # (dm.Manhole, 1): self.manhole_start, - # (dm.Manhole, 2): self.manhole_end, } return fm_features - def setup_manholes_on_edit(self): - """Setting up manholes during editing feature.""" - connection_node_handler = self.layer_manager.model_handlers[dm.ConnectionNode] - connection_node_id_start = self.feature["connection_node_id_start"] - connection_node_id_end = self.feature["connection_node_id_end"] - self.connection_node_start = connection_node_handler.get_feat_by_id(connection_node_id_start) - self.connection_node_end = connection_node_handler.get_feat_by_id(connection_node_id_end) - self.manhole_start = connection_node_handler.get_manhole_feat_for_node_id(connection_node_id_start) - self.manhole_end = connection_node_handler.get_manhole_feat_for_node_id(connection_node_id_end) - - def setup_manholes_on_creation(self): - """Setting up manholes during adding feature.""" - connection_node_handler = self.layer_manager.model_handlers[dm.ConnectionNode] - manhole_handler = self.layer_manager.model_handlers[dm.Manhole] - manhole_layer = manhole_handler.layer - linestring = self.feature.geometry().asPolyline() - start_point, end_point = linestring[0], linestring[-1] - start_manhole_feat, end_manhole_feat = find_linestring_nodes(linestring, manhole_layer) - if start_manhole_feat is not None and end_manhole_feat is None: - start_connection_node_id = start_manhole_feat["connection_node_id"] - start_connection_node_feat = connection_node_handler.get_feat_by_id(start_connection_node_id) - # Create and add ending points - end_geom = QgsGeometry.fromPointXY(end_point) - end_manhole_feat, end_connection_node_feat = manhole_handler.create_manhole_with_connection_node( - end_geom, template_feat=start_manhole_feat - ) - self.extra_features[connection_node_handler].append(end_connection_node_feat) - self.extra_features[manhole_handler].append(end_manhole_feat) - elif start_manhole_feat is None and end_manhole_feat is not None: - end_connection_node_id = end_manhole_feat["connection_node_id"] - end_connection_node_feat = connection_node_handler.get_feat_by_id(end_connection_node_id) - # Create and add starting points - start_geom = QgsGeometry.fromPointXY(start_point) - start_manhole_feat, start_connection_node_feat = manhole_handler.create_manhole_with_connection_node( - start_geom, template_feat=end_manhole_feat - ) - self.extra_features[connection_node_handler].append(start_connection_node_feat) - self.extra_features[manhole_handler].append(start_manhole_feat) - elif start_manhole_feat is None and end_manhole_feat is None: - # Create and add starting points - start_geom = QgsGeometry.fromPointXY(start_point) - start_manhole_feat, start_connection_node_feat = manhole_handler.create_manhole_with_connection_node( - start_geom - ) - self.extra_features[connection_node_handler].append(start_connection_node_feat) - self.extra_features[manhole_handler].append(start_manhole_feat) - # Create and add ending points - end_geom = QgsGeometry.fromPointXY(end_point) - end_manhole_feat, end_connection_node_feat = manhole_handler.create_manhole_with_connection_node(end_geom) - self.extra_features[connection_node_handler].append(end_connection_node_feat) - self.extra_features[manhole_handler].append(end_manhole_feat) - else: - start_connection_node_id = start_manhole_feat["connection_node_id"] - start_connection_node_feat = connection_node_handler.get_feat_by_id(start_connection_node_id) - end_connection_node_id = end_manhole_feat["connection_node_id"] - end_connection_node_feat = connection_node_handler.get_feat_by_id(end_connection_node_id) - - # Sequence related features ids - self.sequence_related_features_ids() - # Reassign manholes connection_node_id after sequencing - start_manhole_feat["connection_node_id"] = start_connection_node_feat["id"] - end_manhole_feat["connection_node_id"] = end_connection_node_feat["id"] - # Assign features as a form instance attributes. - self.connection_node_start = start_connection_node_feat - self.connection_node_end = end_connection_node_feat - self.manhole_start = start_manhole_feat - self.manhole_end = end_manhole_feat - def fill_related_attributes(self): """Filling feature values based on related features attributes.""" super().fill_related_attributes() - code_display_name = f"{self.manhole_start['code']}-{self.manhole_end['code']}" + code_display_name = f"{self.connection_node_start['code']}-{self.connection_node_end['code']}" self.feature["code"] = code_display_name self.feature["display_name"] = code_display_name - self.feature["invert_level_start_point"] = self.manhole_start["bottom_level"] - self.feature["invert_level_end_point"] = self.manhole_end["bottom_level"] + self.feature["invert_level_start"] = self.connection_node_start["bottom_level"] + self.feature["invert_level_end"] = self.connection_node_end["bottom_level"] def populate_with_extra_widgets(self): """Populate widgets for other layers attributes.""" if self.creation is True: - # self.setup_manholes_on_creation() + self.setup_connection_nodes_on_creation() self.fill_related_attributes() - # else: - # self.setup_manholes_on_edit() + else: + self.setup_connection_nodes_on_edit() # Populate widgets based on features attributes self.populate_foreign_widgets() self.populate_widgets() @@ -1197,8 +1125,8 @@ def populate_with_extra_widgets(self): self.populate_cross_section_table_data() -class PumpstationForm(FormWithNode): - """Pumpstation without end node user layer edit form logic.""" +class PumpForm(FormWithNode): + """Pump without end node user layer edit form logic.""" MODEL = dm.Pump @@ -1206,54 +1134,50 @@ def __init__(self, *args, **kwargs): super().__init__(*args, *kwargs) -class PumpstationMapForm(FormWithStartEndNode): - """Pumpstation with end node user layer edit form logic.""" +class PumpMapForm(BaseForm): + """Pump with end node user layer edit form logic.""" MODEL = dm.PumpMap def __init__(self, *args, **kwargs): super().__init__(*args, *kwargs) - self.pumpstation = None + self.connection_node_end = None + self.pump = None @property def foreign_models_features(self): """Property returning dictionary where key = data model class with identifier and value = data model feature.""" fm_features = { - (dm.ConnectionNode, 1): self.connection_node_start, - (dm.ConnectionNode, 2): self.connection_node_end, - (dm.Pump, None): self.pumpstation, + (dm.ConnectionNode, None): self.connection_node_end, + (dm.Pump, None): self.pump, } return fm_features - def setup_pumpstation_on_edit(self): - """Setting up pumpstation during editing feature.""" + def setup_pump_on_edit(self): + """Setting up pump during editing feature.""" connection_node_handler = self.layer_manager.model_handlers[dm.ConnectionNode] - pumpstation_handler = self.layer_manager.model_handlers[dm.Pump] - connection_node_id_start = self.feature["connection_node_id_start"] + pump_handler = self.layer_manager.model_handlers[dm.Pump] connection_node_id_end = self.feature["connection_node_id_end"] - pumpstation_id = self.feature["pumpstation_id"] - self.connection_node_start = connection_node_handler.get_feat_by_id(connection_node_id_start) + pump_id = self.feature["pump_id"] self.connection_node_end = connection_node_handler.get_feat_by_id(connection_node_id_end) - self.pumpstation = pumpstation_handler.get_feat_by_id(pumpstation_id) + self.pump = pump_handler.get_feat_by_id(pump_id) - def setup_pumpstation_on_creation(self): - """Setting up pumpstation during adding feature.""" + def setup_pump_on_creation(self): + """Setting up pump during adding feature.""" connection_node_handler = self.layer_manager.model_handlers[dm.ConnectionNode] - pumpstation_handler = self.layer_manager.model_handlers[dm.Pump] + pump_handler = self.layer_manager.model_handlers[dm.Pump] connection_node_layer = connection_node_handler.layer linestring = self.feature.geometry().asPolyline() start_point, end_point = linestring[0], linestring[-1] start_connection_node_feat, end_connection_node_feat = find_linestring_nodes(linestring, connection_node_layer) - start_pump_feat = self.pumpstation + start_pump_feat = self.pump if start_pump_feat is None: start_geom = QgsGeometry.fromPointXY(start_point) if start_connection_node_feat is None: - start_pump_feat, start_connection_node_feat = pumpstation_handler.create_pump_with_connection_node( - start_geom - ) + start_pump_feat, start_connection_node_feat = pump_handler.create_pump_with_connection_node(start_geom) self.extra_features[connection_node_handler].append(start_connection_node_feat) else: - start_pump_feat = pumpstation_handler.create_new_feature(start_geom) + start_pump_feat = pump_handler.create_new_feature(start_geom) start_pump_feat["connection_node_id"] = start_connection_node_feat["id"] if end_connection_node_feat is None: end_geom = QgsGeometry.fromPointXY(end_point) @@ -1261,7 +1185,7 @@ def setup_pumpstation_on_creation(self): start_connection_node_feat, geometry=end_geom ) self.extra_features[connection_node_handler].append(end_connection_node_feat) - self.extra_features[pumpstation_handler].append(start_pump_feat) + self.extra_features[pump_handler].append(start_pump_feat) else: if end_connection_node_feat is None: end_geom = QgsGeometry.fromPointXY(end_point) @@ -1270,49 +1194,49 @@ def setup_pumpstation_on_creation(self): ) self.extra_features[connection_node_handler].append(end_connection_node_feat) # Assign features as a form instance attributes. - self.connection_node_start = start_connection_node_feat self.connection_node_end = end_connection_node_feat - self.pumpstation = start_pump_feat + self.pump = start_pump_feat self.sequence_related_features_ids() def fill_related_attributes(self): """Filling feature values based on related features attributes.""" super().fill_related_attributes() - self.feature["pumpstation_id"] = self.pumpstation["id"] + self.feature["pump_id"] = self.pump["id"] + self.feature["connection_node_id_end"] = self.connection_node_end["id"] def populate_with_extra_widgets(self): """Populate widgets for other layers attributes.""" if self.creation is True: - self.pumpstation = self.select_start_pumpstation() - self.setup_pumpstation_on_creation() + self.pump = self.select_start_pump() + self.setup_pump_on_creation() self.fill_related_attributes() else: - self.setup_pumpstation_on_edit() + self.setup_pump_on_edit() # Populate widgets based on features attributes self.populate_foreign_widgets() self.populate_widgets() - def select_start_pumpstation(self): - """Selecting start pumpstation""" - title = "Select start pumpstation" - message = "Pumpstations at location" + def select_start_pump(self): + """Selecting start pump""" + title = "Select start pump" + message = "pumps at location" linestring = self.feature.geometry().asPolyline() start_point, end_point = linestring[0], linestring[-1] - pumpstation_handler = self.layer_manager.model_handlers[dm.Pump] - pumpstation_layer = pumpstation_handler.layer - start_pump_feats = find_point_nodes(start_point, pumpstation_layer, allow_multiple=True) + pump_handler = self.layer_manager.model_handlers[dm.Pump] + pump_layer = pump_handler.layer + start_pump_feats = find_point_nodes(start_point, pump_layer, allow_multiple=True) pump_no = len(start_pump_feats) if pump_no == 0: - pumpstation_feat = None + pump_feat = None elif pump_no == 1: - pumpstation_feat = next(iter(start_pump_feats)) + pump_feat = next(iter(start_pump_feats)) else: pump_feats_by_id = {feat["id"]: feat for feat in start_pump_feats} pump_entries = [f"{feat_id} ({feat['display_name']})" for feat_id, feat in pump_feats_by_id.items()] - pumpstation_entry = self.uc.pick_item(title, message, None, *pump_entries) - pumpstation_id = int(pumpstation_entry.split()[0]) if pumpstation_entry else None - pumpstation_feat = pump_feats_by_id[pumpstation_id] if pumpstation_id else None - return pumpstation_feat + pump_entry = self.uc.pick_item(title, message, None, *pump_entries) + pump_id = int(pump_entry.split()[0]) if pump_entry else None + pump_feat = pump_feats_by_id[pump_id] if pump_id else None + return pump_feat class ImperviousSurfaceMapForm(NodeToSurfaceMapForm): @@ -1323,7 +1247,7 @@ class ImperviousSurfaceMapForm(NodeToSurfaceMapForm): def __init__(self, *args, **kwargs): super().__init__(*args, *kwargs) self.surface_model = dm.DryWeatherFlow - self.surface_id_field = "impervious_surface_id" + self.surface_id_field = "dry_weather_flow_id" class SurfaceMapForm(NodeToSurfaceMapForm): @@ -1405,7 +1329,7 @@ def fill_related_attributes(self): except StopIteration: global_settings_feat = None if global_settings_feat: - self.current_cross_section_location["friction_type"] = global_settings_feat["frict_type"] + self.current_cross_section_location["friction_type"] = global_settings_feat["friction_type"] def set_current_cross_section_location(self, current_text): """Set handling of selected channel cross-section location.""" @@ -1568,13 +1492,13 @@ def fill_related_attributes(self): "cross_section_width", "cross_section_height", "cross_section_table", - "cross_section_friction_table", + "cross_section_friction_values", "cross_section_vegetation_table", ]: self.feature[xs_field_name] = closest_existing_cross_section[xs_field_name] try: global_settings_feat = next(global_settings_layer.getFeatures()) - self.feature["friction_type"] = global_settings_feat["frict_type"] + self.feature["friction_type"] = global_settings_feat["friction_type"] except StopIteration: pass @@ -1637,8 +1561,8 @@ def populate_with_extra_widgets(self): WeirForm, CulvertForm, OrificeForm, - PumpstationForm, - PumpstationMapForm, + PumpForm, + PumpMapForm, ImperviousSurfaceMapForm, SurfaceMapForm, ChannelForm, diff --git a/threedi_schematisation_editor/forms/ui/channel.ui b/threedi_schematisation_editor/forms/ui/channel.ui index acb0cf4..ed2f27e 100644 --- a/threedi_schematisation_editor/forms/ui/channel.ui +++ b/threedi_schematisation_editor/forms/ui/channel.ui @@ -14,6 +14,13 @@ Dialog + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + @@ -26,7 +33,7 @@ 0 - -5 + 0 515 929 @@ -48,21 +55,8 @@ Channel - - - - Qt::Vertical - - - - 20 - 40 - - - - - - + + @@ -70,11 +64,11 @@ Qt::ImhNone - Visualisation + General - - - + + + 0 @@ -87,50 +81,13 @@ Qt::ImhNone - - - - - - - - - Qt::ImhNone - - - Zoom category - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - -1 + + true - - - - - - - - - - Qt::ImhNone - - - Connection nodes - - - - - - - 0 - 0 - - + + @@ -144,55 +101,11 @@ QAbstractSpinBox::NoButtons - 999999999 - - - true - - - false - - - - - - - - - - Qt::ImhNone - - - Start connection node ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - Qt::ImhNone + 99999999 - + true - - QAbstractSpinBox::NoButtons - - - 999999999 - true @@ -201,8 +114,8 @@ - - + + @@ -210,31 +123,13 @@ Qt::ImhNone - End connection node ID + ID Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - 10 - - - - - - - - - - - Qt::ImhNone - - - General - - @@ -289,8 +184,8 @@ - - + + @@ -298,15 +193,31 @@ Qt::ImhNone - ID + Exchange type Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + -1 + + + + + + + Distance between calculation points [m] + + + true + + + 10 + - - + + 0 @@ -342,75 +253,15 @@ - - - - - - - Qt::ImhNone - - - true - - - QAbstractSpinBox::NoButtons - - - 99999999 - - - true - - - true - - - false - - - - - - - Distance between calculation points [m] - - - true - - - 10 - - - - - - - - - - Qt::ImhNone - - - Calculation type - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - + + x - - + + 0 @@ -425,29 +276,10 @@ - - - - - 0 - 0 - - - - - - - Qt::ImhNone - - - true - - - - + Groundwater exchange @@ -582,15 +414,8 @@ - - - - - Connection nodes - - - - + + Qt::Vertical @@ -602,36 +427,1127 @@ - - - - true + + + + + + + Qt::ImhNone - Starting connection node + Connection nodes - + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + true + + + QAbstractSpinBox::NoButtons + + + 999999999 + + + true + + + false + + + + + + + + + + Qt::ImhNone + + + Start connection node ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + true + + + QAbstractSpinBox::NoButtons + + + 999999999 + + + true + + + false + + + + + + + + + + Qt::ImhNone + + + End connection node ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + + + + 0 + + + + + Tags + + + + + + + true + + + + + + + + + + Starting connection node + + + + + + Groundwater exchange + + + + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + + + + + x + + + + + + + + + + Exchange thickness [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + Hydraulic conductivity in [m/d] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + - + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + + + + + x + + + + + + + + + + Hydraulic conductivity out [m/d] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + 0 0 - - true + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + + + + + x + + + + + + + + + + Dimensions + + + + + + x + + + + + + + + + + Storage area [m²] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + + + + Bottom level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -99999999.000000000000000 + + + 999999999.000000000000000 + + + + + + + + 8 + + + + x + + + + + + + + + + Administrative properties + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + + + + + + + + Manhole surface level [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 50 + false + false + + + + x + + + + + + + + + + Initial water level + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -99999999.000000000000000 + + + 999999999.000000000000000 + + + + + + + + + + Initial water level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + x + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + true + + + + + + General + + + + + + Display name + + + + + + + + 0 + 0 + + + + + + + + + + + + + + Code + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + + 0 + 0 + + + + + + + true + + + QAbstractSpinBox::NoButtons + + + 999999999 + + + + + + + + 0 + 0 + + + + + + + + + + + + + + + + + Visualisation + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + + + ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + true + + + + + + 2D exchange + + + + + + + + + Exchange level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + + + + + x + + + + + + + Exchange type + + + + + + + + + + + + + 0 + + + + + Tags + + + + + + + true + + + + + + + + + + Ending connection node + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + true + + + + + + 2D exchange + + + + + + + + + Exchange level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + + + + + x + + + + + + + Exchange type + + + + + + + + + + + + + Initial water level + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -99999999.000000000000000 + + + 999999999.000000000000000 + + + + + + + + + + Initial water level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + x + + + + + + + + + + Administrative properties + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + + + + + + + + Manhole surface level [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 50 + false + false + + + + x + + + + + + + + + + Dimensions + + + + + + x + + + + + + + + + + Storage area [m²] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + + + + Bottom level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -99999999.000000000000000 + + + 999999999.000000000000000 + + + + + + + + 8 + + + + x + + + + + + + + + + true + + + + + + General + + + + + + + + + ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + 0 0 + + + true @@ -641,49 +1557,38 @@ 999999999 - - true - - - false - - - + + 0 0 - - QAbstractSpinBox::NoButtons - - - 3 - - - -1000.000000000000000 - - - 1000000.000000000000000 - - - true - - - true + + - - true + + + + + + + + + Display name - + + + + - Node storage area [m²] + Code Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -693,95 +1598,55 @@ - - - - Connection node ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - + + 0 0 - - QAbstractSpinBox::NoButtons - - - 3 - - - 999999999.000000000000000 - - - true + + - - - - Node initial water level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 + + + + - - - - - Node code + Visualisation Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - x - - - - - - - x + + -1 - - - - true - + + - Ending connection node + Groundwater exchange - - - + + + 0 0 + + + QAbstractSpinBox::NoButtons @@ -789,137 +1654,109 @@ 3 - 999999999.000000000000000 + 1000000.000000000000000 - - true + + + + + + x - + + + + - Connection node ID + Exchange thickness [m] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + + + + + + Hydraulic conductivity in [m/d] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + 0 0 + + + QAbstractSpinBox::NoButtons 3 - - -1000.000000000000000 - 1000000.000000000000000 - - true - - - true - - - true - - - + + - Node initial water level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 + x - - + + + + + - Node code + Hydraulic conductivity out [m/d] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + 0 0 - - true + + QAbstractSpinBox::NoButtons - - 999999999 - - - true - - - false - - - - - - - - 0 - 0 - - - - true - - - - - - - Node storage area [m²] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 + + 3 - - - - - - x + + 1000000.000000000000000 - - + + x @@ -928,6 +1765,27 @@ + + + + 0 + + + + + Tags + + + + + + + true + + + + + @@ -1829,13 +2687,6 @@ - - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - @@ -1844,30 +2695,14 @@ id code display_name - calculation_type - dist_calc_points - dist_calc_points_clear - zoom_category exchange_thickness exchange_thickness_clear hydraulic_conductivity_in hydraulic_conductivity_in_clear hydraulic_conductivity_out hydraulic_conductivity_out_clear - connection_node_start_id - connection_node_end_id - connection_node_1_id - connection_node_1_code - connection_node_1_initial_waterlevel - connection_node_1_initial_waterlevel_clear - connection_node_1_storage_area - connection_node_1_storage_area_clear - connection_node_2_id - connection_node_2_code - connection_node_2_initial_waterlevel - connection_node_2_initial_waterlevel_clear - connection_node_2_storage_area - connection_node_2_storage_area_clear + connection_node_id_start + connection_node_id_end cross_section_locations cross_section_location_id cross_section_location_bank_level diff --git a/threedi_schematisation_editor/forms/ui/connection_node.ui b/threedi_schematisation_editor/forms/ui/connection_node.ui index f0785c2..10c2c66 100644 --- a/threedi_schematisation_editor/forms/ui/connection_node.ui +++ b/threedi_schematisation_editor/forms/ui/connection_node.ui @@ -17,13 +17,6 @@ - - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - @@ -37,25 +30,58 @@ 0 0 - 532 - 503 + 515 + 530 - - - - true - - - - + + - General + Dimensions - - - + + + + + x + + + + + + + + + + Storage area [m²] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + + + + Bottom level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + 0 @@ -65,9 +91,24 @@ + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + - + @@ -95,6 +136,33 @@ + + + + + 8 + + + + x + + + + + + + + + + true + + + + + + General + + @@ -108,13 +176,58 @@ - - + + + + + 0 + 0 + + + + true + + + QAbstractSpinBox::NoButtons + + + 999999999 + + + + + + + + 0 + 0 + + + + + + + + + + + + - Storage area [m²] + Display name + + + + + + + + + + Code Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -124,37 +237,128 @@ - - + + + + + 0 + 0 + + + + + + + + + - Code + Visualisation Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + -1 + - + + + + + + + Initial water level + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -99999999.000000000000000 + + + 999999999.000000000000000 + + + + - Initial water level [m] + Initial water level [m MSL] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - 10 + -1 + + + + + + + x + + + + + + + + + + true + + + + + + 2D exchange + + + + + + + + + Exchange level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 - - + + 0 @@ -174,15 +378,41 @@ 3 - -99999999.000000000000000 + -9999999999.000000000000000 - 999999999.000000000000000 + 9999999999.000000000000000 - - + + + + x + + + + + + + Exchange type + + + + + + + + + + + + + Administrative properties + + + + 0 @@ -192,26 +422,183 @@ - - true + + Qt::ImhNone QAbstractSpinBox::NoButtons + + 3 + + + -9999999999.000000000000000 + - 999999999 + 9999999999.000000000000000 - - + + + + + + + Manhole surface level [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 50 + false + false + + x - - + + + + + + + Groundwater exchange + + + + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + + + + + x + + + + + + + + + + Exchange thickness [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + Hydraulic conductivity in [m/d] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + + + + + x + + + + + + + + + + Hydraulic conductivity out [m/d] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + + + x @@ -220,7 +607,7 @@ - + Qt::Vertical @@ -233,20 +620,43 @@ + + + + 0 + + + + + Tags + + + + + + + true + + + + + + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + scrollArea id - code - initial_waterlevel - initial_waterlevel_clear - storage_area - storage_area_clear diff --git a/threedi_schematisation_editor/forms/ui/cross_section_location.ui b/threedi_schematisation_editor/forms/ui/cross_section_location.ui index 55d102c..bab6c9d 100644 --- a/threedi_schematisation_editor/forms/ui/cross_section_location.ui +++ b/threedi_schematisation_editor/forms/ui/cross_section_location.ui @@ -28,23 +28,10 @@ 0 0 515 - 915 + 943 - - - - Qt::Vertical - - - - 20 - 40 - - - - @@ -402,6 +389,237 @@ + + + + + + + Qt::ImhNone + + + Cross-section + + + + + + + + + Qt::ImhNone + + + Height [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + x + + + + + + + + 0 + 125 + + + + + 8 + + + + Qt::ImhDigitsOnly + + + Qt::ScrollBarAsNeeded + + + QAbstractScrollArea::AdjustToContents + + + QAbstractItemView::SelectRows + + + 21 + + + + + + + x + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + false + + + + + + + + 0 + 0 + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + + + + + + + + Qt::ImhNone + + + Width [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + + + + + + + + Qt::ImhNone + + + Shape + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + Table + + + + + + + 0 + + + + + Delete selected rows + + + Delete + + + + + + + Copy + + + + + + + Paste rows from clipboard + + + Paste + + + + + + + Add new row + + + Add + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + @@ -745,223 +963,26 @@ - - - - - - - Qt::ImhNone - - - Cross-section + + + + 0 - - - - - - - - Qt::ImhNone - - - Height [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - x - - - - - - - - 0 - 125 - - - - - 8 - - - - Qt::ImhDigitsOnly - - - Qt::ScrollBarAsNeeded - - - QAbstractScrollArea::AdjustToContents - - - QAbstractItemView::SelectRows - - - 21 - - - - - - - x - - - - - - - - 0 - 0 - - - - - - - Qt::ImhNone - - - false - - - - - - - - 0 - 0 - - - - QAbstractSpinBox::NoButtons - - - 3 - - - 1000000.000000000000000 - - - - - - - - - - Qt::ImhNone - - - Width [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - QAbstractSpinBox::NoButtons - - - 3 - - - 1000000.000000000000000 - - - - - - - - - - Qt::ImhNone - - - Shape - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - Table - - - - - - - 0 - - - - - Delete selected rows - - - Delete - - - - - - - Copy - - - - - - - Paste rows from clipboard - - - Paste - - - - - - - Add new row - - - Add - - - - - - - + + + + Tags + + + + + + + true + + + + diff --git a/threedi_schematisation_editor/forms/ui/culvert.ui b/threedi_schematisation_editor/forms/ui/culvert.ui index 44bd37b..3d1b52a 100644 --- a/threedi_schematisation_editor/forms/ui/culvert.ui +++ b/threedi_schematisation_editor/forms/ui/culvert.ui @@ -35,7 +35,7 @@ 0 0 515 - 715 + 656 @@ -55,20 +55,20 @@ Culvert - - - - true - + + + + Qt::ImhNone + - Characteristics + Connection nodes - - - + + + 0 @@ -78,28 +78,44 @@ + + Qt::ImhNone + + + true + QAbstractSpinBox::NoButtons - - 3 - - 1000000.000000000000000 - - - true + 999999999 true - true + false - - + + + + + + + Qt::ImhNone + + + Start connection node ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + 0 @@ -112,128 +128,126 @@ Qt::ImhNone + + true + QAbstractSpinBox::NoButtons - - 4 - - 1000000.000000000000000 - - - true + 999999999 true - true + false - - + + + + Qt::ImhNone + - Start invert level [m] + End connection node ID Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - x + + 10 - - + + + + + + + true + + + + + + General + + + + + + + - Discharge coefficient negative + Display name Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - true - - - 0 - 10 - - + + - - Qt::ImhNone + + true - - Friction type + + QAbstractSpinBox::NoButtons - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + 99999999 - - 10 + + true + + + true + + + false - - + + - End invert level [m] + Code Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + - - Qt::ImhNone - - Friction value + ID Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - 0 - - - 10 - - - - - - - x - - + 0 @@ -243,34 +257,13 @@ - - Qt::ImhNone - - - QAbstractSpinBox::NoButtons - - - 3 - - - -99999999.000000000000000 - - - 99999999.000000000000000 - - - true - - - true - - + true - - + + 0 @@ -280,41 +273,26 @@ - - Qt::ImhNone - - - QAbstractSpinBox::NoButtons - - - 3 - - - -99999999.000000000000000 - - - 99999999.000000000000000 - - - true - - - true - - + true - - + + - x + Distance between calculation points [m] + + + true + + + 10 - - + + 0 @@ -339,56 +317,42 @@ 9999999999.000000000000000 - - true - - - true - - - true + + + + + + x - - + + - - Discharge -coefficient positive + + Qt::ImhNone - - Qt::PlainText + + Exchange type Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - true - -1 - - - - x - - - - - - - x + + + + + 0 + 0 + - - - - @@ -400,8 +364,8 @@ coefficient positive - - + + true @@ -409,27 +373,11 @@ coefficient positive - Visualisation + Characteristics - - - - - - - - Zoom category - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - -1 - - - - - + + + 0 @@ -439,41 +387,28 @@ coefficient positive - - - - - - - - - true - - - - - - General - - - - - - + + QAbstractSpinBox::NoButtons - - Display name + + 3 - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + 1000000.000000000000000 - - 10 + + true + + + true + + + true - - + + 0 @@ -490,29 +425,10 @@ coefficient positive QAbstractSpinBox::NoButtons - 3 - - - -9999999999.000000000000000 - - - 9999999999.000000000000000 - - - - - - - - - - true - - - QAbstractSpinBox::NoButtons + 4 - 99999999 + 1000000.000000000000000 true @@ -521,93 +437,112 @@ coefficient positive true - false + true - + - Code + Start invert level [m] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - Qt::ImhNone + + + + x + + + + - Calculation type + Discharge coefficient negative Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + true + + + 0 + 10 - - + + + + + + + Qt::ImhNone + - Distance between calculation points [m] + Friction type - - true + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter 10 - - + + - ID + End invert level [m] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - 0 - 0 - - + + - - true + + Qt::ImhNone + + + Friction value + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 0 + + + 10 - - + + x - - + + 0 @@ -617,44 +552,34 @@ coefficient positive - - true + + Qt::ImhNone - - - - - - - 0 - 0 - + + QAbstractSpinBox::NoButtons - - + + 3 - - Qt::ImhNone + + -99999999.000000000000000 + + + 99999999.000000000000000 + + + true + + + true + + + true - - - - - - - - - - Qt::ImhNone - - - Connection nodes - - - - + + 0 @@ -667,41 +592,38 @@ coefficient positive Qt::ImhNone - - true - QAbstractSpinBox::NoButtons + + 3 + + + -99999999.000000000000000 + - 999999999 + 99999999.000000000000000 + + + true true - false + true - - - - - - - Qt::ImhNone - + + - Start connection node ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + x - - + + 0 @@ -714,39 +636,73 @@ coefficient positive Qt::ImhNone - - true - QAbstractSpinBox::NoButtons + + 3 + + + -9999999999.000000000000000 + - 999999999 + 9999999999.000000000000000 + + + true true - false + true - - + + - - Qt::ImhNone - - End connection node ID + Discharge +coefficient positive + + + Qt::PlainText Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + true + - 10 + -1 + + + + + + + x + + + + + + + x + + + + + + + + + + Qt::ImhNone @@ -766,7 +722,7 @@ coefficient positive - + @@ -984,39 +940,111 @@ coefficient positive + + + + 0 + + + + + Tags + + + + + + + true + + + + + - + - Connection nodes + Starting connection node - - + + true + + + - Ending connection node + General - + + + + + + + + ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + - + 0 0 - + + + + true + + QAbstractSpinBox::NoButtons + + + 999999999 + + + + + + + + 0 + 0 + + + + + + + + + + + + + + Display name + - + + + + - Node storage area [m²] + Code Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -1024,19 +1052,777 @@ coefficient positive 10 - - - - + + + + + + + 0 + 0 + + + + + + + + + + + + + + Visualisation + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + + + Groundwater exchange + + + + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + + + + + x + + + + + + + + + + Exchange thickness [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + Hydraulic conductivity in [m/d] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + + + + + x + + + + + + + + + + Hydraulic conductivity out [m/d] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + + + + + x + + + + + + + + + + Dimensions + + + + + + x + + + + + + + + + + Storage area [m²] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + + + + Bottom level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -99999999.000000000000000 + + + 999999999.000000000000000 + + + + + + + + 8 + + + + x + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + true + + + + + + 2D exchange + + + + + + + + + Exchange level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + + + + + x + + + + + + + Exchange type + + + + + + + + + + + + + Administrative properties + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + + + + + + + + Manhole surface level [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 50 + false + false + + + + x + + + + + + + + + + Initial water level + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -99999999.000000000000000 + + + 999999999.000000000000000 + + + + + + + + + + Initial water level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + x + + + + + + + + + + 0 + + + + + Tags + + + + + + + true + + + + + + + + + + Ending connection node + + + + + + Initial water level + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -99999999.000000000000000 + + + 999999999.000000000000000 + + + + + + + + + + Initial water level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + x + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + true + + + + + + 2D exchange + + + + + + + + + Exchange level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + + + + + x + + + + + + + Exchange type + + + + + + + + + + + + + Administrative properties + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + + + + + + + + Manhole surface level [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 50 + false + false + + + + x + + + + + + + + + + true + + + + + + General + + + + + + + - Connection node ID + ID Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - + @@ -1044,6 +1830,9 @@ coefficient positive 0 + + + true @@ -1053,37 +1842,38 @@ coefficient positive 999999999 - - true - - - false - - - + + 0 0 - - QAbstractSpinBox::NoButtons - - - 3 + + - - 999999999.000000000000000 + + + + + + + + + Display name - - + + + + + - Node initial water level [m] + Code Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -1093,211 +1883,281 @@ coefficient positive - - + + + + + 0 + 0 + + + + + + + + + + + + + + Visualisation + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + + + Groundwater exchange + + + + 0 0 + + + QAbstractSpinBox::NoButtons 3 - - -1000.000000000000000 - 1000000.000000000000000 - - - - Node code - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - + + x - - + + + + + - x + Exchange thickness [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - true - - - Starting connection node - - - + + + + - Node code + Hydraulic conductivity in [m/d] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + 0 0 + + + QAbstractSpinBox::NoButtons 3 - - -1000.000000000000000 - 1000000.000000000000000 - - + + + + x + + + + + + + + - Node initial water level [m] + Hydraulic conductivity out [m/d] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - 10 - - - + + 0 0 - - true + + QAbstractSpinBox::NoButtons + + 3 + - 999999999 + 1000000.000000000000000 - - true + + + + + + x - - false + + + + + + + + + Dimensions + + + + + + x + + + + + + + + + + Storage area [m²] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 - + + + + - Connection node ID + Bottom level [m MSL] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + -1 + - - + + 0 0 - - true + + - - - - - - Node storage area [m²] + + Qt::ImhNone - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + QAbstractSpinBox::NoButtons - - 10 + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 - - + + 0 0 + + + + + Qt::ImhNone + QAbstractSpinBox::NoButtons 3 + + -99999999.000000000000000 + 999999999.000000000000000 - - - - x + + + + + 8 + - - - - x @@ -1306,6 +2166,27 @@ coefficient positive + + + + 0 + + + + + Tags + + + + + + + true + + + + + @@ -1322,13 +2203,10 @@ coefficient positive id code display_name - calculation_type - dist_calc_points - dist_calc_points_clear - invert_level_start_point - invert_level_start_point_clear - invert_level_end_point - invert_level_end_point_clear + invert_level_start + invert_level_start_clear + invert_level_end + invert_level_end_clear discharge_coefficient_positive discharge_coefficient_positive_clear friction_value @@ -1336,7 +2214,6 @@ coefficient positive friction_type discharge_coefficient_negative discharge_coefficient_negative_clear - zoom_category cross_section_shape cross_section_width cross_section_width_clear @@ -1347,20 +2224,8 @@ coefficient positive cross_section_table_copy cross_section_table_paste cross_section_table_add - connection_node_start_id - connection_node_end_id - connection_node_1_id - connection_node_1_code - connection_node_1_initial_waterlevel - connection_node_1_initial_waterlevel_clear - connection_node_1_storage_area - connection_node_1_storage_area_clear - connection_node_2_id - connection_node_2_code - connection_node_2_initial_waterlevel - connection_node_2_initial_waterlevel_clear - connection_node_2_storage_area - connection_node_2_storage_area_clear + connection_node_id_start + connection_node_id_end diff --git a/threedi_schematisation_editor/forms/ui/exchange_line.ui b/threedi_schematisation_editor/forms/ui/exchange_line.ui index 07c4f92..d2207b0 100644 --- a/threedi_schematisation_editor/forms/ui/exchange_line.ui +++ b/threedi_schematisation_editor/forms/ui/exchange_line.ui @@ -32,36 +32,69 @@ - - - - + + + + Qt::Vertical - - Qt::ImhNone + + + 20 + 40 + + + + + + + + true - Channel + General - - - - - + + + + + true - - Qt::ImhNone + + QAbstractSpinBox::NoButtons + + 99999999 + + + true + + + true + + + false + + + + + - Channel ID + x + + + + + + + ID Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + 0 @@ -71,46 +104,59 @@ - - Qt::ImhNone - - - false - QAbstractSpinBox::NoButtons + + 3 + + + -99999999.000000000000000 + - 999999999 + 1000000.000000000000000 + + + true true - false + true - - - - - - - true - - - General - - - - + + + + + - x + Exchange level [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 - + + + + Code + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + @@ -124,9 +170,12 @@ - + + + + - Code + Display name Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -136,43 +185,55 @@ - - - - true - - - QAbstractSpinBox::NoButtons - - - 99999999 + + + + + 0 + 0 + - - true + + - + true - - false - - - + + + + + + + + + + Qt::ImhNone + + + Channel + + + + + + Qt::ImhNone + - Exchange level [m] + Channel ID Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + 0 @@ -182,36 +243,23 @@ - - QAbstractSpinBox::NoButtons + + Qt::ImhNone - - 3 + + false - - -99999999.000000000000000 + + QAbstractSpinBox::NoButtons - 1000000.000000000000000 - - - true + 999999999 true - true - - - - - - - ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + false @@ -219,17 +267,25 @@ - - - Qt::Vertical + + + 0 - - - 20 - 40 - - - + + + + Tags + + + + + + + true + + + + @@ -247,9 +303,6 @@ scrollArea id - code - exchange_level - exchange_level_clear channel_id diff --git a/threedi_schematisation_editor/forms/ui/impervious_surface_map.ui b/threedi_schematisation_editor/forms/ui/impervious_surface_map.ui deleted file mode 100644 index f7e680d..0000000 --- a/threedi_schematisation_editor/forms/ui/impervious_surface_map.ui +++ /dev/null @@ -1,266 +0,0 @@ - - - Form - - - - 0 - 0 - 550 - 550 - - - - Form - - - - - - - - - QFrame::NoFrame - - - true - - - - - 0 - 0 - 532 - 503 - - - - - - - true - - - - - - General - - - - - - - 0 - 0 - - - - - - - Qt::ImhNone - - - QAbstractSpinBox::NoButtons - - - 2 - - - 0.000000000000000 - - - 100.000000000000000 - - - - - - - - - - Impervious surface ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - - - Connection node ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - true - - - QAbstractSpinBox::NoButtons - - - 999999999 - - - - - - - - - - Percentage - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - - - ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - true - - - QAbstractSpinBox::NoButtons - - - 999999999 - - - true - - - true - - - false - - - - - - - x - - - - - - - - 0 - 0 - - - - - - - true - - - QAbstractSpinBox::NoButtons - - - 999999999 - - - true - - - true - - - false - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - - scrollArea - id - connection_node_id - percentage - percentage_clear - impervious_surface_id - - - - diff --git a/threedi_schematisation_editor/forms/ui/manhole.ui b/threedi_schematisation_editor/forms/ui/manhole.ui deleted file mode 100644 index 4f72009..0000000 --- a/threedi_schematisation_editor/forms/ui/manhole.ui +++ /dev/null @@ -1,872 +0,0 @@ - - - ManholeEditForm - - - - 0 - 0 - 550 - 550 - - - - Manhole Edit Form - - - - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - - QFrame::NoFrame - - - true - - - - - 0 - 0 - 532 - 503 - - - - - - - Groundwater exchange - - - - - - - 0 - 0 - - - - - - - QAbstractSpinBox::NoButtons - - - 3 - - - 1000000.000000000000000 - - - - - - - x - - - - - - - - - - Exchange thickness [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - - - Hydraulic conductivity in [m/d] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - QAbstractSpinBox::NoButtons - - - 3 - - - 1000000.000000000000000 - - - - - - - x - - - - - - - - - - Hydraulic conductivity out [m/d] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - QAbstractSpinBox::NoButtons - - - 3 - - - 1000000.000000000000000 - - - - - - - x - - - - - - - - - - true - - - - - - Visualisation - - - - - - - - - Zoom category - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - -1 - - - - - - - - - - Manhole indicator - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - 0 - 0 - - - - - - - - - - - - 0 - 0 - - - - - - - - - - - - - - true - - - - - - Characteristics - - - - - - - - - Bottom level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - 0 - 0 - - - - - - - QAbstractSpinBox::NoButtons - - - 3 - - - 1000000.000000000000000 - - - - - - - - - - Drain level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - 8 - - - - x - - - - - - - - 0 - 0 - - - - - - - Qt::ImhNone - - - QAbstractSpinBox::NoButtons - - - 3 - - - -9999999999.000000000000000 - - - 9999999999.000000000000000 - - - - - - - - - - Shape - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - Qt::ImhNone - - - QAbstractSpinBox::NoButtons - - - 3 - - - -9999999999.000000000000000 - - - 9999999999.000000000000000 - - - - - - - - - - Width [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - QAbstractSpinBox::NoButtons - - - 3 - - - 1000000.000000000000000 - - - - - - - - - - Length [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - - - Surface level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - 0 - 0 - - - - - - - Qt::ImhNone - - - QAbstractSpinBox::NoButtons - - - 3 - - - -9999999999.000000000000000 - - - 9999999999.000000000000000 - - - - - - - x - - - - - - - x - - - - - - - - 50 - false - false - - - - x - - - - - - - x - - - - - - - - - - - - - - - - - true - - - - - - Connection node - - - - - - - - - Node initial water level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - - - Connection node ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - true - - - QAbstractSpinBox::NoButtons - - - - - - - QAbstractSpinBox::NoButtons - - - 3 - - - -999999.000000000000000 - - - 999999999.000000000000000 - - - - - - - - - - Node code - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - true - - - - - - - - - - Node storage area [m²] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - QAbstractSpinBox::NoButtons - - - 3 - - - 999999999.000000000000000 - - - - - - - x - - - - - - - x - - - - - - - - - - true - - - - - - General - - - - - - - - - Display name - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - 0 - 0 - - - - - - - true - - - - - - - - - - ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - - - Code - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - true - - - - - - - - - - Calculation type - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - 0 - 0 - - - - - - - - - - - - - - true - - - QAbstractSpinBox::NoButtons - - - 99999999 - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - scrollArea - id - code - display_name - calculation_type - shape - width - width_clear - length - length_clear - bottom_level - bottom_level_clear - surface_level - surface_level_clear - drain_level - drain_level_clear - zoom_category - manhole_indicator - exchange_thickness - exchange_thickness_clear - hydraulic_conductivity_in - hydraulic_conductivity_in_clear - hydraulic_conductivity_out - hydraulic_conductivity_out_clear - connection_node_id - connection_node_code - connection_node_initial_waterlevel - connection_node_initial_waterlevel_clear - connection_node_storage_area - connection_node_storage_area_clear - - - - diff --git a/threedi_schematisation_editor/forms/ui/orifice.ui b/threedi_schematisation_editor/forms/ui/orifice.ui index 97844a8..3fd1dbf 100644 --- a/threedi_schematisation_editor/forms/ui/orifice.ui +++ b/threedi_schematisation_editor/forms/ui/orifice.ui @@ -14,6 +14,13 @@ Dialog + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + @@ -27,8 +34,8 @@ 0 0 - 515 - 670 + 553 + 665 @@ -48,121 +55,7 @@ Orifice - - - - true - - - - - - General - - - - - - - - - Display name - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - 0 - 0 - - - - - - - true - - - - - - - - - - ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - - - Code - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - true - - - - - - - - - - true - - - QAbstractSpinBox::NoButtons - - - 99999999 - - - true - - - true - - - false - - - - - - - + @@ -175,7 +68,7 @@ - + 0 @@ -222,7 +115,7 @@ - + 0 @@ -274,167 +167,1038 @@ - - - - true + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + Qt::ImhNone + - Visualisation + Cross section definition - - - + + + + + Qt::ImhNone + - Zoom category + Height [m] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - -1 + 10 - - + + - Sewerage + x - - - - - 0 - 0 - + + + + + 0 + 125 + - - + + + 8 + + + + Qt::ImhDigitsOnly + + + Qt::ScrollBarAsNeeded + + + QAbstractScrollArea::AdjustToContents + + + QAbstractItemView::SelectRows + + 21 + - - - - - - - true - - - - 0 - 0 - - - - - - - Characteristics - - - - + + + + Qt::ImhNone + - Crest level [m] + Width [m] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - x - - - - - + + x - - + + - + 0 0 - - - - - Qt::ImhNone - QAbstractSpinBox::NoButtons - 4 + 3 1000000.000000000000000 - - true - - - true - - + + + + + + + 0 + 0 + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + false + + + + + + + Table + + + + + + + + + + Qt::ImhNone + + + Shape + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 0 + + + + + Delete selected rows + + + Delete + + + + + + + Copy + + + + + + + Paste rows from clipboard + + + Paste + + + + + + + Add new row + + + Add + + + + + + + + + + + + true + + + + + + General + + + + + + + + + Display name + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + + 0 + 0 + + + + + + + true + + + + + + + + + + ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + Code + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + true + + + + + + + + + + true + + + QAbstractSpinBox::NoButtons + + + 99999999 + + + true + + + true + + + false + + + + + + + + + + true + + + + 0 + 0 + + + + + + + Characteristics + + + + + + x + + + + + + + + + + Qt::ImhNone + + + Material ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + true + + + QAbstractSpinBox::NoButtons + + + 99999999 + + + + + + + Sewerage + + + + + + + + + + + + + + + + + Qt::ImhNone + + + Friction type + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + x + + + + + + + + + + Qt::ImhNone + + + + + + + Discharge coefficient negative + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + 0 + + + 10 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 4 + + + 1000000.000000000000000 + + + true + + + true + + + true + + + + + + + x + + + + + + + x + + + + + + + + + + Qt::ImhNone + + + Friction value + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 0 + + + 10 + + + + + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + true + + + true + + + true + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + true + + + true + + + true + + + + + + + + + + Crest type + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + Discharge +coefficient positive + + + Qt::PlainText + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + -1 + + + + + + + + + + Crest level [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + true + + + true + + true - - + + + + + + + 0 + + + + + Tags + + + + + + + true + + + + + + + + + + Starting connection node + + + + + + true + + + + + + 2D exchange + + + + + + + + + Exchange level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + + + + + x + + + + + + + Exchange type + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + true + + + + + + General + + + + + + + + + ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + true + + + QAbstractSpinBox::NoButtons + + + 999999999 + + + + + + + + 0 + 0 + + + + + + + + + + + + + + Display name + + + + + + + + + + Code + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + + 0 + 0 + + + + + + + + + + + + + + Visualisation + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + + + Groundwater exchange + + + + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + + + + + x + + + + + + + + + + Exchange thickness [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + Hydraulic conductivity in [m/d] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + - - Qt::ImhNone + + QAbstractSpinBox::NoButtons - - Friction type + + 3 - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + 1000000.000000000000000 - - 10 + + + + + + x - - + + - - Qt::ImhNone + + Hydraulic conductivity out [m/d] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + 0 @@ -453,55 +1217,86 @@ 1000000.000000000000000 - - true - - - true - - - true - - - + + x - - + + + + + + + Initial water level + + + + + + + 0 + 0 + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -99999999.000000000000000 + + + 999999999.000000000000000 + - - + + - - Qt::ImhNone - - Friction value + Initial water level [m MSL] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - 0 - - 10 + -1 - - + + + + x + + + + + + + + + + Administrative properties + + + + 0 @@ -511,54 +1306,103 @@ + + Qt::ImhNone + QAbstractSpinBox::NoButtons 3 + + -9999999999.000000000000000 + - 1000000.000000000000000 + 9999999999.000000000000000 - - true + + + + + + - - true + + Manhole surface level [m] - - true + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 - - + + + + + 50 + false + false + + x - - + + + + + + + Dimensions + + + + - Discharge coefficient negative + x + + + + + + + + + + Storage area [m²] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - true + + 10 - - 0 + + + + + + + + + Bottom level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - 10 + -1 - - + + 0 @@ -583,91 +1427,99 @@ 9999999999.000000000000000 - - true - - - true - - - true - - - + + + + + 0 + 0 + + - - Discharge -coefficient positive + + Qt::ImhNone - - Qt::PlainText + + QAbstractSpinBox::NoButtons - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + 3 - - true + + -99999999.000000000000000 - - -1 + + 999999999.000000000000000 - - - - + + + + + 8 + - Crest type - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + x - - - - Qt::Vertical - - - - 20 - 40 - + + + + 0 - + + + + Tags + + + + + + + true + + + + - - - - - - - Qt::ImhNone - + + + + + Ending connection node + + + + - Cross section definition + Dimensions - - - - - + + + + + x - - Qt::ImhNone + + + + + + - Height [m] + Storage area [m²] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -677,108 +1529,179 @@ coefficient positive - - + + + + + - x + Bottom level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 - - - - - 0 - 125 - + + + + + 0 + 0 + - - - 8 - + + - Qt::ImhDigitsOnly + Qt::ImhNone - - Qt::ScrollBarAsNeeded + + QAbstractSpinBox::NoButtons - - QAbstractScrollArea::AdjustToContents + + 3 - - QAbstractItemView::SelectRows + + -9999999999.000000000000000 + + + 9999999999.000000000000000 - - 21 - - - + + + + + 0 + 0 + + Qt::ImhNone - - Width [m] + + QAbstractSpinBox::NoButtons - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + 3 + + + -99999999.000000000000000 + + + 999999999.000000000000000 - - + + + + + 8 + + x - - - - - 0 - 0 - + + + + + + + true + + + + + + 2D exchange + + + + + + - - QAbstractSpinBox::NoButtons + + Exchange level [m MSL] - - 3 + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - 1000000.000000000000000 + + -1 - - + + 0 0 + + + + + Qt::ImhNone + QAbstractSpinBox::NoButtons 3 + + -9999999999.000000000000000 + - 1000000.000000000000000 + 9999999999.000000000000000 - - + + + + x + + + + + + + Exchange type + + + + + + + + + + + + + Administrative properties + + + + - + 0 0 @@ -789,124 +1712,79 @@ coefficient positive Qt::ImhNone - - false + + QAbstractSpinBox::NoButtons - - - - - - Table + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 - - + + - - Qt::ImhNone - - Shape + Manhole surface level [m] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + -1 + - - - - 0 + + + + + 50 + false + false + - - - - Delete selected rows - - - Delete - - - - - - - Copy - - - - - - - Paste rows from clipboard - - - Paste - - - - - - - Add new row - - - Add - - - - + + x + + - - - - - Connection nodes - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - + + true + + + - Ending connection node + General - - - + + + + + + - Node initial water level [m] + ID Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - 10 - - + @@ -914,6 +1792,9 @@ coefficient positive 0 + + + true @@ -923,38 +1804,38 @@ coefficient positive 999999999 - - true - - - false - - - - - Connection node ID + + + + + 0 + 0 + - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + - - + + + + + - Node code - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + Display name - + + + + - Node storage area [m²] + Code Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -964,7 +1845,7 @@ coefficient positive - + @@ -972,98 +1853,115 @@ coefficient positive 0 - - true + + - - - - - 0 - 0 - - - - QAbstractSpinBox::NoButtons + + + + - - 3 + + Visualisation - - 999999999.000000000000000 + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - true + + -1 - - + + + + + + + Qt::Vertical + + + + 505 + 199 + + + + + + + + Groundwater exchange + + + + 0 0 + + + QAbstractSpinBox::NoButtons 3 - - -1000.000000000000000 - 1000000.000000000000000 - - true - - - true - - - true - - - + + x - - + + + + + - x + Exchange thickness [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - true - - - Starting connection node - - - - + + + + + + + Hydraulic conductivity in [m/d] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + 0 0 + + + QAbstractSpinBox::NoButtons @@ -1071,105 +1969,82 @@ coefficient positive 3 - 999999999.000000000000000 - - - true - - - - - - - - 0 - 0 - - - - true + 1000000.000000000000000 - - + + - Node initial water level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 + x - - + + + + + - Node storage area [m²] + Hydraulic conductivity out [m/d] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - 10 - - - + + 0 0 - - true + + QAbstractSpinBox::NoButtons - - 999999999 - - - true - - - false - - - - - - - Node code + + 3 - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + 1000000.000000000000000 - - + + - Connection node ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + x - - + + + + + + + Initial water level + + + + 0 0 + + + + + Qt::ImhNone + QAbstractSpinBox::NoButtons @@ -1177,31 +2052,31 @@ coefficient positive 3 - -1000.000000000000000 + -99999999.000000000000000 - 1000000.000000000000000 - - - true - - - true - - - true + 999999999.000000000000000 - - + + + + + - x + Initial water level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 - - + + x @@ -1210,6 +2085,27 @@ coefficient positive + + + + 0 + + + + + Tags + + + + + + + true + + + + + @@ -1218,13 +2114,6 @@ coefficient positive - - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - @@ -1243,8 +2132,6 @@ coefficient positive friction_type discharge_coefficient_negative discharge_coefficient_negative_clear - zoom_category - sewerage cross_section_shape cross_section_width cross_section_width_clear @@ -1255,20 +2142,8 @@ coefficient positive cross_section_table_copy cross_section_table_paste cross_section_table_add - connection_node_start_id - connection_node_end_id - connection_node_1_id - connection_node_1_code - connection_node_1_initial_waterlevel - connection_node_1_initial_waterlevel_clear - connection_node_1_storage_area - connection_node_1_storage_area_clear - connection_node_2_id - connection_node_2_code - connection_node_2_initial_waterlevel - connection_node_2_initial_waterlevel_clear - connection_node_2_storage_area - connection_node_2_storage_area_clear + connection_node_id_start + connection_node_id_end diff --git a/threedi_schematisation_editor/forms/ui/pipe.ui b/threedi_schematisation_editor/forms/ui/pipe.ui index 30c32c7..4f2c8de 100644 --- a/threedi_schematisation_editor/forms/ui/pipe.ui +++ b/threedi_schematisation_editor/forms/ui/pipe.ui @@ -28,7 +28,7 @@ 0 0 515 - 820 + 787 @@ -48,132 +48,7 @@ Pipe - - - - - - - Qt::ImhNone - - - Connection nodes - - - - - - - 0 - 0 - - - - - - - Qt::ImhNone - - - true - - - QAbstractSpinBox::NoButtons - - - 999999999 - - - true - - - false - - - - - - - - - - Qt::ImhNone - - - Start connection node ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - Qt::ImhNone - - - true - - - QAbstractSpinBox::NoButtons - - - 999999999 - - - true - - - false - - - - - - - - - - Qt::ImhNone - - - End connection node ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - + @@ -391,8 +266,8 @@ - - + + @@ -400,55 +275,37 @@ Qt::ImhNone - General + Characteristics - - - - - - - - Qt::ImhNone - + + + - ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + x - - + + Qt::ImhNone - - true - - - QAbstractSpinBox::NoButtons - - - 99999999 - - - true + + Friction type - - true + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - false + + 10 - - + + @@ -456,18 +313,15 @@ Qt::ImhNone - Calculation type + Start invert level Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - 10 - - - + + @@ -475,28 +329,15 @@ Qt::ImhNone - Code + End invert level Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - Distance between calculation points [m] - - - true - - - 10 - - - - - + + 0 @@ -516,10 +357,10 @@ 3 - -9999999999.000000000000000 + -99999999.000000000000000 - 9999999999.000000000000000 + 99999999.000000000000000 true @@ -532,27 +373,15 @@ - - - - - - - Qt::ImhNone - + + - Display name - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 + x - - + + 0 @@ -565,20 +394,31 @@ Qt::ImhNone - + + QAbstractSpinBox::NoButtons + + + 3 + + + -99999999.000000000000000 + + + 99999999.000000000000000 + + true - - - - - - x + + true + + + true - - + + 0 @@ -591,42 +431,62 @@ Qt::ImhNone - - - - - - - 0 - 0 - + + QAbstractSpinBox::NoButtons + + + 4 + + + 1000000.000000000000000 + + + true + + + true + + + true + + + + + + + x + + + + Qt::ImhNone - - true + + Sewerage type + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + + + Qt::ImhNone - - - - - - - - - - Qt::ImhNone - - - Characteristics - - @@ -646,8 +506,27 @@ - - + + + + + + + Qt::ImhNone + + + Material ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + 0 @@ -660,31 +539,45 @@ Qt::ImhNone + + + + + + true + QAbstractSpinBox::NoButtons - - 3 - - - -99999999.000000000000000 - - 99999999.000000000000000 - - - true - - - true - - - true + 99999999 - - + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Groundwater exchange + + + + 0 @@ -694,65 +587,31 @@ - - Qt::ImhNone - QAbstractSpinBox::NoButtons - 4 + 3 1000000.000000000000000 - - true - - - true - - - true - - - + + x - - - - - - - Qt::ImhNone - - - Friction type - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - + - - Qt::ImhNone - - Start invert level + Exchange thickness [m] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -760,23 +619,20 @@ - + - - Qt::ImhNone - - End invert level + Hydraulic conductivity in [m/d] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + 0 @@ -786,90 +642,71 @@ - - Qt::ImhNone - QAbstractSpinBox::NoButtons 3 - - -99999999.000000000000000 - - 99999999.000000000000000 - - - true - - - true - - - true + 1000000.000000000000000 - - + + x - - + + - - Qt::ImhNone - - Material + Hydraulic conductivity out [m/d] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - 10 - - - - - x + + + + + 0 + 0 + - - - - - - Qt::ImhNone + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 - - - - - - - Qt::ImhNone + + + + x - - + + @@ -877,11 +714,42 @@ Qt::ImhNone - Visualisation + Connection nodes - - - + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + true + + + QAbstractSpinBox::NoButtons + + + 999999999 + + + true + + + false + + + + + @@ -889,18 +757,15 @@ Qt::ImhNone - Zoom category + Start connection node ID Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - -1 - - + 0 @@ -913,10 +778,25 @@ Qt::ImhNone + + true + + + QAbstractSpinBox::NoButtons + + + 999999999 + + + true + + + false + - + @@ -924,7 +804,7 @@ Qt::ImhNone - Sewerage type + End connection node ID Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -934,88 +814,102 @@ - - - - - 0 - 0 - - + + + + + + + + + + Qt::ImhNone + + + General + + + + Qt::ImhNone + + ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + - - - - - - - Groundwater exchange - - - - - - - 0 - 0 - - + + + + Qt::ImhNone + + + true + QAbstractSpinBox::NoButtons - - 3 - - 1000000.000000000000000 + 99999999 - - - - - - x + + true + + + true + + + false - - + + + + Qt::ImhNone + - Exchange thickness [m] + Code Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + + + Qt::ImhNone + - Hydraulic conductivity in [m/d] + Display name Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + 10 + - - + + 0 @@ -1025,39 +919,67 @@ - - QAbstractSpinBox::NoButtons - - - 3 + + Qt::ImhNone - - 1000000.000000000000000 + + true - - - - x + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + true - - + + + + Qt::ImhNone + - Hydraulic conductivity out [m/d] + Exchange type Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + -1 + - - + + + + Distance between calculation points [m] + + + true + + + 10 + + + + + 0 @@ -1067,84 +989,94 @@ + + Qt::ImhNone + QAbstractSpinBox::NoButtons 3 + + -9999999999.000000000000000 + - 1000000.000000000000000 + 9999999999.000000000000000 + + + true + + + true + + + true - - + + x + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + + + + + 0 + + + + + Tags + + + + + + + true + + + + + - Starting manhole + Starting connection node - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - true - + + - Visualisation + Initial water level - - - - - Zoom category - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - -1 - - - - - - - Manhole indicator - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - + + + 0 @@ -1154,198 +1086,82 @@ - - - - - - - 0 - 0 - - - - - - - - - - - true - - - General - - - - - - Display name + + Qt::ImhNone - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + QAbstractSpinBox::NoButtons - - 10 + + 3 - - - - - - - 0 - 0 - + + -99999999.000000000000000 - - true + + 999999999.000000000000000 - - - ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - Code - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - true + + + - - - - - Calculation type + Initial water level [m MSL] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - 10 - - - - - - - - 0 - 0 - + -1 - - - - true - - - QAbstractSpinBox::NoButtons - - - 99999999 - - - true - - - true - - - false + + + + x - - - - true + + + + Qt::Vertical + + + + 20 + 40 + + + + + - Connection node + Dimensions - - - + + + - Node initial water level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - 0 - 0 - - - - QAbstractSpinBox::NoButtons - - - 3 - - - 999999999.000000000000000 - - - true - - - - - - - - 0 - 0 - - - - true + x - + + + + - Node storage area [m²] + Storage area [m²] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -1355,24 +1171,36 @@ - - + + + + + - Node code + Bottom level [m MSL] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + -1 + - - + + 0 0 + + + + + Qt::ImhNone + QAbstractSpinBox::NoButtons @@ -1380,66 +1208,48 @@ 3 - -1000.000000000000000 + -9999999999.000000000000000 - 1000000.000000000000000 - - - true - - - true - - - true - - - - - - - Connection node ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + 9999999999.000000000000000 - - + + 0 0 - - true + + + + + Qt::ImhNone QAbstractSpinBox::NoButtons - - 999999999 + + 3 - - true + + -99999999.000000000000000 - - false + + 999999999.000000000000000 - - - - x + + + + + 8 + - - - - x @@ -1448,142 +1258,83 @@ - - + + true + + + - Characteristics + General - - - - - - 0 - 0 - - - - QAbstractSpinBox::NoButtons - - - 3 - - - 1000000.000000000000000 - - - true - - - true - - - true + + + + + - - - - - Bottom level [m] + ID Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - 10 - - - + + 0 0 - - QAbstractSpinBox::NoButtons - - - 3 - - - -99999999.000000000000000 - - - 1000000.000000000000000 + + - + true - - true + + QAbstractSpinBox::NoButtons - - true + + 999999999 - - + + 0 0 - - QAbstractSpinBox::NoButtons - - - 3 - - - -99999999.000000000000000 - - - 1000000.000000000000000 - - - true - - - true - - - true + + - - - - Length [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + - - + + - Width [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + Display name - - + + + + + - Drain level [m] + Code Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -1593,79 +1344,80 @@ - - + + 0 0 - - QAbstractSpinBox::NoButtons - - - 3 - - - 1000000.000000000000000 - - - true - - - true - - - true + + - - + + + + + - Surface level [m] + Visualisation Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - 10 - - - - - - - x + -1 - - - - x + + + + + + + true + + + + + + 2D exchange + + + + + + - - - - - Shape + Exchange level [m MSL] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + -1 + - - + + 0 0 + + + + + Qt::ImhNone + QAbstractSpinBox::NoButtons @@ -1673,57 +1425,41 @@ 3 - -99999999.000000000000000 + -9999999999.000000000000000 - 1000000.000000000000000 - - - true - - - true - - - true - - - - - - - x + 9999999999.000000000000000 - - + + x - - + + - x + Exchange type - + - - + + Groundwater exchange - + - + 0 @@ -1745,14 +1481,14 @@ - + x - + @@ -1765,7 +1501,7 @@ - + @@ -1778,7 +1514,7 @@ - + 0 @@ -1800,14 +1536,14 @@ - + x - + @@ -1820,7 +1556,7 @@ - + 0 @@ -1842,7 +1578,7 @@ - + x @@ -1851,248 +1587,173 @@ - - - - - Ending manhole - - - - - - true - + + - General + Administrative properties - - - - - Display name - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - 0 - 0 - - - - true - - - - - - - ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - Code - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - + + + 0 0 - - true - - - - - - - Calculation type - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - 0 - 0 - + + - - - - - - true + + Qt::ImhNone QAbstractSpinBox::NoButtons - - 99999999 - - - true + + 3 - - true + + -9999999999.000000000000000 - - false + + 9999999999.000000000000000 - - - - - - - true - - - Visualisation - - - - - Zoom category - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - -1 - - - - - - - - 0 - 0 - - + - - - - - Manhole indicator + Manhole surface level [m] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - 10 + -1 - - - - - 0 - 0 - + + + + + 50 + false + false + + + + x - - - - true + + + + 0 + + + + Tags + + + + + + + true + + + + + + + + + + Ending connection node + + + + - Characteristics + Groundwater exchange - - - - - Length [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - + + + 0 0 + + + QAbstractSpinBox::NoButtons 3 - - -99999999.000000000000000 - 1000000.000000000000000 - - true + + + + + + x - - true + + + + + + - - true + + Exchange thickness [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + + + + + + Hydraulic conductivity in [m/d] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + 0 0 + + + QAbstractSpinBox::NoButtons @@ -2102,58 +1763,39 @@ 1000000.000000000000000 - - true - - - true - - - true - - - + + - Surface level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 + x - - + + + + + - Drain level [m] + Hydraulic conductivity out [m/d] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - 10 - - - - - - - x - - - + + 0 0 + + + QAbstractSpinBox::NoButtons @@ -2163,31 +1805,38 @@ 1000000.000000000000000 - - true - - - true - - - true - - - + + - Width [m] + x - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + Dimensions + + + + + + x - + + + + - Bottom level [m] + Storage area [m²] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -2198,23 +1847,35 @@ - + + + + - Shape + Bottom level [m MSL] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + -1 + - - + + 0 0 + + + + + Qt::ImhNone + QAbstractSpinBox::NoButtons @@ -2222,30 +1883,27 @@ 3 - -99999999.000000000000000 + -9999999999.000000000000000 - 1000000.000000000000000 - - - true - - - true - - - true + 9999999999.000000000000000 - - + + 0 0 + + + + + Qt::ImhNone + QAbstractSpinBox::NoButtons @@ -2256,147 +1914,118 @@ -99999999.000000000000000 - 1000000.000000000000000 - - - true - - - true - - - true - - - - - - - x - - - - - - - x + 999999999.000000000000000 - - - - x + + + + + 8 + - - - - x - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - true - + + - Connection node + Administrative properties - - - + + + 0 0 - - true + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 - - - - - - Node code + + -9999999999.000000000000000 - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + 9999999999.000000000000000 - - + + + + + - Node storage area [m²] + Manhole surface level [m] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - 10 + -1 - - - Node initial water level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + 50 + false + false + - - 10 + + x - - - - - 0 - 0 - - - - QAbstractSpinBox::NoButtons - - - 3 + + + + + + + true + + + + + + General + + + + + + - - 999999999.000000000000000 + + ID - - true + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - + @@ -2404,6 +2033,9 @@ 0 + + + true @@ -2413,80 +2045,49 @@ 999999999 - - true - - - false - - - - - Connection node ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - + + 0 0 - - QAbstractSpinBox::NoButtons - - - 3 - - - -1000.000000000000000 - - - 1000000.000000000000000 - - - true - - - true - - - true + + - - + + + + + - x + Display name - - + + + + + - x + Code + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 - - - - - - - Groundwater exchange - - - - + + 0 @@ -2496,52 +2097,57 @@ - - QAbstractSpinBox::NoButtons - - - 3 - - - 1000000.000000000000000 - - - - - - - x - - - + + - Exchange thickness [m] + Visualisation Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + -1 + - - + + + + + + + true + + + + + + 2D exchange + + + + - Hydraulic conductivity in [m/d] + Exchange level [m MSL] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + -1 + - - + + 0 @@ -2551,39 +2157,64 @@ + + Qt::ImhNone + QAbstractSpinBox::NoButtons 3 + + -9999999999.000000000000000 + - 1000000.000000000000000 + 9999999999.000000000000000 - - + + x - - - - - + + - Hydraulic conductivity out [m/d] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + Exchange type - - + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Initial water level + + + + 0 @@ -2593,19 +2224,41 @@ + + Qt::ImhNone + QAbstractSpinBox::NoButtons 3 + + -99999999.000000000000000 + - 1000000.000000000000000 + 999999999.000000000000000 - - + + + + + + + Initial water level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + x @@ -2614,6 +2267,27 @@ + + + + 0 + + + + + Tags + + + + + + + true + + + + + @@ -2637,19 +2311,13 @@ id code display_name - calculation_type - dist_calc_points - dist_calc_points_clear - invert_level_start_point - invert_level_start_point_clear - invert_level_end_point - invert_level_end_point_clear + invert_level_start + invert_level_start_clear + invert_level_end + invert_level_end_clear friction_value friction_value_clear friction_type - material - zoom_category - sewerage_type exchange_thickness exchange_thickness_clear hydraulic_conductivity_in @@ -2666,66 +2334,8 @@ cross_section_table_copy cross_section_table_paste cross_section_table_add - connection_node_start_id - connection_node_end_id - manhole_1_id - manhole_1_code - manhole_1_display_name - manhole_1_calculation_type - manhole_1_shape - manhole_1_width - manhole_1_width_clear - manhole_1_length - manhole_1_length_clear - manhole_1_bottom_level - manhole_1_bottom_level_clear - manhole_1_surface_level - manhole_1_surface_level_clear - manhole_1_drain_level - manhole_1_drain_level_clear - manhole_1_zoom_category - manhole_1_manhole_indicator - manhole_1_exchange_thickness - manhole_1_exchange_thickness_clear - manhole_1_hydraulic_conductivity_in - manhole_1_hydraulic_conductivity_in_clear - manhole_1_hydraulic_conductivity_out - manhole_1_hydraulic_conductivity_out_clear - connection_node_1_id - connection_node_1_code - connection_node_1_initial_waterlevel - connection_node_1_initial_waterlevel_clear - connection_node_1_storage_area - connection_node_1_storage_area_clear - manhole_2_id - manhole_2_code - manhole_2_display_name - manhole_2_calculation_type - manhole_2_shape - manhole_2_width - manhole_2_width_clear - manhole_2_length - manhole_2_length_clear - manhole_2_bottom_level - manhole_2_bottom_level_clear - manhole_2_surface_level - manhole_2_surface_level_clear - manhole_2_drain_level - manhole_2_drain_level_clear - manhole_2_zoom_category - manhole_2_manhole_indicator - manhole_2_exchange_thickness - manhole_2_exchange_thickness_clear - manhole_2_hydraulic_conductivity_in - manhole_2_hydraulic_conductivity_in_clear - manhole_2_hydraulic_conductivity_out - manhole_2_hydraulic_conductivity_out_clear - connection_node_2_id - connection_node_2_code - connection_node_2_initial_waterlevel - connection_node_2_initial_waterlevel_clear - connection_node_2_storage_area - connection_node_2_storage_area_clear + connection_node_id_start + connection_node_id_end diff --git a/threedi_schematisation_editor/forms/ui/potential_breach.ui b/threedi_schematisation_editor/forms/ui/potential_breach.ui index c01a60f..ceae644 100644 --- a/threedi_schematisation_editor/forms/ui/potential_breach.ui +++ b/threedi_schematisation_editor/forms/ui/potential_breach.ui @@ -32,6 +32,19 @@ + + + + Qt::Vertical + + + + 20 + 40 + + + + @@ -116,7 +129,7 @@ - Max breach depth [m] + Fianl breach depth [m] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -204,7 +217,7 @@ - + 0 @@ -238,14 +251,14 @@ - + x - + 0 @@ -279,7 +292,7 @@ - + x @@ -317,7 +330,7 @@ - Exchange level [m MSL] + Initial exchange level [m MSL] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -331,17 +344,25 @@ - - - Qt::Vertical + + + 0 - - - 20 - 40 - - - + + + + Tags + + + + + + + true + + + + @@ -361,10 +382,10 @@ id code display_name - exchange_level - exchange_level_clear - maximum_breach_depth - maximum_breach_depth_clear + initial_exchange_level + initial_exchange_level_clear + final_exchange_level + final_exchange_level_clear levee_material channel_id diff --git a/threedi_schematisation_editor/forms/ui/pumpstation.ui b/threedi_schematisation_editor/forms/ui/pump.ui similarity index 91% rename from threedi_schematisation_editor/forms/ui/pumpstation.ui rename to threedi_schematisation_editor/forms/ui/pump.ui index dda6fa5..fee0b83 100644 --- a/threedi_schematisation_editor/forms/ui/pumpstation.ui +++ b/threedi_schematisation_editor/forms/ui/pump.ui @@ -1,7 +1,7 @@ - PumpstationEditForm - + PumpEditForm + 0 @@ -11,7 +11,7 @@ - Pumpstation without end node + Pump @@ -32,7 +32,134 @@ - + + + + true + + + + + + General + + + + + + + + + Display name + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + + 0 + 0 + + + + + + + true + + + + + + + + + + ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + Code + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + true + + + + + + + + + + true + + + QAbstractSpinBox::NoButtons + + + 99999999 + + + true + + + true + + + false + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + true @@ -79,7 +206,7 @@ - Node initial water level [m] + Node initial water level [m MSL] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -118,7 +245,7 @@ - + 0 @@ -215,7 +342,7 @@ - + x @@ -231,6 +358,27 @@ + + + + 0 + + + + + Tags + + + + + + + true + + + + + @@ -243,8 +391,44 @@ Characteristics - - + + + + x + + + + + + + + + + Start level [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + Capacity [L/s] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + 0 @@ -254,9 +438,6 @@ - - Qt::ImhNone - QAbstractSpinBox::NoButtons @@ -264,10 +445,10 @@ 3 - -9999999999.000000000000000 + -99999999.000000000000000 - 9999999999.000000000000000 + 1000000.000000000000000 true @@ -280,46 +461,27 @@ - - - - x - - - - - + + - - Start level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - + + - Lower stop level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + Sewerage - - + + - Type + Upper stop level [m] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -329,24 +491,29 @@ - - - - - + + - Capacity [L/s] + x - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + x - - 10 + + + + + + x - - + + 0 @@ -382,22 +549,8 @@ - - - - x - - - - - - - x - - - - - + + 0 @@ -407,6 +560,9 @@ + + Qt::ImhNone + QAbstractSpinBox::NoButtons @@ -414,10 +570,10 @@ 3 - -99999999.000000000000000 + -9999999999.000000000000000 - 1000000.000000000000000 + 9999999999.000000000000000 true @@ -430,20 +586,7 @@ - - - - - - - Upper stop level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - + @@ -477,49 +620,13 @@ - - - - x - - - - - - - - - - - - - - - - - true - - - - - - Visualisation - - - - - - Sewerage - - - - - + + - Zoom category + Type Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -529,149 +636,22 @@ - - - - - 0 - 0 - - - - - - - - - - - - - - true - - - - - - General - - - - - - - - - Display name - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - 0 - 0 - - - - - - - true - - - - - - - - - - ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - + - Code + Lower stop level [m] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - 0 - 0 - - - - - - - true - - - - - - - - - - true - - - QAbstractSpinBox::NoButtons - - - 99999999 - - - true - - - true - - - false - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - @@ -694,17 +674,12 @@ start_level_clear lower_stop_level lower_stop_level_clear - upper_stop_level - upper_stop_level_clear capacity capacity_clear - type - zoom_category - sewerage connection_node_id connection_node_code - connection_node_initial_waterlevel - connection_node_initial_waterlevel_clear + connection_node_initial_water_level + connection_node_initial_water_level_clear connection_node_storage_area connection_node_storage_area_clear diff --git a/threedi_schematisation_editor/forms/ui/pump_map.ui b/threedi_schematisation_editor/forms/ui/pump_map.ui new file mode 100644 index 0000000..07d31b0 --- /dev/null +++ b/threedi_schematisation_editor/forms/ui/pump_map.ui @@ -0,0 +1,678 @@ + + + PumpMapEditForm + + + + 0 + 0 + 550 + 550 + + + + Pump map + + + + + + QFrame::NoFrame + + + true + + + + + 0 + 0 + 532 + 503 + + + + + + + + + + Qt::ImhNone + + + 0 + + + + Pump map + + + + + + true + + + + + + Pump characteristics + + + + + + + + + + + + + + 0 + 0 + + + + + + + true + + + + + + + + + + Type + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + true + + + true + + + true + + + + + + + x + + + + + + + + + + true + + + QAbstractSpinBox::NoButtons + + + 99999999 + + + true + + + true + + + false + + + + + + + + + + Start level [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + -99999999.000000000000000 + + + 1000000.000000000000000 + + + true + + + true + + + true + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + true + + + true + + + true + + + + + + + x + + + + + + + + + + Display name + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + + + + Code + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + x + + + + + + + Qt::LeftToRight + + + Sewerage + + + + + + + + + + Lower stop level [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + Qt::Vertical + + + QSizePolicy::MinimumExpanding + + + + 20 + 10 + + + + + + + + + + + ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + -99999999.000000000000000 + + + 1000000.000000000000000 + + + true + + + true + + + true + + + + + + + + + + Upper stop level [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + + + + Capacity [L/s] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + x + + + + + + + + 0 + 0 + + + + + + + true + + + + + + + + + + + + + Qt::ImhNone + + + End connection node ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + true + + + + + + General + + + + + + + + + ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + Display name + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + + + + true + + + QAbstractSpinBox::NoButtons + + + 99999999 + + + true + + + true + + + false + + + + + + + + 0 + 0 + + + + + + + true + + + + + + + + + + Code + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + true + + + + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + true + + + QAbstractSpinBox::NoButtons + + + 999999999 + + + true + + + false + + + + + + + Qt::Vertical + + + QSizePolicy::MinimumExpanding + + + + 20 + 10 + + + + + + + + 0 + + + + + Tags + + + + + + + true + + + + + + + + + + + + + + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + scrollArea + tabWidget + id + code + display_name + pump_id + pump_code + pump_display_name + pump_start_level + pump_start_level_clear + pump_lower_stop_level + pump_lower_stop_level_clear + pump_capacity + pump_capacity_clear + + + + diff --git a/threedi_schematisation_editor/forms/ui/pumpstation_map.ui b/threedi_schematisation_editor/forms/ui/pumpstation_map.ui deleted file mode 100644 index 2dd63c5..0000000 --- a/threedi_schematisation_editor/forms/ui/pumpstation_map.ui +++ /dev/null @@ -1,1126 +0,0 @@ - - - PumpstationMapEditForm - - - - 0 - 0 - 550 - 550 - - - - Pumpstation with end node - - - - - - QFrame::NoFrame - - - true - - - - - 0 - 0 - 532 - 503 - - - - - - - - - - Qt::ImhNone - - - 0 - - - - Pumpstation map - - - - - - Qt::Vertical - - - QSizePolicy::MinimumExpanding - - - - 20 - 10 - - - - - - - - - - - Qt::ImhNone - - - Connection nodes - - - - - - - 0 - 0 - - - - - - - Qt::ImhNone - - - true - - - QAbstractSpinBox::NoButtons - - - 999999999 - - - true - - - false - - - - - - - - - - Qt::ImhNone - - - Start connection node ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - Qt::ImhNone - - - true - - - QAbstractSpinBox::NoButtons - - - 999999999 - - - true - - - false - - - - - - - - - - Qt::ImhNone - - - End connection node ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - - - true - - - - - - General - - - - - - - - - true - - - QAbstractSpinBox::NoButtons - - - 99999999 - - - true - - - true - - - false - - - - - - - - - - Display name - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - - - ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - true - - - - - - - - - - Code - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - - - true - - - - - - - - - - true - - - - - - Pumpstation characteristics - - - - - - Qt::Vertical - - - QSizePolicy::MinimumExpanding - - - - 20 - 10 - - - - - - - - x - - - - - - - - - - Type - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - - - Lower stop level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - Qt::Vertical - - - QSizePolicy::MinimumExpanding - - - - 20 - 10 - - - - - - - - Qt::LeftToRight - - - Sewerage - - - - - - - - - - Zoom category - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - -1 - - - - - - - - 0 - 0 - - - - - - - Qt::ImhNone - - - QAbstractSpinBox::NoButtons - - - 3 - - - -9999999999.000000000000000 - - - 9999999999.000000000000000 - - - true - - - true - - - true - - - - - - - - - - Display name - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - x - - - - - - - - 0 - 0 - - - - - - - QAbstractSpinBox::NoButtons - - - 3 - - - -99999999.000000000000000 - - - 1000000.000000000000000 - - - true - - - true - - - true - - - - - - - - 0 - 0 - - - - - - - QAbstractSpinBox::NoButtons - - - 3 - - - -99999999.000000000000000 - - - 1000000.000000000000000 - - - true - - - true - - - true - - - - - - - - 0 - 0 - - - - - - - Qt::ImhNone - - - QAbstractSpinBox::NoButtons - - - 3 - - - -9999999999.000000000000000 - - - 9999999999.000000000000000 - - - true - - - true - - - true - - - - - - - - - - Start level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - - - Code - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - - - Upper stop level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - - - Capacity [L/s] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - - - ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - x - - - - - - - x - - - - - - - - - - true - - - QAbstractSpinBox::NoButtons - - - 99999999 - - - true - - - true - - - false - - - - - - - - 0 - 0 - - - - - - - true - - - - - - - - 0 - 0 - - - - - - - true - - - - - - - - - - - - - - - 0 - 0 - - - - - - - - - - - - - - - Connection nodes - - - - - - true - - - Ending connection node - - - - - - Node storage area [m²] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - 0 - 0 - - - - true - - - QAbstractSpinBox::NoButtons - - - 999999999 - - - true - - - false - - - - - - - Connection node ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - QAbstractSpinBox::NoButtons - - - 3 - - - 999999999.000000000000000 - - - true - - - - - - - - 0 - 0 - - - - QAbstractSpinBox::NoButtons - - - 3 - - - -1000.000000000000000 - - - 1000000.000000000000000 - - - true - - - true - - - true - - - - - - - Node initial water level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - Node code - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - true - - - - - - - x - - - - - - - x - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - true - - - Starting connection node - - - - - - Connection node ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - true - - - - - - - - 0 - 0 - - - - QAbstractSpinBox::NoButtons - - - 3 - - - 999999999.000000000000000 - - - true - - - - - - - Node initial water level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - Node code - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - QAbstractSpinBox::NoButtons - - - 3 - - - -1000.000000000000000 - - - 1000000.000000000000000 - - - true - - - true - - - true - - - - - - - Node storage area [m²] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - - 0 - 0 - - - - true - - - QAbstractSpinBox::NoButtons - - - 999999999 - - - true - - - false - - - - - - - x - - - - - - - x - - - - - - - - - - - - - - - - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - - scrollArea - tabWidget - id - code - display_name - pumpstation_id - pumpstation_code - pumpstation_display_name - pumpstation_start_level - pumpstation_start_level_clear - pumpstation_lower_stop_level - pumpstation_lower_stop_level_clear - pumpstation_upper_stop_level - pumpstation_upper_stop_level_clear - pumpstation_capacity - pumpstation_capacity_clear - pumpstation_type - pumpstation_zoom_category - pumpstation_sewerage - connection_node_start_id - connection_node_end_id - connection_node_1_id - connection_node_1_code - connection_node_1_initial_waterlevel - connection_node_1_initial_waterlevel_clear - connection_node_1_storage_area - connection_node_1_storage_area_clear - connection_node_2_id - connection_node_2_code - connection_node_2_initial_waterlevel - connection_node_2_initial_waterlevel_clear - connection_node_2_storage_area - connection_node_2_storage_area_clear - - - - diff --git a/threedi_schematisation_editor/forms/ui/surface_map.ui b/threedi_schematisation_editor/forms/ui/surface_map.ui index d6f4c45..17ca680 100644 --- a/threedi_schematisation_editor/forms/ui/surface_map.ui +++ b/threedi_schematisation_editor/forms/ui/surface_map.ui @@ -42,6 +42,19 @@ + + + + Qt::Vertical + + + + 20 + 40 + + + + @@ -54,7 +67,38 @@ General - + + + + + 0 + 0 + + + + + + + true + + + QAbstractSpinBox::NoButtons + + + 999999999 + + + true + + + true + + + false + + + + @@ -70,31 +114,16 @@ - - - - - 0 - 0 - - + + - - Qt::ImhNone - - - QAbstractSpinBox::NoButtons - - - 2 - - - 0.000000000000000 + + ID - - 100.000000000000000 + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -120,8 +149,21 @@ - - + + + + + + + Connection node ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + 0 @@ -151,39 +193,64 @@ - - + + - ID + Percentage Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + 10 + - - + + + + + 0 + 0 + + - - Connection node ID + + Qt::ImhNone - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + QAbstractSpinBox::NoButtons + + + 2 + + + 0.000000000000000 + + + 100.000000000000000 + + + + + + + x - + - Percentage + Display name Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -193,15 +260,8 @@ - - - - x - - - - - + + 0 @@ -211,23 +271,37 @@ - + true - - QAbstractSpinBox::NoButtons + + + + + + - - 999999999 + + Code - - true + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - true + + + + + + + 0 + 0 + - - false + + + + + true @@ -235,17 +309,25 @@ - - - Qt::Vertical - - - - 20 - 40 - + + + 0 - + + + + Tags + + + + + + + true + + + + @@ -257,8 +339,6 @@ scrollArea id connection_node_id - percentage - percentage_clear surface_id diff --git a/threedi_schematisation_editor/forms/ui/weir.ui b/threedi_schematisation_editor/forms/ui/weir.ui index 52f7eac..5697179 100644 --- a/threedi_schematisation_editor/forms/ui/weir.ui +++ b/threedi_schematisation_editor/forms/ui/weir.ui @@ -27,8 +27,8 @@ 0 0 - 515 - 670 + 553 + 665 @@ -48,20 +48,7 @@ Weir - - - - Qt::Vertical - - - - 20 - 40 - - - - - + @@ -74,7 +61,7 @@ - + 0 @@ -121,7 +108,7 @@ - + 0 @@ -287,29 +274,40 @@ - - - - true - + + + + Qt::ImhNone + - Characteristics + Cross section definition - - - + + + + + x + + + + + + + Table + + + + + 0 0 - - - QAbstractSpinBox::NoButtons @@ -319,26 +317,10 @@ 1000000.000000000000000 - - true - - - true - - - true - - - - - - - x - - - + + @@ -346,89 +328,46 @@ Qt::ImhNone - Friction type - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - 10 - - - - - - - Discharge coefficient negative + Height [m] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - true - - - 0 - 10 - - - - - - - Crest type - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - + + - + 0 0 - - - - - Qt::ImhNone - QAbstractSpinBox::NoButtons 3 - - -9999999999.000000000000000 - - 9999999999.000000000000000 - - - true - - - true + 1000000.000000000000000 - - true + + + + + + x - - + + - + 0 0 @@ -436,161 +375,899 @@ - - QAbstractSpinBox::NoButtons - - - 3 - - - 1000000.000000000000000 - - - true - - - true + + Qt::ImhNone - - true + + false - - - - + + + + + 0 + 125 + - - Qt::ImhNone + + + 8 + - - Friction value + + Qt::ImhDigitsOnly - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + Qt::ScrollBarAsNeeded - - 0 + + QAbstractScrollArea::AdjustToContents - - 10 + + QAbstractItemView::SelectRows + + 21 + - + + + Qt::ImhNone + - Crest level [m] + Shape Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - x - - - - - + + - - Discharge -coefficient positive + + Qt::ImhNone - - Qt::PlainText + + Width [m] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - true - - - -1 - - - - - - 0 - 0 - - - - - - - Qt::ImhNone - - - QAbstractSpinBox::NoButtons - - - 4 - - - 1000000.000000000000000 - - - true + + + + 0 - + + + + Delete selected rows + + + Delete + + + + + + + Copy + + + + + + + Paste rows from clipboard + + + Paste + + + + + + + Add new row + + + Add + + + + + + + + + + + + true + + + + + + Characteristics + + + + + + x + + + + + + + x + + + + + + + + + + Crest level [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 0 + + + + + External + + + + + + + Sewerage + + + + + + + + + + + + Qt::ImhNone + + + Friction value + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 0 + + + 10 + + + + + + + + + + Discharge +coefficient positive + + + Qt::PlainText + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + -1 + + + + + + + + + + + + + + Discharge coefficient negative + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + 0 + + + 10 + + + + + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + true + + + true + + + true + + + + + + + + + + Qt::ImhNone + + + Friction type + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + + + + Crest type + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + Qt::ImhNone + + + + + + + + + + Qt::ImhNone + + + Material ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + true + + + true + + + true + + + + + + + x + + + + + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + true + + + true + + + true + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 4 + + + 1000000.000000000000000 + + + true + + + true + + + true + + + + + + true - - true + + QAbstractSpinBox::NoButtons + + + 99999999 + + + + + + + x + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + 0 + + + + + Tags + + + + + + + true + + + + + + + + + + Starting connection node + + + + + + Administrative properties + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + + + + + + + + Manhole surface level [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 50 + false + false + + + + x + + + + + + + + + + Dimensions + + + + + + x + + + + + + + + + + Storage area [m²] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 10 + + + + + + + + + + Bottom level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -99999999.000000000000000 + + + 999999999.000000000000000 + + + + + + + + 8 + + + + x + + + + + + + + + + Initial water level + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -99999999.000000000000000 + + + 999999999.000000000000000 + + + + + + + + + + Initial water level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + x + + + + + + + + + + Groundwater exchange + + + + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 - - + + x - - + + + + + + + Exchange thickness [m] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + Hydraulic conductivity in [m/d] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + + + x - - + + - - Qt::ImhNone + + Hydraulic conductivity out [m/d] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + + + + 0 + 0 + + + + QAbstractSpinBox::NoButtons + + + 3 + + + 1000000.000000000000000 + + + + + + + x + - - + + true @@ -598,23 +1275,74 @@ coefficient positive - Visualisation + General - - - + + + + + + - Sewerage + ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + + + + 0 + 0 + + + + + + + true + + + QAbstractSpinBox::NoButtons + + + 999999999 + + + + + + + + 0 + 0 + + + + + + + + + + + + + + Display name + + + + + - Zoom category + Code Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -624,8 +1352,8 @@ coefficient positive - - + + 0 @@ -637,50 +1365,159 @@ coefficient positive - - + + + + + - External + Visualisation + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 - - + + + + true + - - Qt::ImhNone - - Cross section definition + 2D exchange - - - + + + + + + + + Exchange level [m MSL] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 + + + + + + + + 0 + 0 + + + + + + + Qt::ImhNone + + + QAbstractSpinBox::NoButtons + + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 + + + + + x - - + + - Table + Exchange type - - + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + 0 + + + + + Tags + + + + + + + true + + + + + + + + + + Ending connection node + + + + + + Groundwater exchange + + + + 0 0 + + + QAbstractSpinBox::NoButtons @@ -692,33 +1529,50 @@ coefficient positive - - + + + + x + + + + + - - Qt::ImhNone - - Height [m] + Exchange thickness [m] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - 10 + + + + + + + + + Hydraulic conductivity in [m/d] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + - + 0 0 + + + QAbstractSpinBox::NoButtons @@ -730,17 +1584,30 @@ coefficient positive - - + + x - - + + + + + + + Hydraulic conductivity out [m/d] + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + - + 0 0 @@ -748,221 +1615,229 @@ coefficient positive - - Qt::ImhNone + + QAbstractSpinBox::NoButtons - - false + + 3 + + + 1000000.000000000000000 - - - - - 0 - 125 - + + + + x - - - 8 - + + + + + + + + + Dimensions + + + + + + x - - Qt::ImhDigitsOnly + + + + + + - - Qt::ScrollBarAsNeeded + + Storage area [m²] - - QAbstractScrollArea::AdjustToContents + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - QAbstractItemView::SelectRows + + 10 - - 21 - - - + + - - Qt::ImhNone - - Shape + Bottom level [m MSL] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + -1 + - - + + + + + 0 + 0 + + Qt::ImhNone - - Width [m] + + QAbstractSpinBox::NoButtons - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + 3 + + + -9999999999.000000000000000 + + + 9999999999.000000000000000 - - - - 0 + + + + + 0 + 0 + - - - - Delete selected rows - - - Delete - - - - - - - Copy - - - - - - - Paste rows from clipboard - - - Paste - - - - - - - Add new row - - - Add - - - - - - - - - - - - - Connection nodes - - - - - - true - - - Ending connection node - - - - - - Node code + + - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + Qt::ImhNone - - - - - - Node storage area [m²] + + QAbstractSpinBox::NoButtons - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + 3 - - 10 + + -99999999.000000000000000 + + + 999999999.000000000000000 - - - Node initial water level [m] - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + 8 + - - 10 + + x - - + + + + + + + Initial water level + + + + 0 0 + + + + + Qt::ImhNone + QAbstractSpinBox::NoButtons 3 + + -99999999.000000000000000 + 999999999.000000000000000 - - true - - + + + + - Connection node ID + Initial water level [m MSL] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + -1 + - - - - - 0 - 0 - + + + + x - - true + + + + + + + + + true + + + + + + General + + + + + + + + + ID + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - + @@ -970,6 +1845,9 @@ coefficient positive 0 + + + true @@ -979,230 +1857,227 @@ coefficient positive 999999999 - - true - - - false - - - + + 0 0 - - QAbstractSpinBox::NoButtons - - - 3 + + - - -1000.000000000000000 + + + + + + + + + Display name - - 1000000.000000000000000 + + + + + + - - true + + Code - - true + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - true + + 10 - - - - x + + + + + 0 + 0 + + + + - - + + + + + - x + Visualisation + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + -1 - - + + Qt::Vertical - 20 - 40 + 505 + 258 - - + + true + + + - Starting connection node + 2D exchange - - - - - - 0 - 0 - - - - QAbstractSpinBox::NoButtons - - - 3 - - - -1000.000000000000000 - - - 1000000.000000000000000 - - - true - - - true - - - true - - - - - - - Node code - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + - - - - - Node initial water level [m] + Exchange level [m MSL] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - 10 + -1 - - + + 0 0 - - true + + + + + Qt::ImhNone QAbstractSpinBox::NoButtons - - 999999999 + + 3 - - true + + -9999999999.000000000000000 - - false + + 9999999999.000000000000000 - - + + - Connection node ID - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + x - - - - - 0 - 0 - - - - true + + + + Exchange type - - + + + + + + + + + + Administrative properties + + + + 0 0 + + + + + Qt::ImhNone + QAbstractSpinBox::NoButtons 3 - - 999999999.000000000000000 + + -9999999999.000000000000000 - - true + + 9999999999.000000000000000 - - + + + + + - Node storage area [m²] + Manhole surface level [m] Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - 10 + -1 - - - - x + + + + + 50 + false + false + - - - - x @@ -1211,6 +2086,27 @@ coefficient positive + + + + 0 + + + + + Tags + + + + + + + true + + + + + @@ -1244,9 +2140,6 @@ coefficient positive friction_type discharge_coefficient_negative discharge_coefficient_negative_clear - zoom_category - sewerage - external cross_section_shape cross_section_width cross_section_width_clear @@ -1257,20 +2150,8 @@ coefficient positive cross_section_table_copy cross_section_table_paste cross_section_table_add - connection_node_start_id - connection_node_end_id - connection_node_1_id - connection_node_1_code - connection_node_1_initial_waterlevel - connection_node_1_initial_waterlevel_clear - connection_node_1_storage_area - connection_node_1_storage_area_clear - connection_node_2_id - connection_node_2_code - connection_node_2_initial_waterlevel - connection_node_2_initial_waterlevel_clear - connection_node_2_storage_area - connection_node_2_storage_area_clear + connection_node_id_start + connection_node_id_end diff --git a/threedi_schematisation_editor/processing/__init__.py b/threedi_schematisation_editor/processing/__init__.py index bc394ee..5a8db4d 100644 --- a/threedi_schematisation_editor/processing/__init__.py +++ b/threedi_schematisation_editor/processing/__init__.py @@ -9,7 +9,6 @@ from threedi_schematisation_editor.processing.algorithms_1d2d import GenerateExchangeLines from threedi_schematisation_editor.processing.algorithms_conversion import ( ImportCulverts, - ImportManholes, ImportOrifices, ImportPipes, ImportWeirs, @@ -48,7 +47,6 @@ def loadAlgorithms(self): ImportOrifices(), ImportWeirs(), ImportPipes(), - ImportManholes(), BottomLevelCalculator(), ] for alg in self.algorithms_list: diff --git a/threedi_schematisation_editor/processing/alghorithms_inflow.py b/threedi_schematisation_editor/processing/alghorithms_inflow.py index 2488b42..48f68f6 100644 --- a/threedi_schematisation_editor/processing/alghorithms_inflow.py +++ b/threedi_schematisation_editor/processing/alghorithms_inflow.py @@ -21,7 +21,7 @@ class LinkSurfacesWithNodes(QgsProcessingAlgorithm): - """Link (impervious) surfaces to connection nodes.""" + """Link (DWF) surfaces to connection nodes.""" SURFACE_LAYER = "SURFACE_LAYER" SELECTED_SURFACES = "SELECTED_SURFACES" @@ -44,7 +44,7 @@ def name(self): return "threedi_map_surfaces_to_connection_nodes" def displayName(self): - return self.tr("Map (impervious) surfaces to connection nodes") + return self.tr("Map (DWF) surfaces to connection nodes") def group(self): return self.tr("Inflow") @@ -55,13 +55,13 @@ def groupId(self): def shortHelpString(self): return self.tr( """ -

Connect (impervious) surfaces to the sewer system by creating (impervious) surface map features. The new features are added to the (impervious) surface layer directly.

-

For each (impervious) surface, the nearest pipe is found; the surface is mapped to the the nearest of this pipe's connection nodes.

+

Connect (DWF) surfaces to the sewer system by creating (DWF) surface map features. The new features are added to the (DWF) surface layer directly.

+

For each (DWF) surface, the nearest pipe is found; the surface is mapped to the the nearest of this pipe's connection nodes.

In some cases, you may want to prefer e.g. stormwater drains over combined sewers. This can be done by setting the stormwater sewer preference to a value greater than zero.

Parameters

-

(Impervious) surface layer

+

(DWF) surface layer

Surface or Impervious surface layer that is added to the project with the 3Di Schematisation Editor.

-

(Impervious) surface map layer

+

(DWF) surface map layer

Surface map or Impervious surface map layer that is added to the project with the 3Di Schematisation Editor.

Pipe layer

Pipe layer that is added to the project with the 3Di Schematisation Editor.

@@ -70,11 +70,11 @@ def shortHelpString(self):

Sewerage types

Only pipes of the selected sewerage types will be used in the algorithm

Stormwater sewer preference

-

This value (in meters) will be subtracted from the distance between the (impervious) surface and the stormwater drain. For example: there is a combined sewer within 10 meters from the (impervious) surface, and a stormwater drain within 11 meters; if the stormwater sewer preference is 2 m, the algorithm will use 11 - 2 = 9 m as distance to the stormwater sewer, so the (impervious) surface will be mapped to one of the stormwater drain's connection nodes, instead of to the combined sewer's connection nodes.

+

This value (in meters) will be subtracted from the distance between the (DWF) surface and the stormwater drain. For example: there is a combined sewer within 10 meters from the (DWF) surface, and a stormwater drain within 11 meters; if the stormwater sewer preference is 2 m, the algorithm will use 11 - 2 = 9 m as distance to the stormwater sewer, so the (DWF) surface will be mapped to one of the stormwater drain's connection nodes, instead of to the combined sewer's connection nodes.

Sanitary sewer preference

-

This value (in meters) will be subtracted from the distance between the (impervious) surface and the sanitary sewer. See 'stormwater sewer preference' for further explanation.

+

This value (in meters) will be subtracted from the distance between the (DWF) surface and the sanitary sewer. See 'stormwater sewer preference' for further explanation.

Search distance

-

Only pipes within search distance (m) from the (impervious) surface will be used in the algorithm.

+

Only pipes within search distance (m) from the (DWF) surface will be used in the algorithm.

""" ) @@ -82,21 +82,21 @@ def initAlgorithm(self, config=None): self.addParameter( QgsProcessingParameterVectorLayer( self.SURFACE_LAYER, - self.tr("(Impervious) surface layer"), + self.tr("(DWF) surface layer"), [QgsProcessing.TypeVectorPolygon], - defaultValue="Impervious Surface", + defaultValue="Dry Weather Flow", ) ) self.addParameter( QgsProcessingParameterBoolean( self.SELECTED_SURFACES, - self.tr("Selected (impervious) surfaces only"), + self.tr("Selected (DWF) surfaces only"), ) ) self.addParameter( QgsProcessingParameterVectorLayer( self.SURFACE_MAP_LAYER, - self.tr("(Impervious) surface map layer"), + self.tr("(DWF) surface map layer"), [QgsProcessing.TypeVectorLine], defaultValue="Impervious surface map", ) @@ -217,7 +217,7 @@ def processAlgorithm(self, parameters, context, feedback): surface_map_fields = surface_map_lyr.fields() surface_map_field_names = {fld.name() for fld in surface_map_fields} next_surface_map_id = get_next_feature_id(surface_map_lyr) - surface_id_field = "surface_id" if "surface_id" in surface_map_field_names else "impervious_surface_id" + surface_id_field = "surface_id" if "surface_id" in surface_map_field_names else "dry_weather_flow_id" for surface_id, surface_pipes in surface_to_pipes_distances.items(): if feedback.isCanceled(): return {} diff --git a/threedi_schematisation_editor/processing/algorithms_1d.py b/threedi_schematisation_editor/processing/algorithms_1d.py index eaf0988..fbc2106 100644 --- a/threedi_schematisation_editor/processing/algorithms_1d.py +++ b/threedi_schematisation_editor/processing/algorithms_1d.py @@ -14,10 +14,10 @@ class BottomLevelCalculator(QgsProcessingAlgorithm): - """Calculate manhole bottom level from pipes.""" + """Calculate connection node manhole bottom level from pipes.""" - MANHOLE_LAYER = "MANHOLE_LAYER" - SELECTED_MANHOLES = "SELECTED_MANHOLES" + CONNECTION_NODE_LAYER = "CONNECTION_NODE_LAYER" + SELECTED_CONNECTION_NODES = "SELECTED_CONNECTION_NODES" PIPE_LAYER = "PIPE_LAYER" SELECTED_PIPES = "SELECTED_PIPES" OVERWRITE_LEVELS = "OVERWRITE_LEVELS" @@ -44,12 +44,12 @@ def groupId(self): def shortHelpString(self): return self.tr( """ -

Calculate manhole bottom level from the invert levels of pipes or culverts.

-

For each manhole, the algorithm determines which sides of which pipes (or culverts) are connected to it, and what the invert level is at that side. It than takes the lowest of these invert levels as bottom level for the manhole.

+

Calculate connection node manhole bottom level from the invert levels of pipes or culverts.

+

For each connection node manhole, the algorithm determines which sides of which pipes (or culverts) are connected to it, and what the invert level is at that side. It than takes the lowest of these invert levels as bottom level for the manhole.

Parameters

-

Manhole layer

-

Manhole layer that is added to the project with the 3Di Schematisation Editor.

-

If "Selected manholes only" is checked, only the selected manholes will be used in the algorithm.

+

Connection node layer

+

Connection node layer that is added to the project with the 3Di Schematisation Editor.

+

If "Selected connection nodes only" is checked, only the selected manholes will be used in the algorithm.

Pipe layer

Pipe or Culvert layer that is added to the project with the 3Di Schematisation Editor.

If "Selected pipes only" is checked, only the selected pipes will be used in the algorithm.

@@ -64,16 +64,16 @@ def shortHelpString(self): def initAlgorithm(self, config=None): self.addParameter( QgsProcessingParameterVectorLayer( - self.MANHOLE_LAYER, - self.tr("Manhole layer"), + self.CONNECTION_NODE_LAYER, + self.tr("Connection node layer"), [QgsProcessing.TypeVectorPoint], - defaultValue="Manhole", + defaultValue="Connection Node", ) ) self.addParameter( QgsProcessingParameterBoolean( - self.SELECTED_MANHOLES, - self.tr("Selected manholes only"), + self.SELECTED_CONNECTION_NODES, + self.tr("Selected connection node manholes only"), ) ) self.addParameter( @@ -106,10 +106,10 @@ def initAlgorithm(self, config=None): ) def processAlgorithm(self, parameters, context, feedback): - manhole_lyr = self.parameterAsLayer(parameters, self.MANHOLE_LAYER, context) - if manhole_lyr is None: - raise QgsProcessingException(self.invalidSourceError(parameters, self.MANHOLE_LAYER)) - selected_manholes = self.parameterAsBool(parameters, self.SELECTED_MANHOLES, context) + connection_node_lyr = self.parameterAsLayer(parameters, self.CONNECTION_NODE_LAYER, context) + if connection_node_lyr is None: + raise QgsProcessingException(self.invalidSourceError(parameters, self.CONNECTION_NODE_LAYER)) + selected_manhole_nodes = self.parameterAsBool(parameters, self.SELECTED_CONNECTION_NODES, context) pipe_lyr = self.parameterAsLayer(parameters, self.PIPE_LAYER, context) if pipe_lyr is None: raise QgsProcessingException(self.invalidSourceError(parameters, self.PIPE_LAYER)) @@ -123,25 +123,29 @@ def processAlgorithm(self, parameters, context, feedback): for pipe_feat in pipe_lyr.selectedFeatures() if selected_pipes else pipe_lyr.getFeatures(): pipe_start_node_id = pipe_feat["connection_node_id_start"] pipe_end_node_id = pipe_feat["connection_node_id_end"] - invert_level_start_point = pipe_feat["invert_level_start_point"] - invert_level_end_point = pipe_feat["invert_level_end_point"] - if invert_level_start_point != NULL: - node_adjacent_invert_levels[pipe_start_node_id].add(invert_level_start_point) - if invert_level_end_point != NULL: - node_adjacent_invert_levels[pipe_end_node_id].add(invert_level_end_point) + invert_level_start = pipe_feat["invert_level_start"] + invert_level_end = pipe_feat["invert_level_end"] + if invert_level_start != NULL: + node_adjacent_invert_levels[pipe_start_node_id].add(invert_level_start) + if invert_level_end != NULL: + node_adjacent_invert_levels[pipe_end_node_id].add(invert_level_end) processed_pipes += 1 feedback.setProgress(100 / 3 * processed_pipes / num_pipes) if feedback.isCanceled(): return {} bottom_level_changes = {} - num_manholes = manhole_lyr.selectedFeatureCount() if selected_manholes else manhole_lyr.featureCount() - processed_manholes = 0 - for manhole_feat in manhole_lyr.selectedFeatures() if selected_manholes else manhole_lyr.getFeatures(): - manhole_fid = manhole_feat.id() - node_id = manhole_feat["connection_node_id"] + num_manhole_nodes = ( + connection_node_lyr.selectedFeatureCount() if selected_manhole_nodes else connection_node_lyr.featureCount() + ) + processed_nodes = 0 + for node_feat in ( + connection_node_lyr.selectedFeatures() if selected_manhole_nodes else connection_node_lyr.getFeatures() + ): + node_fid = node_feat.id() + node_id = node_feat["id"] if not node_id: continue - bottom_level = manhole_feat["bottom_level"] + bottom_level = node_feat["bottom_level"] if bottom_level != NULL and not overwrite_levels: continue invert_levels = node_adjacent_invert_levels[node_id] @@ -151,24 +155,24 @@ def processAlgorithm(self, parameters, context, feedback): if bottom_level != NULL: if min_invert_level > bottom_level and do_not_raise_levels: continue - bottom_level_changes[manhole_fid] = min_invert_level - processed_manholes += 1 - feedback.setProgress(100 / 3 + 100 / 3 * processed_manholes / num_manholes) + bottom_level_changes[node_fid] = min_invert_level + processed_nodes += 1 + feedback.setProgress(100 / 3 + 100 / 3 * processed_nodes / num_manhole_nodes) if feedback.isCanceled(): return {} if bottom_level_changes: - bottom_level_field_idx = manhole_lyr.fields().lookupField("bottom_level") - manhole_lyr.startEditing() - for i, (manhole_fid, bottom_level) in enumerate(bottom_level_changes.items()): + bottom_level_field_idx = connection_node_lyr.fields().lookupField("bottom_level") + connection_node_lyr.startEditing() + for i, (node_fid, bottom_level) in enumerate(bottom_level_changes.items()): if feedback.isCanceled(): return {} - manhole_lyr.changeAttributeValue(manhole_fid, bottom_level_field_idx, bottom_level) + connection_node_lyr.changeAttributeValue(node_fid, bottom_level_field_idx, bottom_level) feedback.setProgress(200 / 3 + 100 / 3 * (i + 1) / len(bottom_level_changes)) if feedback.isCanceled(): return {} - success = manhole_lyr.commitChanges() + success = connection_node_lyr.commitChanges() if not success: - commit_errors = manhole_lyr.commitErrors() + commit_errors = connection_node_lyr.commitErrors() commit_errors_message = "\n".join(commit_errors) feedback.reportError(commit_errors_message) return {} diff --git a/threedi_schematisation_editor/processing/algorithms_1d2d.py b/threedi_schematisation_editor/processing/algorithms_1d2d.py index ebb2e5f..22d23b0 100644 --- a/threedi_schematisation_editor/processing/algorithms_1d2d.py +++ b/threedi_schematisation_editor/processing/algorithms_1d2d.py @@ -46,7 +46,7 @@ def shortHelpString(self):

This processing algorithm generates exchange lines for (a selection of) channels. The resulting exchange line's geometry is a copy of the input channel's geometry, at user specified distance from that channel (the GIS term for this is 'offset curve'). The resulting exchange lines is added to the exchange line layer, and the attribute 'channel_id' refers to the channel it was derived from.

Parameters

Input channel layer

-

Usually this is the Channel layer that is added to the project with the 3Di Schematisation Editor. Technically, any layer with a line geometry and the fields 'id' and 'calculation_type' can be used as input.

+

Usually this is the Channel layer that is added to the project with the 3Di Schematisation Editor. Technically, any layer with a line geometry and the fields 'id' and 'exchange_type' can be used as input.

Distance

Offset distance in meters. A positive value will place the output exchange line to the left of the line, negative values will place it to the right.

Exchange lines layer

@@ -81,11 +81,11 @@ def checkParameterValues(self, parameters, context): if success: invalid_parameters_messages = [] channels = self.parameterAsSource(parameters, self.INPUT_CHANNELS, context) - required_channel_fields = {"id", "calculation_type"} + required_channel_fields = {"id", "exchange_type"} channels_field_names = {f.name() for f in channels.fields()} if not required_channel_fields.issubset(channels_field_names): invalid_parameters_messages.append( - "Channel layer is missing required fields ('id' and/or 'calculation_type')" + "Channel layer is missing required fields ('id' and/or 'exchange_type')" ) offset_distance = self.parameterAsDouble(parameters, self.OFFSET_DISTANCE, context) if offset_distance == 0: @@ -112,15 +112,15 @@ def processAlgorithm(self, parameters, context, feedback): exchange_line_feats = [] exchange_lines_fields = exchange_lines_lyr.fields() current_exchange_line_id = get_next_feature_id(exchange_lines_lyr) - calculation_type_max_exchange_lines = { + exchange_type_max_exchange_lines = { ExchangeTypeChannel.ISOLATED.value: 0, ExchangeTypeChannel.EMBEDDED.value: 0, ExchangeTypeChannel.CONNECTED.value: 1, ExchangeTypeChannel.DOUBLE_CONNECTED.value: 2, } error_template = ( - "Error: channel {} with calculation type {} ({}) already has a maximum of {} exchange lines. " - "Change the calculation type or remove exchange lines for this channel and try again." + "Error: channel {} with exchange type {} ({}) already has a maximum of {} exchange lines. " + "Change the exchange type or remove exchange lines for this channel and try again." ) for channel_feat in channels.getFeatures(): channel_fid = channel_feat.id() @@ -128,18 +128,18 @@ def processAlgorithm(self, parameters, context, feedback): if not channel_id: feedback.reportError(f"Error: invalid channel ID. Processing feature with FID {channel_fid} skipped.") continue - calculation_type = channel_feat["calculation_type"] - if calculation_type not in calculation_type_max_exchange_lines: + exchange_type = channel_feat["exchange_type"] + if exchange_type not in exchange_type_max_exchange_lines: feedback.reportError( - f"Error: invalid channel calculation type. Processing feature with FID {channel_fid} skipped." + f"Error: invalid channel exchange type. Processing feature with FID {channel_fid} skipped." ) continue - calculation_type_name = ExchangeTypeChannel(calculation_type).name + exchange_type_name = ExchangeTypeChannel(exchange_type).name channel_expression_text = f'"channel_id" = {channel_id}' channel_exchange_lines = list(get_features_by_expression(exchange_lines_lyr, channel_expression_text)) - calc_type_limit = calculation_type_max_exchange_lines[calculation_type] + calc_type_limit = exchange_type_max_exchange_lines[exchange_type] if len(channel_exchange_lines) >= calc_type_limit: - error_msg = error_template.format(channel_id, calculation_type, calculation_type_name, calc_type_limit) + error_msg = error_template.format(channel_id, exchange_type, exchange_type_name, calc_type_limit) feedback.reportError(error_msg) continue channel_geom = channel_feat.geometry() diff --git a/threedi_schematisation_editor/processing/algorithms_conversion.py b/threedi_schematisation_editor/processing/algorithms_conversion.py index b4c80d5..b3f3c40 100644 --- a/threedi_schematisation_editor/processing/algorithms_conversion.py +++ b/threedi_schematisation_editor/processing/algorithms_conversion.py @@ -14,7 +14,6 @@ from threedi_schematisation_editor.custom_tools import ( CulvertsImporter, CulvertsIntegrator, - ManholesImporter, OrificesImporter, OrificesIntegrator, PipesImporter, @@ -331,76 +330,3 @@ def postProcessAlgorithm(self, context, feedback): for layer in QgsProject.instance().mapLayers().values(): layer.triggerRepaint() return {} - - -class ImportManholes(QgsProcessingAlgorithm): - """Import manholes.""" - - SOURCE_LAYER = "SOURCE_LAYER" - IMPORT_CONFIG = "IMPORT_CONFIG" - TARGET_GPKG = "TARGET_GPKG" - - def tr(self, string): - return QCoreApplication.translate("Processing", string) - - def createInstance(self): - return ImportManholes() - - def name(self): - return "threedi_import_manholes" - - def displayName(self): - return self.tr("Import manholes") - - def group(self): - return self.tr("Conversion") - - def groupId(self): - return "conversion" - - def shortHelpString(self): - return self.tr("""Import manholes from the external source layer.""") - - def initAlgorithm(self, config=None): - source_layer = QgsProcessingParameterFeatureSource( - self.SOURCE_LAYER, - self.tr("Source manholes layer"), - [QgsProcessing.TypeVectorPoint], - ) - self.addParameter(source_layer) - import_config_file = QgsProcessingParameterFile( - self.IMPORT_CONFIG, - self.tr("Manholes import configuration file"), - extension="json", - behavior=QgsProcessingParameterFile.File, - ) - self.addParameter(import_config_file) - target_gpkg = QgsProcessingParameterFile( - self.TARGET_GPKG, - self.tr("Target Schematisation Editor GeoPackage file"), - extension="gpkg", - behavior=QgsProcessingParameterFile.File, - ) - self.addParameter(target_gpkg) - - def processAlgorithm(self, parameters, context, feedback): - source_layer = self.parameterAsSource(parameters, self.SOURCE_LAYER, context) - if source_layer is None: - raise QgsProcessingException(self.invalidSourceError(parameters, self.SOURCE_LAYER)) - import_config_file = self.parameterAsFile(parameters, self.IMPORT_CONFIG, context) - if import_config_file is None: - raise QgsProcessingException(self.invalidSourceError(parameters, self.IMPORT_CONFIG)) - target_gpkg = self.parameterAsFile(parameters, self.TARGET_GPKG, context) - if target_gpkg is None: - raise QgsProcessingException(self.invalidSourceError(parameters, self.TARGET_GPKG)) - with open(import_config_file) as import_config_json: - import_config = json.loads(import_config_json.read()) - manholes_importer = ManholesImporter(source_layer, target_gpkg, import_config) - manholes_importer.import_structures(context=context) - manholes_importer.commit_pending_changes() - return {} - - def postProcessAlgorithm(self, context, feedback): - for layer in QgsProject.instance().mapLayers().values(): - layer.triggerRepaint() - return {} diff --git a/threedi_schematisation_editor/processing/config/import_culvert.json b/threedi_schematisation_editor/processing/config/import_culvert.json index d525b74..508326b 100644 --- a/threedi_schematisation_editor/processing/config/import_culvert.json +++ b/threedi_schematisation_editor/processing/config/import_culvert.json @@ -17,7 +17,7 @@ "display_name": { "method": "ignore" }, - "calculation_type": { + "exchange_type": { "method": "source_attribute", "source_attribute": "kdu_open", "value_map": { diff --git a/threedi_schematisation_editor/styles/vector/aggregation_settings/default.qml b/threedi_schematisation_editor/styles/vector/aggregation_settings/default.qml index 5c07f1f..d38e288 100644 --- a/threedi_schematisation_editor/styles/vector/aggregation_settings/default.qml +++ b/threedi_schematisation_editor/styles/vector/aggregation_settings/default.qml @@ -150,7 +150,7 @@ - + - + - + - + - + @@ -288,7 +288,7 @@ - + @@ -541,7 +541,7 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -94,7 +94,7 @@ @@ -162,7 +162,7 @@ @@ -362,7 +362,7 @@ - + @@ -83,7 +83,7 @@ @@ -141,7 +141,7 @@ @@ -156,7 +156,7 @@ - + @@ -287,7 +287,7 @@ - + @@ -236,7 +236,7 @@ - + @@ -46,7 +46,7 @@ - + @@ -144,7 +144,7 @@ @@ -157,7 +157,7 @@ - + - + @@ -207,19 +207,19 @@ - + - + - + @@ -230,7 +230,7 @@ - - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . - - 0 - . - - 0 - tablayout - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "display_name" - - 2 - diff --git a/threedi_schematisation_editor/styles/vector/impervious_surface/default.qml b/threedi_schematisation_editor/styles/vector/impervious_surface/default.qml deleted file mode 100644 index fa4b972..0000000 --- a/threedi_schematisation_editor/styles/vector/impervious_surface/default.qml +++ /dev/null @@ -1,662 +0,0 @@ - - - - 1 - 0 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . - - 0 - . - - 0 - tablayout - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "display_name" - - 2 - diff --git a/threedi_schematisation_editor/styles/vector/impervious_surface/surface inclination.qml b/threedi_schematisation_editor/styles/vector/impervious_surface/surface inclination.qml deleted file mode 100644 index a862bda..0000000 --- a/threedi_schematisation_editor/styles/vector/impervious_surface/surface inclination.qml +++ /dev/null @@ -1,483 +0,0 @@ - - - - 1 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "display_name" - - - - - - 0 - 0 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . - - 0 - . - - 0 - tablayout - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "display_name" - - 2 - diff --git a/threedi_schematisation_editor/styles/vector/impervious_surface_map/default.qml b/threedi_schematisation_editor/styles/vector/impervious_surface_map/default.qml deleted file mode 100644 index 75e66d7..0000000 --- a/threedi_schematisation_editor/styles/vector/impervious_surface_map/default.qml +++ /dev/null @@ -1,146 +0,0 @@ - - - - 1 - 0 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C:/Users/lukas/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\threedi_schematisation_editor\forms\ui\impervious_surface_map.ui - open_edit_form - 2 - - - 0 - uifilelayout - - - - - - - - - - - - - - - - - "fid" - - 1 - diff --git a/threedi_schematisation_editor/styles/vector/impervious_surface_map/percentage.qml b/threedi_schematisation_editor/styles/vector/impervious_surface_map/percentage.qml deleted file mode 100644 index 831fded..0000000 --- a/threedi_schematisation_editor/styles/vector/impervious_surface_map/percentage.qml +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - 1 - diff --git a/threedi_schematisation_editor/styles/vector/interflow_settings/default.qml b/threedi_schematisation_editor/styles/vector/interflow/default.qml similarity index 100% rename from threedi_schematisation_editor/styles/vector/interflow_settings/default.qml rename to threedi_schematisation_editor/styles/vector/interflow/default.qml diff --git a/threedi_schematisation_editor/styles/vector/1d_lateral/default.qml b/threedi_schematisation_editor/styles/vector/lateral_1d/default.qml similarity index 100% rename from threedi_schematisation_editor/styles/vector/1d_lateral/default.qml rename to threedi_schematisation_editor/styles/vector/lateral_1d/default.qml diff --git a/threedi_schematisation_editor/styles/vector/1d_lateral/timeseries label.qml b/threedi_schematisation_editor/styles/vector/lateral_1d/timeseries label.qml similarity index 100% rename from threedi_schematisation_editor/styles/vector/1d_lateral/timeseries label.qml rename to threedi_schematisation_editor/styles/vector/lateral_1d/timeseries label.qml diff --git a/threedi_schematisation_editor/styles/vector/2d_lateral/default.qml b/threedi_schematisation_editor/styles/vector/lateral_2d/default.qml similarity index 100% rename from threedi_schematisation_editor/styles/vector/2d_lateral/default.qml rename to threedi_schematisation_editor/styles/vector/lateral_2d/default.qml diff --git a/threedi_schematisation_editor/styles/vector/2d_lateral/timeseries label.qml b/threedi_schematisation_editor/styles/vector/lateral_2d/timeseries label.qml similarity index 100% rename from threedi_schematisation_editor/styles/vector/2d_lateral/timeseries label.qml rename to threedi_schematisation_editor/styles/vector/lateral_2d/timeseries label.qml diff --git a/threedi_schematisation_editor/styles/vector/manhole/calculation type.qml b/threedi_schematisation_editor/styles/vector/manhole/calculation type.qml index 97ee798..2745e4a 100644 --- a/threedi_schematisation_editor/styles/vector/manhole/calculation type.qml +++ b/threedi_schematisation_editor/styles/vector/manhole/calculation type.qml @@ -144,7 +144,7 @@ - + @@ -472,7 +472,7 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - C:/Users/lukas/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\threedi_schematisation_editor\forms\ui\pumpstation_map.ui + C:/Users/lukas/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\threedi_schematisation_editor\forms\ui\pump_map.ui open_edit_form 2 . @@ -212,7 +212,7 @@ 0 uifilelayout - + @@ -256,7 +256,7 @@ - + @@ -279,7 +279,7 @@ - + diff --git a/threedi_schematisation_editor/styles/vector/pumpstation_map/levels.qml b/threedi_schematisation_editor/styles/vector/pump_map/levels.qml similarity index 99% rename from threedi_schematisation_editor/styles/vector/pumpstation_map/levels.qml rename to threedi_schematisation_editor/styles/vector/pump_map/levels.qml index d2a72ee..bded724 100644 --- a/threedi_schematisation_editor/styles/vector/pumpstation_map/levels.qml +++ b/threedi_schematisation_editor/styles/vector/pump_map/levels.qml @@ -538,7 +538,7 @@ def my_form_open(dialog, layer, feature): 0 tablayout - + diff --git a/threedi_schematisation_editor/styles/vector/simple_infiltration_settings/default.qml b/threedi_schematisation_editor/styles/vector/simple_infiltration/default.qml similarity index 89% rename from threedi_schematisation_editor/styles/vector/simple_infiltration_settings/default.qml rename to threedi_schematisation_editor/styles/vector/simple_infiltration/default.qml index 86156d0..41874a5 100644 --- a/threedi_schematisation_editor/styles/vector/simple_infiltration_settings/default.qml +++ b/threedi_schematisation_editor/styles/vector/simple_infiltration/default.qml @@ -92,7 +92,7 @@ - + - + @@ -230,8 +230,8 @@ def my_form_open(dialog, layer, feature): - - + + @@ -240,8 +240,8 @@ def my_form_open(dialog, layer, feature): - - + + @@ -250,8 +250,8 @@ def my_form_open(dialog, layer, feature): - - + + diff --git a/threedi_schematisation_editor/styles/vector/surface/area and DWF production.qml b/threedi_schematisation_editor/styles/vector/surface/area and DWF production.qml deleted file mode 100644 index 5a9470c..0000000 --- a/threedi_schematisation_editor/styles/vector/surface/area and DWF production.qml +++ /dev/null @@ -1,648 +0,0 @@ - - - - 1 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "display_name" - - - - - - 0 - 0 - 0.9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - 0 - tablayout - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "display_name" - - 2 - diff --git a/threedi_schematisation_editor/styles/vector/surface/default.qml b/threedi_schematisation_editor/styles/vector/surface/default.qml index c58c1d8..34706db 100644 --- a/threedi_schematisation_editor/styles/vector/surface/default.qml +++ b/threedi_schematisation_editor/styles/vector/surface/default.qml @@ -1,31 +1,173 @@ - + 1 0 1 + 0 - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - + + 0 0 1 - - + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - + - + - + - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - + - + - + - + - + - + - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + - - - - - - - - - - + + + + + + - - - - - - - - - - + + + + + + - + - @@ -320,26 +449,53 @@ def my_form_open(dialog, layer, feature): 0 tablayout - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - @@ -352,6 +508,7 @@ def my_form_open(dialog, layer, feature): + @@ -364,11 +521,20 @@ def my_form_open(dialog, layer, feature): + + + + + + + + + "display_name" - + 2 diff --git a/threedi_schematisation_editor/styles/vector/surface_map/default.qml b/threedi_schematisation_editor/styles/vector/surface_map/default.qml index 656521c..5a0cbb5 100644 --- a/threedi_schematisation_editor/styles/vector/surface_map/default.qml +++ b/threedi_schematisation_editor/styles/vector/surface_map/default.qml @@ -102,7 +102,7 @@ - + - C:/Users/lukas/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\threedi_schematisation_editor\forms\ui\surface_map.ui + C:/Users/lukas/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\threedi_schematisation_editor\forms\ui\impervious_surface_map.ui open_edit_form 2 @@ -128,15 +128,15 @@ + - + - diff --git a/threedi_schematisation_editor/styles/vector/vegetation_drag/default.qml b/threedi_schematisation_editor/styles/vector/vegetation_drag_2d/default.qml similarity index 100% rename from threedi_schematisation_editor/styles/vector/vegetation_drag/default.qml rename to threedi_schematisation_editor/styles/vector/vegetation_drag_2d/default.qml diff --git a/threedi_schematisation_editor/styles/vector/windshielding/default.qml b/threedi_schematisation_editor/styles/vector/windshielding_1d/default.qml similarity index 100% rename from threedi_schematisation_editor/styles/vector/windshielding/default.qml rename to threedi_schematisation_editor/styles/vector/windshielding_1d/default.qml diff --git a/threedi_schematisation_editor/user_layer_handlers.py b/threedi_schematisation_editor/user_layer_handlers.py index b97460d..251ae50 100644 --- a/threedi_schematisation_editor/user_layer_handlers.py +++ b/threedi_schematisation_editor/user_layer_handlers.py @@ -322,7 +322,7 @@ def create_new_feature_from_template(self, template_feat, geometry=None, fields_ field_values = dict() for field in template_feat.fields(): field_name = field.name() - if field_name == "fid" or (fields_to_skip is not None and field_name in fields_to_skip): + if fields_to_skip is not None and field_name in fields_to_skip: continue field_values[field_name] = template_feat[field_name] new_feat = self.create_new_feature(geometry=geometry, use_defaults=False) @@ -368,10 +368,10 @@ def update_node_references(self, feat_id, geometry): end_connection_node_id_idx = layer_fields.lookupField("connection_node_id_end") changes[end_connection_node_id_idx] = end_connection_node_id if self.MODEL == dm.PumpMap: - pumpstation_layer = self.layer_manager.model_handlers[dm.Pump].layer - start_pump_feat = find_point_nodes(linestring[0], pumpstation_layer) + pump_layer = self.layer_manager.model_handlers[dm.Pump].layer + start_pump_feat = find_point_nodes(linestring[0], pump_layer) start_pump_id = start_pump_feat["id"] if start_pump_feat else None - start_pump_id_idx = layer_fields.lookupField("pumpstation_id") + start_pump_id_idx = layer_fields.lookupField("pump_id") changes[start_pump_id_idx] = start_pump_id self.layer.changeAttributeValues(feat_id, changes) @@ -383,29 +383,17 @@ def trigger_update_node_references(self, feat_id, geometry): class ConnectionNodeHandler(UserLayerHandler): MODEL = dm.ConnectionNode - # DEFAULTS = MappingProxyType( - # { - # "display_name": "new", - # "code": "new", - # "length": 0.8, - # "width": 0.8, - # "shape": ManholeShape.ROUND.value, - # "manhole_indicator": Visualisation.INSPECTION.value, - # "calculation_type": ExchangeTypeNode.ISOLATED.value, - # "bottom_level": -10.0, - # } - # ) - - def get_manhole_feat_for_node_id(self, node_id): - """Check if there is a manhole feature defined for node of the given node_id and return it.""" - manhole_feat = None - if node_id not in (None, NULL): - manhole_feats = self.layer_manager.get_layer_features(dm.Manhole, f'"connection_node_id" = {node_id}') - try: - manhole_feat = next(manhole_feats) - except StopIteration: - pass - return manhole_feat + DEFAULTS = MappingProxyType( + { + "display_name": "new", + "code": "new", + "length": 0.8, + "width": 0.8, + "shape": ManholeShape.ROUND.value, + "exchange_type": ExchangeTypeNode.ISOLATED.value, + "bottom_level": -10.0, + } + ) class BoundaryCondition1DHandler(UserLayerHandler): @@ -416,41 +404,6 @@ class Lateral1DHandler(UserLayerHandler): MODEL = dm.Lateral1D -# class ManholeHandler(UserLayerHandler): -# MODEL = dm.Manhole -# RELATED_MODELS = MappingProxyType( -# { -# dm.ConnectionNode: 1, -# } -# ) -# DEFAULTS = MappingProxyType( -# { -# "display_name": "new", -# "code": "new", -# "length": 0.8, -# "width": 0.8, -# "shape": ManholeShape.ROUND.value, -# "manhole_indicator": Visualisation.INSPECTION.value, -# "calculation_type": ExchangeTypeNode.ISOLATED.value, -# "bottom_level": -10.0, -# } -# ) -# -# def create_manhole_with_connection_node(self, geometry, template_feat=None): -# """Creating manhole with connection node at same location.""" -# connection_node_handler = self.layer_manager.model_handlers[dm.ConnectionNode] -# if template_feat is not None: -# template_connection_node_id = template_feat["connection_node_id"] -# node_template = connection_node_handler.layer.getFeature(template_connection_node_id) -# node_feat = connection_node_handler.create_new_feature_from_template(node_template, geometry=geometry) -# manhole_feat = self.create_new_feature_from_template(template_feat, geometry=geometry) -# else: -# node_feat = connection_node_handler.create_new_feature(geometry=geometry) -# manhole_feat = self.create_new_feature(geometry=geometry) -# manhole_feat["connection_node_id"] = node_feat["id"] -# return manhole_feat, node_feat - - class PumpHandler(UserLayerHandler): MODEL = dm.Pump RELATED_MODELS = MappingProxyType( @@ -470,31 +423,33 @@ class PumpHandler(UserLayerHandler): def connect_additional_signals(self): """Connecting signals to action specific for the particular layers.""" - self.layer.featureAdded.connect(self.adjust_manhole_indicator) + self.layer.featureAdded.connect(self.adjust_visualisation) self.layer.geometryChanged.connect(self.trigger_update_node_references) def disconnect_additional_signals(self): """Disconnecting signals to action specific for the particular layers.""" - self.layer.featureAdded.disconnect(self.adjust_manhole_indicator) + self.layer.featureAdded.disconnect(self.adjust_visualisation) self.layer.geometryChanged.disconnect(self.trigger_update_node_references) - def adjust_manhole_indicator(self, feat_id): - """Adjusting underlying manhole attributes.""" + def adjust_visualisation(self, feat_id): + """Adjusting underlying connection node type.""" if feat_id < 0: # This logic should be triggered just once after adding feature, but before committing changes. feat = self.layer.getFeature(feat_id) point = feat.geometry().asPoint() - manhole_handler = self.layer_manager.model_handlers[dm.Manhole] - manhole_layer = manhole_handler.layer - manhole_feat = find_point_nodes(point, manhole_layer) - if manhole_feat is not None: - manhole_fid = manhole_feat.id() - if not manhole_layer.isEditable(): - manhole_layer.startEditing() - manhole_indicator_idx = manhole_layer.fields().lookupField("manhole_indicator") - manhole_layer.changeAttributeValue(manhole_fid, manhole_indicator_idx, Visualisation.PUMP.value) - - def get_pumpstation_feats_for_node_id(self, node_id): - """Check if there is a pumpstation features defined for node of the given node_id and return it.""" + connection_node_handler = self.layer_manager.model_handlers[dm.ConnectionNode] + connection_node_layer = connection_node_handler.layer + connection_node_feat = find_point_nodes(point, connection_node_layer) + if connection_node_feat is not None: + connection_node_fid = connection_node_feat.id() + if not connection_node_layer.isEditable(): + connection_node_layer.startEditing() + visualisation_idx = connection_node_layer.fields().lookupField("visualisation") + connection_node_layer.changeAttributeValue( + connection_node_fid, visualisation_idx, Visualisation.PUMP.value + ) + + def get_pump_feats_for_node_id(self, node_id): + """Check if there is a pump features defined for node of the given node_id and return it.""" pump_feats = [] if node_id not in (None, NULL): exp = f'"connection_node_id" = {node_id}' @@ -502,25 +457,24 @@ def get_pumpstation_feats_for_node_id(self, node_id): return pump_feats def create_pump_with_connection_node(self, geometry, template_feat=None): - """Creating pumpstation with connection node at same location.""" + """Creating pump with connection node at same location.""" connection_node_handler = self.layer_manager.model_handlers[dm.ConnectionNode] if template_feat is not None: template_connection_node_id = template_feat["connection_node_id"] node_template = connection_node_handler.layer.getFeature(template_connection_node_id) node_feat = connection_node_handler.create_new_feature_from_template(node_template, geometry=geometry) - pumpstation_feat = self.create_new_feature_from_template(template_feat, geometry=geometry) + pump_feat = self.create_new_feature_from_template(template_feat, geometry=geometry) else: node_feat = connection_node_handler.create_new_feature(geometry=geometry) - pumpstation_feat = self.create_new_feature(geometry=geometry) - pumpstation_feat["connection_node_id"] = node_feat["id"] - return pumpstation_feat, node_feat + pump_feat = self.create_new_feature(geometry=geometry) + pump_feat["connection_node_id"] = node_feat["id"] + return pump_feat, node_feat class PumpMapHandler(UserLayerHandler): MODEL = dm.PumpMap RELATED_MODELS = MappingProxyType( { - dm.ConnectionNode: 2, dm.Pump: 1, } ) @@ -533,17 +487,17 @@ class PumpMapHandler(UserLayerHandler): def connect_additional_signals(self): """Connecting signals to action specific for the particular layers.""" - self.layer.featureAdded.connect(self.trigger_simplify_pumpstation_map) + self.layer.featureAdded.connect(self.trigger_simplify_pump_map) self.layer.geometryChanged.connect(self.trigger_update_node_references) def disconnect_additional_signals(self): """Disconnecting signals to action specific for the particular layers.""" - self.layer.featureAdded.disconnect(self.trigger_simplify_pumpstation_map) + self.layer.featureAdded.disconnect(self.trigger_simplify_pump_map) self.layer.geometryChanged.disconnect(self.trigger_update_node_references) - def trigger_simplify_pumpstation_map(self, pumpstation_map_id): + def trigger_simplify_pump_map(self, pump_map_id): """Triggering geometry simplification on newly added feature.""" - simplify_method = partial(self.simplify_linear_feature, pumpstation_map_id) + simplify_method = partial(self.simplify_linear_feature, pump_map_id) QTimer.singleShot(0, simplify_method) @@ -599,14 +553,14 @@ class CulvertHandler(UserLayerHandler): { "display_name": "new", "code": "new", - "dist_calc_points": 1000, - "calculation_type": ExchangeTypeCulvert.ISOLATED.value, + "calculation_point_distance": 1000, + "exchange_type": ExchangeTypeCulvert.ISOLATED.value, "friction_type": FrictionType.MANNING.value, "friction_value": 0.02, "discharge_coefficient_positive": 0.8, "discharge_coefficient_negative": 0.8, - "invert_level_start_point": -10.0, - "invert_level_end_point": -10.0, + "invert_level_start": -10.0, + "invert_level_end": -10.0, } ) @@ -672,13 +626,12 @@ class PipeHandler(UserLayerHandler): { "display_name": "new", "code": "new", - "dist_calc_points": 1000, + "calculation_point_distance": 1000, "friction_type": FrictionType.MANNING.value, - "calculation_type": ExchangeTypeNode.ISOLATED.value, - "material": PipeMaterial.CONCRETE.value, + "exchange_type": ExchangeTypeNode.ISOLATED.value, "friction_value": dm.TABLE_MANNING[PipeMaterial.CONCRETE], - "invert_level_start_point": -10.0, - "invert_level_end_point": -10.0, + "invert_level_start": -10.0, + "invert_level_end": -10.0, } ) @@ -708,8 +661,6 @@ def segmentize_pipe(self, pipe_feat_id): """Method to split single pipe into 2 vertices segments.""" connection_node_handler = self.layer_manager.model_handlers[dm.ConnectionNode] connection_node_layer = connection_node_handler.layer - manhole_handler = self.layer_manager.model_handlers[dm.Manhole] - manhole_layer = manhole_handler.layer pipe_feat = self.layer.getFeature(pipe_feat_id) pipe_geom = pipe_feat.geometry() vertices_count = count_vertices(pipe_geom) @@ -719,38 +670,30 @@ def segmentize_pipe(self, pipe_feat_id): points_connection_nodes = {} intermediate_bottom_levels = {} pipe_polyline = pipe_geom.asPolyline() - manhole_template = None + connection_node_template = None for idx, point in enumerate(pipe_polyline): if idx == start_vertex_idx: connection_node_id = pipe_feat["connection_node_id_start"] points_connection_nodes[point] = connection_node_id - manhole_template = connection_node_handler.get_manhole_feat_for_node_id(connection_node_id) + connection_node_template = connection_node_handler.get_feat_by_id(connection_node_id) elif idx == end_vertex_idx: connection_node_id = pipe_feat["connection_node_id_end"] points_connection_nodes[point] = connection_node_id - intermediate_bottom_levels[point] = pipe_feat["invert_level_end_point"] + intermediate_bottom_levels[point] = pipe_feat["invert_level_end"] else: geom = QgsGeometry.fromPointXY(point) existing_node_feat = find_point_nodes(point, connection_node_layer) if existing_node_feat is not None: new_node_feat = existing_node_feat - existing_manhole_feat = find_point_nodes(point, manhole_layer) - if existing_manhole_feat is None: - new_manhole_feat = manhole_handler.create_new_feature(geom) - new_manhole_feat["connection_node_id"] = new_node_feat["id"] - else: - new_manhole_feat = existing_manhole_feat - intermediate_bottom_levels[point] = new_manhole_feat["bottom_level"] points_connection_nodes[point] = new_node_feat["id"] + intermediate_bottom_levels[point] = existing_node_feat["bottom_level"] else: - extra_feats = manhole_handler.create_manhole_with_connection_node( - geom, template_feat=manhole_template + new_node_feat = connection_node_handler.create_new_feature_from_template( + connection_node_template, geom ) - new_manhole_feat, new_node_feat = extra_feats points_connection_nodes[point] = new_node_feat["id"] - intermediate_bottom_levels[point] = new_manhole_feat["bottom_level"] + intermediate_bottom_levels[point] = new_node_feat["bottom_level"] connection_node_handler.layer.addFeature(new_node_feat) - manhole_handler.layer.addFeature(new_manhole_feat) # Split pipe into segments segments = zip(pipe_polyline, pipe_polyline[1:]) # Extract first segment and update source pipe @@ -759,7 +702,7 @@ def segmentize_pipe(self, pipe_feat_id): pipe_feat.setGeometry(new_source_pipe_geom) pipe_feat["connection_node_id_end"] = points_connection_nodes[first_seg_end_point] if first_seg_end_point in intermediate_bottom_levels: - pipe_feat["invert_level_end_point"] = intermediate_bottom_levels[first_seg_end_point] + pipe_feat["invert_level_end"] = intermediate_bottom_levels[first_seg_end_point] self.layer.updateFeature(pipe_feat) # Let's add a new pipes skip_fields = ["connection_node_id_start", "connection_node_id_end"] @@ -769,9 +712,9 @@ def segmentize_pipe(self, pipe_feat_id): new_feat["connection_node_id_start"] = points_connection_nodes[start_point] new_feat["connection_node_id_end"] = points_connection_nodes[end_point] if start_point in intermediate_bottom_levels: - new_feat["invert_level_start_point"] = intermediate_bottom_levels[start_point] + new_feat["invert_level_start"] = intermediate_bottom_levels[start_point] if end_point in intermediate_bottom_levels: - new_feat["invert_level_end_point"] = intermediate_bottom_levels[end_point] + new_feat["invert_level_end"] = intermediate_bottom_levels[end_point] self.layer.addFeature(new_feat) @@ -789,8 +732,8 @@ class CrossSectionLocationHandler(UserLayerHandler): "length": 0.8, "width": 0.8, "shape": ManholeShape.ROUND.value, - "manhole_indicator": Visualisation.INSPECTION.value, - "calculation_type": ExchangeTypeNode.ISOLATED.value, + "visualisation": Visualisation.INSPECTION.value, + "exchange_type": ExchangeTypeNode.ISOLATED.value, "bottom_level": -10.0, } ) @@ -1010,25 +953,25 @@ class DryWeatherFlowHandler(UserLayerHandler): def connect_additional_signals(self): """Connecting signals to action specific for the particular layers.""" - self.layer.geometryChanged.connect(self.update_surface_link) + self.layer.geometryChanged.connect(self.update_dwf_link) def disconnect_additional_signals(self): """Disconnecting signals to action specific for the particular layers.""" - self.layer.geometryChanged.disconnect(self.update_surface_link) - - def update_surface_link(self, feat_id, geometry): - """Update geometry of the surface - node link.""" - surface_handler = self.layer_manager.model_handlers[dm.DryWeatherFlow] - surface_layer = surface_handler.layer - surface_link_handler = self.layer_manager.model_handlers[dm.DryWeatherFlowMap] - surface_link_layer = surface_link_handler.layer - surface_feat = surface_layer.getFeature(feat_id) - link_feat = surface_link_handler.get_feat_by_id(surface_feat["id"], "impervious_surface_id") + self.layer.geometryChanged.disconnect(self.update_dwf_link) + + def update_dwf_link(self, feat_id, geometry): + """Update geometry of the DWF area - node link.""" + dwf_handler = self.layer_manager.model_handlers[dm.DryWeatherFlow] + dwf_layer = dwf_handler.layer + dwf_link_handler = self.layer_manager.model_handlers[dm.DryWeatherFlowMap] + dwf_link_layer = dwf_link_handler.layer + surface_feat = dwf_layer.getFeature(feat_id) + link_feat = dwf_link_handler.get_feat_by_id(surface_feat["id"], "dry_weather_flow_id") point = geometry.centroid().asPoint() link_linestring = link_feat.geometry().asPolyline() link_linestring[0] = point link_new_geom = QgsGeometry.fromPolylineXY(link_linestring) - surface_link_layer.changeGeometry(link_feat.id(), link_new_geom) + dwf_link_layer.changeGeometry(link_feat.id(), link_new_geom) class SurfaceHandler(UserLayerHandler): @@ -1092,7 +1035,7 @@ def update_link_references(self, feat_id, geometry): changes = {} start_surface_id = start_surface_feat["id"] if start_surface_feat else None end_connection_node_id = end_connection_node_feat["id"] if end_connection_node_feat else None - start_surface_id_idx = layer_fields.lookupField("impervious_surface_id") + start_surface_id_idx = layer_fields.lookupField("dry_weather_flow_id") end_connection_node_id_idx = layer_fields.lookupField("connection_node_id") changes[start_surface_id_idx] = start_surface_id changes[end_connection_node_id_idx] = end_connection_node_id diff --git a/threedi_schematisation_editor/utils.py b/threedi_schematisation_editor/utils.py index de5ca1a..5e1c49a 100644 --- a/threedi_schematisation_editor/utils.py +++ b/threedi_schematisation_editor/utils.py @@ -140,7 +140,7 @@ def layer_to_gpkg(layer, gpkg_filename, overwrite=False, driver_name="GPKG"): QgsVectorFileWriter.CreateOrOverwriteLayer if overwrite is False else QgsVectorFileWriter.CreateOrOverwriteFile ) fields = layer.fields() - valid_indexes = [fields.lookupField(fname) for fname in fields.names() if fname != "fid"] + valid_indexes = [fields.lookupField(fname) for fname in fields.names()] options.attributes = valid_indexes options.driverName = driver_name options.layerName = layer.name() @@ -295,7 +295,6 @@ def set_initial_layer_configuration(layer, model_cls): fields = layer.dataProvider().fields() columns = attr_table_config.columns() model_hidden_fields = model_cls.hidden_fields() - model_hidden_fields.add("fid") for column in columns: column_name = column.name if column_name in model_hidden_fields: @@ -972,7 +971,7 @@ def setup_friction_and_vegetation_widgets(custom_form, cross_section_shape_widge related_widget.setDisabled(True) cross_section_shape = custom_form.get_widget_value(cross_section_shape_widget) friction_value = custom_form.get_widget_value(friction_widget) - custom_form.update_cross_section_table_header("cross_section_friction_table") + custom_form.update_cross_section_table_header("cross_section_friction_values") custom_form.update_cross_section_table_header("cross_section_vegetation_table") if not custom_form.layer.isEditable(): return