SCHEMA Vermessungspunkt;

REFERENCE FROM Administration (Verwaltungsbezirk_abstrakt);

REFERENCE FROM Geometrieschema (Punktobjekt_Modell);

REFERENCE FROM Historisierung (historisches_Objekt);

REFERENCE FROM Allgemeine_Objekte (Winkel, Zeitraum, Meter, Jahr, Uhrzeit, Datum);

REFERENCE FROM Kataster (ALKIS_Objekt, Grenzpunkt, Gemarkung);

ENTITY Vermessungspunkt
ABSTRACT SUPERTYPE OF (ONEOF(Festpunkt , Referenzstationspunkt ))
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Name_Lage: OPTIONAL STRING;
    interne_Bemerkungen: OPTIONAL STRING;
    Nutzerspezifische_Bemerkungen: OPTIONAL STRING;
    letzte_oertliche_Ueberpruefung: OPTIONAL Datum;
    Befund: OPTIONAL STRING;
    historische_Unterlagen: OPTIONAL SET [1: ?] OF STRING;
--- Relationen :
    hat_Punktvermarkung: OPTIONAL Punktvermarkung;
    hat_Punktort: SET [1: ?] OF Punktort;
    hat_Hoehe: OPTIONAL SET [1: ?] OF Hoehe;
    hat_Skizze: OPTIONAL SET [1: ?] OF Skizze;
    liegt_in_Bundesland: OPTIONAL Verwaltungsbezirk_abstrakt;
    hat_weiteren_Punkt: OPTIONAL SET [1: ?] OF Vermessungspunkt;
INVERSE
    ist_weiterer_Punkt: SET [0: ?] OF Vermessungspunkt FOR hat_weiteren_Punkt;
    ist_Grenzpunkt: SET [0: ?] OF Grenzpunkt FOR ist_Vermessungspunkt;
END_ENTITY;

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

ENTITY Punktvermarkung;
--- Attribute :
    Hoehe_vom_Erdboden: REAL;
    Art_der_Vermarkung: OPTIONAL Art_der_Vermarkung;
    Zustand_der_Vermarkung: OPTIONAL SET [1: ?] OF STRING;
--- Relationen :
INVERSE
    von_Vermessungspunkt: SET [0: ?] OF Vermessungspunkt FOR hat_Punktvermarkung;
END_ENTITY;

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

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


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

   (1000,'Höchste Stelle (Oberfläche) ' ||
   'der Vermarkung, Mitte (Zentrum)')
   (2000,'TP-Platte, Oberfläche, Mitte')
   (2100,'TP-Pfeiler, Oberfläche, Mitte')
   (3000,'Niv-Pfeilerbolzen, höchste ' ||
   'Stelle des Bolzens')
   (3100,'Niv-Pfeilerbolzen, ' ||
   'Pfeileroberfläche')

*)

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

ENTITY Punktort
SUBTYPE OF (Punktobjekt_Modell);
--- Attribute :
    Liegenschaftskarte: OPTIONAL BOOLEAN;
    Koordinatenstatus: Koordinatenstatus;
    Ueberpruefungsdatum: OPTIONAL Datum;
    Hinweise: OPTIONAL STRING;
--- Relationen :
    hat_Qualitaetsangaben: OPTIONAL Qualitaetsangaben_Punktort;
INVERSE
    stellt_Vermessungspunkt_dar: SET [1: ?] OF Vermessungspunkt FOR hat_Punktort;
END_ENTITY;

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

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


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

   (1000,'amtliche Koordinaten (im amtlichen ' ||
   'Koordinatensystem und derzeit gültig)')
   (3000,'vorläufige Koordinaten')
   (4000,'nicht amtlich eingeführte Koordinaten')
   (5000,'historische (nicht mehr amtliche) Koordinaten')
   (5100,'Koordinaten, die sich als fehlerhaft ' ||
   'herausgestellt haben')

*)

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

ENTITY Qualitaetsangaben_Punktort;
--- Attribute :
    Erhebungsstelle_Pos_2D_SArt: OPTIONAL STRING;
    Erhebungsstelle_Pos_2D: OPTIONAL STRING;
    Erhebungsstelle_Pos_Hoehe_SArt: OPTIONAL STRING;
    Erhebungsstelle_Pos_Hoehe: OPTIONAL STRING;
    Erhebungsstelle_Pos_3D_SArt: OPTIONAL STRING;
    Erhebungsstelle_Pos_3D: OPTIONAL STRING;
    Datenerhebung_Pos_2D: OPTIONAL Datenerhebung_Pos_2D;
    Datenerhebung_Pos_Hoehe: OPTIONAL Datenerhebung_Pos_Hoehe;
    Datenerhebung_Pos_3D: OPTIONAL Datenerhebung_Pos_3D;
    Berechnungsdatum_Pos_2D: OPTIONAL Datum;
    Berechnungsdatum_Pos_Hoehe: OPTIONAL Datum;
    Berechnungsdatum_Pos_3D: OPTIONAL Datum;
    Bestimmungsdatum_Pos_2D: OPTIONAL Datum;
    Bestimmungsdatum_Pos_Hoehe: OPTIONAL Datum;
    Bestimmungsdatum_Pos_3D: OPTIONAL Datum;
    Genauigkeit_Pos_2D: OPTIONAL Genauigkeit_Pos_2D;
    Genauigkeit_Pos_Hoehe: OPTIONAL Genauigkeit_Pos_Hoehe;
    Genauigkeit_Pos_3D: OPTIONAL Genauigkeit_Pos_3D;
    Vertrauenswuerdigk_Pos_2D: OPTIONAL Vertrauenswuerdigk_Pos_2D;
    Vertrauenswuerdigk_Pos_Hoehe: OPTIONAL Vertrauenswuerdigk_Pos_Hoehe;
    Vertrauenswuerdigk_Pos_3D: OPTIONAL Vertrauenswuerdigk_Pos_3D;
--- Relationen :
    Erhebungsstelle_Pos_2D_Land: OPTIONAL Verwaltungsbezirk_abstrakt;
    Erhebungsstelle_Pos_Hoehe_Land: OPTIONAL Verwaltungsbezirk_abstrakt;
    Erhebungsstelle_Pos_3D_Land: OPTIONAL Verwaltungsbezirk_abstrakt;
INVERSE
    zu_Punktort: SET [0: ?] OF Punktort FOR hat_Qualitaetsangaben;
END_ENTITY;

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

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


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

   (0100,'Aus GPS-Messung')
   (0200,'Aus trigonometrischer Messung ' ||
   'im TP-Netz')
   (0210,'Aus lokaler trigonometrischer ' ||
   'Messung (innerhalb einer Punktgruppe)')
   (1000,'Aus Katastervermessung ermittelt')
   (1010,'Aus Katastervermessung mit ' ||
   'höchster Lagegenauigkeit (NW)')
   (1020,'Aus Katastervermessung mit ' ||
   'hoher Lagegenauigkeit (NW)')
   (1030,'Aus Katastervermessung mit ' ||
   'mittlerer Lagegenauigkeit (NW)')
   (1040,'Aus Katastervermessung mit ' ||
   'unzureichender Lagegenauigkeit (NW)')
   (1100,'Aufgrund Anforderungen mit ' ||
   'Netzanschluss ermittelt')
   (1200,'Aufgrund Anforderungen mit ' ||
   'Bezug zur Flurstücksgrenze ermittelt')
   (1300,'Aufgrund Anforderungen des ' ||
   'LiegVermErlasses ermittelt (NI)')
   (1400,'Aufgrund Anforderungen des ' ||
   'Fortführungserlasses II ermittelt (NI)')
   (1500,'Aufgrund Anforderungen älterer ' ||
   'Vorschriften ermittelt (NI)')
   (1600,'Auf einheitlichem und ' ||
   'eindeutigem Raumbezug basierend (E-Koord.) (BW)')
   (1610,'Auf bislang einheitlichem ' ||
   'Raumbezug basierend ermittelt (B-Koord.) (BW)')
   (1620,'Auf früher gültigem Raumbezug ' ||
   'basierend ermittelt (T-Koord.) (BW)')
   (1700,'Aufgrund Anforderungen des ' ||
   'LiegVermErlasses LSA (LSA)')
   (1710,'Aufgrund Anforderungen der ' ||
   'Anleitung für die Ausführung der Neuvermessungen, 1953, DDR (LSA)')
   (1720,'Aufgrund der ' ||
   'Liegenschaftsvermessungsordnung 112/82, DDR (LSA)')
   (1800,'Aus Koordinatentransformation ermittelt')
   (1900,'Aus sonstiger Vermessung ermittelt')
   (2000,'Aus Luftbildmessung oder ' ||
   'Fernerkundungsdaten ermittelt')
   (3000,'Aus Netzvermessung ermittelt')
   (3100,'Aufgrund Anforderungen des ' ||
   'Festpunktfelderlasses ermittelt (NI,ST)')
   (3200,'Aufgrund Anforderungen des ' ||
   'Polygonpunktfelderlasses ermittelt (NI)')
   (3300,'Aus Polygonierungsmessung')
   (4000,'Aus Katasterunterlagen und ' ||
   'Karten für graphische Zwecke ermittelt')
   (4100,'Aus Katasterzahlen für ' ||
   'graphische Zwecke ermittelt')
   (4200,'Aus Katasterkarten digitalisiert')
   (4210,'Kartenmaßstab M >= 1:1000')
   (4220,'Kartenmaßstab 1:1000 > M > 1:2000')
   (4230,'Kartenmaßstab 1:2000 > M > 1:3000')
   (4240,'Kartenmaßstab 1:3000 > M > 1:5000')
   (4250,'Kartenmaßstab 1:5000 > M')
   (4260,'Mit sonstigen geometrischen ' ||
   'Bedingungen und/oder Homogenisierung (M >= 1:1000)')
   (4270,'Mit Berechnung oder Abstandsbedingung ' ||
   '(M >= 1:1000)')
   (4280,'Mit sonstigen geometrischen ' ||
   'Bedingungen und/oder Homogenisierung (M < 1:1000)')
   (4290,'Mit Berechnung oder ' ||
   'Abstandsbedingungen (M < 1:1000)')
   (4300,'Aus sonstigen Unterlagen digitalisiert')
   (4310,'Kartenmaßstab M >= 1:1000')
   (4320,'Kartenmaßstab 1:1000 > M >= 1:2000')
   (4330,'Kartenmaßstab 1:2000 > M >= 1:3000')
   (4340,'Kartenmaßstab 1:3000 > M >= 1:5000')
   (4350,'Kartenmaßstab M >= 1:5000')
   (4360,'Mit sonstigen geometrischen ' ||
   'Bedingungen und/oder Homogenisierung (M >= 1:1000)')
   (4370,'Mit Berechnung oder ' ||
   'Abstandsbedingung (M >= 1:1000)')
   (4380,'Mit sonstigen geometrischen ' ||
   'Bedingungen und/oder Homogenisierung (M < 1:1000)')
   (4390,'Mit Berechnung oder ' ||
   'Abstandsbedingungen (M < 1:1000)')
   (9998,'Nach Quellenlage nicht zu spezifizieren')

*)

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

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


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

   (1000,'Aus Nivellement')
   (2000,'Aus satellitengeodätischer Messung')
   (3000,'Aus trigonometrischer Messung')
   (4000,'Aus analoger Unterlage abgeleitet')

*)

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

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


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

   (1000,'Höchste Positionsgenauigkeit')
   (2000,'Hohe Positionsgenauigkeit')
   (3000,'Mittlere Positionsgenauigkeit')
   (9998,'Nach Quellenlage nicht zu spezifizieren')

*)

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

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


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

   (1200,'Standardabweichung SL <= 3 cm')
   (1210,'Standardabweichung SL <= 1 cm')
   (1220,'Standardabweichung 1 cm < SL <= 3 cm')
   (1300,'Standardabweichung 3 cm < SL <= 10 cm')
   (1310,'Standardabweichung 3 cm < SL <= 6 cm')
   (1320,'Standardabweichung 6 cm < SL <= 10 cm')
   (1400,'Standardabweichung 10 cm < SL <= 30 cm')
   (1500,'Standardabweichung 30 cm < SL <= 60 cm')
   (1700,'Standardabweichung 60 cm < SL <= 500 cm')
   (1800,'Standardabweichung SL > 500 cm')
   (9998,'Standardabweichung nicht untersucht')

*)

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

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


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

   (1100,'Standardabweichung SH <= 1 cm')
   (1200,'Standardabweichung 1 cm < SH <= 3 cm')
   (1300,'Standardabweichung 3 cm < SH <= 10 cm')
   (1600,'Standardabweichung 10 cm < SH <= 100 cm')
   (1900,'Standardabweichung SH > 100 cm')
   (9998,'Standardabweichung nicht untersucht')

*)

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

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


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

   (1200,'Standardabweichung SP <= 3 cm')
   (1210,'Standardabweichung SP <= 1 cm')
   (1220,'Standardabweichung 1 cm < SP <= 3 cm')
   (1300,'Standardabweichung 3 cm < SP <= 10 cm')
   (1310,'Standardabweichung 3 cm < SP <= 6 cm')
   (1320,'Standardabweichung 6 cm < SP <= 10 cm')
   (1400,'Standardabweichung 10 cm < SP <= 30 cm')
   (1500,'Standardabweichung 30 cm < SP <= 60 cm')
   (1700,'Standardabweichung 60 cm < SP <= 500 cm')
   (1800,'Standardabweichung SP > 500 cm')
   (1700,'Standardabweichung nicht untersucht')

*)

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

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


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

   (1100,'Ausgleichung')
   (1200,'Berechnung')
   (1300,'Bestimmungsverfahren')
   (1400,'ohne Kontrollen')
   (9998,'nicht untersucht')

*)

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

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


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

   (1100,'Ausgleichung')
   (1200,'Berechnung')
   (1300,'Bestimmungsverfahren')
   (1400,'ohne Kontrollen')
   (9998,'nicht untersucht')

*)

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

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


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

   (1100,'Ausgleichung')
   (1200,'Berechnung')
   (1300,'Bestimmungsverfahren')
   (1400,'ohne Kontrollen')
   (9998,'nicht untersucht')

*)

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

ENTITY Hoehe;
--- Attribute :
    Hoehenwert: REAL;
    Hoehensystem: Hoehensystem;
    Hoehenstatus: OPTIONAL Hoehenstatus;
    Ueberpruefungsdatum: OPTIONAL Datum;
    Hinweise: OPTIONAL STRING;
--- Relationen :
    hat_Qualitaetsangaben: OPTIONAL Qualitaetsangaben_Hoehe;
INVERSE
    zu_Vermessungspunkt: SET [1: ?] OF Vermessungspunkt FOR hat_Hoehe;
END_ENTITY;

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

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


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

   (1000,'Höhe im System des DHHN 12')
   (1001,'Höhe im "Horizont 71" (BW)')
   (1400,'Normalorthometrische Höhe im System ' ||
   'des DHHN 85')
   (1500,'Normalhöhe im System des SNN 76')
   (1560,'Normalhöhe im System des SNN 56')
   (1600,'Normalhöhe im System des DHHN 92')
   (8000,'Höhe im Nordseeküstennivellement I')
   (8100,'Höhe im Nordseeküstennivellement II')
   (8200,'Normalorthometrische Höhe im ' ||
   'Nivellementnetz 1960 (Westblock)')
   (8300,'Höhe im Ostseeküstennivellement')
   (9000,'Höhe im "alten System" der ' ||
   'preußischen Landesaufnahme')
   (9010,'Höhe im "vorläufigen System" in Bayern')

*)

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

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


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

   (1000,'amtliche Höhe (im amtlichen ' ||
   'Höhensystem und derzeit gültig)')
   (3000,'vorläufige Höhe')
   (4000,'nicht amtlich eingeführte Höhe')
   (5000,'historische (nicht mehr amtliche) Höhe')
   (5100,'Höhe, die sich als fehlerhaft ' ||
   'herausgestellt hat')

*)

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

ENTITY Qualitaetsangaben_Hoehe;
--- Attribute :
    Erhebungsstelle_Stellenart: OPTIONAL STRING;
    Erhebungsstelle: OPTIONAL STRING;
    Datenerhebung_Hoehe: OPTIONAL Datenerhebung_Hoehe;
    Berechnungsdatum: OPTIONAL Datum;
    Messjahr: OPTIONAL Jahr;
    Genauigkeit_Hoehe: OPTIONAL Genauigkeit_Hoehe;
--- Relationen :
    Erhebungsstelle_Land: OPTIONAL Verwaltungsbezirk_abstrakt;
INVERSE
    zu_Hoehe: SET [0: ?] OF Hoehe FOR hat_Qualitaetsangaben;
END_ENTITY;

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

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


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

   (1000,'Nivellement')
   (2000,'Trigonometrische Messung')
   (5000,'Transformation oder ' ||
   'näherungsweise Berechnung')
   (6000,'Auswertung von Luftbildern')
   (8000,'GPS-Messung und Addition ' ||
   'einer Undulation')
   (9998,'Methode unbekannt')

*)

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

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


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

   (1110,'Standardabweichung SH <= 2 mm')
   (1120,'Standardabweichung 2 mm < SH <= 5 mm')
   (1130,'Standardabweichung 5 mm < SH <= 1 cm')
   (1200,'Standardabweichung 1 cm < SH <= 3 cm')
   (1300,'Standardabweichung 3 cm < SH <= 10 cm')
   (1600,'Standardabweichung 10 cm < SH <= 1 m')
   (1900,'Standardabweichung SH > 1 m')
   (9998,'Standardabweichung nicht ermittelt')

*)

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

ENTITY Skizze;
--- Attribute :
    Aktualitaet: Datum;
    Skizzenname: STRING(60);
    Skizzenart: OPTIONAL Skizzenart;
    Bemerkungen: OPTIONAL STRING;
    historische_Skizzen: OPTIONAL SET [1: ?] OF STRING;
--- Relationen :
INVERSE
    zu_Vermessungspunkt: Vermessungspunkt FOR hat_Skizze;
END_ENTITY;

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

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


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

   (1000,'Einmessungsskizze')
   (1100,'Randzeichnung')
   (3000,'Foto')
   (3100,'Ansichtszeichnung')
   (4000,'Luftbildausschnitt')
   (5000,'Diagramm')
   (5100,'Tabelle')

*)

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

ENTITY Festpunkt
ABSTRACT SUPERTYPE OF (ONEOF(Lagefestpunkt , Hoehenfestpunkt ))
SUBTYPE OF (Vermessungspunkt);
--- Attribute :
    Katasteramt_Stellart: OPTIONAL STRING;
    Katasteramt_Schluessel: OPTIONAL STRING;
    GPS_Tauglichkeit: OPTIONAL GPS_Tauglichkeit;
--- Relationen :
    Katasteramt_Land: OPTIONAL Verwaltungsbezirk_abstrakt;
    liegt_in_Gemeinde: OPTIONAL Verwaltungsbezirk_abstrakt;
    liegt_in_Gemarkung: OPTIONAL Gemarkung;
END_ENTITY;

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

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


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

   (1000,'sehr guter Empfang')
   (2000,'eingeschränkte Horizontfreiheit')
   (3000,'Mehrwegeeffekte möglich')
   (4000,'nicht geeignet für GPS')

*)

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

ENTITY Lagefestpunkt
ABSTRACT SUPERTYPE OF (ONEOF(trigonometrischer_Punkt , Sicherungspunkt , Aufnahmepunkt , sonstiger_Vermessungspunkt , Lagefestpunkt_SBV ))
SUBTYPE OF (Festpunkt);
--- Attribute :
    Punktstabilitaet: OPTIONAL Punktstabilitaet_Lagefestpunkt;
--- Relationen :
END_ENTITY;

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

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


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

   (1000,'sehr gut')
   (2000,'ausreichend')
   (3000,'befriedigend')
   (5000,'mangelhaft (ohne ' ||
   'Nennung eines Grundes)')
   (5100,'mangelhaft (Bergsenkungsgebiet)')
   (5200,'mangelhaft (in ' ||
   'rutschgefährdeter Hanglage)')
   (5300,'mangelhaft (sehr ' ||
   'nahe an Gewässer)')
   (6000,'sehr gut')
   (7000,'befriedigend')
   (9000,'mangelhaft')
   (9998,'Punktstabilität nicht untersucht')

*)

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

ENTITY Lagefestpunkt_SBV
SUPERTYPE OF (ONEOF(Lagepasspunkt_SBV ))
SUBTYPE OF (Lagefestpunkt, Punktnummer_SBV);
--- Attribute :
--- Relationen :
END_ENTITY;

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

ENTITY Lagepasspunkt_SBV
SUBTYPE OF (Lagefestpunkt_SBV);
--- Attribute :
--- Relationen :
END_ENTITY;

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

ENTITY Hoehenfestpunkt
ABSTRACT SUPERTYPE OF (ONEOF(Nivellementpunkt , Hoehenfestpunkt_SBV ))
SUBTYPE OF (Festpunkt);
--- Attribute :
    vermutete_Hoehenstabilitaet: OPTIONAL vermutete_Hoehenstabilitaet;
    Guete_des_Vermarkungstraegers: OPTIONAL Guete_des_Vermarkungstraegers;
    Topographie_und_Umwelt: OPTIONAL Topographie_und_Umwelt;
    Guete_des_Baugrundes: OPTIONAL Guete_des_Baugrundes;
    geologische_Stabilitaet: OPTIONAL geologische_Stabilitaet;
    Grundwasserstand: OPTIONAL Grundwasserstand;
    Grundwasserschwankung: OPTIONAL Grundwasserschwankung;
    Hoehenstabilitaet_aus_Wdhmessg: OPTIONAL Hoehenstabilitaet_aus_Wdhmessg;
--- Relationen :
END_ENTITY;

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

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


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

   (1000,'sehr gut')
   (3000,'befriedigend')
   (5000,'mangelhaft')
   (9998,'nicht bekannt')

*)

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

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


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

   (2000,'gut')
   (3000,'befriedigend')
   (5000,'unzureichend')
   (9998,'nicht bekannt')

*)

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

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


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

   (1000,'keine Topographie- und ' ||
   'Umwelteinflüsse')
   (2000,'geringe Topographie- und ' ||
   'Umwelteinflüsse')
   (3000,'mäßige Topographie- und ' ||
   'Umwelteinflüsse')
   (4000,'starke Topographie- und ' ||
   'Umwelteinflüsse')
   (4100,'starke Topographie- und ' ||
   'Umwelteinflüsse (Bergsenkungsgebiet)')
   (4200,'starke Topographie- und ' ||
   'Umwelteinflüsse (in rutschgefährdeter Hanglage)')
   (4300,'starke Topographie- und ' ||
   'Umwelteinflüsse (sehr nahe an Gewässer)')
   (5000,'sehr starke Topographie- und ' ||
   'Umwelteinflüsse')
   (9999,'Topographie- und ' ||
   'Umwelteinflüsse nicht untersucht')

*)

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

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


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

   (1000,'sehr gute Güte des Baugrundes')
   (2000,'gute Güte des Baugrundes')
   (3000,'befriedigende Güte des Baugrundes')
   (4000,'ausreichende Güte des Baugrundes')
   (5000,'mangelhafte Güte des Baugrundes')
   (9999,'Güte des Baugrundes nicht untersucht')

*)

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

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


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

   (1000,'sehr gute geologische Stabilität')
   (2000,'gute geologische Stabilität')
   (3000,'befriedigende geologische Stabilität')
   (4000,'ausreichende geologische Stabilität')
   (5000,'mangelhafte geologische Stabilität')
   (9999,'geologische Stabilität nicht untersucht')

*)

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

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


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

   (1000,'Grundwasserstand sehr tief (> 20 m)')
   (2000,'Grundwasserstand tief (> 10 m und <= 20 m)')
   (3000,'Grundwasserstand normal (> 3 m und <= 10 m)')
   (4000,'Grundwasserstand hoch (> 1 m und <= 3 m)')
   (5000,'Grundwasserstand sehr hoch (<= 1 m)')
   (9000,'Grundwasserstand abgesenkt')
   (9999,'Grundwasserstand nicht ermittelt')

*)

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

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


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

   (1000,'sehr geringe Grundwasserschwankung')
   (2000,'geringe Grundwasserschwankung (<= 0,5 m)')
   (3000,'mäßige Grundwasserschwankung (> 0,5 m und <= 2 m)')
   (4000,'starke Grundwasserschwankung (> 2 m und <= 6 m)')
   (5000,'sehr starke Grundwasserschwankung (> 6 m)')
   (9999,'Grundwasserschwankung nicht ermittelt')

*)

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

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


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

   (2000,'gut')
   (3000,'befriedigend')
   (5000,'unzureichend')
   (9998,'nicht bekannt')

*)

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

ENTITY Hoehenfestpunkt_SBV
SUPERTYPE OF (ONEOF(Hoehenpasspunkt_SBV ))
SUBTYPE OF (Hoehenfestpunkt, Punktnummer_SBV);
--- Attribute :
--- Relationen :
END_ENTITY;

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

ENTITY Hoehenpasspunkt_SBV
SUBTYPE OF (Hoehenfestpunkt_SBV);
--- Attribute :
--- Relationen :
END_ENTITY;

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

ENTITY Punktnummer_SBV
ABSTRACT SUPERTYPE OF (ONEOF(Lagefestpunkt_SBV , Hoehenfestpunkt_SBV ));
--- Attribute :
    Punktnummer: STRING(20);
--- Relationen :
END_ENTITY;

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

ENTITY Aufnahmepunkt
SUBTYPE OF (Lagefestpunkt, ALKIS_Objekt);
--- Attribute :
--- Relationen :
END_ENTITY;

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

ENTITY Sicherungspunkt
SUBTYPE OF (Lagefestpunkt, ALKIS_Objekt);
--- Attribute :
--- Relationen :
END_ENTITY;

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

ENTITY sonstiger_Vermessungspunkt
SUBTYPE OF (Lagefestpunkt, ALKIS_Objekt);
--- Attribute :
--- Relationen :
END_ENTITY;

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

ENTITY AFIS_Punkt
ABSTRACT SUPERTYPE OF (ONEOF(trigonometrischer_Punkt , Nivellementpunkt , Referenzstationspunkt ));
--- Attribute :
    Punktkennung: INTEGER;
--- Relationen :
END_ENTITY;

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

ENTITY trigonometrischer_Punkt
SUBTYPE OF (Lagefestpunkt, AFIS_Punkt);
--- Attribute :
    Ordnung: OPTIONAL Ordnung_TP;
    Hierarchiestufe: OPTIONAL Hierarchiestufe_TP;
    Wertigkeit: OPTIONAL Wertigkeit_TP;
    Hoehendiff_Pfeiler_ue_Platte: OPTIONAL Meter;
    Datum_der_Messung: OPTIONAL Datum;
    Funktion_in_einer_Punktgruppe: OPTIONAL Funktion_TP;
--- Relationen :
END_ENTITY;

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

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


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

   (1000,'TP(1) - Hauptdreieckspunkt, ' ||
   'Zwischenpunkt 1. Ordnung')
   (2000,'TP(2)')
   (3000,'TP(3)')
   (4000,'TP(4)')
   (5000,'TP(5)')
   (9000,'TP, der nur eine interne Bedeutung ' ||
   'für die Grundlagenvermessung hat')
   (9999,'Ordnung nicht bekannt oder nicht vergeben')

*)

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

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


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

   (1000,'Hierarchiestufe A')
   (2000,'Hierarchiestufe B')
   (3000,'Hierarchiestufe C')
   (4000,'Hierarchiestufe D')
   (5000,'Hierarchiestufe E')
   (9999,'Hierarchiestufe nicht ' ||
   'bekannt oder nicht vergeben')

*)

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

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


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

   (1000,'Fundamentalpunkt (Punkt, auf dem ' ||
   'Lage, Höhe und Schwere hochgenau bestimmt worden ist')
   (2000,'Übergeordneter Festpunkt')
   (9999,'Wertigkeit nicht bekannt oder ' ||
   'nicht vergeben')

*)

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

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


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

   (1000,'Zentrum')
   (2000,'Exzentrum, Stationspunkt, Nebenstand')
   (3000,'Zwillingspunkt, Orientierungspunkt')
   (4000,'Sicherungspunkt, Versicherungspunkt')

*)

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

ENTITY Nivellementpunkt
SUBTYPE OF (Hoehenfestpunkt, AFIS_Punkt);
--- Attribute :
    Ordnung: OPTIONAL Ordnung_NivP;
--- Relationen :
END_ENTITY;

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

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


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

   (1000,'NivP(1) - Haupthöhenpunkt, ' ||
   'Zwischenlinienpunkt 1. Ordnung')
   (2000,'NivP(2)')
   (3000,'NivP(3)')
   (4000,'NivP(4)')
   (9000,'NivP, der nur eine interne Bedeutung ' ||
   'für die Zwecke der Grundlagenvermessung hat')
   (9998,'Ordnung nicht bekannt oder nicht vergeben')

*)

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

ENTITY Referenzstationspunkt
SUBTYPE OF (Vermessungspunkt, AFIS_Punkt);
--- Attribute :
    Funktion_in_einer_Punktgruppe: OPTIONAL Funktion_RSP;
--- Relationen :
    Zeitraum_permanente_Messungen: OPTIONAL Zeitraum;
    Offset_N_L1: OPTIONAL Meter;
    Offset_E_L1: OPTIONAL Meter;
    Offset_H_L1: OPTIONAL Meter;
    Offset_N_L2: OPTIONAL Meter;
    Offset_E_L2: OPTIONAL Meter;
    Offset_H_L2: OPTIONAL Meter;
    PCV_L1: OPTIONAL LIST [72: 72] OF PCV;
    PCV_L2: OPTIONAL LIST [72: 72] OF PCV;
    ISDN_Nummer: OPTIONAL STRING(20);
    Funkfrequenz: OPTIONAL REAL(10);
    hat_GPS_Empfaenger: OPTIONAL GPS_Empfaenger;
    hat_GPS_Antenne: OPTIONAL GPS_Antenne;
END_ENTITY;

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

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


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

   (1000,'Zentrum')
   (2000,'Exzentrum')

*)

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

ENTITY GPS_Empfaenger;
--- Attribute :
    Empfaengertyp: OPTIONAL STRING(20);
    Seriennummer: OPTIONAL STRING(20);
    Firmwareversion: OPTIONAL STRING(20);
    Aufbau_Datum: OPTIONAL Datum;
    Aufbau_Uhrzeit: OPTIONAL Uhrzeit;
    Abbau_Datum: OPTIONAL Datum;
    Abbau_Uhrzeit: OPTIONAL Uhrzeit;
    zusaetzliche_Informationen: OPTIONAL STRING;
--- Relationen :
INVERSE
    von_Referenzstationspunkt: Referenzstationspunkt FOR hat_GPS_Empfaenger;
END_ENTITY;

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

ENTITY GPS_Antenne;
--- Attribute :
    Antennentyp: OPTIONAL STRING(16);
    Radometyp: OPTIONAL STRING(4);
    Antennenreferenzpunkt: OPTIONAL STRING(20);
    azimutale_Abweichung: OPTIONAL Winkel;
    Antennenhoehe: OPTIONAL Meter;
    Hoehenoffset_zum_Phasenz_L1: OPTIONAL Meter;
    Hoehenoffset_zum_Phasenz_L2: OPTIONAL Meter;
    Aufbau_Datum: OPTIONAL Datum;
    Aufbau_Uhrzeit: OPTIONAL Uhrzeit;
    Abbau_Datum: OPTIONAL Datum;
    Abbau_Uhrzeit: OPTIONAL Uhrzeit;
    zusaetzliche_Informationen: OPTIONAL STRING;
--- Relationen :
INVERSE
    von_Referenzstationspunkt: Referenzstationspunkt FOR hat_GPS_Antenne;
END_ENTITY;

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

ENTITY PCV;
--- Attribute :
    Winkel: OPTIONAL Winkel;
    Variation: OPTIONAL Meter;
--- Relationen :
INVERSE
    PCV_L1_von_GPS_Antenne: SET [0: ?] OF Referenzstationspunkt FOR PCV_L1;
    PCV_L2_von_GPS_Antenne: SET [0: ?] OF Referenzstationspunkt FOR PCV_L2;
END_ENTITY;

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

END_SCHEMA; -- Vermessungspunkt