SCHEMA Oekologie;

REFERENCE FROM Strassennetz (Abschnitt_oder_Ast_abstrakt, Strasse_abstrakt, Punktobjekt_stat);

REFERENCE FROM Administration (Verwaltungsbezirk_abstrakt);

REFERENCE FROM Geometrieschema (Flaechenobjekt_Modell);

REFERENCE FROM Historisierung (historisches_Objekt);

REFERENCE FROM Allgemeine_Objekte (Anzahl, geometrische_Auspraegung, Datum, EURO, Objekt_ID, Quadratmeter, Meter);

REFERENCE FROM Grunderwerb (Nutzungsartteilflaeche);

ENTITY Kompensationsmassnahme;
--- Attribute :
    Bezeichnung: OPTIONAL STRING(1);
    Nummer: OPTIONAL INTEGER;
    Beschreibung_gemaess_LBP: OPTIONAL STRING;
    Gesamtgroesse: Quadratmeter;
    Ersatzgeld: OPTIONAL EURO;
    Ersatzgeld_gezahlt_am: OPTIONAL Datum;
    Ersatzgeld_gezahlt_an: OPTIONAL STRING;
    Begruendung_fuer_Ersatzgeld: OPTIONAL STRING;
    fertiggestellt_am: OPTIONAL Datum;
    Herstellung_abgeschlossen_am: OPTIONAL Datum;
    Entwicklungsziel_erreicht_am: OPTIONAL Datum;
    Uebergabe_an: OPTIONAL STRING;
    Datum_der_Uebergabe: OPTIONAL Datum;
    Zustandskontrolle: OPTIONAL STRING;
--- Relationen :
    hat_Teilmassnahme: SET [1: ?] OF Teilmassnahme;
INVERSE
    zu_Baumassnahme: SET [0: ?] OF Baumassnahme FOR hat_Kompensationsmassnahme;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Teilmassnahme;
--- Attribute :
    Umfang: OPTIONAL Quadratmeter;
    Anzahl: OPTIONAL Anzahl;
    Groesse: OPTIONAL Quadratmeter;
--- Relationen :
    hat_Kompensationsteilflaeche: SET [1: ?] OF Kompensationsteilflaeche;
    hat_Herstellung_Fertigstpflege: OPTIONAL SET [1: ?] OF Herstellung_Fertigstpflege;
    hat_Entwicklungspflege: OPTIONAL SET [1: ?] OF Entwicklungspflege;
    hat_Unterhaltungspflege: OPTIONAL SET [1: ?] OF Unterhaltungspflege;
INVERSE
    zu_Kompensationsmassnahme: Kompensationsmassnahme FOR hat_Teilmassnahme;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Kompensationsteilflaeche
SUBTYPE OF (Flaechenobjekt_Modell);
--- Attribute :
    Groesse: Quadratmeter;
--- Relationen :
    auf_Nutzungsartteilflaeche: Nutzungsartteilflaeche;
INVERSE
    zu_Teilmassnahme: Teilmassnahme FOR hat_Kompensationsteilflaeche;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Herstellung_Fertigstpflege;
--- Attribute :
    Massnahme: OPTIONAL STRING;
    Entwicklungsziel_erreicht_am: OPTIONAL Datum;
    Kosten_der_Herstellung: OPTIONAL EURO;
    Kosten_der_Fertigstellungspfl: OPTIONAL EURO;
--- Relationen :
INVERSE
    von_Teilmassnahme: SET [0: ?] OF Teilmassnahme FOR hat_Herstellung_Fertigstpflege;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Entwicklungspflege;
--- Attribute :
    Art_der_Pflege: OPTIONAL STRING;
    Einheitspreis: OPTIONAL EURO;
    Gesamtpreis: OPTIONAL EURO;
    Zeitpunkt_der_Pflege: OPTIONAL Datum;
    Durchfuehrung_von: OPTIONAL STRING;
    Kosten: OPTIONAL EURO;
    Pflegevertrag_mit: OPTIONAL STRING;
    Vertrag_endet_am: OPTIONAL Datum;
    abgenommen_am: OPTIONAL Datum;
    Entwicklungsziel_erreicht_am: OPTIONAL Datum;
    Vertragsinhalte: OPTIONAL STRING;
    Anmerkungen_zur_Pflege: OPTIONAL STRING;
    Hinweise_f_die_weitere_Pflege: OPTIONAL STRING;
--- Relationen :
INVERSE
    von_Teilmassnahme: SET [0: ?] OF Teilmassnahme FOR hat_Entwicklungspflege;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Unterhaltungspflege;
--- Attribute :
    Art_der_Pflege: OPTIONAL STRING;
    Einheitspreis: OPTIONAL EURO;
    Gesamtpreis: OPTIONAL EURO;
    Durchfuehrung_von: OPTIONAL STRING;
    Pflegevertrag_mit: OPTIONAL STRING;
    Vertrag_endet_am: OPTIONAL Datum;
    abgenommen_am: OPTIONAL Datum;
    Vertragsinhalte: OPTIONAL STRING;
    Anmerkungen_zur_Unterhpflege: OPTIONAL STRING;
    Hinweise_f_die_weitere_Pflege: OPTIONAL STRING;
    Kosten_d_Unterhpflege_aktuell: OPTIONAL EURO;
    Kosten_d_Unterhpflege_aufgel: OPTIONAL EURO;
--- Relationen :
INVERSE
    von_Teilmassnahme: SET [0: ?] OF Teilmassnahme FOR hat_Unterhaltungspflege;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Baumassnahme;
--- Attribute :
    Laenge: OPTIONAL Meter;
    naechster_Ort: OPTIONAL STRING;
    Bezeichnung: OPTIONAL STRING;
    Beginn: OPTIONAL Datum;
    Fertigstellung: OPTIONAL Datum;
    Verkehrsfreigabe: OPTIONAL Datum;
    Fertigstellung_Kompensmassn: OPTIONAL Datum;
    Landschaftsbehoerde: OPTIONAL STRING;
    Art_der_Genehmigung: OPTIONAL STRING;
    Datum_der_Genehmigung: OPTIONAL Datum;
    Aktenzeichen: OPTIONAL STRING;
    PROJIS_Nummer: OPTIONAL STRING;
    Fertigstellung_LBP: OPTIONAL Datum;
    Gesamtkosten_Grunderwerb_Komp: OPTIONAL EURO;
    Gesamtkosten_Herstellung_Komp: OPTIONAL EURO;
    Gesamtkosten_Fertigstell_Komp: OPTIONAL EURO;
    Gesamtkosten_Entwicklpfl_Komp: OPTIONAL EURO;
    Gesamtkosten_Unterhpfl_Komp: OPTIONAL EURO;
    Bearbeiter: OPTIONAL STRING;
    letzte_Bearbeitung: OPTIONAL Datum;
--- Relationen :
    hat_Kompensationsmassnahme: OPTIONAL SET [1: ?] OF Kompensationsmassnahme;
    in_Verwaltungsbezirk: OPTIONAL Verwaltungsbezirk_abstrakt;
    zu_Strasse: OPTIONAL Strasse_abstrakt;
    zu_Abschnitt_oder_Ast: OPTIONAL Abschnitt_oder_Ast_abstrakt;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Baum
SUBTYPE OF (Bewuchs);
--- Attribute :
    Baumart: OPTIONAL Baumart;
    Stammumfang: OPTIONAL Meter;
    Stammdurchmesser: OPTIONAL Meter;
    Kronendurchmesser: OPTIONAL Meter;
    Wurzelhalsdurchmesser: OPTIONAL Meter;
    Stammhoehe: OPTIONAL Meter;
    Baumhoehe: OPTIONAL Meter;
    Baumscheibe: OPTIONAL Quadratmeter;
    Zustandsbeurteilung: OPTIONAL Zustandsbeurteilung_Baum;
--- Relationen :
    hat_Baumschaeden: OPTIONAL Baumschaden;
    hat_Standort: OPTIONAL SET [1: ?] OF Standortbeschreibung_Baum;
INVERSE
    Beginn_von_Baumreihe: SET [0: ?] OF Baumreihenabschnitt FOR beginnt_bei_Baum;
    Ende_von_Baumreihe: SET [0: ?] OF Baumreihenabschnitt FOR endet_bei_Baum;
    Baum_in_Baumreihe: SET [0: ?] OF Baumreihenabschnitt FOR hat_Baum;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Baumart;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
    Baumart_botanisch: OPTIONAL STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


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

   (1,'Amerikanische Roteiche','Quercus robra')
   (2,'Apfelbaum','Malus')
   (3,'Baumhasel','Corylus corluna')
   (4,'Bergahorn','Acer pseudoplatanus')
   (5,'Bergulme','Ulmus glabra')
   (6,'Birke','Betula pendula/pubescens')
   (7,'Birnenbaum','Pyrus')
   (8,'Eberesche','Sorbus aucuparia')
   (9,'Eiche','Quercus robur/petraea')
   (10,'Erle','Alnus glutinosa')
   (11,'Esche','Fraxinus exelsior')
   (12,'Feldahorn','Acer campestre')
   (13,'Feldulme','Ulmus carpinifolia')
   (14,'Graupappel','Populus')
   (15,'Hainbuche','Carpinus betulus')
   (16,'Kirschbaum','Prunus avium')
   (17,'Linde','Tilia cordata')
   (18,'Mehlbeere','Sorbus intermedia')
   (19,'Pflaumenbaum','Prunus')
   (21,'Platane','Platanus acerifolia')
   (21,'Robinie','Robinia pseudocacia')
   (22,'Roßkastanie','Aesculus hippocastanum')
   (23,'Rotbuche','Fagus sylvatica')
   (24,'Rotdorn','Crataegus laevigata')
   (25,'Spitzahorn','Acer platanoides')
   (26,'Walnuß','Juglans regia')
   (27,'Weißweide','Salix alba')
   (28,'Zitterpappel','Populus tremula')
   (100,'Laubbaum',' ')
   (200,'Nadelbaum',' ')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (1,'gesund')
   (2,'sehr schwach geschädigt')
   (3,'mittelstark geschädigt')
   (4,'stark geschädig')
   (5,'abgestorben')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Baumschaden;
--- Attribute :
    Kronenschaeden: OPTIONAL SET [1: ?] OF Kronenschaden;
    Stammschaeden: OPTIONAL SET [1: ?] OF Stammschaden;
    Wurzelschaeden: OPTIONAL SET [1: ?] OF Wurzelschaden;
    Schadensursache: OPTIONAL Schadensursache_Baum;
--- Relationen :
INVERSE
    von_Baum: SET [0: ?] OF Baum FOR hat_Baumschaeden;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (1,'Totholz (einzelne Äste über DU 5-10 cm)')
   (2,'Krone vollständig ohne Blätter (Krone abgestorben)')
   (3,'Wipfeldürre')
   (4,'schütteres Laubdach (wenig Blätter)')
   (5,'ungewöhnlich frühzeitige Laubfärbung ')
   (6,'Vergilbungen / Verfärbungen der Blätter')
   (7,'Schädlingsbefall (zerfressene Blätter)')
   (8,'Astabbrüche (Wind / Eisbruch)')
   (9,'Aststümpfe')
   (10,'Astmorschungen')
   (11,'Asthöhlen')
   (12,'Astausbrüche')
   (13,'Risse oder Spalten an Gabelungen u. Kronenansatz')
   (14,'Risse oder Spalten an Starkästen (DU 5-10 cm)')
   (15,'Risse oder Spalten an Starkästen (DU > 10 cm)')
   (16,'Wunden/Rindenschaden an Starkästen (DU 5-10 cm)')
   (17,'Wunden/Rindenschaden an Starkästen (DU >10 cm)')
   (18,'eingefaulte Astungswunden')
   (19,'Vergabelungen (Druckzwiesel=V-förmig) mit eingew. Rinde')
   (20,'Wassertaschen')
   (21,'Baumfremder Bewuchs')
   (22,'Alte Einbauten zur Kronensicherung')
   (23,'Pilzfruchtkörper an Gabelungen')
   (24,'Pilzfruchtkörper an übrigen Ästen')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (25,'Schrägstand/Schieflage')
   (26,'Bohrmehl/Insekten')
   (27,'Ausfluss/Schleimfluss')
   (28,'Ausfluss/Harzfluss')
   (29,'Alte Stahlgewindestangen')
   (30,'Alte Plomben')
   (31,'Rinden/Holzschaden')
   (32,'Stammrisse')
   (33,'Faulstellen')
   (34,'Höhlungen')
   (35,'Pilzbefall')
   (36,'Baumfremder Bewuchs')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (37,'Bodenaufwölbungen/Bodenrisse')
   (38,'Stolperwurzeln')
   (39,'Anhebung der Befestigung')
   (40,'Ausfluss/Schleimfluss')
   (41,'Ausfluss/Harzfluss')
   (42,'Bohrmehl/Insekten')
   (43,'Stockaustriebe')
   (44,'Verdickung des unteren Stammes')
   (45,'Adventivwurzelbildung')
   (46,'Rinden/Holzschaden')
   (47,'Faulstellen')
   (48,'Pilzbefall')
   (49,'Risse')
   (50,'Wulstbildung')
   (51,'Höhlungen')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (1,'Anfahrschaden')
   (2,'Blitzschaden')
   (3,'Sturmschaden')
   (4,'Eisbruch')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Standortbeschreibung_Baum
SUBTYPE OF (Punktobjekt_stat);
--- Attribute :
    Lagebeschreibung: OPTIONAL Lagebeschreibung_Baum;
--- Relationen :
INVERSE
    von_Baum: SET [0: ?] OF Baum FOR hat_Standort;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (1,'Baum auf Trennstreifen zwischen Radweg und Straße')
   (2,'Baum zwischen Radweg und Graben')
   (3,'Baum zwischen Radweg und benachbartem Grundstück')
   (4,'Baum im Geh- oder Radweg')
   (5,'Baum in Pflasterfläche')
   (6,'Baum hinter Gehweg')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Bewuchs
SUPERTYPE OF (ONEOF(Baum ))
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Schutzstatus: OPTIONAL Schutzstatus_Bewuchs;
    Zustaendigkeit: OPTIONAL STRING;
    Erfassungsqualitaet: STRING;
    Pflegemassnahmen: OPTIONAL SET [1: ?] OF Pflegemassnahme_Bewuchs;
--- Relationen :
    hat_Objekt_Id: OPTIONAL Objekt_ID;
    hat_Auspraegungen: OPTIONAL SET [1: ?] OF geometrische_Auspraegung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (1,'Landschaftsschutzgebiet (LSG)')
   (2,'Naturschutzgebiet (NSG)')
   (3,'Naturdenkmal (ND)')
   (4,'Fauna/Flora/Habitat (FFH)')
   (5,'geschützter Landschaftsbestandteil')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

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


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

   (1,'Kronenschnitt f. Lichtraumprofil')
   (2,'Totholzbeseitigung')
   (3,'Kronenauslichtungsschnitt')
   (4,'Kroneneinkürzung')
   (5,'Baumsicherungsschnitt')
   (6,'Astabsägen')
   (7,'Stammaustriebe entfernen')
   (8,'Stockaustriebe entfernen')
   (9,'Baumwunde behandeln')
   (10,'Wurzelschadensbehandlung')
   (11,'Baumscheibe sanieren')
   (12,'Baum fällen')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Baumreihe;
--- Attribute :
    Art_der_Baumreihe: Baumart;
    Zustaendigkeit: OPTIONAL STRING;
--- Relationen :
    besteht_aus_Abschnitten: LIST [1: ?] OF Baumreihenabschnitt;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Baumreihenabschnitt;
--- Attribute :
    Erfassungsqualitaet: STRING;
    Anzahl_der_enthaltenen_Baeume: OPTIONAL INTEGER;
--- Relationen :
    beginnt_bei_Baum: Baum;
    endet_bei_Baum: Baum;
    hat_Baum: OPTIONAL SET [1: ?] OF Baum;
INVERSE
    von_Baumreihe: SET [0: ?] OF Baumreihe FOR besteht_aus_Abschnitten;
    von_Allee: SET [0: 1] OF Allee FOR besteht_aus_Abschnitten;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

ENTITY Allee;
--- Attribute :
--- Relationen :
    besteht_aus_Abschnitten: LIST [2: ?] OF Baumreihenabschnitt;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION <<

END_SCHEMA; -- Oekologie