INTERLIS 2.2; MODEL PlanerischerGewaesserschutz (de) = IMPORTS INTERLIS; UNIT Volume (ABSTRACT) = (INTERLIS.LENGTH * INTERLIS.LENGTH * INTERLIS.LENGTH); CubicMeter [m3] EXTENDS Volume = (INTERLIS.m * INTERLIS.m * INTERLIS.m); Liter [L] = 1.0 / 1000.0 [m3]; CubicMeterPerSecond [m3sec] = (m3 / INTERLIS.s); DOMAIN /** Format CCYY-MM-DD, gemäss XML-Schema-Datentyp 'date' und zudem gleich wie INTERLIS 1-Typ DATE mit Bindestrichen. */ CHDatum= TEXT*10; Menge= 0..100000 [m3sec]; CHSprache= ( de ,fr ,it ,rm ,en ); Herkunftsart= ( Aufnahme ,UebernahmeKoordinaten ,Planabgriff ,konstruktiv ,unbekannt ,andere ); Rechtsstatus= ( rechtskraeftig ,provisorisch ,gemeindespez ,unbekannt ,andere ); CHLKoord= COORD 480000.00..850000.00 [INTERLIS.m], 60000.00..320000.00 [INTERLIS.m] ,ROTATION 2 -> 1; CHLine= POLYLINE WITH (ARCS,STRAIGHTS) VERTEX CHLKoord; CHSurface= SURFACE WITH (ARCS,STRAIGHTS) VERTEX CHLKoord; STRUCTURE SprachabhaengigerText_(ABSTRACT) = Sprache : MANDATORY CHSprache; Text (ABSTRACT) : MANDATORY TEXT; END SprachabhaengigerText_; STRUCTURE Langtext_ EXTENDS SprachabhaengigerText_ = Text (EXTENDED) : TEXT*256; END Langtext_; TOPIC GSBereiche = CLASS GSBereich(ABSTRACT) = GeometrieHerkunft : MANDATORY PlanerischerGewaesserschutz.Herkunftsart; Erlassdatum : PlanerischerGewaesserschutz.CHDatum; Mutationsdatum : PlanerischerGewaesserschutz.CHDatum; Bemerkungen : STRUCTURE RESTRICTED TO PlanerischerGewaesserschutz.Langtext_; END GSBereich; CLASS GSBereichAo EXTENDS GSBereich = Geometrie : MANDATORY PlanerischerGewaesserschutz.CHSurface; END GSBereichAo; CLASS GSBereichAu EXTENDS GSBereich = Geometrie : MANDATORY PlanerischerGewaesserschutz.CHSurface; END GSBereichAu; CLASS ZSBereichZo EXTENDS GSBereich = Geometrie : MANDATORY PlanerischerGewaesserschutz.CHSurface; END ZSBereichZo; CLASS ZSBereichZu EXTENDS GSBereich = Geometrie : MANDATORY PlanerischerGewaesserschutz.CHSurface; END ZSBereichZu; CLASS GSBereichAlt EXTENDS GSBereich = Geometrie : MANDATORY PlanerischerGewaesserschutz.CHSurface; Typ : MANDATORY ( A ,B ,C ); END GSBereichAlt; END GSBereiche; TOPIC GWSZonen = DOMAIN Schutzareal = ( Areal ); /** Falls eine Schutzzone nicht weiter differenziert ist, ist als Typ 'S' zu verwenden. Spezialfälle sollen als Unteraufzählungen zum passenden Wert aufgeführt werden. */ Schutzzone(FINAL)= ( S ,S1 ,S2 ,S3 ,S3Zu ); CLASS GWSObjekt(ABSTRACT) = Geometrie : MANDATORY PlanerischerGewaesserschutz.CHSurface; GeometrieHerkunft : MANDATORY PlanerischerGewaesserschutz.Herkunftsart; Mutationsdatum : PlanerischerGewaesserschutz.CHDatum; Bemerkungen : STRUCTURE RESTRICTED TO PlanerischerGewaesserschutz.Langtext_; END GWSObjekt; /** Rechtskraftdatum ist MANDATORY falls Rechtsstatus = "rechtskraeftig" */ CLASS Status = Rechtsstatus : MANDATORY PlanerischerGewaesserschutz.Rechtsstatus; Rechtskraftdatum : PlanerischerGewaesserschutz.CHDatum; Beschlussverweis : STRUCTURE RESTRICTED TO PlanerischerGewaesserschutz.Langtext_; Bemerkungen : STRUCTURE RESTRICTED TO PlanerischerGewaesserschutz.Langtext_; END Status; CLASS GWSAreal EXTENDS GWSObjekt = Typ : MANDATORY Schutzareal; END GWSAreal; CLASS GWSZone EXTENDS GWSObjekt = Typ : MANDATORY Schutzzone; END GWSZone; ASSOCIATION GWSObjectStatus = Status -<> {1} Status; GWSObjekt -- {0..*} GWSObjekt; END GWSObjectStatus; END GWSZonen; END PlanerischerGewaesserschutz.