SCHEMA Strassennetz;

REFERENCE FROM Administration (UI_Vereinbarung, Strassenbaudienststelle, Baulast, Verwaltungsbezirk, OD_FS, Widmung);

REFERENCE FROM Bauwerke (Teilbauwerk);

REFERENCE FROM Strassenzustandsdaten (ZEB_Objekt);

REFERENCE FROM Strassenausstattungen (Ausstattung_und_Anlagen, Strassenentwaesserung);

REFERENCE FROM Verkehr (Beschraenkung_verkehrlich, Anzahl_Fahrstreifen, Strassenbeschreibung_verkehrl);

REFERENCE FROM Bauliche_Strasseneigenschaften (Hindernis, Schutzzone, Durchlass, Schichtbegrenzung, Streifenbegrenzung, Radweg, Fussweg, Kreuzung, Fahrbahnbreite, Trassenbreite, Fahrbahntrennung, Schicht, Fahrbahnquerneigung, Fahrbahnlaengsneigung, Bauklasse_Oberbau, Bauweise_Oberbau, Regelquerschnitt, Querschnittstreifen, Bahnigkeit);

REFERENCE FROM Entwurf (Trasse, Querprofilpunkt, Achselementpunkt);

REFERENCE FROM Ausstattung (Beschilderung_Lichtsignalanl, Fahrbahnmarkierungen, Schutz_und_Leiteinrichtungen);

REFERENCE FROM Statische_Beschilderung (stat_wegweisende_Beschilderung, Position, stat_verkehrsreg_Beschilderung, raeumlicher_Gueltigkeitsber);

REFERENCE FROM Dynamische_Beschilderung (SB_Wirkungsbereiche, WW_Wirkungsbereiche, Wirkungsbereich_SP, Anordnung_des_Messsystems, Aufstellvorrichtung);

REFERENCE FROM Manuelle_Zaehlstelle (Erfassung_Gesamtverkehr);

REFERENCE FROM Historisierung (historisches_Objekt, Teilabschnitt_IdNT);

REFERENCE FROM Allgemeine_Objekte (Datum, Meter, Kilometer, Winkel, oertliche_Zuordnung_SP);

REFERENCE FROM Geometrieschema (Punktobjekt_Modell, Linienobjekt_Modell);

ENTITY Strassenklasse;
--- Attribute :
   Kennung : STRING(1);
   Langtext : STRING;
--- Relationen :
END_ENTITY;
 
Zulässige Werte:
   ('A','Bundesautobahn')
   ('B','Bundesstraße')
   ('L','Landesstraße')
   ('S','Staatsstraße')
   ('K','Kreisstraße')
   ('G','Gemeindestraße')

Referenziert von:
   Strassenbezeichnung : Eigenschaft Strassenklasse
 

ENTITY Strassenbezeichnung;
   (* KONZEPTUELL J *)
--- Attribute :
   Strassenklasse : Strassenklasse;
   Strassennummer : Strassennummer;
   Zusatzbuchstabe : OPTIONAL Zusatzbuchstabe;
--- Relationen :
INVERSE
   von_Strasse : SET [1:?] OF Strasse FOR hat_Strassenbezeichnung;
END_ENTITY;
 

ENTITY Strasse
SUBTYPE OF (historisches_Objekt);
--- Attribute :
   hat_Strassenbezeichnung : Strassenbezeichnung;
--- Relationen :
   hat_Strassenknoten : SET [2:?] OF Strasse_Netzknoten;
   hat_Abschnitt_oder_Ast : SET [1:?] OF Abschnitt_oder_Ast;
   hat_BAB_Knotennummer : OPTIONAL SET [1:?] OF BAB_Knotennummer;
   in_Verwaltungsbezirk : SET [1:?] OF Verwaltungsbezirk;   (* D *)
INVERSE
   enthaelt_Block : SET [0:?] OF Block FOR auf_Strasse;
END_ENTITY;
 

ENTITY Verlaufskennzeichen;
--- Attribute :
   Kennung : INTEGER;
   Langtext : STRING;
--- Relationen :
END_ENTITY;
 
Zulässige Werte:
   (1,'Anfang Straße')
   (2,'Ende Straße')
   (3,'Anfang Seitenarm')
   (4,'Ende Seitenarm')
   (5,'Anfang Unterbrechung')
   (6,'Ende Unterbrechung')
   (7,'Anfang getr. verl. Fahrbahn')
   (8,'Ende getr. verl. Fahrbahn')
   (9,'Wiederholung')

Referenziert von:
   Strasse_Netzknoten : Eigenschaft Verlaufskennzeichen
 

ENTITY Strasse_Netzknoten
SUBTYPE OF (historisches_Objekt);
--- Attribute :
   Verlaufskennzeichen : OPTIONAL Verlaufskennzeichen;
--- Relationen :
   hat_Netzknoten : SET [1:?] OF Netzknoten;   (* D *)
   hat_Vorgaenger : OPTIONAL SET [1:?] OF Strasse_Netzknoten;
INVERSE
   hat_Nachfolger : SET [0:?] OF Strasse_Netzknoten FOR hat_Vorgaenger;
   von_Strasse : SET [1:?] OF Strasse FOR hat_Strassenknoten;   (* D *)
END_ENTITY;
 

ENTITY Knotenart;
--- Attribute :
   Kennung : INTEGER;
   Langtext : STRING;
--- Relationen :
END_ENTITY;
 
Zulässige Werte:
   (1,'plangleich (höhengleich)')
   (2,'planfrei (höhenungleich)')
   (3,'teilplanfrei')
   (0,'fiktiver Netzknoten')

Referenziert von:
   Netzknoten : Eigenschaft Knotenart
 

ENTITY Knotenpunktsform;
--- Attribute :
   Kennung : INTEGER;
   Langtext : STRING;
--- Relationen :
END_ENTITY;
 
Zulässige Werte:
   (01,'Einmündung oder Kreuzung von 2-streifigen Straßen')
   (02,'Einmündung oder Kreuzung von 2-bahnigen mit 2-streifigen Straßen in der Regel mit Lichtsignalanlage')
   (03,'Einmündung oder Kreuzung von zwei 2-bahnigen Straßen mit Lichtsignalanlage')
   (04,'planfreie Kreuzung von 2-streifigen oder 2-bahnigen Straßen')
   (05,'Kreuzung 2-streifiger Straßen als Versatz')
   (06,'Aufgeweitete Einmündung oder Kreuzung mit mindestens einer 2-bahnigen Straße')
   (07,'Kreisverkehrsplatz, d < 30 m')
   (08,'Kreisverkehr, d > 30 m')

Referenziert von:
   Netzknoten : Eigenschaft Knotenpunktsform
   Kreuzungs_o_Einmuendungsplang : Eigenschaft Knotenpunktsform
 

ENTITY Knotenpunktsystem;
--- Attribute :
   Kennung : INTEGER;
   Langtext : STRING;
--- Relationen :
END_ENTITY;
 
Zulässige Werte:
   (01,'Trompete')
   (02,'Birne')
   (03,'Dreieck mit 3 zweigeschossigen Bauwerken')
   (04,'Dreieck mit 1 dreigeschossigen Bauwerk')
   (05,'Kleeblatt')
   (06,'Kleeblatt, abgewandelt mit halbdirekter Führung eines Linksabbiegestromes')
   (07,'Kleeblatt, abgewandelt mit zügiger halbdirekter Führung eines Linksabbiegestromes')
   (08,'halbes Kleeblatt')
   (09,'halbes Kleeblatt, asymmetrisch mit außenliegenden Linksabbiegespuren')
   (10,'halbes Kleeblatt, asymmetrisch mit innen- und hintereinanderliegenden Linksabbiegespuren')
   (11,'halbes Kleeblatt, asymmetrisch mit innen- und nebeneinanderliegenden Linksabbiegespuren')
   (12,'halbes Kleeblatt, symmetrisch')
   (13,'Raute mit innen- und hintereinanderliegenden Linksabbiegespuren')
   (14,'Raute mit innen- und nebeneinanderliegenden Linksabbiegespuren')
   (15,'Raute mit aufgeweiteter Kreuzung')
   (16,'Raute mit außenliegenden Linksabbiegespuren')
   (17,'Sondersystem')

Referenziert von:
   Netzknoten : Eigenschaft Knotenpunktsystem
 

ENTITY Netzknoten
SUBTYPE OF (Punktobjekt_Modell, historisches_Objekt);
--- Attribute :
   Numerierungsbezirk : TK25_Blattnummer;
   Nummer : lfd_NK_Nummer;
   Knotenart : OPTIONAL Knotenart;
   Knotenname : OPTIONAL STRING(30);
   Knotenpunktsform : OPTIONAL Knotenpunktsform;
   Knotenpunktsystem : OPTIONAL Knotenpunktsystem;
--- Relationen :
   hat_BAB_Knotennummer : OPTIONAL SET [1:?] OF BAB_Knotennummer;
INVERSE
   in_Strassenknoten : SET [1:?] OF Strasse_Netzknoten FOR hat_Netzknoten;
   hat_Nullpunkt : SET [1:?] OF Nullpunkt FOR in_Netzknoten;
   Beginn_von : SET [0:?] OF WW_Wirkungsbereiche FOR beginnt_bei_Netzknoten;
   Ende_von : SET [0:?] OF WW_Wirkungsbereiche FOR endet_bei_Netzknoten;
   auf_Trasse : SET [0:?] OF Trasse FOR hat_Netzknoten;
END_ENTITY;
 

ENTITY BAB_Knotennummer
SUBTYPE OF (historisches_Objekt);
--- Attribute :
   Knotennummer : INTEGER;
   Buchstabe : OPTIONAL STRING(1);
--- Relationen :
INVERSE
   von_Netzknoten : SET [1:?] OF Netzknoten FOR hat_BAB_Knotennummer;   (* D *)
   auf_Strasse : SET [1:?] OF Strasse FOR hat_BAB_Knotennummer;   (* D *)
END_ENTITY;
 

ENTITY Stadium;
--- Attribute :
   Kennung : INTEGER;
   Langtext : STRING;
--- Relationen :
END_ENTITY;
 
Zulässige Werte:
   (00,'unter Verkehr')
   (11,'Neubau in Planung')
   (12,'Neubau in Ausführung')
   (20,'Erneuerung/Ersatzneubau in Planung')
   (21,'Erneuerung/Ersatzneubau in Ausführung')
   (30,'Instandsetzung in Planung')
   (31,'Instandsetzung in Ausführung')

Referenziert von:
   Abschnitt_oder_Ast : Eigenschaft Stadium
 

ENTITY Abschnitt_oder_Ast
ABSTRACT SUPERTYPE OF (ONEOF(Abschnitt, Ast))
SUBTYPE OF (Linienobjekt_Modell, historisches_Objekt);
--- Attribute :
   Laenge : OPTIONAL Meter;
   Stadium : OPTIONAL Stadium;
   Streckenart : OPTIONAL INTEGER;
   Verkehrsfreigabe : OPTIONAL Datum;
--- Relationen :
   beginnt_bei_NP : SET [1:?] OF Nullpunkt;   (* D *)
   endet_bei_NP : SET [1:?] OF Nullpunkt;   (* D *)
INVERSE
   gehoert_zu_Strasse : SET [1:?] OF Strasse FOR hat_Abschnitt_oder_Ast;   (* D *)
   hat_Teilabschnitt : SET [0:?] OF Teilabschnitt FOR auf_Abschnitt_oder_Ast;
   hat_Strassenpunkt : SET [0:?] OF Strassenpunkt FOR auf_Abschnitt_oder_Ast;
END_ENTITY;
 

ENTITY Abschnitt
SUBTYPE OF (Abschnitt_oder_Ast);
--- Attribute :
   Abschnittsnummer : OPTIONAL INTEGER;
--- Relationen :
END_ENTITY;
 

ENTITY Ast
SUBTYPE OF (Abschnitt_oder_Ast);
--- Attribute :
--- Relationen :
END_ENTITY;
 

ENTITY Verkehrliche_Verknuepfung
SUBTYPE OF (historisches_Objekt);
--- Attribute :
--- Relationen :
   von_Strassenelement : SET [1:?] OF Strassenelement;   (* D *)
   nach_Strassenelement : SET [1:?] OF Strassenelement;   (* D *)
   ueber_Nullpunkt : SET [1:?] OF Nullpunkt;   (* D *)
END_ENTITY;
 

ENTITY Nullpunkt
SUBTYPE OF (Punktobjekt_Modell, historisches_Objekt, verallgemeinerter_Nullpunkt);
--- Attribute :
   Zusatz : Nullpunktkennung;
   zentraler_Nullpunkt : OPTIONAL BOOLEAN;
--- Relationen :
   in_Netzknoten : SET [1:?] OF Netzknoten;   (* D *)
INVERSE
   Beginn_von_Abschnitt_oder_Ast : SET [0:?] OF Abschnitt_oder_Ast FOR beginnt_bei_NP;
   Ende_von_Abschnitt_oder_Ast : SET [0:?] OF Abschnitt_oder_Ast FOR endet_bei_NP;
   verbindet_Verkehrl_Verknuepfg : SET [0:?] OF Verkehrliche_Verknuepfung FOR ueber_Nullpunkt;
   hat_Nullpunktsort : SET [1:?] OF Nullpunktsort FOR bei_Nullpunkt;
   hat_GDF_Verbindungpunkt : SET [0:?] OF GDF_Verbindungspunkt FOR entspricht_Nullpunkt;
   hat_GDF_Verbindungselement : SET [0:?] OF GDF_Verbindungselement FOR gehoert_zu_Nullpunkt;
END_ENTITY;
 

ENTITY Strassenpunkt
ABSTRACT SUPERTYPE OF (ONEOF(Strassenpunkt_TA, Strassenpunkt_PO, Nullpunktsort, Strassenpunkt_PoB));
   (* KONZEPTUELL J *)
--- Attribute :
   Station : Meter;
--- Relationen :
   auf_Abschnitt_oder_Ast : Abschnitt_oder_Ast;
END_ENTITY;
 

ENTITY Strassenpunkt_PO
SUBTYPE OF (Strassenpunkt);
   (* KONZEPTUELL J *)
--- Attribute :
--- Relationen :
INVERSE
   gehoert_zu_PO : Punktobjekt FOR bei_Strassenpunkt;
END_ENTITY;
 

ENTITY Punktobjekt
ABSTRACT SUPERTYPE OF (ONEOF(Punktobjekt_stat, Punktobjekt_hist));
--- Attribute :
   bei_Strassenpunkt : Strassenpunkt_PO;
--- Relationen :
END_ENTITY;
 

ENTITY Punktobjekt_stat
ABSTRACT SUPERTYPE OF (ONEOF(stat_wegweisende_Beschilderung, Position, stat_verkehrsreg_Beschilderung, Anordnung_des_Messsystems, oertliche_Zuordnung_SP, Wirkungsbereich_SP, GDF_Verbindungspunkt, Achselementpunkt, Querprofilpunkt))
SUBTYPE OF (Punktobjekt);
--- Attribute :
--- Relationen :
END_ENTITY;
 

ENTITY Punktobjekt_hist
ABSTRACT SUPERTYPE OF (ONEOF(Schichtbegrenzung, Streifenbegrenzung, Durchlass, Kilometrierung, Aufstellvorrichtung, Kreuzung, Teilbauwerk))
SUBTYPE OF (Punktobjekt, historisches_Objekt);
--- Attribute :
--- Relationen :
END_ENTITY;
 

ENTITY Strassenpunkt_TA
SUBTYPE OF (Strassenpunkt);
   (* KONZEPTUELL J *)
--- Attribute :
--- Relationen :
INVERSE
   Beginn_von_TA : SET [0:1] OF Teilabschnitt FOR beginnt_bei_SP;
   Ende_von_TA : SET [0:1] OF Teilabschnitt FOR endet_bei_SP;
END_ENTITY;
 

ENTITY Nullpunktsort
SUBTYPE OF (Strassenpunkt);
--- Attribute :
--- Relationen :
   bei_Nullpunkt : SET [1:?] OF Nullpunkt;   (* D *)
INVERSE
   Beginn_von_SE : SET [0:?] OF Strassenelement FOR beginnt_bei_NPO;
   Ende_von_SE : SET [0:?] OF Strassenelement FOR endet_bei_NPO;
END_ENTITY;
 

ENTITY Strassenpunkt_PoB
SUBTYPE OF (Strassenpunkt);
--- Attribute :
--- Relationen :
INVERSE
   Punktobjekt_o_Bereichsobjekt : SET [0:?] OF Punktobjekt_o_Bereichsobjekt FOR ist_Punktobjekt;
END_ENTITY;
 

ENTITY Punktobjekt_o_Bereichsobjekt
ABSTRACT SUPERTYPE OF (ONEOF(Beschilderung_Lichtsignalanl, Fahrbahnmarkierungen, Schutz_und_Leiteinrichtungen));
--- Attribute :
--- Relationen :
   ist_Punktobjekt : OPTIONAL Strassenpunkt_PoB;
   ist_Bereichsobjekt : OPTIONAL Netzbereich;
END_ENTITY;
 

ENTITY Netzbereichskomponente
ABSTRACT SUPERTYPE OF (ONEOF(Teilabschnitt_NB, Netzbereich, Strecke));
--- Attribute :
--- Relationen :
INVERSE
   in_Netzbereich : SET [0:?] OF Netzbereich FOR enthaelt_Netzbereichskomp;
END_ENTITY;
 

ENTITY Netzbereich
SUBTYPE OF (Netzbereichskomponente, historisches_Objekt);
--- Attribute :
--- Relationen :
   enthaelt_Netzbereichskomp : SET [1:?] OF Netzbereichskomponente;
INVERSE
   zu_Bereichsobjekt : SET [1:?] OF Bereichsobjekt FOR hat_Netzbereich;   (* D *)
   Punktobjekt_o_Bereichsobjekt : SET [0:?] OF Punktobjekt_o_Bereichsobjekt FOR ist_Bereichsobjekt;
END_ENTITY;
 

ENTITY Bereichsobjekt
ABSTRACT SUPERTYPE OF (ONEOF(Bereichsobjekt_stat, Bereichsobjekt_hist));
--- Attribute :
--- Relationen :
   hat_Netzbereich : SET [1:?] OF Netzbereich;   (* D *)
END_ENTITY;
 

ENTITY Bereichsobjekt_stat
ABSTRACT SUPERTYPE OF (ONEOF(Teilbauwerk))
SUBTYPE OF (Bereichsobjekt);
--- Attribute :
--- Relationen :
END_ENTITY;
 

ENTITY Bereichsobjekt_hist
ABSTRACT SUPERTYPE OF (ONEOF(UI_Vereinbarung, Strassenbaudienststelle, Baulast, Verwaltungsbezirk, Schutzzone))
SUBTYPE OF (Bereichsobjekt, historisches_Objekt);
--- Attribute :
--- Relationen :
END_ENTITY;
 

ENTITY Teilabschnitt
ABSTRACT SUPERTYPE OF (ONEOF(Teilabschnitt_SO, Teilabschnitt_NB, Teilabschnitt_Str, Teilabschnitt_IdNT));
   (* KONZEPTUELL J *)
--- Attribute :
   beginnt_bei_SP : Strassenpunkt_TA;
   endet_bei_SP : Strassenpunkt_TA;
--- Relationen :
   auf_Abschnitt_oder_Ast : Abschnitt_oder_Ast;
END_ENTITY;
 

ENTITY verallgemeinerte_Strecke
ABSTRACT SUPERTYPE OF (ONEOF(Teilabschnitt_SO, Strecke_SO));
--- Attribute :
--- Relationen :
INVERSE
   zu_Streckenobjekt : SET [1:?] OF Streckenobjekt FOR hat_Strecke;   (* D *)
END_ENTITY;
 

ENTITY Teilabschnitt_SO
SUBTYPE OF (Teilabschnitt, verallgemeinerte_Strecke);
   (* KONZEPTUELL J *)
--- Attribute :
--- Relationen :
END_ENTITY;
 

ENTITY Streckenobjekt
ABSTRACT SUPERTYPE OF (ONEOF(Streckenobjekt_stat, Streckenobjekt_hist));
--- Attribute :
--- Relationen :
   hat_Strecke : SET [1:?] OF verallgemeinerte_Strecke;   (* D *)
END_ENTITY;
 

ENTITY Streckenobjekt_stat
ABSTRACT SUPERTYPE OF (ONEOF(Fahrbahntrennung, Trassenbreite, Fahrbahnbreite, Fussweg, Radweg, ZEB_Objekt, Strassenentwaesserung, Erfassung_Gesamtverkehr, Beschraenkung_verkehrlich, Strassenbeschreibung_verkehrl, Anzahl_Fahrstreifen, Entwurfselement))
SUBTYPE OF (Streckenobjekt);
--- Attribute :
--- Relationen :
END_ENTITY;
 

ENTITY Streckenobjekt_hist
ABSTRACT SUPERTYPE OF (ONEOF(Fahrbahnlaengsneigung, Widmung, Querschnittstreifen, Fahrbahnquerneigung, OD_FS, Schicht, Hindernis, Block, Bauklasse_Oberbau, Bauweise_Oberbau, Bahnigkeit, Regelquerschnitt, raeumlicher_Gueltigkeitsber, SB_Wirkungsbereiche, Ausstattung_und_Anlagen))
SUBTYPE OF (Streckenobjekt, historisches_Objekt);
--- Attribute :
--- Relationen :
END_ENTITY;
 

ENTITY Teilabschnitt_Str
SUBTYPE OF (Teilabschnitt);
   (* KONZEPTUELL J *)
--- Attribute :
--- Relationen :
INVERSE
   in_Strecke : Strecke FOR entlang_Teilabschnitt;
END_ENTITY;
 

ENTITY Teilabschnitt_NB
SUBTYPE OF (Teilabschnitt, Netzbereichskomponente);
   (* KONZEPTUELL J *)
--- Attribute :
--- Relationen :
END_ENTITY;
 

ENTITY Strecke
SUPERTYPE OF (ONEOF(Strecke_SO))
SUBTYPE OF (Netzbereichskomponente, historisches_Objekt);
--- Attribute :
   entlang_Teilabschnitt : LIST [1:?] OF Teilabschnitt_Str;
--- Relationen :
END_ENTITY;
 

ENTITY Strecke_SO
SUBTYPE OF (Strecke, verallgemeinerte_Strecke);
   (* KONZEPTUELL J *)
--- Attribute :
--- Relationen :
END_ENTITY;
 

ENTITY Teilnetzkomponente
ABSTRACT SUPERTYPE OF (ONEOF(Strassenelement, Teilnetz, Route));
--- Attribute :
--- Relationen :
INVERSE
   in_Teilnetz : SET [0:?] OF Teilnetz FOR enthaelt_Teilnetzkomponente;
END_ENTITY;
 

ENTITY Teilnetz
SUBTYPE OF (Teilnetzkomponente, historisches_Objekt);
--- Attribute :
   Kennzeichen_Teilnetz : OPTIONAL STRING(6);
   Beschreibung_Teilnetz : OPTIONAL STRING(60);
--- Relationen :
   enthaelt_Teilnetzkomponente : SET [1:?] OF Teilnetzkomponente;
END_ENTITY;
 

ENTITY Routenkomponente
ABSTRACT SUPERTYPE OF (ONEOF(Strassenelement, Route));
--- Attribute :
--- Relationen :
   hat_Vorgaenger : OPTIONAL SET [1:?] OF Routenkomponente;
INVERSE
   hat_Nachfolger : SET [0:?] OF Routenkomponente FOR hat_Vorgaenger;
   in_Route : SET [0:?] OF Route FOR entlang_Routenkomponente;
END_ENTITY;
 

ENTITY Route
SUBTYPE OF (Teilnetzkomponente, Routenkomponente, historisches_Objekt);
--- Attribute :
--- Relationen :
   entlang_Routenkomponente : SET [1:?] OF Routenkomponente;
INVERSE
   fuer_Teilbauwerk : SET [0:?] OF Teilbauwerk FOR hat_Route;
END_ENTITY;
 

ENTITY Strassenelement
SUBTYPE OF (Teilnetzkomponente, Routenkomponente, historisches_Objekt, Linienobjekt_Modell);
--- Attribute :
   RDS_TMC_Code : OPTIONAL STRING(12);
--- Relationen :
   beginnt_bei_NPO : SET [1:?] OF Nullpunktsort;   (* D *)
   endet_bei_NPO : SET [1:?] OF Nullpunktsort;   (* D *)
INVERSE
   Beginn_von_verkehrlicher_Verkn : SET [0:?] OF Verkehrliche_Verknuepfung FOR von_Strassenelement;
   Ende_von_verkehrlicher_Verkn : SET [0:?] OF Verkehrliche_Verknuepfung FOR nach_Strassenelement;
   hat_GDF_Verbindungselement : SET [0:?] OF GDF_Verbindungselement FOR entspricht_Strassenelement;
END_ENTITY;
 

ENTITY Kilometrierung
SUPERTYPE OF (ONEOF(Betriebskilometer))
SUBTYPE OF (Punktobjekt_hist);
--- Attribute :
   Kilometrierung : Kilometer;
--- Relationen :
END_ENTITY;
 

ENTITY Betriebskilometer
SUBTYPE OF (Kilometrierung);
--- Attribute :
--- Relationen :
   in_Block : SET [1:?] OF Block;   (* D *)
END_ENTITY;
 

ENTITY Block
SUBTYPE OF (Streckenobjekt_hist);
--- Attribute :
   Blocknummer : INTEGER;
   km_Anfang : REAL;
   km_Ende : REAL;
--- Relationen :
   auf_Strasse : SET [1:?] OF Strasse;   (* D *)
INVERSE
   enthaelt_Betriebskilometer : SET [0:?] OF Betriebskilometer FOR in_Block;
END_ENTITY;
 

ENTITY GDF_Verbindungspunkt
SUBTYPE OF (Punktobjekt_stat, Punktobjekt_Modell, verallgemeinerter_Nullpunkt);
--- Attribute :
--- Relationen :
   entspricht_Nullpunkt : Nullpunkt;
END_ENTITY;
 

ENTITY GDF_Verbindungselement
SUBTYPE OF (Linienobjekt_Modell);
--- Attribute :
--- Relationen :
   beginnt_bei_verallg_Nullpunkt : verallgemeinerter_Nullpunkt;
   endet_bei_verallg_Nullpunkt : verallgemeinerter_Nullpunkt;
   gehoert_zu_Nullpunkt : OPTIONAL Nullpunkt;
   entspricht_Strassenelement : OPTIONAL Strassenelement;
END_ENTITY;
 

ENTITY verallgemeinerter_Nullpunkt
ABSTRACT SUPERTYPE OF (ONEOF(Nullpunkt, GDF_Verbindungspunkt));
--- Attribute :
--- Relationen :
INVERSE
   Beginn_von_GDF_Verbindungelem : SET [0:?] OF GDF_Verbindungselement FOR beginnt_bei_verallg_Nullpunkt;
   Ende_von_GDF_Verbindungselem : SET [0:?] OF GDF_Verbindungselement FOR endet_bei_verallg_Nullpunkt;
END_ENTITY;
 

ENTITY Entwurfselement
ABSTRACT SUPERTYPE OF (ONEOF(Entwurfselement_Kreisbogen, Entwurfselement_Klothoide, Entwurfselement_Gerade))
SUBTYPE OF (Streckenobjekt_stat);
--- Attribute :
   Richtungsw_Tangente_am_Anfang : OPTIONAL Winkel;
   beginnt_bei_Vermessungspunkt : INTEGER;
   endet_bei_Vermessungspunkt : INTEGER;
--- Relationen :
END_ENTITY;
 

ENTITY Entwurfselement_Kreisbogen
SUBTYPE OF (Entwurfselement);
--- Attribute :
   Radius : Meter;
--- Relationen :
END_ENTITY;
 

ENTITY Entwurfselement_Klothoide
SUBTYPE OF (Entwurfselement);
--- Attribute :
   Radius_am_Anfang : Meter;
   Radius_am_Ende : OPTIONAL Meter;
   Parameter : Meter;
--- Relationen :
END_ENTITY;
 

ENTITY Entwurfselement_Gerade
SUBTYPE OF (Entwurfselement);
--- Attribute :
--- Relationen :
END_ENTITY;
 

TYPE Strassennummer = INTEGER;
WHERE
   maximal_vierstellig : { 0 < SELF <= 9999 };
END_TYPE;
 

TYPE Zusatzbuchstabe = STRING(1);
WHERE
   erlaubte_Buchstaben : { 'A' <= SELF <= 'Z' };
END_TYPE;
 

TYPE TK25_Blattnummer = INTEGER;
WHERE
   vierstellig : { 1 <= SELF <= 9999 };
END_TYPE;
 

TYPE lfd_NK_Nummer = INTEGER;
WHERE
   dreistellig : { 1 <= SELF <= 999 };
END_TYPE;
 

TYPE Nullpunktkennung = STRING(1);
WHERE
   Buchstabe : { 'A' <= SELF <= 'Z' } OR SELF = ' ';
END_TYPE;
 

END_SCHEMA; -- Strassennetz