!!===================================================================================== !! Kanton Zürich !! Baudirektion Kanton Zürich !! Amt für Raumentwicklung !! Abteilung Geoinformation !! Stampfenbachstrasse 12 !! 8090 Zürich !! !! www.geoportal.zh.ch !! !! Geobasisdatensatz Nr. 106-ZH Kommunale Energieplanung !! !! Transfermodell !!===================================================================================== !! Revision History !! !! 2023.02.10/tgr Erste Version basierend auf den Vorgaben der FIG !! 2026.07.17/LvF Zweite Version !!===================================================================================== !! Bemerkungen: !! !! - Transfermodell fuer Publikation !! Das Modell beschreibt die Daten nach der Prozessierung. !! Das Modell ist ein Anwendungsmodell fuer den GIS-Browser und die Datenabgabe. !! !! - Die Daten werden nicht an den Bund geliefert !! !! - Constraints !! !! Constraints werden in diesem Modell beschreibend als Kommentar aufgefuehrt. !! Die Constraints koennen durch das Entfernen der Kennzeichnung als Kommentierung aktiviert werden. !! Fuer verwendete Funktionen muessen die enstprechenden Modelle mit den Funktionen importiert werden. !!===================================================================================== INTERLIS 2.3; !!@ GeoLion="https://geolion.zh.ch/geodatensatz/show?nbid=4310" MODEL Energieplanung_kommunal_ZH_V2_LV95 (de) AT "http://models.geo.zh.ch" VERSION "2026-07-17" = IMPORTS UNQUALIFIED INTERLIS; IMPORTS UNQUALIFIED Basis_ZH_V1_LV95; IMPORTS GeometryCHLV95_V1; IMPORTS Units; IMPORTS Text; DOMAIN TOPIC Energieplanung = DOMAIN !!@ comment="Energiequelle"; Energiequelle = (ARA_Abwaerme, KVA_Abwaerme, Prozess_Abwaerme, Grundwasser, Seewasser, Fliessgewaesser, Holz, Erdwaerme, Luft, nicht_definiert, andere); Eignungsgebiet_Energiequelle = (ARA_Abwaerme, KVA_Abwaerme, Prozess_Abwaerme, Grundwasser, Seewasser, Fliessgewaesser, Holz, Erdwaerme, Luft, andere); !!@ comment="Status eines Verbundgebietes"; Verbundgebiet_Status = (in_Betrieb, in_Planung, in_Pruefung); !!@ comment="Status eines Gasgebietes"; Gasgebiet_Status = (Stilllegung, Fortbestand, in_Pruefung); !!@ comment="Stilllegung ab Jahr eines Gasgebietes"; Gasgebiet_Stilllegung_ab = 2025 .. 2050; !!@ comment="Stilllegung bis Jahr eines Gasgebietes"; Gasgebiet_Stilllegung_bis = 2030 .. 2050; !!@ comment="Anlageleistung bis 100000 KW / 100 MW"; Leistung_KW = 1 .. 100000; !!@ comment="Energielieferung in MWh"; Energielieferung_MWh = 1 .. 100000; !!@ comment="Temperatur Grad Celsius"; Temperatur = -100 .. 200; !!@ comment="Prozent"; Prozent = 0 .. 100; !!@ comment="Ja/Nein"; JaNein = (Ja, Nein); !!@ comment="===================================================================="; !!@ comment="Klasse Gemeinde"; CLASS Gemeinde = !!@ comment="BFS Nummer der Gemeinde"; BFSNr : MANDATORY ZHBfsNummer; !!@ comment="Name der Gemeinde"; Gemeindename : MANDATORY TEXT*80; !!@ comment="Kantonales Verfuegungsdatum der Energieplanung"; Kantonales_Verfuegungsdatum : MANDATORY ZHDatum; !!@ comment="Letzte Aktualisierung des Datensatzes"; Letzte_Aktualisierung : MANDATORY ZHDatum; !!@ comment="Kontakt mit Bezeichnung, Telefon, Mail, Internet (aus Basismodell)"; Kontakt : ZHKontakt; UNIQUE BFSNr; END Gemeinde; !!@ comment="===================================================================="; !!@ comment="Klasse Verbundgebiet"; CLASS Verbundgebiet = !!@ comment="ID fuer KGDM, zusammengesetzt mit _"; ID_Kanton : MANDATORY TEXT*100; !!@ comment="Gebietsidentifikator der Gemeinde"; ID_Gemeinde : MANDATORY TEXT*100; !!@ comment="Status des Verbundgebietes"; Status : MANDATORY Verbundgebiet_Status; !!@ comment="Jahr Erschliessung des Verbundgebietes bei Status=in_Betrieb, sonst nicht definieren"; Jahr_Inbetriebnahme : ZHJahr; !!@ comment="Jahr ab geplanter Erschliessung des Verbundgebietes bei Status=in_Planung/in_Pruefung, sonst nicht definieren"; Jahr_geplant_ab : ZHJahr; !!@ comment="Bezeichnung des Verbundgebietes"; Bezeichnung : MANDATORY TEXT*200; !!@ comment="Bemerkung zum Verbundgebiet"; Bemerkung : TEXT*200; !!@ comment="Energiequelle des Verbundgebietes"; Energiequelle : MANDATORY Energiequelle; !!@ comment="Andere Energiequelle oder Kombination mehrerer Energiequellen des Verbundgebietes bei Energiequelle=andere, sonst nicht definieren"; Energiequelle_andere : TEXT*200; !!@ comment="Anteil fossiler Energien in Prozent des Verbundgebietes bei Status=in_Betrieb oder in_Planung, sonst optional"; Anteil_fossiler_Energien : Prozent; !!@ comment="Vorlauftemperaturniveau 1 in Grad Celcius"; Vorlauftemperaturniveau_1 : Temperatur; !!@ comment="Vorlauftemperaturniveau 2 in Grad Celcius"; Vorlauftemperaturniveau_2 : Temperatur; !!@ comment="Potenzielle Energielieferung im Endausbau in MWh"; Energielieferung_Endausbau : Energielieferung_MWh; !!@ comment="Energielieferung im Ist-Zustand in MWh"; Energielieferung_Ist_Zustand : Energielieferung_MWh; !!@ comment="Flaechengeometrie des Verbundgebietes"; Geometrie : MANDATORY GeometryCHLV95_V1.MultiSurface; !!@ comment="Wenn Status=in_Betrieb kann Jahr_Inbetriebnahme definiert sein, sonst darf Jahr_Inbetriebnahme nicht definiert sein"; !!@ comment="MANDATORY CONSTRAINT (Status == #in_Betrieb) OR ((Status <> #in_Betrieb) AND NOT (DEFINED(Jahr_Inbetriebnahme)))"; !!@ comment="Wenn Status=in_Betrieb oder in_Planung muss Anteil_fossiler_Energien definiert sein, sonst Anteil_fossiler_Energien optional"; !!@ comment="MANDATORY CONSTRAINT ((Status <> #in_Pruefung) AND DEFINED(Anteil_fossiler_Energien)) OR(Status == #in_Pruefung)"; !!@ comment="Wenn Status=in_Betrieb kann Energielieferung_Ist_Zustand definiert sein, sonst darf Energielieferung_Ist_Zustand nicht definiert sein"; !!@ comment="MANDATORY CONSTRAINT (Status == #in_Betrieb) OR ((Status <> #in_Betrieb) AND NOT (DEFINED(Energielieferung_Ist_Zustand)))"; !!@ comment="Wenn Status=in_Betrieb darf nicht Energiequelle=nicht_definiert sein"; !!@ comment="MANDATORY CONSTRAINT ((Status == #in_Betrieb) AND NOT (Energiequelle == #nicht_definiert)) OR (Status <> #in_Betrieb)"; !!@ comment="Wenn Status=in_Planung oder in_Pruefung kann Jahr_geplant_ab definiert sein, sonst darf Jahr_geplant_ab nicht definiert sein"; !!@ comment="MANDATORY CONSTRAINT ((Status == #in_Betrieb) AND NOT (DEFINED(Jahr_geplant_ab))) OR (Status <> #in_Betrieb)"; !!@ comment="Wenn Energiequelle=andere muss Energiequelle_andere definiert sein, sonst darf Energiequelle_andere nicht definiert sein"; !!@ comment="MANDATORY CONSTRAINT ((Energiequelle == #andere) AND DEFINED(Energiequelle_andere)) OR ((Energiequelle <> #andere) AND NOT (DEFINED(Energiequelle_andere)))"; UNIQUE ID_Kanton; END Verbundgebiet; !!@ comment="Beziehung Verbundgebiet zu Gemeinde"; ASSOCIATION Verbundgebiet_Gemeinde_Beziehung = !!@ comment="Referenz zu Gemeinde"; GemeindeRef -<#> {1} Gemeinde; !!@ comment="Referenz zu Verbundgebiet"; VerbundgebietRef -- {0..*} Verbundgebiet; !!@ comment="Verbundgebiet->ID_Kanton gleich Gemeinde->BFSNr + '_' + Verbundgebiet->ID_Gemeinde"; !!@ comment="MANDATORY CONSTRAINT VerbundgebietRef->ID_Kanton == Text.concat(GemeindeRef->BFSNr, Text.concat("_", VerbundgebietRef->ID_Gemeinde))"; END Verbundgebiet_Gemeinde_Beziehung; !!@ comment="===================================================================="; !!@ comment="Klasse Energiezentrale"; CLASS Energiezentrale = !!@ comment="ID fuer KGDM, zusammengesetzt mit _"; ID_Kanton : MANDATORY TEXT*100; !!@ comment="Identifikator der Gemeinde"; ID_Gemeinde : MANDATORY TEXT*100; !!@ comment="Bezeichnung der Energiezentrale"; Bezeichnung : TEXT*200; !!@ comment="Bemerkung zur Energiezentrale"; Bemerkung : TEXT*200; !!@ comment="Energiequelle der Energiezentrale"; Energiequelle : MANDATORY Energiequelle; !!@ comment="Andere Energiequelle oder Kombination mehrerer Energiequellen bei Energiequelle=andere, sonst nicht definieren"; Energiequelle_andere : TEXT*200; !!@ comment="Anteil fossiler Energien in Prozent der Energiezentrale bei Verbundgebiet.Status=in_Betrieb, sonst optional"; Anteil_fossiler_Energien : Prozent; !!@ comment="Leistung der Energiezentrale in KW"; Leistung : Leistung_KW; !!@ comment="Vorlauftemperatur in Grad Celsius"; Vorlauftemperatur : Temperatur; !!@ comment="Potenzielle Energielieferung im Endausbau der Energiezentrale in MWh"; Energielieferung_Endausbau : Energielieferung_MWh; !!@ comment="Energielieferung im Ist-Zustand der Energiezentrale in MWh"; Energielieferung_Ist_Zustand : Energielieferung_MWh; !!@ comment="Punktgeometrie der Energiezentrale"; Geometrie : MANDATORY ZHKoord2D; !!@ comment="Wenn Energiequelle=andere muss Energiequelle_andere definiert sein, sonst darf Energiequelle_andere nicht definiert sein"; !!@ comment="MANDATORY CONSTRAINT ((Energiequelle == #andere) AND DEFINED(Energiequelle_andere)) OR ((Energiequelle <> #andere) AND NOT (DEFINED(Energiequelle_andere)))"; UNIQUE ID_Kanton; END Energiezentrale; !!@ comment="Beziehung Energiezentrale zu Verbundgebiet"; ASSOCIATION Energiezentrale_Verbundgebiet_Beziehung = !!@ comment="Referenz zu Energiezentrale"; EnergiezentraleRef -- {0..*} Energiezentrale; !!@ comment="Referenz zu Verbundgebiet"; VerbundgebietRef -- {1..*} Verbundgebiet; !!@ comment="Energiezentrale->ID_Kanton gleich Verbundgebiet->Gemeinde->BFSNr + '_' + Energiezentrale->ID_Gemeinde"; !!@ comment="MANDATORY CONSTRAINT EnergiezentraleRef->ID_Kanton == Text.concat(VerbundgebietRef->GemeindeRef->BFSNr, Text.concat("_", EnergiezentraleRef->ID_Gemeinde))"; !!@ comment="Wenn ein versorgtes Verbundgebiet->Status=in_Planung oder in_Betrieb muss Energiezentrale->Anteil_fossiler_Energien definiert sein, sonst Anteil_fossiler_Energien optional"; !!@ comment="MANDATORY CONSTRAINT ((VerbundgebietRef->Status <> #in_Pruefung) AND DEFINED(EnergiezentraleRef->Anteil_fossiler_Energien)) OR (VerbundgebietRef->Status == #in_Pruefung)"; !!@ comment="Wenn ein versorgtes Verbundgebiet->Status = in_Betrieb kann Energiezentrale->Energielieferung_Ist_Zustand definiert sein, sonst darf Energielieferung_Ist_Zustand nicht definiert sein"; !!@ comment="MANDATORY CONSTRAINT (VerbundgebietRef->Status == #in_Betrieb) OR ((VerbundgebietRef->Status <> #in_Betrieb) AND NOT (DEFINED(EnergiezentraleRef->Energielieferung_Ist_Zustand)))"; !!@ comment="Wenn ein versorgtes Verbundgebiet->Status=in_Betrieb darf nicht Energiezentrale->Energiequelle=nicht_definiert sein"; !!@ comment="MANDATORY CONSTRAINT ((VerbundgebietRef->Status == #in_Betrieb) AND NOT (EnergiezentraleRef->Energiequelle == #nicht_definiert)) OR (VerbundgebietRef->Status <> #in_Betrieb)"; END Energiezentrale_Verbundgebiet_Beziehung; !!@ comment="===================================================================="; !!@ comment="Klasse Eignungsgebiet"; CLASS Eignungsgebiet = !!@ comment="ID fuer KGDM, zusammengesetzt mit _"; ID_Kanton : MANDATORY TEXT*100; !!@ comment="Gebietsidentifikator der Gemeinde"; ID_Gemeinde : MANDATORY TEXT*100; !!@ comment="Bezeichnung des Eignungsgebietes"; Bezeichnung : MANDATORY TEXT*200; !!@ comment="Bemerkung zum Eignungsgebiet"; Bemerkung : TEXT*200; !!@ comment="Energiequelle Prioritaet 1 des Eignungsgebietes"; Energiequelle_Prioritaet_1 : MANDATORY Eignungsgebiet_Energiequelle; !!@ comment="Energiequelle Prioritaet 2 des Eignungsgebietes"; Energiequelle_Prioritaet_2 : Eignungsgebiet_Energiequelle; !!@ comment="Andere Energiequelle oder Kombination mehrerer Energiequellen des Eignungsgebietes bei Energiequelle_Prioritaet_1=andere, sonst nicht definieren"; Energiequelle_andere_Prioritaet_1 : TEXT*200; !!@ comment="Andere Energiequelle oder Kombination mehrerer Energiequellen des Eignungsgebietes bei Energiequelle_Prioritaet_2=andere, sonst nicht definieren"; Energiequelle_andere_Prioritaet_2 : TEXT*200; !!@ comment="Nicht priorisierte, aber moegliche Energiequellen"; Weitere_moegliche_Energiequellen : TEXT*200; !!@ comment="Koordinierte Energienutzung (ja/nein)"; Koordinierte_Energienutzung : JaNein; !!@ comment="Flaechengeometrie des Eignungsgebietes"; Geometrie : MANDATORY GeometryCHLV95_V1.MultiSurface; !!@ comment="Wenn Energiequelle_Prioritaet_1=andere muss Energiequelle_andere_Prioritaet_1 definiert sein, sonst darf Energiequelle_andere_Prioritaet_1 nicht definiert sein"; !!@ comment="MANDATORY CONSTRAINT ((Energiequelle_Prioritaet_1 == #andere) AND DEFINED(Energiequelle_andere_Prioritaet_1)) OR ((Energiequelle_Prioritaet_1 <> #andere) AND NOT (DEFINED(Energiequelle_andere_Prioritaet_1)))"; !!@ comment="Wenn Energiequelle_Prioritaet_2=andere muss Energiequelle_andere_Prioritaet_2 definiert sein, sonst darf Energiequelle_andere_Prioritaet_2 nicht definiert sein"; !!@ comment="MANDATORY CONSTRAINT (DEFINED(Energiequelle_Prioritaet_2) AND (Energiequelle_Prioritaet_2 == #andere) AND DEFINED(Energiequelle_andere_Prioritaet_2)) OR ((NOT (DEFINED(Energiequelle_Prioritaet_2)) OR (Energiequelle_Prioritaet_2 <> #andere)) AND NOT (DEFINED(Energiequelle_andere_Prioritaet_2)))"; UNIQUE ID_Kanton; END Eignungsgebiet; !!@ comment="Beziehung Eignungsgebiet zu Gemeinde"; ASSOCIATION Eignungsgebiet_Gemeinde_Beziehung = !!@ comment="Referenz zu Gemeinde"; GemeindeRef -<#> {1} Gemeinde; !!@ comment="Referenz zu Eignungsgebiet"; EignungsgebietRef -- {0..*} Eignungsgebiet; !!@ comment="Eignungsgebiet->ID_Kanton gleich Gemeinde->BFSNr + '_' + Eignungsgebiet->ID_Gemeinde"; !!@ comment="MANDATORY CONSTRAINT EignungsgebietRef->ID_Kanton == Text.concat(GemeindeRef->BFSNr, Text.concat("_", EignungsgebietRef->ID_Gemeinde))"; END Eignungsgebiet_Gemeinde_Beziehung; !!@ comment="===================================================================="; !!@ comment="Klasse Gasgebiet"; CLASS Gasgebiet = !!@ comment="ID fuer KGDM, zusammengesetzt mit _"; ID_Kanton : MANDATORY TEXT*100; !!@ comment="Gebietsidentifikator der Gemeinde"; ID_Gemeinde : MANDATORY TEXT*100; !!@ comment="Status des Gasgebietes"; Status : MANDATORY Gasgebiet_Status; !!@ comment="Bezeichnung des Gasgebietes"; Bezeichnung : TEXT*200; !!@ comment="Bemerkung zum Gasgebiet"; Bemerkung : TEXT*200; !!@ comment="Jahr ab geplanter Stilllegung bei Status=Stilllegung, sonst nicht definieren"; Stilllegung_ab : Gasgebiet_Stilllegung_ab; !!@ comment="Jahr bis zu geplanter Stilllegung bei Status=Stilllegung, sonst nicht definieren"; Stilllegung_bis : Gasgebiet_Stilllegung_bis; !!@ comment="Flaechengeometrie des Gasgebietes"; Geometrie : MANDATORY GeometryCHLV95_V1.MultiSurface; !!@ comment="Wenn Status=Fortbestand darf Stilllegung_ab und Stilllegung_bis nicht definiert sein"; !!@ comment="MANDATORY CONSTRAINT ((Status == #Fortbestand) AND NOT (DEFINED(Stilllegung_ab)) AND NOT (DEFINED(Stilllegung_bis))) OR (Status <> #Fortbestand)"; UNIQUE ID_Kanton; END Gasgebiet; !!@ comment="Beziehung Gasgebiet zu Gemeinde"; ASSOCIATION Gasgebiet_Gemeinde_Beziehung = !!@ comment="Referenz zu Gemeinde"; GemeindeRef -<#> {1} Gemeinde; !!@ comment="Referenz zu Gasgebiet"; GasgebietRef -- {0..*} Gasgebiet; !!@ comment="Gasgebiet->ID_Kanton gleich Gemeinde->BFSNr + '_' + Gasgebiet->ID_Gemeinde"; !!@ comment="MANDATORY CONSTRAINT GasgebietRef->ID_Kanton == Text.concat(GemeindeRef->BFSNr, Text.concat("_", GasgebietRef->ID_Gemeinde))"; END Gasgebiet_Gemeinde_Beziehung; END Energieplanung; END Energieplanung_kommunal_ZH_V2_LV95.