From 3ebf04592f076a83971dd3cdb0c01fdcc3324da0 Mon Sep 17 00:00:00 2001 From: tschumpr Date: Tue, 19 Mar 2024 13:16:05 +0100 Subject: [PATCH 1/3] Add export for bautenausserhalbbaugebiet --- ...nterlis_exporter_to_intermediate_schema.py | 30 +++++++++++++++++++ .../model_tww_ag6496.py | 18 +++++++++++ 2 files changed, 48 insertions(+) diff --git a/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py b/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py index a371b03f9..c66521f3f 100644 --- a/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py +++ b/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py @@ -484,6 +484,10 @@ def _export_ag96(self): logger.info("Exporting TWW.gephaltung -> ABWASSER.gephaltung") self._export_gephaltung() self._check_for_stop() + + logger.info("Exporting TWW.bautenausserhalbbaugebiet -> ABWASSER.bautenausserhalbbaugebiet") + self._export_bautenausserhalbbaugebiet() + self._check_for_stop() logger.info("Exporting TWW.ueberlauf_foerderaggregat -> ABWASSER.ueberlauf_foerderaggregat") self._export_ueberlauf_foerderaggregat_ag96() @@ -613,6 +617,32 @@ def _export_gephaltung(self): logger.info("done") self.abwasser_session.flush() + def _export_bautenausserhalbbaugebiet(self): + query = self.tww_session.query(self.model_classes_tww_ag6496.bautenausserhalbbaugebiet) + for row in query: + bautenausserhalbbaugebiet = self.model_classes_interlis.bautenausserhalbbaugebiet( + **self.gep_metainformation_common_ag_xx(row,'bautenausserhalbbaugebiet'), + anzstaendigeeinwohner=row.anzstaendigeeinwohner, + arealnutzung=row.arealnutzung, + beseitigung_haeusliches_abwasser=row.beseitigung_haeusliches_abwasser, + beseitigung_gewerbliches_abwasser=row.beseitigung_gewerbliches_abwasser, + beseitigung_platzentwaesserung=row.beseitigung_platzentwaesserung, + beseitigung_dachentwaesserung=row.beseitigung_dachentwaesserung, + bezeichnung=self.truncate(self.emptystr_to_null(row.bezeichnung), 20), + eigentuemeradresse=row.eigentuemeradresse, + eigentuemername=row.eigentuemername, + einwohnergleichwert=row.einwohnergleichwert, + lage=row.lage, + nummer=row.nummer, + sanierungsbedarf=row.sanierungsbedarf, + sanierungsdatum=row.sanierungsdatum, + sanierungskonzept=row.sanierungskonzept, + ) + self.abwasser_session.add(bautenausserhalbbaugebiet) + print(".", end="") + logger.info("done") + self.abwasser_session.flush() + def _export_ueberlauf_foerderaggregat_ag96(self): query = self.tww_session.query(self.model_classes_tww_ag6496.ueberlauf_foerderaggregat) if self.filtered: diff --git a/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_tww_ag6496.py b/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_tww_ag6496.py index 96155e1be..86ecdb1b5 100644 --- a/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_tww_ag6496.py +++ b/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_tww_ag6496.py @@ -106,6 +106,24 @@ class gephaltung(self.Base): class bautenausserhalbbaugebiet(self.Base): __tablename__ = "bautenausserhalbbaugebiet" obj_id=Column(String, primary_key=True) + anzstaendigeeinwohner = Column(Integer) + arealnutzung = Column(String) + beseitigung_haeusliches_abwasser = Column(String) + beseitigung_gewerbliches_abwasser = Column(String) + beseitigung_platzentwaesserung = Column(String) + beseitigung_dachentwaesserung = Column(String) + bezeichnung = Column(String) + eigentuemeradresse = Column(String) + eigentuemername = Column(String) + einwohnergleichwert = Column(Integer) + lage = Column(Geometry) + nummer = Column(Integer) + sanierungsbedarf = Column(String) + sanierungsdatum = Column(DateTime) + sanierungskonzept = Column(String) + datenbewirtschafter_gep = Column(String) + bemerkung_gep = Column(String) + letzte_aenderung_gep = Column(DateTime) __table_args__ = {"schema": config.TWW_AG_SCHEMA} ModelTwwAG6496.bautenausserhalbbaugebiet = bautenausserhalbbaugebiet From 28d29967767309e451c431e6541413531c2e4e3a Mon Sep 17 00:00:00 2001 From: tschumpr Date: Wed, 20 Mar 2024 10:55:06 +0100 Subject: [PATCH 2/3] Capitalize value Value is lower case in value list but expected to be capitalized in ili-model. --- .../interlis_exporter_to_intermediate_schema.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py b/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py index 2f18c3799..f42bd1101 100644 --- a/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py +++ b/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py @@ -666,7 +666,7 @@ def _export_bautenausserhalbbaugebiet(self): einwohnergleichwert=row.einwohnergleichwert, lage=row.lage, nummer=row.nummer, - sanierungsbedarf=row.sanierungsbedarf, + sanierungsbedarf=row.sanierungsbedarf.capitalize(), sanierungsdatum=row.sanierungsdatum, sanierungskonzept=row.sanierungskonzept, ) From a918ecfca83f89755443bb8a1cab93f0d18263e5 Mon Sep 17 00:00:00 2001 From: tschumpr Date: Wed, 20 Mar 2024 10:58:42 +0100 Subject: [PATCH 3/3] Merge main --- ...nterlis_exporter_to_intermediate_schema.py | 48 +++++++++++++++++++ .../model_tww_ag6496.py | 42 ++++++++++++++++ 2 files changed, 90 insertions(+) diff --git a/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py b/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py index f42bd1101..0b13e210b 100644 --- a/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py +++ b/plugin/teksi_wastewater/interlis/interlis_model_mapping/interlis_exporter_to_intermediate_schema.py @@ -489,6 +489,11 @@ def _export_ag96(self): self._export_gephaltung() self._check_for_stop() + logger.info("Exporting TWW.einzugsgebiet -> ABWASSER.einzugsgebiet") + self._export_einzugsgebiet() + self._check_for_stop() + + logger.info("Exporting TWW.bautenausserhalbbaugebiet -> ABWASSER.bautenausserhalbbaugebiet") self._export_bautenausserhalbbaugebiet() self._check_for_stop() @@ -649,6 +654,49 @@ def _export_gephaltung(self): logger.info("done") self.abwasser_session.flush() + def _export_einzugsgebiet(self): + query = self.tww_session.query(self.model_classes_tww_ag6496.einzugsgebiet) + for row in query: + einzugsgebiet = self.model_classes_interlis.einzugsgebiet( + **self.gep_metainformation_common_ag_xx(row,'einzugsgebiet'), + abflussbegrenzung_geplant=row.abflussbegrenzung_geplant, + abflussbegrenzung_ist=row.abflussbegrenzung_ist, + abflussbeiwert_rw_geplant=row.abflussbeiwert_rw_geplant, + abflussbeiwert_rw_ist=row.abflussbeiwert_rw_ist, + abflussbeiwert_sw_geplant=row.abflussbeiwert_sw_geplant, + abflussbeiwert_sw_ist=row.abflussbeiwert_sw_ist, + befestigungsgrad_rw_geplant=row.befestigungsgrad_rw_geplant, + befestigungsgrad_rw_ist=row.befestigungsgrad_rw_ist, + befestigungsgrad_sw_geplant=row.befestigungsgrad_sw_geplant, + befestigungsgrad_sw_ist=row.befestigungsgrad_sw_ist, + bezeichnung=self.truncate(self.emptystr_to_null(row.bezeichnung), 20), + direkteinleitung_in_gewaesser_geplant=row.direkteinleitung_in_gewaesser_geplant, + direkteinleitung_in_gewaesser_ist=row.direkteinleitung_in_gewaesser_ist, + einwohnerdichte_geplant=row.einwohnerdichte_geplant, + einwohnerdichte_ist=row.einwohnerdichte_ist, + entwaesserungssystemag_geplant=row.entwaesserungssystemag_geplant, + entwaesserungssystemag_ist=row.entwaesserungssystemag_ist, + flaeche=row.flaeche, + fremdwasseranfall_geplant=row.fremdwasseranfall_geplant, + fremdwasseranfall_ist=row.fremdwasseranfall_ist, + perimeter=row.perimeter, + perimetertyp=row.perimetertyp, + retention_geplant=row.retention_geplant, + retention_ist="ja", # Change to row.retention_ist once the test data has been fixed + schmutzabwasseranfall_geplant=row.schmutzabwasseranfall_geplant, + schmutzabwasseranfall_ist=row.schmutzabwasseranfall_ist, + versickerung_geplant=row.versickerung_geplant, + versickerung_ist=row.versickerung_ist, + gepknoten_rw_geplantref=self.get_tid_by_obj_id(row.gepknoten_rw_geplantref), + gepknoten_rw_istref=self.get_tid_by_obj_id(row.gepknoten_rw_istref), + gepknoten_sw_geplantref=self.get_tid_by_obj_id(row.gepknoten_sw_geplantref), + gepknoten_sw_istref=self.get_tid_by_obj_id(row.gepknoten_sw_istref), + ) + self.abwasser_session.add(einzugsgebiet) + print(".", end="") + logger.info("done") + self.abwasser_session.flush() + def _export_bautenausserhalbbaugebiet(self): query = self.tww_session.query(self.model_classes_tww_ag6496.bautenausserhalbbaugebiet) for row in query: diff --git a/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_tww_ag6496.py b/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_tww_ag6496.py index 5280f14b1..9c9b4e342 100644 --- a/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_tww_ag6496.py +++ b/plugin/teksi_wastewater/interlis/interlis_model_mapping/model_tww_ag6496.py @@ -129,6 +129,48 @@ class gephaltung(self.Base): ModelTwwAG6496.gephaltung = gephaltung + class einzugsgebiet(self.Base): + __tablename__ = "einzugsgebiet" + obj_id=Column(String, primary_key=True) + abflussbegrenzung_geplant = Column(Float) + abflussbegrenzung_ist = Column(Float) + abflussbeiwert_rw_geplant = Column(Float) + abflussbeiwert_rw_ist = Column(Float) + abflussbeiwert_sw_geplant = Column(Float) + abflussbeiwert_sw_ist = Column(Float) + befestigungsgrad_rw_geplant = Column(Float) + befestigungsgrad_rw_ist = Column(Float) + befestigungsgrad_sw_geplant = Column(Float) + befestigungsgrad_sw_ist = Column(Float) + bezeichnung = Column(String) + direkteinleitung_in_gewaesser_geplant = Column(String) + direkteinleitung_in_gewaesser_ist = Column(String) + einwohnerdichte_geplant = Column(Integer) + einwohnerdichte_ist = Column(Integer) + entwaesserungssystemag_geplant = Column(String) + entwaesserungssystemag_ist = Column(String) + flaeche = Column(Float) + fremdwasseranfall_geplant = Column(Float) + fremdwasseranfall_ist = Column(Float) + perimeter = Column(Geometry) + perimetertyp = Column(String) + retention_geplant = Column(String) + retention_ist = Column(String) + schmutzabwasseranfall_geplant = Column(Float) + schmutzabwasseranfall_ist = Column(Float) + versickerung_geplant = Column(String) + versickerung_ist = Column(String) + gepknoten_rw_geplantref = Column(String) + gepknoten_rw_istref = Column(String) + gepknoten_sw_geplantref = Column(String) + gepknoten_sw_istref = Column(String) + datenbewirtschafter_gep = Column(String) + bemerkung_gep = Column(String) + letzte_aenderung_gep = Column(DateTime) + __table_args__ = {"schema": config.TWW_AG_SCHEMA} + + ModelTwwAG6496.einzugsgebiet = einzugsgebiet + class bautenausserhalbbaugebiet(self.Base): __tablename__ = "bautenausserhalbbaugebiet" obj_id=Column(String, primary_key=True)