INTERLIS 2.3; !!@ technicalContact = info.atg@llv.li; !! Datenmodell Nutzungsplanung !! Basierenden auf dem Modell Nutzungsplanung das ARE vom 12.12.2011 !! erstellt durch das Amt fuer Tiefbau und Geoinformation und die Bauverwalterkonferenz !! Version vom 23.12.2016 !! letze Aenderung: 13.12.2016 Ergaenzung Texpositionen !! 16.10.2019 Anpassung Geolink, neue Version a !! 15.06.2022 Version - Anpassungen an das OeREB-Rahmenmodell Version 2.0 !! MODEL Nutzungsplanung_FL2 (de) AT "http://www.llv.li/ATG" VERSION "2022-08-31" = IMPORTS INTERLIS; IMPORTS GeometryCHLV95_V1; IMPORTS Units; IMPORTS LI_Base_V1; DOMAIN TypeID = OID TEXT*60; Einzelflaeche = SURFACE WITH (STRAIGHTS, ARCS) VERTEX GeometryCHLV95_V1.Coord2 WITHOUT OVERLAPS > 0.050; Orientation = 0.0 .. 399.9 CIRCULAR [Units.Gon]; RechtsStatus = ( inKraft, AenderungMitVorwirkung, !! kommt in FL nicht vor AenderungOhneVorwirkung ); DokumentTyp = ( Rechtsvorschrift, GesetzlicheGrundlage, Hinweis ); Rechtsstatus_V = ( inKraft (ohneLaufendesVerfahren , InAufhebungsverfahren), AenderungMitVorwirkung (Entwurf,InFestsetzungsVerfahren), !! kommt in FL nicht vor AenderungOhneVorwirkung (Entwurf,InFestsetzungsVerfahren) ); Verbindlichkeit = ( Nutzungsplanfestlegung, orientierend, hinweisend, wegleitend ); TOPIC Rechtsvorschriften = BASKET OID AS TypeID; CLASS Dokument = Typ : MANDATORY Nutzungsplanung_FL2.DokumentTyp; Titel : MANDATORY TEXT*80; Abkuerzung : TEXT*10; OffizielleNr : MANDATORY TEXT*20; NurInGemeinde: LI_Base_V1.LIMunicipalityCode; Gemeinde : LI_Base_V1.LIMunicipalityCode; TextImWeb : URI; Dokument: BLACKBOX BINARY; !!Bemerkungen : MTEXT; AuszugIndex : MANDATORY -1000 .. 1000; Rechtsstatus : MANDATORY Nutzungsplanung_FL2.RechtsStatus; publiziertAb : MANDATORY INTERLIS.XMLDate; publiziertBis : INTERLIS.XMLDate; END Dokument; END Rechtsvorschriften; TOPIC NutzungsplanAenderung = BASKET OID AS TypeID; !! !! CLASS Zonen_Aenderung= MutationNr: TEXT*12 ; !! Erste 2 Stellen = Gde-Schluessel Perimeter: Nutzungsplanung_FL2.Einzelflaeche ; Titel: MANDATORY TEXT*40 ; !! Beschreibung, Bezeichnung Status: MANDATORY Nutzungsplanung_FL2.Rechtsstatus_V; GeoLink: TEXT*30 ; !! Geolink OEREBlex Bemerkung: TEXT*30 ; !!@ ilivalid.msg_de = "Perimer muss definiert sein bei Status={Status}" !!@ ilivalid.check = error !!@ cmsg="Perimer muss definiert sein bei Status=#laufendeAenderung" !!@ cattr = "MutationNr,Titel,Status" MANDATORY CONSTRAINT DEFINED (Perimeter) OR NOT (Status == #AenderungOhneVorwirkung.InFestsetzungsVerfahren) ; UNIQUE MutationNr; END Zonen_Aenderung ; !!!!! END NutzungsplanAenderung; TOPIC Geobasisdaten = BASKET OID AS TypeID; DEPENDS ON Nutzungsplanung_FL2.Rechtsvorschriften,Nutzungsplanung_FL2.NutzungsplanAenderung; CLASS Geometrie (ABSTRACT) = !! OID AS INTERLIS.UUIDOID; Identifikator: TEXT*40; publiziertAb : MANDATORY INTERLIS.XMLDate; publiziertBis : INTERLIS.XMLDate; Rechtsstatus : MANDATORY Nutzungsplanung_FL2.Rechtsstatus_V; Bemerkungen : MTEXT; GeoLink: TEXT*30; !!@ cmsg = "UNIQUE Constraint fuer Identifikator verletzt. Der Identifikator sollte eindeutig sein" !!@ cattr = "Identifikator" UNIQUE Identifikator; END Geometrie; CLASS Typ = Code : MANDATORY TEXT*12; Bezeichnung : MANDATORY TEXT*80; Abkuerzung : TEXT*12; Verbindlichkeit : MANDATORY Nutzungsplanung_FL2.Verbindlichkeit; Nutzungsziffer : 0.00 .. 9.00; Nutzungsziffer_Art : TEXT*40; Bemerkungen : MTEXT; Symbol: BLACKBOX BINARY; GeoLink: TEXT*30; MaxGebHoehe: 0.00 .. 100.00; !! Maximale Gebaeudehoehe dieser Zone MaxGebLaenge: 0.00 .. 200.00; !! Maximale Gebaeudelaenge dieser Zone MaxGWDienstAnteil: 0 .. 100; !! maximaler Dienstleistungs und Gewerbeanteil in % !!@ cmsg = "UNIQUE Constraint bei Code verletzt: Code muss eindeutig sein" !!@ cattr = "Code,Bezeichnung" UNIQUE Code; END Typ; CLASS Typ_Kt = Code : MANDATORY TEXT*12; Bezeichnung : MANDATORY TEXT*80; Abkuerzung : TEXT*12; Bemerkungen : MTEXT; !!@ cmsg = "UNIQUE Constraint bei Code verletzt: Code muss eindeutig sein" !!@ cattr = "Code,Bezeichnung" UNIQUE Code; END Typ_Kt; CLASS Grundnutzung_Zonenflaeche EXTENDS Geometrie = Geometrie : MANDATORY Nutzungsplanung_FL2.Einzelflaeche; !! alle rechtskraeftigen Flaechen bilden ein AREA Netz SET CONSTRAINT WHERE (Rechtsstatus == #inKraft.ohneLaufendesVerfahren OR Rechtsstatus == #inKraft.InAufhebungsverfahren): INTERLIS.areAreas(ALL, UNDEFINED, >> Geometrie); !! alle Flaechen #inKraft.ohneLaufendesVerfahren oder #projektiert.InFestsetzungsVerfahren bilden ein AREA Netz SET CONSTRAINT WHERE (Rechtsstatus == #inKraft.ohneLaufendesVerfahren OR Rechtsstatus == #AenderungOhneVorwirkung.InFestsetzungsVerfahren): INTERLIS.areAreas(ALL, UNDEFINED, >> Geometrie); END Grundnutzung_Zonenflaeche; CLASS Linienbezogene_Festlegung EXTENDS Geometrie = Geometrie : MANDATORY GeometryCHLV95_V1.Line; END Linienbezogene_Festlegung; CLASS Objektbezogene_Festlegung EXTENDS Geometrie = Geometrie : MANDATORY GeometryCHLV95_V1.Coord2; END Objektbezogene_Festlegung; CLASS Ueberlagernde_Festlegung EXTENDS Geometrie = Geometrie : MANDATORY Nutzungsplanung_FL2.Einzelflaeche; END Ueberlagernde_Festlegung; CLASS Grundnutzung_ZonenflaechePos = Pos: MANDATORY GeometryCHLV95_V1.Coord2; Ori: Orientation; HAli: HALIGNMENT; VAli: VALIGNMENT; END Grundnutzung_ZonenflaechePos; CLASS Ueberlagernde_FestlegungPos = Pos: MANDATORY GeometryCHLV95_V1.Coord2; Ori: Orientation; HAli: HALIGNMENT; VAli: VALIGNMENT; END Ueberlagernde_FestlegungPos; ASSOCIATION Typ_Dokument = VonTyp (EXTERNAL) -- {0..*} Typ; Dokument (EXTERNAL) -- {0..*} Nutzungsplanung_FL2.Rechtsvorschriften.Dokument; END Typ_Dokument; ASSOCIATION Geometrie_Dokument = Geometrie (EXTERNAL) -- {0..*} Geometrie; Dokument (EXTERNAL) -- {0..*} Nutzungsplanung_FL2.Rechtsvorschriften.Dokument; END Geometrie_Dokument; ASSOCIATION Aenderung_Dokument = Aenderung (EXTERNAL) -- {0..*} Nutzungsplanung_FL2.NutzungsplanAenderung.Zonen_Aenderung; Dokument (EXTERNAL) -- {0..*} Nutzungsplanung_FL2.Rechtsvorschriften.Dokument; END Aenderung_Dokument; ASSOCIATION Typ_Geometrie = Geometrie -- {0..*} Geometrie; Typ -<> {1} Typ; END Typ_Geometrie; ASSOCIATION Typ_Typ_Kt = Typ -- {0..*} Typ; Typ_Kt (EXTERNAL) -<> {1} Typ_Kt; END Typ_Typ_Kt; ASSOCIATION Geometrie_Aenderung = GeometrieVon -- {0..*} Geometrie; Aenderung (EXTERNAL) -- {1} Nutzungsplanung_FL2.NutzungsplanAenderung.Zonen_Aenderung; END Geometrie_Aenderung; !! Beschriftungspositionen ASSOCIATION Grundnutzung_ZonenflaechePos_of = Grundnutzung_ZonenflaechePos -- {0..*} Grundnutzung_ZonenflaechePos; TextPos_of -<#> {1} Grundnutzung_Zonenflaeche; END Grundnutzung_ZonenflaechePos_of; ASSOCIATION Ueberlagernde_FestlegungPos_of = Ueberlagernde_FestlegungPos -- {0..*} Ueberlagernde_FestlegungPos; TextPos_of -<#> {1} Ueberlagernde_Festlegung; END Ueberlagernde_FestlegungPos_of; END Geobasisdaten; TOPIC TransferMetadaten = DEPENDS ON Nutzungsplanung_FL2.Geobasisdaten; CLASS Amt = Name : MANDATORY TEXT*80; AmtImWeb : MANDATORY URI; UID : TEXT*12; Zeile1 : TEXT*80; Zeile2 : TEXT*80; Strasse : TEXT*100; Hausnr : TEXT*7; PLZ : TEXT*4; Ort : TEXT*40; UNIQUE UID; END Amt; CLASS Datenbestand = BasketID : MANDATORY TypeID; Stand : MANDATORY INTERLIS.XMLDate; Lieferdatum : INTERLIS.XMLDate; Bemerkungen : MTEXT; END Datenbestand; ASSOCIATION zustStelle_Daten = zustaendigeStelle -<> {1} Amt; Datenbestand -- {0..*} Datenbestand; END zustStelle_Daten; END TransferMetadaten; END Nutzungsplanung_FL2.