INTERLIS 2.3; !!======================================================================================== !! Copyright (c) 2021, GIS-Fachstelle des Amtes für Geoinformation Kanton Basel-Landschaft !! All rights reserved. !! !! Datum | Version | Autor/in | Aenderung !!---------------------------------------------------------------------------------------- !! 25.03.2021 | 1.0 | Jean-Marc Buttliger | Ersterstellung basierend auf den Vorlagen !! | | | der Kantone BS und ZH !! 20.04.2021 | 1.0 | Jean-Marc Buttliger | Ergänzung BLMultiPunkt2D !! 20.04.2021 | 1.0 | Karsten Deininger | URL in Modelldeklaration angepasst !! 07.06.2021 | 1.0 | Karsten Deininger | Mappings für Geometrien ergänzt !! 22.06.2021 | 1.0 | Karsten Deininger | Angaben zu CRS ergänzt !! 27.10.2022 | 2.0 | Karsten Deininger | Separate Geometrieklassen mit und ohne !! | | | Kreisbögen !!======================================================================================== !!@ technicalContact=mailto:support.gis@bl.ch !!@ furtherInformation=https://geo.bl.ch TYPE MODEL bl_basis_kgdm_lv95_v2_0 (de) AT "http://models.geo.bl.ch/BL/" VERSION "2021-10-27" = IMPORTS UNQUALIFIED INTERLIS; IMPORTS Units; IMPORTS CoordSys; REFSYSTEM BASKET BCoordSys ~ CoordSys.CoordsysTopic OBJECTS OF GeoCartesian2D: CHLV95 OBJECTS OF GeoHeight: SwissOrthometricAlt; DOMAIN BLJahr = 1900 .. 2999 [Y]; BLDatum = FORMAT INTERLIS.XMLDate "1900-01-01" .. "2999-12-31"; BLOri = 0.0 .. 359.9 CIRCULAR [Units.Angle_Degree]; !! geografische Notation (90° = Horizontal West nach Ost) !!@ili2db.mapping=Point !!@CRS=EPSG:2056 BLKoord2D = COORD 2480000.000 .. 2850000.000 [INTERLIS.m] {CHLV95[1]}, 1070000.000 .. 1310000.000 [INTERLIS.m] {CHLV95[2]}, ROTATION 2 -> 1; !!@ili2db.mapping=PointZ !!@CRS=EPSG:2056 BLKoord3D = COORD 2480000.000 .. 2850000.000 [INTERLIS.m] {CHLV95[1]}, 1070000.000 .. 1310000.000 [INTERLIS.m] {CHLV95[2]}, -500.000 .. 5000.000 [INTERLIS.m] {SwissOrthometricAlt[1]}, ROTATION 2 -> 1; BLHoehe = -500.000 .. 5000.000 [INTERLIS.m]; !!{SwissOrthometricAlt[1]}, !!@ili2db.mapping=Line BLLinie2D = POLYLINE WITH (STRAIGHTS) VERTEX BLKoord2D; !!@ili2db.mapping=Line BLBogen2D = POLYLINE WITH (STRAIGHTS, ARCS) VERTEX BLKoord2D; !!@ili2db.mapping=LineStringZ BLLinie3D = POLYLINE WITH (STRAIGHTS) VERTEX BLKoord3D; !!@ili2db.mapping=DirectedLine BLGerichteteLinie2D = DIRECTED POLYLINE WITH (STRAIGHTS) VERTEX BLKoord2D; !!@ili2db.mapping=LineStringZ BLGerichteteLinie3D = DIRECTED POLYLINE WITH (STRAIGHTS) VERTEX BLKoord3D; !!@ili2db.mapping=Surface BLFlaeche2D = SURFACE WITH (STRAIGHTS) VERTEX BLKoord2D WITHOUT OVERLAPS > 0.000; !!@ili2db.mapping=Surface BLBogenFlaeche2D = SURFACE WITH (STRAIGHTS, ARCS) VERTEX BLKoord2D WITHOUT OVERLAPS > 0.001; !!@ili2db.mapping=Area BLGebietseinteilung = AREA WITH (STRAIGHTS) VERTEX BLKoord2D WITHOUT OVERLAPS > 0.000; !!@ili2db.mapping=Area BLBogenGebietseinteilung = AREA WITH (STRAIGHTS, ARCS) VERTEX BLKoord2D WITHOUT OVERLAPS > 0.001; !! Multigeometrie STRUCTURE BLPunktStruktur2D = Punkt: BLKoord2D; END BLPunktStruktur2D; !!@ili2db.mapping=MultiPoint STRUCTURE BLMultiPunkt2D = Punkte: BAG {1..*} OF BLPunktStruktur2D; END BLMultiPunkt2D; STRUCTURE BLLinieStruktur2D = Linie: BLLinie2D; END BLLinieStruktur2D; !!@ili2db.mapping=MultiLine STRUCTURE BLMultiLinie2D = Linien: BAG {1..*} OF BLLinieStruktur2D; END BLMultiLinie2D; STRUCTURE BLBogenStruktur2D = Linie: BLBogen2D; END BLBogenStruktur2D; !!@ili2db.mapping=MultiLine STRUCTURE BLMultiBogen2D = Linien: BAG {1..*} OF BLBogenStruktur2D; END BLMultiBogen2D; STRUCTURE BLFlaecheStruktur2D = Flaeche: BLFlaeche2D; END BLFlaecheStruktur2D; !!@ili2db.mapping=MultiSurface STRUCTURE BLMultiFlaeche2D = Flaechen: BAG {1..*} OF BLFlaecheStruktur2D; END BLMultiFlaeche2D; STRUCTURE BLBogenFlaecheStruktur2D = Flaeche: BLBogenFlaeche2D; END BLBogenFlaecheStruktur2D; !!@ili2db.mapping=MultiSurface STRUCTURE BLMultiBogenFlaeche2D = Flaechen: BAG {1..*} OF BLBogenFlaecheStruktur2D; END BLMultiBogenFlaeche2D; !! benutzbare Strukturen STRUCTURE BLKontakt = Bezeichnung: TEXT*50; Telefon: MANDATORY TEXT*20; Mail: MANDATORY TEXT*100; Internet: URI; END BLKontakt; STRUCTURE BLAdresseBasis = Strasse: MANDATORY TEXT*80; Nummer: TEXT*5; !!@ comment="inkl. Plz Deutschland"; Plz: MANDATORY 1 .. 99999; Ort: MANDATORY TEXT*40; END BLAdresseBasis; !!@ comment="verwendbar für Ämter, Firmen oder Personen"; STRUCTURE BLAdresse EXTENDS BLAdresseBasis = Adr1: MANDATORY TEXT*80; Adr2: TEXT*80; END BLAdresse; !!@ comment="verwendbar für natürliche Personen"; STRUCTURE BLAdressePerson EXTENDS BLAdresseBasis = Vorname: MANDATORY TEXT*20; Nachname: MANDATORY TEXT*40; END BLAdressePerson; END bl_basis_kgdm_lv95_v2_0.