SCHEMA Strassenausstattungen;

REFERENCE FROM Strassennetz (Streckenobjekt_hist, Streckenobjekt_stat);

REFERENCE FROM Administration (Dokument);

REFERENCE FROM Bauliche_Strasseneigenschaften (Profil, Durchlass, Baustoff);

REFERENCE FROM Historisierung (historisches_Objekt);

REFERENCE FROM Allgemeine_Objekte (Quadratmeter, Meter);

ENTITY Ausstattung_und_Anlagen
ABSTRACT SUPERTYPE OF (ONEOF(Strassenausstattung , Nebenanlage , Rastanlage ))
SUBTYPE OF (Streckenobjekt_hist);
--- Attribute :
    Kennzeichen: OPTIONAL STRING(1);
    Beschreibungstext: OPTIONAL STRING(30);
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Strassenausstattung
ABSTRACT SUPERTYPE OF (ONEOF(Leitung , Markierung , Schutzplanke ))
SUBTYPE OF (Ausstattung_und_Anlagen);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Nebenanlage
SUBTYPE OF (Ausstattung_und_Anlagen);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Rastanlage
ABSTRACT SUPERTYPE OF (ONEOF(Rastanlage_nicht_bew , Rastanlage_bew ))
SUBTYPE OF (Ausstattung_und_Anlagen);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Rastanlage_nicht_bew
SUBTYPE OF (Rastanlage);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Rastanlage_bew
SUPERTYPE OF (ONEOF(Nebenbetrieb ))
SUBTYPE OF (Rastanlage);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Nebenbetrieb
SUBTYPE OF (Rastanlage_bew);
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Leitung
SUBTYPE OF (Strassenausstattung);
--- Attribute :
--- Relationen :
    hat_Leitungsverlauf: SET [1: ?] OF Leitungsverlauf;
    hat_Profil: SET [1: ?] OF Profil;
    hat_Leitungstraeger: SET [1: ?] OF Leitungstraeger;
    hat_Leitungsart: SET [1: ?] OF Leitungsart;
    hat_Baustoff: SET [1: ?] OF Baustoff;
    hat_Dokument: SET [1: ?] OF Dokument;
INVERSE
    durch_Durchlass: SET [0: ?] OF Durchlass FOR hat_Leitung;
    von_Art_der_Entwaesserung: SET [0: ?] OF Art_der_Entwaesserung FOR hat_Leitung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Leitungsverlauf
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Leitungslage: OPTIONAL Meter;
--- Relationen :
INVERSE
    von_Leitung: SET [0: ?] OF Leitung FOR hat_Leitungsverlauf;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Leitungstraeger
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Leitungstraeger_Kurzform: OPTIONAL STRING(1);
    Leitungstraeger_Langform: OPTIONAL STRING(29);
--- Relationen :
INVERSE
    von_Leitung: SET [0: ?] OF Leitung FOR hat_Leitungstraeger;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Leitungsart
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Kennung_Leitungsart: OPTIONAL STRING(1);
    Leitungsart_Langtext: OPTIONAL STRING(29);
--- Relationen :
INVERSE
    von_Leitung: SET [0: ?] OF Leitung FOR hat_Leitungsart;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Markierung
SUBTYPE OF (Strassenausstattung);
--- Attribute :
    Ort_am_Fahrstreifen: OPTIONAL Tab_Markierung;
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Tab_Markierung;
--- Attribute :
    Kennung: STRING(1);
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

   ('R','rechts')
   ('L','links')
   ('B','beidseitig')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Schutzplanke
SUBTYPE OF (Strassenausstattung);
--- Attribute :
    Lage_zum_Fahrstreifen: OPTIONAL STRING(1);
    Plankenart: OPTIONAL STRING(30);
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Strassenentwaesserung
SUBTYPE OF (Streckenobjekt_stat);
--- Attribute :
--- Relationen :
    hat_entwaess_Fahrbahnflaeche: SET [1: ?] OF entwaesserte_Fahrbahnflaeche;
    hat_Lage_Entwaesserung: SET [1: ?] OF Lage_Entwaesserung;
    hat_Art_der_Entwaesserung: SET [1: ?] OF Art_der_Entwaesserung;
    hat_Dokument: OPTIONAL SET [1: ?] OF Dokument;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY entwaesserte_Fahrbahnflaeche
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    entwaesserter_Fahrbahnteil: OPTIONAL STRING(1);
    Flaeche: OPTIONAL Quadratmeter;
--- Relationen :
INVERSE
    von_Strassenentwaesserung: SET [0: ?] OF Strassenentwaesserung FOR hat_entwaess_Fahrbahnflaeche;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Lage_Entwaesserung
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Lage: OPTIONAL Lage;
    Einleitung: OPTIONAL Einleitung;
--- Relationen :
INVERSE
    zu_Strassenentwaesserung: SET [0: ?] OF Strassenentwaesserung FOR hat_Lage_Entwaesserung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Lage;
--- Attribute :
    Kennung: STRING(1);
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

   ('R','rechts der Straße')
   ('L','links der Straße')
   ('F','auf der Fahrbahn')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Einleitung;
--- Attribute :
    Kennung: STRING(1);
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

   ('P','punktförmige Einleitung')
   ('S','Streckeneinleitung')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Art_der_Entwaesserung
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Transporteinrichtung: OPTIONAL STRING(40);
    Behandlung: OPTIONAL STRING(40);
    Ableitung: OPTIONAL STRING(40);
--- Relationen :
    hat_Leitung: OPTIONAL SET [1: ?] OF Leitung;
INVERSE
    zu_Strassenentwaesserung: SET [0: ?] OF Strassenentwaesserung FOR hat_Art_der_Entwaesserung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

END_SCHEMA; -- Strassenausstattungen