SCHEMA Automatische_Dauerzaehlstelle;

REFERENCE FROM Strassennetz (TK25_Blattnummer);

REFERENCE FROM Dynamische_Beschilderung (Datenerfassungseinrichtungen, Anzeigesystem);

REFERENCE FROM Historisierung (historisches_Objekt);

REFERENCE FROM Allgemeine_Objekte (verwaltungstechn_Zuordnung, oertliche_Zuordnung, Anzahl, Kilometer, Datum);

ENTITY automatische_Dauerzaehlstelle
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    TK25_Nummer: TK25_Blattnummer;
    BASt_Nummer: INTEGER;
    Name: STRING(50);
    Bezugszaehlstellen: OPTIONAL SET [1: ?] OF INTEGER;
--- Relationen :
    hat_Erfassungsergebnisse: SET [1: ?] OF Erfassungsergebnisse;
    hat_Erfassungscharakteristik: SET [1: ?] OF Erfassungscharakteristik;
    hat_Detektoren: SET [1: ?] OF Detektoren;
    hat_Landesnummer: OPTIONAL Landesnummer;
    hat_verwaltungstechn_Zuordnung: verwaltungstechn_Zuordnung_AD;
    hat_Moeglichk_z_Einzelfahrzerf: OPTIONAL Moegl_Einzelfahrzeugerfassung;
    hat_oertliche_Zuordnung: oertliche_Zuordnung_AD;
    gehoert_zu_UZ_VRZ: OPTIONAL SET [1: ?] OF Unterzentrale_Verkehrsrechnerz;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Erfassungsergebnisse
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Ergebnisse: STRING(99);
--- Relationen :
INVERSE
    von_automat_Dauerzaehlstelle: SET [0: ?] OF automatische_Dauerzaehlstelle FOR hat_Erfassungsergebnisse;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Erfassungscharakteristik;
--- Attribute :
    Beginn_der_Zaehlung: Datum;
    Zaehlintervallaenge: OPTIONAL SET [1: ?] OF Zaehlintervallaenge;
--- Relationen :
    hat_Fahrzeugartenunterscheidg: Fahrzeugartenunterscheidung;
    hat_Differenzierg_d_Erfassung: Differenzierung_der_Erfassung;
    hat_Art_d_registrierten_Daten: SET [1: ?] OF Art_der_registrierten_Daten;
INVERSE
    von_automat_Dauerzaehlstelle: SET [0: ?] OF automatische_Dauerzaehlstelle FOR hat_Erfassungscharakteristik;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

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


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

   (1,'60 min')
   (2,'30 min')
   (3,'15 min')
   (4,'1 min')
   (5,'5 min')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Fahrzeugartenunterscheidung;
--- Attribute :
    Unterscheidungsmerkmal: BOOLEAN;
    Methode_der_Unterscheidung: Methode_der_Unterscheidung;
--- Relationen :
    hat_Klassenunterscheidung: SET [1: ?] OF Klassenunterscheidung;
INVERSE
    ist_Erfassungscharakteristik: SET [0: ?] OF Erfassungscharakteristik FOR hat_Fahrzeugartenunterscheidg;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Klassenunterscheidung
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Fahrzeugklasse: Fahrzeugklasse;
--- Relationen :
INVERSE
    von_Fahrzeugartenunterscheid: SET [0: ?] OF Fahrzeugartenunterscheidung FOR hat_Klassenunterscheidung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

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


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

   (0,'keine ' ||
    'Fahrzeugklassenunterscheidung (nur Kfz)')
   (1,'Unterscheidung Pkw/Lkw')
   (2,'5+1 Fahrzeugklassen')
   (3,'8+1 Fahrzeugklassen')
   (4,'sonstige')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

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


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

   (0,'Unterscheidung nach ' ||
    'Fahrzeuglängen')
   (1,'Unterscheidung nach ' ||
    'Hüllkurven')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Differenzierung_der_Erfassung;
--- Attribute :
--- Relationen :
    hat_Fahrstreifenzuordnung: SET [1: ?] OF Fahrstreifenzuordnung;
    hat_raeumliche_Differenzierung: raeumliche_Differenzierung;
INVERSE
    ist_Erfassungscharakteristik: SET [0: ?] OF Erfassungscharakteristik FOR hat_Differenzierg_d_Erfassung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Fahrstreifenzuordnung
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Fahrstreifen: Anzahl;
    Fahrtrichtung: Fahrtrichtung_DE;
--- Relationen :
INVERSE
    von_Differenzierg_d_Erfassung: SET [0: ?] OF Differenzierung_der_Erfassung FOR hat_Fahrstreifenzuordnung;
WHERE
    Fahrstreifen_sinnvoll: Fahrstreifen<=8;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

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


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

   (1,'IN-Richtung')
   (2,'GEGEN-Richtung')
   (3,'Gesamtquerschnitt')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY raeumliche_Differenzierung;
--- Attribute :
    Gesamtspuren: Anzahl;
    Spuren_IN_Richtung: Anzahl;
    Registrierung: Registrierung;
--- Relationen :
INVERSE
    ist_Differenzierg_d_Erfassung: SET [1: 2] OF Differenzierung_der_Erfassung FOR hat_raeumliche_Differenzierung;
WHERE
    Spuren_IN_Richtung_sinnvoll: Spuren_IN_Richtung<=8;
    Gesamtspuren_sinnvoll: { 1<=Gesamtspuren<=8};
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

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


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

   (1,'Gesamtquerschnitt')
   (2,'Trennung nach Fahrtrichtung')
   (3,'Trennung nach Fahrstreifen')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Art_der_registrierten_Daten
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Datentyp: Datentyp;
--- Relationen :
INVERSE
    von_Erfassungscharakteristik: SET [0: ?] OF Erfassungscharakteristik FOR hat_Art_d_registrierten_Daten;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

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


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

   (1,'Kfz-Einheiten')
   (2,'Achszahl')
   (3,'Achslasten')
   (4,'Geschwindigkeiten')
   (5,'Sonstiges')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Detektoren;
--- Attribute :
    zugehoerige_Auswerteschaltung: SET [1: ?] OF STRING(20);
--- Relationen :
    hat_Detektorart: SET [1: ?] OF Detektorart;
    hat_Gueltigkeitsbereich: Gueltigkeitsbereich;
    hat_Art_der_Registrierung: SET [1: ?] OF Art_der_Registrierung;
INVERSE
    von_automat_Dauerzaehlstelle: SET [0: ?] OF automatische_Dauerzaehlstelle FOR hat_Detektoren;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Detektorart
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Art_des_Detektors: Art_des_Detektors;
--- Relationen :
INVERSE
    von_Detektoren: SET [0: ?] OF Detektoren FOR hat_Detektorart;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

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


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

   (1,'Induktionsschleife')
   (2,'Schlauch')
   (3,'Lichtschranke')
   (4,'Infrarotlicht')
   (5,'Ultraschall')
   (6,'Koaxialkabel')
   (7,'Wiegeplatte')
   (8,'Wiegeschwelle')
   (9,'Radar')
   (10,'Sonstige')
   (11,'Witterungssensor')
   (12,'sonstige')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Gueltigkeitsbereich;
--- Attribute :
    Aufstelldatum: Datum;
    Hersteller: STRING(50);
    Abbaudatum: OPTIONAL Datum;
--- Relationen :
INVERSE
    gehoert_zu_Detektoren: SET [0: ?] OF Detektoren FOR hat_Gueltigkeitsbereich;
    von_Datenerfassungseinrichtgen: SET [0: ?] OF Datenerfassungseinrichtungen FOR hat_Gueltigkeitsbereich;
    von_Anzeigesystem: SET [0: ?] OF Anzeigesystem FOR hat_Gueltigkeitsbereich;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Art_der_Registrierung
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Registriermedium: Registriermedium;
--- Relationen :
INVERSE
    von_Detektoren: SET [0: ?] OF Detektoren FOR hat_Art_der_Registrierung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

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


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

   (1,'in ablesbaren Zählwerten')
   (2,'graphisch')
   (3,'normale Schriftzeichen')
   (4,'maschinenlesbare Schriftzeichen')
   (5,'5-Kanal-CCITT2(Telex)-Code')
   (6,'8-Kanal-USASCI-Code')
   (7,'andere')
   (8,'7-Kanal-Band')
   (9,'9-Kanal-Band')
   (10,'Kassettenband')
   (11,'sonst. Registrierung')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Landesnummer;
--- Attribute :
    Nummer: INTEGER;
    Schluessel: INTEGER;
--- Relationen :
INVERSE
    von_automat_Dauerzaehlstelle: SET [0: ?] OF automatische_Dauerzaehlstelle FOR hat_Landesnummer;
WHERE
    gueltige_Schluessel: (Schluessel=0)OR(Schluessel=1);
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Moegl_Einzelfahrzeugerfassung;
--- Attribute :
    Einzelfahrzeugdaten: SET [1: ?] OF STRING(99);
--- Relationen :
INVERSE
    von_automat_Dauerzaehlstelle: SET [0: ?] OF automatische_Dauerzaehlstelle FOR hat_Moeglichk_z_Einzelfahrzerf;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY verwaltungstechn_Zuordnung_AD;
--- Attribute :
    Regionskennziffer: INTEGER;
--- Relationen :
    hat_verwaltungstechn_Zuordnung: verwaltungstechn_Zuordnung;
INVERSE
    von_automat_Dauerzaehlstelle: SET [0: ?] OF automatische_Dauerzaehlstelle FOR hat_verwaltungstechn_Zuordnung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY oertliche_Zuordnung_AD;
--- Attribute :
    Abschnittslaenge: OPTIONAL Kilometer;
--- Relationen :
    hat_oertliche_Zuordnung: oertliche_Zuordnung;
    hat_Richtungen: SET [1: 2] OF Richtungen;
    hat_Fahrstreifenzuteilung: SET [1: ?] OF Fahrstreifenzuteilung;
INVERSE
    von_automat_Dauerzaehlstelle: SET [0: ?] OF automatische_Dauerzaehlstelle FOR hat_oertliche_Zuordnung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Richtungen;
--- Attribute :
    Nahziel_IN_Richtung: STRING(50);
    Nahziel_GEGEN_Richtung: STRING(50);
    Fernziel_IN_Richtung: STRING(50);
    Fernziel_GEGEN_Richtung: STRING(50);
    Richtung_IN: Himmelsrichtung;
    Richtung_GEGEN: Himmelsrichtung;
--- Relationen :
INVERSE
    von_oertlicher_Zuordnung: SET [0: ?] OF oertliche_Zuordnung_AD FOR hat_Richtungen;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - 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 << - VERSION >>

ENTITY Fahrstreifenzuteilung
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Zahl_der_Fahrstreifen: Anzahl;
    Zahl_der_Fahrstr_IN_Richtung: Anzahl;
--- Relationen :
INVERSE
    von_oertlicher_Zuordnung: SET [0: ?] OF oertliche_Zuordnung_AD FOR hat_Fahrstreifenzuteilung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

ENTITY Unterzentrale_Verkehrsrechnerz;
--- Attribute :
    Zuordnung: OPTIONAL Zuordnung;
    Name: OPTIONAL SET [1: ?] OF STRING(99);
--- Relationen :
INVERSE
    von_automat_Dauerzaehlstelle: SET [0: ?] OF automatische_Dauerzaehlstelle FOR gehoert_zu_UZ_VRZ;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

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


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

   (0,'keine Zuordnung')
   (1,'Zuordnung zu einer oder mehreren ' ||
    'Unterzentralen')
   (2,'Zuordnung zu einer oder mehreren ' ||
    'Verkehrsrechnerzentralen')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION << - VERSION >>

END_SCHEMA; -- Automatische_Dauerzaehlstelle