INTERLIS 2.4; !!============================================================================== !!@ File = "SZ_Strassenbauprojekte_V1.ili"; !!@ Title = "Strassenbauprojekte"; !!@ shortDescription = "Die Strassenbauprojekte werden in einer Fachapplikation erfasst und über dieses Datenmodell publiziert"; !!@ Issuer = "https://www.sz.ch/geoinformation"; !!@ technicalContact = "mailto:geoportal@sz.ch"; !!@ furtherInformation = "https://www.sz.ch"; !!@ Themennummer = "A175"; !!@ Compiler-Version = "ili2c-5.2.4-4c8d62961e5b41f61f4c6f7fac01196a06b8b2c5"; !!------------------------------------------------------------------------------ !! Todo: - - - !!------------------------------------------------------------------------------ !! Version | wer | was !! Datum | Nr | | !!------------------------------------------------------------------------------ !! 2022-03-08 | 1.0 | kep | - Entfernung UNIQUE-Constraint auf der Klasse "Teilprojekt" !! - Berücksichtigung, dass die LinearpositionBis mit LinearpositionVon übereinstimmen kann !! - Korrektur von Rechtschreibfehler !! 2022-02-14 | 1.0 | kep | Klasse "Strassenstueck" hinzugefügt !! 2022-01-27 | 1.0 | kep | Klasse "Teilprojekt" ergänzt mit: !! - kmVon !! - kmBis !! 2022-01-20 | 1.0 | kep | "Querabstand" auf MANDATORY gesetzt !! 2022-01-03 | 1.0 | th | Anpassung OID Kataloge !! 2021-11-25 | 1.0 | kep | Erstfassung !!============================================================================== MODEL SZ_Strassenbauprojekte_V1 (de) AT "http://models.geo.sz.ch" VERSION "2022-01-27" = IMPORTS UNQUALIFIED INTERLIS; !!------------------------------------------------------------------------------ TOPIC Kataloge = !!------------------------------------------------------------------------------ CLASS Katalogeintrag (ABSTRACT) = OID AS UUIDOID; Name : MANDATORY TEXT*255; Code : MANDATORY TEXT*255; SortierNr : MANDATORY -999999 .. 999999; Bemerkung : TEXT*1000; END Katalogeintrag; CLASS Objekttyp EXTENDS Katalogeintrag = UNIQUE Code; UNIQUE Name; END Objekttyp; CLASS Abteilungscode EXTENDS Katalogeintrag = UNIQUE Code; UNIQUE Name; END Abteilungscode; CLASS Projektphase EXTENDS Katalogeintrag = UNIQUE Code; UNIQUE Name; END Projektphase; CLASS Projektstatus EXTENDS Katalogeintrag = UNIQUE Code; UNIQUE Name; END Projektstatus; END Kataloge; !!------------------------------------------------------------------------------ TOPIC Strassenbauprojekte = DEPENDS ON SZ_Strassenbauprojekte_V1.Kataloge; !!------------------------------------------------------------------------------ CLASS Projekt = Nummer : MANDATORY TEXT*25; Bezeichnung : MANDATORY TEXT*100; UNIQUE Nummer; END Projekt; CLASS Teilprojekt = Nummer : MANDATORY TEXT*10; Bezeichnung : MANDATORY TEXT*100; kmVon : MANDATORY TEXT*10; kmBis : TEXT*10; gueltigVon : MANDATORY XMLDate; gueltigBis : MANDATORY XMLDate; Planungszeitraum : TEXT*100; Ausfuehrungszeitraum : TEXT*100; END Teilprojekt; CLASS Strassenstueck = Achsgeometrie : MANDATORY TEXT*20; !! Wert muss mit der Routenkennung der Strassen-Referenzgeometrie (Abschnitt.Kennung) übereinstimmen LinearpositionVon : MANDATORY 0.0 .. 999999.9; LinearpositionBis : MANDATORY 0.0 .. 999999.9; Querabstand : MANDATORY -999.9 .. 999.9; MANDATORY CONSTRAINT (LinearpositionBis >= LinearpositionVon); END Strassenstueck; ASSOCIATION Projekt__Teilprojekt = rProjekt -<#> {1} Projekt; rTeilprojekt -- {0..*} Teilprojekt; END Projekt__Teilprojekt; ASSOCIATION Teilprojekt__Strassenstueck = rTeilprojekt -- {1} Teilprojekt; rStrassenstueck -- {0..*} Strassenstueck; END Teilprojekt__Strassenstueck; ASSOCIATION Teilprojekt__Objekttyp = rObjekttyp (EXTERNAL) -- {1} SZ_Strassenbauprojekte_V1.Kataloge.Objekttyp; rTeilprojekt -- {0..*} Teilprojekt; END Teilprojekt__Objekttyp; ASSOCIATION Teilprojekt__Abteilungscode = rAbteilungscode (EXTERNAL) -- {1} SZ_Strassenbauprojekte_V1.Kataloge.Abteilungscode; rTeilprojekt -- {0..*} Teilprojekt; END Teilprojekt__Abteilungscode; ASSOCIATION Teilprojekt__Projektphase = rProjektphase (EXTERNAL) -- {1} SZ_Strassenbauprojekte_V1.Kataloge.Projektphase; rTeilprojekt -- {0..*} Teilprojekt; END Teilprojekt__Projektphase; ASSOCIATION Teilprojekt__Projektstatus = rProjektstatus (EXTERNAL) -- {1} SZ_Strassenbauprojekte_V1.Kataloge.Projektstatus; rTeilprojekt -- {0..*} Teilprojekt; END Teilprojekt__Projektstatus; END Strassenbauprojekte; END SZ_Strassenbauprojekte_V1.