SCHEMA Strassennetz;

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

REFERENCE FROM Bauwerke (Teilbauwerk, Teilbauwerk_abstrakt);

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);

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, oertliche_Zuordnung_MZ);

REFERENCE FROM Historisierung (historisches_Objekt, Teilabschnitt_IdNT);

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

REFERENCE FROM Geometrieschema (Punktobjekt_Modell, Linienobjekt_Modell);

REFERENCE FROM Automatische_Dauerzaehlstelle (oertliche_Zuordnung_AD);

REFERENCE FROM Umfeldmessstelle (oertliche_Zuordnung_UM);

REFERENCE FROM Unfall (Angaben_zum_Unfallort, Unfallort_Strassenpunkt);

REFERENCE FROM Lichtsignalanlage (oertliche_Zuordnung_LS);

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, Strasse_abstrakt);
--- Attribute :
   hat_Strassenbezeichnung : Strassenbezeichnung;
--- Relationen :
   hat_Strassenknoten : SET [2:?] OF Strasse_Netzknoten;
   hat_Abschnitt_oder_Ast : SET [1:?] OF Abschnitt_oder_Ast_abstrakt;
   hat_BAB_Knotennummer : OPTIONAL SET [1:?] OF BAB_Knotennummer;
   in_Verwaltungsbezirk : SET [1:?] OF Verwaltungsbezirk_abstrakt;   (* D *)
   enthaelt_Block : OPTIONAL SET [1:?] OF Block;
   von_Unfallort : OPTIONAL SET [1:?] OF Angaben_zum_Unfallort;
   muendet_ein_am_Anfg_von_Unfall : OPTIONAL SET [1:?] OF Angaben_zum_Unfallort;
   muendet_ein_am_Ende_von_Unfall : OPTIONAL SET [1:?] OF Angaben_zum_Unfallort;
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_abstrakt;   (* D *)
   hat_Vorgaenger : OPTIONAL SET [1:?] OF Strasse_Netzknoten;
   von_Strasse : SET [1:?] OF Strasse_abstrakt;   (* D *)
INVERSE
   hat_Nachfolger : SET [0:?] OF Strasse_Netzknoten FOR hat_Vorgaenger;
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, Netzknoten_abstrakt);
--- 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;
   hat_Nullpunkt : SET [1:?] OF Nullpunkt_abstrakt;
   in_Strassenknoten : SET [1:?] OF Strasse_Netzknoten;
   Beginn_von : OPTIONAL SET [1:?] OF WW_Wirkungsbereiche;
   Ende_von : OPTIONAL SET [1:?] OF WW_Wirkungsbereiche;
   auf_Trasse : OPTIONAL SET [1:?] OF Trasse;
END_ENTITY;
 

ENTITY BAB_Knotennummer
SUBTYPE OF (historisches_Objekt);
--- Attribute :
   Knotennummer : INTEGER;
   Buchstabe : OPTIONAL STRING(1);
--- Relationen :
   auf_Strasse : SET [1:?] OF Strasse_abstrakt;   (* D *)
   von_Netzknoten : SET [1:?] OF Netzknoten_abstrakt;   (* 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, Abschnitt_oder_Ast_abstrakt);
--- Attribute :
   Laenge : OPTIONAL Meter;
   Stadium : OPTIONAL Stadium;
   Streckenart : OPTIONAL INTEGER;
   Verkehrsfreigabe : OPTIONAL Datum;
--- Relationen :
   beginnt_bei_NP : SET [1:?] OF Nullpunkt_abstrakt;   (* D *)
   endet_bei_NP : SET [1:?] OF Nullpunkt_abstrakt;   (* D *)
   gehoert_zu_Strasse : SET [1:?] OF Strasse_abstrakt;   (* D *)
   hat_Teilabschnitt : OPTIONAL SET [1:?] OF Teilabschnitt;
   hat_Strassenpunkt : OPTIONAL SET [1:?] OF Strassenpunkt;
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_abstrakt;   (* D *)
END_ENTITY;
 

ENTITY Nullpunkt
SUBTYPE OF (Punktobjekt_Modell, historisches_Objekt, verallgemeinerter_Nullpunkt, Nullpunkt_abstrakt);
--- Attribute :
   Zusatz : Nullpunktkennung;
   zentraler_Nullpunkt : OPTIONAL BOOLEAN;
--- Relationen :
   in_Netzknoten : SET [1:?] OF Netzknoten_abstrakt;   (* D *)
   Beginn_von_Abschnitt_oder_Ast : OPTIONAL SET [1:?] OF Abschnitt_oder_Ast_abstrakt;
   Ende_von_Abschnitt_oder_Ast : OPTIONAL SET [1:?] OF Abschnitt_oder_Ast_abstrakt;
   verbindet_Verkehrl_Verknuepfg : OPTIONAL SET [1:?] OF Verkehrliche_Verknuepfung;
   hat_Nullpunktsort : SET [1:?] OF Nullpunktsort;
INVERSE
   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_abstrakt;
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, Unfallort_Strassenpunkt))
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_abstrakt;   (* 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_abstrakt;
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;
   fuer_Teilbauwerk : OPTIONAL SET [1:?] OF Teilbauwerk_abstrakt;
END_ENTITY;
 

ENTITY Strassenelement
SUBTYPE OF (Teilnetzkomponente, Routenkomponente, historisches_Objekt, Linienobjekt_Modell);
--- Attribute :
   RDS_TMC_Code : OPTIONAL STRING(12);
--- Relationen :
   beginnt_bei_NPO : Nullpunktsort;
   endet_bei_NPO : Nullpunktsort;
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 *)
INVERSE
   von_Angaben_zum_Unfallort : SET [0:?] OF Angaben_zum_Unfallort FOR bei_Betriebskilometer;
END_ENTITY;
 

ENTITY Block
SUBTYPE OF (Streckenobjekt_hist);
--- Attribute :
   Blocknummer : INTEGER;
   km_Anfang : REAL;
   km_Ende : REAL;
--- Relationen :
   auf_Strasse : SET [1:?] OF Strasse_abstrakt;   (* 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;
 

ENTITY Strasse_abstrakt
ABSTRACT SUPERTYPE OF (ONEOF(Strasse, Strasse_Symbol));
--- Attribute :
--- Relationen :
END_ENTITY;
 

ENTITY Strasse_Symbol
SUBTYPE OF (Strasse_abstrakt);
--- Attribute :
   Kennung : STRING(7);
--- Relationen :
END_ENTITY;
 

ENTITY Netzknoten_abstrakt
ABSTRACT SUPERTYPE OF (ONEOF(Netzknoten, Netzknoten_Symbol));
--- Attribute :
--- Relationen :
END_ENTITY;
 

ENTITY Netzknoten_Symbol
SUBTYPE OF (Netzknoten_abstrakt);
--- Attribute :
   Kennung : STRING(7) FIXED;
--- Relationen :
END_ENTITY;
 

ENTITY Abschnitt_oder_Ast_abstrakt
ABSTRACT SUPERTYPE OF (ONEOF(Abschnitt_oder_Ast, Abschnitt_oder_Ast_Symbol));
--- Attribute :
--- Relationen :
END_ENTITY;
 

ENTITY Abschnitt_oder_Ast_Symbol
SUBTYPE OF (Abschnitt_oder_Ast_abstrakt);
--- Attribute :
   Kennung : STRING(16);
--- Relationen :
END_ENTITY;
 

ENTITY Nullpunkt_abstrakt
ABSTRACT SUPERTYPE OF (ONEOF(Nullpunkt, Nullpunkt_Symbol));
--- Attribute :
--- Relationen :
END_ENTITY;
 

ENTITY Nullpunkt_Symbol
SUBTYPE OF (Nullpunkt_abstrakt);
--- Attribute :
   Kennung : STRING(8) FIXED;
--- Relationen :
END_ENTITY;
 

ENTITY oertliche_Zuordnung
ABSTRACT SUPERTYPE OF (ONEOF(oertliche_Zuordnung_UM, oertliche_Zuordnung_AD, oertliche_Zuordnung_MZ, oertliche_Zuordnung_LS));
--- Attribute :
--- Relationen :
   liegt_auf_Strassenpunkt : OPTIONAL oertliche_Zuordnung_SP;
   liegt_auf_nicht_klass_Strasse : OPTIONAL nicht_nach_ASB_klass_Strasse;
END_ENTITY;
 

ENTITY oertliche_Zuordnung_SP
SUBTYPE OF (Punktobjekt_stat);
--- Attribute :
--- Relationen :
INVERSE
   von_oertlicher_Zuordnung : SET [0:?] OF oertliche_Zuordnung FOR liegt_auf_Strassenpunkt;
END_ENTITY;
 

ENTITY nicht_nach_ASB_klass_Strasse;
--- Attribute :
   Strassenklasse : STRING(50);
   Nummer : INTEGER;
   Lage : STRING(28);
--- Relationen :
INVERSE
   von_oertlicher_Zuordnung : SET [0:?] OF oertliche_Zuordnung FOR liegt_auf_nicht_klass_Strasse;
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