SCHEMA Automatische_Dauerzaehlstelle;

REFERENCE FROM Strassennetz (Bezugsrichtung, oertliche_Zuordnung, Streckenobjekt_hist);

REFERENCE FROM Administration (verwaltungstechn_Zuordnung);

REFERENCE FROM Verkehr (Fahrstreifen_Nummer);

REFERENCE FROM Manuelle_Zaehlstelle (manuelle_Zaehlstelle_abstrakt);

REFERENCE FROM Verkehrsstaerke (Zaehlstelle);

REFERENCE FROM Historisierung (historisches_Objekt);

REFERENCE FROM Allgemeine_Objekte (Vorzeichen);

ENTITY automatische_Dauerzaehlstelle
SUBTYPE OF (Streckenobjekt_hist, autom_Dauerzaehlst_abstrakt, Zaehlstelle);
--- Attribute :
    Name: OPTIONAL STRING(50);
--- Relationen :
    hat_Zaehlstellennummer: SET [1: ?] OF Zaehlstellennummer;
    hat_oertliche_Zuordnung: oertliche_Zuordnung_DZ;
    hat_verwaltungstechn_Zuordnung: verwaltungstechn_Zuordnung_DZ;
    hat_Erfassungstechnik: Erfassungstechnik;
    gehoert_zu_UZ_VRZ: OPTIONAL Unterzentrale_Verkehrsrechnerz;
    ist_Komponente_in_Ableitung: SET [0: ?] OF Ableitung_autom_Dauerzaehlst;
    zu_manueller_Zaehlstelle: OPTIONAL SET [1: ?] OF manuelle_Zaehlstelle_abstrakt;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY autom_Dauerzaehlst_abstrakt
ABSTRACT SUPERTYPE OF (ONEOF(automatische_Dauerzaehlstelle , autom_Dauerzaehlst_Symbol ));
--- Attribute :
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY autom_Dauerzaehlst_Symbol
SUBTYPE OF (autom_Dauerzaehlst_abstrakt);
--- Attribute :
    Kennung: STRING(8) FIXED;
--- Relationen :
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Zaehlstellennummer;
--- Attribute :
    Nummer: STRING(8);
    Art_Zaehlstellennummer: Art_Zaehlstellennummer;
--- Relationen :
INVERSE
    von_automat_Dauerzaehlstelle: SET [0: ?] OF automatische_Dauerzaehlstelle FOR hat_Zaehlstellennummer;
    von_abgel_Dauerzaehlstelle: SET [0: ?] OF abgeleitete_Dauerzaehlstelle FOR hat_Zaehlstellennummer;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Art_Zaehlstellennummer;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


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

   (1,'BASt-Nummer')
   (2,'Landesnummer')
   (3,'sonstige Nummer')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY oertliche_Zuordnung_DZ
SUBTYPE OF (oertliche_Zuordnung);
--- Attribute :
--- Relationen :
    hat_Richtungen: OPTIONAL SET [1: ?] OF Richtungen;
INVERSE
    von_automat_Dauerzaehlstelle: SET [0: ?] OF automatische_Dauerzaehlstelle FOR hat_oertliche_Zuordnung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Richtungen;
--- Attribute :
    Nahziel: OPTIONAL STRING(50);
    Fernziel: OPTIONAL STRING(50);
    Richtung: OPTIONAL Himmelsrichtung;
    Bezugsrichtung: OPTIONAL Bezugsrichtung;
--- Relationen :
INVERSE
    von_oertlicher_Zuordnung: SET [0: ?] OF oertliche_Zuordnung_DZ FOR hat_Richtungen;
    von_abgel_Dauerzaehlstelle: SET [0: ?] OF abgeleitete_Dauerzaehlstelle FOR hat_Richtungen;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Himmelsrichtung;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


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

   (1,'Norden')
   (2,'Osten')
   (3,'Süden')
   (4,'Westen')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY verwaltungstechn_Zuordnung_DZ
SUBTYPE OF (verwaltungstechn_Zuordnung);
--- Attribute :
--- Relationen :
INVERSE
    von_automat_Dauerzaehlstelle: SET [0: ?] OF automatische_Dauerzaehlstelle FOR hat_verwaltungstechn_Zuordnung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Erfassungstechnik;
--- Attribute :
--- Relationen :
    hat_Zaehlgeraet: Zaehlgeraet;
INVERSE
    von_automat_Dauerzaehlstelle: SET [0: ?] OF automatische_Dauerzaehlstelle FOR hat_Erfassungstechnik;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Zaehlgeraet
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Art_der_Datenausgabe: SET [1: ?] OF STRING;
    Hersteller: STRING;
    Analyse_Software: OPTIONAL STRING;
    Detektorart: STRING;
--- Relationen :
    hat_Detektoren: SET [1: ?] OF Detektoren_DZ;
    hat_Erfassungsmerkmale: SET [1: ?] OF Erfassungsmerkmale_DZ;
INVERSE
    von_Erfassungstechnik: SET [0: ?] OF Erfassungstechnik FOR hat_Zaehlgeraet;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Erfassungsmerkmale_DZ
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Zaehlintervallaenge_in_Minuten: OPTIONAL INTEGER;
    Fahrzeugklassenunterscheidung: BOOLEAN;
    Art_der_registrierten_Daten: SET [1: ?] OF STRING;
--- Relationen :
INVERSE
    zu_Zaehlgeraet_DZ: Zaehlgeraet FOR hat_Erfassungsmerkmale;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Detektoren_DZ
SUBTYPE OF (historisches_Objekt);
--- Attribute :
--- Relationen :
    ist_Fahrstreifen_zugeordnet: Fahrstreifen_Nummer;
INVERSE
    von_Zaehlgeraet: Zaehlgeraet FOR hat_Detektoren;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Unterzentrale_Verkehrsrechnerz;
--- Attribute :
    Name: OPTIONAL STRING;
--- Relationen :
    von_automat_Dauerzaehlstelle: OPTIONAL SET [1: ?] OF autom_Dauerzaehlst_abstrakt;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY abgeleitete_Dauerzaehlstelle
SUBTYPE OF (Streckenobjekt_hist, Zaehlstelle);
--- Attribute :
    Name: OPTIONAL STRING;
--- Relationen :
    hat_Zaehlstellennummer: Zaehlstellennummer;
    hat_Ableitung: SET [2: ?] OF Ableitung_DZ;
    hat_Richtungen: SET [1: ?] OF Richtungen;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Ableitung_DZ;
--- Attribute :
    Bezugsrichtung: Bezugsrichtung;
--- Relationen :
    hat_Komponenten: SET [1: ?] OF Ableitung_autom_Dauerzaehlst;
INVERSE
    von_abgel_Dauerzaehlstelle: SET [0: ?] OF abgeleitete_Dauerzaehlstelle FOR hat_Ableitung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Ableitung_autom_Dauerzaehlst;
--- Attribute :
    Vorzeichen: Vorzeichen;
--- Relationen :
    automatische_Dauerzaehlstelle: autom_Dauerzaehlst_abstrakt;
INVERSE
    Ableitung_DZ: Ableitung_DZ FOR hat_Komponenten;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

END_SCHEMA; -- Automatische_Dauerzaehlstelle