Index: branches/0.7/import/alkis_db_patch_2014-08.sql
===================================================================
--- branches/0.7/import/alkis_db_patch_2014-08.sql	(revision 329)
+++ branches/0.7/import/alkis_db_patch_2014-08.sql	(revision 329)
@@ -0,0 +1,274 @@
+
+-- Straßennamen als P und L-Variante
+-- =================================
+
+-- Bisher wurden die Namen von Straßen, Wegen und Klassifizierungen nur angezeigt, wenn sie
+-- als Punkt über die Tabelle "ap_pto" positioniert waren.
+-- Nun tauchen auch Texte auf, die über Linien positioniert sind (ap_lto).
+
+-- Dies Script passt die Datenbank an. Ein überarbeitetes Mapfile muss die neue Tabelle präsentiern.
+
+-- Es wurden mehrere Scripte angepasst.
+-- Diese treten in Kraft, sobald eine Datenbank neu angelegt und neu geladen wird.
+
+-- Dies Script patcht eine bereits bestehende Datenbank.
+-- Dies Script ist nur temporär im Einsatz und wird darum nicht langfristig gepflegt.
+
+-- Stand 2014-08-25
+
+
+-- *** aus "pp_definition.sql"
+
+-- Variante für Punkt-Geometrie
+CREATE TABLE pp_strassenname_p 
+(   gid                    serial NOT NULL,
+    gml_id                 character(16),
+ -- advstandardmodell      character varying[],
+    schriftinhalt          character varying,      -- Label: anzuzeigender Text
+    hor                    character varying,
+    ver                    character varying,
+ -- signaturnummer         character varying,
+ -- darstellungsprioritaet integer,
+    art                    character varying,
+    winkel                 double precision,
+    CONSTRAINT pp_snamp_pk  PRIMARY KEY (gid)
+) WITH (OIDS=FALSE);
+
+-- :alkis_epsg = 25832
+SELECT AddGeometryColumn('pp_strassenname_p','the_geom',25832,'POINT',2);
+CREATE INDEX pp_snamp_gidx ON pp_strassenname_p USING gist(the_geom); 
+
+  COMMENT ON TABLE  pp_strassenname_p                IS 'Post-Processing: Label der Straßennamen in der Karte, Punktgeometrie. Auszug aus ap_pto.';
+
+  COMMENT ON COLUMN pp_strassenname_p.gid            IS 'Editierschlüssel der Tabelle';
+--COMMENT ON COLUMN pp_strassenname_p.gml_id         IS 'Objektschlüssel des Präsentationsobjektes aus ap_pto. Zur Verbindung mit Katalog.';
+  COMMENT ON COLUMN pp_strassenname_p.gml_id         IS 'Objektschlüssel des Präsentationsobjektes aus "ax_lagebezeichnungohnehausnummer". Zur Verbindung mit Katalog beim Nachladen leerer Felder.';
+  COMMENT ON COLUMN pp_strassenname_p.schriftinhalt  IS 'Label, darzustellender Name der Straße oder Klassifikation';
+  COMMENT ON COLUMN pp_strassenname_p.hor            IS 'Horizontale Ausrichtung des Textes zur Punkt-Koordinate: linksbündig, zentrisch, ...';
+  COMMENT ON COLUMN pp_strassenname_p.ver            IS 'Vertikale   Ausrichtung des Textes zur Punkt-Koordinate: Basis, ..';
+  COMMENT ON COLUMN pp_strassenname_p.art            IS 'Klasse der Straße: Straße, Weg, .. , BezKlassifizierungStrasse';
+  COMMENT ON COLUMN pp_strassenname_p.winkel         IS 'Drehung des Textes';
+  COMMENT ON COLUMN pp_strassenname_p.the_geom       IS 'Position (Punkt) der Labels in der Karte';
+
+-- Variante für Linien-Geometrie
+CREATE TABLE pp_strassenname_l 
+(   gid                    serial NOT NULL,
+    gml_id                 character(16),
+    schriftinhalt          character varying,      -- Label: anzuzeigender Text
+    hor                    character varying,
+    ver                    character varying,
+    art                    character varying,
+ -- winkel                 double precision,       -- bei Linien-Variante nicht benötigt
+    CONSTRAINT pp_snaml_pk  PRIMARY KEY (gid)
+) WITH (OIDS=FALSE);
+
+-- :alkis_epsg = 25832
+SELECT AddGeometryColumn('pp_strassenname_l','the_geom',25832,'LINESTRING',2); -- Hier liegt der Unterschied
+CREATE INDEX pp_snaml_gidx ON pp_strassenname USING gist(the_geom); 
+
+  COMMENT ON TABLE  pp_strassenname_l                IS 'Post-Processing: Label der Straßennamen in der Karte, Liniengeometrie. Auszug aus ap_lto.';
+
+  COMMENT ON COLUMN pp_strassenname_l.gid            IS 'Editierschlüssel der Tabelle';
+  COMMENT ON COLUMN pp_strassenname_l.gml_id         IS 'Objektschlüssel des Präsentationsobjektes aus "ax_lagebezeichnungohnehausnummer". Zur Verbindung mit Katalog beim Nachladen leerer Felder.';
+  COMMENT ON COLUMN pp_strassenname_l.schriftinhalt  IS 'Label, darzustellender Name der Straße oder Klassifikation';
+  COMMENT ON COLUMN pp_strassenname_l.hor            IS 'Horizontale Ausrichtung des Textes: linksbündig, zentrisch, ...';
+  COMMENT ON COLUMN pp_strassenname_l.ver            IS 'Vertikale   Ausrichtung des Textes: Basis, ..';
+  COMMENT ON COLUMN pp_strassenname_l.art            IS 'Klasse der Straße: Straße, Weg, .. , BezKlassifizierungStrasse';
+  COMMENT ON COLUMN pp_strassenname_l.the_geom       IS 'Position (Punkt) der Labels in der Karte';
+
+
+--  *** aus "sichten_wms.sql"
+
+-- HIER START für Wiederholung
+
+DROP VIEW ap_pto_stra;
+
+CREATE OR REPLACE VIEW ap_pto_stra 
+AS 
+  SELECT p.ogc_fid,
+         l.gml_id,                               -- wird im PP zum Nachladen aus Katalog gebraucht
+         p.schriftinhalt,                        -- WMS: LABELITEM
+         p.art,                                  -- WMS: CLASSITEM
+         p.horizontaleausrichtung  AS hor,       -- Verfeinern der Text-Position ..
+         p.vertikaleausrichtung    AS ver,       --  .. durch Klassifizierung hor/ver
+         p.drehwinkel * 57.296     AS winkel,    -- * 180 / Pi
+         p.wkb_geometry
+    FROM ap_pto p
+    JOIN alkis_beziehungen v   -- Relation zur Lagebezeichnung o. HsNr.
+      ON p.gml_id = v.beziehung_von
+    JOIN ax_lagebezeichnungohnehausnummer l
+      ON v.beziehung_zu = l.gml_id
+   WHERE  p.endet IS NULL                            -- nichts historisches
+     AND  p.art   IN ('Strasse','Weg','Platz','BezKlassifizierungStrasse') -- Diese Werte als CLASSES in LAYER behandeln. 
+     AND  v.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
+     AND (   'DKKM1000' = ANY (p.advstandardmodell)  -- "Lika 1000" bevorzugen
+          OR 'DLKM'     = ANY (p.advstandardmodell)   
+     -- Leopoldshöhe, Heinestraße: 'DLKM'
+           -- Ersatzweise auch "keine Angabe", aber nur wenn es keinen besseren Text zur Lage gibt
+           OR (p.advstandardmodell IS NULL
+               AND (SELECT s.ogc_fid                -- irgend ein Feld
+                      FROM ap_pto s                 -- eines anderen Textes (suchen)
+                      JOIN alkis_beziehungen vs     -- zur gleichen Lage o.HsNr
+                        ON s.gml_id = vs.beziehung_von
+                      JOIN ax_lagebezeichnungohnehausnummer ls
+                        ON vs.beziehung_zu = ls.gml_id
+                     WHERE ls.gml_id = l.gml_id
+                       AND vs.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
+                       AND NOT s.advstandardmodell IS NULL 
+                     LIMIT 1  -- einer reicht als Beweis
+                   ) IS NULL 
+              ) -- "Subquery IS NULL" liefert true wenn kein weiterer Text gefunden wird
+         )
+;
+
+COMMENT ON VIEW ap_pto_stra 
+  IS 'Sicht für Kartendarstellung: Beschriftung aus "ap_pto" für Lagebezeichnung mit Art "Straße", "Weg", "Platz" oder Klassifizierung.
+ Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe. Dient im Script pp_laden.sql zum ersten Füllen der Tabelle "pp_strassenname_p".';
+
+-- Daten aus dem View "ap_pto_stra" werden im PostProcessing gespeichert in der Tabelle "pp_strassenname_p".
+-- Der View übernimmt die Auswahl des passenden advstandardmodell und rechnet den Winkel passend um,
+-- In der Tabelle werden dann die leer gebliebenen Label aus dem Katalog noch ergänzt.
+
+
+DROP VIEW ap_lto_stra;
+
+CREATE OR REPLACE VIEW ap_lto_stra 
+AS 
+  SELECT p.ogc_fid,
+         l.gml_id,                               -- wird im PP zum Nachladen aus Katalog gebraucht
+         p.schriftinhalt,                        -- WMS: LABELITEM
+         p.art,                                  -- WMS: CLASSITEM
+         p.horizontaleausrichtung  AS hor,       -- Verfeinern der Text-Position ..
+         p.vertikaleausrichtung    AS ver,       --  .. durch Klassifizierung hor/ver
+         p.wkb_geometry
+    FROM ap_lto p
+    JOIN alkis_beziehungen v   -- Relation zur Lagebezeichnung o. HsNr.
+      ON p.gml_id = v.beziehung_von
+    JOIN ax_lagebezeichnungohnehausnummer l
+      ON v.beziehung_zu = l.gml_id
+   WHERE  p.endet IS NULL                            -- nichts historisches
+     AND  p.art   IN ('Strasse','Weg','Platz','BezKlassifizierungStrasse') -- Diese Werte als CLASSES in LAYER behandeln. 
+     AND  v.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
+
+--   AND (   ('DKKM1000' = ANY (p.advstandardmodell)     -- "Lika 1000" bevorzugen
+--        OR ('DLKM'     = ANY (p.advstandardmodell)  ) 
+
+     -- ++ Muss als Array angelegt sein!!
+     AND ( NOT p.advstandardmodell  IS NULL          -- ++ Zwischenlösung bis DB mit neuem Schema (2014-08-22) angelegt und geladen wurde ++
+
+           -- Ersatzweise auch "keine Angabe", aber nur wenn es keinen besseren Text zur Lage gibt
+           OR (p.advstandardmodell IS NULL
+               AND (SELECT s.ogc_fid                -- irgend ein Feld
+                      FROM ap_lto s                 -- eines anderen Textes (suchen)
+                      JOIN alkis_beziehungen vs     -- zur gleichen Lage o.HsNr
+                        ON s.gml_id = vs.beziehung_von
+                      JOIN ax_lagebezeichnungohnehausnummer ls
+                        ON vs.beziehung_zu = ls.gml_id
+                     WHERE ls.gml_id = l.gml_id
+                       AND vs.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
+                       AND NOT s.advstandardmodell IS NULL 
+                     LIMIT 1  -- einer reicht als Beweis
+                   ) IS NULL 
+              ) -- "Subquery IS NULL" liefert true wenn kein weiterer Text gefunden wird
+         )
+;
+COMMENT ON VIEW ap_lto_stra 
+  IS 'Sicht für Kartendarstellung: Beschriftung aus "ap_lto" für Lagebezeichnung mit Art "Straße", "Weg", "Platz" oder Klassifizierung.
+ Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe. Dient im Script pp_laden.sql zum ersten Füllen der Tabelle "pp_strassenname_l".';
+
+-- 2014-08-22: Daten aus dem View "ap_lto_stra" werden im PostProcessing gespeichert in den Tabellen "pp_strassenname_l".
+-- Der View übernimmt die Auswahl des passenden advstandardmodell.
+-- In der Tabelle werden dann die leer gebliebenen Label aus dem Katalog noch ergänzt.
+
+
+-- *** aus "pp_laden.sql"
+
+-- Alles auf Anfang
+TRUNCATE pp_strassenname_p;
+
+-- Zunächst die Sonderschreibweisen (Abkürzungen) und die Standardschreibweisen, 
+-- die von der Migration redundant abgelegt wurden.
+INSERT INTO pp_strassenname_p (gml_id, schriftinhalt, hor, ver, art, winkel, the_geom)
+       SELECT gml_id, schriftinhalt, hor, ver, art, winkel, wkb_geometry
+       FROM ap_pto_stra; -- Der View sucht das passende advstandardmodell
+
+-- Schriftinhalt ergänzen
+-- Das sind die Standardschreibweisen aus dem Katalog, die nicht mehr redundant in ap_pto sind.
+UPDATE pp_strassenname_p  p
+   SET schriftinhalt =     -- Hier ist der Label noch leer
+   -- Subquery "Gib mir den Straßennamen":
+   ( SELECT k.bezeichnung                         -- Straßenname ..
+       FROM ax_lagebezeichnungkatalogeintrag k    --  .. aus Katalog
+       JOIN ax_lagebezeichnungohnehausnummer l    -- verwendet als Lage o.H.
+         ON (k.land=l.land AND k.regierungsbezirk=l.regierungsbezirk AND k.kreis=l.kreis AND k.gemeinde=l.gemeinde AND k.lage=l.lage )
+      WHERE p.gml_id = l.gml_id                   -- die gml_id wurde aus View importiert
+    )
+ WHERE     p.schriftinhalt IS NULL
+   AND NOT p.the_geom      IS NULL;
+
+-- Die immer noch leeren Texte sind nun sinnlos.
+-- Die finden sich ggf. in der Variante "_l" mit Liniengeometrie.
+DELETE FROM pp_strassenname_p WHERE schriftinhalt IS NULL;
+
+-- Nun das Gleiche noch einmal für Linien-Geometrie
+
+-- Auf Anfang
+TRUNCATE pp_strassenname_l;
+
+-- Zunächst die Sonderschreibweisen (Abkürzungen) und die Standardschreibweisen, 
+-- die von der Migration redundant abgelegt wurden.
+INSERT INTO pp_strassenname_l (gml_id, schriftinhalt, hor, ver, art, the_geom)
+       SELECT gml_id, schriftinhalt, hor, ver, art, wkb_geometry
+       FROM ap_lto_stra; -- Der View sucht das passende advstandardmodell
+
+-- Schriftinhalt ergänzen (korrigiert 2014-08-25)
+-- Das sind die Standardschreibweisen aus dem Katalog, die nicht mehr redundant in ap_pto sind.
+-- Der Satz mit der passenen gml_id (Lage o.H.) ist aus dem View bereits importiert.
+-- Jetzt noch den dazu passenen Schriftinhalt aus dem Katalog holen.
+UPDATE pp_strassenname_l  p
+   SET schriftinhalt =     -- Hier ist der Label noch leer
+   -- Subquery "Gib mir den Straßennamen":
+   ( SELECT k.bezeichnung                         -- Straßenname ..
+       FROM ax_lagebezeichnungkatalogeintrag k    --  .. aus Katalog
+       JOIN ax_lagebezeichnungohnehausnummer l    -- verwendet als Lage o.H.
+         ON (k.land=l.land AND k.regierungsbezirk=l.regierungsbezirk AND k.kreis=l.kreis AND k.gemeinde=l.gemeinde AND k.lage=l.lage )
+      WHERE p.gml_id = l.gml_id                   -- die gml_id wurde aus View importiert
+    )
+ WHERE     p.schriftinhalt IS NULL
+   AND NOT p.the_geom      IS NULL;
+
+-- Die immer noch leeren Texte sind sinnlos.
+DELETE FROM pp_strassenname_l WHERE schriftinhalt IS NULL;
+
+
+-- *** aus "grant.sql"
+
+-- Berechtigungen
+
+  GRANT SELECT ON TABLE  pp_strassenname_p                 TO ms6;
+  GRANT SELECT ON TABLE  pp_strassenname_l                 TO ms6;
+
+
+-- Zwischenzeitlich auch noch die alte Tabelle (ohne _P + _L-Trennung) aktualisieren
+-- Wirkt in Produktion bis zur Einführung der angepassten Mapfiles (Entwickler-Version)
+
+-- Alles auf Anfang
+TRUNCATE pp_strassenname;
+
+INSERT INTO pp_strassenname (gml_id, schriftinhalt, hor, ver, art, winkel, the_geom)
+       SELECT gml_id, schriftinhalt, hor, ver, art, winkel, wkb_geometry
+       FROM ap_pto_stra; 
+
+UPDATE pp_strassenname  p
+   SET schriftinhalt =    
+   ( SELECT k.bezeichnung                         -- Straßenname ..
+       FROM ax_lagebezeichnungkatalogeintrag k    --  .. aus Katalog
+       JOIN ax_lagebezeichnungohnehausnummer l    -- verwendet als Lage o.H.
+         ON (k.land=l.land AND k.regierungsbezirk=l.regierungsbezirk AND k.kreis=l.kreis AND k.gemeinde=l.gemeinde AND k.lage=l.lage )
+      WHERE p.gml_id = l.gml_id                   -- die gml_id wurde aus View importiert
+    )
+ WHERE     p.schriftinhalt IS NULL
+   AND NOT p.the_geom      IS NULL;
+
+
+-- ENDE --
Index: branches/0.7/import/sichten_ORACLE.sql
===================================================================
--- branches/0.7/import/sichten_ORACLE.sql	(revision 329)
+++ branches/0.7/import/sichten_ORACLE.sql	(revision 329)
@@ -0,0 +1,547 @@
+-- Automatisch mit pg-to-oci_keytables.pl konvertiert.
+---
+---
+
+CREATE OR REPLACE VIEW S_FLURSTUECK_NR
+AS 
+ SELECT f.OGR_FID, 
+        p.ORA_GEOMETRY,
+        f.zaehler || COALESCE ('/' || f.nenner, '') AS FSNUM
+   FROM ap_pto             p
+   JOIN alkis_beziehungen  v  ON p.GML_ID       = v.beziehung_von
+   JOIN ax_flurstueck      f  ON v.beziehung_zu = f.GML_ID
+  WHERE v.beziehungsart = 'dientZurDarstellungVon' 
+    AND p.endet IS NULL
+    AND f.endet IS NULL
+  ;
+-- COMMENT ON VIEW S_FLURSTUECK_NR IS 'fuer Kartendarstellung: Bruchnummerierung FlurstÃŒck';
+
+-- ToDo: UNION ueber ORA_GEOMETRY  noch fehlerhaft, derzeit auskommentiert
+CREATE OR REPLACE VIEW S_FLURSTUECK_NR2
+AS 
+  SELECT f.OGR_FID, 
+         --p.ORA_GEOMETRY AS wkb_geometry,
+         f.zaehler || COALESCE ('/' || f.nenner, '') AS FSNUM
+    FROM ap_pto             p
+    JOIN alkis_beziehungen  v  ON p.GML_ID       = v.beziehung_von
+    JOIN ax_flurstueck      f  ON v.beziehung_zu = f.GML_ID
+   WHERE v.beziehungsart = 'dientZurDarstellungVon' 
+     AND p.endet IS NULL
+     AND f.endet IS NULL
+ UNION 
+  SELECT f.OGR_FID,
+         --SDO_GEOM.SDO_CENTROID(f.ORA_GEOMETRY,2) AS wkb_geometry,
+         f.zaehler || COALESCE ('/' || f.nenner, '') AS FSNUM
+    FROM      ax_flurstueck     f 
+    LEFT JOIN alkis_beziehungen v  ON v.beziehung_zu = f.GML_ID
+   WHERE v.beziehungsart is NULL
+     AND f.endet IS NULL
+  ;
+-- COMMENT ON VIEW S_FLURSTUECK_NR2 IS 'Bruchnummerierung FlurstÃŒck, auch Standard-Position. Nicht direkt fuer WMS verwenden';
+
+CREATE OR REPLACE VIEW S_HAUSNUMMER_GEBAEUDE 
+AS 
+ SELECT p.OGR_FID, 
+        p.ORA_GEOMETRY,
+        p.DREHWINKEL * 57.296 AS DREHWINKEL,
+        l.hausnummer
+   FROM ap_pto p
+   JOIN alkis_beziehungen v
+     ON p.GML_ID = v.beziehung_von
+   JOIN AX_LAGEBEZEICHNUNGMITHAUSNUMME l
+     ON v.beziehung_zu  = l.GML_ID
+  WHERE v.beziehungsart = 'dientZurDarstellungVon'
+    AND p.endet IS NULL
+    AND l.endet IS NULL;
+-- COMMENT ON VIEW S_HAUSNUMMER_GEBAEUDE IS 'fuer Kartendarstellung: Hausnummern HauptgebÃ€ude';
+
+CREATE OR REPLACE VIEW S_NUMMER_NEBENGEBAEUDE 
+AS 
+ SELECT p.OGR_FID, 
+        p.ORA_GEOMETRY, 
+        p.DREHWINKEL * 57.296 AS DREHWINKEL,
+        l.laufendenummer
+   FROM ap_pto p
+   JOIN alkis_beziehungen v 
+     ON p.GML_ID = v.beziehung_von
+   JOIN AX_LAGEBEZEICHNUNGMITPSEUDONUM l
+     ON v.beziehung_zu  = l.GML_ID
+  WHERE v.beziehungsart = 'dientZurDarstellungVon'
+    AND p.endet IS NULL
+    AND l.endet IS NULL
+;
+-- COMMENT ON VIEW S_NUMMER_NEBENGEBAEUDE IS 'fuer Kartendarstellung: Hausnummern NebengebÃ€ude';
+
+CREATE OR REPLACE VIEW S_ZUGEHOERIGKEITSHAKEN_FLURSTU 
+AS 
+ SELECT p.OGR_FID, 
+        p.ORA_GEOMETRY, 
+        p.DREHWINKEL * 57.296 AS DREHWINKEL,
+        f.flurstueckskennzeichen
+   FROM ap_ppo p
+   JOIN alkis_beziehungen v
+     ON p.GML_ID = v.beziehung_von
+   JOIN ax_flurstueck f
+     ON v.beziehung_zu = f.GML_ID
+  WHERE p.art = 'Haken'
+    AND v.beziehungsart = 'dientZurDarstellungVon'
+    AND f.endet IS NULL
+    AND p.endet IS NULL;
+-- COMMENT ON VIEW S_ZUGEHOERIGKEITSHAKEN_FLURSTU IS 'fuer Kartendarstellung';
+
+CREATE OR REPLACE VIEW S_ZUORDUNGSPFEIL_FLURSTUECK 
+AS 
+ SELECT l.OGR_FID, 
+        l.ORA_GEOMETRY
+   FROM ap_lpo l
+   JOIN alkis_beziehungen v
+     ON l.GML_ID = v.beziehung_von
+   JOIN ax_flurstueck f
+     ON v.beziehung_zu = f.GML_ID
+  WHERE l.art = 'Pfeil'
+    AND v.beziehungsart = 'dientZurDarstellungVon'
+    -- AND ('DKKM1000' ~~ ANY (l.advstandardmodell))
+    AND instr(l.advstandardmodell,'DKKM1000') > 0
+    AND f.endet IS NULL
+    AND l.endet IS NULL;
+-- COMMENT ON VIEW S_ZUORDUNGSPFEIL_FLURSTUECK IS 'fuer Kartendarstellung: Zuordnungspfeil FlurstÃŒcksnummer';
+
+-- ToDo Berechnung Pfeilspitze
+CREATE OR REPLACE VIEW S_ZUORDUNGSPFEILSPITZE_FLURSTU 
+AS 
+ SELECT l.OGR_FID--, 
+        --(((st_azimuth(st_pointn(l.ORA_GEOMETRY, 1), 
+        --st_pointn(l.ORA_GEOMETRY, 2)) * (- (180)::double precision)) / pi()) + (90)::double precision) AS WINKEL, 
+        --st_startpoint(l.ORA_GEOMETRY) AS wkb_geometry 
+   FROM ap_lpo l
+   JOIN alkis_beziehungen v
+     ON l.GML_ID = v.beziehung_von
+   JOIN ax_flurstueck f
+     ON v.beziehung_zu = f.GML_ID
+  WHERE l.art = 'Pfeil'
+    AND v.beziehungsart = 'dientZurDarstellungVon'
+    -- AND ('DKKM1000' ~~ ANY (l.advstandardmodell))
+    AND instr(l.advstandardmodell,'DKKM1000') > 0
+    AND f.endet IS NULL
+    AND l.endet IS NULL;
+-- COMMENT ON VIEW S_ZUORDUNGSPFEILSPITZE_FLURSTU IS 'fuer Kartendarstellung: Zuordnungspfeil FlurstÃŒcksnummer, Spitze';
+
+CREATE OR REPLACE VIEW S_BESCHRIFTUNG 
+AS 
+  SELECT p.OGR_FID, 
+         p.schriftinhalt, 
+         p.art, 
+         p.DREHWINKEL * 57.296 AS WINKEL,
+         p.ORA_GEOMETRY 
+    FROM ap_pto p
+   WHERE not p.schriftinhalt IS NULL 
+     AND p.endet IS NULL
+     AND p.art NOT IN ('HNR', 'PNR');
+-- COMMENT ON VIEW S_BESCHRIFTUNG IS 'ap_pto, die noch nicht in anderen Layern angezeigt werden';
+
+CREATE OR REPLACE VIEW S_ZUORDUNGSPFEIL_GEBAEUDE 
+AS 
+ SELECT l.OGR_FID, 
+        l.ORA_GEOMETRY
+   FROM ap_lpo l
+   JOIN alkis_beziehungen v
+     ON l.GML_ID = v.beziehung_von
+   JOIN ax_gebaeude g
+     ON v.beziehung_zu = g.GML_ID
+  WHERE l.art = 'Pfeil'
+    AND v.beziehungsart = 'dientZurDarstellungVon'
+    AND g.endet IS NULL
+    AND l.endet IS NULL;
+-- COMMENT ON VIEW S_ZUORDUNGSPFEIL_GEBAEUDE IS 'fuer Kartendarstellung: Zuordnungspfeil fÃŒr GebÃ€ude-Nummer';
+
+CREATE OR REPLACE VIEW SK2004_ZUORDNUNGSPFEIL 
+AS
+ SELECT ap.OGR_FID, ap.ORA_GEOMETRY 
+ FROM ap_lpo ap 
+ WHERE ((ap.signaturnummer = '2004') 
+   -- AND ('DKKM1000' ~~ ANY ((ap.advstandardmodell)[])));
+   AND (instr(ap.advstandardmodell,'DKKM1000') > 0));
+-- COMMENT ON VIEW SK2004_ZUORDNUNGSPFEIL IS 'fuer Kartendarstellung: Zuordnungspfeil FlurstÃŒcksnummer"';
+
+
+-- ToDo Berechnung SK2004_ZUORDNUNGSPFEIL_SPITZE
+CREATE OR REPLACE VIEW SK2004_ZUORDNUNGSPFEIL_SPITZE 
+AS
+ SELECT ap.OGR_FID--, (((st_azimuth(st_pointn(ap.ORA_GEOMETRY, 1), 
+        --st_pointn(ap.ORA_GEOMETRY, 2)) * (- (180)::double precision)) / pi()) + (90)::double precision) AS WINKEL, 
+        --st_startpoint(ap.ORA_GEOMETRY) AS wkb_geometry 
+ FROM ap_lpo ap 
+ WHERE ((ap.signaturnummer = '2004') 
+   --AND ('DKKM1000' ~~ ANY ((ap.advstandardmodell)[])));
+   AND (instr(ap.advstandardmodell,'DKKM1000') > 0));
+
+
+CREATE OR REPLACE VIEW SK2012_FLURGRENZE 
+AS 
+ SELECT fg.OGR_FID, fg.ORA_GEOMETRY
+   FROM ax_besondereflurstuecksgrenze fg
+  WHERE (
+    --3000 = ANY (fg.artderflurstuecksgrenze)) 
+    (instr(fg.artderflurstuecksgrenze,'3000') > 0)
+    --AND fg.advstandardmodell ~~ 'DLKM';
+    AND (instr(fg.advstandardmodell,'DLKM') > 0));
+-- COMMENT ON VIEW SK2012_FLURGRENZE IS 'fuer Kartendarstellung: besondere FlurstÃŒcksgrenze "Flurgrenze"';
+
+CREATE OR REPLACE VIEW SK2014_GEMARKUNGSGRENZE 
+AS 
+ SELECT gemag.OGR_FID, gemag.ORA_GEOMETRY
+   FROM ax_besondereflurstuecksgrenze gemag
+  WHERE (
+    --7003 = ANY (gemag.artderflurstuecksgrenze)) 
+    (instr(gemag.artderflurstuecksgrenze,'7003') > 0)
+    --AND gemag.advstandardmodell ~~ 'DLKM';
+    AND (instr(gemag.advstandardmodell,'DLKM') > 0));
+-- COMMENT ON VIEW SK2014_GEMARKUNGSGRENZE IS 'fuer Kartendarstellung: besondere FlurstÃŒcksgrenze "Gemarkungsgrenze"';
+
+CREATE OR REPLACE VIEW SK2018_BUNDESLANDGRENZE 
+AS 
+ SELECT blg.OGR_FID, blg.ORA_GEOMETRY
+   FROM ax_besondereflurstuecksgrenze blg
+  WHERE (
+    --7102 = ANY (blg.artderflurstuecksgrenze)) 
+    (instr(blg.artderflurstuecksgrenze,'7102') > 0)
+    --AND blg.advstandardmodell ~~ 'DLKM';
+    AND (instr(blg.advstandardmodell,'DLKM') > 0));
+-- COMMENT ON VIEW SK2018_BUNDESLANDGRENZE IS 'fuer Kartendarstellung: besondere FlurstÃŒcksgrenze "BundesLANDgrenze"';
+
+CREATE OR REPLACE VIEW SK2020_REGIERUNGSBEZIRKSGRENZE 
+AS 
+ SELECT rbg.OGR_FID, rbg.ORA_GEOMETRY
+   FROM ax_besondereflurstuecksgrenze rbg
+  WHERE (--7103 = ANY (rbg.artderflurstuecksgrenze)) 
+    (instr(rbg.artderflurstuecksgrenze,'7103') > 0)
+    --AND rbg.advstandardmodell ~~ 'DLKM';
+    AND (instr(rbg.advstandardmodell,'DLKM') > 0));
+-- COMMENT ON VIEW SK2020_REGIERUNGSBEZIRKSGRENZE IS 'fuer Kartendarstellung: besondere FlurstÃŒcksgrenze "Regierungsbezirksgrenze"';
+
+CREATE OR REPLACE VIEW SK2022_GEMEINDEGRENZE 
+AS 
+ SELECT gemg.OGR_FID, gemg.ORA_GEOMETRY
+   FROM ax_besondereflurstuecksgrenze gemg
+  WHERE (
+    --7106 = ANY (gemg.artderflurstuecksgrenze)) 
+     (instr(gemg.artderflurstuecksgrenze,'7106') > 0)
+    --AND gemg.advstandardmodell ~~ 'DLKM';
+    AND (instr(gemg.advstandardmodell,'DLKM') > 0));
+-- COMMENT ON VIEW SK2022_GEMEINDEGRENZE IS 'fuer Kartendarstellung: besondere FlurstÃŒcksgrenze "Gemeindegrenze"';
+
+CREATE OR REPLACE VIEW SK201X_POLITISCHE_GRENZE 
+AS 
+ SELECT OGR_FID, artderflurstuecksgrenze as art, ORA_GEOMETRY
+   FROM ax_besondereflurstuecksgrenze
+  WHERE (
+     --7102 = ANY (artderflurstuecksgrenze) 
+     --OR  7102 = ANY (artderflurstuecksgrenze) 
+     --  7103 = ANY (artderflurstuecksgrenze) 
+     -- OR  7104 = ANY (artderflurstuecksgrenze) 
+     --OR  7106 = ANY (artderflurstuecksgrenze)
+     (instr(artderflurstuecksgrenze,'7102') > 0)
+     OR (instr(artderflurstuecksgrenze,'7102') > 0)
+     OR (instr(artderflurstuecksgrenze,'7103') > 0)
+     OR (instr(artderflurstuecksgrenze,'7104') > 0)
+     OR (instr(artderflurstuecksgrenze,'7106') > 0)
+    )
+    --AND advstandardmodell ~~ 'DLKM';
+   AND (instr(advstandardmodell,'DLKM') > 0);
+
+-- COMMENT ON VIEW SK201X_POLITISCHE_GRENZE IS 'fuer Kartendarstellung: besondere FlurstÃŒcksgrenze Politische Grenzen (Bund, LAND, Kreis, Gemeinde)';
+
+
+CREATE OR REPLACE VIEW FLSTNR_OHNE_POSITION
+AS 
+ SELECT f.GML_ID, 
+        f.gemarkungsnummer || '-' || f.flurnummer || '-' || f.zaehler || COALESCE ('/' || f.nenner, '') AS SUCH
+ FROM        ax_flurstueck     f 
+   LEFT JOIN alkis_beziehungen v  ON v.beziehung_zu = f.GML_ID
+  WHERE v.beziehungsart is NULL
+    AND f.endet IS NULL
+  ;
+-- COMMENT ON VIEW FLSTNR_OHNE_POSITION IS 'FlurstÃŒcke ohne manuell gesetzte Position fÃŒr die PrÃ€sentation der FS-Nr';
+
+CREATE OR REPLACE VIEW S_ALLGEMEINE_TEXTE 
+AS 
+ SELECT p.OGR_FID, 
+        p.ART, 
+        p.DREHWINKEL * 57.296 AS DREHWINKEL,
+        p.SCHRIFTINHALT
+   FROM ap_pto p
+  WHERE NOT p.art = 'ZAE_NEN' 
+    AND NOT p.art = 'HNR' 
+    AND NOT p.art = 'FKT' 
+    AND NOT p.art = 'Friedhof' 
+    AND p.schriftinhalt IS NOT NULL
+    AND p.endet IS NULL;
+
+CREATE OR REPLACE VIEW AP_PTO_ARTEN 
+AS 
+  SELECT DISTINCT art 
+    FROM ap_pto;
+
+-- ToDo: pruefen
+CREATE OR REPLACE VIEW TEXTE_MIT_UMBRUCH 
+AS 
+ SELECT OGR_FID, schriftinhalt, art
+   FROM ap_pto 
+  WHERE not schriftinhalt is null
+    AND schriftinhalt like '%/n%';
+
+-- ToDo: 
+CREATE OR REPLACE VIEW S_ALLGEMEINE_TEXTE_ARTEN
+AS 
+ SELECT DISTINCT art 
+   FROM s_allgemeine_texte;
+
+-- ToDo: 
+--CREATE OR REPLACE VIEW FLURSTUECKS_MINMAX AS 
+-- SELECT min(st_xmin(ORA_GEOMETRY)) AS r_min, 
+--        min(st_ymin(ORA_GEOMETRY)) AS h_min, 
+--        max(st_xmax(ORA_GEOMETRY)) AS r_max, 
+--        max(st_ymax(ORA_GEOMETRY)) AS h_max
+--   FROM ax_flurstueck f
+--   WHERE f.endet IS NULL;
+-- COMMENT ON VIEW FLURSTUECKS_MINMAX IS 'Maximale Ausdehnung von ax_flurstueck fuer EXTENT-Angabe im Mapfile';
+
+-- ToDo: 
+-- Tabelle liegt nur einmal vor wegen Laenge des Namens
+CREATE OR REPLACE VIEW BAURECHT
+AS
+  SELECT r.OGR_FID, 
+         r.ORA_GEOMETRY, 
+         r.GML_ID, 
+         r.artderfestlegung as adfkey,
+         r.name,
+         r.stelle,
+         r.bezeichnung AS rechtbez,
+        a.bezeichner  AS adfbez,
+         d.bezeichnung AS stellbez
+    FROM AX_BAURAUMODERBODENORDNUNGSREC r
+    LEFT JOIN AX_BAURAUMODERBODENORDNUNGSKEY a
+     ON r.artderfestlegung = a.wert
+    LEFT JOIN ax_dienststelle d
+      ON r.LAND   = d.LAND 
+    AND r.stelle = d.stelle 
+  WHERE r.endet IS NULL
+   AND d.endet IS NULL ;
+
+CREATE OR REPLACE VIEW GEMARKUNG_IN_GEMEINDE
+AS
+  SELECT DISTINCT LAND, regierungsbezirk, kreis, gemeinde, gemarkungsnummer
+  FROM            ax_flurstueck
+  WHERE           endet IS NULL
+  ORDER BY        LAND, regierungsbezirk, kreis, gemeinde, gemarkungsnummer
+;
+-- COMMENT ON VIEW GEMARKUNG_IN_GEMEINDE IS 'Welche Gemarkung liegt in welcher Gemeinde? Durch Verweise aus FlurstÃŒck.';
+
+--ToDo: 
+--CREATE OR REPLACE VIEW ARTEN_VON_FLURSTUECKSGEOMETRIE
+--AS
+-- SELECT   count(GML_ID) as anzahl,
+ --         st_geometrytype(ORA_GEOMETRY)
+-- FROM     ax_flurstueck
+-- WHERE    endet IS NULL
+-- GROUP BY st_geometrytype(ORA_GEOMETRY);
+
+CREATE OR REPLACE VIEW ADRESSEN_HAUSNUMMERN
+AS
+    SELECT 
+        s.bezeichnung AS strassenname, 
+         g.bezeichnung AS gemeindename, 
+         l.LAND, 
+         l.regierungsbezirk, 
+         l.kreis, 
+         l.gemeinde, 
+         l.lage        AS strassenschluessel, 
+         l.hausnummer 
+    FROM   AX_LAGEBEZEICHNUNGMITHAUSNUMME l  
+    JOIN   ax_gemeinde g 
+      ON l.kreis=g.kreis 
+     AND l.gemeinde=g.gemeinde 
+    JOIN   AX_LAGEBEZEICHNUNGKATALOGEINTR s 
+      ON l.kreis=s.kreis 
+     AND l.gemeinde=s.gemeinde 
+     AND l.lage = s.lage;
+    --WHERE     l.gemeinde = 40;
+
+CREATE OR REPLACE VIEW ADRESSEN_ZUM_FLURSTUECK
+AS
+    SELECT
+           f.gemarkungsnummer, 
+           f.flurnummer, 
+           f.zaehler, 
+           f.nenner,
+           g.bezeichnung AS gemeindename, 
+           s.bezeichnung AS strassenname, 
+           l.lage        AS strassenschluessel, 
+           l.hausnummer 
+      FROM   ax_flurstueck f 
+      JOIN   alkis_beziehungen v 
+        ON f.GML_ID=v.beziehung_von
+      JOIN   AX_LAGEBEZEICHNUNGMITHAUSNUMME l  
+        ON l.GML_ID=v.beziehung_zu
+      JOIN   ax_gemeinde g 
+        ON l.kreis=g.kreis 
+       AND l.gemeinde=g.gemeinde 
+      JOIN   AX_LAGEBEZEICHNUNGKATALOGEINTR s 
+        ON l.kreis=s.kreis 
+       AND l.gemeinde=s.gemeinde 
+       AND l.lage = s.lage
+     WHERE v.beziehungsart='weistAuf'
+       --AND l.gemeinde = 40
+     ORDER BY 
+           f.gemarkungsnummer,
+           f.flurnummer,
+           f.zaehler,
+           f.nenner;
+
+CREATE OR REPLACE VIEW FLURSTUECKE_EINES_EIGENTUEMERS 
+AS 
+   SELECT 
+      k.bezeichnung                AS gemarkung, 
+      k.gemarkungsnummer           AS gemkg_nr, 
+      f.flurnummer                 AS flur, 
+      f.zaehler                    AS fs_zaehler, 
+      f.nenner                     AS fs_nenner, 
+      f.amtlicheflaeche            AS flaeche, 
+      f.ORA_GEOMETRY               AS geom,
+      b.bezeichnung                AS bezirkname,
+      g.BUCHUNGSBLATTNUMMERMITBUCHSTAB AS gb_blatt, 
+      g.blattart, 
+      s.laufendenummer             AS bvnr, 
+      art.bezeichner               AS buchgsart, 
+      n.laufendenummernachdin1421  AS name_num, 
+      p.nachnameoderfirma          AS nachname
+   FROM       ax_person              p
+        JOIN  alkis_beziehungen      bpn  ON bpn.beziehung_zu  = p.GML_ID 
+        JOIN  ax_namensnummer        n    ON bpn.beziehung_von =n.GML_ID 
+        JOIN  alkis_beziehungen      bng  ON n.GML_ID = bng.beziehung_von 
+        JOIN  ax_buchungsblatt       g    ON bng.beziehung_zu = g.GML_ID 
+        JOIN  ax_buchungsblattbezirk b    ON g.LAND = b.LAND AND g.bezirk = b.bezirk 
+        JOIN  alkis_beziehungen      bgs  ON bgs.beziehung_zu = g.GML_ID 
+        JOIN  ax_buchungsstelle      s    ON s.GML_ID = bgs.beziehung_von 
+        JOIN  ax_buchungsstelle_buchungsart art ON s.buchungsart = art.wert 
+        JOIN  alkis_beziehungen      bsf  ON bsf.beziehung_zu = s.GML_ID
+        JOIN  ax_flurstueck          f    ON f.GML_ID = bsf.beziehung_von 
+        JOIN  ax_gemarkung           k    ON f.LAND = k.LAND AND f.gemarkungsnummer = k.gemarkungsnummer 
+   WHERE p.nachnameoderfirma LIKE 'Gemeinde %'
+     AND bpn.beziehungsart = 'benennt'
+     AND bng.beziehungsart = 'istBestandteilVon'
+     AND bgs.beziehungsart = 'istBestandteilVon'
+     AND bsf.beziehungsart = 'istGebucht'
+     AND p.endet IS NULL 
+     AND n.endet IS NULL
+     AND g.endet IS NULL
+     AND b.endet IS NULL
+     AND s.endet IS NULL
+     AND f.endet IS NULL
+     AND k.endet IS NULL
+   ORDER BY   
+         k.bezeichnung,
+         f.flurnummer,
+         f.zaehler,
+         f.nenner,
+         g.bezirk, 
+         g.BUCHUNGSBLATTNUMMERMITBUCHSTAB,
+         s.laufendenummer 
+;
+CREATE OR REPLACE VIEW RECHTE_EINES_EIGENTUEMERS 
+AS
+   SELECT 
+      k.bezeichnung                AS gemarkung, 
+      k.gemarkungsnummer           AS gemkg_nr, 
+      f.flurnummer                 AS flur, 
+      f.zaehler                    AS fs_zaehler, 
+      f.nenner                     AS fs_nenner, 
+      f.amtlicheflaeche            AS flaeche, 
+      f.ORA_GEOMETRY               AS geom,
+      b.bezeichnung                AS bezirkname,
+      g.BUCHUNGSBLATTNUMMERMITBUCHSTAB AS gb_blatt, 
+      sh.laufendenummer            AS bvnr_herr, 
+      sh.zaehler || '/' || sh.nenner AS buchg_anteil_herr, 
+      arth.bezeichner              AS buchgsa_herr, 
+      bss.beziehungsart            AS bez_art,
+      artd.bezeichner              AS buchgsa_dien, 
+      sd.laufendenummer            AS bvnr_dien, 
+      n.laufendenummernachdin1421  AS name_num, 
+      p.nachnameoderfirma          AS nachname
+   FROM       ax_person              p
+        JOIN  alkis_beziehungen      bpn  ON bpn.beziehung_zu  = p.GML_ID 
+        JOIN  ax_namensnummer        n    ON bpn.beziehung_von =n.GML_ID 
+        JOIN  alkis_beziehungen      bng  ON n.GML_ID = bng.beziehung_von 
+        JOIN  ax_buchungsblatt       g    ON bng.beziehung_zu = g.GML_ID 
+        JOIN  ax_buchungsblattbezirk b    ON g.LAND = b.LAND AND g.bezirk = b.bezirk 
+        JOIN  alkis_beziehungen      bgs  ON bgs.beziehung_zu = g.GML_ID 
+        JOIN  ax_buchungsstelle      sh   ON sh.GML_ID = bgs.beziehung_von
+        JOIN  ax_buchungsstelle_buchungsart arth ON sh.buchungsart = arth.wert 
+        JOIN  alkis_beziehungen      bss  ON sh.GML_ID = bss.beziehung_von
+        JOIN  ax_buchungsstelle      sd   ON sd.GML_ID = bss.beziehung_zu
+        JOIN  ax_buchungsstelle_buchungsart artd ON sd.buchungsart = artd.wert 
+        JOIN  alkis_beziehungen      bsf  ON bsf.beziehung_zu = sd.GML_ID
+        JOIN  ax_flurstueck          f    ON f.GML_ID = bsf.beziehung_von 
+        JOIN  ax_gemarkung           k    ON f.LAND = k.LAND AND f.gemarkungsnummer = k.gemarkungsnummer 
+   WHERE p.nachnameoderfirma LIKE 'Stadt %'
+     AND bpn.beziehungsart = 'benennt'
+     AND bng.beziehungsart = 'istBestandteilVon'
+     AND bgs.beziehungsart = 'istBestandteilVon'
+     AND bss.beziehungsart in ('an','zu')
+     AND bsf.beziehungsart = 'istGebucht'
+     AND p.endet IS NULL
+     AND n.endet IS NULL
+     AND g.endet IS NULL
+     AND b.endet IS NULL
+     AND sh.endet IS NULL
+     AND sd.endet IS NULL
+     AND f.endet IS NULL
+     AND k.endet IS NULL
+   ORDER BY   
+         k.bezeichnung,
+         f.flurnummer,
+         f.zaehler,
+         f.nenner,
+         g.bezirk, 
+         g.BUCHUNGSBLATTNUMMERMITBUCHSTAB,
+         sh.laufendenummer 
+;
+
+CREATE OR REPLACE VIEW BEZIEHUNGEN_REDUNDANT 
+AS
+SELECT *
+ FROM alkis_beziehungen bezalt
+ WHERE EXISTS
+       (SELECT OGR_FID
+         FROM alkis_beziehungen bezneu
+        WHERE bezalt.beziehung_von = bezneu.beziehung_von
+          AND bezalt.beziehung_zu  = bezneu.beziehung_zu
+          AND bezalt.beziehungsart = bezneu.beziehungsart
+          AND bezalt.OGR_FID       < bezneu.OGR_FID
+        );
+
+-- COMMENT ON VIEW BEZIEHUNGEN_REDUNDANT IS 'alkis_beziehungen zu denen es eine identische neue Version gibt.';
+
+--ToDo
+--CREATE OR REPLACE VIEW BEZIEHUNGEN_REDUNDANT_IN_DELET
+--AS
+--SELECT *
+-- FROM alkis_beziehungen AS bezalt
+-- WHERE EXISTS
+--       (SELECT OGR_FID
+--         FROM alkis_beziehungen bezneu
+--        WHERE bezalt.beziehung_von = bezneu.beziehung_von
+--          AND bezalt.beziehung_zu  = bezneu.beziehung_zu
+--         AND bezalt.beziehungsart = bezneu.beziehungsart
+--          AND bezalt.OGR_FID       < bezneu.ogc_fid
+--        )
+--     AND EXISTS
+--        (SELECT OGR_FID
+--         FROM delete
+--         WHERE bezalt.beziehung_von = substr(featureid, 1, 16)
+--            OR bezalt.beziehung_zu  = substr(featureid, 1, 16)
+--        );
+
+---- COMMENT ON VIEW BEZIEHUNGEN_REDUNDANT_IN_DELET IS 'alkis_beziehungen zu denen es eine identische neue Version gibt und wo das Objekt noch in der delete-Tabelle vorkommt.';
+purge recyclebin;
+QUIT;
Index: branches/0.7/import/nutzungsart_metadaten.sql
===================================================================
--- branches/0.7/import/nutzungsart_metadaten.sql	(revision 329)
+++ branches/0.7/import/nutzungsart_metadaten.sql	(revision 329)
@@ -0,0 +1,816 @@
+
+-- ALKIS PostNAS 0.7
+
+-- ======================================================
+-- Zusammenfassung der Tabellen der tatsÃ€chlichen Nutzung
+-- ======================================================
+
+-- Um bei einer Feature.Info (Welche Nutzung an dieser Stelle?) 
+-- oder einer Verschneidung (Welche Nutzungen auf dem FlurstÃŒck?) 
+-- nicht 26 verschiedene Tabellen abfragen zu mÃŒssen, werden die wichtigsten 
+-- Felder dieser Tabellen zusammen gefasst.
+
+-- Teil 2: Laden der statischen Tabellen mit Metadaten und SchlÃŒsseln (Classes)
+
+-- Stand 
+
+--  2012-02-10 PostNAS 07, Umbenennung
+--  2013-11-18 Auch jeweils einen 0-Wert in "nutzung_class.class" laden fÃŒr die FÃ€lle wo die Quelltabelle ein "IS NULL" enthÃ€lt.
+--             Weitere Werte erfasst.
+
+-- WARNUNG:  Wenn in der Praxis weitere SchlÃŒssel vorkommen, die in dieser Tabelle "nutzung_class" noch nicht 
+--           vorkommen, dann kann das bei Equivalenz-Abfragen (INNER JOIN) dazu fÃŒhren, dass die 
+--           Nutzungsarten-Abschnitte mit den hier fehlenden SchlÃŒsseln ausgelassen werden.
+-- LÃ¶sung: - Bei SQL-Abfragen diese Tabelle mit "LEFT JOIN" verknÃŒpfen.
+--         - Im PostProcessing (pp_) diese Tabelle durch vorkommende SchlÃŒssel aus der der Tabelle "nutzung" ergÃ€nzen.
+
+
+-- DoDo: Sollte die Durchnummerierung der Gruppen (Spalte "nutz_id") ersetzt werden durch
+--       den Wert "Kennung" aus der GeoInfoDok?
+--  http://www.bezreg-koeln.nrw.de/extra/33alkis/dokumente/GeoInfoDok/ALKIS/ALKIS_OK_V6-0.html#_3DFA354A0193
+
+-- Objektartengruppe:Siedlung
+
+-- nutz_id Kennung Name
+
+-- 1       41001 'WohnbauflÃ€che'
+-- 2       41002 'Industrie- und GewerbeflÃ€che'
+-- 3       41003 'Halde'
+-- 4       41004 'Bergbaubetrieb'
+-- 5       41005 'Tagebau, Grube, Steinbruch'
+-- 6       41006 'FlÃ€che gemischter Nutzung'
+-- 7       41007 'FlÃ€che besonderer funktionaler PrÃ€gung'
+-- 8       41008 'Sport-, Freizeit- und ErholungsflÃ€che'
+-- 9       41009 'Friedhof'
+-- ?       41010 'SiedlungsflÃ€che'
+
+-- Objektartengruppe:Verkehr
+
+-- 10      42001 'StraÃenverkehr'
+-- ?       42002 'StraÃe'
+-- ?       42003 'StraÃenachse'
+-- ?       42005 'Fahrbahnachse'
+-- 11      42006 'Weg'
+-- ?       42008 'Fahrwegachse'
+-- 12      42009 'Platz'
+-- 13      42010 'Bahnverkehr'
+-- ?       42014 'Bahnstrecke'
+-- 14      42015 'Flugverkehr'
+-- 15      42016 'Schiffsverkehr'
+
+-- Objektartengruppe:Vegetation
+
+-- 16      43001 'Landwirtschaft'
+-- 17      43002 'Wald'
+-- 18      43003 'GehÃ¶lz'
+-- 19      43004 'Heide'
+-- 20      43005 'Moor'
+-- 21      43006 'Sumpf'
+-- 22      43007 'Unland/Vegetationslose FlÃ€che'
+-- ?       43008 'FlÃ€che zur Zeit unbestimmbar'
+
+-- Objektartengruppe:GewÃ€sser
+
+-- 24      44001 'FlieÃgewÃ€sser'
+-- ?       44002 'Wasserlauf'
+-- ?       44003 'Kanal'
+-- ?       44004 'GewÃ€sserachse'
+-- 25      44005 'Hafenbecken'
+-- 26      44006 'Stehendes GewÃ€sser'
+-- 27      44007 'Meer'
+
+SET client_encoding = 'UTF-8';
+
+
+-- Tabellen  l e e r e n 
+DELETE FROM nutzung_meta;
+DELETE FROM nutzung_class;
+
+
+-- Ãber die Tabelle "nutzung_meta" wird dokumentiert, welche Felder der Ursprungstabellen 
+-- in die Zielfelder "class" und "info" der zusammen gefassten Tabelle "nutzung" geladen werden,
+
+
+-- ****  Objektbereich: TatsÃ€chliche Nutzung  ****
+
+-- ** Objektartengruppe: Siedlung **
+
+-- 01 REO: ax_Wohnbauflaeche
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (1, 'Siedlung','ax_wohnbauflaeche','WohnbauflÃ€che', 'Art der Bebauung', null);
+
+-- Classes (ArtDerBebauung):
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (1,    0, '');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (1, 1000, 'Offen',       '"Offen" beschreibt die Bebauung von "WohnbauflÃ€che", die vorwiegend durch einzelstehende GebÃ€ude charakterisiert wird.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (1, 2000, 'Geschlossen', '"Geschlossen" beschreibt die Bebauung von "WohnbauflÃ€che", die vorwiegend durch zusammenhÃ€ngende GebÃ€ude charakterisiert wird. Die GebÃ€udeabdeckung ist in der Regel >50 Prozent der WohnbauflÃ€che.');
+
+
+-- Zustand: 2 Werte
+-- 2100,'AuÃer Betrieb, stillgelegt, verlassen', '"AuÃer Betrieb, stillgelegt; verlassen" bedeutet, dass sich die FlÃ€che nicht mehr in regelmÃ€Ãiger, der Bestimmung entsprechenden Nutzung befindet.');
+-- 8000,'Erweiterung, Neuansiedlung'
+
+
+-- 02 REO: ax_IndustrieUndGewerbeflaeche
+-- -------------------------------------
+-- Metadaten
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (2, 'Siedlung','ax_industrieundgewerbeflaeche','Industrie- und GewerbeflÃ€che', 'Funktion', null);
+
+-- Classes (Funktion):
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2,    0,''); 
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 1700,'Industrie und Gewerbe', '"Industrie und Gewerbe" bezeichnet FlÃ€chen, auf denen vorwiegend Industrie- und Gewerbebetriebe vorhanden sind. Darin sind GebÃ€ude- und FreiflÃ€chen und die BetriebslÃ€che Lagerplatz enthalten.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 1710,'Produktion');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 1720,'Handwerk');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 1730,'Tankstelle');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 1740,'Lagerplatz', '"Lagerplatz" bezeichnet FlÃ€chen, auf denen inner- und auÃerhalb von GebÃ€uden wirtschaftliche GÃŒter gelagert werden.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 1750,'Transport');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 1760,'Forschung');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 1770,'Grundstoff');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 1780,'Betriebliche Sozialeinrichtung');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 1790,'Werft');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 1400,'Handel und Dienstleistung', '"Handel und Dienstleistung" bezeichnet eine FlÃ€che, auf der vorwiegend GebÃ€ude stehen, in denen Handels- und/oder Dienstleistungsbetriebe ansÃ€ssig sind.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 1410,'Verwaltung, freie Berufe');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 1420,'Bank, Kredit');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 1430,'Versicherung');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 1440,'Handel');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 1450,'Ausstellung, Messe', '"Ausstellung, Messe" bezeichnet eine FlÃ€che mit Ausstellungshallen und sonstigen Einrichtungen zur PrÃ€sentation von Warenmustern.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 1460,'Beherbergung');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 1470,'Restauration');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 1480,'VergnÃŒgung');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 1490,'GÃ€rtnerei', '"GÃ€rtnerei" bezeichnet eine FlÃ€che mit GebÃ€uden, GewÃ€chshÃ€usern und sonstigen Einrichtungen, zur Aufzucht von Blumen und GemÃŒsepflanzen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 2500,'Versorgungsanlage', '"Versorgungsanlage" bezeichnet eine FlÃ€che, auf der vorwiegend Anlagen und GebÃ€ude zur Versorgung der Allgemeinheit mit ElektrizitÃ€t, WÃ€rme und Wasser vorhanden sind.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2501,'GebÃ€ude- und FreiflÃ€che Versorgungsanlage');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2502,'BetriebsflÃ€che Versorgungsanlage');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 2510,'FÃ¶rderanlage', '"FÃ¶rderanlage" bezeichnet eine FlÃ€che mit Einrichtungen zur FÃ¶rderung von ErdÃ¶l, Erdgas, Sole, KohlensÃ€ure oder ErdwÃ€rme aus dem Erdinneren.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 2520,'Wasserwerk', '"Wasserwerk" bezeichnet eine FlÃ€che mit Bauwerken und sonstigen Einrichtungen zur Gewinnung und/ oder zur Aufbereitung von (Trink-)wasser.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2521,'GebÃ€ude- und FreiflÃ€che Versorgungsanlage, Wasser');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2522,'BetriebsflÃ€che Versorgungsanlage, Wasser');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 2530,'Kraftwerk', '"Kraftwerk" bezeichnet eine FlÃ€che mit Bauwerken und sonstigen Einrichtungen zur Erzeugung von elektrischer Energie.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2531,'GebÃ€ude- und FreiflÃ€che Versorgungsanlage, ElektrizitÃ€t');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2532,'BetriebsflÃ€che Versorgungsanlage, ElektrizitÃ€t');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 2540,'Umspannstation', '"Umspannstation" bezeichnet eine FlÃ€che mit GebÃ€uden und sonstigen Einrichtungen, um Strom auf eine andere Spannungsebene zu transformieren.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 2550,'Raffinerie', '"Raffinerie" bezeichnet eine FlÃ€che mit Bauwerken und sonstigen Einrichtungen zur Aufbereitung von ErdÃ¶l.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2551,'GebÃ€ude- und FreiflÃ€che Versorgungsanlage, Ãl');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2552,'BetriebsflÃ€che Versorganlage, Ãl');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2560,'Gaswerk');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2561,'GebÃ€ude- und FreiflÃ€che Versorgungsanlage, Gas');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2562,'BetriebsflÃ€che Versorgungsanlage, Gas');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 2570,'Heizwerk', '"Heizwerk" bezeichnet eine FlÃ€che mit Bauwerken und sonstigen Einrichtungen zur Erzeugung von WÃ€rmeenergie zu Heizzwecken.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2571,'GebÃ€ude- und FreiflÃ€che Versorgungsanlage, WÃ€rme');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2572,'BetriebsflÃ€che Versorgungsanlage, WÃ€rme');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 2580,'Funk- und Fernmeldeanlage', '"Funk- und Fernmeldeanlage" bezeichnet eine FlÃ€che, auf der vorwiegend Anlagen und GebÃ€ude zur elektronischen Informationenvermittlung stehen.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2581,'GebÃ€ude- und FreiflÃ€che Versorgungsanlage, Funk- und Fernmeldewesen');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2582,'BetriebsflÃ€che Versorgungsanlage, Funk- und Fernmeldewesen');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 2600,'Entsorgung', '"Entsorgung" bezeichnet eine FlÃ€che, auf der vorwiegend Anlagen und GebÃ€ude zur Verwertung und Entsorgung von Abwasser und festen Abfallstoffen vorhanden sind.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2601,'GebÃ€ude- und FreiflÃ€che Entsorgungsanlage');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2602,'BetriebsflÃ€che Entsorgungsanlage');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 2610,'KlÃ€ranlage, KlÃ€rwerk', '"KlÃ€ranlage, KlÃ€rwerk" bezeichnet eine FlÃ€che mit Bauwerken und sonstigen Einrichtungen zur Reinigung von Abwasser.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2611,'GebÃ€ude- und FreiflÃ€che Entsorgungsanlage, Abwasserbeseitigung');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2612,'BetriebsflÃ€che Entsorgungsanlage, Abwasserbeseitigung');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 2620,'Abfallbehandlungsanlage', '"Abfallbehandlungsanlage" bezeichnet eine FlÃ€che mit Bauwerken und sonstigen Einrichtungen, auf der AbfÃ€lle mit chemisch/physikalischen und biologischen oder thermischen Verfahren oder Kombinationen dieser Verfahren behandelt werden.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2621,'GebÃ€ude- und FreiflÃ€che Entsorgungsanlage, Abfallbeseitigung');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2622,'BetriebsflÃ€che Entsorgungsanlage, Abfallbeseitigung');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, 2623,'BetriebsflÃ€che Entsorgungsanlage, Schlamm');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 2630,'Deponie (oberirdisch)', '"Deponie (oberirdisch)" bezeichnet eine FlÃ€che, auf der oberirdisch Abfallstoffe gelagert werden.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, 2640,'Deponie (untertÃ€gig)', '"Deponie (untertÃ€gig)" bezeichnet eine oberirdische BetriebsflÃ€che, unter der Abfallstoffe eingelagert werden (Untertagedeponie).');
+
+
+-- MUSTER:
+--INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (2, __,'__');
+--INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (2, __,'__', '____');
+
+
+-- Zustand als 2. Feld?
+
+--*FÃ¶rdergut:
+-- 1000 ErdÃ¶l        'ErdÃ¶l' ist ein flÃŒssiges und brennbares Kohlenwasserstoffgemisch, das gefÃ¶rdert wird.
+-- 2000 Erdgas       'Erdgas' ist ein in der Erdkruste vorkommendes brennbares Naturgas, das gefÃ¶rdert wird.
+-- 3000 Sole, Lauge  'Sole, Lauge' ist ein kochsalzhaltiges Wasser, das gefÃ¶rdert wird.
+-- 4000 KohlensÃ€ure  'KohlensÃ€ure' ist eine schwache SÃ€ure, die durch LÃ¶sung von Kohlendioxid in Wasser entsteht und gefÃ¶rdert wird.
+-- 5000 ErdwÃ€rme     'ErdwÃ€rme' ist eine auf natÃŒrlichem Wege sich erneuernde WÃ€rmeenergie, die aus einer geothermisch geringen Tiefenstufe der Erdkruste gefÃ¶rdert wird.
+
+--*Lagergut:
+-- 7000 Abraum
+-- 1000 Baustoffe
+-- 4000 Erde
+-- 2000 Kohle
+-- 3000 Ãl
+-- 6000 Schlacke
+-- 8000 Schrott, Altmaterial
+
+--*PrimÃ€renergie:
+-- 1000 Wasser    --'Wasser' bedeutet, dass das Kraftwerk potentielle und kinetische Energie des Wasserkreislaufs in elektrische Energie umwandelt.
+-- 2000 Kernkraft --'Kernkraft' bedeutet, dass das Kraftwerk die durch Kernspaltung gewonnene Energie in eine andere Energieform umwandelt.
+-- 3000 Sonne     --'Sonne' bedeutet, dass das Kraftwerk bzw. Heizwerk Sonnenenergie in eine andere Energieform umwandelt.
+-- 4000 Wind      --'Wind' bedeutet, dass das Kraftwerk die StrÃ¶mungsenergie des Windes in elektrische Energie umwandelt.
+-- 5000 Gezeiten  --'Gezeiten' bedeutet, dass das Kraftwerk die kinetische Energie der Meeresgezeiten in elektrische Energie umwandelt.
+-- 6000 ErdwÃ€rme  --'ErdwÃ€rme' bedeutet, dass das Heizwerk die geothermische Energie der Erde nutzt.
+-- 7000 Verbrennung --'Verbrennung' bedeutet, dass das Kraftwerk bzw. Heizwerk die durch Verbrennung freiwerdende Energie in eine andere Energieform umwandelt.
+-- 7100 Kohle     --'Kohle' bedeutet, dass das Kraftwerk bzw. Heizwerk die durch Verbrennung von Kohle freiwerdende Energie in eine andere Energieform umwandelt.
+-- 7200 Ãl        --'Ãl' bedeutet, dass das Kraftwerk bzw. Heizwerk die durch Verbrennung von Ãl freiwerdende Energie in eine andere Energieform umwandelt.
+-- 7300 Gas       --'Gas' bedeutet, dass das Kraftwerk bzw. Heizwerk die durch Verbrennung von Gas freiwerdende Energie in eine andere Energieform umwandelt.
+-- 7400 MÃŒll, Abfall --'MÃŒll, Abfall' bedeutet, dass das Kraftwerk bzw. Heizwerk die durch Verbrennung von MÃŒll bzw. Abfall freiwerdende Energie in eine andere Energieform umwandelt.
+
+
+-- 03 REO: ax_Halde
+-- -------------------------------------
+-- 'Halde' ist eine FlÃ€che, auf der Material langfristig gelagert wird und beschreibt die auch im Relief 
+-- zu modellierende tatsÃ€chliche AufschÃŒttung. 
+-- Aufgeforstete Abraumhalden werden als Objekte der Objektart 'Wald' erfasst.
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (3, 'Siedlung','ax_halde','Halde', 'Lagergut', null);
+
+-- Classes (Lagergut):
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (3,    0,'');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (3, 1000,'Baustoffe');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (3, 2000,'Kohle');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (3, 4000,'Erde');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (3, 5000,'Schutt');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (3, 6000,'Schlacke');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (3, 7000,'Abraum');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (3, 8000,'Schrott, Altmaterial');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (3, 9999,'Sonstiges');
+
+-- Zustand: 2 Werte
+
+
+-- 04 ax_Bergbaubetrieb
+-- -------------------------------------
+-- 'Bergbaubetrieb' ist eine FlÃ€che, die fÃŒr die FÃ¶rderung des Abbaugutes unter Tage genutzt wird.
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (4, 'Siedlung','ax_bergbaubetrieb','Bergbaubetrieb', 'Abbaugut', null);
+
+-- Classes (Abbaugut):
+-- 'Abbaugut' gibt an, welches Material abgebaut wird.
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (4,    0,''); 
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 1000,'Erden, Lockergestein', '"Erden, Lockergestein" bedeutet, dass feinkÃ¶rnige Gesteine abgebaut werden.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 1001,'Ton', '"Ton" ist ein Abbaugut, das aus gelblichem bis grauem Lockergestein besteht und durch Verwitterung Ã€lterer Gesteine entsteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 1007,'Kalk, Kalktuff, Kreide', '"Kalk, Kalktuff, Kreide" ist ein Abbaugut, das aus erdigem weiÃen Kalkstein besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 2000,'Steine, Gestein, Festgestein', '"Steine, Gestein, Festgestein" bedeutet, dass grobkÃ¶rnige oder feste Gesteine abgebaut werden.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 2002,'Schiefer, Dachschiefer', '"Schiefer, Dachschiefer" ist ein toniges Abbaugut, das in dÃŒnne ebene Platten spaltbar ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 2003,'Metamorpher Schiefer', '"Metamorpher Schiefer" ist ein Abbaugut, dessen ursprÃŒngliche Zusammensetzung und Struktur durch WÃ€rme und Druck innerhalb der Erdkruste verÃ€ndert worden ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 2005,'Kalkstein', '"Kalkstein" ist ein Abbaugut, das als weit verbreitetes Sedimentgestein ÃŒberwiegend aus Calciumcarbonat besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 2006,'Dolomitstein', '"Dolomitstein" ist ein Abbaugut, das ÃŒberwiegend aus calcium- und magnesiumhaltigen Mineralien besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 2013,'Basalt, Diabas', '"Basalt, Diabas" ist ein Abbaugut, das aus basischem Ergussgestein besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 2021,'Talkschiefer, Speckstein', '"Talkschiefer, Speckstein" ist ein farbloses bis graugrÃŒnes, sich fettig anfÃŒhlendes Abbaugut, das aus dem weichen Mineral Talk besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 3000,'Erze', '"Erze" bedeutet, dass die in der Natur vorkommenden, metallhaltigen Mineralien und Mineralgemische abgebaut oder gespeichert werden.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 3001,'Eisen', '"Eisen" wird als Eisenerz abgebaut und durch VerhÃŒttung gewonnen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 3002,'Buntmetallerze', '"Buntmetallerze" ist das Abbaugut, das alle Nichteisenmetallerze als Sammelbegriff umfasst.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 3003,'Kupfer', '"Kupfer" wird als Kupfererz abgebaut und durch VerhÃŒttung gewonnen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 3004,'Blei', '"Blei" wird als Bleierz abgebaut und durch spezielle Verfahren gewonnen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 3005,'Zink', '"Zink" wird als Zinkerz abgebaut und durch spezielle Verfahren gewonnen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 3006,'Zinn', '"Zinn" wird als Zinnerz abgebaut und durch spezielle Verfahren gewonnen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 3007,'Wismut, Kobalt, Nickel', '"Wismut, Kobalt, Nickel" werden als Erze abgebaut und durch spezielle Verfahren gewonnen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 3008,'Uran', '"Uran" wird als Uranerz abgebaut und durch spezielle Verfahren gewonnen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 3009,'Mangan', '"Mangan" wird als Manganerz abgebaut und durch spezielle Verfahren gewonnen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 3010,'Antimon', '"Antimon" wird als Antimonerz abgebaut und durch spezielle Verfahren gewonnen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 3011,'Edelmetallerze', '"Edelmetallerze" ist das Abbaugut, aus dem Edelmetalle (z. B. Gold, Silber) gewonnen werden.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 4000,'Treib- und Brennstoffe', '"Treib- und Brennstoffe" bedeutet, dass die in der Natur vorkommenden brennbaren organischen und anorganischen Substanzen abgebaut oder gewonnen werden.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 4020,'Kohle', '"Kohle" ist ein Abbaugut, das durch Inkohlung (Umwandlungsprozess pflanzlicher Substanzen) entstanden ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 4021,'Braunkohle', '"Braunkohle" ist ein Abbaugut, das durch einen bestimmten Grad von Inkohlung (Umwandlungsprozess pflanzlicher Substanzen) entstanden ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 4022,'Steinkohle', '"Steinkohle" ist ein Abbaugut, das durch vollstÃ€ndige Inkohlung (Umwandlungsprozess pflanzlicher Substanzen) entstanden ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 4030,'Ãlschiefer', '"Ãlschiefer" ist ein Abbaugut, das aus dunklem, bitumenhaltigem, tonigem Gestein besteht');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 5000,'Industrieminerale, Salze ', '"Industrieminerale, Salze" bedeutet, dass die in der Natur vorkommenden Mineralien abgebaut werden.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 5001,'Gipsstein', '"Gipsstein" ist ein natÃŒrliches Abbaugut.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 5002,'Anhydritstein', '"Anhydritstein" ist ein Abbaugut, das aus wasserfreiem Gips besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 5003,'Steinsalz', '"Steinsalz" ist ein Abbaugut, das aus SalzstÃ¶cken gewonnen wird und aus Natriumchlorid besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 5004,'Kalisalz', '"Kalisalz" ist ein Abbaugut, das aus SalzstÃ¶cken gewonnen wird und aus Chloriden und Sulfaten besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 5005,'Kalkspat', '"Kalkspat" ist ein weiÃes oder hell gefÃ€rbtes Abbaugut (Calciumcarbonat).');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 5006,'Flussspat', '"Flussspat" ist ein Abbaugut, das aus Calciumfluorid besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 5007,'Schwerspat', '"Schwerspat" ist ein formenreiches, rhombisches weiÃes bis farbiges Abbaugut.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (4, 5011,'Graphit', '"Graphit" ist ein bleigraues, weiches, metallglÃ€nzendes Abbaugut, das aus fast reinem Kohlenstoff besteht.');
+
+-- Zustand: 2 Werte
+
+
+-- 05 REO: ax_TagebauGrubeSteinbruch
+-- -------------------------------------
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo) 
+VALUES (5, 'Siedlung','ax_tagebaugrubesteinbruch','Tagebau, Grube, Steinbruch', 'Abbaugut', null);
+
+-- Classes (Abbaugut):                                                          Ton Steine Scherben
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (5,    0,''); 
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 1000,'Erden, Lockergestein', '"Erden, Lockergestein" bedeutet, dass feinkÃ¶rnige Gesteine abgebaut werden.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 1001,'Ton',         '"Ton" ist ein Abbaugut, das aus gelblichem bis grauem Lockergestein besteht und durch Verwitterung Ã€lterer Gesteine entsteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 1002,'Bentonit',    '"Bentonit" ist ein tonartiges Abbaugut, das durch Verwitterung vulkanischer Asche (Tuffe) entstanden ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 1003,'Kaolin',      '"Kaolin" ist ein Abbaugut, das aus weiÃem, erdigem Gestein, fast reinem Aluminiumsilikat (kieselsaure Tonerde) besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 1004,'Lehm',        '"Lehm" ist ein Abbaugut, das durch Verwitterung entstanden ist und aus gelb bis braun gefÃ€rbtem sandhaltigem Ton besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 1005,'LÃ¶Ã, LÃ¶Ãlehm', '"LÃ¶Ã, LÃ¶Ãlehm" ist ein Abbaugut das aus feinsten gelblichen Sedimenten besteht und eine hohe WasserspeicherfÃ€higkeit aufweist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 1006,'Mergel',      '"Mergel" ist ein Abbaugut das aus kalk- und tonartigem Sedimentgestein besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 1007,'Kalk, Kalktuff, Kreide', '"Kalk, Kalktuff, Kreide" ist ein Abbaugut, das aus erdigem weiÃen Kalkstein besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 1008,'Sand',        '"Sand" ist ein Abbaugut, das aus kleinen, losen MineralkÃ¶rnern (hÃ€ufig Quarz) besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 1009,'Kies, Kiessand', '"Kies, Kiessand" ist ein Abbaugut, das aus vom Wasser rund geschliffenen Gesteinsbrocken besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 1011,'Farberden',    '"Farberden" ist ein Abbaugut, das durch Verwitterung entstanden ist und vorrangig aus eisenhaltigem Gestein besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 1012,'Quarzsand',    '"Quarzsand" ist ein Abbaugut, das vorwiegend aus kleinen, losen QuarzkÃ¶rnern besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 1013,'Kieselerde',   '"Kieselerde" ist ein Abbaugut, das durch tertiÃ€re Binnenseeablagerungen aus Kieselschalen toter Kieselalgen entstanden ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2000,'Steine, Gestein, Festgestein', '"Steine, Gestein, Festgestein" bedeutet, dass grobkÃ¶rnige oder feste Gesteine abgebaut werden.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2001,'Tonstein',     '"Tonstein" ist ein gelblich bis graues Abbaugut, das ÃŒberwiegend aus Tonmineralien besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2002,'Schiefer, Dachschiefer', '"Schiefer, Dachschiefer" ist ein toniges Abbaugut, das in dÃŒnne ebene Platten spaltbar ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2003,'Metamorpher Schiefer', '"Metamorpher Schiefer" ist ein Abbaugut, dessen ursprÃŒngliche Zusammensetzung und Struktur durch WÃ€rme und Druck innerhalb der Erdkruste verÃ€ndert worden ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2004,'Mergelstein',  '"Mergelstein" ist ein Abbaugut, das sich grÃ¶Ãtenteils aus Ton und Kalk zusammensetzt.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2005,'Kalkstein',    '"Kalkstein" ist ein Abbaugut, das als weit verbreitetes Sedimentgestein ÃŒberwiegend aus Calciumcarbonat besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2006,'Dolomitstein', '"Dolomitstein" ist ein Abbaugut, das ÃŒberwiegend aus calcium- und magnesiumhaltigen Mineralien besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2007,'Travertin',    '"Travertin" ist ein Abbaugut, das aus gelblichen Kiesel- oder Kalktuffen besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2008,'Marmor',       '"Marmor" ist ein Abbaugut, das als rein weiÃer kristalliner, kÃ¶rniger Kalkstein (Calciumcarbonat) vorkommt.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2009,'Sandstein',    '"Sandstein" ist ein Abbaugut, das aus verfestigtem Sedimentgestein besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2010,'Grauwacke',    '"Grauwacke" ist ein Abbaugut, das aus tonhaltigem Sandstein besteht und mit GesteinsbruchstÃŒcken angereichert sein kann.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2011,'Quarzit',      '"Quarzit" ist ein sehr hartes metamorphes Abbaugut, das vorwiegend aus feinkÃ¶rnigen Quarzmineralien besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2012,'Gneis',        '"Gneis" ist ein metamorphes Abbaugut mit Schieferung, das aus Feldspat, Quarz und Glimmer besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2013,'Basalt, Diabas', '"Basalt, Diabas" ist ein Abbaugut, das aus basischem Ergussgestein besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2014,'Andesit',      '"Andesit" ist ein Abbaugut, das aus Ergussgestein besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2015,'Porphyr, Quarzporphyr', '"Porphyr, Quarzporphyr" ist ein eruptiv entstandenes Abbaugut, das aus einer dichten Grundmasse und groben Einsprenglingen besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2016,'Granit',        '"Granit" ist ein eruptiv entstandenes Abbaugut, das aus kÃ¶rnigem Feldspat, Quarz, Glimmer besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2017,'Granodiorit',   '"Granodiorit" ist ein hell- bis dunkelgraues Abbaugut. Es ist ein mittelkÃ¶rniges Tiefengestein mit den Hauptbestandteilen Feldspat, Quarz, Hornblende und Biotit.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2018,'Tuff-, Bimsstein', '"Tuff-, Bimsstein" ist ein helles, sehr porÃ¶ses Abbaugut, das durch rasches Erstarren der Lava entstanden ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2019,'Trass',        '"Trass" ist ein Abbaugut, das aus vulkanischem Aschentuff (Bimsstein) besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2020,'Lavaschlacke',   '"Lavaschlacke" ist ein Abbaugut, das aus ausgestoÃenem, geschmolzenen Vulkangestein besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 2021,'Talkschiefer, Speckstein', '"Talkschiefer, Speckstein" ist ein farbloses bis graugrÃŒnes, sich fettig anfÃŒhlendes Abbaugut, das aus dem weichen Mineral Talk besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 4000,'Treib- und Brennstoffe', '"Treib- und Brennstoffe" bedeutet, dass die in der Natur vorkommenden brennbaren organischen und anorganischen Substanzen abgebaut oder gewonnen werden.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 4010,'Torf',          '"Torf" ist ein Abbaugut, das aus der unvollkommenen Zersetzung abgestorbener pflanzlicher Substanz unter Luftabschluss in Mooren entstanden ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 4020,'Kohle',         '"Kohle" ist ein Abbaugut, das durch Inkohlung (Umwandlungsprozess pflanzlicher Substanzen) entstanden ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 4021,'Braunkohle',    '"Braunkohle" ist ein Abbaugut, das durch einen bestimmten Grad von Inkohlung (Umwandlungsprozess pflanzlicher Substanzen) entstanden ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 4022,'Steinkohle',    '"Steinkohle" ist ein Abbaugut, das durch vollstÃ€ndige Inkohlung (Umwandlungsprozess pflanzlicher Substanzen) entstanden ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 4030,'Ãlschiefer',    '"Ãlschiefer" ist ein Abbaugut, das aus dunklem, bitumenhaltigen, tonigen Gestein besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 5000,'Industrieminerale, Salze', '-"Industrieminerale, Salze" bedeutet, dass die in der Natur vorkommenden Mineralien abgebaut werden.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 5001,'Gipsstein',    '"Gipsstein" ist ein natÃŒrliches Abbaugut.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 5002,'Anhydritstein', '"Anhydritstein" ist ein Abbaugut, das aus wasserfreiem Gips besteht.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 5005,'Kalkspat',      '"Kalkspat" ist ein weiÃes oder hell gefÃ€rbtes Abbaugut (Calciumcarbonat).');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 5007,'Schwerspat',    '"Schwerspat" ist ein formenreiches, rhombisches weiÃes bis farbiges Abbaugut.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 5008,'Quarz',         '"Quarz" ist ein Abbaugut, das aus verschiedenen Gesteinsarten (Granit, Gneis, Sandstein) gewonnen wird.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 5009,'Feldspat',      '"Feldspat" ist ein weiÃ bis grauweiÃes gesteinsbildendes Mineral von blÃ€ttrigem Bruch, das abgebaut wird.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 5010,'Pegmatitsand',  '"Pegmatitsand" ist ein Abbaugut, das durch Verwitterung von Granit und Gneis entstanden ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (5, 9999,'Sonstiges',     '"Sonstiges" bedeutet, dass das Abbaugut bekannt, aber nicht in der Attributwertliste aufgefÃŒhrt ist.');
+
+-- 2. Feld: "Zustand"
+-- 2100   AuÃer Betrieb, stillgelegt, verlassen
+-- "AuÃer Betrieb, stillgelegt; verlassen" bedeutet, dass sich 'Tagebau, Grube, Steinbruch' nicht mehr in regelmÃ€Ãiger, der Bestimmung entsprechenden Nutzung befindet.
+
+
+-- 06 REO: ax_FlaecheGemischterNutzung
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (6, 'Siedlung','ax_flaechegemischternutzung','FlÃ€che gemischter Nutzung', 'Funktion', null);
+
+-- Classes (Funktion):
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (6,    0,''); 
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (6, 2100,'GebÃ€ude- und FreiflÃ€che, Mischnutzung mit Wohnen');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (6, 2110,'GebÃ€ude- und FreiflÃ€che, Mischnutzung mit Wohnen / Wohnen mit Ãffentlich ');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (6, 2120,'GebÃ€ude- und FreiflÃ€che, Mischnutzung mit Wohnen / Wohnen mit Handel und Dienstleistungen');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (6, 2130,'GebÃ€ude- und FreiflÃ€che, Mischnutzung mit Wohnen / Wohnen mit Gewerbe und Industrie ');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (6, 2140,'GebÃ€ude- und FreiflÃ€che, Mischnutzung mit Wohnen / Ãffentlich mit Wohnen');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (6, 2150,'GebÃ€ude- und FreiflÃ€che, Mischnutzung mit Wohnen / Handel und Dienstleistungen mit Wohnen');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (6, 2160,'GebÃ€ude- und FreiflÃ€che, Mischnutzung mit Wohnen / Gewerbe und Industrie mit Wohnen');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (6, 2700,'GebÃ€ude- und FreiflÃ€che Land- und Forstwirtschaft');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (6, 2710,'GebÃ€ude- und FreiflÃ€che Land- und Forstwirtschaft / Wohnen');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (6, 2720,'GebÃ€ude- und FreiflÃ€che Land- und Forstwirtschaft / Betrieb');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (6, 2730,'GebÃ€ude- und FreiflÃ€che Land- und Forstwirtschaft / Wohnen und Betrieb');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (6, 6800,'Landwirtschaftliche BetriebsflÃ€che');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (6, 7600,'Forstwirtschaftliche BetriebsflÃ€che');
+
+
+-- Art der Bebauung
+-- Offen       1000 -- "Offen" beschreibt die Bebauung von 'FlÃ€che gemischter Nutzung', die vorwiegend durch einzelstehende GebÃ€ude charakterisiert wird.
+-- Geschlossen 2000 -- "Geschlossen" beschreibt die Bebauung von 'FlÃ€che gemischter Nutzung', die vorwiegend durch zusammenhÃ€ngende GebÃ€ude charakterisiert wird. Die GebÃ€udeabdeckung ist in der Regel > 50 Prozent der FlÃ€che.
+
+
+-- 07 REO: ax_FlaecheBesondererFunktionalerPraegung
+-- -------------------------------------
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (7, 'Siedlung','ax_flaechebesondererfunktionalerpraegung','FlÃ€che besonderer funktionaler PrÃ€gung', 'Funktion', 'Art der Bebauung');
+
+
+-- Classes (Funktion):
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (7,    0,''); 
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (7, 1100,'Ãffentliche Zwecke');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (7, 1110,'Ãffentliche Zwecke / Verwaltung', '"Verwaltung" bezeichnet eine FlÃ€che auf der vorwiegend GebÃ€ude der Ã¶ffentlichen Verwaltung, z. B. Rathaus, Gericht, Kreisverwaltung stehen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (7, 1120,'Ãffentliche Zwecke / Bildung und Forschung', '"Bildung und Forschung" bezeichnet eine FlÃ€che, auf der vorwiegend GebÃ€ude stehen, in denen geistige, kulturelle und soziale FÃ€higkeiten vermittelt werden und/oder wissenschaftliche Forschung betrieben wird (z.B. Schulen, UniversitÃ€ten, Forschungsinstitute).');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (7, 1130,'Ãffentliche Zwecke / Kultur', '"Kultur" bezeichnet eine FlÃ€che auf der vorwiegend Anlagen und GebÃ€ude fÃŒr kulturelle Zwecke, z.B. Konzert- und MuseumsgebÃ€ude, Bibliotheken, Theater, SchlÃ¶sser und Burgen sowie Rundfunk- und FernsehgebÃ€ude stehen.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (7, 1140,'Ãffentliche Zwecke / ReligiÃ¶se Einrichtung');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (7, 1150,'Ãffentliche Zwecke / Gesundheit, Kur', '"Gesundheit, Kur" bezeichnet eine FlÃ€che auf der vorwiegend GebÃ€ude des Gesundheitswesens stehen, z.B. KrankenhÃ€user, Heil- und Pflegeanstalten.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (7, 1160,'Ãffentliche Zwecke / Soziales', '"Soziales" bezeichnet eine FlÃ€che auf der vorwiegend GebÃ€ude des Sozialwesens stehen, z. B. KindergÃ€rten, Jugend- und Senioreneinrichtungen, Freizeit-, Fremden- und Obdachlosenheime.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (7, 1170,'Ãffentliche Zwecke / Sicherheit und Ordnung', '"Sicherheit und Ordnung" bezeichnet eine FlÃ€che auf der vorwiegend Anlagen und GebÃ€ude der Polizei, der Bundeswehr, der Feuerwehr und der JustizvollzugsbehÃ¶rden stehen.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (7, 1200,'Parken');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (7, 1300,'Historische Anlage');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (7, 1310,'Historische Anlage / Burg-, Festungsanlage');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (7, 1320,'Historische Anlage / Schlossanlage');
+
+
+-- 08 REO: ax_SportFreizeitUndErholungsflaeche
+-- -------------------------------------
+-- 'Sport-, Freizeit- und ErholungsflÃ€che' ist eine bebaute oder unbebaute FlÃ€che, 
+-- die dem Sport, der Freizeitgestaltung oder der Erholung dient.
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (8, 'Siedlung','ax_sportfreizeitunderholungsflaeche','Sport-, Freizeit- und ErholungsflÃ€che', 'Funktion', null);
+
+-- Classes:
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8,    0,''); 
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (8, 4100,'Sportanlage', '"Sportanlage" ist eine FlÃ€che mit Bauwerken und Einrichtungen, die zur AusÃŒbung von (Wettkampf-)sport und fÃŒr Zuschauer bestimmt ist.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4101,'GebÃ€ude- u. FreiflÃ€che Erholung, Sport');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (8, 4110,'Golfplatz', '"Golfplatz" ist eine FlÃ€che mit Bauwerken und Einrichtungen, die zur AusÃŒbung des Golfsports genutzt wird.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4120,'Sportplatz');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4130,'Rennbahn');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4140,'Reitplatz');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4150,'SchieÃanlage');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4160,'Eis-, Rollschuhbahn');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4170,'Tennisplatz');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (8, 4200,'Freizeitanlage', '"Freizeitanlage" ist eine FlÃ€che mit Bauwerken und Einrichtungen, die zur Freizeitgestaltung bestimmt ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (8, 4210,'Zoo', '"Zoo" ist ein GelÃ€nde mit TierschauhÃ€usern und umzÃ€unten Gehegen, auf dem Tiere gehalten und gezeigt werden.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4211,'GebÃ€ude- u. FreiflÃ€che Erholung, Zoologie');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (8, 4220,'Safaripark, Wildpark', '"Safaripark, Wildpark", ist ein GelÃ€nde mit umzÃ€unten Gehegen, in denen Tiere im Freien gehalten und gezeigt werden.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (8, 4230,'Freizeitpark', '"Freizeitpark" ist ein GelÃ€nde mit Karussells, Verkaufs- und Schaubuden und/oder Wildgattern, das der Freizeitgestaltung dient.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (8, 4240,'Freilichttheater', '"Freilichttheater" ist eine Anlage mit BÃŒhne und ZuschauerbÃ€nken fÃŒr TheaterauffÃŒhrungen im Freien.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (8, 4250,'Freilichtmuseum', '"Freilichtmuseum" ist eine volkskundliche Museumsanlage, in der Wohnformen oder historische Betriebsformen in ihrer natÃŒrlichen Umgebung im Freien dargestellt sind.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (8, 4260,'Autokino, Freilichtkino', '"Autokino, Freilichtkino" ist ein Lichtspieltheater im Freien, in dem der Film im Allgemeinen vom Auto aus angesehen wird.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4270,'VerkehrsÃŒbungsplatz');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4280,'HundeÃŒbungsplatz');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (8, 4290,'Modellflugplatz', '"Modellflugplatz" ist eine FlÃ€che, die zur AusÃŒbung des Modellflugsports dient.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4300,'ErholungsflÃ€che');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4301,'GebÃ€ude- und FreiflÃ€che Erholung');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (8, 4310,'Wochenend- und FerienhausflÃ€che', '"Wochenend- und FerienhausflÃ€che" bezeichnet eine extra dafÃŒr ausgewiesene FlÃ€che auf der vorwiegend Wochenend- und FerienhÃ€user stehen dÃŒrfen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (8, 4320,'Schwimmbad, Freibad', '"Schwimmbad, Freibad" ist eine Anlage mit Schwimmbecken oder Anlage an Ufern von GewÃ€ssern fÃŒr den Badebetrieb und Schwimmsport.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4321,'GebÃ€ude- u. FreiflÃ€che Erholung, Bad');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (8, 4330,'Campingplatz', '"Campingplatz" ist eine FlÃ€che fÃŒr den Aufbau einer grÃ¶Ãeren Zahl von Zelten oder zum Abstellen und Benutzen von Wohnwagen mit ortsfesten Anlagen und Einrichtungen.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4331,'GebÃ€ude- u. FreiflÃ€che Erholung, Camping');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (8, 4400,'GrÃŒnanlage', '"GrÃŒnanlage" ist eine Anlage mit BÃ€umen, StrÃ€uchern, RasenflÃ€chen, Blumenrabatten und Wegen, die vor allem der Erholung und VerschÃ¶nerung des Stadtbildes dient.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4410,'GrÃŒnflÃ€che');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (8, 4420,'Park', '"Park" ist eine landschaftsgÃ€rtnerisch gestaltete GrÃŒnanlage, die der ReprÃ€sentation und der Erholung dient.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4430,'Botanischer Garten');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4431,'GebÃ€ude- u. FreiflÃ€che Erholung, Botanik');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (8, 4440,'Kleingarten', '"Kleingarten" (Schrebergarten) ist eine Anlage von GartengrundstÃŒcken, die von Vereinen verwaltet und verpachtet werden.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4450,'Wochenendplatz');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4460,'Garten');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 4470,'Spielplatz, Bolzplatz');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (8, 9999,'Sonstiges');
+
+
+-- 09 REO: ax_Friedhof
+-- -------------------------------------
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass) -- kein info
+VALUES (9, 'Siedlung','ax_friedhof','Friedhof', 'Funktion');
+
+-- Class (Funktion):
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (9,    0,''); 
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (9, 9401,'GebÃ€ude- und FreiflÃ€che Friedhof');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (9, 9402,'Friedhof (ohne GebÃ€ude)');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (9, 9403,'Friedhof (Park)');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (9, 9404,'Historischer Friedhof');
+
+
+-- ** Verkehr **
+
+-- 10 ax_Strassenverkehr
+-- -------------------------------------
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (10, 'Verkehr','ax_strassenverkehr','StraÃenverkehr', 'Funktion', 'Zweitname');
+
+-- Class (Funktion):
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (10,    0,''); 
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (10, 2311,'GebÃ€ude- und FreiflÃ€che zu Verkehrsanlagen, StraÃe');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (10, 2312,'VerkehrsbegleitflÃ€che StraÃe', '"VerkehrsbegleitflÃ€che StraÃe" bezeichnet eine bebaute oder unbebaute FlÃ€che, die einer StraÃe zugeordnet wird. Die "VerkehrsbegleitflÃ€che StraÃe" ist nicht Bestandteil der Fahrbahn.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (10, 2313,'StraÃenentwÃ€sserungsanlage');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (10, 5130,'FuÃgÃ€ngerzone');
+
+
+-- 11 ax_Weg
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (11, 'Verkehr','ax_weg','Weg', 'Funktion', 'Bezeichnung');
+
+-- Classes (Funktion):
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (11,    0,''); 
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (11, 5210,'Fahrweg');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (11, 5211,'Hauptwirtschaftsweg');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (11, 5212,'Wirtschaftsweg');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (11, 5220,'FuÃweg');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (11, 5230,'Gang');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (11, 5240,'Radweg');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (11, 5250,'Rad- und FuÃweg');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (11, 5260,'Reitweg');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (11, 9999,'Sonstiges');
+
+
+-- 12 ax_Platz
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (12, 'Verkehr','ax_platz','Platz', 'Funktion', 'Zweitname');
+
+-- Classes (Funktion):
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (12,    0,''); 
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (12, 5130,'FuÃgÃ€ngerzone', '"FuÃgÃ€ngerzone" ist ein dem FuÃgÃ€ngerverkehr vorbehaltener Bereich, in dem ausnahmsweise Ã¶ffentlicher Personenverkehr, Lieferverkehr oder Fahrradverkehr zulÃ€ssig sein kann.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (12, 5310,'Parkplatz', '"Parkplatz" ist eine zum vorÃŒbergehenden Abstellen von Fahrzeugen bestimmte FlÃ€che.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (12, 5320,'Rastplatz', '"Rastplatz" ist eine Anlage zum Halten, Parken oder Rasten der Verkehrsteilnehmer mit unmittelbarem Anschluss zur StraÃe ohne Versorgungseinrichtung, ggf. mit Toiletten.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (12, 5330,'RaststÃ€tte', '"RaststÃ€tte" ist eine Anlage an VerkehrsstraÃen mit Bauwerken und Einrichtungen zur Versorgung und Erholung von Reisenden.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (12, 5340,'Marktplatz');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (12, 5350,'Festplatz', '"Festplatz" ist eine FlÃ€che, auf der zeitlich begrenzte Festveranstaltungen stattfinden');
+
+
+-- 13 ax_Bahnverkehr
+-- -------------------------------------
+
+--Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (13, 'Verkehr','ax_bahnverkehr','Bahnverkehr', 'Funktion', 'Bahnkategorie');
+
+-- Classes (Funktion):)
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (13,    0,''); 
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (13, 2321,'GebÃ€ude- und FreiflÃ€che zu Verkehrsanlagen, Schiene');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (13, 2322,'VerkehrsbegleitflÃ€che Bahnverkehr', '"VerkehrsbegleitflÃ€che Bahnverkehr" bezeichnet eine bebaute oder unbebaute, an den BahnkÃ¶rper angrenzende FlÃ€che, die dem Schienenverkehr dient.');
+
+
+-- alternative Kategorie:
+
+-- Bahnkategorie
+
+--Eisenbahn 1100
+-- 'Eisenbahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem im Nah- und Fernverkehr Personen befÃ¶rdert und GÃŒter transportiert werden.
+--GÃŒterverkehr 1102
+-- 'GÃŒterverkehr' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem im Nah- und Fernverkehr ausschlieÃlich GÃŒter transportiert werden.
+--S-Bahn 1104
+-- 'S-Bahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, der zur schnellen PersonenbefÃ¶rderung in BallungsrÃ€umen dient und meist auf eigenen Gleisen verlÃ€uft.
+--Stadtbahn 1200
+-- 'Stadtbahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem eine elektrisch betriebene Schienenbahn zur PersonenbefÃ¶rderung im Ã¶ffentlichen Nahverkehr fÃ€hrt. Sie kann sowohl ober- als auch unterirdisch verlaufen.
+--StraÃenbahn 1201
+-- 'StraÃenbahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem eine elektrisch betriebene Schienbahn zur PersonenbefÃ¶rderung fÃ€hrt. Sie verlÃ€uft i. d. R. oberirdisch.
+--U-Bahn 1202
+-- 'U-Bahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem eine elektrisch betriebene Schienenbahn zur PersonenbefÃ¶rderung in GroÃstÃ€dten fÃ€hrt. Sie verlÃ€uft i. d. R. unterirdisch.
+--Seilbahn, Bergbahn 1300
+-- 'Seilbahn, Bergbahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem eine Schienenbahn groÃe HÃ¶henunterschiede ÃŒberwindet.
+--Zahnradbahn 1301
+-- 'Zahnradbahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem eine Schienenbahn mittels Zahnradantrieb groÃe HÃ¶henunterschiede in stark geneigtem GelÃ€nde ÃŒberwindet.
+--Standseilbahn 1302
+-- 'Standseilbahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem eine Schienenbahn auf einer stark geneigten, meist kurzen und geraden Strecke verlÃ€uft. Mit Hilfe eines oder mehrerer Zugseile wird ein Schienenfahrzeug bergauf gezogen und gleichzeitig ein zweites bergab gelassen.
+--Museumsbahn 1400
+-- 'Museumsbahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem ausschlieÃlich Touristen in alten, meist restaurierten ZÃŒgen befÃ¶rdert werden.
+--Magnetschwebebahn 1600
+-- 'Magnetschwebebahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem rÃ€derlose Schienenfahrzeuge mit Hilfe von Magnetfeldern an oder auf einer Fahrschiene schwebend entlanggefÃŒhrt werden.
+
+
+-- 14 ax_Flugverkehr
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (14, 'Verkehr','ax_flugverkehr','Flugverkehr', 'Art', 'Bezeichnung');
+
+-- Classes (Funktion):
+--INSERT INTO nutzung_class (nutz_id, class, label) VALUES (14, 5501,'GebÃ€ude- und FreiflÃ€che zu Verkehrsanlagen, Luftfahrt');
+
+-- Classes (Art):
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (14,    0,''); 
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (14, 5510,'Flughafen', '"Flughafen" ist eine Anlage mit GebÃ€uden, Bauwerken, Start- und Landebahnen sowie sonstigen flugtechnischen Einrichtungen zur Abwicklung des Flugverkehrs.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (14, 5511,'Internationaler Flughafen', '"Internationaler Flughafen" ist ein Flughafen, der in der Luftfahrtkarte 1 : 500000 (ICAO) als solcher ausgewiesen ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (14, 5512,'Regionalflughafen', '"Regionalflughafen" ist ein Flughafen der gemÃ€Ã Raumordnungsgesetz als Regionalflughafen eingestuft ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (14, 5520,'Verkehrslandeplatz', '"Verkehrslandeplatz" ist ein Flugplatz, der in der Luftfahrtkarte 1:500000 (ICAO) als solcher ausgewiesen ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (14, 5530,'Hubschrauberflugplatz', '"Hubschrauberflugplatz" ist ein Flugplatz, der in der Luftfahrtkarte 1:500000 (ICAO) als solcher ausgewiesen ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (14, 5540,'Landeplatz, Sonderlandeplatz', '"Landeplatz, Sonderlandeplatz" ist eine FlÃ€che, die in der Luftfahrtkarte 1:500000 (ICAO) als Landeplatz, Sonderlandeplatz ausgewiesen ist.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (14, 5550,'SegelfluggelÃ€nde', '"SegelfluggelÃ€nde" ist eine FlÃ€che, die in der Luftfahrtkarte 1:500000 (ICAO) als SegelfluggelÃ€nde ausgewiesen ist.');
+
+-- Nutzung:
+
+--Zivil 1000
+-- "Zivil" bedeutet, dass 'Flugverkehr' privaten, Ã¶ffentlichen oder religiÃ¶sen Zwecken dient und nicht militÃ€risch genutzt wird.
+--MilitÃ€risch 2000
+-- "MilitÃ€risch" bedeutet, dass 'Flugverkehr' nur von StreitkrÃ€ften genutzt wird.
+--Teils zivil, teils militÃ€risch 3000
+-- "Teils zivil, teils militÃ€risch" bedeutet dass ''Flugverkehr' sowohl zivil als auch militÃ€risch genutzt wird.
+
+
+
+-- 15 ax_Schiffsverkehr
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass)  -- keine info
+VALUES (15, 'Verkehr','ax_schiffsverkehr','Schiffsverkehr', 'Funktion');
+
+-- Classes (Funktion):
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (15,    0,''); 
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (15, 2341,'GebÃ€ude und FreiflÃ€che zu Verkehrsanlagen, Schifffahrt');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (15, 5610,'Hafenanlage (LandflÃ€che)', '"Hafenanlage (LandflÃ€che)" bezeichnet die FlÃ€che innerhalb von "Hafen", die nicht von Wasser bedeckt ist und die ausschlieÃlich zum Betrieb des Hafens dient.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (15, 5620,'Schleuse (LandflÃ€che)', '"Schleuse (LandflÃ€che)" bezeichnet die FlÃ€che innerhalb von "Schleuse", die nicht von Wasser bedeckt ist und die ausschlieÃlich zum Betrieb der Schleuse dient..');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (15, 5630,'Anlegestelle');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (15, 5640,'FÃ€hranlage');
+
+
+-- ** Objektartengruppe: Vegetation **
+
+-- Die Objektartengruppe mit der Bezeichnung 'Vegetation' und der Kennung '43000' 
+-- umfasst die FlÃ€chen auÃerhalb der Ansiedlungen, die durch land- oder forstwirtschaftliche Nutzung, 
+-- durch natÃŒrlichen Bewuchs oder dessen Fehlen geprÃ€gt werden.
+
+
+-- 16 ax_Landwirtschaft
+-- -------------------------------------
+-- 'Landwirtschaft' ist eine FlÃ€che fÃŒr den Anbau von FeldfrÃŒchten sowie eine FlÃ€che, 
+-- die beweidet und gemÃ€ht werden kann, einschlieÃlich der mit besonderen Pflanzen angebauten FlÃ€che. 
+-- Die Brache, die fÃŒr einen bestimmten Zeitraum (z. B. ein halbes oder ganzes Jahr) landwirtschaftlich unbebaut bleibt, 
+-- ist als 'Landwirtschaft' bzw. 'Ackerland' zu erfassen.
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass)
+VALUES (16, 'Vegetation','ax_landwirtschaft','Landwirtschaft', 'Vegetationsmerkmal');
+
+-- Classes:
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (16,    0,''); 
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (16, 1010,'Ackerland',     '"Ackerland" ist eine FlÃ€che fÃŒr den Anbau von FeldfrÃŒchten (z.B. Getreide, HÃŒlsenfrÃŒchte, HackfrÃŒchte) und BeerenfrÃŒchten (z.B. Erdbeeren). Zum Ackerland gehÃ¶ren auch die Rotationsbrachen, Dauerbrachen sowie FlÃ€chen, die zur Erlangung der Ausgleichszahlungen der EU stillgelegt worden sind.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (16, 1011,'Streuobstacker', '"Streuobstacker" beschreibt den Bewuchs einer AckerflÃ€che mit ObstbÃ€umen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (16, 1012,'Hopfen',         '"Hopfen" ist eine mit speziellen Vorrichtungen ausgestattete AgrarflÃ€che fÃŒr den Anbau von Hopfen.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (16, 1013,'Spargel');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (16, 1020,'GrÃŒnland',       '"GrÃŒnland" ist eine GrasflÃ€che, die gemÃ€ht oder beweidet wird.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (16, 1021,'Streuobstwiese', '"Streuobstwiese" beschreibt den Bewuchs einer GrÃŒnlandflÃ€che mit ObstbÃ€umen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (16, 1030,'Gartenland',     '"Gartenland" ist eine FlÃ€che fÃŒr den Anbau von GemÃŒse, Obst und Blumen sowie fÃŒr die Aufzucht von Kulturpflanzen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (16, 1031,'Baumschule',     '"Baumschule" ist eine FlÃ€che, auf der HolzgewÃ€chse aus Samen, Ablegern oder Stecklingen unter mehrmaligem Umpflanzen (Verschulen) gezogen werden.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (16, 1040,'Weingarten',     '"Weingarten" ist eine mit speziellen Vorrichtungen ausgestattete AgrarflÃ€che auf der WeinstÃ¶cke angepflanzt sind.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (16, 1050,'Obstplantage',   '"Obstplantage" ist eine landwirtschaftliche FlÃ€che, die mit ObstbÃ€umen und ObststrÃ€uchern bepflanzt ist');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (16, 1051,'Obstbaumplantage', '"Obstbaumplantage" ist eine landwirtschaftliche FlÃ€che, die ausschlieÃlich mit ObstbÃ€umen bepflanzt ist.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (16, 1052,'Obststrauchplantage');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (16, 1200,'Brachland',      '"Brachland" ist eine FlÃ€che der Landwirtschaft, die seit lÃ€ngerem nicht mehr zu Produktionszwecken genutzt wird.');
+
+
+-- 17 ax_Wald
+-- -------------------------------------
+-- 'Wald' ist eine FlÃ€che, die mit Forstpflanzen (WaldbÃ€ume und WaldstrÃ€ucher) bestockt ist.
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (17, 'Vegetation','ax_wald','Wald', 'Vegetationsmerkmal', 'Bezeichnung');
+
+-- Classes (Vegetationsmerkmal):
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (17,    0,''); 
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (17, 1100,'Laubholz',              '"Laubholz" beschreibt den Bewuchs einer VegetationsflÃ€che mit LaubbÃ€umen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (17, 1200,'Nadelholz',             '"Nadelholz" beschreibt den Bewuchs einer VegetationsflÃ€che mit NadelbÃ€umen.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (17, 1300,'Laub- und Nadelholz',   '"Laub- und Nadelholz" beschreibt den Bewuchs einer VegetationsflÃ€che mit Laub- und NadelbÃ€umen.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (17, 1310,'Laubwald mit Nadelholz');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (17, 1320,'Nadelwald mit Laubholz');
+
+
+-- 18 ax_Gehoelz
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (18, 'Vegetation','ax_gehoelz','GehÃ¶lz','Funktion', 'Vegetationsmerkmal');
+
+-- Classes (VEG)
+--INSERT INTO nutzung_class (nutz_id, class, label) VALUES (18, 1400,'Latschenkiefer');
+
+-- Classes (Funktion)
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (18,    0,''); 
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (18, 1000,'Windschutz');
+
+
+-- 19 ax_Heide
+-- -------------------------------------
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title)
+VALUES (19, 'Vegetation','ax_heide','Heide');
+
+-- Keine Classes
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (19,    0,'');
+
+
+-- 20 ax_Moor
+-- -------------------------------------
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title)
+VALUES (20, 'Vegetation','ax_moor','Moor');
+
+-- Keine Classes
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (20,    0,'');
+
+
+-- 21 ax_Sumpf
+-- -------------------------------------
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title)
+VALUES (21, 'Vegetation','ax_sumpf','Sumpf');
+
+-- Keine Classes
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (21,    0,'');
+ 
+
+-- 22 ax_UnlandVegetationsloseFlaeche
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (22, 'Vegetation','ax_unlandvegetationsloseflaeche','Unland, vegetationslose FlÃ€che', 'Funktion', 'OberflÃ€chenmaterial');
+
+-- Classes (Funktion):
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (22,    0,'');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (22, 1000,'Vegetationslose FlÃ€che',  '"Vegetationslose FlÃ€che" ist eine FlÃ€che ohne nennenswerten Bewuchs aufgrund besonderer Bodenbeschaffenheit.');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (22, 1100,'GewÃ€sserbegleitflÃ€che',   '"GewÃ€sserbegleitflÃ€che" bezeichnet eine bebaute oder unbebaute FlÃ€che, die einem FlieÃgewÃ€sser zugeordnet wird. Die GewÃ€sserbegleitflÃ€che ist nicht Bestandteil der GewÃ€sserflÃ€che.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (22, 1110,'Bebaute GewÃ€sserbegleitflÃ€che');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (22, 1120,'Unbebaute GewÃ€sserbegleitflÃ€che');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (22, 1200,'SukzessionsflÃ€che',       '"SukzessionsflÃ€che" ist eine FlÃ€che, die dauerhaft aus der landwirtschaftlichen oder sonstigen bisherigen Nutzung herausgenommen ist und die in den Urzustand z. B. GehÃ¶lz, Moor, Heide ÃŒbergeht.');
+
+
+-- Info (OberflÃ€chenmaterial)
+--INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (22, 1010,'Fels',             '"Fels" bedeutet, dass die ErdoberflÃ€che aus einer festen Gesteinsmasse besteht.');
+--INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (22, 1020,'Steine, Schotter', '"Steine, Schotter" bedeutet, dass die ErdoberflÃ€che mit zerkleinertem Gestein unterschiedlicher GrÃ¶Ãe bedeckt ist.');
+--INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (22, 1030,'GerÃ¶ll',           '"GerÃ¶ll" bedeutet, dass die ErdoberflÃ€che mit durch flieÃendes Wasser abgerundeten Gesteinen bedeckt ist.');
+--INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (22, 1040,'Sand',             '"Sand" bedeutet, dass die ErdoberflÃ€che mit kleinen, losen GesteinskÃ¶rnern bedeckt ist.');
+--INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (22, 1110,'Schnee',           '"Schnee" bedeutet, dass die ErdoberflÃ€che fÃŒr die grÃ¶Ãte Zeit des Jahres mit Schnee bedeckt ist.');
+--INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (22, 1120,'Eis, Firn',        '"Eis, Firn" bedeutet, dass die ErdoberflÃ€che mit altem, grobkÃ¶rnigem, mehrjÃ€hrigem Schnee im Hochgebirge bedeckt ist, der unter zunehmendem Druck zu Gletschereis wird.');
+
+
+-- ** GewÃ€sser **
+
+-- 24 ax_Fliessgewaesser
+-- -------------------------------------
+-- 'FlieÃgewÃ€sser' ist ein geometrisch begrenztes, oberirdisches, auf dem Festland flieÃendes GewÃ€sser, 
+-- das die Wassermengen sammelt, die als NiederschlÃ€ge auf die ErdoberflÃ€che fallen oder in Quellen austreten, 
+-- und in ein anderes GewÃ€sser, ein Meer oder in einen See transportiert
+--   oder
+-- in einem System von natÃŒrlichen oder kÃŒnstlichen Bodenvertiefungen verlaufendes Wasser, 
+-- das zur Be- und EntwÃ€sserung an- oder abgeleitet wird
+--   oder
+-- ein geometrisch begrenzter, fÃŒr die Schifffahrt angelegter kÃŒnstlicher Wasserlauf, 
+-- der in einem oder in mehreren Abschnitten die jeweils gleiche HÃ¶he des Wasserspiegels besitzt.
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass)
+VALUES (24, 'GewÃ€sser','ax_fliessgewaesser','FlieÃgewÃ€sser', 'Funktion');
+
+-- Classes (Funktion):
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (24,    0,'');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (24, 8200,'Fluss');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (24, 8210,'Altwasser');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (24, 8220,'Altarm');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (24, 8230,'FlussmÃŒndungstrichter', '"FlussmÃŒndungstrichter" ist der Bereich des Flusses im Ãbergang zum Meer. Er beginnt dort, wo die bis dahin etwa parallel verlaufenden Ufer des Flusses sich trichterfÃ¶rmig zur offenen See hin erweitern. Die Abgrenzungen der FlussmÃŒndungstrichter ergeben sich aus dem BundeswasserstraÃengesetz (meerseitig) und den Bekanntmachungen der Wasser- und Schifffahrtsverwaltung sowie hÃ¶chst-richterlicher Rechtsprechung (binnenseitig).');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (24, 8300,'Kanal',                 '"Kanal" ist ein fÃŒr die Schifffahrt angelegter, kÃŒnstlicher Wasserlauf.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (24, 8400,'Graben');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (24, 8410,'Fleet');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (24, 8500,'Bach');
+
+
+-- 25 ax_Hafenbecken
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (25, 'GewÃ€sser','ax_hafenbecken','Hafenbecken', 'Funktion', 'Nutzung');
+
+-- Classes (Funktion):
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (25,    0,'');
+INSERT INTO nutzung_class (nutz_id, class, label) VALUES (25, 8810,'Sportboothafenbecken');
+
+-- Nutzung:
+
+-- Zivil 1000
+-- 'Zivil' bedeutet, dass 'Hafenbecken' privaten oder Ã¶ffentlichen Zwecken dient und nicht militÃ€risch genutzt wird.
+-- MilitÃ€risch 2000
+-- 'MilitÃ€risch' bedeutet, dass 'Hafenbecken' nur von StreitkrÃ€ften genutzt wird.
+-- Teils zivil, teils militÃ€risch 3000
+-- 'Teils zivil, teils militÃ€risch' bedeutet, dass 'Hafenbecken' sowohl zivil als auch militÃ€risch genutzt wird.
+
+
+-- 26 ax_StehendesGewaesser
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (26, 'GewÃ€sser','ax_stehendesgewaesser','stehendes GewÃ€sser', 'Funktion', 'GewÃ€sserkennziffer');
+
+-- Classes (Funktion):
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (26,    0,'');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (26, 8610,'See');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (26, 8620,'Teich');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (26, 8630,'Stausee');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (26, 8631,'Speicherbecken');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (26, 8640,'Baggersee', '"Baggersee" ist ein kÃŒnstlich geschaffenes GewÃ€sser, aus dem Bodenmaterial gefÃ¶rdert wird.');
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (26, 9999,'Sonstiges');
+
+-- hydrologischesMerkmal
+--  2000   Nicht stÃ€ndig Wasser fÃŒhrend
+--  "Nicht stÃ€ndig Wasser fÃŒhrend" heiÃt, dass ein GewÃ€sser nicht ganzjÃ€hrig Wasser fÃŒhrt.
+
+
+-- 27 ax_meer
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass, fldinfo)
+VALUES (27, 'GewÃ€sser','ax_meer','Meer', 'Funktion', 'Bezeichnung');
+
+-- Classes (Funktion):
+INSERT INTO nutzung_class (nutz_id, class, label)         VALUES (27,    0,'');
+INSERT INTO nutzung_class (nutz_id, class, label, blabla) VALUES (27, 8710,'KÃŒstengewÃ€sser', '"KÃŒstengewÃ€sser" ist die FlÃ€che zwischen der KÃŒstenlinie bei mittlerem Hochwasser oder der seewÃ€rtigen Begrenzung der oberirdischen GewÃ€sser und der seewÃ€rtigen Begrenzung des deutschen Hoheitsgebietes. Dem mittleren Hochwasser ist der mittlere Wasserstand der Ostsee gleichzusetzen.');
+
+--tidemerkmal:
+
+-- Mit Tideeinfluss 1000
+-- "Mit Tideeinfluss" sind periodische Ãnderungen des Wasserspiegels und horizontale Bewegungen des Wassers, hervorgerufen durch die Massenanziehungs- und FliehkrÃ€fte des Systems Sonne, Mond und Erde in Verbindung mit der Erdrotation.
+
+-- END --
Index: branches/0.7/import/zip_ordner.sh
===================================================================
--- branches/0.7/import/zip_ordner.sh	(revision 329)
+++ branches/0.7/import/zip_ordner.sh	(revision 329)
@@ -0,0 +1,30 @@
+#!/bin/sh
+## ------------------------------------------------------------------------------
+## In einem Ordner wird jede NAS-Datei einzeln in ein Zip-Archiv komprimiert.
+## Die ursprüngliche NAS-Datei wird dabei entfernt: Parameter "-m" (move).
+## ------------------------------------------------------------------------------
+## Stand: 
+##  2011-07-25  PostNAS 07, Umbenennung
+##
+  echo "**************************************************"
+  echo "**   NAS-Dateien in einem Ordner zippen         **"
+  echo "**************************************************"
+  ORDNER=$1
+  if [ $ORDNER = '' ]
+  then
+    echo "Parameter 1 'Ordner' fehlt"
+    $ORDNER = '.'
+    exit 1
+  fi
+  echo "*** Ordner = '${ORDNER}'"
+  cd ${ORDNER}
+  echo " "
+  ls
+  for nasdatei in *.xml ; do 
+    echo "  * Datei: " $nasdatei
+    #      Archiv           NAS-datei
+    zip -m ${nasdatei}.zip  ${nasdatei}
+  done
+  ls
+  echo "** E n d e  -  Zippen des Ordners '${ORDNER}'"
+##
Index: branches/0.7/import/pp_definition.sql
===================================================================
--- branches/0.7/import/pp_definition.sql	(revision 329)
+++ branches/0.7/import/pp_definition.sql	(revision 329)
@@ -0,0 +1,422 @@
+
+-- ALKIS PostNAS 0.7
+
+-- Post Processing (pp_) Teil 1: Anlegen der Tabellen und Views
+
+-- Stand 
+
+--  2012-02-13 PostNAS 07, Umbenennung
+--  2012-02-17 Optimierung
+--  2012-02-28 gkz aus View nehmen
+--  2012-04-17 Flurstuecksnummern auf Standardposition
+--  2012-04-23 ax_flurstueck hat keinen Unique Index mahr auf gml_id,
+--             ForeignKey vorÃŒbergehend ausgeschaltet.
+--  2012-04-25 simple_geom fuer pp_flur
+--  2013-04-18 Kommentare.
+--  2012-10-24 Neue Tabelle fÃŒr die PrÃ€sentation von StraÃennamen und -Klassifikationen
+--  2014-08-25 StraÃennamen aufteilen in _P und L
+--  2014-09-08 Korrektur
+
+-- ============================
+-- Tabellen des Post-Processing
+-- ============================
+
+-- Einige Informationen liegen nach der NAS-Konvertierung in der Datenbank "verstreut" vor.
+-- Die dynamische Aufbereitung ÃŒber Views und Functions wÃŒrde zu lange dauern und somit lange 
+-- Antwortzeiten in WMS, WFS, Buchauskunft oder Navigation (Suche) verursachen.
+
+-- Im Rahmen eines "Post-Processing" werden diese Daten nach jeder Konvertierung (NBA-Aktialisierung) 
+-- einmal komplett aufbereitet. Die benÃ¶tigten Informationen stehen somit den Anwendungen mundgerecht zur VerfÃŒgung.
+
+-- Die per PostProcessing gefÃŒllten Tabellen bekommen den Prefix "pp_".
+
+-- ToDo:
+
+-- Muss *multi*-Polygon sein? Gibt es "zerrissene" Fluren/Gemarkungen?
+-- Der View "gemeinde_gemarkung" kann entfallen, wenn Navigation umgestellt wurde.
+
+SET client_encoding = 'UTF-8';
+
+-- Alles auf Anfang!
+
+-- DROP VIEW gemeinde_person_typ1;
+-- DROP VIEW gemeinde_person_typ2;
+-- DROP VIEW gemeinde_gemarkung;
+-- DROP TABLE pp_gemeinde;
+-- DROP TABLE pp_gemarkung;
+-- DROP TABLE pp_flur;
+
+
+-- Tabelle fuer Gemeinden
+-- ========================
+
+  CREATE TABLE pp_gemeinde (
+    gid			serial,
+    land		integer NOT NULL,
+    regierungsbezirk	integer,
+    kreis		integer,
+    gemeinde		integer NOT NULL,
+    gemeindename	character varying(80),
+ -- gkz			character varying(03),	-- wird (noch) nicht benutzt
+    anz_gemarkg		integer,		-- Anzahl Gemarkungen
+    CONSTRAINT pp_gemeinde_pk PRIMARY KEY (land, gemeinde)
+  );
+
+CREATE UNIQUE INDEX pp_gemeinde_gid_ix ON pp_gemeinde (gid);
+
+-- Gesamtflaeche
+SELECT AddGeometryColumn('pp_gemeinde','the_geom','25832','MULTIPOLYGON',2);
+CREATE INDEX pp_gemeinde_gidx ON pp_gemeinde USING gist(the_geom);
+
+-- vereinfachte Gesamtflaeche
+SELECT AddGeometryColumn('pp_gemeinde','simple_geom','25832','MULTIPOLYGON',2);
+CREATE INDEX pp_gemeinde_sgidx ON pp_gemeinde USING gist(simple_geom);
+
+
+  COMMENT ON TABLE  pp_gemeinde                IS 'Post-Processing: Gemeinde';
+  COMMENT ON COLUMN pp_gemeinde.gemeinde       IS 'Gemeindenummer';
+--COMMENT ON COLUMN pp_gemeinde.gkz            IS 'Gemeindekennziffer fÃŒr Mandant';
+  COMMENT ON COLUMN pp_gemeinde.the_geom       IS 'prÃ€zise Geometrie aus Summe aller Gemarkungen';
+  COMMENT ON COLUMN pp_gemeinde.simple_geom    IS 'vereinfachte Geometrie fÃŒr die Suche und die Anzeige von Ãbersichten in kleinen MaÃstÃ€ben.';
+
+
+-- Tabelle fuer Gemarkungen
+-- ========================
+
+-- FÃŒr die Regelung der Zugriffsberechtigung einer Gemeindeverwaltung auf die 
+-- FlurstÃŒcke in ihrem Gebiet braucht man die Information, in welcher Gemeinde eine Gemarkung liegt.
+-- 'ax_gemeinde' und 'ax_gemarkung' haben aber im ALKIS keinerlei Beziehung zueinander - kaum zu glauben!
+-- Nur ÃŒber die Auswertung der FlurstÃŒcke kann man die Zuordnung ermitteln.
+-- Da nicht stÃ€ndig mit 'SELECT DISTINCT' sÃ€mtliche FlurstÃŒcke durchsucht werden kÃ¶nnen, 
+-- muss diese Information als (redundante) Tabelle nach dem Laden zwischengespeichert werden. 
+
+  CREATE TABLE pp_gemarkung (
+    gid			serial,
+    land		integer NOT NULL,
+    regierungsbezirk	integer,
+    kreis		integer,
+    gemeinde		integer NOT NULL,	-- fast ein Foreign-Key Constraint
+    gemarkung		integer NOT NULL,
+    gemarkungsname	character varying(80),
+    anz_flur		integer,		-- Anzahl Fluren
+    CONSTRAINT pp_gemarkung_pk PRIMARY KEY (land, gemarkung)
+  );
+
+CREATE UNIQUE INDEX pp_gemarkung_gid_ix ON pp_gemarkung (gid);
+
+-- GesamtflÃ€che
+SELECT AddGeometryColumn('pp_gemarkung','the_geom','25832','MULTIPOLYGON',2);
+CREATE INDEX pp_gemarkung_gidx ON pp_gemarkung USING gist(the_geom);
+
+-- vereinfachte GesamtflÃ€che
+SELECT AddGeometryColumn('pp_gemarkung','simple_geom','25832','MULTIPOLYGON',2);
+CREATE INDEX pp_gemarkung_sgidx ON pp_gemarkung USING gist(simple_geom);
+
+
+COMMENT ON TABLE  pp_gemarkung               IS 'Post-Processing: Gemarkung. u.a. liegt in welcher Gemeinde';
+COMMENT ON COLUMN pp_gemarkung.gemeinde      IS 'Gemeindenummer';
+COMMENT ON COLUMN pp_gemarkung.gemarkung     IS 'Gemarkungsnummer';
+COMMENT ON COLUMN pp_gemarkung.the_geom      IS 'prÃ€zise Geometrie aus Summe aller Fluren';
+COMMENT ON COLUMN pp_gemarkung.simple_geom   IS 'vereinfachte Geometrie fÃŒr die Suche und die Anzeige von Ãbersichten in kleinen MaÃstÃ€ben.';
+
+
+-- Tabelle fuer Fluren
+-- ===================
+
+  CREATE TABLE pp_flur (
+    gid			serial,
+    land		integer NOT NULL,
+    regierungsbezirk	integer,
+    kreis		integer,
+    gemarkung		integer NOT NULL,
+    flurnummer		integer NOT NULL,
+    anz_fs		integer,		-- Anzahl FlurstÃŒcke
+    CONSTRAINT pp_flur_pk PRIMARY KEY (land, gemarkung, flurnummer)
+  );
+
+-- ALTER TABLE pp_flur ADD COLUMN gid serial;
+CREATE UNIQUE INDEX pp_flur_gid_ix ON pp_flur (gid);
+
+-- GesamtflÃ€che
+SELECT AddGeometryColumn('pp_flur','the_geom','25832','MULTIPOLYGON',2);
+CREATE INDEX pp_flur_gidx ON pp_flur USING gist(the_geom);
+
+-- vereinfachte Gesamtflaeche
+SELECT AddGeometryColumn('pp_flur','simple_geom','25832','MULTIPOLYGON',2);
+CREATE INDEX pp_flur_sgidx ON pp_flur USING gist(simple_geom);
+
+
+COMMENT ON TABLE  pp_flur                IS 'Post-Processing: Flur';
+COMMENT ON COLUMN pp_flur.gemarkung      IS 'Gemarkungsnummer';
+COMMENT ON COLUMN pp_flur.the_geom       IS 'Geometrie aus Summe aller FlurstÃŒcke';
+COMMENT ON COLUMN pp_flur.simple_geom    IS 'vereinfachte Geometrie fÃŒr die Suche und die Anzeige von Ãbersichten in kleinen MaÃstÃ€ben.';
+
+
+-- =======================================================
+-- Tabelle fuer die Zuordnung vom EigentÃŒmern zu Gemeinden
+-- =======================================================
+
+-- Die Feststellung, ob eine Person (Mit-) EigentÃŒmer von mindestens einem
+-- FlurstÃŒck in einer Gemeinde ist, geht ÃŒber viele Relationen.
+-- Dabei kann es mehrere Varianten geben.
+-- Dies sollte nach dem Laden ermittelt und gespeichert werden, damit dies in
+-- der Navigation auf einfache Art verwendet werden kann. 
+
+
+-- Prefix "pp_" verwenden  ?
+
+--DROP TABLE gemeinde_person;
+
+  CREATE TABLE gemeinde_person (
+    land 		integer,
+    regierungsbezirk	integer,
+    kreis		integer,
+    gemeinde		integer,
+    person		character varying(16),
+    buchtyp		integer,
+    CONSTRAINT gemeinde_person_pk PRIMARY KEY (gemeinde, person)
+  );
+
+COMMENT ON TABLE  gemeinde_person            IS 'Person ist EigentÃŒmer von mindestens einem FlurstÃŒck in der Gemeinde';
+COMMENT ON COLUMN gemeinde_person.gemeinde   IS 'Gemeindenummer';
+COMMENT ON COLUMN gemeinde_person.buchtyp    IS 'Typ der Buchung 1=direkt, 2=Recht einer Buchungsstele an andere Buchungsstelle';
+COMMENT ON COLUMN gemeinde_person.person     IS 'gml_id von Person';
+
+-- Index zum Filtern in der Buchauskunft
+CREATE INDEX person_gemeinde  ON gemeinde_person (person, gemeinde);
+
+
+-- Flurstuecksnummern-Position
+-- ===========================
+-- Die Tabelle "pp_flurstueck_nr" ersetzt den View "s_flurstueck_nr" fÃŒr WMS-Layer "ag_t_flurstueck".
+
+--DROP TABLE pp_flurstueck_nr;
+  CREATE TABLE pp_flurstueck_nr (
+    gid		serial,
+    fsgml	character(16),
+    fsnum	character varying(10),  -- zzzzz/nnnn
+    CONSTRAINT pp_flurstueck_nr_pk  PRIMARY KEY (gid)  --,
+-- Foreign Key
+-- ALT:
+--    CONSTRAINT pp_flurstueck_nr_gml FOREIGN KEY (fsgml)
+--      REFERENCES ax_flurstueck (gml_id) MATCH SIMPLE
+--      ON UPDATE CASCADE ON DELETE CASCADE
+-- Durch Ãnderung Patch #5444 am 2012-04-23 hat 'ax_flurstueck' keinen Unique-Index mehr auf gml_id
+-- Ersatzweise einen ForeignKey ÃŒber 2 Felder?
+  );
+
+SELECT AddGeometryColumn('pp_flurstueck_nr','the_geom','25832','POINT',2);
+
+-- Geometrischer Index
+CREATE INDEX pp_flurstueck_nr_gidx ON pp_flurstueck_nr USING gist(the_geom);
+
+-- Foreig-Key Index
+CREATE INDEX fki_pp_flurstueck_nr_gml ON pp_flurstueck_nr(fsgml);
+
+COMMENT ON TABLE  pp_flurstueck_nr           IS 'Post-Processing: Position der FlurstÃŒcksnummer in der Karte';
+COMMENT ON COLUMN pp_flurstueck_nr.fsgml     IS 'gml_id des zugehÃ¶rigen FlurstÃŒcks-Objektes';
+COMMENT ON COLUMN pp_flurstueck_nr.fsnum     IS 'Label, Darzustellende FS-Nummer als Bruch';
+COMMENT ON COLUMN pp_flurstueck_nr.the_geom  IS 'Position der FlurstÃŒcksnummer in der Karte';
+
+
+-- =====
+-- VIEWs 
+-- =====
+
+-- Ein View, der ÃŒbergangsweise die ehemalige Tabelle mit diesem Namen ersetzt.
+-- Wird in der Navigation verwendet, bis alle Datenbanken auf die Struktur 0.7 umgestellt 
+-- sind *UND* die Navigation an die neuen Tabellen angepasst ist.
+
+CREATE VIEW gemeinde_gemarkung
+AS
+  SELECT g.land, g.regierungsbezirk, g.kreis, g.gemeinde, k.gemarkung, g.gemeindename, k.gemarkungsname
+  FROM pp_gemarkung k
+  JOIN pp_gemeinde  g 
+    ON k.land = g.land 
+   AND k.gemeinde = g.gemeinde;
+
+COMMENT ON VIEW gemeinde_gemarkung 
+  IS 'Die Sicht "gemeinde_gemarkung" enthaelt nur gefÃŒllte Gemarkungen (mit FS) aber Gemeinde mehrfach. Diese Sicht wird derzeit noch in der Navigation benutzt (alkisnav_fls.php, _grd.php, _eig.php). Definiert in pp_definition.sql. Soll kÃŒnftig entfallen.';
+
+
+-- VIEWs  fuer die Zuordnung vom EigentÃŒmern zu Gemeinden
+-- ------------------------------------------------------
+
+-- "Normale" Buchungen
+
+CREATE VIEW gemeinde_person_typ1
+AS
+  SELECT DISTINCT
+    p.gml_id          AS person, 
+    g.land, g.regierungsbezirk, g.kreis, g.gemeinde
+
+  FROM ax_person               p
+
+-- Person < benennt < Namensnummer
+  JOIN alkis_beziehungen      bpn  ON bpn.beziehung_zu   = p.gml_id  -- Bez. Person - Nummer
+  JOIN ax_namensnummer         n   ON bpn.beziehung_von  = n.gml_id
+
+-- Namensnummer > istBestandteilVon > Blatt
+  JOIN alkis_beziehungen      bnb  ON bnb.beziehung_von  = n.gml_id  -- Bez. Nummer - Blatt
+  JOIN ax_buchungsblatt        b   ON bnb.beziehung_zu   = b.gml_id
+
+-- Blatt < istBestandteilVon < buchungsStelle
+  JOIN alkis_beziehungen      bbg  ON bbg.beziehung_zu   = b.gml_id  -- Bez. Blatt  - Stelle
+  JOIN ax_buchungsstelle       s   ON bbg.beziehung_von  = s.gml_id 
+
+-- buchungsStelle < istGebucht < flurstÃŒck
+  JOIN alkis_beziehungen      bsf  ON bsf.beziehung_zu   = s.gml_id  -- Bez. Stelle - FlurstÃŒck
+  JOIN ax_flurstueck           f   ON bsf.beziehung_von  = f.gml_id 
+
+  JOIN ax_gemarkung            k   ON f.land             = k.land 
+                                  AND f.gemarkungsnummer = k.gemarkungsnummer 
+  JOIN gemeinde_gemarkung      g   ON k.gemarkungsnummer = g.gemarkung
+
+  WHERE bpn.beziehungsart = 'benennt' 
+    AND bnb.beziehungsart = 'istBestandteilVon'
+    AND bbg.beziehungsart = 'istBestandteilVon'
+    AND bsf.beziehungsart = 'istGebucht';
+
+COMMENT ON VIEW gemeinde_person_typ1 IS 'Personen die EigentÃŒmer vom FlurstÃŒcken in einer Gemeinde sind. Typ1 = nomale Buchungen mit direkter Beziehung.';
+
+
+-- "Komplexe" Buchungen mit Rechten von Buchungen an Buchungen
+
+CREATE VIEW gemeinde_person_typ2
+AS
+  SELECT DISTINCT
+    p.gml_id          AS person, 
+    g.land, g.regierungsbezirk, g.kreis, g.gemeinde
+  FROM ax_person               p
+
+-- Person < benennt < Namensnummer
+  JOIN alkis_beziehungen      bpn  ON bpn.beziehung_zu   = p.gml_id  -- Bez. Person - Nummer
+  JOIN ax_namensnummer         n   ON bpn.beziehung_von  = n.gml_id
+
+-- Namensnummer > istBestandteilVon > Blatt
+  JOIN alkis_beziehungen      bnb  ON bnb.beziehung_von  = n.gml_id  -- Bez. Nummer - Blatt
+  JOIN ax_buchungsblatt        b   ON bnb.beziehung_zu   = b.gml_id
+
+-- Blatt < istBestandteilVon < buchungsStelle1
+  JOIN alkis_beziehungen      bbg  ON bbg.beziehung_zu   = b.gml_id  -- Bez. Blatt  - Stelle
+  JOIN ax_buchungsstelle       s1  ON bbg.beziehung_von  = s1.gml_id 
+
+-- buchungsStelle2 < an < buchungsStelle1
+  JOIN alkis_beziehungen      bss  ON bss.beziehung_von  = s1.gml_id  -- Bez. Stelle  - Stelle
+  JOIN ax_buchungsstelle       s2  ON bss.beziehung_zu   = s2.gml_id 
+
+-- buchungsStelle2 < istGebucht < flurstÃŒck
+  JOIN alkis_beziehungen      bsf  ON bsf.beziehung_zu   = s2.gml_id  -- Bez. Stelle - FlurstÃŒck
+  JOIN ax_flurstueck           f   ON bsf.beziehung_von  = f.gml_id 
+
+  JOIN ax_gemarkung            k   ON f.land             = k.land 
+                                  AND f.gemarkungsnummer = k.gemarkungsnummer 
+  JOIN gemeinde_gemarkung      g   ON k.gemarkungsnummer = g.gemarkung
+
+  WHERE bpn.beziehungsart = 'benennt' 
+    AND bnb.beziehungsart = 'istBestandteilVon'
+    AND bbg.beziehungsart = 'istBestandteilVon'
+    AND bss.beziehungsart = 'an'
+    AND bsf.beziehungsart = 'istGebucht'
+ -- LIMIT 100  -- Test-Option
+;
+
+COMMENT ON VIEW gemeinde_person_typ2 IS 'Personen die EigentÃŒmer vom FlurstÃŒcken in einer Gemeinde sind. Typ2 = Buchungen mit Rechten einer Buchungssstelle an einer anderen.';
+
+
+-- Statistik ÃŒber die Buchungs-Typen je Gemeinde
+CREATE VIEW gemeinde_person_statistik
+AS
+  SELECT p.land, p.regierungsbezirk, p.kreis, p.gemeinde, g.gemeindename, p.buchtyp, count(p.person) as personen
+  FROM   gemeinde_person    p
+  JOIN   gemeinde_gemarkung g
+    ON   p.land     = g.land 
+    AND  p.regierungsbezirk = g.regierungsbezirk 
+    AND  p.kreis    = g.kreis 
+    AND  p.gemeinde = g.gemeinde
+  GROUP BY p.land, p.regierungsbezirk, p.kreis, p.gemeinde, g.gemeindename, p.buchtyp
+  ORDER BY p.land, p.regierungsbezirk, p.kreis, p.gemeinde, p.buchtyp;
+
+COMMENT ON VIEW gemeinde_person_statistik IS 'ZÃ€hlen der Personen je Gemeinde und Buchungstyp';
+
+
+-- Views zur Analyse der vereinfachten Geometrie
+-- Finden des richtigen Genauigkeits-Wertes fÃŒr die Vereinfachung der Geometrie
+
+-- z.B. Gemeinden:  10 Meter
+--      Gemarkungen: 4 Meter
+
+CREATE VIEW pp_gemeinde_analyse AS
+  SELECT land, gemeinde, gemeindename,
+         st_npoints(the_geom)    AS umring_alle_punkte,
+         st_npoints(simple_geom) AS umring_einfache_punkte
+  FROM pp_gemeinde;
+
+
+CREATE VIEW pp_gemarkung_analyse AS
+  SELECT land, gemeinde, gemarkung, gemarkungsname,
+         st_npoints(the_geom)    AS umring_alle_punkte,
+         st_npoints(simple_geom) AS umring_einfache_punkte
+  FROM pp_gemarkung;
+
+
+-- Variante fÃŒr Punkt-Geometrie
+-- Tabelle "pp_strassenname_p" speichert den VIEW "ap_pto_stra".
+CREATE TABLE pp_strassenname_p 
+(   gid                    serial NOT NULL,
+    gml_id                 character(16),
+ -- advstandardmodell      character varying[],
+    schriftinhalt          character varying,      -- Label: anzuzeigender Text
+    hor                    character varying,
+    ver                    character varying,
+ -- signaturnummer         character varying,
+ -- darstellungsprioritaet integer,
+    art                    character varying,
+    winkel                 double precision,
+    CONSTRAINT pp_snamp_pk  PRIMARY KEY (gid)
+) WITH (OIDS=FALSE);
+
+-- :alkis_epsg = 25832
+SELECT AddGeometryColumn('pp_strassenname_p','the_geom',25832,'POINT',2);
+CREATE INDEX pp_snamp_gidx ON pp_strassenname_p USING gist(the_geom); 
+
+  COMMENT ON TABLE  pp_strassenname_p                IS 'Post-Processing: Label der StraÃennamen in der Karte, Punktgeometrie. Auszug aus ap_pto.';
+
+  COMMENT ON COLUMN pp_strassenname_p.gid            IS 'EditierschlÃŒssel der Tabelle';
+--COMMENT ON COLUMN pp_strassenname_p.gml_id         IS 'ObjektschlÃŒssel des PrÃ€sentationsobjektes aus ap_pto. Zur Verbindung mit Katalog.';
+  COMMENT ON COLUMN pp_strassenname_p.gml_id         IS 'ObjektschlÃŒssel des PrÃ€sentationsobjektes aus "ax_lagebezeichnungohnehausnummer". Zur Verbindung mit Katalog beim Nachladen leerer Felder.';
+  COMMENT ON COLUMN pp_strassenname_p.schriftinhalt  IS 'Label, darzustellender Name der StraÃe oder Klassifikation';
+  COMMENT ON COLUMN pp_strassenname_p.hor            IS 'Horizontale Ausrichtung des Textes zur Punkt-Koordinate: linksbÃŒndig, zentrisch, ...';
+  COMMENT ON COLUMN pp_strassenname_p.ver            IS 'Vertikale   Ausrichtung des Textes zur Punkt-Koordinate: Basis, ..';
+  COMMENT ON COLUMN pp_strassenname_p.art            IS 'Klasse der StraÃe: StraÃe, Weg, .. , BezKlassifizierungStrasse';
+  COMMENT ON COLUMN pp_strassenname_p.winkel         IS 'Drehung des Textes';
+  COMMENT ON COLUMN pp_strassenname_p.the_geom       IS 'Position (Punkt) der Labels in der Karte';
+
+-- Variante fÃŒr Linien-Geometrie
+-- Tabelle "pp_strassenname_l" speichert den VIEW "ap_lto_stra".
+CREATE TABLE pp_strassenname_l 
+(   gid                    serial NOT NULL,
+    gml_id                 character(16),
+    schriftinhalt          character varying,      -- Label: anzuzeigender Text
+    hor                    character varying,
+    ver                    character varying,
+    art                    character varying,
+ -- winkel                 double precision,       -- bei Linien-Variante nicht benÃ¶tigt
+    CONSTRAINT pp_snaml_pk  PRIMARY KEY (gid)
+) WITH (OIDS=FALSE);
+
+-- :alkis_epsg = 25832
+SELECT AddGeometryColumn('pp_strassenname_l','the_geom',25832,'LINESTRING',2); -- Hier liegt der Unterschied
+CREATE INDEX pp_snaml_gidx ON pp_strassenname_l USING gist(the_geom); 
+
+  COMMENT ON TABLE  pp_strassenname_l                IS 'Post-Processing: Label der StraÃennamen in der Karte, Liniengeometrie. Auszug aus ap_lto.';
+
+  COMMENT ON COLUMN pp_strassenname_l.gid            IS 'EditierschlÃŒssel der Tabelle';
+  COMMENT ON COLUMN pp_strassenname_l.gml_id         IS 'ObjektschlÃŒssel des PrÃ€sentationsobjektes aus "ax_lagebezeichnungohnehausnummer". Zur Verbindung mit Katalog beim Nachladen leerer Felder.';
+  COMMENT ON COLUMN pp_strassenname_l.schriftinhalt  IS 'Label, darzustellender Name der StraÃe oder Klassifikation';
+  COMMENT ON COLUMN pp_strassenname_l.hor            IS 'Horizontale Ausrichtung des Textes: linksbÃŒndig, zentrisch, ...';
+  COMMENT ON COLUMN pp_strassenname_l.ver            IS 'Vertikale   Ausrichtung des Textes: Basis, ..';
+  COMMENT ON COLUMN pp_strassenname_l.art            IS 'Klasse der StraÃe: StraÃe, Weg, .. , BezKlassifizierungStrasse';
+  COMMENT ON COLUMN pp_strassenname_l.the_geom       IS 'Position (Punkt) der Labels in der Karte';
+
+-- ENDE --
Index: branches/0.7/import/konv_batch.sh
===================================================================
--- branches/0.7/import/konv_batch.sh	(revision 329)
+++ branches/0.7/import/konv_batch.sh	(revision 329)
@@ -0,0 +1,210 @@
+#!/bin/bash
+## -------------------------------------------------
+## Konvertierung von ALKIS NAS-Format nach PostGIS -
+## NAS-Daten in einem Ordner konvertieren          -
+## Batch-Teil, Aufruf mit geprueften Parametern    -
+## -------------------------------------------------
+##
+## Ordner-Struktur:
+##   /mandant/
+##           /0001/*.xml.zip
+##           /0002/*.xml.zip
+##          usw.
+##           /temp/
+##   Auf der gleichen Ebene wie die Datenordner muss ein Ordner /temp/ existieren.
+##   Dort werden die NAS-Daten temporaer ausgepackt.
+##   Relativ zum mitgegebenen Parameter ist das: '../temp/'
+##   Parallel laufende Konvertierungen zum gleichen Mandanten 
+##   wuerden hier durcheinander geraten. Vermeiden!
+##
+## Stand: 
+##   2012-02-10 Umbennung nach 0.7
+##   2012-02-17 Optimierung
+##   2012-02-28 Neuer Parameter 4 um Post-Prozessing zu unterdruecken
+##   2012-04-25 Durch GDAL Patch #5444 werden die Loeschungen als Trigger auf Tabelle 'delete' verarbeitet
+##   2012-05-18 Umzug neue GDI, GDAL-Trunk unter Pfad 
+##   2012-06-04 SQL-Skripte in deren Verzeichnis ausfuehren (Voraussetzung fuer \i Includes)
+##   2012-10-30 Umgebungsvariable setzen, delete-Tabelle am Ende fuer Analyse gefuellt lassen.
+##              Test als 0.7a mit gepatchter gdal-Version (noch 2.0dev)
+##   2013-10-16 F.J. krz: Neues Script "pp_praesentation_action.sql" für Reparatur der 
+##              Präsentationsobjekte Straßenname im Post-Processing
+##   2013-10-24 F.J. krz: Zwischenlösung "praesentation_action.sql" wieder deaktiviert.
+##   2014-01-31 F.J. krz: Import Eintrag erzeugen (nach Vorschlag Marvin Brandt, Unna)
+##   2014-02-13 A.Emde WhereGroup: Einführung DBUSER, damit im Skript der Datenbankbenutzer angegeben werden kann
+##   2014-05-12 F.J. krz: Unterschiedliche Pfade in Test (TRUNK) und Produktion (Rel. 1.11.0)
+##   2014-06-18 F.J. DB-User nicht "postgres" (in $con). 
+##                   Konverter ind Nacharbeiten sonst mit unterschiedlichem User.
+##                   Abgleich Test/Prod-Version
+##                   Entfernen der historischen Objekte nach Konvertierung.
+##   2014-09-03 F.J. Auch für 0.7-Datenstruktur die aktuelle Programmversion, PG_USE_COPY
+
+## Koordinaten: EPSG:25832  UTM, Zone 32
+##              -a_srs EPSG:25832   - bleibt im UTM-System (korrigierte Werte)
+
+POSTNAS_HOME=$(dirname $0)
+ PATH=/opt/gdal-2.0/bin:$PATH   # TRUNK-Version (immer letzter Stand der Entwicklung)
+#PATH=/opt/gdal-1.11/bin:$PATH  # Release GDAL 1.11.0 vom April 2014
+EPSG=25832
+DBUSER=b600352
+
+if [ $DBUSER == "" ]
+then
+  echo "kein DBUSER gesetzt"
+else
+  PGUSER=" -U ${DBUSER} "
+fi
+
+if [ $DBUSER == "" ]
+then
+  echo "kein DBUSER gesetzt"
+else
+  OGRPGUSER=" user=${DBUSER}"
+fi
+ 
+echo " 
+**********************************************
+**   K o n v e r t i e r u n g     PostNAS  **
+********************************************** 
+ "
+## Parameter:
+ORDNER=$1
+DBNAME=$2
+UPD=$3
+PP=$4
+if [ $ORDNER == "" ]
+then
+	echo "Parameter 1 'Ordner' ist leer"
+	exit 1
+fi
+if [ $DBNAME == "" ]
+then
+	echo "Parameter 2 'Datenbank' ist leer"
+	exit 2
+fi
+if [ $UPD == "a" ]
+then
+	verarb="NBA-Aktualisierung"
+	update=" -update "
+else
+	if [ $UPD == "e" ]
+	then
+		verarb="Erstladen"
+		update=""
+	else
+		echo "Parameter 3 'Aktualisierung' ist weder e noch a"
+		exit 3
+	fi
+fi
+if [ $PP == "nopp" ]
+then
+	echo "KEIN Post-Processing nach dieser Konvertierung."
+else
+	if [ $PP == "pp" ]
+	then
+		echo "normales Post-Processing."
+	else
+		echo "FEHLER: Parameter 4 'Post-Proscessing' ist weder 'nopp' noch 'pp'"
+		exit 4
+	fi
+fi
+
+# Fehlerprotokoll:
+errprot=${POSTNAS_HOME}'/log/postnas_err_'$DBNAME'.prot'
+
+# DB-Connection
+con="${PGUSER} -p 5432 -d ${DBNAME} "
+
+echo "Datenbank-Name . . = ${DBNAME}"
+echo "DBUSER ${DBUSER}"
+echo "PGUSER ${PGUSER}"
+echo "OGRPGUSER ${OGRPGUSER}"
+echo "Ordner NAS-Daten . = ${ORDNER}"
+echo "Verarbeitungs-Modus= ${verarb}"
+echo "POSTNAS_HOME ${POSTNAS_HOME}"
+
+# noch alte delete-Eintraege in DB?
+echo "Leeren der delete-Tabelle"
+echo 'TRUNCATE table "delete";' | psql $con 
+
+# Import Eintrag erzeugen
+#
+# Die dadurch erzeugte Import-ID dient zur Steuerung des Löschens alter Relationen im Trigger. 
+# Wird die Datenbank MIT Historie geladen, muss die folgende Zeile auskommentiert werden.
+echo "INSERT INTO import (datum,verzeichnis,importart) VALUES ('"$(date '+%Y-%m-%d %H:%M:%S')"','"${ORDNER}"','"${verarb}"');" | psql $con
+
+# Ordner abarbeiten
+
+  cd ${ORDNER}
+  rm ../temp/*.gfs
+  echo "Dateien in " ${ORDNER} " (ls) :"
+  ls
+  for zipfile in *.zip ; do 
+    echo " "
+    rm ../temp/*.xml
+    echo "*********"
+   #echo "* Archiv: " $zipfile
+    unzip ${zipfile}  -d ../temp
+    # Es sollte nur ein XML-File in jedem ZIP-File stecken, aber es geht auch anders.
+    for nasdatei in ../temp/*.xml ; do 
+      # echo "* Datei:  " $nasdatei
+      # Zwischenueberschrift im Fehlerprotokoll
+      echo "* Datei: " $nasdatei >> $errprot
+
+      # Umgebungsvariable setzen:
+        export GML_FIELDTYPES=ALWAYS_STRINGS    # PostNAS behandelt Zahlen wie Strings, PostgreSQL-Treiber macht daraus Zahlen
+        export OGR_SETFIELD_NUMERIC_WARNING=YES # Meldung abgeschnittene Zahlen?
+       #export CPL_DEBUG=ON                     # Meldung, wenn Attribute ueberschrieben werden
+
+      # PostNAS Konverter-Aufruf
+      ogr2ogr -f "PostgreSQL" -append  ${update} -skipfailures  --config PG_USE_COPY YES  \
+         PG:"dbname=${DBNAME} host=localhost port=5432 ${OGRPGUSER}" -a_srs EPSG:$EPSG ${nasdatei} 2>> $errprot
+      nasresult=$?
+      echo "* Resultat: " $nasresult " fuer " ${nasdatei} | tee -a $errprot
+    done # Ende Zipfile
+  done # Ende Ordner
+  rm ../temp/*.xml
+  echo " "
+  echo "** Ende Konvertierung Ordner ${ORDNER}
+  "
+
+# Post-Processing / Nacharbeiten
+
+  if [ $PP == "nopp" ]
+  then
+
+    echo "** KEIN Post-Processing - Dies spaeter nachholen."
+    # Dies kann sinnvoll sein, wenn mehrere kleine Aktualisierungen hintereinander auf einem grossen Bestand laufen
+    # Der Aufwand fuer das Post-Processing ist dann nur bei der LETZTEN Aktualisierung notwendig.
+
+  else
+
+    echo "** Post-Processing (Nacharbeiten zur Konvertierung)"
+
+    echo "** - Optimierte Nutzungsarten neu Laden:"
+    (cd $POSTNAS_HOME; psql $con -f nutzungsart_laden.sql)
+ 
+    echo "** - Fluren / Gemarkungen / Gemeinden neu Laden:"
+    (cd $POSTNAS_HOME; psql $con -f pp_laden.sql)
+
+  fi
+
+  if [ "$(readlink $POSTNAS_HOME/alkis-trigger.sql)" = "alkis-trigger-kill.sql" ]; then
+
+     # Durch Einfuegen in Tabelle 'delete' werden Loeschungen anderer Tabellen getriggert
+     echo "** delete-Tabelle enthaelt:"
+     psql $con -c 'SELECT COUNT(featureid) AS delete_zeilen FROM "delete";'
+
+     echo "   delete-Tabelle loeschen:"
+     psql $con -c 'TRUNCATE table "delete";'
+
+    # Wenn die Datenbank MIT Historie geladen wurde, man diese aber gar nicht braucht,
+    # dann hinterher aufraeumen der historischen Objekte 
+    echo "** geendete Objekte entfernen:"
+
+    # Function:
+    psql $con -c "SELECT alkis_delete_all_endet();"
+
+  fi
+
+  echo "Das Fehler-Protokoll wurde ausgegeben in die Datei $errprot"
+ 
Index: branches/0.7/import/alkis-trigger-kill.sql
===================================================================
--- branches/0.7/import/alkis-trigger-kill.sql	(revision 329)
+++ branches/0.7/import/alkis-trigger-kill.sql	(revision 329)
@@ -0,0 +1,22 @@
+
+-- Trigger fuer Fortfuehrung der PostNAS-Datenbank, wenn KEINE Historie gefuehrt werden soll.
+-- Version 2014-01-31
+
+CREATE TRIGGER delete_feature_trigger
+	BEFORE INSERT ON delete
+	FOR EACH ROW
+	EXECUTE PROCEDURE delete_feature_kill();
+
+-- 2013-07-10: Erweiterung zur Behandlung der Replace-Saetze in den Beziehungen
+-- 2014-01-31: entfaellt, wird ersetzt durch "update_import_id"
+--CREATE TRIGGER update_fields
+--	BEFORE INSERT ON alkis_beziehungen
+--	FOR EACH ROW
+--	EXECUTE PROCEDURE update_fields_beziehungen();
+
+-- 2014-01-31: Den Relationen in "alkis_beziehungen" die laufende Nummer des Konverter-Laufes zuzuordnen.
+-- Dies ermoeglicht bei Aenderungen das saubere Loeschen alter Relationen im Trigger.
+CREATE TRIGGER update_import_id
+	BEFORE INSERT ON alkis_beziehungen
+	FOR EACH ROW
+	EXECUTE PROCEDURE get_import_id();
Index: branches/0.7/import/nutzungsart_definition_ORACLE.sql
===================================================================
--- branches/0.7/import/nutzungsart_definition_ORACLE.sql	(revision 329)
+++ branches/0.7/import/nutzungsart_definition_ORACLE.sql	(revision 329)
@@ -0,0 +1,91 @@
+-- Automatisch mit pg-to-oci_keytables.pl konvertiert.
+---
+---
+define alkis_epsg=&1
+
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='NUTZUNG_META';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE NUTZUNG_META CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE NUTZUNG_META (
+	NUTZ_ID           integer NOT NULL,
+	GRUPPE            varchar2(30),
+	SOURCE_TABLE      varchar2(50),
+	TITLE             varchar2(50),
+	FLDCLASS          varchar2(30),
+	FLDINFO           varchar2(30),
+	CONSTRAINT ALKIS_KEYN_0 PRIMARY KEY (NUTZ_ID)
+);
+COMMENT ON TABLE  NUTZUNG_META                IS 'Gruppierung und Indizierung der zusammen gefassten NUTZUNGsarten in der Tabelle "NUTZUNG".';
+COMMENT ON COLUMN NUTZUNG_META.NUTZ_ID        IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle "NUTZUNG".';
+COMMENT ON COLUMN NUTZUNG_META.SOURCE_TABLE   IS 'Name der importierten Tabelle aus PostNAS.';
+COMMENT ON COLUMN NUTZUNG_META.GRUPPE         IS 'Objektartengruppe, Gruppierung der NUTZUNGsart.';
+COMMENT ON COLUMN NUTZUNG_META.TITLE          IS 'Vorzeigbare Bezeichnung der NUTZUNGsartentabelle.';
+COMMENT ON COLUMN NUTZUNG_META.FLDCLASS       IS 'Name des Feldes aus "source_table", das in Feld "NUTZUNG.CLASS" kopiert wird.';
+COMMENT ON COLUMN NUTZUNG_META.FLDINFO        IS 'Name des Feldes aus "source_table", das in Feld "NUTZUNG.info" kopiert wird.';
+
+DELETE FROM user_sdo_geom_METAdata WHERE upper(table_name)='NUTZUNG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE NUTZUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE NUTZUNG (
+	GML_ID		character(16),
+	BEGINNT		character(20),
+	NUTZ_ID		integer,
+	CLASS		integer,
+	INFO		integer,
+	ZUSTAND		integer,
+	NAME		varchar2(2047),
+	BEZEICHNUNG	varchar2(2047),
+	CONSTRAINT	NUTZUNG_pk      PRIMARY KEY (GML_ID, BEGINNT)
+);
+
+ALTER TABLE NUTZUNG ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('NUTZUNG','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+
+CREATE INDEX ALKIS_KEYN_1  ON NUTZUNG (NUTZ_ID, CLASS);
+CREATE INDEX ALKIS_KEYN_2 ON NUTZUNG(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+
+ALTER TABLE NUTZUNG ADD CONSTRAINT NUTZUNG_META_ID FOREIGN KEY (NUTZ_ID) 
+REFERENCES NUTZUNG_META (NUTZ_ID) ON DELETE CASCADE;
+
+COMMENT ON TABLE  NUTZUNG             IS 'Zusammenfassung von 26 Tabellen des Objektbereiches "TatsÃ€chliche NUTZUNG".';
+COMMENT ON COLUMN NUTZUNG.GML_ID      IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN NUTZUNG.NUTZ_ID     IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle "NUTZUNG".';
+COMMENT ON COLUMN NUTZUNG.CLASS       IS 'Klassifizierung innerhalb der NUTZUNG. Aus verschiedenen Feldern importiert. Siehe "NUTZUNG_META.fldCLASS".';
+COMMENT ON COLUMN NUTZUNG.INFO        IS 'Weitere verschlÃŒsselte Information zur NUTZUNG. Aus verschiedenen Feldern importiert. Siehe "NUTZUNG_META.fldinfo".';
+COMMENT ON COLUMN NUTZUNG.NAME        IS 'NAM Eigenname';
+COMMENT ON COLUMN NUTZUNG.BEZEICHNUNG IS 'weitere unverschlÃŒsselte Information wie Zweitname, Bezeichnung, fachliche Nummerierung usw.';
+COMMENT ON COLUMN NUTZUNG.ZUSTAND     IS 'ZUS "Zustand" beschreibt, ob der Abschnitt ungenutzt ist.';
+
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='NUTZUNG_CLASS';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE NUTZUNG_CLASS CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE NUTZUNG_CLASS (
+	NUTZ_ID       integer NOT NULL,
+	CLASS         integer NOT NULL,
+	LABEL         varchar2(100),
+	BLABLA        varchar2(1000),
+	CONSTRAINT ALKIS_KEYN_3 PRIMARY KEY (NUTZ_ID, CLASS)
+);
+
+ALTER TABLE NUTZUNG_CLASS ADD CONSTRAINT ALKIS_KEYN_4 FOREIGN KEY (NUTZ_ID) 
+REFERENCES NUTZUNG_META (NUTZ_ID) ON DELETE CASCADE;
+
+COMMENT ON TABLE  NUTZUNG_CLASS            IS 'SchlÃŒsseltabelle. Feinere Klassifizierung der zusammen gefassten NUTZUNGsarten.';
+COMMENT ON COLUMN NUTZUNG_CLASS.NUTZ_ID    IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle NUTZUNG.';
+COMMENT ON COLUMN NUTZUNG_CLASS.CLASS      IS 'Key, SchlÃŒsselwert.';
+COMMENT ON COLUMN NUTZUNG_CLASS.LABEL      IS 'EntschlÃŒsselung. Art der NUTZUNG, Dies Feld soll in der Auskunft angezeigt werden.';
+COMMENT ON COLUMN NUTZUNG_CLASS.BLABLA     IS 'Weitere ErlÃ€uterungen und Definitionen dazu.';
+
+
+CREATE OR REPLACE VIEW NUTZUNG_MEHRFACHE_GML AS
+	SELECT	a.GML_ID, 
+		a.NUTZ_ID,
+		a.BEGINNT as BEGINNT1, 
+		b.BEGINNT as BEGINNT2
+	FROM NUTZUNG a 
+	JOIN NUTZUNG b 
+	  ON a.GML_ID = b.GML_ID
+	WHERE a.BEGINNT < b.BEGINNT
+	;
+purge recyclebin;
+QUIT;
Index: branches/0.7/import/nutzungsart_laden.sql
===================================================================
--- branches/0.7/import/nutzungsart_laden.sql	(revision 329)
+++ branches/0.7/import/nutzungsart_laden.sql	(revision 329)
@@ -0,0 +1,311 @@
+--
+-- ALKIS PostNAS 0.7
+--
+-- ======================================================
+-- Zusammenfassung der Tabellen der tatsÃ€chlichen Nutzung
+-- ======================================================
+--
+-- Um bei einer Feature.Info (Welche Nutzung an dieser Stelle?) 
+-- oder einer Verschneidung (Welche Nutzungen auf dem FlurstÃŒck?) 
+-- nicht 26 verschiedene Tabellen abfragen zu mÃŒssen, werden die wichtigsten 
+-- Felder dieser Tabellen zusammen gefasst.
+--
+-- Teil 3: Laden der (redundanten) Tabelle "nutzung", notwendig nach jeder FortfÃŒhrung.
+--
+-- Stand 
+--
+--  2012-02-10 PostNAS 07, Umbenennung
+--  2012-04-24 keine historischen Flaechen (..WHERE endet IS NULL), 
+--             Feld 'beginnt' mitnehmen wegen Doppelbelegung gml_id (noch klÃ€ren)
+--  2013-11-18 - Spalte nutzung.class mit Wert 0 fÃŒllen wenn Quellspalte NULL ist.
+--             - Korrektur der SchlÃŒsseltabelle "nutzung_class":
+--               Fehlende Werte aus konvertierten Daten ergÃ€nzen. Wenn dies in der Praxis wirklich 
+--               vorkommt, sollte das Lade-Script "nutzungsart_metadaten.sql" ergÃ€nzt werden.
+
+
+SET client_encoding = 'UTF-8';
+
+
+-- Tabelle  l e e r e n
+-- --------------------
+DELETE FROM nutzung;
+
+
+-- Tabelle  l a d e n 
+-- --------------------
+
+-- Welche Felder der Ursprungstabellen in die Zielfelder "class" und "info" geladen werden,
+-- wird dokumentiert ÃŒber die Tabelle "nutzung_meta" im Script "alkis_nutzungsart_meta.sql".
+
+
+-- ****  Objektbereich: TatsÃ€chliche Nutzung  ****
+
+-- ** Objektartengruppe: Siedlung **
+
+-- 01 REO: ax_Wohnbauflaeche
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                       info, zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 1,       coalesce(artderbebauung, 0), null ,zustand, name, null,        wkb_geometry 
+  FROM ax_wohnbauflaeche
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 02 REO: ax_IndustrieUndGewerbeflaeche
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info, zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 2,       coalesce(funktion, 0), null, zustand, name, null,        wkb_geometry 
+  FROM ax_industrieundgewerbeflaeche
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 03 REO: ax_Halde
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info, zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 3,       coalesce(lagergut, 0), null, zustand, name, null,        wkb_geometry 
+  FROM ax_halde
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 04 ax_Bergbaubetrieb
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info, zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 4,       coalesce(abbaugut, 0), null, zustand, name, null,        wkb_geometry 
+  FROM ax_bergbaubetrieb
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 05 REO: ax_TagebauGrubeSteinbruch
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info, zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 5,       coalesce(abbaugut, 0), null, zustand, name, null,        wkb_geometry 
+  FROM ax_tagebaugrubesteinbruch
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 06 REO: ax_FlaecheGemischterNutzung
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info, zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 6,       coalesce(funktion, 0), null, zustand, name, null,        wkb_geometry 
+  FROM ax_flaechegemischternutzung
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 07 REO: ax_FlaecheBesondererFunktionalerPraegung
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info,           zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 7,       coalesce(funktion, 0), artderbebauung, zustand, name, null,        wkb_geometry 
+  FROM ax_flaechebesondererfunktionalerpraegung
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 08 REO: ax_SportFreizeitUndErholungsflaeche
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info, zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 8,       coalesce(funktion, 0), null, zustand, name, null,        wkb_geometry 
+  FROM ax_sportfreizeitunderholungsflaeche
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+-- weiteres Feld: name char(20)?
+
+
+-- 09 REO: ax_Friedhof
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info, zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 9,       coalesce(funktion, 0), null, zustand, name, null,        wkb_geometry 
+  FROM ax_friedhof
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- ** Objektartengruppe: Verkehr **
+
+-- 10 ax_Strassenverkehr
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info,   zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 10,      coalesce(funktion, 0), null,   zustand, name, zweitname,   wkb_geometry 
+  FROM ax_strassenverkehr
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 11 ax_Weg
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info,  zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 11,      coalesce(funktion, 0), null,  null,    name, bezeichnung, wkb_geometry 
+  FROM ax_weg
+  WHERE endet IS NULL;
+
+
+-- 12 ax_Platz
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info, zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 12,      coalesce(funktion, 0), null, null,    name, zweitname,   wkb_geometry 
+  FROM ax_platz
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 13 ax_Bahnverkehr
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info,          zustand, name,        bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 13,      coalesce(funktion, 0), bahnkategorie, zustand, bezeichnung, null,        wkb_geometry 
+  FROM ax_bahnverkehr
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+-- bahnkategorie ist alternativ ein geeignetes class-Feld
+
+
+-- 14 ax_Flugverkehr
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info,  zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 14,      coalesce(art, 0),      null,  zustand, name, bezeichnung, wkb_geometry 
+  FROM ax_flugverkehr
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 15 ax_Schiffsverkehr
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info, zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 15,      coalesce(funktion, 0), null, zustand, name, null,        wkb_geometry 
+  FROM ax_schiffsverkehr
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- ** Objektartengruppe: Vegetation **
+
+-- 16 ax_Landwirtschaft
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                           info, zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 16,      coalesce(vegetationsmerkmal, 0), null, null,    name, null,        wkb_geometry 
+  FROM ax_landwirtschaft
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 17 ax_Wald
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                           info, zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 17,      coalesce(vegetationsmerkmal, 0), null, null,    name, bezeichnung, wkb_geometry 
+  FROM ax_wald
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 18 ax_Gehoelz
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info,  zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 18,      coalesce(funktion, 0), vegetationsmerkmal, null,    null, null,        wkb_geometry 
+  FROM ax_gehoelz
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 19 ax_Heide
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,  info, zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 19,      0,      null, null,    name, null,        wkb_geometry 
+  FROM ax_heide
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 20 ax_Moor
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,  info, zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 20,          0,  null, null,    name, null,        wkb_geometry 
+  FROM ax_moor
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 21 ax_Sumpf
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,  info, zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 21,          0,  null, null,    name, null,        wkb_geometry 
+  FROM ax_sumpf
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 22 ax_UnlandVegetationsloseFlaeche
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info,                 zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 22,      coalesce(funktion, 0), oberflaechenmaterial, null,    name, null,        wkb_geometry 
+  FROM ax_unlandvegetationsloseflaeche
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+-- (23 NummerierungslÃŒcke)
+
+-- ** Objektartengruppe: GewÃ€sser **
+
+-- 24 ax_Fliessgewaesser
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info, zustand,  name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 24,      coalesce(funktion, 0), null, zustand,  name, null,        wkb_geometry 
+  FROM ax_fliessgewaesser
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 25 ax_Hafenbecken
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info,    zustand,   name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 25,      coalesce(funktion, 0), nutzung, null,      name, null,        wkb_geometry 
+  FROM ax_hafenbecken
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 26 ax_StehendesGewaesser
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info, zustand, name, bezeichnung,         wkb_geometry)
+  SELECT             gml_id, beginnt, 26,      coalesce(funktion, 0), null, null,    name, gewaesserkennziffer, wkb_geometry 
+  FROM ax_stehendesgewaesser
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- 27 ax_Meer
+-- -------------------------------------
+INSERT INTO nutzung (gml_id, beginnt, nutz_id, class,                 info, zustand, name, bezeichnung, wkb_geometry)
+  SELECT             gml_id, beginnt, 27,      coalesce(funktion, 0), null, null,    name, bezeichnung, wkb_geometry 
+  FROM ax_meer
+  WHERE endet IS NULL
+    AND st_geometrytype(wkb_geometry) = 'ST_Polygon';
+
+
+-- Ergaenzung der SchlÃŒsseltabelle
+-- -------------------------------
+
+-- Fehlende EintrÃ€ge in der manuell gefÃŒllten Tabelle "nutzung_class" (Theorie, aus GeoInfoDok)
+-- durch EintrÃ€ge aus der zusammen gefassten Tabelle "nutzung" ergÃ€nzen (Praxis).
+
+-- Wenn in der Praxis weitere SchlÃŒssel vorkommen, die in der Tabelle "nutzung_class" noch nicht 
+-- enthalten sind, dann kann das bei Equivalenz-Abfragen (INNER JOIN) dazu fÃŒhren, dass die 
+-- Nutzungsarten-Abschnitte mit den dort fehlenden SchlÃŒsseln ausgelassen werden.
+
+INSERT INTO  nutzung_class ( nutz_id, class, label, blabla )
+  SELECT DISTINCT 
+         n.nutz_id,
+         n.class,
+        '(unbekannt)' AS label, 
+        'SchlÃŒssel wurde im PostProcessing aus der Tabelle "nutzung" ergÃ€nzt' AS blabla
+     FROM nutzung n  -- Daten aus Konverter -- die Praxis
+     WHERE NOT EXISTS 
+     ( SELECT c.class
+         FROM nutzung_class c -- vorbereitete Metadaten aus GeoInfoDok  -- die Theorie
+        WHERE n.nutz_id = c.nutz_id 
+          AND n.class = c.class
+      )
+      ORDER BY n.nutz_id, n.class ;
+
+-- END --
Index: branches/0.7/import/pp_praesentation_action.sql
===================================================================
--- branches/0.7/import/pp_praesentation_action.sql	(revision 329)
+++ branches/0.7/import/pp_praesentation_action.sql	(revision 329)
@@ -0,0 +1,63 @@
+
+-- ALKIS PostNAS 0.7
+
+-- Post Processing (pp_) Teil 3: PrÃ€sentationsobjekte ergÃ€nzen / reparieren
+
+-- Dies Script "pp_praesentation_action.sql" dient der Reparatur von fehlenden Texten in PrÃ€sentationsobjekten.
+-- Dies Script muss im Rahmen des Post-Processing nach jeder Konvertierung laufen.
+-- Kommantare und ErlÃ€uterungen siehe in "pp_praesentation_sichten.sql".
+
+-- Stand 
+--  2013-10-16  F.J. krz: StraÃennamen fehlen in den PrÃ€sentationsobjekten, Tabelle "ap_pto"
+--  2013-10-17  F.J. krz: Relation "dientZurDarstellungVon" macht es einfacher
+
+--  2013-10-24  F.J. krz: Diese ZwischenlÃ¶sung  N I C H T   M E H R   V E R W E N D E N !
+--                        Die neue LÃ¶sung lÃ€sst die Tabelle "ap_pto" unberÃŒhrt und sammelt die Daten zur PrÃ€sentation
+--                        der StraÃennemen im der Tabelle "pp_strassenname".
+--                        Die LÃ¶sung ist nun integriert in pp_definition.sql und pp_laden.sql 
+
+
+-- ========================================
+-- StraÃen-Namen und StraÃen-Klassifikation
+-- ========================================
+
+-- N a m e n
+
+--	UPDATE ap_pto  p          -- PrÃ€sentationsobjekte PunktfÃ¶rmig
+--	   SET schriftinhalt =    -- Hier fehlt der Label
+--	   -- Subquery "Gib mir den StraÃennamen":
+--	   ( SELECT k.bezeichnung                       -- StraÃenname ..
+--		   FROM ax_lagebezeichnungkatalogeintrag k  --  .. aus Katalog
+--		   JOIN ax_lagebezeichnungohnehausnummer l  -- verwendet als Lage o.H.
+--			 ON (k.land=l.land AND k.regierungsbezirk=l.regierungsbezirk 
+--				 AND k.kreis=l.kreis AND k.gemeinde=l.gemeinde AND k.lage=l.lage )
+--		   JOIN alkis_beziehungen x ON l.gml_id = x.beziehung_zu  -- Relation zum PrÃ€sentationsobjekt
+--		  WHERE p.gml_id = x.beziehung_von
+--			AND x.beziehungsart = 'dientZurDarstellungVon'
+--		  -- LIMIT 1 -- war in einem Fall notwendig, wo 2mal der gleiche Text zugeordnet war, Ursache?
+--	   )
+--	 WHERE     p.art = 'Strasse' -- Filter
+--	   AND     p.schriftinhalt IS NULL
+--	   AND NOT p.wkb_geometry  IS NULL;
+--
+
+
+-- K l a s s i f i k a t i o n e n   (analog zu Strassen)
+
+--	UPDATE ap_pto  p          -- PrÃ€sentationsobjekte PunktfÃ¶rmig
+--	   SET schriftinhalt =    -- Hier fehlt der Label
+--	   ( SELECT k.bezeichnung                       -- Klassifikation "B nnn", "L nnn", "K nnn"
+--		   FROM ax_lagebezeichnungkatalogeintrag k  -- .. aus Katalog
+--		   JOIN ax_lagebezeichnungohnehausnummer l  -- verwendet als Lage o.H.
+--			 ON (k.land=l.land AND k.regierungsbezirk=l.regierungsbezirk 
+--				 AND k.kreis=l.kreis AND k.gemeinde=l.gemeinde AND k.lage=l.lage )
+--		   JOIN alkis_beziehungen x ON l.gml_id = x.beziehung_zu  -- Relation zum PrÃ€sentationsobjekt
+--		  WHERE p.gml_id = x.beziehung_von
+--			AND x.beziehungsart = 'dientZurDarstellungVon'
+--	   )
+--	 WHERE     p.art = 'BezKlassifizierungStrasse' -- Filter
+--	   AND     p.schriftinhalt IS NULL
+--	   AND NOT p.wkb_geometry  IS NULL;
+--
+
+-- ENDE --
Index: branches/0.7/import/alkis-trigger-hist.sql
===================================================================
--- branches/0.7/import/alkis-trigger-hist.sql	(revision 329)
+++ branches/0.7/import/alkis-trigger-hist.sql	(revision 329)
@@ -0,0 +1,9 @@
+CREATE TRIGGER delete_feature_trigger 
+	BEFORE INSERT ON delete 
+	FOR EACH ROW 
+	EXECUTE PROCEDURE delete_feature_hist();
+
+CREATE TRIGGER insert_beziehung_trigger
+	AFTER INSERT ON alkis_beziehungen
+	FOR EACH ROW
+	EXECUTE PROCEDURE alkis_beziehung_inserted();
Index: branches/0.7/import/grant.sql
===================================================================
--- branches/0.7/import/grant.sql	(revision 329)
+++ branches/0.7/import/grant.sql	(revision 329)
@@ -0,0 +1,379 @@
+-- =====
+-- ALKIS
+-- =====
+
+-- Berechtigungen zu ALKIS fuer Mapserver (WMS)
+
+-- User
+--  "ms6"  = User 'Mapserver, Version 6.x',   aus Mapfile = Karten-Rendering
+--  "mb27" = User 'Mapbender, Version 2.7.x', aus Buchwerk-Navigation, PlugIn des Clients
+
+--  2012-02-17  PostNAS 0.7, pp_Tabellen, ms5 -> ms6
+--  2012-04-25  Tabelle pp_flurstueck_nr
+--  2013-01-15  mehr Schlüsseltabellen rein
+--  2013-03-05  View "s_beschriftung" wird durch "ap_pto_stra" und "ap_pto_rest" ersetzt.
+--              View "s_nummer_nebengebaeude" wird durch "lfdnr_nebengebaeude" ersetzt.
+--  2013-03-25  View "grenzpunkt" und "gebaeude_txt"
+--  2013-04-19  Neues zum Thema "Bodenschätzung", Views entfallen
+--  2013-10-24  Table "pp_strassenname" ersetzt View "ap_pto_stra" im WMS (ms6)
+--  2014-01-22  Neue Views für CSV-Export, neue Schlüsseltabelle "ax_namensnummer_eigentuemerart"
+--  2014-08-25  Straßennamen aufteilen in _P und L
+
+
+-- Tabellen
+-- ========
+
+-- PostGIS
+-- -------
+  GRANT SELECT ON TABLE geometry_columns TO ms6;
+  GRANT SELECT ON TABLE geometry_columns TO mb27;
+  GRANT SELECT ON TABLE spatial_ref_sys  TO ms6;
+  GRANT SELECT ON TABLE spatial_ref_sys  TO mb27;
+
+-- ALKIS / PostNAS
+-- ---------------
+-- Berechtigung für Kartendarstellung
+  GRANT SELECT ON TABLE alkis_beziehungen TO ms6;
+  GRANT SELECT ON TABLE ap_darstellung TO ms6;
+  GRANT SELECT ON TABLE ap_lpo TO ms6;
+  GRANT SELECT ON TABLE ap_lto TO ms6;
+  GRANT SELECT ON TABLE ap_ppo TO ms6;
+  GRANT SELECT ON TABLE ap_pto TO ms6;
+  GRANT SELECT ON TABLE ax_anderefestlegungnachwasserrecht TO ms6;
+  GRANT SELECT ON TABLE ax_anschrift TO ms6;
+  GRANT SELECT ON TABLE ax_aufnahmepunkt TO ms6;
+  GRANT SELECT ON TABLE ax_bahnverkehr TO ms6;
+  GRANT SELECT ON TABLE ax_bahnverkehrsanlage TO ms6;
+  GRANT SELECT ON TABLE ax_baublock TO ms6;
+  GRANT SELECT ON TABLE ax_bauraumoderbodenordnungsrecht TO ms6;
+  GRANT SELECT ON TABLE ax_bauteil TO ms6;
+  GRANT SELECT ON TABLE ax_bauwerkimgewaesserbereich TO ms6;
+  GRANT SELECT ON TABLE ax_bauwerkimverkehrsbereich TO ms6;
+  GRANT SELECT ON TABLE ax_bauwerkoderanlagefuerindustrieundgewerbe TO ms6;
+  GRANT SELECT ON TABLE ax_bauwerkoderanlagefuersportfreizeitunderholung TO ms6;
+  GRANT SELECT ON TABLE ax_bergbaubetrieb TO ms6;
+  GRANT SELECT ON TABLE ax_besondereflurstuecksgrenze TO ms6;
+  GRANT SELECT ON TABLE ax_besonderegebaeudelinie TO ms6;
+  GRANT SELECT ON TABLE ax_besondererbauwerkspunkt TO ms6;
+  GRANT SELECT ON TABLE ax_besonderergebaeudepunkt TO ms6;
+  GRANT SELECT ON TABLE ax_besonderertopographischerpunkt TO ms6;
+  GRANT SELECT ON TABLE ax_bewertung TO ms6;
+  GRANT SELECT ON TABLE ax_bodenschaetzung TO ms6;
+  GRANT SELECT ON TABLE ax_boeschungkliff TO ms6;
+  GRANT SELECT ON TABLE ax_boeschungsflaeche TO ms6;
+  GRANT SELECT ON TABLE ax_buchungsblatt TO ms6;
+  GRANT SELECT ON TABLE ax_buchungsblattbezirk TO ms6;
+  GRANT SELECT ON TABLE ax_buchungsstelle TO ms6;
+  GRANT SELECT ON TABLE ax_bundesland TO ms6;
+  GRANT SELECT ON TABLE ax_dammwalldeich TO ms6;
+  GRANT SELECT ON TABLE ax_denkmalschutzrecht TO ms6;
+  GRANT SELECT ON TABLE ax_dienststelle TO ms6;
+  GRANT SELECT ON TABLE ax_felsenfelsblockfelsnadel TO ms6;
+  GRANT SELECT ON TABLE ax_firstlinie TO ms6;
+  GRANT SELECT ON TABLE ax_flaechebesondererfunktionalerpraegung TO ms6;
+  GRANT SELECT ON TABLE ax_flaechegemischternutzung TO ms6;
+  GRANT SELECT ON TABLE ax_fliessgewaesser TO ms6;
+  GRANT SELECT ON TABLE ax_flugverkehr TO ms6;
+  GRANT SELECT ON TABLE ax_flurstueck TO ms6;
+  GRANT SELECT ON TABLE ax_friedhof TO ms6;
+  GRANT SELECT ON TABLE ax_gebaeude TO ms6;
+  GRANT SELECT ON TABLE ax_gehoelz TO ms6;
+  GRANT SELECT ON TABLE ax_gemarkung TO ms6;
+  GRANT SELECT ON TABLE ax_gemarkungsteilflur TO ms6;
+  GRANT SELECT ON TABLE ax_gemeinde TO ms6;
+  GRANT SELECT ON TABLE ax_georeferenziertegebaeudeadresse TO ms6;
+  GRANT SELECT ON TABLE ax_gewaessermerkmal TO ms6;
+  GRANT SELECT ON TABLE ax_gleis TO ms6;
+  GRANT SELECT ON TABLE ax_grablochderbodenschaetzung TO ms6;
+  GRANT SELECT ON TABLE ax_grenzpunkt TO ms6;
+  GRANT SELECT ON TABLE ax_hafenbecken TO ms6;
+  GRANT SELECT ON TABLE ax_halde TO ms6;
+  GRANT SELECT ON TABLE ax_heide TO ms6;
+  GRANT SELECT ON TABLE ax_historischesbauwerkoderhistorischeeinrichtung TO ms6;
+  GRANT SELECT ON TABLE ax_historischesflurstueck TO ms6;
+  GRANT SELECT ON TABLE ax_historischesflurstueckalb TO ms6;
+  GRANT SELECT ON TABLE ax_historischesflurstueckohneraumbezug TO ms6;
+  GRANT SELECT ON TABLE ax_hoehleneingang TO ms6;
+  GRANT SELECT ON TABLE ax_industrieundgewerbeflaeche TO ms6;
+  GRANT SELECT ON TABLE ax_klassifizierungnachstrassenrecht TO ms6;
+  GRANT SELECT ON TABLE ax_klassifizierungnachwasserrecht TO ms6;
+  GRANT SELECT ON TABLE ax_kleinraeumigerlandschaftsteil TO ms6;
+  GRANT SELECT ON TABLE ax_kommunalesgebiet TO ms6;
+  GRANT SELECT ON TABLE ax_kreisregion TO ms6;
+  GRANT SELECT ON TABLE ax_lagebezeichnungkatalogeintrag TO ms6;
+  GRANT SELECT ON TABLE ax_lagebezeichnungmithausnummer TO ms6;
+  GRANT SELECT ON TABLE ax_lagebezeichnungmitpseudonummer TO ms6;
+  GRANT SELECT ON TABLE ax_lagebezeichnungohnehausnummer TO ms6;
+  GRANT SELECT ON TABLE ax_landwirtschaft TO ms6;
+  GRANT SELECT ON TABLE ax_leitung TO ms6;
+  GRANT SELECT ON TABLE ax_moor TO ms6;
+  GRANT SELECT ON TABLE ax_musterlandesmusterundvergleichsstueck TO ms6;
+  GRANT SELECT ON TABLE ax_namensnummer TO ms6;
+  GRANT SELECT ON TABLE ax_naturumweltoderbodenschutzrecht TO ms6;
+  GRANT SELECT ON TABLE ax_person TO ms6;
+  GRANT SELECT ON TABLE ax_platz TO ms6;
+  GRANT SELECT ON TABLE ax_punktortag TO ms6;
+  GRANT SELECT ON TABLE ax_punktortau TO ms6;
+  GRANT SELECT ON TABLE ax_punktortta TO ms6;
+  GRANT SELECT ON TABLE ax_regierungsbezirk TO ms6;
+  GRANT SELECT ON TABLE ax_schiffsverkehr TO ms6;
+  GRANT SELECT ON TABLE ax_schutzgebietnachwasserrecht TO ms6;
+  GRANT SELECT ON TABLE ax_schutzzone TO ms6;
+  GRANT SELECT ON TABLE ax_sonstigervermessungspunkt TO ms6;
+  GRANT SELECT ON TABLE ax_sonstigesbauwerkodersonstigeeinrichtung TO ms6;
+  GRANT SELECT ON TABLE ax_sonstigesrecht TO ms6;
+  GRANT SELECT ON TABLE ax_sportfreizeitunderholungsflaeche TO ms6;
+  GRANT SELECT ON TABLE ax_stehendesgewaesser TO ms6;
+  GRANT SELECT ON TABLE ax_strassenverkehr TO ms6;
+  GRANT SELECT ON TABLE ax_strassenverkehrsanlage TO ms6;
+  GRANT SELECT ON TABLE ax_sumpf TO ms6;
+  GRANT SELECT ON TABLE ax_tagebaugrubesteinbruch TO ms6;
+  GRANT SELECT ON TABLE ax_transportanlage TO ms6;
+  GRANT SELECT ON TABLE ax_turm TO ms6;
+  GRANT SELECT ON TABLE ax_unlandvegetationsloseflaeche TO ms6;
+  GRANT SELECT ON TABLE ax_untergeordnetesgewaesser TO ms6;
+  GRANT SELECT ON TABLE ax_vegetationsmerkmal TO ms6;
+  GRANT SELECT ON TABLE ax_vorratsbehaelterspeicherbauwerk TO ms6;
+  GRANT SELECT ON TABLE ax_wald TO ms6;
+  GRANT SELECT ON TABLE ax_weg TO ms6;
+  GRANT SELECT ON TABLE ax_wegpfadsteig TO ms6;
+  GRANT SELECT ON TABLE ax_wohnbauflaeche TO ms6;
+  GRANT SELECT ON TABLE ax_wohnplatz TO ms6;
+
+-- Berechtigung fuer Buchauskunft
+  GRANT SELECT ON TABLE alkis_beziehungen TO mb27;
+  GRANT SELECT ON TABLE ap_darstellung TO mb27;
+  GRANT SELECT ON TABLE ap_lpo TO mb27;
+  GRANT SELECT ON TABLE ap_lto TO mb27;
+  GRANT SELECT ON TABLE ap_ppo TO mb27;
+  GRANT SELECT ON TABLE ap_pto TO mb27;
+  GRANT SELECT ON TABLE ax_anderefestlegungnachwasserrecht TO mb27;
+  GRANT SELECT ON TABLE ax_anschrift TO mb27;
+  GRANT SELECT ON TABLE ax_aufnahmepunkt TO mb27;
+  GRANT SELECT ON TABLE ax_bahnverkehr TO mb27;
+  GRANT SELECT ON TABLE ax_bahnverkehrsanlage TO mb27;
+  GRANT SELECT ON TABLE ax_baublock TO mb27;
+  GRANT SELECT ON TABLE ax_bauraumoderbodenordnungsrecht TO mb27;
+  GRANT SELECT ON TABLE ax_bauteil TO mb27;
+  GRANT SELECT ON TABLE ax_bauwerkimgewaesserbereich TO mb27;
+  GRANT SELECT ON TABLE ax_bauwerkimverkehrsbereich TO mb27;
+  GRANT SELECT ON TABLE ax_bauwerkoderanlagefuerindustrieundgewerbe TO mb27;
+  GRANT SELECT ON TABLE ax_bauwerkoderanlagefuersportfreizeitunderholung TO mb27;
+  GRANT SELECT ON TABLE ax_bergbaubetrieb TO mb27;
+  GRANT SELECT ON TABLE ax_besondereflurstuecksgrenze TO mb27;
+  GRANT SELECT ON TABLE ax_besonderegebaeudelinie TO mb27;
+  GRANT SELECT ON TABLE ax_besondererbauwerkspunkt TO mb27;
+  GRANT SELECT ON TABLE ax_besonderergebaeudepunkt TO mb27;
+  GRANT SELECT ON TABLE ax_besonderertopographischerpunkt TO mb27;
+  GRANT SELECT ON TABLE ax_bewertung TO mb27;
+  GRANT SELECT ON TABLE ax_bodenschaetzung TO mb27;
+  GRANT SELECT ON TABLE ax_boeschungkliff TO mb27;
+  GRANT SELECT ON TABLE ax_boeschungsflaeche TO mb27;
+  GRANT SELECT ON TABLE ax_buchungsblatt TO mb27;
+  GRANT SELECT ON TABLE ax_buchungsblattbezirk TO mb27;
+  GRANT SELECT ON TABLE ax_buchungsstelle TO mb27;
+  GRANT SELECT ON TABLE ax_bundesland TO mb27;
+  GRANT SELECT ON TABLE ax_dammwalldeich TO mb27;
+  GRANT SELECT ON TABLE ax_denkmalschutzrecht TO mb27;
+  GRANT SELECT ON TABLE ax_dienststelle TO mb27;
+  GRANT SELECT ON TABLE ax_felsenfelsblockfelsnadel TO mb27;
+  GRANT SELECT ON TABLE ax_firstlinie TO mb27;
+  GRANT SELECT ON TABLE ax_flaechebesondererfunktionalerpraegung TO mb27;
+  GRANT SELECT ON TABLE ax_flaechegemischternutzung TO mb27;
+  GRANT SELECT ON TABLE ax_fliessgewaesser TO mb27;
+  GRANT SELECT ON TABLE ax_flugverkehr TO mb27;
+  GRANT SELECT ON TABLE ax_flurstueck TO mb27;
+  GRANT SELECT ON TABLE ax_friedhof TO mb27;
+  GRANT SELECT ON TABLE ax_gebaeude TO mb27;
+  GRANT SELECT ON TABLE ax_gehoelz TO mb27;
+  GRANT SELECT ON TABLE ax_gemarkung TO mb27;
+  GRANT SELECT ON TABLE ax_gemarkungsteilflur TO mb27;
+  GRANT SELECT ON TABLE ax_gemeinde TO mb27;
+  GRANT SELECT ON TABLE ax_georeferenziertegebaeudeadresse TO mb27;
+  GRANT SELECT ON TABLE ax_gewaessermerkmal TO mb27;
+  GRANT SELECT ON TABLE ax_gleis TO mb27;
+  GRANT SELECT ON TABLE ax_grablochderbodenschaetzung TO mb27;
+  GRANT SELECT ON TABLE ax_grenzpunkt TO mb27;
+  GRANT SELECT ON TABLE ax_hafenbecken TO mb27;
+  GRANT SELECT ON TABLE ax_halde TO mb27;
+  GRANT SELECT ON TABLE ax_heide TO mb27;
+  GRANT SELECT ON TABLE ax_historischesbauwerkoderhistorischeeinrichtung TO mb27;
+  GRANT SELECT ON TABLE ax_historischesflurstueck TO mb27;
+  GRANT SELECT ON TABLE ax_historischesflurstueckalb TO mb27;
+  GRANT SELECT ON TABLE ax_historischesflurstueckohneraumbezug TO mb27;
+  GRANT SELECT ON TABLE ax_hoehleneingang TO mb27;
+  GRANT SELECT ON TABLE ax_industrieundgewerbeflaeche TO mb27;
+  GRANT SELECT ON TABLE ax_klassifizierungnachstrassenrecht TO mb27;
+  GRANT SELECT ON TABLE ax_klassifizierungnachwasserrecht TO mb27;
+  GRANT SELECT ON TABLE ax_kleinraeumigerlandschaftsteil TO mb27;
+  GRANT SELECT ON TABLE ax_kommunalesgebiet TO mb27;
+  GRANT SELECT ON TABLE ax_kreisregion TO mb27;
+  GRANT SELECT ON TABLE ax_lagebezeichnungkatalogeintrag TO mb27;
+  GRANT SELECT ON TABLE ax_lagebezeichnungmithausnummer TO mb27;
+  GRANT SELECT ON TABLE ax_lagebezeichnungmitpseudonummer TO mb27;
+  GRANT SELECT ON TABLE ax_lagebezeichnungohnehausnummer TO mb27;
+  GRANT SELECT ON TABLE ax_landwirtschaft TO mb27;
+  GRANT SELECT ON TABLE ax_leitung TO mb27;
+  GRANT SELECT ON TABLE ax_moor TO mb27;
+  GRANT SELECT ON TABLE ax_musterlandesmusterundvergleichsstueck TO mb27;
+  GRANT SELECT ON TABLE ax_namensnummer TO mb27;
+  GRANT SELECT ON TABLE ax_naturumweltoderbodenschutzrecht TO mb27;
+  GRANT SELECT ON TABLE ax_person TO mb27;
+  GRANT SELECT ON TABLE ax_platz TO mb27;
+  GRANT SELECT ON TABLE ax_punktortag TO mb27;
+  GRANT SELECT ON TABLE ax_punktortau TO mb27;
+  GRANT SELECT ON TABLE ax_punktortta TO mb27;
+  GRANT SELECT ON TABLE ax_regierungsbezirk TO mb27;
+  GRANT SELECT ON TABLE ax_schiffsverkehr TO mb27;
+  GRANT SELECT ON TABLE ax_schutzgebietnachwasserrecht TO mb27;
+  GRANT SELECT ON TABLE ax_schutzzone TO mb27;
+  GRANT SELECT ON TABLE ax_sonstigervermessungspunkt TO mb27;
+  GRANT SELECT ON TABLE ax_sonstigesbauwerkodersonstigeeinrichtung TO mb27;
+  GRANT SELECT ON TABLE ax_sonstigesrecht TO mb27;
+  GRANT SELECT ON TABLE ax_sportfreizeitunderholungsflaeche TO mb27;
+  GRANT SELECT ON TABLE ax_stehendesgewaesser TO mb27;
+  GRANT SELECT ON TABLE ax_strassenverkehr TO mb27;
+  GRANT SELECT ON TABLE ax_strassenverkehrsanlage TO mb27;
+  GRANT SELECT ON TABLE ax_sumpf TO mb27;
+  GRANT SELECT ON TABLE ax_tagebaugrubesteinbruch TO mb27;
+  GRANT SELECT ON TABLE ax_transportanlage TO mb27;
+  GRANT SELECT ON TABLE ax_turm TO mb27;
+  GRANT SELECT ON TABLE ax_unlandvegetationsloseflaeche TO mb27;
+  GRANT SELECT ON TABLE ax_untergeordnetesgewaesser TO mb27;
+  GRANT SELECT ON TABLE ax_vegetationsmerkmal TO mb27;
+  GRANT SELECT ON TABLE ax_vorratsbehaelterspeicherbauwerk TO mb27;
+  GRANT SELECT ON TABLE ax_wald TO mb27;
+  GRANT SELECT ON TABLE ax_weg TO mb27;
+  GRANT SELECT ON TABLE ax_wegpfadsteig TO mb27;
+  GRANT SELECT ON TABLE ax_wohnbauflaeche TO mb27;
+  GRANT SELECT ON TABLE ax_wohnplatz TO mb27;
+
+-- Berechtigungen fuer optimierte Nutzungsarten
+-- --------------------------------------------
+  GRANT SELECT ON TABLE nutzung_meta                       TO ms6;
+  GRANT SELECT ON TABLE nutzung_meta                       TO mb27;
+  GRANT SELECT ON TABLE nutzung                            TO ms6;
+  GRANT SELECT ON TABLE nutzung                            TO mb27;
+  GRANT SELECT ON TABLE nutzung_class                      TO ms6;
+  GRANT SELECT ON TABLE nutzung_class                      TO mb27;
+
+-- Post-Processung
+-- --------------------------------------------
+--GRANT SELECT ON TABLE  gemarkung_in_gemeinde             TO ms6;
+--GRANT SELECT ON TABLE  gemarkung_in_gemeinde             TO mb27;
+  GRANT SELECT ON TABLE  gemeinde_gemarkung                TO ms6;
+  GRANT SELECT ON TABLE  gemeinde_gemarkung                TO mb27;
+  GRANT SELECT ON TABLE  pp_gemeinde                       TO ms6; 
+  GRANT SELECT ON TABLE  pp_gemeinde                       TO mb27;
+  GRANT SELECT ON TABLE  pp_gemarkung                      TO ms6;
+  GRANT SELECT ON TABLE  pp_gemarkung                      TO mb27;
+  GRANT SELECT ON TABLE  pp_flur                           TO ms6;
+  GRANT SELECT ON TABLE  pp_flur                           TO mb27;
+  GRANT SELECT ON TABLE  pp_flurstueck_nr                  TO ms6;
+  GRANT SELECT ON TABLE  pp_strassenname_p                 TO ms6;
+  GRANT SELECT ON TABLE  pp_strassenname_l                 TO ms6;
+  GRANT SELECT ON TABLE  gemeinde_person                   TO ms6;
+  GRANT SELECT ON TABLE  gemeinde_person                   TO mb27;
+
+
+-- Schluesseltabellen
+-- ------------------
+
+-- Gebäude
+GRANT SELECT ON TABLE ax_gebaeude_bauweise                 TO ms6;
+GRANT SELECT ON TABLE ax_gebaeude_bauweise                 TO mb27;
+GRANT SELECT ON TABLE ax_gebaeude_funktion                 TO ms6;
+GRANT SELECT ON TABLE ax_gebaeude_funktion                 TO mb27;
+GRANT SELECT ON TABLE ax_gebaeude_dachform                 TO ms6;
+GRANT SELECT ON TABLE ax_gebaeude_dachform                 TO mb27;
+GRANT SELECT ON TABLE ax_gebaeude_weiterefunktion          TO ms6;
+GRANT SELECT ON TABLE ax_gebaeude_weiterefunktion          TO mb27;
+GRANT SELECT ON TABLE ax_gebaeude_zustand                  TO ms6;
+GRANT SELECT ON TABLE ax_gebaeude_zustand                  TO mb27;
+GRANT SELECT ON TABLE ax_bauteil_bauart                    TO ms6;
+GRANT SELECT ON TABLE ax_bauteil_bauart                    TO mb27;
+
+-- Bodenschätzung
+GRANT SELECT ON TABLE ax_bodenschaetzung_bodenart          TO ms6;
+GRANT SELECT ON TABLE ax_bodenschaetzung_bodenart          TO mb27;
+GRANT SELECT ON TABLE ax_bodenschaetzung_entstehungsartoderklimastufe  TO ms6;
+GRANT SELECT ON TABLE ax_bodenschaetzung_entstehungsartoderklimastufe  TO mb27;
+GRANT SELECT ON TABLE ax_bodenschaetzung_kulturart         TO ms6;
+GRANT SELECT ON TABLE ax_bodenschaetzung_kulturart         TO mb27;
+GRANT SELECT ON TABLE ax_bodenschaetzung_zustandsstufe     TO ms6;
+GRANT SELECT ON TABLE ax_bodenschaetzung_zustandsstufe     TO mb27;
+GRANT SELECT ON TABLE ax_bodenschaetzung_sonstigeangaben   TO ms6;
+GRANT SELECT ON TABLE ax_bodenschaetzung_sonstigeangaben   TO mb27;
+GRANT SELECT ON TABLE ax_grablochderbodenschaetzung_bedeutung          TO ms6;
+GRANT SELECT ON TABLE ax_grablochderbodenschaetzung_bedeutung          TO mb27;
+GRANT SELECT ON TABLE ax_musterlandesmusterundvergleichsstueck_merkmal TO ms6;
+GRANT SELECT ON TABLE ax_musterlandesmusterundvergleichsstueck_merkmal TO mb27;
+GRANT SELECT ON TABLE ax_bewertung_klassifizierung         TO ms6;
+GRANT SELECT ON TABLE ax_bewertung_klassifizierung         TO mb27;
+
+-- Bodenschätzung Views
+GRANT SELECT ON TABLE s_bodensch_wms                       TO ms6;
+GRANT SELECT ON TABLE s_bodensch_ent                       TO ms6;
+GRANT SELECT ON TABLE s_bodensch_po                        TO ms6;
+GRANT SELECT ON TABLE s_bodensch_tx                        TO ms6;
+GRANT SELECT ON TABLE s_zuordungspfeilspitze_bodensch      TO ms6;
+GRANT SELECT ON TABLE s_zuordungspfeil_bodensch            TO ms6;
+
+-- Recht
+GRANT SELECT ON TABLE ax_denkmalschutzrecht_artdf          TO ms6;
+GRANT SELECT ON TABLE ax_denkmalschutzrecht_artdf          TO mb27;
+GRANT SELECT ON TABLE ax_forstrecht_artderfestlegung       TO ms6;
+GRANT SELECT ON TABLE ax_forstrecht_artderfestlegung       TO mb27;
+GRANT SELECT ON TABLE ax_forstrecht_besonderefunktion      TO ms6;
+GRANT SELECT ON TABLE ax_forstrecht_besonderefunktion      TO mb27;
+GRANT SELECT ON TABLE ax_bauraumoderbodenordnungsrecht_artderfestlegung TO ms6;
+GRANT SELECT ON TABLE ax_bauraumoderbodenordnungsrecht_artderfestlegung TO mb27;
+GRANT SELECT ON TABLE ax_anderefestlegungnachstrassenrecht_artdf  TO ms6;
+GRANT SELECT ON TABLE ax_anderefestlegungnachstrassenrecht_artdf  TO mb27;
+GRANT SELECT ON TABLE ax_klassifizierungnachstrassenrecht_artdf   TO ms6;
+GRANT SELECT ON TABLE ax_klassifizierungnachstrassenrecht_artdf   TO mb27;
+GRANT SELECT ON TABLE ax_klassifizierungnachwasserrecht_artdf     TO ms6;
+GRANT SELECT ON TABLE ax_klassifizierungnachwasserrecht_artdf     TO mb27;
+GRANT SELECT ON TABLE ax_naturumweltoderbodenschutzrecht_artdf    TO ms6;
+GRANT SELECT ON TABLE ax_naturumweltoderbodenschutzrecht_artdf    TO mb27;
+GRANT SELECT ON TABLE ax_sonstigesrecht_artdf              TO ms6;
+GRANT SELECT ON TABLE ax_sonstigesrecht_artdf              TO mb27;
+
+-- Sonstige Schlüsseltabellen
+GRANT SELECT ON TABLE ax_buchungsstelle_buchungsart        TO ms6;
+GRANT SELECT ON TABLE ax_buchungsstelle_buchungsart        TO mb27;
+GRANT SELECT ON TABLE ax_namensnummer_eigentuemerart       TO ms6;
+GRANT SELECT ON TABLE ax_namensnummer_eigentuemerart       TO mb27;
+GRANT SELECT ON TABLE ax_datenerhebung                     TO ms6;
+GRANT SELECT ON TABLE ax_datenerhebung                     TO mb27;
+
+
+-- VIEWS
+-- =====
+  GRANT SELECT ON TABLE s_hausnummer_gebaeude              TO ms6;
+--GRANT SELECT ON TABLE s_nummer_nebengebaeude             TO ms6;
+  GRANT SELECT ON TABLE lfdnr_nebengebaeude                TO ms6;
+  GRANT SELECT ON TABLE s_zugehoerigkeitshaken_flurstueck  TO ms6;
+  GRANT SELECT ON TABLE s_zuordungspfeil_flurstueck        TO ms6;
+  GRANT SELECT ON TABLE s_zuordungspfeilspitze_flurstueck  TO ms6;
+  GRANT SELECT ON TABLE s_zuordungspfeil_bodensch          TO ms6;
+  GRANT SELECT ON TABLE s_zuordungspfeilspitze_bodensch    TO ms6;
+  GRANT SELECT ON TABLE s_zuordungspfeil_gebaeude          TO ms6;
+--GRANT SELECT ON TABLE s_flurstueck_nr                    TO ms6;
+--GRANT SELECT ON TABLE s_beschriftung                     TO ms6;
+--GRANT SELECT ON TABLE ap_pto_stra                        TO ms6;
+  GRANT SELECT ON TABLE ap_pto_rest                        TO ms6;
+  GRANT SELECT ON TABLE grenzpunkt                         TO ms6;
+  GRANT SELECT ON TABLE gebaeude_txt                       TO ms6;
+-- VIEWS wie OBK
+  GRANT SELECT ON TABLE sk2012_flurgrenze                  TO ms6;
+  GRANT SELECT ON TABLE sk2014_gemarkungsgrenze            TO ms6;
+  GRANT SELECT ON TABLE sk2018_bundeslandgrenze            TO ms6;
+  GRANT SELECT ON TABLE sk2020_regierungsbezirksgrenze     TO ms6;
+  GRANT SELECT ON TABLE sk2022_gemeindegrenze              TO ms6;
+  GRANT SELECT ON TABLE sk201x_politische_grenze           TO ms6;
+
+  GRANT SELECT ON TABLE doppelverbindung                   TO mb27;
+  GRANT SELECT ON TABLE exp_csv                            TO mb27;
+
+-- END --
Index: branches/0.7/import/pp_definition_ORACLE.sql
===================================================================
--- branches/0.7/import/pp_definition_ORACLE.sql	(revision 329)
+++ branches/0.7/import/pp_definition_ORACLE.sql	(revision 329)
@@ -0,0 +1,189 @@
+-- Automatisch mit pg-to-oci_keytables.pl konvertiert.
+---
+---
+
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='PP_GEMEINDE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE PP_GEMEINDE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE PP_GEMEINDE (
+    gid			integer,
+    land		integer NOT NULL,
+    regierungsbezirk	integer,
+    kreis		integer,
+    gemeinde		integer NOT NULL,
+    gemeindename	varchar2(80),
+    anz_gemarkg		integer,
+    CONSTRAINT ALKIS_KEYPP_0 PRIMARY KEY (land, gemeinde)
+  );
+CREATE UNIQUE INDEX ALKIS_KEYPP_1 ON pp_gemeinde (gid);
+
+--TODO SELECT AddGeometryColumn('pp_gemeinde','the_geom','25832','MULTIPOLYGON',2);
+
+CREATE INDEX ALKIS_KEYPP_2 ON PP_GEMEINDE(THE_GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+
+--TODO SELECT AddGeometryColumn('pp_gemeinde','simple_geom','25832','MULTIPOLYGON',2);
+
+CREATE INDEX ALKIS_KEYPP_3 ON PP_GEMEINDE(SIMPLE_GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+  COMMENT ON TABLE  pp_gemeinde                IS 'Post-Processing: Gemeinde';
+  COMMENT ON COLUMN pp_gemeinde.gemeinde       IS 'Gemeindenummer';
+  COMMENT ON COLUMN pp_gemeinde.the_geom       IS 'prÃ€zise Geometrie aus Summe aller Gemarkungen';
+  COMMENT ON COLUMN pp_gemeinde.simple_geom    IS 'vereinfachte Geometrie fÃŒr die Suche und die Anzeige von Ãbersichten in kleinen MaÃstÃ€ben.';
+  
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='PP_GEMARKUNG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE PP_GEMARKUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE PP_GEMARKUNG (
+    gid			integer,
+    land		integer NOT NULL,
+    regierungsbezirk	integer,
+    kreis		integer,
+    gemeinde		integer NOT NULL,
+    gemarkung		integer NOT NULL,
+    gemarkungsname	varchar2(80),
+    anz_flur		integer,
+    CONSTRAINT ALKIS_KEYPP_4 PRIMARY KEY (land, gemarkung)
+  );
+CREATE UNIQUE INDEX ALKIS_KEYPP_5 ON pp_gemarkung (gid);
+--TODO SELECT AddGeometryColumn('pp_gemarkung','the_geom','25832','MULTIPOLYGON',2);
+CREATE INDEX ALKIS_KEYPP_6 ON PP_GEMARKUNG(THE_GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+--TODO SELECT AddGeometryColumn('pp_gemarkung','simple_geom','25832','MULTIPOLYGON',2);
+CREATE INDEX ALKIS_KEYPP_7 ON PP_GEMARKUNG(SIMPLE_GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+COMMENT ON TABLE  pp_gemarkung               IS 'Post-Processing: Gemarkung. u.a. liegt in welcher Gemeinde';
+COMMENT ON COLUMN pp_gemarkung.gemeinde      IS 'Gemeindenummer';
+COMMENT ON COLUMN pp_gemarkung.gemarkung     IS 'Gemarkungsnummer';
+COMMENT ON COLUMN pp_gemarkung.the_geom      IS 'prÃ€zise Geometrie aus Summe aller Fluren';
+COMMENT ON COLUMN pp_gemarkung.simple_geom   IS 'vereinfachte Geometrie fÃŒr die Suche und die Anzeige von Ãbersichten in kleinen MaÃstÃ€ben.';
+  
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='PP_FLUR';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE PP_FLUR CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE PP_FLUR (
+    gid			integer,
+    land		integer NOT NULL,
+    regierungsbezirk	integer,
+    kreis		integer,
+    gemarkung		integer NOT NULL,
+    flurnummer		integer NOT NULL,
+    anz_fs		integer,
+    CONSTRAINT ALKIS_KEYPP_8 PRIMARY KEY (land, gemarkung, flurnummer)
+  );
+CREATE UNIQUE INDEX ALKIS_KEYPP_9 ON pp_flur (gid);
+--TODO SELECT AddGeometryColumn('pp_flur','the_geom','25832','MULTIPOLYGON',2);
+CREATE INDEX ALKIS_KEYPP_10 ON PP_FLUR(THE_GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+COMMENT ON TABLE  pp_flur                IS 'Post-Processing: Flur';
+COMMENT ON COLUMN pp_flur.gemarkung      IS 'Gemarkungsnummer';
+COMMENT ON COLUMN pp_flur.the_geom       IS 'Geometrie aus Summe aller FlurstÃŒcke';
+  
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='GEMEINDE_PERSON';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE GEMEINDE_PERSON CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE GEMEINDE_PERSON (
+    land 		integer,
+    regierungsbezirk	integer,
+    kreis		integer,
+    gemeinde		integer,
+    person		varchar2(16),
+    buchtyp		integer,
+    CONSTRAINT ALKIS_KEYPP_11 PRIMARY KEY (gemeinde, person)
+  );
+COMMENT ON TABLE  gemeinde_person            IS 'Person ist EigentÃŒmer von mindestens einem FlurstÃŒck in der Gemeinde';
+COMMENT ON COLUMN gemeinde_person.gemeinde   IS 'Gemeindenummer';
+COMMENT ON COLUMN gemeinde_person.buchtyp    IS 'Typ der Buchung 1=direkt, 2=Recht einer Buchungsstele an andere Buchungsstelle';
+COMMENT ON COLUMN gemeinde_person.person     IS 'gml_id von Person';
+CREATE INDEX ALKIS_KEYPP_12  ON gemeinde_person (person, gemeinde);
+  
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='PP_FLURSTUECK_NR';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE PP_FLURSTUECK_NR CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE PP_FLURSTUECK_NR (
+    gid		integer,
+    fsgml	character(16),
+    fsnum	varchar2(10),
+    CONSTRAINT ALKIS_KEYPP_13  PRIMARY KEY (gid)
+  );
+SELECT AddGeometryColumn('pp_flurstueck_nr','the_geom','25832','POINT',2);
+CREATE INDEX ALKIS_KEYPP_14 ON PP_FLURSTUECK_NR(THE_GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE INDEX ALKIS_KEYPP_15 ON pp_flurstueck_nr(fsgml);
+COMMENT ON TABLE  pp_flurstueck_nr           IS 'Post-Processing: Position der FlurstÃŒcksnummer in der Karte';
+COMMENT ON COLUMN pp_flurstueck_nr.fsgml     IS 'gml_id des zugehÃ¶rigen FlurstÃŒcks-Objektes';
+COMMENT ON COLUMN pp_flurstueck_nr.fsnum     IS 'Label, Darzustellende FS-Nummer als Bruch';
+COMMENT ON COLUMN pp_flurstueck_nr.the_geom  IS 'Position der FlurstÃŒcksnummer in der Karte';
+CREATE VIEW gemeinde_gemarkung
+AS
+  SELECT g.land, g.regierungsbezirk, g.kreis, g.gemeinde, k.gemarkung, g.gemeindename, k.gemarkungsname
+  FROM pp_gemarkung k
+  JOIN pp_gemeinde  g 
+    ON k.land = g.land 
+   AND k.gemeinde = g.gemeinde;
+CREATE VIEW gemeinde_person_typ1
+AS
+  SELECT DISTINCT
+    p.gml_id          AS person, 
+    g.land, g.regierungsbezirk, g.kreis, g.gemeinde
+  FROM ax_person               p
+  JOIN alkis_beziehungen      bpn  ON bpn.beziehung_zu   = p.gml_id
+  JOIN ax_namensnummer         n   ON bpn.beziehung_von  = n.gml_id
+  JOIN alkis_beziehungen      bnb  ON bnb.beziehung_von  = n.gml_id
+  JOIN ax_buchungsblatt        b   ON bnb.beziehung_zu   = b.gml_id
+  JOIN alkis_beziehungen      bbg  ON bbg.beziehung_zu   = b.gml_id
+  JOIN ax_buchungsstelle       s   ON bbg.beziehung_von  = s.gml_id 
+  JOIN alkis_beziehungen      bsf  ON bsf.beziehung_zu   = s.gml_id
+  JOIN ax_flurstueck           f   ON bsf.beziehung_von  = f.gml_id 
+  JOIN ax_gemarkung            k   ON f.land             = k.land 
+                                  AND f.gemarkungsnummer = k.gemarkungsnummer 
+  JOIN gemeinde_gemarkung      g   ON k.gemarkungsnummer = g.gemarkung
+  WHERE bpn.beziehungsart = 'benennt' 
+    AND bnb.beziehungsart = 'istBestandteilVon'
+    AND bbg.beziehungsart = 'istBestandteilVon'
+    AND bsf.beziehungsart = 'istGebucht';
+COMMENT ON VIEW gemeinde_person_typ1 IS 'Personen die EigentÃŒmer vom FlurstÃŒcken in einer Gemeinde sind. Typ1 = nomale Buchungen mit direkter Beziehung.';
+CREATE VIEW gemeinde_person_typ2
+AS
+  SELECT DISTINCT
+    p.gml_id          AS person, 
+    g.land, g.regierungsbezirk, g.kreis, g.gemeinde
+  FROM ax_person               p
+  JOIN alkis_beziehungen      bpn  ON bpn.beziehung_zu   = p.gml_id
+  JOIN ax_namensnummer         n   ON bpn.beziehung_von  = n.gml_id
+  JOIN alkis_beziehungen      bnb  ON bnb.beziehung_von  = n.gml_id
+  JOIN ax_buchungsblatt        b   ON bnb.beziehung_zu   = b.gml_id
+  JOIN alkis_beziehungen      bbg  ON bbg.beziehung_zu   = b.gml_id
+  JOIN ax_buchungsstelle       s1  ON bbg.beziehung_von  = s1.gml_id 
+  JOIN alkis_beziehungen      bss  ON bss.beziehung_von  = s1.gml_id
+  JOIN ax_buchungsstelle       s2  ON bss.beziehung_zu   = s2.gml_id 
+  JOIN alkis_beziehungen      bsf  ON bsf.beziehung_zu   = s2.gml_id
+  JOIN ax_flurstueck           f   ON bsf.beziehung_von  = f.gml_id 
+  JOIN ax_gemarkung            k   ON f.land             = k.land 
+                                  AND f.gemarkungsnummer = k.gemarkungsnummer 
+  JOIN gemeinde_gemarkung      g   ON k.gemarkungsnummer = g.gemarkung
+  WHERE bpn.beziehungsart = 'benennt' 
+    AND bnb.beziehungsart = 'istBestandteilVon'
+    AND bbg.beziehungsart = 'istBestandteilVon'
+    AND bss.beziehungsart = 'an'
+    AND bsf.beziehungsart = 'istGebucht'
+;
+COMMENT ON VIEW gemeinde_person_typ2 IS 'Personen die EigentÃŒmer vom FlurstÃŒcken in einer Gemeinde sind. Typ2 = Buchungen mit Rechten einer Buchungssstelle an einer anderen.';
+CREATE VIEW gemeinde_person_statistik
+AS
+  SELECT p.land, p.regierungsbezirk, p.kreis, p.gemeinde, g.gemeindename, p.buchtyp, count(p.person) as personen
+  FROM   gemeinde_person    p
+  JOIN   gemeinde_gemarkung g
+    ON   p.land     = g.land 
+    AND  p.regierungsbezirk = g.regierungsbezirk 
+    AND  p.kreis    = g.kreis 
+    AND  p.gemeinde = g.gemeinde
+  GROUP BY p.land, p.regierungsbezirk, p.kreis, p.gemeinde, g.gemeindename, p.buchtyp
+  ORDER BY p.land, p.regierungsbezirk, p.kreis, p.gemeinde, p.buchtyp;
+COMMENT ON VIEW gemeinde_person_statistik IS 'ZÃ€hlen der Personen je Gemeinde und Buchungstyp';
+CREATE VIEW pp_gemeinde_analyse AS
+  SELECT land, gemeinde, gemeindename,
+         st_npoints(the_geom)    AS umring_alle_punkte,
+         st_npoints(simple_geom) AS umring_einfache_punkte
+  FROM pp_gemeinde;
+CREATE VIEW pp_gemarkung_analyse AS
+  SELECT land, gemeinde, gemarkung, gemarkungsname,
+         st_npoints(the_geom)    AS umring_alle_punkte,
+         st_npoints(simple_geom) AS umring_einfache_punkte
+  FROM pp_gemarkung;
+purge recyclebin;
+QUIT;
Index: branches/0.7/import/nutzungsart_definition.sql
===================================================================
--- branches/0.7/import/nutzungsart_definition.sql	(revision 329)
+++ branches/0.7/import/nutzungsart_definition.sql	(revision 329)
@@ -0,0 +1,154 @@
+
+-- ALKIS PostNAS 0.7
+
+-- ======================================================
+-- Zusammenfassung der Tabellen der tatsÃ€chlichen Nutzung
+-- ======================================================
+
+-- Um bei einer Feature.Info (Welche Nutzung an dieser Stelle?) 
+-- oder einer Verschneidung (Welche Nutzungen auf dem FlurstÃŒck?) 
+-- nicht 26 verschiedene Tabellen abfragen zu mÃŒssen, werden die wichtigsten 
+-- Felder dieser Tabellen zusammen gefasst.
+
+-- Teil 1: Anlegen der Tabellen
+
+-- Stand 
+
+--  2012-02-10 PostNAS 07, Umbenennung
+--  2013-11-15 In nutzung_class.class kÃ¶nnen NULL-Werte auftreten.
+--  2013-11-26 NULL wird durch Zahl "0" ersetzt, "NOT NULL" wieder aktivieren
+
+SET client_encoding = 'UTF-8';
+
+-- Alles auf Anfang!
+
+-- DROP TABLE nutzung;
+-- DROP TABLE nutzung_class;
+-- DROP TABLE nutzung_meta;
+
+
+-- Meta-Informationen ueber die Zusammenfassung und Gruppierung
+-- ------------------------------------------------------------
+
+CREATE TABLE nutzung_meta (
+	nutz_id           integer NOT NULL,
+	gruppe            character varying(30),
+	source_table      character varying(50),
+	title             character varying(50),
+	fldclass          character varying(30),
+	fldinfo           character varying(30),
+	CONSTRAINT nutzung_meta_pk PRIMARY KEY (nutz_id)
+);
+
+COMMENT ON TABLE  nutzung_meta                IS 'Gruppierung und Indizierung der zusammen gefassten Nutzungsarten in der Tabelle "nutzung".';
+COMMENT ON COLUMN nutzung_meta.nutz_id        IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle "nutzung".';
+COMMENT ON COLUMN nutzung_meta.source_table   IS 'Name der importierten Tabelle aus PostNAS.';
+COMMENT ON COLUMN nutzung_meta.gruppe         IS 'Objektartengruppe, Gruppierung der Nutzungsart.';
+COMMENT ON COLUMN nutzung_meta.title          IS 'Vorzeigbare Bezeichnung der Nutzungsartentabelle.';
+COMMENT ON COLUMN nutzung_meta.fldclass       IS 'Name des Feldes aus "source_table", das in Feld "nutzung.class" kopiert wird.';
+COMMENT ON COLUMN nutzung_meta.fldinfo        IS 'Name des Feldes aus "source_table", das in Feld "nutzung.info" kopiert wird.';
+
+
+-- Alle Abschnitte der "tatsÃ€chlichen Nutzung" vereinigt in einer Tabelle 
+-- Sie sind dann mit einem gemeinsamen Geometrie-Index mit einer SQL-Abfrage auffindbar.
+-- Dies ist die Voraussetzung fÃŒr eine performante Auskunft.
+
+--DROP TABLE nutzung;
+CREATE TABLE nutzung (
+	gml_id		character(16),
+	beginnt		character(20),	    -- mehrfache gml_id eindeutig machen, Datenfehler?
+	nutz_id		integer,
+	class		integer  NOT NULL,  -- NULL-Werte der Quelltabelle durch den num. Wert 0 ersetzen
+	info		     integer,
+	zustand		integer,
+	"name"		varchar,
+	bezeichnung	varchar,
+--	CONSTRAINT	nutzung_pk      PRIMARY KEY (gml_id),		    -- sollte so sein
+	CONSTRAINT	nutzung_pk      PRIMARY KEY (gml_id, beginnt),	-- wÃŒrg arround (gml_id mehrfach!)
+	CONSTRAINT	nutzung_meta_id FOREIGN KEY (nutz_id)
+		REFERENCES nutzung_meta (nutz_id) MATCH SIMPLE
+		ON UPDATE NO ACTION ON DELETE CASCADE
+)
+WITH (OIDS=FALSE);
+
+-- ALTER TABLE nutzung ADD COLUMN beginnt character(20);
+-- ALTER TABLE nutzung DROP CONSTRAINT nutzung_pk;
+-- ALTER TABLE nutzung ADD  CONSTRAINT nutzung_pk PRIMARY KEY(gml_id, beginnt);
+
+
+SELECT AddGeometryColumn('nutzung','wkb_geometry','25832','POLYGON',2);
+-- Vereinzelt vorkommende MULTIPOLYGON, zulÃ€ssig?
+
+-- 'class' ist nur innerhalb einer Gruppe ein sinvoller Index
+CREATE INDEX idx_nutz_cls  ON nutzung USING btree (nutz_id, class);
+
+-- Geometrischer Index fÃŒr die rÃ€umliche Suche
+CREATE INDEX nutzung_geom_idx ON nutzung USING gist (wkb_geometry);
+
+-- Kommentare
+COMMENT ON TABLE  nutzung             IS 'Zusammenfassung von 26 Tabellen des Objektbereiches "TatsÃ€chliche Nutzung".';
+COMMENT ON COLUMN nutzung.gml_id      IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN nutzung.nutz_id     IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle "nutzung".';
+COMMENT ON COLUMN nutzung.class       IS 'Klassifizierung innerhalb der Nutzung. Aus verschiedenen Feldern importiert. Siehe "nutzung_meta.fldclass".';
+COMMENT ON COLUMN nutzung.info        IS 'Weitere verschlÃŒsselte Information zur Nutzung. Aus verschiedenen Feldern importiert. Siehe "nutzung_meta.fldinfo".';
+COMMENT ON COLUMN nutzung.name        IS 'NAM Eigenname';
+COMMENT ON COLUMN nutzung.bezeichnung IS 'weitere unverschlÃŒsselte Information wie Zweitname, Bezeichnung, fachliche Nummerierung usw.';
+COMMENT ON COLUMN nutzung.zustand     IS 'ZUS "Zustand" beschreibt, ob der Abschnitt ungenutzt ist.';
+
+
+-- Schluesseltabelle: classes innerhalb einer Nutzungsart.
+-- Wird nicht aus NAS geladen sondern durch das manuell zu pflegende Script "nutzungsart_metadaten.sql"
+
+
+--DROP TABLE nutzung_class;
+CREATE TABLE nutzung_class (
+	nutz_id       integer NOT NULL,
+	class         integer, --  NOT NULL,
+	label         character varying(100),
+	blabla        character varying(1000),
+    CONSTRAINT nutzung_class_pk PRIMARY KEY (nutz_id, class),
+	CONSTRAINT nutzung_class_id FOREIGN KEY (nutz_id)
+		REFERENCES nutzung_meta (nutz_id) MATCH SIMPLE
+		ON UPDATE NO ACTION ON DELETE CASCADE
+);
+
+  COMMENT ON TABLE  nutzung_class            IS 'SchlÃŒsseltabelle. Feinere Klassifizierung der zusammen gefassten Nutzungsarten.';
+--COMMENT ON COLUMN nutzung_class.ser        IS 'Automatisches SchlÃŒsselfeld';
+  COMMENT ON COLUMN nutzung_class.nutz_id    IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle nutzung.';
+  COMMENT ON COLUMN nutzung_class.class      IS 'Key, SchlÃŒsselwert oder NULL';
+  COMMENT ON COLUMN nutzung_class.label      IS 'EntschlÃŒsselung. Art der Nutzung, Dies Feld soll in der Auskunft angezeigt werden.';
+  COMMENT ON COLUMN nutzung_class.blabla     IS 'Weitere ErlÃ€uterungen und Definitionen dazu.';
+
+
+-- Fehlersuche nach GDAL Patch #5444:
+-- Da nun gml_id nicht mehr PRIMARY KEY der Ausgangstabellen ist , kommt es auch zu Doppelbelegungen der Zusammenfassung.
+-- Diese FÃ€lle suchen.
+
+-- SELECT a.gml_id, a.artderbebauung, a.ogc_fid, a.beginnt, b.ogc_fid , b.beginnt
+-- FROM ax_wohnbauflaeche a JOIN ax_wohnbauflaeche b ON a.gml_id = b.gml_id
+-- WHERE a.ogc_fid < b.ogc_fid LIMIT 100; 
+
+CREATE OR REPLACE VIEW nutzung_mehrfache_gml AS
+	SELECT	a.gml_id, 
+		a.nutz_id,
+		a.beginnt as beginnt1, 
+		b.beginnt as beginnt2
+	FROM nutzung a 
+	JOIN nutzung b 
+	  ON a.gml_id = b.gml_id
+	WHERE a.beginnt < b.beginnt
+	--LIMIT 100
+	;
+
+-- Vorkommende Geometry-Typen
+
+--  SELECT a.gml_id, st_geometrytype(a.wkb_geometry) as geomtype ,a.artderbebauung, a.zustand, a.name, a.beginnt
+--  FROM ax_wohnbauflaeche a WHERE geometrytype(wkb_geometry) <> 'POLYGON';
+
+--  SELECT a.gml_id, st_geometrytype(a.wkb_geometry) as geomtype ,a.artderbebauung, a.zustand, a.name, a.beginnt
+--  FROM ax_wohnbauflaeche a WHERE geometrytype(wkb_geometry) <> 'POLYGON';
+
+-- Ergebnis:    Ein MULTIPOLYGON
+-- Konsequenz:  nur Polygone kopieren.
+
+-- END --
Index: branches/0.7/import/pg-to-oci_keytables.pl
===================================================================
--- branches/0.7/import/pg-to-oci_keytables.pl	(revision 329)
+++ branches/0.7/import/pg-to-oci_keytables.pl	(revision 329)
@@ -0,0 +1,137 @@
+#!/usr/bin/perl
+
+#############################################################################
+#    pg-to-oci_keytables.pl - ALKIS-PostgreSQL-Schema fÃŒr Oracle vorbereiten
+#    ---------------------
+#    begin                : 2013-01-18
+#    copyright            : (C) 2013 by Juergen Fischer, norBIT GmbH
+#    email                : jef at norbit dot de
+#############################################################################
+#                                                                         
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#                                                                         
+#############################################################################
+
+open I, "alkis_PostNAS_keytables.sql";
+open O, ">alkis_PostNAS_ORACLE_keytables.sql";
+#open I, "nutzungsart_definition.sql";
+#open O, ">nutzungsart_definition_ORACLE.sql";
+#open I, "nutzungsart_laden.sql";
+#open O, ">nutzungsart_laden_ORACLE.sql";
+#open I, "pp_definition.sql";
+#open O, ">pp_definition_ORACLE.sql";
+#open I, "pp_laden.sql";
+#open O, ">pp_laden_ORACLE.sql";
+#open I, "sichten.sql";
+#open O, ">sichten_ORACLE.sql";
+
+$i = 0;
+print O "-- Automatisch mit pg-to-oci_keytables.pl konvertiert.\n---\n---\n\n";
+
+while(<I>) {
+	# Kommentare entfernen
+	s/,\s*--.*$/,/;
+	s/;\s*--.*$/;/;
+	s/\s*--.*$//;
+
+	s/^\s+SET client_encoding = 'UTF8';/set serveroutput on\nset autocommit on\nset feedback off\nset verify off\n/;
+	s/^\s+SET default_with_oids = false;/define alkis_epsg=\&1/;
+	s/\\set ON_ERROR_STOP/whenever sqlerror exit 1/;
+
+	# Funktionsinclude ÃŒberspringen
+	next if /\\i\s+alkis-functions/;
+	
+	# Includes umwandeln
+	s/\\i alkis-trigger.sql/@@ alkis-trigger-oracle.sql/;
+
+	# Datentypen abbilden
+	s/varchar\s+default\s+false/varchar2(5) default 'false'/i;
+	s/varchar\s+default\s+'false'/varchar2(5) default 'false'/i;
+	s/boolean\s+default\s+false/varchar2(5) default 'false'/i;
+	s/\bvarchar\[\]/varchar2(2047)/;
+	s/\binteger\[\]/varchar2(2047)/;
+	s/\bvarchar\b,/varchar2(2047),/;
+	s/\bdouble precision\[\]/varchar2(2047)/;
+	s/serial/integer/;
+	s/boolean/varchar2(5)/;
+
+	# Feldnamen auf OCI Defaults abbilden
+	s/wkb_geometry/ora_geometry/;
+	s/ogc_fid/ogr_fid/;
+
+	s/USING btree //;
+
+	s/SELECT alkis_drop\(\);/-- $1/;
+
+	# Indexnamen ersetzen
+	if( /CREATE( UNIQUE)? INDEX (\S+)/ ) {
+		s/INDEX \S+/INDEX ALKIS_KEY_$i/;
+		$i++;
+	}
+
+	# Constraintnamen ersetzen
+	if( /CONSTRAINT (\S+)/ ) {
+		s/CONSTRAINT \S+/CONSTRAINT ALKIS_KEY_$i/;
+		$i++;
+	}
+
+	# RÃ€umliche Indizes konvertieren
+	s/CREATE\s+INDEX\s+(\S+)\s+ON\s+(\S+)\s+USING\s+gist\s*\((\S+)\);/CREATE INDEX \U$1\E ON \U$2\E(\U$3\E) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;/i;
+
+	# Tabelle ggf. vor dem Anlegen droppen und aus den Metadaten lÃ¶schen
+	s/CREATE TABLE (\S+)/\nDELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='\U$1\E';\nBEGIN EXECUTE IMMEDIATE 'DROP TABLE \U$1\E CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;\n\/\nCREATE TABLE \U$1/;
+
+	# Anlegen der Geometriespalte anpassen und fÃŒr Metadateneintrag sorgen
+	s/SELECT AddGeometryColumn\('([^']+)','([^']+)',:alkis_epsg,'[^']+',2\);.*$/ALTER TABLE \U$1\E ADD \U$2\E MDSYS.SDO_GEOMETRY;\nINSERT INTO user_sdo_geom_metadata\(table_name,column_name,srid,diminfo\) VALUES \('\U$1\E','\U$2\E',&&alkis_epsg,mdsys.sdo_dim_array\(mdsys.sdo_dim_element\('X',200000,800000,0.001\),mdsys.sdo_dim_element\('Y',5200000,6100000,0.001\)\)\);/;
+	s/SELECT AddGeometryColumn\('([^']+)','([^']+)',:alkis_epsg,'[^']+',3\);.*$/ALTER TABLE \U$1\E ADD \U$2\E MDSYS.SDO_GEOMETRY;\nINSERT INTO user_sdo_geom_metadata\(table_name,column_name,srid,diminfo\) VALUES \('\U$1\E','\U$2\E',&&alkis_epsg,mdsys.sdo_dim_array\(mdsys.sdo_dim_element\('X',200000,800000,0.001\),mdsys.sdo_dim_element\('Y',5200000,6100000,0.001\),mdsys.sdo_dim_element\('Z',-50,3000,0.001\)\)\);/;
+
+	# DELETE-SchlÃŒsselwort quoten
+	s/"delete"/"DELETE"/;
+	s/ALTER TABLE DELETE/ALTER TABLE "DELETE"/;
+	s/'"DELETE"'/'DELETE'/g;
+	s/COMMENT ON COLUMN delete/COMMENT ON COLUMN "DELETE"/;
+
+	# Oracle kennt keine Indexkommentare
+	s/COMMENT ON INDEX .*$/\n/;
+
+	# Ãberlange Bezeichner kÃŒrzen und in GroÃbuchstaben wandeln
+	s/([A-Z_]{30})[A-Z_]+/\U$1/gi;
+
+	# Insert Tabellennamen in uppercase
+	s/INSERT INTO (\S+)/INSERT INTO \U$1\E/;
+
+	# View Tabellennamen in uppercase
+	s/CREATE OR REPLACE VIEW (\S+)/CREATE OR REPLACE VIEW \U$1\E/;
+
+	# View Comment in uppercase
+	s/COMMENT ON VIEW (\S+)/COMMENT ON VIEW \U$1\E/; 
+
+	next if /^COMMENT ON TABLE (geometry_columns|spatial_ref_sys)/;
+
+	next if /^\s*$/;
+
+	print O;
+}
+
+print O "purge recyclebin;\nQUIT;\n";
+close O;
+
+close I;
+
+# vim: set nowrap :
Index: branches/0.7/import/pp_laden.sql
===================================================================
--- branches/0.7/import/pp_laden.sql	(revision 329)
+++ branches/0.7/import/pp_laden.sql	(revision 329)
@@ -0,0 +1,319 @@
+
+-- ALKIS PostNAS 0.7
+
+-- Post Processing (pp_) Teil 2: Laden der Tabellen
+
+-- Stand 
+
+--  2012-02-13 PostNAS 07, Umbenennung
+--  2012-02-17 Optimierung
+--  2012-04-17 Flurstuecksnummern auf Standardposition
+--  2012-04-24 Generell Filter 'endet IS NULL' um historische Objekte auszublenden
+--  2012-04-25 Abstürze und Fehler (durch kaputte Geometrie?) beim Zusammenfassen der Flächen
+--  2012-10-29 F.J. Redundanzen aus alkis_beziehungen beseitigen, die nach NAS replace auftreten
+--  2013-02-06 A.E. Function-Name an PostGIS 2 angepasst: multi() -> st_multi(), simplify() -> st_simplify()
+--  2013-02-21 F.J. doppelte Buchungen zum Flurstück aus alkis_beziehungen beseitigen, die nach NAS replace auftreten
+--  2013-07-10 F.J. Bereinigen der alkis_beziehungen auskommentiert, wird jetzt im Trigger gelöst.
+--  2012-10-24 Neue Tabelle für die Präsentation von Straßennamen und -Klassifikationen
+--  2014-02-05 Bereits auskommentierte Aktionen gelöscht für die Beseitigung von Redundanzen aus fehlerhaften Triggern
+--  2014-02-12 Zusammen fassen Flur->Gemarkung->Gemeinde nicht aus simple_geom weil dadurch Löscher entstehen können.
+--  2014-08-25 Straßennamen aufteilen in _P und L
+
+-- ============================
+-- Tabellen des Post-Processing
+-- ============================
+
+-- Einige Informationen liegen nach der NAS-Konvertierung in der Datenbank "verstreut" vor.
+-- Die dynamische Aufbereitung über Views und Functions würde zu lange dauern und somit lange 
+-- Antwortzeiten in WMS, WFS, Buchauskunft oder Navigation (Suche) verursachen.
+
+-- Im Rahmen eines "Post-Processing" werden diese Daten nach jeder Konvertierung (NBA-Aktualisierung) 
+-- einmal komplett aufbereitet. Die benötigten Informationen stehen somit den Anwendungen mundgerecht zur Verfügung.
+
+-- Die per PostProcessing gefüllten Tabellen bekommen den Profix "pp_". 
+
+-- Die Ausführung dieses Scriptes auf einer Datenbank für eine 80T-Einwohner-Stadt dauert ca.: 500 Sek. !
+
+SET client_encoding = 'UTF-8';
+
+
+-- ============================================================================
+-- Redundanzen aus alkis_beziehungen beseitigen, die nach NAS replace auftreten
+-- ============================================================================
+-- Workaround: alle Redundazen nach einem Lauf entfernen.
+-- Besser wäre: sofort im Trigger bei replace entfernen.
+-- Siehe Schema in FUNCTION delete_feature_kill
+
+
+-- =================================
+-- Flurstuecksnummern-Label-Position
+-- =================================
+
+-- ersetzt den View "s_flurstueck_nr" für WMS-Layer "ag_t_flurstueck"
+
+--DELETE FROM pp_flurstueck_nr;
+  TRUNCATE pp_flurstueck_nr;  -- effektiver als DELETE
+
+  INSERT INTO pp_flurstueck_nr
+          ( fsgml, fsnum, the_geom )
+    SELECT f.gml_id,
+           f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS fsnum,
+           p.wkb_geometry  -- manuelle Position des Textes
+      FROM ap_pto             p
+      JOIN alkis_beziehungen  v  ON p.gml_id       = v.beziehung_von
+      JOIN ax_flurstueck      f  ON v.beziehung_zu = f.gml_id
+     WHERE v.beziehungsart = 'dientZurDarstellungVon' 
+       AND f.endet IS NULL 
+       AND p.endet IS NULL 
+     --AND p."art" = 'ZAE_NEN'
+   UNION 
+    SELECT f.gml_id,
+           f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS fsnum,
+           ST_PointOnSurface(f.wkb_geometry) AS wkb_geometry  -- Flaechenmitte als Position des Textes
+      FROM      ax_flurstueck     f 
+      LEFT JOIN alkis_beziehungen v  ON v.beziehung_zu = f.gml_id
+     WHERE v.beziehungsart is NULL
+       AND f.endet IS NULL 
+  ;
+-- Ausführung: mittlere Stadt: ca. 4 - 18 Sec.
+
+
+-- Straßen - N a m e n  und  - K l a s s i f i k a t i o n
+-- Tabellen für die Präsentation von Straßen-Namen und -Klassifikationen
+-- Daten aus dem View "ap_pto_stra" werden im PostProcessing gespeichert in der Tabelle "pp_strassenname".
+-- Der View übernimmt die Auswahl des passenden "advstandardmodell" und rechnet den Winkel passend um.
+-- In der Tabelle werden dann die leer gebliebenen Label aus dem Katalog noch ergänzt. 
+
+-- Alles auf Anfang
+TRUNCATE pp_strassenname_p;
+
+-- Zunächst die Sonderschreibweisen (Abkürzungen) und die Standardschreibweisen, 
+-- die von der Migration redundant abgelegt wurden.
+INSERT INTO pp_strassenname_p (gml_id, schriftinhalt, hor, ver, art, winkel, the_geom)
+       SELECT gml_id, schriftinhalt, hor, ver, art, winkel, wkb_geometry
+       FROM ap_pto_stra; -- Der View sucht das passende advstandardmodell
+
+-- Schriftinhalt ergänzen
+-- Das sind die Standardschreibweisen aus dem Katalog, die nicht mehr redundant in ap_pto sind.
+UPDATE pp_strassenname_p  p
+   SET schriftinhalt =     -- Hier ist der Label noch leer
+   -- Subquery "Gib mir den Straßennamen":
+   ( SELECT k.bezeichnung                         -- Straßenname ..
+       FROM ax_lagebezeichnungkatalogeintrag k    --  .. aus Katalog
+       JOIN ax_lagebezeichnungohnehausnummer l    -- verwendet als Lage o.H.
+         ON (k.land=l.land AND k.regierungsbezirk=l.regierungsbezirk AND k.kreis=l.kreis AND k.gemeinde=l.gemeinde AND k.lage=l.lage )
+      WHERE p.gml_id = l.gml_id                   -- die gml_id wurde aus View importiert
+    )
+ WHERE     p.schriftinhalt IS NULL
+   AND NOT p.the_geom      IS NULL;
+
+-- Die immer noch leeren Texte sind nun sinnlos.
+-- Die finden sich ggf. in der Variante "_l" mit Liniengeometrie.
+DELETE FROM pp_strassenname_p WHERE schriftinhalt IS NULL;
+
+-- Nun das Gleiche noch einmal für Linien-Geometrie
+
+-- Auf Anfang
+TRUNCATE pp_strassenname_l;
+
+-- Zunächst die Sonderschreibweisen (Abkürzungen) und die Standardschreibweisen, 
+-- die von der Migration redundant abgelegt wurden.
+INSERT INTO pp_strassenname_l (gml_id, schriftinhalt, hor, ver, art, the_geom)
+       SELECT gml_id, schriftinhalt, hor, ver, art, wkb_geometry
+       FROM ap_lto_stra; -- Der View sucht das passende advstandardmodell
+
+-- Schriftinhalt ergänzen (korrigiert 2014-08-25)
+-- Das sind die Standardschreibweisen aus dem Katalog, die nicht mehr redundant in ap_pto sind.
+-- Der Satz mit der passenen gml_id (Lage o.H.) ist aus dem View bereits importiert.
+-- Jetzt noch den dazu passenen Schriftinhalt aus dem Katalog holen.
+UPDATE pp_strassenname_l  p
+   SET schriftinhalt =     -- Hier ist der Label noch leer
+   -- Subquery "Gib mir den Straßennamen":
+   ( SELECT k.bezeichnung                         -- Straßenname ..
+       FROM ax_lagebezeichnungkatalogeintrag k    --  .. aus Katalog
+       JOIN ax_lagebezeichnungohnehausnummer l    -- verwendet als Lage o.H.
+         ON (k.land=l.land AND k.regierungsbezirk=l.regierungsbezirk AND k.kreis=l.kreis AND k.gemeinde=l.gemeinde AND k.lage=l.lage )
+      WHERE p.gml_id = l.gml_id                   -- die gml_id wurde aus View importiert
+    )
+ WHERE     p.schriftinhalt IS NULL
+   AND NOT p.the_geom      IS NULL;
+
+-- Die immer noch leeren Texte sind sinnlos.
+DELETE FROM pp_strassenname_l WHERE schriftinhalt IS NULL;
+
+
+-- ========================================================
+-- Tabellen fuer die Zuordnung vom Gemarkungen zu Gemeinden
+-- ========================================================
+
+-- Für die Regelung der Zugriffsberechtigung einer Gemeindeverwaltung auf die 
+-- Flurstücke in ihrem Gebiet braucht man die Information, in welcher Gemeinde eine Gemarkung liegt.
+-- 'ax_gemeinde' und 'ax_gemarkung' haben aber im ALKIS keinerlei Beziehung zueinander - kaum zu glauben!
+-- Nur über die Auswertung der Flurstücke kann man die Zuordnung ermitteln.
+-- Da nicht ständig mit 'SELECT DISTINCT' sämtliche Flurstücke durchsucht werden können, 
+-- muss diese Information als (redundante) Tabelle nach dem Laden zwischengespeichert werden. 
+
+
+-- G E M A R K U N G
+
+--DELETE FROM pp_gemarkung;
+  TRUNCATE pp_gemarkung;
+
+-- Vorkommende Paarungen Gemarkung <-> Gemeinde in ax_Flurstueck
+INSERT INTO pp_gemarkung
+  (               land, regierungsbezirk, kreis, gemeinde, gemarkung       )
+  SELECT DISTINCT land, regierungsbezirk, kreis, gemeinde, gemarkungsnummer
+  FROM            ax_flurstueck
+  WHERE           endet IS NULL
+  ORDER BY        land, regierungsbezirk, kreis, gemeinde, gemarkungsnummer 
+;
+
+-- Namen der Gemarkung dazu als Optimierung bei der Auskunft 
+UPDATE pp_gemarkung a
+   SET gemarkungsname =
+   ( SELECT b.bezeichnung 
+     FROM    ax_gemarkung b
+     WHERE a.land=b.land 
+       AND a.gemarkung=b.gemarkungsnummer
+       AND b.endet IS NULL
+   );
+
+
+-- G E M E I N D E
+
+--DELETE FROM pp_gemeinde;
+  TRUNCATE pp_gemeinde;
+
+-- Vorkommende Gemeinden aus den gemarkungen
+INSERT INTO pp_gemeinde
+  (               land, regierungsbezirk, kreis, gemeinde)
+  SELECT DISTINCT land, regierungsbezirk, kreis, gemeinde
+  FROM            pp_gemarkung
+  ORDER BY        land, regierungsbezirk, kreis, gemeinde 
+;
+
+
+-- Namen der Gemeinde dazu als Optimierung bei der Auskunft 
+UPDATE pp_gemeinde a
+   SET gemeindename =
+   ( SELECT b.bezeichnung 
+     FROM    ax_gemeinde b
+     WHERE a.land=b.land 
+       AND a.regierungsbezirk=b.regierungsbezirk 
+       AND a.kreis=b.kreis
+       AND a.gemeinde=b.gemeinde
+       AND b.endet IS NULL
+   );
+
+
+-- ==============================================================================
+-- Geometrien der Flurstücke schrittweise zu groesseren Einheiten zusammen fassen
+-- ==============================================================================
+
+-- Dies macht nur Sinn, wenn der Inhalt der Datenbank einen ganzen Katasterbezirk enthält.
+-- Wenn ein Gebiet durch geometrische Filter im NBA ausgegeben wurde, dann gibt es Randstreifen, 
+-- die zu Pseudo-Fluren zusammen gefasst werden. Fachlich falsch!
+
+-- Ausführungszeit: 1 mittlere Stadt mit ca. 14.000 Flurstücken > 100 Sek
+
+DELETE FROM pp_flur;
+
+INSERT INTO pp_flur (land, regierungsbezirk, kreis, gemarkung, flurnummer, anz_fs, the_geom )
+   SELECT  f.land, f.regierungsbezirk, f.kreis, f.gemarkungsnummer as gemarkung, f.flurnummer, 
+           count(gml_id) as anz_fs,
+           st_multi(st_union(st_buffer(f.wkb_geometry,0.05))) AS the_geom -- Zugabe um Zwischenräume zu vermeiden
+     FROM  ax_flurstueck f
+     WHERE f.endet IS NULL
+  GROUP BY f.land, f.regierungsbezirk, f.kreis, f.gemarkungsnummer, f.flurnummer;
+
+-- Fluren zu Gemarkungen zusammen fassen
+-- -------------------------------------
+
+-- FEHLER: 290 Absturz PG! Bei Verwendung der ungebufferten präzisen Geometrie.  
+-- bufferOriginalPrecision failed (TopologyException: unable to assign hole to a shell), trying with reduced precision
+-- UPDATE: ../../source/headers/geos/noding/SegmentString.h:175: void geos::noding::SegmentString::testInvariant() const: Zusicherung »pts->size() > 1« nicht erfüllt.
+
+-- Flächen vereinigen
+UPDATE pp_gemarkung a
+  SET the_geom = 
+   ( SELECT st_multi(st_union(st_buffer(b.the_geom,0.1))) AS the_geom -- Puffer/Zugabe um Löcher zu vermeiden
+       FROM pp_flur b
+      WHERE a.land      = b.land 
+        AND a.gemarkung = b.gemarkung
+   );
+
+-- Fluren zaehlen
+UPDATE pp_gemarkung a
+  SET anz_flur = 
+   ( SELECT count(flurnummer) AS anz_flur 
+     FROM    pp_flur b
+     WHERE a.land      = b.land 
+       AND a.gemarkung = b.gemarkung
+   ); -- Gemarkungsnummer ist je BundesLand eindeutig
+
+
+-- Gemarkungen zu Gemeinden zusammen fassen
+-- ----------------------------------------
+
+-- Flächen vereinigen (aus der bereits vereinfachten Geometrie)
+UPDATE pp_gemeinde a
+  SET the_geom = 
+   ( SELECT st_multi(st_union(st_buffer(b.the_geom,0.1))) AS the_geom -- noch mal Zugabe
+     FROM    pp_gemarkung b
+     WHERE a.land     = b.land 
+       AND a.gemeinde = b.gemeinde
+   );
+
+-- Gemarkungen zählen
+UPDATE pp_gemeinde a
+  SET anz_gemarkg = 
+   ( SELECT count(gemarkung) AS anz_gemarkg 
+     FROM    pp_gemarkung b
+     WHERE a.land     = b.land 
+       AND a.gemeinde = b.gemeinde
+   );
+
+
+-- Geometrie glätten / vereinfachen
+-- Diese "simplen" Geometrien sollen nur für die Darstellung einer Übersicht verwendet werden.
+-- Ablage der simplen Geometrie in einem alternativen Geometriefeld im gleichen Datensatz.
+
+UPDATE pp_flur      SET simple_geom = st_simplify(the_geom, 0.4); -- Flur 
+
+UPDATE pp_gemarkung SET simple_geom = st_simplify(the_geom, 2.0); -- Gemarkung  (Wirkung siehe pp_gemarkung_analyse)
+
+UPDATE pp_gemeinde  SET simple_geom = st_simplify(the_geom, 5.0); -- Gemeinde (Wirkung siehe pp_gemeinde_analyse)
+
+
+-- =======================================================
+-- Tabelle fuer die Zuordnung vom Eigentümern zu Gemeinden
+-- =======================================================
+
+
+-- erst mal sauber machen
+DELETE FROM gemeinde_person;
+
+-- alle direkten Buchungen mit View ermitteln und in Tabelle speichern
+-- Für eine Stadt: ca. 20 Sekunden
+INSERT INTO  gemeinde_person 
+       (land, regierungsbezirk, kreis, gemeinde, person, buchtyp)
+ SELECT land, regierungsbezirk, kreis, gemeinde, person, 1
+   FROM gemeinde_person_typ1;
+
+
+-- noch die komplexeren Buchungen ergänzen (Recht an ..)
+-- Mit View ermitteln und in Tabelle speichern
+-- Für eine Stadt: ca. 10 Sekunden
+INSERT INTO  gemeinde_person 
+       (  land,   regierungsbezirk,   kreis,   gemeinde,   person,  buchtyp)
+ SELECT q.land, q.regierungsbezirk, q.kreis, q.gemeinde, q.person,  2
+   FROM gemeinde_person_typ2 q   -- Quelle
+   LEFT JOIN gemeinde_person z   -- Ziel
+     ON q.person   = z.person    -- Aber nur, wenn dieser Fall im Ziel
+    AND q.land     = z.land 
+    AND q.regierungsbezirk = z.regierungsbezirk 
+    AND q.kreis    = z.kreis 
+    AND q.gemeinde = z.gemeinde
+  WHERE z.gemeinde is Null;      -- ..  noch nicht vorhanden ist
+
+-- ENDE --
Index: branches/0.7/import/sichten_wms.sql
===================================================================
--- branches/0.7/import/sichten_wms.sql	(revision 329)
+++ branches/0.7/import/sichten_wms.sql	(revision 329)
@@ -0,0 +1,760 @@
+-- =====
+-- ALKIS
+-- =====
+
+--  PostNAS 0.7
+
+--  -----------------------------------------
+--  Sichten fuer Verwendung im mapfiles (wms)
+--  -----------------------------------------
+
+--  Dieses SQL sollte in jeder PostNAS-ALKIS-Datenbank verarbeitet werden, weil es vom Mapfile benÃ¶tigt wird.
+
+--  2012-04-17 flstnr_ohne_position
+--  2012-04-24 pauschal Filter 'endet IS NULL' um historische Objekte auszublenden
+--  2012-10-29 Redundanzen in Beziehungen suchen (entstehen durch replace)
+--  2013-02-20 Mehrfache Buchungsstellen zum FS suchen, dies sind Auswirkungen eines Fehlers bei Replace
+--  2013-03-05 Beschriftungen aus ap_pto auseinander sortieren, neuer View "grenzpunkt"
+--  2013-03-12 Optimierung Hausnummern, View "gebaeude_txt" (Funktion und Name)
+--  2013-04-15 UnterdrÃŒcken doppelter Darstellung in den Views 'ap_pto_stra', 'ap_pto_nam', 'ap_pto_rest'
+--  2013-04-16 Thema "BodenschÃ€tzung" und fehlernde Kommentare zum Views ergÃ€nzt.
+--             Diese Datei aufgeteilt in "sichten.sql" und "sichten_wms.sql"
+--  2013-04-22 art="PNR" (Pseudonummer)
+--  2013-10-24 View ap_pto_stra wird ersetzt durch die Tabellen "pp_strassenname" und "pp_strassenklas", die im postProcessing gefÃŒllt werden.
+--  2014-02-24 Kein Filter auf advstandardmodell bei FlurstÃŒcks-Zuordnungspfeil
+--  2014-08-25 StraÃennamen aufteilen in _P und L
+
+-- WMS-Layer "ag_t_flurstueck"
+-- ---------------------------
+-- Die Geometrie befindet sich in "ap_pto", der Label in "ax_flurstueck"
+-- Die Verbindung erfolgt ÃŒber "alkis_beziehungen"
+
+-- Bruchnummerierung erzeugen
+-- ALT 2012-04-17: Diese Version zeigt nur die manuell gesetzten Positionen
+-- 2013-04-18 auskommentiert
+--	CREATE OR REPLACE VIEW s_flurstueck_nr
+--	AS 
+--	 SELECT f.ogc_fid, 
+--			p.wkb_geometry,  -- Position des Textes
+--			f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS fsnum
+--	   FROM ap_pto             p
+--	   JOIN alkis_beziehungen  v  ON p.gml_id       = v.beziehung_von
+--	   JOIN ax_flurstueck      f  ON v.beziehung_zu = f.gml_id
+--	  WHERE v.beziehungsart = 'dientZurDarstellungVon' 
+--		AND p.endet IS NULL  AND f.endet IS NULL;
+--	COMMENT ON VIEW s_flurstueck_nr IS 'Sicht fÃŒr Kartendarstellung ÃŒber PostProcessing: Bruchnummerierung FlurstÃŒck (nur manuell gesetzte Positionen)';
+
+-- Wenn keine manuelle Position gesetzt ist, wird die Flaechenmitte verwendet
+
+-- ACHTUNG: Dieser View kann nicht direkt im Mapserver-WMS verwendet werden.
+-- Die Anzeige ist zu langsam. Filterung ÃŒber BBOX kann nicht funktionieren, da zunÃ€chst ALLE Standardpositionen 
+-- berechnet werden mÃŒssen, bevor darÃŒber gefiltert werden kann.
+
+-- In einer Hilfstabelle mit geometrischem Index zwischenspeichern.
+-- Siehe PostProcessing: Tabelle "pp_flurstueck_nr"
+
+-- 2013-04-18 auskommentiert
+--	CREATE OR REPLACE VIEW s_flurstueck_nr2
+--	AS 
+--	  SELECT f.ogc_fid, 
+--			 p.wkb_geometry,  -- manuelle Position des Textes
+--			 f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS fsnum
+--		FROM ap_pto             p
+--		JOIN alkis_beziehungen  v  ON p.gml_id       = v.beziehung_von
+--		JOIN ax_flurstueck      f  ON v.beziehung_zu = f.gml_id
+--	   WHERE v.beziehungsart = 'dientZurDarstellungVon' 
+--		 AND p.endet IS NULL
+--		 AND f.endet IS NULL
+--	 UNION 
+--	  SELECT f.ogc_fid,
+--			 ST_PointOnSurface(f.wkb_geometry) AS wkb_geometry,  -- FlÃ€chenmitte als Position des Textes
+--			 f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS fsnum
+--		FROM      ax_flurstueck     f 
+--		LEFT JOIN alkis_beziehungen v  ON v.beziehung_zu = f.gml_id
+--	   WHERE v.beziehungsart is NULL AND f.endet IS NULL;
+--	COMMENT ON VIEW s_flurstueck_nr2 
+--	 IS 'Sicht fÃŒr Kartendarstellung ÃŒber PostProcessing: Bruchnummerierung FlurstÃŒck, auch Standard-Position. Nicht direkt fuer WMS verwenden!';
+
+
+-- Layer "ag_t_gebaeude"
+-- ---------------------
+-- Problem: Zu einigen GebÃ€uden gibt es mehrere Hausnummern.
+-- Diese unterscheiden sich im Feld ap_pto.advstandardmodell
+-- z.B. 3 verschiedene EintrÃ€ge mit <NULL>, {DKKM500}, {DKKM1000}, (Beispiel; Lage, Lange StraÃe 15 c)
+
+ -- DROP VIEW s_hausnummer_gebaeude;
+ --	CREATE OR REPLACE VIEW s_hausnummer_gebaeude 
+ --	AS 
+ --	 SELECT p.ogc_fid, p.wkb_geometry,
+ --			p.drehwinkel * 57.296 AS drehwinkel, -- umn: ANGLE [drehwinkel]
+ --			l.hausnummer				         -- umn: LABELITEM
+ --	   FROM ap_pto p
+ --	   JOIN alkis_beziehungen v ON p.gml_id = v.beziehung_von
+ --	   JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu  = l.gml_id
+ --	  WHERE v.beziehungsart = 'dientZurDarstellungVon'
+ --		AND p.endet IS NULL AND l.endet IS NULL;
+ --	COMMENT ON VIEW s_hausnummer_gebaeude IS 'fuer Kartendarstellung: Hausnummern HauptgebÃ€ude';
+
+-- Verbesserte Version 2013-03-07
+-- Nimmt nun vorzugsweise den Text der Darstellung aus ap_pto (bei ibR immer gefÃŒllt).
+-- Wenn der nicht gefÃŒllt ist, wird statt dessen die Nummer aus der verknÃŒpften Labebezeichnung 
+-- verwendet (der hÃ€ufigste Fall bei AED). 
+CREATE OR REPLACE VIEW s_hausnummer_gebaeude 
+AS 
+ SELECT p.ogc_fid, 
+        p.wkb_geometry,			              -- Point
+        p.drehwinkel * 57.296 AS drehwinkel,  -- umn: ANGLE
+    --  p.art,
+    --  p.advstandardmodell       AS modell,  -- TEST
+    --  p.horizontaleausrichtung  AS hor,     -- = 'zentrisch'
+    --  p.vertikaleausrichtung    AS ver,     -- = 'Basis' (oft), "Mitte" (selten)
+    --  p.schriftinhalt,                      -- WMS: das bessere LABELITEM, kann aber leer sein
+    --  l.hausnummer,                         -- WMS: LABELITEM default/native
+        COALESCE(p.schriftinhalt, l.hausnummer) AS hausnummer
+   FROM ap_pto p
+   JOIN alkis_beziehungen v
+     ON p.gml_id = v.beziehung_von
+   JOIN ax_lagebezeichnungmithausnummer l
+	 ON v.beziehung_zu  = l.gml_id
+  WHERE p.art = 'HNR'
+    AND 'DKKM1000' = ANY (p.advstandardmodell) -- erste NÃ€herungslÃ¶sung um Redundanzen zu unterdrÃŒcken
+    AND v.beziehungsart = 'dientZurDarstellungVon'
+	AND p.endet IS NULL
+	AND l.endet IS NULL;
+COMMENT ON VIEW s_hausnummer_gebaeude IS 'Sicht fÃŒr Kartendarstellung: Hausnummern der HauptgebÃ€ude.';
+-- ibR: darzustellender Text steht immer in ap_pto.schriftinhalt
+-- AED: ap_pto.schriftinhalt ist meist leer, nur selten ein Eintrag
+
+-- ToDo: In PostProcessing die Hausnummer von l.hausnummer in p.schriftinhalt kopieren, wenn leer
+--   Das wÃŒrde die COALESCE-Trickserei ersparen
+
+
+-- Layer "ag_t_nebengeb"
+-- ---------------------
+-- 2013-03-05: Diese Abfrage liefert keine Daten mehr.
+--	CREATE OR REPLACE VIEW s_nummer_nebengebaeude 
+--	AS 
+--	 SELECT p.ogc_fid, p.wkb_geometry, 
+--			p.drehwinkel * 57.296 AS drehwinkel,	-- umn: ANGLE [drehwinkel]
+--		 -- l.pseudonummer,			-- die HsNr des zugehoerigen Hauptgebaeudes
+--			l.laufendenummer		-- umn: LABELITEM - die laufende Nummer des Nebengebaeudes
+--	   FROM ap_pto p
+--	   JOIN alkis_beziehungen v 
+--		 ON p.gml_id = v.beziehung_von
+--	   JOIN ax_lagebezeichnungmitpseudonummer l
+--		 ON v.beziehung_zu  = l.gml_id
+--	  WHERE v.beziehungsart = 'dientZurDarstellungVon'
+--		AND p.endet IS NULL AND l.endet IS NULL;
+--	COMMENT ON VIEW s_nummer_nebengebaeude IS 'Sicht fÃŒr Kartendarstellung: Hausnummern NebengebÃ€ude (manuelle Position)';
+
+-- Suche nach einem Ersatz:
+-- ax_gebaeude  >hat>  ax_lagebezeichnungmitpseudonummer, kein Drehwinkel.
+CREATE OR REPLACE VIEW lfdnr_nebengebaeude 
+AS 
+ SELECT g.ogc_fid, 
+        g.wkb_geometry, 
+    --  l.pseudonummer,			-- TEST die HsNr des zugehoerigen Hauptgebaeudes
+        l.laufendenummer		-- umn: LABELITEM - die laufende Nummer des Nebengebaeudes
+   FROM ax_gebaeude g
+   JOIN alkis_beziehungen v 
+     ON g.gml_id = v.beziehung_von
+   JOIN ax_lagebezeichnungmitpseudonummer l
+     ON v.beziehung_zu  = l.gml_id
+   WHERE v.beziehungsart = 'hat'
+     AND g.endet IS NULL
+     AND g.endet IS NULL;
+COMMENT ON VIEW lfdnr_nebengebaeude 
+  IS 'Sicht fÃŒr Kartendarstellung: Laufende Nummer des NebengebÃ€udes zu einer Lagebezeichnung mit der FlÃ€chengeometrie des GebÃ€udes';
+
+
+-- GebÃ€ude-Text
+-- ------------
+CREATE OR REPLACE VIEW gebaeude_txt 
+AS 
+ SELECT g.ogc_fid, 
+        g.wkb_geometry,
+        g.name,                    -- selten gefÃŒllt 
+        f.bezeichner AS funktion   -- umn: LABELITEM
+   FROM ax_gebaeude g
+   JOIN ax_gebaeude_funktion f 
+     ON g.gebaeudefunktion = f.wert
+  WHERE g.endet IS NULL 
+    AND g.gebaeudefunktion < 9998; -- "Nach Quellenlage nicht zu spezifizieren" braucht man nicht anzeigen
+COMMENT ON VIEW gebaeude_txt 
+  IS 'Sicht fÃŒr Kartendarstellung: Name zum GebÃ€ude und EntschlÃŒsselung der GebÃ€ude-Funktion (Ersatz fÃŒr Symbole)';
+
+
+-- Layer "ag_p_flurstueck"
+-- -----------------------
+CREATE OR REPLACE VIEW s_zugehoerigkeitshaken_flurstueck 
+AS 
+ SELECT p.ogc_fid, 
+        p.wkb_geometry, 
+        p.drehwinkel * 57.296 AS drehwinkel,
+        f.flurstueckskennzeichen
+   FROM ap_ppo p
+   JOIN alkis_beziehungen v
+     ON p.gml_id = v.beziehung_von
+   JOIN ax_flurstueck f
+     ON v.beziehung_zu = f.gml_id
+  WHERE p.art = 'Haken'
+    AND v.beziehungsart = 'dientZurDarstellungVon'
+    AND f.endet IS NULL
+    AND p.endet IS NULL;
+COMMENT ON VIEW s_zugehoerigkeitshaken_flurstueck 
+  IS 'Sicht fÃŒr Kartendarstellung: ZugehÃ¶rigkeitshaken zum FlurstÃŒck.';
+
+
+-- Layer "s_zuordungspfeil_flurstueck" (Signaturnummer 2004)
+-- -----------------------------------
+-- geÃ€.: 2014-02-24: Kein Filter auf advstandardmodell
+CREATE OR REPLACE VIEW s_zuordungspfeil_flurstueck 
+AS 
+ SELECT l.ogc_fid, 
+        l.wkb_geometry
+   FROM ap_lpo l
+   JOIN alkis_beziehungen v
+     ON l.gml_id = v.beziehung_von
+   JOIN ax_flurstueck f
+     ON v.beziehung_zu = f.gml_id
+  WHERE l.art = 'Pfeil'
+    AND v.beziehungsart = 'dientZurDarstellungVon'
+  --AND ('DKKM1000' ~~ ANY (l.advstandardmodell))
+    AND f.endet IS NULL
+    AND l.endet IS NULL;
+-- Die OBK-Alternative "sk2004_zuordnungspfeil" wird NICHT verwendet. Siehe dort.
+COMMENT ON VIEW s_zuordungspfeil_flurstueck 
+  IS 'Sicht fÃŒr Kartendarstellung: Zuordnungspfeil zur FlurstÃŒcksnummer, Liniengeometrie.';
+
+-- geÃ€.: 2014-02-24: Kein Filter auf advstandardmodell
+CREATE OR REPLACE VIEW s_zuordungspfeilspitze_flurstueck 
+AS 
+ SELECT l.ogc_fid, 
+        (((st_azimuth(st_pointn(l.wkb_geometry, 1), 
+        st_pointn(l.wkb_geometry, 2)) * (- (180)::double precision)) / pi()) + (90)::double precision) AS winkel, 
+        st_startpoint(l.wkb_geometry) AS wkb_geometry 
+   FROM ap_lpo l
+   JOIN alkis_beziehungen v
+     ON l.gml_id = v.beziehung_von
+   JOIN ax_flurstueck f
+     ON v.beziehung_zu = f.gml_id
+  WHERE l.art = 'Pfeil'
+    AND v.beziehungsart = 'dientZurDarstellungVon'
+  --AND ('DKKM1000' ~~ ANY (l.advstandardmodell))
+    AND f.endet IS NULL
+    AND l.endet IS NULL;
+-- Die OBK-Alternativen "sk2004_zuordnungspfeil_spitze" wird NICHT verwendet. Siehe dort.
+COMMENT ON VIEW s_zuordungspfeilspitze_flurstueck 
+  IS 'Sicht fÃŒr Kartendarstellung: Zuordnungspfeil FlurstÃŒcksnummer, Spitze, Punktgeometrie mit Drehwinkel.';
+
+
+-- Drehwinkel in Bogenmass, wird vom mapserver in Grad benÃ¶tigt. Umrechnung durch Faktor (180 / Pi)
+
+-- Zuordnungspfeil BodenschÃ€tzung (Signaturnummer 2701)
+-- ----------------------------------------------------
+CREATE OR REPLACE VIEW s_zuordungspfeil_bodensch
+AS 
+ SELECT l.ogc_fid, 
+        l.wkb_geometry
+   FROM ap_lpo l
+   JOIN alkis_beziehungen v
+     ON l.gml_id = v.beziehung_von
+   JOIN ax_bodenschaetzung b
+     ON v.beziehung_zu = b.gml_id
+  WHERE l.art = 'Pfeil'
+    AND v.beziehungsart = 'dientZurDarstellungVon'
+    AND ('DKKM1000' ~~ ANY (l.advstandardmodell))
+    AND b.endet IS NULL
+    AND l.endet IS NULL;
+COMMENT ON VIEW s_zuordungspfeil_bodensch 
+  IS 'Sicht fÃŒr Kartendarstellung: Zuordnungspfeil BodenschÃ€tzung, Liniengeometrie.';
+
+CREATE OR REPLACE VIEW s_zuordungspfeilspitze_bodensch 
+AS 
+ SELECT l.ogc_fid, 
+        (((st_azimuth(st_pointn(l.wkb_geometry, 1), 
+        st_pointn(l.wkb_geometry, 2)) * (- (180)::double precision)) / pi()) + (90)::double precision) AS winkel, 
+        st_startpoint(l.wkb_geometry) AS wkb_geometry 
+   FROM ap_lpo l
+   JOIN alkis_beziehungen v
+     ON l.gml_id = v.beziehung_von
+   JOIN ax_bodenschaetzung b
+     ON v.beziehung_zu = b.gml_id
+  WHERE l.art = 'Pfeil'
+    AND v.beziehungsart = 'dientZurDarstellungVon'
+    AND ('DKKM1000' ~~ ANY (l.advstandardmodell))
+    AND b.endet IS NULL
+    AND l.endet IS NULL;
+-- Die OBK-Alternativen "sk2004_zuordnungspfeil_spitze" wird NICHT verwendet. Siehe dort.
+COMMENT ON VIEW s_zuordungspfeilspitze_flurstueck IS 'Sicht fÃŒr Kartendarstellung: Zuordnungspfeil BodenschÃ€tzung, Spitze, Punktgeometrie mit Drehwinkel.';
+
+
+-- Layer NAME "ap_pto_stra" (StraÃe) GROUP "praesentation"
+-- -------------------------------------------------------
+-- Von doppelten Textpositionen nur das passendere Modell anzeigen.
+-- Eine Relation wird fuer die Gruppierung verwendet:
+--  ap_pto >dientZurDarstellungVon> ax_lagebezeichnungohnehausnummer
+CREATE OR REPLACE VIEW ap_pto_stra 
+AS 
+  SELECT p.ogc_fid,
+         l.gml_id,                               -- wird im PP zum Nachladen aus Katalog gebraucht
+         p.schriftinhalt,                        -- WMS: LABELITEM
+         p.art,                                  -- WMS: CLASSITEM
+         p.horizontaleausrichtung  AS hor,       -- Verfeinern der Text-Position ..
+         p.vertikaleausrichtung    AS ver,       --  .. durch Klassifizierung hor/ver
+         p.drehwinkel * 57.296     AS winkel,    -- * 180 / Pi
+         p.wkb_geometry
+    FROM ap_pto p
+    JOIN alkis_beziehungen v   -- Relation zur Lagebezeichnung o. HsNr.
+      ON p.gml_id = v.beziehung_von
+    JOIN ax_lagebezeichnungohnehausnummer l
+      ON v.beziehung_zu = l.gml_id
+   WHERE  p.endet IS NULL                            -- nichts historisches
+     AND  p.art   IN ('Strasse','Weg','Platz','BezKlassifizierungStrasse') -- Diese Werte als CLASSES in LAYER behandeln. 
+     AND  v.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
+     AND (   'DKKM1000' = ANY (p.advstandardmodell)  -- "Lika 1000" bevorzugen
+          OR 'DLKM'     = ANY (p.advstandardmodell)   
+     -- LeopoldshÃ¶he, HeinestraÃe: 'DLKM'
+           -- Ersatzweise auch "keine Angabe", aber nur wenn es keinen besseren Text zur Lage gibt
+           OR (p.advstandardmodell IS NULL
+               AND (SELECT s.ogc_fid                -- irgend ein Feld
+                      FROM ap_pto s                 -- eines anderen Textes (suchen)
+                      JOIN alkis_beziehungen vs     -- zur gleichen Lage o.HsNr
+                        ON s.gml_id = vs.beziehung_von
+                      JOIN ax_lagebezeichnungohnehausnummer ls
+                        ON vs.beziehung_zu = ls.gml_id
+                     WHERE ls.gml_id = l.gml_id
+                       AND vs.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
+                       AND NOT s.advstandardmodell IS NULL 
+                     LIMIT 1  -- einer reicht als Beweis
+                   ) IS NULL 
+              ) -- "Subquery IS NULL" liefert true wenn kein weiterer Text gefunden wird
+         )
+;
+
+COMMENT ON VIEW ap_pto_stra 
+  IS 'Sicht fÃŒr Kartendarstellung: Beschriftung aus "ap_pto" fÃŒr Lagebezeichnung mit Art "StraÃe", "Weg", "Platz" oder Klassifizierung.
+ Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe. Dient im Script pp_laden.sql zum ersten FÃŒllen der Tabelle "pp_strassenname_p".';
+
+
+-- Daten aus dem View "ap_pto_stra" werden im PostProcessing gespeichert in der Tabelle "pp_strassenname_p".
+-- Der View ÃŒbernimmt die Auswahl des passenden advstandardmodell und rechnet den Winkel passend um,
+-- In der Tabelle werden dann die leer gebliebenen Label aus dem Katalog noch ergÃ€nzt.
+
+-- DROP VIEW ap_lto_stra;
+CREATE OR REPLACE VIEW ap_lto_stra 
+AS 
+  SELECT p.ogc_fid,
+         l.gml_id,                               -- wird im PP zum Nachladen aus Katalog gebraucht
+         p.schriftinhalt,                        -- WMS: LABELITEM
+         p.art,                                  -- WMS: CLASSITEM
+         p.horizontaleausrichtung  AS hor,       -- Verfeinern der Text-Position ..
+         p.vertikaleausrichtung    AS ver,       --  .. durch Klassifizierung hor/ver
+         p.wkb_geometry
+    FROM ap_lto p
+    JOIN alkis_beziehungen v   -- Relation zur Lagebezeichnung o. HsNr.
+      ON p.gml_id = v.beziehung_von
+    JOIN ax_lagebezeichnungohnehausnummer l
+      ON v.beziehung_zu = l.gml_id
+   WHERE  p.endet IS NULL                            -- nichts historisches
+     AND  p.art   IN ('Strasse','Weg','Platz','BezKlassifizierungStrasse') -- Diese Werte als CLASSES in LAYER behandeln. 
+     AND  v.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
+
+--   AND (   ('DKKM1000' = ANY (p.advstandardmodell)     -- "Lika 1000" bevorzugen
+--        OR ('DLKM'     = ANY (p.advstandardmodell)  ) 
+
+     -- ++ Muss als Array angelegt sein!!
+     AND ( NOT p.advstandardmodell  IS NULL          -- ++ ZwischenlÃ¶sung bis DB mit neuem Schema (2014-08-22) angelegt und geladen wurde ++
+
+           -- Ersatzweise auch "keine Angabe", aber nur wenn es keinen besseren Text zur Lage gibt
+           OR (p.advstandardmodell IS NULL
+               AND (SELECT s.ogc_fid                -- irgend ein Feld
+                      FROM ap_lto s                 -- eines anderen Textes (suchen)
+                      JOIN alkis_beziehungen vs     -- zur gleichen Lage o.HsNr
+                        ON s.gml_id = vs.beziehung_von
+                      JOIN ax_lagebezeichnungohnehausnummer ls
+                        ON vs.beziehung_zu = ls.gml_id
+                     WHERE ls.gml_id = l.gml_id
+                       AND vs.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
+                       AND NOT s.advstandardmodell IS NULL 
+                     LIMIT 1  -- einer reicht als Beweis
+                   ) IS NULL 
+              ) -- "Subquery IS NULL" liefert true wenn kein weiterer Text gefunden wird
+         )
+;
+COMMENT ON VIEW ap_lto_stra 
+  IS 'Sicht fÃŒr Kartendarstellung: Beschriftung aus "ap_lto" fÃŒr Lagebezeichnung mit Art "StraÃe", "Weg", "Platz" oder Klassifizierung.
+ Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe. Dient im Script pp_laden.sql zum ersten FÃŒllen der Tabelle "pp_strassenname_l".';
+
+-- 2014-08-22: Daten aus dem View "ap_lto_stra" werden im PostProcessing gespeichert in den Tabellen "pp_strassenname_l".
+-- Der View ÃŒbernimmt die Auswahl des passenden advstandardmodell.
+-- In der Tabelle werden dann die leer gebliebenen Label aus dem Katalog noch ergÃ€nzt.
+
+
+-- Layer NAME "ap_pto_nam" GROUP "praesentation"
+-- -------------------------------------------------------
+-- 'NAM' = Name (Eigenname) und 'ZNM' = Zweitname (touristischer oder volkstÃŒmlicher Name) zu ...
+--   -- AX_Strassenverkehr oder AX_Platz usw.
+--  ap_pto >dientZurDarstellungVon> ?irgendwas?
+
+-- Dieser View wird bisher nicht verwendet. Dazu mÃŒsste ein neuer Layer erzeugt werden und die 
+-- Arten 'NAM' und 'ZNM' dann aus den View 'ap_pto_rest' heraus genommen werden.
+
+-- Entweder Layer trennen nach Text-Typen "NAM"+"ZNM" und dem Rest
+-- ODER           trennen nach fachlichen Ebenen wie "Nutzung" und "GebÃ€ude" und ....
+
+CREATE OR REPLACE VIEW ap_pto_nam 
+AS 
+  SELECT p.ogc_fid,
+	  -- p.advstandardmodell       AS modell,    -- TEST
+         p.schriftinhalt,                        -- WMS: LABELITEM
+         p.art,                                  -- WMS: CLASSITEM
+         p.horizontaleausrichtung  AS hor,       -- Verfeinern der Text-Position ..
+         p.vertikaleausrichtung    AS ver,       --  .. durch Klassifizierung hor/ver
+         p.drehwinkel * 57.296     AS winkel,    -- * 180 / Pi
+         p.wkb_geometry
+    FROM ap_pto p
+    JOIN alkis_beziehungen v       
+      ON p.gml_id = v.beziehung_von
+  --JOIN nutzung l                      -- Im PostProcessing zusammen gefasste Nutzungsarten-Abschnitte
+  --  ON v.beziehung_zu = l.gml_id
+   WHERE NOT p.schriftinhalt IS NULL 
+     AND  p.endet IS NULL                            -- nichts historisches
+     AND  p.art   IN ('NAM','ZNM') -- Diese Werte als CLASSES in LAYER behandeln. 
+     AND  v.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
+     AND ('DKKM1000' = ANY (p.advstandardmodell)     -- "Lika 1000" bevorzugen
+           -- Ersatzweise auch "keine Angabe", aber nur wenn es keinen besseren Text zur Lage gibt
+           OR (p.advstandardmodell IS NULL
+               AND (SELECT vs.beziehung_zu          -- irgend ein Feld
+					  FROM ap_pto s                 -- eines anderen Textes (suchen)
+                      JOIN alkis_beziehungen vs     -- zur gleichen ?irgendwas?
+                        ON s.gml_id = vs.beziehung_von
+                     WHERE vs.beziehung_zu = v.beziehung_zu
+                       AND vs.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
+                       AND NOT s.advstandardmodell IS NULL 
+                     LIMIT 1  -- einer reicht als Beweis
+					) IS NULL 
+              ) -- "Subquery IS NULL" liefert true wenn kein weiterer Text gefunden wird
+         )
+;
+COMMENT ON VIEW ap_pto_nam 
+  IS 'Sicht fÃŒr Kartendarstellung: Beschriftung mit Art = Name/Zweitname. Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe.';
+-- ToDo: Im PostProcessing in einer Tabelle speichern.
+
+
+-- Layer NAME "ap_pto" GROUP "praesentation"
+-- ----------------------------------------
+-- REST: Texte, die nicht schon in einem anderen Layer ausgegeben werden
+-- Ersetzt den View "s_beschriftung"
+
+-- alte Version bis 2013-04-15
+-- Nachteil: es werden mehrere Texte zum gleichen Objekt angezeigt die fÃŒr verschiedene MaÃstÃ€be gedacht sind.
+--CREATE OR REPLACE VIEW ap_pto_rest 
+--AS 
+--  SELECT p.ogc_fid, 
+--         p.schriftinhalt, 
+--         p.art, 
+--         p.drehwinkel * 57.296 AS winkel, -- * 180 / Pi
+--         p.wkb_geometry 
+--    FROM ap_pto p
+--   WHERE not p.schriftinhalt IS NULL 
+--     AND p.endet IS NULL
+--     AND p.art NOT IN ('HNR','Strasse','Weg','Platz','BezKlassifizierungStrasse','AOG_AUG');
+
+
+-- 2013-04-15 Doppelte Darstellung aufgrund verschiedener "advstandardmodell" zum Objekt unterdrÃŒcken analog ap_pto_stra und ap_pto_nam
+CREATE OR REPLACE VIEW ap_pto_rest 
+AS 
+  SELECT p.ogc_fid, 
+         p.schriftinhalt, 
+         p.art, 
+         p.drehwinkel * 57.296 AS winkel, -- * 180 / Pi
+         p.wkb_geometry 
+    FROM ap_pto p
+    JOIN alkis_beziehungen v   -- Relation zur ?irgendwas?
+      ON p.gml_id = v.beziehung_von
+   WHERE not p.schriftinhalt IS NULL 
+     AND p.endet IS NULL
+     AND p.art   NOT IN ('PNR','HNR','Strasse','Weg','Platz','BezKlassifizierungStrasse','AOG_AUG') -- 'PNR',
+     -- Diese 'IN'-Liste fortschreiben bei Erweiterungen des Mapfiles
+     -- 'PNR' = Pseudonummer (lfd.-Nr.-NebengebÃ€ude), Inhalte wie "(1)" oder "P50" - kommt nicht mehr vor, oder?
+    AND  v.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
+    AND ('DKKM1000' = ANY (p.advstandardmodell)     -- "Lika 1000" bevorzugen
+           -- Ersatzweise auch "keine Angabe" (nul) akzeptieren, aber nur wenn es keinen besseren Text zu ?irgendwas? gibt
+           -- Es wird hier nur bis zur Verbindungstabelle "alkis_beziehungen" gesucht, ob am anderen Ende die gleiche gml_id verlinkt ist.
+           -- Diese gml_id kÃ¶nnen dann zu verschiedenen, unbekannten Objekttabellen linken.
+           OR (p.advstandardmodell IS NULL
+               AND (SELECT vs.beziehung_zu          -- irgend ein Feld
+					  FROM ap_pto s                 -- eines anderen Textes (suchen)
+                      JOIN alkis_beziehungen vs     -- zur gleichen ?irgendwas?
+                        ON s.gml_id = vs.beziehung_von
+                     WHERE vs.beziehung_zu = v.beziehung_zu
+                       AND vs.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
+                       AND NOT s.advstandardmodell IS NULL 
+                     LIMIT 1  -- einer reicht als AusschluÃkriterium
+					) IS NULL 
+              ) -- "Subquery IS NULL" liefert true wenn kein weiterer Text gefunden wird
+         );
+COMMENT ON VIEW ap_pto_rest 
+  IS 'Sicht fÃŒr Kartendarstellung: Beschriftungen aus "ap_pto", die noch nicht in anderen Layern angezeigt werden.';
+-- ToDo: Im PostProcessing in einer Tabelle speichern.
+
+-- Kommt PNR (Pseudonummer) noch im Bestand vor?
+--  SELECT * FROM ap_pto WHERE art = 'PNR' LIMIT 100; 
+
+
+-- Layer "s_zuordungspfeil_gebaeude"
+-- -----------------------------------
+CREATE OR REPLACE VIEW s_zuordungspfeil_gebaeude 
+AS 
+ SELECT l.ogc_fid, 
+     -- alkis_beziehungen.beziehungsart, -- TEST
+     -- ap_lpo.art, -- TEST
+        l.wkb_geometry
+   FROM ap_lpo l
+   JOIN alkis_beziehungen v
+     ON l.gml_id = v.beziehung_von
+   JOIN ax_gebaeude g
+     ON v.beziehung_zu = g.gml_id
+  WHERE l.art = 'Pfeil'
+    AND v.beziehungsart = 'dientZurDarstellungVon'
+    AND g.endet IS NULL
+    AND l.endet IS NULL;
+COMMENT ON VIEW s_zuordungspfeil_gebaeude 
+  IS 'Sicht fÃŒr Kartendarstellung: Zuordnungspfeil fÃŒr GebÃ€ude-Nummer (NebengebÃ€ude). Wird wahrscheinlich nicht mehr benÃ¶tigt.';
+
+
+-- Grenzpunkte
+-- -----------
+--  ax_punktortta  >zeigtAuf?> AX_Grenzpunkt
+-- Zum Punktort des Grenzpunktes auch eine Information zur Vermarkung holen
+CREATE OR REPLACE VIEW grenzpunkt 
+AS 
+ SELECT o.ogc_fid, 
+        o.wkb_geometry, 
+     -- g.punktkennung,    -- ggf spÃ€ter als labelitem "rrrrrhhhhAnnnnn" "32483 5751 0 02002"
+        g.abmarkung_marke, -- steuert die Darstellung >9000 = unvermarkt
+        v.beziehungsart
+   FROM ax_punktortta o
+   JOIN alkis_beziehungen v 
+     ON o.gml_id = v.beziehung_von
+   JOIN ax_grenzpunkt g
+     ON v.beziehung_zu  = g.gml_id
+   WHERE v.beziehungsart = 'istTeilVon'
+     AND g.endet IS NULL
+     AND g.endet IS NULL;
+COMMENT ON VIEW grenzpunkt 
+  IS 'Sicht fÃŒr Kartendarstellung: ZusammenfÃŒhrung von Punktort (Geometrie) und AX_Grenzpunkt (Eigenschaften)';
+
+
+-- Sichten vom OBK (Oberbergischer Kreis)
+-- --------------------------------------
+--	CREATE OR REPLACE VIEW sk2004_zuordnungspfeil 
+--	AS
+--	 SELECT ap.ogc_fid, ap.wkb_geometry 
+--	 FROM ap_lpo ap 
+--	 WHERE ((ap.signaturnummer = '2004') 
+--	   AND ('DKKM1000'::text ~~ ANY ((ap.advstandardmodell)::text[])));
+--	COMMENT ON VIEW sk2004_zuordnungspfeil IS 'fuer Kartendarstellung: Zuordnungspfeil FlurstÃŒcksnummer"';
+
+--	CREATE OR REPLACE VIEW sk2004_zuordnungspfeil_spitze 
+--	AS
+--	 SELECT ap.ogc_fid, (((st_azimuth(st_pointn(ap.wkb_geometry, 1), 
+--			st_pointn(ap.wkb_geometry, 2)) * (- (180)::double precision)) / pi()) + (90)::double precision) AS winkel, 
+--			st_startpoint(ap.wkb_geometry) AS wkb_geometry 
+--	 FROM ap_lpo ap 
+--	 WHERE ((ap.signaturnummer = '2004') 
+--	   AND ('DKKM1000'::text ~~ ANY ((ap.advstandardmodell)::text[])));
+
+-- Diese Versionen "sk2004_zuordnungspfeil" und "sk2004_zuordnungspfeil_spitze" werden ersetzt durch
+-- "s_zuordungspfeil_flurstueck" und "s_zuordungspfeilspitze_flurstueck".
+-- Grund: "signaturnummer" is NULL, wenn Daten aus AED-Software kommen. Das Feld ist nur bei ibR gefuellt.
+-- Die Alternativen filtern durch JOIN >dientZurDarstellungVon> ax_flurstueck.
+
+CREATE OR REPLACE VIEW sk2012_flurgrenze 
+AS 
+ SELECT fg.ogc_fid, fg.wkb_geometry
+   FROM ax_besondereflurstuecksgrenze fg
+  WHERE (3000 = ANY (fg.artderflurstuecksgrenze)) 
+    AND fg.advstandardmodell ~~ 'DLKM'::text;
+COMMENT ON VIEW sk2012_flurgrenze IS 'Sicht fÃŒr Kartendarstellung: besondere FlurstÃŒcksgrenze "Flurgrenze"';
+
+CREATE OR REPLACE VIEW sk2014_gemarkungsgrenze 
+AS 
+ SELECT gemag.ogc_fid, gemag.wkb_geometry
+   FROM ax_besondereflurstuecksgrenze gemag
+  WHERE (7003 = ANY (gemag.artderflurstuecksgrenze)) 
+    AND gemag.advstandardmodell ~~ 'DLKM'::text;
+COMMENT ON VIEW sk2014_gemarkungsgrenze IS 'Sicht fÃŒr Kartendarstellung: besondere FlurstÃŒcksgrenze "Gemarkungsgrenze"';
+
+CREATE OR REPLACE VIEW sk2018_bundeslandgrenze 
+AS 
+ SELECT blg.ogc_fid, blg.wkb_geometry
+   FROM ax_besondereflurstuecksgrenze blg
+  WHERE (7102 = ANY (blg.artderflurstuecksgrenze)) 
+    AND blg.advstandardmodell ~~ 'DLKM'::text;
+COMMENT ON VIEW sk2018_bundeslandgrenze IS 'Sicht fÃŒr Kartendarstellung: besondere FlurstÃŒcksgrenze "Bundeslandgrenze"';
+
+CREATE OR REPLACE VIEW sk2020_regierungsbezirksgrenze 
+AS 
+ SELECT rbg.ogc_fid, rbg.wkb_geometry
+   FROM ax_besondereflurstuecksgrenze rbg
+  WHERE (7103 = ANY (rbg.artderflurstuecksgrenze)) 
+    AND rbg.advstandardmodell ~~ 'DLKM'::text;
+COMMENT ON VIEW sk2020_regierungsbezirksgrenze IS 'Sicht fÃŒr Kartendarstellung: besondere FlurstÃŒcksgrenze "Regierungsbezirksgrenze"';
+
+CREATE OR REPLACE VIEW sk2022_gemeindegrenze 
+AS 
+ SELECT gemg.ogc_fid, gemg.wkb_geometry
+   FROM ax_besondereflurstuecksgrenze gemg
+  WHERE (7106 = ANY (gemg.artderflurstuecksgrenze)) 
+    AND gemg.advstandardmodell ~~ 'DLKM'::text;
+COMMENT ON VIEW sk2022_gemeindegrenze IS 'Sicht fÃŒr Kartendarstellung: besondere FlurstÃŒcksgrenze "Gemeindegrenze"';
+
+
+-- Zusammenfassung "Politische Grenzen"  Art= 7102, 7103, 7104, 7106
+
+-- Grenze der Bundesrepublik Deutschland 7101 (G)
+-- .. des Bundeslandes 7102 (G)
+-- .. des Regierungsbezirks 7103 (G)
+-- .. des Landkreises 7104 (G)
+-- .. der Gemeinde 7106
+-- .. des Gemeindeteils 7107
+-- .. der Verwaltungsgemeinschaft 7108
+
+CREATE OR REPLACE VIEW sk201x_politische_grenze 
+AS 
+ SELECT ogc_fid, artderflurstuecksgrenze as art, wkb_geometry
+   FROM ax_besondereflurstuecksgrenze
+--WHERE ( ANY (artderflurstuecksgrenze) IN (7102,7103,7104,7106) ) 
+  WHERE (7102 = ANY (artderflurstuecksgrenze) 
+     OR  7102 = ANY (artderflurstuecksgrenze) 
+     OR  7103 = ANY (artderflurstuecksgrenze) 
+     OR  7104 = ANY (artderflurstuecksgrenze) 
+     OR  7106 = ANY (artderflurstuecksgrenze)
+    )
+    AND advstandardmodell ~~ 'DLKM'::text;
+
+COMMENT ON VIEW sk201x_politische_grenze IS 'Sicht fÃŒr Kartendarstellung: besondere FlurstÃŒcksgrenze Politische Grenzen (Bund, Land, Kreis, Gemeinde)';
+-- GefÃ€llt mir nicht! Array-Felder eignen sich nicht als Filter. Optimierung: in Tabelle speichern
+
+
+-- Gruppe: BodenschÃ€tzung
+-- ----------------------
+
+-- FÃŒr Nachschlagen bei Feature-Info: EntschlÃŒsselung in Langform zu einer KlassenflÃ€che, ohne Geometrie.
+CREATE OR REPLACE VIEW s_bodensch_ent
+AS 
+ SELECT bs.ogc_fid,
+      --bs.advstandardmodell,   -- NUR TEST
+        ka.bezeichner                      AS kulturart_e,
+        ba.bezeichner                      AS bodenart_e,
+        zs.bezeichner                      AS zustandsstufe_e,
+        bs.bodenzahlodergruenlandgrundzahl AS grundz,
+        bs.ackerzahlodergruenlandzahl      AS agzahl,
+        ea1.bezeichner                     AS entstehart1,
+        ea2.bezeichner                     AS entstehart2,
+        -- entstehungsartoderklimastufewasserverhaeltnisse ist array!
+        bs.sonstigeangaben,                           -- integer array  - EntschlÃŒsseln?
+        so1.bezeichner                     AS sonst1, -- EnstschlÃŒsselung 
+     -- so2.bezeichner                     AS sonst2, -- immer leer?
+        bs.jahreszahl                                 -- integer
+   FROM ax_bodenschaetzung bs
+   LEFT JOIN ax_bodenschaetzung_kulturart      ka ON bs.kulturart = ka.wert
+   LEFT JOIN ax_bodenschaetzung_bodenart       ba ON bs.bodenart  = ba.wert
+   LEFT JOIN ax_bodenschaetzung_zustandsstufe  zs ON bs.zustandsstufeoderbodenstufe = zs.wert
+   LEFT JOIN ax_bodenschaetzung_entstehungsartoderklimastufe ea1 
+          ON bs.entstehungsartoderklimastufewasserverhaeltnisse[1] = ea1.wert   -- [1] fast immer gefÃŒllt
+   LEFT JOIN ax_bodenschaetzung_entstehungsartoderklimastufe ea2 
+          ON bs.entstehungsartoderklimastufewasserverhaeltnisse[2] = ea2.wert   -- [2] manchmal gefÃŒllt
+   LEFT JOIN ax_bodenschaetzung_sonstigeangaben so1 ON bs.sonstigeangaben[1] = so1.wert -- [1] selten gefÃŒllt
+ --LEFT JOIN ax_bodenschaetzung_sonstigeangaben so2 ON bs.sonstigeangaben[2] = so2.wert -- [2] fast nie
+   WHERE bs.endet IS NULL;
+COMMENT ON VIEW s_bodensch_ent IS 'Sicht fÃŒr Feature-Info: BodenschÃ€tzung, mit Langtexten entschlÃŒsselt';
+
+-- Variante 1: Nur EIN Layer. 
+--             Label mittig in der FlÃ€che, dann ist auch kein Zuordnungs-Pfeil notwendig.
+
+-- KlassenflÃ€che (Geometrie) mit ihrem Kurz-Label-Text, der dann mittig an Standardposition angezeigt werden kann. 
+CREATE OR REPLACE VIEW s_bodensch_wms
+AS 
+ SELECT bs.ogc_fid,
+        bs.wkb_geometry,
+     -- bs.advstandardmodell,   -- NUR TEST
+     -- bs.entstehungsartoderklimastufewasserverhaeltnisse AS entstehart, -- Array der Keys, NUR TEST
+        ka.kurz AS kult,  -- Kulturart, CLASSITEM, steuert die Farbe
+     -- Viele Felder zusammen packen zu einem kompakten Zwei-Zeilen-Label:
+          ba.kurz  ||            -- Bodenart
+          zs.kurz  ||            -- Zustandsstufe
+          ea1.kurz ||            -- Entstehungsart oder Klimastufe, Wasserverhaeltnisse ist ein Array mit 1 bis 2 Elementen
+          coalesce (ea2.kurz, '') -- NULL vermeiden!
+          || ' ' ||              -- Zeilenwechsel im Label (UMN: WRAP)
+          bs.bodenzahlodergruenlandgrundzahl || '/' ||
+          bs.ackerzahlodergruenlandzahl 
+        AS derlabel              -- LABELITEM Umbruch am Blank
+   FROM ax_bodenschaetzung bs
+   LEFT JOIN ax_bodenschaetzung_kulturart      ka ON bs.kulturart = ka.wert
+   LEFT JOIN ax_bodenschaetzung_bodenart       ba ON bs.bodenart  = ba.wert
+   LEFT JOIN ax_bodenschaetzung_zustandsstufe  zs ON bs.zustandsstufeoderbodenstufe = zs.wert
+   LEFT JOIN ax_bodenschaetzung_entstehungsartoderklimastufe ea1 
+          ON bs.entstehungsartoderklimastufewasserverhaeltnisse[1] = ea1.wert   -- [1] fast immer gefÃŒllt
+   LEFT JOIN ax_bodenschaetzung_entstehungsartoderklimastufe ea2 
+          ON bs.entstehungsartoderklimastufewasserverhaeltnisse[2] = ea2.wert   -- [2] manchmal gefÃŒllt
+   WHERE bs.endet IS NULL;
+COMMENT ON VIEW s_bodensch_wms IS 'Sicht fÃŒr Kartendarstellung: BodenschÃ€tzung mit kompakten Informationen fÃŒr Label.';
+
+
+-- Variante 2: FlÃ€che und Text als getrennte Layer. Text an manueller Position, 
+--             ggf. auÃerhalb der FlÃ€che. Dann ist ein Zuordnungspfeil notwendig.
+
+-- Die FlÃ€che ohne Label
+CREATE OR REPLACE VIEW s_bodensch_po
+AS
+ SELECT ogc_fid,
+        wkb_geometry,
+        kulturart  -- Kulturart, numerischer SchlÃŒssel, CLASSITEM
+   FROM ax_bodenschaetzung
+  WHERE endet IS NULL;
+COMMENT ON VIEW s_bodensch_po IS 'Sicht fÃŒr Kartendarstellung: KlassenflÃ€che der BodenschÃ€tzung ohne Label.';
+
+-- Der Label zu den Klassenabschnitten
+-- ACHTUNG: Zu einigen Abschnitten gibt es mehrerere (identische) Label an verschiedenen Positionen! 
+CREATE OR REPLACE VIEW s_bodensch_tx
+AS 
+ SELECT bs.ogc_fid,
+        p.wkb_geometry,           -- Geomterie (Punkt) des Labels
+     -- bs.wkb_geometry,          -- Geometrie der FlÃ€che, nicht des Label
+        bs.advstandardmodell,     -- NUR TEST
+     -- bs.entstehungsartoderklimastufewasserverhaeltnisse AS entstehart, -- Array der Keys, NUR TEST
+        ka.kurz AS kult,  -- Kulturart, CLASSITEM, steuert die Farbe
+     -- p.horizontaleausrichtung,  -- Feinpositionierung  ..    (zentrisch)
+	 -- p.vertikaleausrichtung,    --  .. des Labels            (basis)   -> uc
+     -- Viele Felder zusammen packen zu einem kompakten Zwei-Zeilen-Label:
+          ba.kurz  ||              -- Bodenart
+          zs.kurz  ||              -- Zustandsstufe
+          ea1.kurz ||              -- Entstehungsart oder Klimastufe, Wasserverhaeltnisse
+          coalesce (ea2.kurz, '')  -- Noch mal, ist ein Array mit 1 bis 2 Elementen
+          || ' ' ||                -- Zeilenwechsel im Label (UMN: WRAP ' ')
+          bs.bodenzahlodergruenlandgrundzahl || '/' ||
+          bs.ackerzahlodergruenlandzahl 
+        AS derlabel                -- LABELITEM, Umbruch am Leerzeichen
+   FROM ap_pto                            p
+   JOIN alkis_beziehungen                 v  ON p.gml_id       = v.beziehung_von
+   JOIN ax_bodenschaetzung                bs ON v.beziehung_zu = bs.gml_id
+   LEFT JOIN ax_bodenschaetzung_kulturart      ka ON bs.kulturart = ka.wert
+   LEFT JOIN ax_bodenschaetzung_bodenart       ba ON bs.bodenart  = ba.wert
+   LEFT JOIN ax_bodenschaetzung_zustandsstufe  zs ON bs.zustandsstufeoderbodenstufe = zs.wert
+   LEFT JOIN ax_bodenschaetzung_entstehungsartoderklimastufe ea1 
+          ON bs.entstehungsartoderklimastufewasserverhaeltnisse[1] = ea1.wert 
+   LEFT JOIN ax_bodenschaetzung_entstehungsartoderklimastufe ea2 
+          ON bs.entstehungsartoderklimastufewasserverhaeltnisse[2] = ea2.wert 
+  WHERE -- v.beziehungsart = 'dientZurDarstellungVon' AND 
+         p.endet  IS NULL
+     AND bs.endet IS NULL;
+COMMENT ON VIEW s_bodensch_tx IS 'Sicht fÃŒr Kartendarstellung: Kompakter Label zur KlassenflÃ€che der BodenschÃ€tzung an manueller Position. Der Label wird zusammengesetzt aus: Bodenart, Zustandsstufe, Entstehungsart oder Klimastufe/WasserverhÃ€ltnisse, Bodenzahl oder GrÃŒnlandgrundzahl und Ackerzahl oder GrÃŒnlandzahl.';
+
+-- Redundanz suchen:
+--  SELECT ogc_fid, count(advstandardmodell) AS anzahl FROM s_bodensch_tx GROUP BY ogc_fid HAVING count(advstandardmodell) > 1;
+--  SELECT * FROM s_bodensch_tx WHERE ogc_fid in (2848, 1771, 3131, 3495) ORDER BY ogc_fid;
+
+-- END --
Index: branches/0.7/import/pp_praesentation_sichten.sql
===================================================================
--- branches/0.7/import/pp_praesentation_sichten.sql	(revision 329)
+++ branches/0.7/import/pp_praesentation_sichten.sql	(revision 329)
@@ -0,0 +1,152 @@
+
+-- ALKIS PostNAS 0.7
+
+-- Post Processing (pp_) Teil 3: PrÃ€sentationsobjekte ergÃ€nzen / reparieren
+
+-- Dies Script "pp_praesentation_sichten.sql" dient der Vorschau der Reparatur, 
+-- die mit dem Script "pp_praesentation_action.sql" durchgefÃŒhrt wird.
+
+-- Dies Script kann beim Anlegen der Datenbank verarbeitet werden und wenn sich die Sichten verÃ€ndert haben. 
+-- Das Action-Script muss im Rahmen des Post-Processing nach jeder Konvertierung laufen.
+
+-- Stand 
+--  2013-10-16  F.J. krz: StraÃennamen fehlen in den PrÃ€sentationsobjekten, Tabelle "ap_pto"
+--  2013-10-17  F.J. krz: Relation "dientZurDarstellungVon" macht es einfacher
+
+
+-- ========================================
+-- StraÃen-Namen und StraÃen-Klassifikation
+-- ========================================
+
+-- Bei den NAS-Daten, die vom Land Niedersachsen an die Kommunen abgegeben werden,
+-- tritt in zunehmenden Umfang folgendes Problem auf (Stand Oktober 2013):
+
+-- Die Namen und Klassifikationen der StraÃen fehlen in der Tabelle "ap_pto".
+-- Somit fehlt das Label fÃŒr die Darstellung des StraÃennamens in der Karte.
+-- Position und Drehwinkel sind dort aber noch vorhanden.
+
+-- Der Name, der in anderen Tabellen vorhanden ist, muss nach "ap_pto" kopiert werden,
+-- damit die WMS-Kartendarstellung wieder komplett ist.
+
+-- Tabelle: ap_pto
+-- Spalten:
+--  art:                         'strasse', 'BezKlassifizierungStrasse'
+--  schriftinhalt:               leer
+--  signaturnummer:              ??
+--  drehwinkel und wkb_geometry: gefÃŒllt
+
+-- Hintergrund:
+-- Der StraÃenname ist nach der Migration der ALKIS-Daten aus ALB und ALK zunÃ€chst redundant gespeichert worden.
+-- Er befindet sich "im Original" in "ax_lagebezeichnungkatalogeintrag.bezeichnung".
+-- FÃŒr die Darstellung im Kartenbild ist der gleiche Name oder eine Variante davon (AbkÃŒrzung, getrennt-Schreibung) 
+-- auch in jedem PrÃ€sentationsobjekt noch einmal abgelegt.
+-- Diese Redundanz fÃŒhrt bei einer Ãnderung des Namens zu einem erhÃ¶hten Aufwand, weil er an mehreren Stellen geÃ€ndrt werden muss..
+-- Ziel ist es daher, die identischen Kopien des Namens-Textes in "ap_pto" nicht mehr zu fÃŒhren.
+-- Dort ist nur noch dann ein Eintrag zu finden, wenn der Text nicht identisch sind (AbkÃŒrzung, Getrennt-Schreibung).
+
+-- Signaturnummern werden in ap_pto nur noch erfasst, wenn mehrere Werte mÃ¶glich sind.
+
+-- In Niedersachsen wurde oder wird das LÃ¶schen der identischen Texte in ap_pto mÃ¶glicherweise als Nachmigration gezielt
+-- durchgefÃŒhrt. Die Mehrzahl der Texte ist bereits gelÃ¶scht!
+-- In NRW tritt dies erst seit dem letzten Update der EQK (ibR, Stand Oktober 2013) zunÃ€chst bei den FÃ€llen auf,
+-- die seit dem Update fortgefÃŒhrt wurden. Eine groÃflÃ€chige gezielte Entfernung wurde nicht bemerkt. 
+
+
+-- Simulation der Fehlersituation in einem TEST-Bestand
+-- ----------------------------------------------------
+-- VORSICHT! - Nur in einer Test-Kopie ausfÃŒhren. LÃ¶scht Daten!
+  -- UPDATE ap_pto SET schriftinhalt = NULL  WHERE art = 'Strasse';
+  -- UPDATE ap_pto SET schriftinhalt = NULL  WHERE art = 'BezKlassifizierungStrasse';
+
+
+-- Anzeige der leeren SÃ€tze
+-- ---------------------------------------
+
+-- Diese Views ermitteln, ob der Fall im vorliegenden Datenbestand vorkommt.
+
+-- Dies ist in zunehmend in Niedersachsen der Fall. 
+-- In NRW-Daten wurden weniger FÃ€lle gefunden. Dann ist jeweils auch die Signaturnummer leer. 
+-- Daher sollte "signaturnummer" nicht als Filter bei der "Reparatur" verwendet werden.
+
+
+-- Aus VorgÃ€ngerversion, nicht mehr relevant:
+ -- DROP VIEW pp_praes_strassen_name_ausnahmen;
+ -- DROP VIEW pp_praes_strassen_name_mehrfach;
+
+
+-- DROP VIEW pp_praes_strassen_name_leer;
+CREATE OR REPLACE VIEW pp_praes_strassen_name_leer
+AS
+	SELECT gml_id, schriftinhalt, signaturnummer, art, drehwinkel
+	  FROM ap_pto
+	 WHERE schriftinhalt IS NULL
+	   AND art = 'Strasse'
+	-- AND (signaturnummer = '4107' OR signaturnummer = '8113') -- char
+;
+COMMENT ON VIEW pp_praes_strassen_name_leer 
+  IS 'Es fehlt der Name der StraÃe in der PrÃ€sentationstabelle ap_pto.';
+
+
+--DROP VIEW pp_praes_strassen_klass_leer;
+CREATE OR REPLACE VIEW pp_praes_strassen_klass_leer
+AS
+	SELECT gml_id, schriftinhalt, signaturnummer, art, drehwinkel
+	  FROM ap_pto
+	 WHERE schriftinhalt IS NULL  -- oder '' ?
+	   AND art = 'BezKlassifizierungStrasse'
+	-- AND (signaturnummer = '4080' OR signaturnummer = '4140' OR signaturnummer = '8115')
+;
+COMMENT ON VIEW pp_praes_strassen_klass_leer 
+  IS 'Es fehlt die Klassifikation der StraÃe in der PrÃ€sentationstabelle ap_pto.';
+
+
+-- Diese Views sollen zeigen, welche Namen in "ap_pto.schriftinhalt" eingesetzt werden,
+-- wenn die nachfolgenden update-Befehle ausgefÃŒhrt werden.
+
+-- Dies dient wÃ€hrend der Entwicklung zu manuellen Vorab-Kontrolle.
+-- Wenn hier keine Zeilen ausgegeben werden, kann die AusfÃŒhrung dieses Scriptes im Workflow ausgeschaltet werden.
+-- Dann sind die Namen noch gefÃŒllt und brauchen nicht auf diese Weise rekonstruiert werden.
+
+
+--DROP VIEW  pp_praes_strassen_name_update_vorschau;
+CREATE OR REPLACE VIEW pp_praes_strassen_name_update_vorschau
+AS
+  SELECT -- p.gml_id AS gml_pto,
+         k.bezeichnung,                              -- der Name aus dem Katalog, der nach ap_pto kopiert wird
+         st_asewkt(p.wkb_geometry) AS label_geom     -- Lesbare Koordinaten: Wo liegt der Label?
+  FROM   ax_lagebezeichnungkatalogeintrag  k         -- Katalog enthÃ€lt den StraÃennamen
+    JOIN ax_lagebezeichnungohnehausnummer  l         -- dient als Lage ohne HsNr.
+      ON ( k.land=l.land AND k.regierungsbezirk=l.regierungsbezirk 
+     AND k.kreis=l.kreis AND k.gemeinde=l.gemeinde AND k.lage=l.lage )
+    JOIN alkis_beziehungen x ON l.gml_id = x.beziehung_zu  -- Relation ..
+    JOIN ap_pto            p ON p.gml_id = x.beziehung_von -- .. zum PrÃ€sentationsobjekt
+   WHERE p."art" = 'Strasse' -- Filter
+     AND p.schriftinhalt      IS NULL                -- Text fehlt in ap_pto
+     AND NOT (p.wkb_geometry  IS NULL)               -- hat aber eine Position in ap_pto
+     AND x.beziehungsart = 'dientZurDarstellungVon'; -- Relation PTO - Lage o.HsNr
+
+COMMENT ON VIEW pp_praes_strassen_name_update_vorschau 
+  IS 'PrÃ€sentationsobjekt zu StraÃen. Vorschau zum Update des Namens der in ap_pto.';
+
+
+--DROP VIEW pp_praes_strassen_klass_update_vorschau;
+CREATE OR REPLACE VIEW pp_praes_strassen_klass_update_vorschau
+AS
+  SELECT -- p.gml_id AS gml_pto,
+         k.bezeichnung,                              -- der Name aus dem Katalog, der nach ap_pto kopiert wird
+         st_asewkt(p.wkb_geometry) AS label_geom     -- Lesbare Koordinaten: Wo liegt der Label?
+  FROM   ax_lagebezeichnungkatalogeintrag  k         -- Katalog enthÃ€lt den StraÃennamen
+    JOIN ax_lagebezeichnungohnehausnummer  l         -- dient als Lage ohne HsNr.
+      ON ( k.land=l.land AND k.regierungsbezirk=l.regierungsbezirk 
+     AND k.kreis=l.kreis AND k.gemeinde=l.gemeinde AND k.lage=l.lage )
+    JOIN alkis_beziehungen x ON l.gml_id = x.beziehung_zu  -- Relation ..
+    JOIN ap_pto            p ON p.gml_id = x.beziehung_von -- .. zum PrÃ€sentationsobjekt
+   WHERE p."art" = 'BezKlassifizierungStrasse'       -- Filter
+     AND p.schriftinhalt      IS NULL                -- Text fehlt in ap_pto
+     AND NOT (p.wkb_geometry  IS NULL)               -- hat aber eine Position in ap_pto
+     AND x.beziehungsart = 'dientZurDarstellungVon'; -- Relation PTO - Lage o.HsNr
+
+COMMENT ON VIEW pp_praes_strassen_klass_update_vorschau 
+  IS 'PrÃ€sentationsobjekt zu StraÃen. Vorschau zum Update der Klassifikation der in ap_pto.';
+
+-- ENDE --
Index: branches/0.7/import/alkis_PostNAS_schema.sql
===================================================================
--- branches/0.7/import/alkis_PostNAS_schema.sql	(revision 329)
+++ branches/0.7/import/alkis_PostNAS_schema.sql	(revision 329)
@@ -0,0 +1,4435 @@
+--
+-- *****************************
+--       A  L   K   I   S
+-- *****************************
+--
+-- Datenbankstruktur PostNAS 0.7  (GDAL aus aktuellem Trunk)
+--
+
+-- Damit die Includes (\i) funktionieren muÃ psql im Verzeichnis ausgefÃŒhrt
+-- werden in dem das Skript liegt. Z.B. per
+-- (cd /pfad/zu/postnas; psql -f alkis_PostNAS_0.7_schema.sql)
+
+-- Systemvariable vorher setzen fÃŒr das Koordinatensystem, z.B.
+-- EPSG=25832
+
+
+-- Stand
+-- -----
+
+-- 2012-04-23 FJ  Diff zum GDAL-Patch #4555 angewendet:
+--                Siehe Mail J.E.Fischer in PostNAS-Liste vom 12.03.2012
+--                - Alle Objekte bekommen "endet"-Feld.
+--                - "beginnt" wird in die Unique-Constraint einbezogen.
+--                - Feld 'identifier'.
+--                - "character varying" durch "varchar" ersetzt.
+--                - Keine direkten Ãnderungen an 'geometry_columns' (wegen PostGIS 2)
+--                - DELETE:  Feld endet = aktuelle Zeit
+--                - REPLACE: Feld endet = beginnt des ersetzenden Objektes
+--                - "delete_feature()" ist nun ein Trigger
+
+-- 2012-04-24 FJ  Datei alkis-funktions aus Diff zum GDAL-Patch #4555 hier integriert
+--                Umschaltung mit/ohne Historie ÃŒber VerknÃŒpfung Trigger -> Function
+--                Typ 'GEOMETRY' bei Tabellen: AX_WegPfadSteig, AX_UntergeordnetesGewaesser
+
+-- 2012-10-31 FJ  Trigger fuer NAS-Replace-Saetze repariert:
+--                siehe: FUNCTION delete_feature_kill()
+--                ax_historischesflurstueck.buchungsart ist Text nicht integer.
+
+-- 2012-10-31 AE  Tabellen lÃ¶schen wurde auskommetiert, DB wird leer angelegt SELECT alkis_drop();
+
+-- ** zwischenzeitliche Ãnderungen: siehe Kommentare im SVN
+
+-- 2013-01-15 FJ  Kommentare zu den letztlich hinzugekommenen Tabellen.
+--                DarÃŒber kÃ¶nnen Tabellen aus diesem Script unterschieden werden 
+--                von Tabellen, die PostNAS selbst generiert hat.
+
+-- 2013-04-22 FJ  Tabelle ax_wirtschaftlicheeinheit, Kommentare ergÃ€nzt,
+--                Felad "ax_historischesflurstueck.buchungsart" varchar statt integer
+
+-- 2013-07-10 FJ  Erweiterung alkis_beziehungen nach Vorschlag Marvin Brandt (Kreis Unna)
+--                FÃŒllen der Felder langfristig durch PostNAS (Erweiterung?)
+--                VorlÃ€ufig mit Trigger-Funktions "update_fields_beziehungen"
+
+-- 2014-01-24 FJ  Feld "ax_datenerhebung_punktort" in "Punktort/TA/AG/AU" nach Vorschlag Marvin Brandt (Kreis Unna)
+
+-- 2014-01-29 FJ  Spalte "zeitpunktderentstehung" an allen Vorkommen auf Format "varchar".
+--                Alte auskommentierte Varianten entrÃŒmpelt. 
+--                Tabs durch Space ersetzt und Code wieder hÃŒbsch ausgerichtet.
+
+-- 2014-01-31 FJ  Erweiterungen Marvin Brand (Unna) fuer sauberes Entfernen alter Beziehungen bei "replace".
+--                LÃ¶sung ÃŒber import_id.
+-- 2014-07-31 AE  kommentar auf geometry_columns entfernt - ist in PostGIS 2 keine Tabelle mehr
+
+--  VERSIONS-NUMMER:
+
+--  Dies Schema kann NICHT mehr mit der installierbaren gdal-Version 1.9 verwendet werden.
+--  Derzeit muss ogr2ogr (gdal) aus den Quellen compiliert werden, die o.g. Patch #4555 enthalten.
+--  WeiterfÃŒhrung dieses Zweiges als PostNAS 0.7
+
+-- ALKIS-Dokumentation (NRW):
+--  http://www.bezreg-koeln.nrw.de/extra/33alkis/alkis_nrw.htm
+--  http://www.bezreg-koeln.nrw.de/extra/33alkis/geoinfodok.htm
+--  http://www.bezreg-koeln.nrw.de/extra/33alkis/dokumente/GeoInfoDok/ALKIS/ALKIS_OK_V6-0.html
+
+  SET client_encoding = 'UTF8';
+  SET default_with_oids = false;
+
+-- Abbruch bei Fehlern
+\set ON_ERROR_STOP
+
+-- T u n i n g :
+--   Die Tabelle 'spatial_ref_sys' einer PostGIS-Datenbank auf
+--   die notwendigen Koordinatensysteme reduzieren. Das Loescht >3000 Eintraege.
+
+--  DELETE FROM spatial_ref_sys
+--  WHERE srid NOT
+--  IN (2397, 2398, 2399, 4326,    25830, 25831, 25832, 25833, 25834,  31466, 31467, 31468, 31469);
+--  --  Krassowski        lat/lon  UTM                                 GK
+
+-- Stored Procedures laden
+\i alkis-functions.sql
+
+-- Alle Tabellen lÃ¶schen
+--SELECT alkis_drop();
+
+
+-- Importtabelle fÃŒr Verarbeitungen
+CREATE TABLE import (
+  id serial NOT NULL,
+  datum timestamp without time zone,
+  verzeichnis text,
+  importart text,
+  CONSTRAINT import_pk PRIMARY KEY (id)
+);
+
+CREATE UNIQUE INDEX import_id ON import USING btree (id);
+
+COMMENT ON TABLE  import             IS 'Verwaltung der Import-ProgrammlÃ€ufe. Wird nicht vom Konverter gefÃŒllt sondern aus der Start-Prozedur (z.B. konv_batch.sh).';
+COMMENT ON COLUMN import.id          IS 'Laufende Nummer der Konverter-Datei-Verarbeitung. Der Max-Wert von "id" wird als "alkis_beziehungen.import_id" verwendet, um ein vollstÃ€ndiges LÃ¶schen alter Beziehungen zu ermÃ¶glichen.';
+COMMENT ON COLUMN import.datum       IS 'Zeitpunkt des Beginns des Konverter-Laufes fÃŒr einen Stapel von NAS-Dateien.';
+COMMENT ON COLUMN import.verzeichnis IS 'Ort von dem die NAS-Dateien verarbeitet wurden.';
+COMMENT ON COLUMN import.importart   IS 'Modus des Konverter-Laufes: e="Erstladen" oder a="NBA-Aktualisierung"';
+
+-- Tabelle delete fÃŒr LÃ¶sch- und FortfÃŒhrungsdatensÃ€tze
+CREATE TABLE "delete" (
+     ogc_fid             serial NOT NULL,
+     typename            varchar,
+     featureid           character(32),
+     context             varchar,       -- delete/replace
+     safetoignore        varchar,       -- replace.safetoignore 'true'/'false'
+     replacedBy          varchar,       -- gmlid
+     ignored             boolean DEFAULT false,   -- Satz wurde nicht verarbeitet
+     CONSTRAINT delete_pk PRIMARY KEY (ogc_fid)
+);
+
+
+-- Dummy-Eintrag in Metatabelle
+SELECT AddGeometryColumn('delete','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX delete_fid ON "delete"(featureid);
+
+COMMENT ON TABLE "delete"             IS 'Hilfstabelle fÃŒr das Speichern von LÃ¶schinformationen.';
+COMMENT ON COLUMN delete.typename     IS 'Objektart, also Name der Tabelle, aus der das Objekt zu lÃ¶schen ist.';
+COMMENT ON COLUMN delete.featureid    IS 'Zusammen gesetzt aus GML-ID (16) und Zeitstempel.';
+COMMENT ON COLUMN delete.context      IS 'Operation ''delete'' oder ''replace''';
+COMMENT ON COLUMN delete.safetoignore IS 'Attribut safeToIgnore von wfsext:Replace';
+COMMENT ON COLUMN delete.replacedBy   IS 'gml_id des Objekts, das featureid ersetzt';
+COMMENT ON COLUMN delete.ignored      IS 'LÃ¶schsatz wurde ignoriert';
+
+-- B e z i e h u n g e n
+-- ----------------------------------------------
+-- Zentrale Tabelle fuer alle Relationen im Buchwerk.
+
+-- Statt Relationen und FOREIGN-KEY-CONSTRAINTS zwischen Tabellen direkt zu legen, gehen
+-- in der ALKIS-Datenstruktur alle Beziehungen zwischen zwei Tabellen ÃŒber diese Verbindungstabelle.
+
+-- Die FremdschlÃŒssel 'beziehung_von' und 'beziehung_zu' verweisen auf die ID des Objekte (gml_id).
+-- Das Feld 'gml_id' sollte daher in allen Tabellen indiziert werden.
+
+-- ZusÃ€tzlich enthÃ€lt 'beziehungsart' noch ein Verb fÃŒr die Art der Beziehung.
+
+CREATE TABLE alkis_beziehungen (
+   ogc_fid          serial NOT NULL,
+   beziehung_von    character(16),   --> gml_id
+   beziehungsart    varchar,         --  Liste siehe unten
+   beziehung_zu     character(16),
+   import_id        integer,         -- 2014-01-31 
+   CONSTRAINT alkis_beziehungen_pk PRIMARY KEY (ogc_fid)
+);
+
+CREATE INDEX alkis_beziehungen_von_idx ON alkis_beziehungen USING btree (beziehung_von);
+CREATE INDEX alkis_beziehungen_zu_idx  ON alkis_beziehungen USING btree (beziehung_zu);
+CREATE INDEX alkis_beziehungen_art_idx ON alkis_beziehungen USING btree (beziehungsart);
+
+
+-- Dummy-Eintrag in Metatabelle
+SELECT AddGeometryColumn('alkis_beziehungen','dummy',:alkis_epsg,'POINT',2);
+
+COMMENT ON TABLE  alkis_beziehungen               IS 'zentrale Multi-Verbindungstabelle';
+COMMENT ON COLUMN alkis_beziehungen.beziehung_von IS 'Join auf Feld gml_id verschiedener Tabellen';
+COMMENT ON COLUMN alkis_beziehungen.beziehung_zu  IS 'Join auf Feld gml_id verschiedener Tabellen';
+COMMENT ON COLUMN alkis_beziehungen.beziehungsart IS 'Typ der Beziehung zwischen der von- und zu-Tabelle';
+--MMENT ON COLUMN alkis_beziehungen.beginnt       IS 'Mit Trigger kopiertes Beginnt-Datum des Datensatzes auf der Seite beziehung_von';
+COMMENT ON COLUMN alkis_beziehungen.import_id     IS 'laufende Nummer des Konverter-Laufes aus "import.id".';
+
+
+
+-- Beziehungsarten:
+-- "an" "benennt" "bestehtAusRechtsverhaeltnissenZu" "beziehtSichAuchAuf" "dientZurDarstellungVon"
+-- "durch" "gehoertAnteiligZu" "gehoertZu" "hat" "hatAuch" "istBestandteilVon"
+-- "istGebucht" "istTeilVon" "weistAuf" "zeigtAuf" "zu"
+
+-- Hinweis:
+-- Diese Tabelle enthÃ€lt fÃŒr ein Kreisgebiet ca. 5 Mio. Zeilen und wird stÃ€ndig benutzt.
+-- Optimierung z.B. ÃŒber passende Indices ist wichtig.
+
+--
+-- LÃ¶schtrigger setzen
+--
+-- Option (A) ohne Historie:
+--  - Symlink von alkis-trigger-kill.sql auf alkis-trigger.sql setzen (Default; macht datenbank_anlegen.sh
+--    ggf. automatisch)
+--  - LÃ¶sch- und ÃnderungssÃ€tze werden ausgefÃŒhrt und die alten Objekte werden sofort entfernt
+--
+-- Option (B) mit Historie:
+--  - Symlink von alkis-trigger-hist.sql auf alkis-trigger.sql setzen
+--  - Bei LÃ¶sch- und ÃnderungssÃ€tzen werden die Objekte nicht gelÃ¶scht, sondern
+--    im Feld 'endet' als ungegangen markiert (die den aktuellen gilt: WHERE endet
+--    IS NULL)
+--
+\i alkis-trigger.sql
+
+-- COMMENT ON DATABASE *** IS 'ALKIS - PostNAS 0.7';
+
+-- ===========================================================
+--        A L K I S  -  L a y e r
+-- ===========================================================
+
+
+-- S o n s t i g e s   B a u w e r k
+-- ----------------------------------
+CREATE TABLE ks_sonstigesbauwerk (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     sonstigesmodell     varchar,
+     anlass              varchar,
+     bauwerksfunktion    integer,
+     CONSTRAINT ks_sonstigesbauwerk_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ks_sonstigesbauwerk','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ks_sonstigesbauwerk_geom_idx ON ks_sonstigesbauwerk USING gist (wkb_geometry);
+
+COMMENT ON TABLE  ks_sonstigesbauwerk IS 'Sonstiges Bauwerk';
+
+
+-- A n d e r e   F e s t l e g u n g   n a c h   W a s s e r r e c h t
+-- --------------------------------------------------------------------
+CREATE TABLE ax_anderefestlegungnachwasserrecht (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     artderfestlegung    integer,
+     land                integer,
+     stelle              varchar,
+     CONSTRAINT ax_anderefestlegungnachwasserrecht_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_anderefestlegungnachwasserrecht','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_anderefestlegungnachwasserrecht_geom_idx ON ax_anderefestlegungnachwasserrecht USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_anderefestlegungnachwasserrecht_gml ON ax_anderefestlegungnachwasserrecht USING btree (gml_id,beginnt);
+CREATE INDEX ax_anderefestlegungnachwasserrecht_afs ON ax_anderefestlegungnachwasserrecht(land,stelle);
+
+COMMENT ON TABLE  ax_anderefestlegungnachwasserrecht        IS 'Andere Festlegung nach  W a s s e r r e c h t';
+COMMENT ON COLUMN ax_anderefestlegungnachwasserrecht.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- B a u b l o c k
+-- ---------------------------------------------- Objektartengruppe: Administrative Gebietseinheiten
+CREATE TABLE ax_baublock (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   character(9),
+     anlass              varchar,
+     baublockbezeichnung integer,
+     CONSTRAINT ax_baublock_pk PRIMARY KEY (ogc_fid)
+);
+SELECT AddGeometryColumn('ax_baublock','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_baublock_geom_idx ON ax_baublock USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_baublock_gml ON ax_baublock USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_baublock        IS 'B a u b l o c k';
+COMMENT ON COLUMN ax_baublock.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- B e s o n d e r e r   T o p o g r a f i s c h e r   P u n k t
+-- -------------------------------------------------------------
+CREATE TABLE ax_besonderertopographischerpunkt (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     land                integer,
+     stelle              integer,
+     punktkennung        varchar,
+     sonstigeeigenschaft varchar[],
+     CONSTRAINT ax_besonderertopographischerpunkt_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_besonderertopographischerpunkt','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ax_besonderertopographischerpunkt_gml ON ax_besonderertopographischerpunkt USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_besonderertopographischerpunkt        IS 'B e s o n d e r e r   T o p o g r a f i s c h e r   P u n k t';
+COMMENT ON COLUMN ax_besonderertopographischerpunkt.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- S o l l 
+-- -------
+CREATE TABLE ax_soll (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     name                varchar,
+     CONSTRAINT ax_soll_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_soll','wkb_geometry',:alkis_epsg,'POLYGON',2);
+
+CREATE INDEX ax_soll_geom_idx ON ax_soll USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_soll_gml ON ax_soll USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_soll        IS 'S o l l';
+COMMENT ON COLUMN ax_soll.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- B e w e r t u n g
+-- ------------------
+CREATE TABLE ax_bewertung (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     klassifizierung          integer,
+     CONSTRAINT ax_bewertung_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_bewertung','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_bewertung_geom_idx   ON ax_bewertung USING gist  (wkb_geometry);
+CREATE UNIQUE INDEX ax_bewertung_gml ON ax_bewertung USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_bewertung        IS '"B e w e r t u n g"  ist die Klassifizierung einer FlÃ€che nach dem Bewertungsgesetz (BewertungsflÃ€che).';
+COMMENT ON COLUMN ax_bewertung.gml_id IS 'Identifikator, global eindeutig';
+
+COMMENT ON COLUMN ax_bewertung.klassifizierung IS '"Klassifizierung" ist die gesetzliche Klassifizierung nach dem Bewertungsgesetz.';
+
+
+
+-- T a g e s a b s c h n i t t
+-- ---------------------------
+CREATE TABLE ax_tagesabschnitt (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     tagesabschnittsnummer    varchar,
+     CONSTRAINT ax_tagesabschnitt_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_tagesabschnitt','wkb_geometry',:alkis_epsg,'POLYGON',2);
+
+CREATE INDEX ax_tagesabschnitt_geom_idx   ON ax_tagesabschnitt USING gist  (wkb_geometry);
+CREATE UNIQUE INDEX ax_tagesabschnitt_gml ON ax_tagesabschnitt USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_tagesabschnitt        IS 'T a g e s a b s c h n i t t  der BodenschÃ€tzung.';
+COMMENT ON COLUMN ax_tagesabschnitt.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- D e n k m a l s c h u t z r e c h t
+-- -----------------------------------
+CREATE TABLE ax_denkmalschutzrecht (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     artderfestlegung    integer,
+     land                integer,
+     stelle              varchar,
+     art                 varchar,
+     name                varchar,
+     CONSTRAINT ax_denkmalschutzrecht_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_denkmalschutzrecht','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
+
+CREATE INDEX ax_denkmalschutzrecht_geom_idx   ON ax_denkmalschutzrecht USING gist  (wkb_geometry);
+CREATE UNIQUE INDEX ax_denkmalschutzrecht_gml ON ax_denkmalschutzrecht USING btree (gml_id,beginnt);
+CREATE INDEX ax_denkmalschutzrecht_afs ON ax_denkmalschutzrecht(land,stelle);
+
+COMMENT ON TABLE  ax_denkmalschutzrecht        IS 'D e n k m a l s c h u t z r e c h t';
+COMMENT ON COLUMN ax_denkmalschutzrecht.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- F o r s t r e c h t
+-- -------------------
+CREATE TABLE ax_forstrecht (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     artderfestlegung    integer,
+     besonderefunktion   integer,
+     land                integer,
+     stelle              varchar,
+     CONSTRAINT ax_forstrecht_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_forstrecht','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
+
+CREATE INDEX ax_forstrecht_geom_idx   ON ax_forstrecht USING gist  (wkb_geometry);
+CREATE UNIQUE INDEX ax_forstrecht_gml ON ax_forstrecht USING btree (gml_id,beginnt);
+CREATE INDEX ax_forstrecht_afs ON ax_forstrecht(land,stelle);
+
+COMMENT ON TABLE  ax_forstrecht        IS 'F o r s t r e c h t';
+COMMENT ON COLUMN ax_forstrecht.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- G e b Ã€ u d e a u s g e s t a l t u n g
+-- -----------------------------------------
+CREATE TABLE ax_gebaeudeausgestaltung (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   character(4),
+     anlass              varchar,
+     darstellung         integer,
+   --zeigtauf            varchar,  -- alkis_beziehungen ?
+     CONSTRAINT ax_gebaeudeausgestaltung_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_gebaeudeausgestaltung','wkb_geometry',:alkis_epsg,'GEOMETRY',2);  -- LINESTRING/MULTILINESTRING
+
+CREATE INDEX ax_gebaeudeausgestaltung_geom_idx ON ax_gebaeudeausgestaltung USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_gebaeudeausgestaltung_gml ON ax_gebaeudeausgestaltung USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_gebaeudeausgestaltung        IS 'G e b Ã€ u d e a u s g e s t a l t u n g';
+COMMENT ON COLUMN ax_gebaeudeausgestaltung.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- Georeferenzierte  G e b Ã€ u d e a d r e s s e
+-- ----------------------------------------------
+CREATE TABLE ax_georeferenziertegebaeudeadresse (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20), -- Inhalt z.B. "2008-06-10T15:19:17Z"
+     endet               character(20), -- Inhalt z.B. "2008-06-10T15:19:17Z"
+     -- ISO: waere  "2008-06-10 15:19:17-00", timestamp-Format wird nicht geladen, bleibt leer
+     advstandardmodell   varchar,
+     anlass              varchar,
+     qualitaetsangaben   integer,  -- zb: "1000" (= Massstab)
+     --             --             -- Gemeindeschluessel, bestehend aus:
+     land                integer,  -- 05 = NRW
+     regierungsbezirk    integer,  --   7
+     kreis               integer,  --    66
+     gemeinde            integer,  --      020
+     ortsteil            integer,  --         0
+     --
+     postleitzahl        varchar,  -- mit fuehrenden Nullen
+     ortsnamepost        varchar,  --
+     zusatzortsname      varchar,  --
+     strassenname        varchar,  --
+     strassenschluessel  integer,  -- max.  5 Stellen
+     hausnummer          varchar,  -- meist 3 Stellen
+     adressierungszusatz varchar,  -- Hausnummernzusatz-Buchstabe
+     CONSTRAINT ax_georeferenziertegebaeudeadresse_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_georeferenziertegebaeudeadresse','wkb_geometry',:alkis_epsg,'POINT',2);
+
+CREATE INDEX ax_georeferenziertegebaeudeadresse_geom_idx ON ax_georeferenziertegebaeudeadresse USING gist (wkb_geometry);
+
+-- Index fÃŒr alkis_beziehungen
+CREATE UNIQUE INDEX ax_georeferenziertegebaeudeadresse_gml ON ax_georeferenziertegebaeudeadresse USING btree (gml_id,beginnt);
+
+-- Suchindex Adresse
+CREATE INDEX ax_georeferenziertegebaeudeadresse_adr ON ax_georeferenziertegebaeudeadresse USING btree (strassenschluessel, hausnummer, adressierungszusatz);
+
+COMMENT ON TABLE  ax_georeferenziertegebaeudeadresse        IS 'Georeferenzierte  G e b Ã€ u d e a d r e s s e';
+COMMENT ON COLUMN ax_georeferenziertegebaeudeadresse.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- G r a b l o c h   d e r   B o d e n s c h Ã€ t z u n g
+-- -------------------------------------------------------
+CREATE TABLE ax_grablochderbodenschaetzung (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     art                 varchar,
+     name                varchar,
+     bedeutung           integer[],
+     land                integer,
+     nummerierungsbezirk varchar,
+     gemarkungsnummer    integer,
+     nummerdesgrablochs  varchar,
+     CONSTRAINT ax_grablochderbodenschaetzung_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_grablochderbodenschaetzung','wkb_geometry',:alkis_epsg,'POINT',2);
+
+CREATE INDEX ax_grablochderbodenschaetzung_geom_idx   ON ax_grablochderbodenschaetzung USING gist  (wkb_geometry);
+CREATE UNIQUE INDEX ax_grablochderbodenschaetzung_gml ON ax_grablochderbodenschaetzung USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_grablochderbodenschaetzung        IS 'G r a b l o c h   d e r   B o d e n s c h Ã€ t z u n g';
+COMMENT ON COLUMN ax_grablochderbodenschaetzung.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- H i s t o r i s c h e s   F l u r s t ÃŒ c k   A L B
+-- ---------------------------------------------------
+-- Variante A: "Standardhistorie" (statt ax_historischesflurstueckohneraumbezug)
+
+-- Die "alte" Historie, die schon aus dem VorgÃ€ngerverfahren ALB ÃŒbernommen wurde.
+-- VorgÃ€nger-Nachfolger-Beziehungen, ohne Geometrie
+
+CREATE TABLE ax_historischesflurstueckalb (
+     ogc_fid                            serial NOT NULL,
+     gml_id                             character(16),
+
+     -- GID: AX_Flurstueck_Kerndaten
+     -- 'FlurstÃŒck_Kerndaten' enthÃ€lt Eigenschaften des FlurstÃŒcks, die auch fÃŒr andere FlurstÃŒcksobjektarten gelten (z.B. Historisches FlurstÃŒck).
+     land                               integer,         --
+     gemarkungsnummer                   integer,            --
+     flurnummer                         integer,               -- Teile des FlurstÃŒckskennzeichens
+     zaehler                            integer,            --    (redundant zu flurstueckskennzeichen)
+     nenner                             integer,         --
+     -- daraus abgeleitet:
+     flurstueckskennzeichen             character(20),         -- Inhalt rechts mit __ auf 20 aufgefÃŒllt
+
+     amtlicheflaeche                    double precision,      -- AFL
+     abweichenderrechtszustand          varchar default 'false', -- ARZ
+     zweifelhafterFlurstuecksnachweis   varchar default 'false', -- ZFM Boolean
+     rechtsbehelfsverfahren             varchar default 'false', -- RBV
+     zeitpunktderentstehung             varchar,         -- ZDE  Inhalt jjjj-mm-tt  besser Format date ?
+     gemeinde                           integer,
+     -- GID: ENDE AX_Flurstueck_Kerndaten
+
+     identifier                         character(44),
+     beginnt                            character(20),
+     endet                              character(20),
+     advstandardmodell                  varchar,
+     anlass                             varchar,
+     name                               varchar[],
+     blattart                           integer,
+     buchungsart                        varchar[],
+     buchungsblattkennzeichen           varchar[],
+     bezirk                             integer,
+     buchungsblattnummermitbuchstabenerweiterung  varchar[],
+     laufendenummerderbuchungsstelle              varchar[],
+     zeitpunktderentstehungdesbezugsflurstuecks   varchar,
+     laufendenummerderfortfuehrung      varchar,
+     fortfuehrungsart                   varchar,
+     vorgaengerflurstueckskennzeichen   varchar[],
+     nachfolgerflurstueckskennzeichen   varchar[],
+     CONSTRAINT ax_historischesflurstueckalb_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_historischesflurstueckalb','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ax_historischesflurstueckalb_gml ON ax_historischesflurstueckalb USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_historischesflurstueckalb        IS 'Historisches FlurstÃŒck ALB';
+COMMENT ON COLUMN ax_historischesflurstueckalb.gml_id IS 'Identifikator, global eindeutig';
+CREATE INDEX idx_histfsalb_vor
+   ON ax_historischesflurstueckalb USING btree (vorgaengerflurstueckskennzeichen /* ASC */);
+  COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach VorgÃ€nger-FlurstÃŒck';
+
+CREATE INDEX idx_histfsalb_nach
+   ON ax_historischesflurstueckalb USING btree (vorgaengerflurstueckskennzeichen /* ASC */);
+  COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach Nachfolger-FlurstÃŒck';
+  COMMENT ON TABLE  ax_historischesflurstueckalb        IS 'Historisches FlurstÃŒck ALB';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.gml_id IS 'Identifikator, global eindeutig';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.flurnummer                IS 'FLN "Flurnummer" ist die von der KatasterbehÃ¶rde zur eindeutigen Bezeichnung vergebene Nummer einer Flur, die eine Gruppe von zusammenhÃ€ngenden FlurstÃŒcken innerhalb einer Gemarkung umfasst.';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.zaehler                   IS 'ZAE  Dieses Attribut enthÃ€lt den ZÃ€hler der FlurstÃŒcknummer';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.nenner                    IS 'NEN  Dieses Attribut enthÃ€lt den Nenner der FlurstÃŒcknummer';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.flurstueckskennzeichen    IS '"FlurstÃŒckskennzeichen" ist ein von der KatasterbehÃ¶rde zur eindeutigen Bezeichnung des FlurstÃŒcks vergebenes Ordnungsmerkmal.
+Die Attributart setzt sich aus den nachfolgenden expliziten Attributarten in der angegebenen Reihenfolge zusammen:
+ 1.  Land (2 Stellen)
+ 2.  Gemarkungsnummer (4 Stellen)
+ 3.  Flurnummer (3 Stellen)
+ 4.  FlurstÃŒcksnummer
+ 4.1 ZÃ€hler (5 Stellen)
+ 4.2 Nenner (4 Stellen)
+ 5.  FlurstÃŒcksfolge (2 Stellen)
+Die Elemente sind rechtsbÃŒndig zu belegen, fehlende Stellen sind mit fÃŒhrenden Nullen zu belegen.
+Da die Flurnummer und die FlurstÃŒcksfolge optional sind, sind aufgrund der bundeseinheitlichen Definition im FlurstÃŒckskennzeichen die entsprechenden Stellen, sofern sie nicht belegt sind, durch Unterstrich "_" ersetzt.
+Gleiches gilt fÃŒr FlurstÃŒcksnummern ohne Nenner, hier ist der fehlende Nenner im FlurstÃŒckskennzeichen durch Unterstriche zu ersetzen.';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.amtlicheflaeche           IS 'AFL "Amtliche FlÃ€che" ist der im Liegenschaftskataster festgelegte FlÃ€cheninhalt des FlurstÃŒcks in [qm]. FlurstÃŒcksflÃ€chen kleiner 0,5 qm kÃ¶nnen mit bis zu zwei Nachkommastellen gefÃŒhrt werden, ansonsten ohne Nachkommastellen.';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.abweichenderrechtszustand IS 'ARZ "Abweichender Rechtszustand" ist ein Hinweis darauf, dass auÃerhalb des Grundbuches in einem durch Gesetz geregelten Verfahren der Bodenordnung (siehe Objektart "Bau-, Raum- oder Bodenordnungsrecht", AA "Art der Festlegung", Werte 1750, 1770, 2100 bis 2340) ein neuer Rechtszustand eingetreten ist und das amtliche Verzeichnis der jeweiligen ausfÃŒhrenden Stelle maÃgebend ist.';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.zweifelhafterFlurstuecksnachweis IS 'ZFM "Zweifelhafter FlurstÃŒcksnachweis" ist eine Kennzeichnung eines FlurstÃŒcks, dessen Angaben nicht zweifelsfrei berichtigt werden kÃ¶nnen.';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.rechtsbehelfsverfahren    IS 'RBV "Rechtsbehelfsverfahren" ist der Hinweis darauf, dass bei dem FlurstÃŒck ein laufendes Rechtsbehelfsverfahren anhÃ€ngig ist.';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.zeitpunktderentstehung    IS 'ZDE "Zeitpunkt der Entstehung" ist der Zeitpunkt, zu dem das FlurstÃŒck fachlich entstanden ist.';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.gemeinde                  IS 'Gemeindekennzeichen zur Zuordnung der FlustÃŒcksdaten zu einer Gemeinde.';
+
+
+-- Historisches FlurstÃŒck (ALKIS)
+-- ------------------------------
+-- Die "neue" Historie, die durch FortfÃŒhrungen innerhalb von ALKIS entstanden ist.
+CREATE TABLE ax_historischesflurstueck (
+     ogc_fid                       serial NOT NULL,
+     gml_id                        character(16),
+     -- GID: AX_Flurstueck_Kerndaten
+     -- 'FlurstÃŒck_Kerndaten' enthÃ€lt Eigenschaften des FlurstÃŒcks, die auch fÃŒr andere FlurstÃŒcksobjektarten gelten (z.B. Historisches FlurstÃŒck).
+     land                          integer,         --
+     gemarkungsnummer              integer,            --
+     flurnummer                    integer,               -- Teile des FlurstÃŒckskennzeichens
+     zaehler                       integer,            --    (redundant zu flurstueckskennzeichen)
+     nenner                        integer,         --
+     -- daraus abgeleitet:
+     flurstueckskennzeichen        character(20),           -- Inhalt rechts mit __ auf 20 aufgefÃŒllt
+     amtlicheflaeche               double precision,        -- AFL
+     abweichenderrechtszustand     varchar default 'false', -- ARZ
+     zweifelhafterFlurstuecksnachweis varchar default 'false',   -- ZFM Boolean
+     rechtsbehelfsverfahren        varchar default 'false', -- RBV
+     zeitpunktderentstehung        varchar,           -- ZDE  Inhalt jjjj-mm-tt  besser Format date ?
+     gemeinde                      integer,
+     -- GID: ENDE AX_Flurstueck_Kerndaten
+     identifier                    character(44),
+     beginnt                       character(20),
+     endet                         character(20),
+     advstandardmodell             varchar,
+     anlass                        varchar,
+     art                           varchar[],
+     name                          varchar[],
+     regierungsbezirk              integer,
+     kreis                         integer,
+     vorgaengerflurstueckskennzeichen   varchar[],
+     nachfolgerflurstueckskennzeichen   varchar[],
+     blattart                      integer,
+     buchungsart                   varchar,
+     buchungsblattkennzeichen      varchar[],
+     bezirk                        integer,
+     buchungsblattnummermitbuchstabenerweiterung  varchar[],
+     laufendenummerderbuchungsstelle    integer,
+     CONSTRAINT ax_historischesflurstueck_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_historischesflurstueck','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
+
+CREATE INDEX ax_historischesflurstueck_geom_idx   ON ax_historischesflurstueck USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_historischesflurstueck_gml ON ax_historischesflurstueck USING btree (gml_id,beginnt);
+
+-- Suche nach VorgÃ€nger / Nachfolger
+-- ++ Welche Methode fÃŒr ein Array?
+-- Wirkt das ÃŒberhaupt bei der Suche nach einem einzelnen Wert aus dem Array?
+CREATE INDEX idx_histfs_vor ON ax_historischesflurstueck (vorgaengerflurstueckskennzeichen /* ASC */);
+CREATE INDEX idx_histfs_nach ON ax_historischesflurstueck (vorgaengerflurstueckskennzeichen /* ASC */);
+
+-- COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach VorgÃ€nger-FlurstÃŒck';
+-- COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach Nachfolger-FlurstÃŒck';
+
+-- Die postgresql-Doku sagt dazu (http://www.postgresql.org/docs/9.1/static/arrays.html):
+--  "Arrays are not sets;
+--   searching for specific array elements can be a sign of database misdesign.
+--   Consider using a separate table with a row for each item that would be an array element.
+--   This will be easier to search, and is likely to scale better for a large number of elements."
+
+
+  COMMENT ON TABLE  ax_historischesflurstueck        IS 'Historisches FlurstÃŒck, ALKIS, MIT Geometrie';
+  COMMENT ON COLUMN ax_historischesflurstueck.gml_id IS 'Identifikator, global eindeutig';
+  COMMENT ON COLUMN ax_historischesflurstueck.flurnummer                IS 'FLN "Flurnummer" ist die von der KatasterbehÃ¶rde zur eindeutigen Bezeichnung vergebene Nummer einer Flur, die eine Gruppe von zusammenhÃ€ngenden FlurstÃŒcken innerhalb einer Gemarkung umfasst.';
+  COMMENT ON COLUMN ax_historischesflurstueck.zaehler                   IS 'ZAE  Dieses Attribut enthÃ€lt den ZÃ€hler der FlurstÃŒcknummer';
+  COMMENT ON COLUMN ax_historischesflurstueck.nenner                    IS 'NEN  Dieses Attribut enthÃ€lt den Nenner der FlurstÃŒcknummer';
+  COMMENT ON COLUMN ax_historischesflurstueck.flurstueckskennzeichen    IS '"FlurstÃŒckskennzeichen" ist ein von der KatasterbehÃ¶rde zur eindeutigen Bezeichnung des FlurstÃŒcks vergebenes Ordnungsmerkmal.
+Die Attributart setzt sich aus den nachfolgenden expliziten Attributarten in der angegebenen Reihenfolge zusammen:
+ 1.  Land (2 Stellen)
+ 2.  Gemarkungsnummer (4 Stellen)
+ 3.  Flurnummer (3 Stellen)
+ 4.  FlurstÃŒcksnummer
+ 4.1 ZÃ€hler (5 Stellen)
+ 4.2 Nenner (4 Stellen)
+ 5.  FlurstÃŒcksfolge (2 Stellen)
+Die Elemente sind rechtsbÃŒndig zu belegen, fehlende Stellen sind mit fÃŒhrenden Nullen zu belegen.
+Da die Flurnummer und die FlurstÃŒcksfolge optional sind, sind aufgrund der bundeseinheitlichen Definition im FlurstÃŒckskennzeichen die entsprechenden Stellen, sofern sie nicht belegt sind, durch Unterstrich "_" ersetzt.
+Gleiches gilt fÃŒr FlurstÃŒcksnummern ohne Nenner, hier ist der fehlende Nenner im FlurstÃŒckskennzeichen durch Unterstriche zu ersetzen.';
+  COMMENT ON COLUMN ax_historischesflurstueck.amtlicheflaeche           IS 'AFL "Amtliche FlÃ€che" ist der im Liegenschaftskataster festgelegte FlÃ€cheninhalt des FlurstÃŒcks in [qm]. FlurstÃŒcksflÃ€chen kleiner 0,5 qm kÃ¶nnen mit bis zu zwei Nachkommastellen gefÃŒhrt werden, ansonsten ohne Nachkommastellen.';
+  COMMENT ON COLUMN ax_historischesflurstueck.abweichenderrechtszustand IS 'ARZ "Abweichender Rechtszustand" ist ein Hinweis darauf, dass auÃerhalb des Grundbuches in einem durch Gesetz geregelten Verfahren der Bodenordnung (siehe Objektart "Bau-, Raum- oder Bodenordnungsrecht", AA "Art der Festlegung", Werte 1750, 1770, 2100 bis 2340) ein neuer Rechtszustand eingetreten ist und das amtliche Verzeichnis der jeweiligen ausfÃŒhrenden Stelle maÃgebend ist.';
+  COMMENT ON COLUMN ax_historischesflurstueck.zweifelhafterFlurstuecksnachweis IS 'ZFM "Zweifelhafter FlurstÃŒcksnachweis" ist eine Kennzeichnung eines FlurstÃŒcks, dessen Angaben nicht zweifelsfrei berichtigt werden kÃ¶nnen.';
+  COMMENT ON COLUMN ax_historischesflurstueck.rechtsbehelfsverfahren    IS 'RBV "Rechtsbehelfsverfahren" ist der Hinweis darauf, dass bei dem FlurstÃŒck ein laufendes Rechtsbehelfsverfahren anhÃ€ngig ist.';
+  COMMENT ON COLUMN ax_historischesflurstueck.zeitpunktderentstehung    IS 'ZDE "Zeitpunkt der Entstehung" ist der Zeitpunkt, zu dem das FlurstÃŒck fachlich entstanden ist.';
+  COMMENT ON COLUMN ax_historischesflurstueck.gemeinde                  IS 'GDZ "Gemeindekennzeichen zur Zuordnung der FlustÃŒcksdaten zu einer Gemeinde.';
+
+
+-- Kennzeichen indizieren, z.B. fuer Suche aus der Historie
+CREATE INDEX ax_historischesflurstueck_kennz
+   ON ax_historischesflurstueck(flurstueckskennzeichen /* ASC NULLS LAST */);
+COMMENT ON INDEX ax_historischesflurstueck_kennz IS 'Suche nach FlurstÃŒckskennzeichen';
+
+
+
+-- N  a t u r -,  U m w e l t -   o d e r   B o d e n s c h u t z r e c h t
+-- ------------------------------------------------------------------------
+CREATE TABLE ax_naturumweltoderbodenschutzrecht (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     artderfestlegung    integer,
+     land                integer,
+     stelle              varchar,
+     name                varchar,
+     CONSTRAINT ax_naturumweltoderbodenschutzrecht_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_naturumweltoderbodenschutzrecht','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
+
+CREATE INDEX ax_naturumweltoderbodenschutzrecht_geom_idx   ON ax_naturumweltoderbodenschutzrecht USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_naturumweltoderbodenschutzrecht_gml ON ax_naturumweltoderbodenschutzrecht USING btree (gml_id,beginnt);
+CREATE INDEX ax_naturumweltoderbodenschutzrecht_afs ON ax_naturumweltoderbodenschutzrecht(land,stelle);
+
+COMMENT ON TABLE  ax_naturumweltoderbodenschutzrecht        IS 'N  a t u r -,  U m w e l t -   o d e r   B o d e n s c h u t z r e c h t';
+COMMENT ON COLUMN ax_naturumweltoderbodenschutzrecht.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- S c h u t z g e b i e t   n a c h   W a s s e r r e c h t
+-- -----------------------------------------------------------
+CREATE TABLE ax_schutzgebietnachwasserrecht (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     artderfestlegung    integer,
+     land                integer,
+     stelle              varchar,
+     art                 varchar[],
+     name                varchar[],
+     nummerdesschutzgebietes  varchar,
+     CONSTRAINT ax_schutzgebietnachwasserrecht_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_schutzgebietnachwasserrecht','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ax_schutzgebietnachwasserrecht_gml ON ax_schutzgebietnachwasserrecht USING btree (gml_id,beginnt);
+CREATE INDEX ax_schutzgebietnachwasserrecht_afs ON ax_schutzgebietnachwasserrecht(land,stelle);
+
+COMMENT ON TABLE  ax_schutzgebietnachwasserrecht        IS 'S c h u t z g e b i e t   n a c h   W a s s s e r r e c h t';
+COMMENT ON COLUMN ax_schutzgebietnachwasserrecht.gml_id IS 'Identifikator, global eindeutig';
+
+-- S c h u t z g e b i e t   n a c h   N a t u r,  U m w e l t  o d e r  B o d e n s c h u t z r e c h t
+-- -----------------------------------------------------------------------------------------------------
+CREATE TABLE ax_schutzgebietnachnaturumweltoderbodenschutzrecht (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     artderfestlegung    integer,
+     land                integer,
+     stelle              varchar,
+     CONSTRAINT ax_schutzgebietnachnaturumweltoderbodenschutzrecht_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_schutzgebietnachnaturumweltoderbodenschutzrecht','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ax_schutzgebietnachnaturumweltoderbodenschutzrecht_gml ON ax_schutzgebietnachnaturumweltoderbodenschutzrecht USING btree (gml_id,beginnt);
+CREATE INDEX ax_schutzgebietnachnaturumweltoderbodenschutzrecht_afs ON ax_schutzgebietnachnaturumweltoderbodenschutzrecht(land,stelle);
+
+COMMENT ON TABLE  ax_schutzgebietnachnaturumweltoderbodenschutzrecht IS 'S c h u t z g e b i e t   n a c h   N a t u r,  U m w e l t  o d e r  B o d e n s c h u t z r e c h t';
+COMMENT ON COLUMN ax_schutzgebietnachnaturumweltoderbodenschutzrecht.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- S c h u t z z o n e
+-- -------------------
+CREATE TABLE ax_schutzzone (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     "zone"              integer,
+     art                 varchar[],
+     CONSTRAINT ax_schutzzone_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_schutzzone','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
+
+CREATE INDEX ax_schutzzone_geom_idx   ON ax_schutzzone USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_schutzzone_gml ON ax_schutzzone USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_schutzzone        IS 'S c h u t z z o n e';
+COMMENT ON COLUMN ax_schutzzone.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- T o p o g r a p h i s c h e   L i n i e
+-- ---------------------------------------
+CREATE TABLE ax_topographischelinie (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     liniendarstellung   integer,
+     sonstigeeigenschaft varchar,
+     CONSTRAINT ax_topographischelinie_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_topographischelinie','wkb_geometry',:alkis_epsg,'LINESTRING',2);
+
+CREATE INDEX ax_topographischelinie_geom_idx   ON ax_topographischelinie USING gist(wkb_geometry);
+CREATE UNIQUE INDEX ax_topographischelinie_gml ON ax_topographischelinie USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_topographischelinie        IS 'T o p o g r a p h i s c h e   L i n i e';
+COMMENT ON COLUMN ax_topographischelinie.gml_id IS 'Identifikator, global eindeutig';
+
+
+--*** ############################################################
+--*** Objektbereich: AAA Basisschema
+--*** ############################################################
+
+--** Objektartengruppe: AAA_Praesentationsobjekte
+--   ===================================================================
+
+
+-- A P   P P O
+-- ----------------------------------------------
+CREATE TABLE ap_ppo (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar[],
+     sonstigesmodell          varchar,
+     anlass                   varchar,
+     signaturnummer           varchar,
+     darstellungsprioritaet   integer,
+     art                      varchar,
+     drehwinkel               double precision,
+     CONSTRAINT ap_ppo_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ap_ppo','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POINT/MULTIPOLYGON
+
+CREATE INDEX ap_ppo_geom_idx   ON ap_ppo USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ap_ppo_gml ON ap_ppo USING btree (gml_id,beginnt);
+CREATE INDEX ap_ppo_endet      ON ap_ppo USING btree (endet);
+
+COMMENT ON TABLE  ap_ppo        IS 'PPO: PunktfÃ¶rmiges PrÃ€sentationsobjekt';
+COMMENT ON COLUMN ap_ppo.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- A P   L P O
+-- ----------------------------------------------
+CREATE TABLE ap_lpo (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar[],
+     anlass                   varchar,
+     signaturnummer           varchar,
+     darstellungsprioritaet   integer,
+     art                      varchar,
+     CONSTRAINT ap_lpo_pk PRIMARY KEY (ogc_fid)
+);
+SELECT AddGeometryColumn('ap_lpo','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/MULTILINESTRING
+
+CREATE INDEX ap_lpo_geom_idx   ON ap_lpo USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ap_lpo_gml ON ap_lpo USING btree (gml_id,beginnt);
+CREATE INDEX ap_lpo_endet      ON ap_lpo USING btree (endet);
+
+COMMENT ON TABLE  ap_lpo        IS 'LPO: LinienfÃ¶rmiges PrÃ€sentationsobjekt';
+COMMENT ON COLUMN ap_lpo.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- A P   P T O
+-- ----------------------------------------------
+CREATE TABLE ap_pto (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar[],
+     anlass                   varchar,
+     schriftinhalt            varchar,
+     fontsperrung             double precision,
+     skalierung               double precision,
+     horizontaleausrichtung   varchar,
+     vertikaleausrichtung     varchar,
+     signaturnummer           varchar,
+     darstellungsprioritaet   integer,
+     art                      varchar,            -- Inhalte z.B. "ZAE_NEN" siehe unten
+     drehwinkel               double precision,   -- falsche Masseinheit fÃŒr Mapserver, im View umrechnen
+     CONSTRAINT ap_pto_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ap_pto','wkb_geometry',:alkis_epsg,'POINT',2);
+
+CREATE INDEX ap_pto_geom_idx   ON ap_pto USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ap_pto_gml ON ap_pto USING btree (gml_id,beginnt);
+CREATE INDEX art_idx           ON ap_pto USING btree (art);
+CREATE INDEX ap_pto_endet_idx  ON ap_pto USING btree (endet);
+CREATE INDEX ap_pto_sn_idx     ON ap_pto USING btree (signaturnummer);
+
+COMMENT ON TABLE  ap_pto               IS 'PTO: TextfÃ¶rmiges PrÃ€sentationsobjekt mit punktfÃ¶rmiger Textgeometrie ';
+COMMENT ON COLUMN ap_pto.gml_id        IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ap_pto.schriftinhalt IS 'Label: anzuzeigender Text';
+COMMENT ON INDEX  art_idx              IS 'Suchindex auf hÃ€ufig benutztem Filterkriterium';
+
+
+-- Die Abfrage "select distinct art from ap_pto" liefert folgende Werte:
+-- "ART""BezKlassifizierungStrasse""BSA""BWF""FKT""Fliessgewaesser""FreierText""Friedhof""Gewanne"
+-- "GFK""GKN""Halde_LGT""HNR""MDB""NAM""PKN""Platz""PNR""SPO""Strasse"
+-- "urn:adv:fachdatenverbindung:AA_Antrag""WE1_TEXT""Weg""ZAE_NEN""ZNM""<NULL>"
+
+
+
+-- A P   L T O
+-- ----------------------------------------------
+CREATE TABLE ap_lto (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     sonstigesmodell          varchar,
+     anlass                   varchar,
+     art                      varchar,
+     schriftinhalt            varchar,
+     fontsperrung             double precision,
+     skalierung               double precision,
+     horizontaleausrichtung   varchar,
+     vertikaleausrichtung     varchar,
+     signaturnummer           varchar,
+     darstellungsprioritaet   integer,
+     CONSTRAINT ap_lto_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ap_lto','wkb_geometry',:alkis_epsg,'LINESTRING',2);
+
+CREATE INDEX ap_lto_geom_idx   ON ap_lto USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ap_lto_gml ON ap_lto USING btree (gml_id,beginnt);
+CREATE INDEX ap_lto_endet_idx  ON ap_lto USING btree (endet);
+
+COMMENT ON TABLE  ap_lto        IS 'LTO: TextfÃ¶rmiges PrÃ€sentationsobjekt mit linienfÃ¶rmiger Textgeometrie';
+COMMENT ON COLUMN ap_lto.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- A P  D a r s t e l l u n g
+-- ----------------------------------------------
+CREATE TABLE ap_darstellung (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20), -- Datumsformat
+     endet                    character(20), -- Datumsformat
+     advstandardmodell        varchar[],
+     anlass                   varchar,
+     art                      varchar,
+     darstellungsprioritaet   integer,
+     signaturnummer           varchar,
+     positionierungsregel     integer,
+     CONSTRAINT ap_darstellung_pk PRIMARY KEY (ogc_fid)
+);
+
+-- Dummy-Eintrag in Metatabelle
+SELECT AddGeometryColumn('ap_darstellung','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ap_darstellung_gml ON ap_darstellung USING btree (gml_id,beginnt);
+CREATE INDEX ap_darstellung_endet_idx  ON ap_darstellung USING btree (endet);
+
+COMMENT ON TABLE  ap_darstellung        IS 'A P  D a r s t e l l u n g';
+COMMENT ON COLUMN ap_darstellung.gml_id IS 'Identifikator, global eindeutig';
+
+
+--*** ############################################################
+--*** Objektbereich: FlurstÃŒcke, Lage, Punkte
+--*** ############################################################
+
+--** Objektartengruppe: Angaben zum FlurstÃŒck
+--   ===================================================================
+
+-- F l u r s t u e c k
+-- ----------------------------------------------
+-- Kennung 11001
+CREATE TABLE ax_flurstueck (
+     ogc_fid                       serial NOT NULL,
+     gml_id                        character(16),         -- Datenbank-Tabelle interner SchlÃŒssel
+
+     -- GID: AX_Flurstueck_Kerndaten
+     -- 'FlurstÃŒck_Kerndaten' enthÃ€lt Eigenschaften des FlurstÃŒcks, die auch fÃŒr andere FlurstÃŒcksobjektarten gelten (z.B. Historisches FlurstÃŒck).
+     land                          integer,         --
+     gemarkungsnummer              integer,            --
+     flurnummer                    integer,               -- Teile des FlurstÃŒckskennzeichens
+     zaehler                       integer,            --    (redundant zu flurstueckskennzeichen)
+     nenner                        integer,         --
+     -- daraus abgeleitet:
+     flurstueckskennzeichen        character(20),         -- Inhalt rechts mit __ auf 20 aufgefÃŒllt
+     amtlicheflaeche               double precision,             -- AFL
+     abweichenderrechtszustand     varchar default 'false',      -- ARZ
+     zweifelhafterFlurstuecksnachweis varchar default 'false',   -- ZFM Boolean
+     rechtsbehelfsverfahren        varchar default 'false',      -- RBV
+     zeitpunktderentstehung        varchar,                      -- ZDE  Inhalt jjjj-mm-tt  besser Format date ?
+     gemeinde                      integer,
+     -- GID: ENDE AX_Flurstueck_Kerndaten
+
+     identifier                    character(44),
+     beginnt                       character(20),         -- Timestamp der Entstehung
+     endet                         character(20),         -- Timestamp des Untergangs
+     advstandardmodell             varchar,               -- steuert die Darstellung nach Kartentyp
+     anlass                        varchar,
+     name                          varchar[],
+     regierungsbezirk              integer,
+     kreis                         integer,
+     stelle                        varchar[],
+     angabenzumabschnittflurstueck varchar[],
+     kennungschluessel             varchar[],
+     flaechedesabschnitts          double precision[],
+     angabenzumabschnittnummeraktenzeichen integer[],
+     angabenzumabschnittbemerkung  varchar[],
+     CONSTRAINT ax_flurstueck_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_flurstueck','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_flurstueck_geom_idx   ON ax_flurstueck USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_flurstueck_gml ON ax_flurstueck USING btree (gml_id,beginnt);
+CREATE INDEX ax_flurstueck_lgfzn ON ax_flurstueck USING btree (land,gemarkungsnummer,flurnummer,zaehler,nenner);
+CREATE INDEX ax_flurstueck_arz ON ax_flurstueck USING btree (abweichenderrechtszustand);
+
+  COMMENT ON TABLE  ax_flurstueck                           IS '"F l u r s t u e c k" ist ein Teil der ErdoberflÃ€che, der von einer im Liegenschaftskataster festgelegten Grenzlinie umschlossen und mit einer Nummer bezeichnet ist. Es ist die Buchungseinheit des Liegenschaftskatasters.';
+  COMMENT ON COLUMN ax_flurstueck.gml_id                    IS 'Identifikator, global eindeutig';
+  COMMENT ON COLUMN ax_flurstueck.flurnummer                IS 'FLN "Flurnummer" ist die von der KatasterbehÃ¶rde zur eindeutigen Bezeichnung vergebene Nummer einer Flur, die eine Gruppe von zusammenhÃ€ngenden FlurstÃŒcken innerhalb einer Gemarkung umfasst.';
+  COMMENT ON COLUMN ax_flurstueck.zaehler                   IS 'ZAE  Dieses Attribut enthÃ€lt den ZÃ€hler der FlurstÃŒcknummer';
+  COMMENT ON COLUMN ax_flurstueck.nenner                    IS 'NEN  Dieses Attribut enthÃ€lt den Nenner der FlurstÃŒcknummer';
+  COMMENT ON COLUMN ax_flurstueck.flurstueckskennzeichen    IS '"FlurstÃŒckskennzeichen" ist ein von der KatasterbehÃ¶rde zur eindeutigen Bezeichnung des FlurstÃŒcks vergebenes Ordnungsmerkmal.
+Die Attributart setzt sich aus den nachfolgenden expliziten Attributarten in der angegebenen Reihenfolge zusammen:
+ 1.  Land (2 Stellen)
+ 2.  Gemarkungsnummer (4 Stellen)
+ 3.  Flurnummer (3 Stellen)
+ 4.  FlurstÃŒcksnummer
+ 4.1 ZÃ€hler (5 Stellen)
+ 4.2 Nenner (4 Stellen)
+ 5.  FlurstÃŒcksfolge (2 Stellen)
+Die Elemente sind rechtsbÃŒndig zu belegen, fehlende Stellen sind mit fÃŒhrenden Nullen zu belegen.
+Da die Flurnummer und die FlurstÃŒcksfolge optional sind, sind aufgrund der bundeseinheitlichen Definition im FlurstÃŒckskennzeichen die entsprechenden Stellen, sofern sie nicht belegt sind, durch Unterstrich "_" ersetzt.
+Gleiches gilt fÃŒr FlurstÃŒcksnummern ohne Nenner, hier ist der fehlende Nenner im FlurstÃŒckskennzeichen durch Unterstriche zu ersetzen.';
+  COMMENT ON COLUMN ax_flurstueck.amtlicheflaeche           IS 'AFL "Amtliche FlÃ€che" ist der im Liegenschaftskataster festgelegte FlÃ€cheninhalt des FlurstÃŒcks in [qm]. FlurstÃŒcksflÃ€chen kleiner 0,5 qm kÃ¶nnen mit bis zu zwei Nachkommastellen gefÃŒhrt werden, ansonsten ohne Nachkommastellen.';
+  COMMENT ON COLUMN ax_flurstueck.abweichenderrechtszustand IS 'ARZ "Abweichender Rechtszustand" ist ein Hinweis darauf, dass auÃerhalb des Grundbuches in einem durch Gesetz geregelten Verfahren der Bodenordnung (siehe Objektart "Bau-, Raum- oder Bodenordnungsrecht", AA "Art der Festlegung", Werte 1750, 1770, 2100 bis 2340) ein neuer Rechtszustand eingetreten ist und das amtliche Verzeichnis der jeweiligen ausfÃŒhrenden Stelle maÃgebend ist.';
+  COMMENT ON COLUMN ax_flurstueck.zweifelhafterFlurstuecksnachweis IS 'ZFM "Zweifelhafter FlurstÃŒcksnachweis" ist eine Kennzeichnung eines FlurstÃŒcks, dessen Angaben nicht zweifelsfrei berichtigt werden kÃ¶nnen.';
+  COMMENT ON COLUMN ax_flurstueck.rechtsbehelfsverfahren    IS 'RBV "Rechtsbehelfsverfahren" ist der Hinweis darauf, dass bei dem FlurstÃŒck ein laufendes Rechtsbehelfsverfahren anhÃ€ngig ist.';
+  COMMENT ON COLUMN ax_flurstueck.zeitpunktderentstehung    IS 'ZDE "Zeitpunkt der Entstehung" ist der Zeitpunkt, zu dem das FlurstÃŒck fachlich entstanden ist.';
+  COMMENT ON COLUMN ax_flurstueck.gemeinde                  IS 'Gemeindekennzeichen zur Zuordnung der FlustÃŒcksdaten zu einer Gemeinde.';
+  COMMENT ON COLUMN ax_flurstueck.name                      IS 'Array mit FortfÃŒhrungsjahr und -Nummer';
+  COMMENT ON COLUMN ax_flurstueck.regierungsbezirk          IS 'Regierungsbezirk';
+  COMMENT ON COLUMN ax_flurstueck.kreis                     IS 'Kreis';
+
+
+-- Kennzeichen indizieren, z.B. fuer Suche aus der Historie
+CREATE INDEX ax_flurstueck_kennz
+   ON ax_flurstueck USING btree (flurstueckskennzeichen /* ASC NULLS LAST*/ );
+COMMENT ON INDEX ax_flurstueck_kennz IS 'Suche nach FlurstÃŒckskennzeichen';
+
+-- Relationen:
+--  istGebucht                --> AX_Buchungsstelle
+--  zeigtAuf                  --> AX_LagebezeichnungOhneHausnummer
+--  weistAuf                  --> AX_LagebezeichnungMitHausnummer
+--  gehoertAnteiligZu         --> AX_Flurstueck
+--  beziehtSichAufFlurstueck  --> AX_Flurstueck
+
+
+-- B e s o n d e r e   F l u r s t u e c k s g r e n z e
+-- -----------------------------------------------------
+CREATE TABLE ax_besondereflurstuecksgrenze (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     artderflurstuecksgrenze  integer[],
+     CONSTRAINT ax_besondereflurstuecksgrenze_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_besondereflurstuecksgrenze','wkb_geometry',:alkis_epsg,'LINESTRING',2);
+
+CREATE INDEX ax_besondereflurstuecksgrenze_geom_idx   ON ax_besondereflurstuecksgrenze USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_besondereflurstuecksgrenze_gml ON ax_besondereflurstuecksgrenze USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_besondereflurstuecksgrenze        IS 'B e s o n d e r e   F l u r s t u e c k s g r e n z e';
+COMMENT ON COLUMN ax_besondereflurstuecksgrenze.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- G r e n z p u n k t
+-- ----------------------------------------------
+CREATE TABLE ax_grenzpunkt (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     punktkennung             varchar,
+     land                     integer,
+     stelle                   integer,
+     abmarkung_marke          integer,
+     festgestelltergrenzpunkt varchar,
+     besonderepunktnummer     varchar,
+     bemerkungzurabmarkung    integer,
+     sonstigeeigenschaft      varchar[],
+     art                      varchar,
+     name                     varchar[],
+     zeitpunktderentstehung   varchar,
+     relativehoehe            double precision,
+     CONSTRAINT ax_grenzpunkt_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_grenzpunkt','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ax_grenzpunkt_gml ON ax_grenzpunkt USING btree (gml_id,beginnt);
+CREATE INDEX ax_grenzpunkt_abmm ON ax_grenzpunkt USING btree (abmarkung_marke);
+
+COMMENT ON TABLE  ax_grenzpunkt        IS 'G r e n z p u n k t';
+COMMENT ON COLUMN ax_grenzpunkt.gml_id IS 'Identifikator, global eindeutig';
+
+
+--** Objektartengruppe: Angaben zur Lage
+--   ===================================================================
+
+-- L a g e b e z e i c h n u n g   o h n e   H a u s n u m m e r
+-- -------------------------------------------------------------
+CREATE TABLE ax_lagebezeichnungohnehausnummer (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     unverschluesselt    varchar,  -- Gewanne
+     land                integer,  -- Strassenschluessel
+     regierungsbezirk    integer,
+     kreis               integer,
+     gemeinde            integer,
+     lage                varchar,
+     CONSTRAINT ax_lagebezeichnungohnehausnummer_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_lagebezeichnungohnehausnummer','dummy',:alkis_epsg,'POINT',2);
+
+-- Verbindungstabellen indizieren
+CREATE UNIQUE INDEX ax_lagebezeichnungohnehausnummer_gml ON ax_lagebezeichnungohnehausnummer USING btree (gml_id,beginnt);
+
+-- Such-Index (z.B. fuer Navigations-Programm)
+CREATE INDEX ax_lagebezeichnungohnehausnummer_key ON ax_lagebezeichnungohnehausnummer USING btree (land, regierungsbezirk, kreis, gemeinde,lage);
+
+COMMENT ON TABLE  ax_lagebezeichnungohnehausnummer        IS 'L a g e b e z e i c h n u n g   o h n e   H a u s n u m m e r';
+COMMENT ON COLUMN ax_lagebezeichnungohnehausnummer.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- L a g e b e z e i c h n u n g   m i t   H a u s n u m m e r
+-- -----------------------------------------------------------
+--   ax_flurstueck  >weistAuf>    AX_LagebezeichnungMitHausnummer
+--                  <gehoertZu<
+CREATE TABLE ax_lagebezeichnungmithausnummer (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     land                integer,
+     regierungsbezirk    integer,
+     kreis               integer,
+     gemeinde            integer,
+     lage                varchar,  -- Strassenschluessel
+     hausnummer          varchar,  -- Nummer (blank) Zusatz
+     CONSTRAINT ax_lagebezeichnungmithausnummer_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_lagebezeichnungmithausnummer','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ax_lagebezeichnungmithausnummer_gml ON ax_lagebezeichnungmithausnummer USING btree (gml_id,beginnt); -- Verbindungstabellen indizieren
+CREATE INDEX ax_lagebezeichnungmithausnummer_lage       ON ax_lagebezeichnungmithausnummer USING btree (gemeinde, lage); -- Adressen-Suche nach Strasse
+
+COMMENT ON TABLE  ax_lagebezeichnungmithausnummer        IS 'L a g e b e z e i c h n u n g   m i t   H a u s n u m m e r';
+COMMENT ON COLUMN ax_lagebezeichnungmithausnummer.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- L a g e b e z e i c h n u n g   m i t  P s e u d o n u m m e r
+-- --------------------------------------------------------------
+-- NebengebÃ€ude: lfd-Nummer eines NebengebÃ€udes zu einer (Pseudo-) Hausnummer
+CREATE TABLE ax_lagebezeichnungmitpseudonummer (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     land                integer,
+     regierungsbezirk    integer,
+     kreis               integer,
+     gemeinde            integer,
+     lage                varchar, -- Strassenschluessel
+     pseudonummer        varchar,
+     laufendenummer      varchar, -- leer, Zahl, "P2"
+     CONSTRAINT ax_lagebezeichnungmitpseudonummer_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_lagebezeichnungmitpseudonummer','dummy',:alkis_epsg,'POINT',2);
+
+-- Verbindungstabellen indizieren
+CREATE UNIQUE INDEX ax_lagebezeichnungmitpseudonummer_gml ON ax_lagebezeichnungmitpseudonummer USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_lagebezeichnungmitpseudonummer        IS 'L a g e b e z e i c h n u n g   m i t  P s e u d o n u m m e r';
+COMMENT ON COLUMN ax_lagebezeichnungmitpseudonummer.gml_id IS 'Identifikator, global eindeutig';
+
+
+
+--** Objektartengruppe: Angaben zum Netzpunkt
+--   ===================================================================
+
+
+-- A u f n a h m e p u n k t
+-- ----------------------------------------------
+CREATE TABLE ax_aufnahmepunkt (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     punktkennung        varchar,   --integer ist zu klein,
+     land                integer,
+     stelle              integer,
+     sonstigeeigenschaft varchar[],
+     vermarkung_marke    integer,
+     relativehoehe       double precision,
+     CONSTRAINT ax_aufnahmepunkt_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_aufnahmepunkt','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ax_aufnahmepunkt_gml ON ax_aufnahmepunkt USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_aufnahmepunkt        IS 'A u f n a h m e p u n k t';
+COMMENT ON COLUMN ax_aufnahmepunkt.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- S i c h e r u n g s p u n k t
+-- ----------------------------------------------
+CREATE TABLE ax_sicherungspunkt (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     name                varchar,
+     punktkennung        varchar,
+     land                integer,
+     stelle              integer,
+     sonstigeeigenschaft varchar[],
+     vermarkung_marke    integer,
+     relativehoehe       double precision,
+     CONSTRAINT ax_sicherungspunkt_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_sicherungspunkt','dummy',:alkis_epsg,'POINT',2);
+
+COMMENT ON TABLE  ax_sicherungspunkt        IS 'S i c h e r u n g s p u n k t';
+
+-- s o n s t i g e r   V e r m e s s u n g s p u n k t
+-- ---------------------------------------------------
+CREATE TABLE ax_sonstigervermessungspunkt (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     vermarkung_marke    integer,
+     punktkennung        varchar, -- integer,
+     art                 varchar,
+     land                integer,
+     stelle              integer,
+     sonstigeeigenschaft varchar[],
+     relativehoehe       double precision,
+     CONSTRAINT ax_sonstigervermessungspunkt_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_sonstigervermessungspunkt','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ax_sonstigervermessungspunkt_gml ON ax_sonstigervermessungspunkt USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_sonstigervermessungspunkt        IS 's o n s t i g e r   V e r m e s s u n g s p u n k t';
+COMMENT ON COLUMN ax_sonstigervermessungspunkt.gml_id IS 'Identifikator, global eindeutig';
+
+
+--AX_Netzpunkt
+-- ** Tabelle bisher noch nicht generiert
+
+
+--** Objektartengruppe: Angaben zum Punktort
+--   ===================================================================
+
+
+--AX_Punktort
+
+
+-- P u n k t o r t   AG
+-- ----------------------------------------------
+CREATE TABLE ax_punktortag (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     art                      varchar[],
+     name                     varchar[],
+     kartendarstellung        varchar,
+     ax_datenerhebung_punktort integer,
+     genauigkeitsstufe        integer,
+     vertrauenswuerdigkeit    integer,
+     koordinatenstatus        integer,
+     CONSTRAINT ax_punktortag_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_punktortag','wkb_geometry',:alkis_epsg,'POINT',2);
+
+CREATE INDEX ax_punktortag_geom_idx ON ax_punktortag USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_punktortag_gml ON ax_punktortag USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_punktortag        IS 'P u n k t o r t   AG';
+COMMENT ON COLUMN ax_punktortag.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- P u n k t o r t   A U
+-- ----------------------------------------------
+CREATE TABLE ax_punktortau (
+     ogc_fid                       serial NOT NULL,
+     gml_id                        character(16),
+     identifier                    character(44),
+     beginnt                       character(20),
+     endet                         character(20),
+     advstandardmodell             varchar,
+     anlass                        varchar,
+     kartendarstellung             varchar,
+     ax_datenerhebung_punktort     integer,
+     name                          varchar[],
+     individualname                varchar,
+     vertrauenswuerdigkeit         integer,
+     genauigkeitsstufe             integer,
+     koordinatenstatus             integer,
+     CONSTRAINT ax_punktortau_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_punktortau','wkb_geometry',:alkis_epsg,'POINT',3); -- 0,0,HÃ¶he
+
+CREATE INDEX ax_punktortau_geom_idx ON ax_punktortau USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_punktortau_gml ON ax_punktortau USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_punktortau        IS 'P u n k t o r t   A U';
+COMMENT ON COLUMN ax_punktortau.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- P u n k t o r t   T A
+-- ----------------------------------------------
+CREATE TABLE ax_punktortta (
+     ogc_fid                       serial NOT NULL,
+     gml_id                        character(16),
+     identifier                    character(44),
+     beginnt                       character(20),
+     endet                         character(20),
+     advstandardmodell             varchar,
+     anlass                        varchar,
+     kartendarstellung             varchar,
+     ax_datenerhebung_punktort     integer,
+     description                   integer,
+     art                           varchar[],
+     name                          varchar[],
+     genauigkeitsstufe             integer,
+     vertrauenswuerdigkeit         integer,
+     koordinatenstatus             integer,
+     CONSTRAINT ax_punktortta_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_punktortta','wkb_geometry',:alkis_epsg,'POINT',2);
+
+CREATE INDEX ax_punktortta_geom_idx ON ax_punktortta USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_punktortta_gml ON ax_punktortta USING btree (gml_id,beginnt);
+CREATE INDEX ax_punktortta_endet_idx ON ax_punktortta USING btree (endet);
+
+COMMENT ON TABLE  ax_punktortta        IS 'P u n k t o r t   T A';
+COMMENT ON COLUMN ax_punktortta.gml_id IS 'Identifikator, global eindeutig';
+
+
+--** Objektartengruppe: FortfÃŒhrungsnachweis
+--   ===================================================================
+
+-- F o r t f u e h r u n g s n a c h w e i s / D e c k b l a t t
+-- --------------------------------------------------------------
+CREATE TABLE ax_fortfuehrungsnachweisdeckblatt (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     uri                      varchar,
+     fortfuehrungsfallnummernbereich varchar,
+     land                     integer,
+     gemarkungsnummer         integer,
+     laufendenummer           integer,
+     titel                    varchar,
+     erstelltam               varchar,       -- Datum jjjj-mm-tt
+     fortfuehrungsentscheidungam  varchar,
+     fortfuehrungsentscheidungvon varchar,  -- Bearbeiter-Name und -Titel
+     bemerkung                varchar,
+     beziehtsichauf           varchar,
+     CONSTRAINT ax_fortfuehrungsnachweisdeckblatt_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_fortfuehrungsnachweisdeckblatt','dummy',:alkis_epsg,'POINT',2);
+
+COMMENT ON TABLE  ax_fortfuehrungsnachweisdeckblatt
+IS 'F o r t f u e h r u n g s n a c h w e i s / D e c k b l a t t';
+
+
+-- F o r t f u e h r u n g s f a l l
+-- ---------------------------------
+CREATE TABLE ax_fortfuehrungsfall (
+     ogc_fid                            serial NOT NULL,
+     gml_id                             character(16),
+     identifier                         character(44),
+     beginnt                            character(20),
+     endet                              character(20),
+     advstandardmodell                  varchar,
+     anlass                             varchar,
+     uri                                varchar,
+     fortfuehrungsfallnummer            integer,
+     laufendenummer                     integer,
+     ueberschriftimfortfuehrungsnachweis integer[],
+     anzahlderfortfuehrungsmitteilungen integer,
+     zeigtaufaltesflurstueck            varchar[], -- Format wie flurstueckskennzeichen (20) als Array
+     zeigtaufneuesflurstueck            varchar[], -- Format wie flurstueckskennzeichen (20) als Array
+     bemerkung                          varchar,
+     CONSTRAINT ax_fortfuehrungsfall_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_fortfuehrungsfall','dummy',:alkis_epsg,'POINT',2);
+
+COMMENT ON TABLE  ax_fortfuehrungsfall IS 'F o r t f u e h r u n g s f a l l';
+
+
+--** Objektartengruppe: Angaben zur Reservierung
+--   ===================================================================
+
+-- R e s e r v i e r u n g
+-- -----------------------
+CREATE TABLE ax_reservierung (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     art                 integer,
+     nummer              varchar,
+     land                integer,
+     stelle              integer,
+     ablaufderreservierung varchar,
+     antragsnummer       varchar,
+     auftragsnummer      varchar,
+     CONSTRAINT ax_reservierung_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_reservierung','dummy',:alkis_epsg,'POINT',2);
+
+COMMENT ON TABLE  ax_reservierung IS 'R e s e r v i e r u n g';
+
+
+-- P u n k t k e n n u n g   U n t e r g e g a n g e n
+-- ---------------------------------------------------
+CREATE TABLE ax_punktkennunguntergegangen (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     sonstigesmodell          varchar,
+     anlass                   varchar,
+     punktkennung             varchar,
+     art                      integer,
+     CONSTRAINT ax_punktkennunguntergegangen_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_punktkennunguntergegangen','dummy',:alkis_epsg,'POINT',2);
+
+COMMENT ON TABLE  ax_punktkennunguntergegangen IS 'P u n k t k e n n u n g, untergegangen';
+
+
+--** Objektartengruppe: Angaben zur Historie
+--   ===================================================================
+
+-- Variante B: "Vollhistorie" ( statt ax_historischesflurstueckalb)
+CREATE TABLE ax_historischesflurstueckohneraumbezug (
+     ogc_fid                       serial NOT NULL,
+     gml_id                        character(16),
+     -- GID: AX_Flurstueck_Kerndaten
+     -- 'FlurstÃŒck_Kerndaten' enthÃ€lt Eigenschaften des FlurstÃŒcks, die auch fÃŒr andere FlurstÃŒcksobjektarten gelten (z.B. Historisches FlurstÃŒck).
+     land                          integer,         --
+     gemarkungsnummer              integer,            --
+     flurnummer                    integer,               -- Teile des FlurstÃŒckskennzeichens
+     zaehler                       integer,            --    (redundant zu flurstueckskennzeichen)
+     nenner                        integer,         --
+     -- daraus abgeleitet:
+     flurstueckskennzeichen        character(20),     -- Inhalt rechts mit __ auf 20 aufgefÃŒllt
+     amtlicheflaeche               double precision,  -- AFL
+     abweichenderrechtszustand     varchar,           -- ARZ
+     zweifelhafterFlurstuecksnachweis varchar,        -- ZFM
+     rechtsbehelfsverfahren        integer,           -- RBV
+     zeitpunktderentstehung        varchar,           -- ZDE  Inhalt jjjj-mm-tt  besser Format date ?
+     gemeinde                      integer,
+     -- GID: ENDE AX_Flurstueck_Kerndaten
+     identifier                    character(44),
+     beginnt                       character(20),
+     endet                         character(20),
+     advstandardmodell             character(4),
+     anlass                        varchar,
+     name                          varchar[],          -- Array {a,b,c}
+     nachfolgerflurstueckskennzeichen   varchar[],     -- Array {a,b,c}
+     vorgaengerflurstueckskennzeichen   varchar[],     -- Array {a,b,c}
+     CONSTRAINT ax_historischesflurstueckohneraumbezug_pk PRIMARY KEY (ogc_fid)
+);
+
+  COMMENT ON TABLE  ax_historischesflurstueckohneraumbezug        IS '"Historisches FlurstÃŒck ohne Raumbezug" ist ein nicht mehr aktuelles FlurstÃŒck, das schon im ALB historisch geworden ist, nach ALKIS migriert und im Rahmen der Vollhistorie gefÃŒhrt wird.';
+  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.gml_id IS 'Identifikator, global eindeutig';
+  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.flurnummer                IS 'FLN "Flurnummer" ist die von der KatasterbehÃ¶rde zur eindeutigen Bezeichnung vergebene Nummer einer Flur, die eine Gruppe von zusammenhÃ€ngenden FlurstÃŒcken innerhalb einer Gemarkung umfasst.';
+  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.zaehler                   IS 'ZAE  Dieses Attribut enthÃ€lt den ZÃ€hler der FlurstÃŒcknummer';
+  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.nenner                    IS 'NEN  Dieses Attribut enthÃ€lt den Nenner der FlurstÃŒcknummer';
+  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.flurstueckskennzeichen    IS '"FlurstÃŒckskennzeichen" ist ein von der KatasterbehÃ¶rde zur eindeutigen Bezeichnung des FlurstÃŒcks vergebenes Ordnungsmerkmal.
+Die Attributart setzt sich aus den nachfolgenden expliziten Attributarten in der angegebenen Reihenfolge zusammen:
+ 1.  Land (2 Stellen)
+ 2.  Gemarkungsnummer (4 Stellen)
+ 3.  Flurnummer (3 Stellen)
+ 4.  FlurstÃŒcksnummer
+ 4.1 ZÃ€hler (5 Stellen)
+ 4.2 Nenner (4 Stellen)
+ 5.  FlurstÃŒcksfolge (2 Stellen)
+Die Elemente sind rechtsbÃŒndig zu belegen, fehlende Stellen sind mit fÃŒhrenden Nullen zu belegen.
+Da die Flurnummer und die FlurstÃŒcksfolge optional sind, sind aufgrund der bundeseinheitlichen Definition im FlurstÃŒckskennzeichen die entsprechenden Stellen, sofern sie nicht belegt sind, durch Unterstrich "_" ersetzt.
+Gleiches gilt fÃŒr FlurstÃŒcksnummern ohne Nenner, hier ist der fehlende Nenner im FlurstÃŒckskennzeichen durch Unterstriche zu ersetzen.';
+  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.amtlicheflaeche           IS 'AFL "Amtliche FlÃ€che" ist der im Liegenschaftskataster festgelegte FlÃ€cheninhalt des FlurstÃŒcks in [qm]. FlurstÃŒcksflÃ€chen kleiner 0,5 qm kÃ¶nnen mit bis zu zwei Nachkommastellen gefÃŒhrt werden, ansonsten ohne Nachkommastellen.';
+  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.abweichenderrechtszustand IS 'ARZ "Abweichender Rechtszustand" ist ein Hinweis darauf, dass auÃerhalb des Grundbuches in einem durch Gesetz geregelten Verfahren der Bodenordnung (siehe Objektart "Bau-, Raum- oder Bodenordnungsrecht", AA "Art der Festlegung", Werte 1750, 1770, 2100 bis 2340) ein neuer Rechtszustand eingetreten ist und das amtliche Verzeichnis der jeweiligen ausfÃŒhrenden Stelle maÃgebend ist.';
+  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.zweifelhafterFlurstuecksnachweis IS 'ZFM "Zweifelhafter FlurstÃŒcksnachweis" ist eine Kennzeichnung eines FlurstÃŒcks, dessen Angaben nicht zweifelsfrei berichtigt werden kÃ¶nnen.';
+  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.rechtsbehelfsverfahren    IS 'RBV "Rechtsbehelfsverfahren" ist der Hinweis darauf, dass bei dem FlurstÃŒck ein laufendes Rechtsbehelfsverfahren anhÃ€ngig ist.';
+  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.zeitpunktderentstehung    IS 'ZDE "Zeitpunkt der Entstehung" ist der Zeitpunkt, zu dem das FlurstÃŒck fachlich entstanden ist.';
+  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.gemeinde                  IS 'Gemeindekennzeichen zur Zuordnung der FlustÃŒcksdaten zu einer Gemeinde.';
+  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.anlass                    IS '?';
+  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.name                      IS 'Array mit FortfÃŒhrungsjahr und -Nummer';
+  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.nachfolgerflurstueckskennzeichen
+  IS '"Nachfolger-FlurstÃŒckskennzeichen" ist die Bezeichnung der FlurstÃŒcke, die dem Objekt "Historisches FlurstÃŒck ohne Raumbezug" direkt nachfolgen.
+Array mit Kennzeichen im Format der Spalte "flurstueckskennzeichen"';
+  COMMENT ON COLUMN ax_historischesflurstueckohneraumbezug.vorgaengerflurstueckskennzeichen
+  IS '"VorgÃ€nger-FlurstÃŒckskennzeichen" ist die Bezeichnung der FlurstÃŒcke, die dem Objekt "Historisches FlurstÃŒck ohne Raumbezugs" direkt vorangehen.
+Array mit Kennzeichen im Format der Spalte "flurstueckskennzeichen"';
+
+
+-- keine Geometrie, daher ersatzweise: Dummy-Eintrag in Metatabelle
+SELECT AddGeometryColumn('ax_historischesflurstueckohneraumbezug','dummy',:alkis_epsg,'POINT',2);
+-- Kennzeichen indizieren, z.B. fuer Suche aus der Historie
+CREATE INDEX ax_hist_fs_ohne_kennz ON ax_historischesflurstueckohneraumbezug USING btree (flurstueckskennzeichen /* ASC NULLS LAST */ );
+COMMENT ON INDEX ax_hist_fs_ohne_kennz IS 'Suche nach FlurstÃŒckskennzeichen';
+
+-- Suche nach VorgÃ€nger / Nachfolger
+CREATE INDEX idx_histfsor_vor ON ax_historischesflurstueckohneraumbezug (vorgaengerflurstueckskennzeichen /* ASC */);
+-- COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach VorgÃ€nger-FlurstÃŒck';
+
+CREATE INDEX idx_histfsor_nach ON ax_historischesflurstueckohneraumbezug (vorgaengerflurstueckskennzeichen /* ASC */);
+-- COMMENT ON INDEX idx_histfsalb_vor IS 'Suchen nach Nachfolger-FlurstÃŒck';
+
+
+
+-- *** ############################################################
+-- *** Objektbereich: EigentÃŒmer
+-- *** ############################################################
+
+
+-- ** Objektartengruppe:Personen- und Bestandsdaten
+--   ===================================================================
+
+
+-- 21001 P e r s o n
+-- ----------------------------------------------
+-- Buchwerk. Keine Geometrie
+CREATE TABLE ax_person (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     nachnameoderfirma        varchar,
+     anrede                   integer,
+     vorname                  varchar,
+     geburtsname              varchar,
+     geburtsdatum             varchar,
+     namensbestandteil        varchar,
+     akademischergrad         varchar,
+     CONSTRAINT ax_person_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_person','dummy',:alkis_epsg,'POINT',2);
+
+-- Verbindungstabellen indizieren
+CREATE UNIQUE INDEX id_ax_person_gml ON ax_person USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_person        IS 'NREO "Person" ist eine natÃŒrliche oder juristische Person und kann z.B. in den Rollen EigentÃŒmer, Erwerber, Verwalter oder Vertreter in Katasterangelegenheiten gefÃŒhrt werden.';
+COMMENT ON COLUMN ax_person.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_person.namensbestandteil IS 'enthÃ€lt z.B. Titel wie "Baron"';
+COMMENT ON COLUMN ax_person.anrede IS '"Anrede" ist die Anrede der Person. Diese Attributart ist optional, da KÃ¶rperschaften und juristischen Person auch ohne Anrede angeschrieben werden kÃ¶nnen.';
+COMMENT ON COLUMN ax_person.akademischergrad IS '"Akademischer Grad" ist der akademische Grad der Person (z.B. Dipl.-Ing., Dr., Prof. Dr.)';
+
+
+-- Relationen:
+-- hat:        Die 'Person' hat 'Anschrift'.
+-- weist auf:  Durch die Relation 'Person' weist auf 'Namensnummer' wird ausgedrÃŒckt, dass die Person als EigentÃŒmer,
+--        Erbbauberechtigter oder kÃŒnftiger Erwerber unter der Namensnummer eines Buchungsblattes eingetragen ist.
+
+
+--AX_Personengruppe
+-- ** Tabelle bisher noch nicht generiert
+
+
+-- A n s c h r i f t
+-- ----------------------------------------------
+-- Buchwerk, keine Geometrie.
+-- Konverter versucht Tabelle noch einmal anzulegen, wenn kein (Dummy-) Eintrag in Metatabelle 'geometry_columns'.
+CREATE TABLE ax_anschrift (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     ort_post                 varchar,
+     postleitzahlpostzustellung varchar,
+     strasse                  varchar,
+     hausnummer               varchar,
+     bestimmungsland          varchar,
+     postleitzahlpostfach     varchar,
+     postfach                 varchar,
+     ortsteil                 varchar,
+     weitereAdressen          varchar,
+     telefon                  varchar,
+     fax                      varchar,
+     CONSTRAINT ax_anschrift_pk PRIMARY KEY (ogc_fid)
+);
+
+-- Dummy-Eintrag in Metatabelle
+SELECT AddGeometryColumn('ax_anschrift','dummy',:alkis_epsg,'POINT',2);
+
+-- Index fÃŒr alkis_beziehungen
+CREATE UNIQUE INDEX ax_anschrift_gml ON ax_anschrift USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_anschrift        IS 'A n s c h r i f t';
+COMMENT ON COLUMN ax_anschrift.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- N a m e n s n u m m e r
+-- ----------------------------------------------
+-- Buchwerk. Keine Geometrie
+CREATE TABLE ax_namensnummer (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     laufendenummernachdin1421 character(16),     -- 0000.00.00.00.00
+     zaehler                  double precision,   -- Anteil ..
+     nenner                   double precision,   --    .. als Bruch
+     eigentuemerart           integer,
+     nummer                   varchar,       -- immer leer ?
+     artderrechtsgemeinschaft integer,       -- SchlÃŒssel
+     beschriebderrechtsgemeinschaft varchar,
+     CONSTRAINT ax_namensnummer_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_namensnummer','dummy',:alkis_epsg,'POINT',2);
+
+-- Verbindungstabellen indizieren
+CREATE UNIQUE INDEX ax_namensnummer_gml ON ax_namensnummer USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_namensnummer        IS 'NREO "Namensnummer" ist die laufende Nummer der Eintragung, unter welcher der EigentÃŒmer oder Erbbauberechtigte im Buchungsblatt gefÃŒhrt wird. Rechtsgemeinschaften werden auch unter AX_Namensnummer gefÃŒhrt.';
+COMMENT ON COLUMN ax_namensnummer.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- B u c h u n g s b l a t t
+-- -------------------------
+CREATE TABLE ax_buchungsblatt (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     buchungsblattkennzeichen varchar, -- integer
+     land                integer,
+     bezirk              integer,
+     buchungsblattnummermitbuchstabenerweiterung  varchar,
+    -- Konverter mault: "Warning 1: Value '001648 ' ... parsed incompletely to integer 1648." usw.
+     blattart            integer,
+     art                 varchar,
+     CONSTRAINT ax_buchungsblatt_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_buchungsblatt','dummy',:alkis_epsg,'POINT',2);
+
+-- Index fÃŒr alkis_beziehungen
+CREATE UNIQUE INDEX ax_buchungsblatt_gml ON ax_buchungsblatt USING btree (gml_id,beginnt);
+CREATE INDEX ax_buchungsblatt_lbb ON ax_buchungsblatt USING btree (land,bezirk,buchungsblattnummermitbuchstabenerweiterung);
+
+COMMENT ON TABLE  ax_buchungsblatt        IS 'NREO "Buchungsblatt" enthÃ€lt die Buchungen (Buchungsstellen und Namensnummern) des Grundbuchs und des Liegenschhaftskatasters (bei buchungsfreien GrundstÃŒcken).';
+COMMENT ON COLUMN ax_buchungsblatt.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- B u c h u n g s s t e l l e
+-- -----------------------------
+CREATE TABLE ax_buchungsstelle (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     buchungsart              integer,
+     laufendenummer           varchar,
+     beschreibungdesumfangsderbuchung   character(1),
+     zaehler                  double precision,
+     nenner                   double precision,
+     nummerimaufteilungsplan            varchar,
+     beschreibungdessondereigentums     varchar,
+     CONSTRAINT ax_buchungsstelle_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_buchungsstelle','dummy',:alkis_epsg,'POINT',2);
+
+--Index fÃŒr alkis_beziehungen
+CREATE UNIQUE INDEX ax_buchungsstelle_gml ON ax_buchungsstelle USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_buchungsstelle        IS 'NREO "Buchungsstelle" ist die unter einer laufenden Nummer im Verzeichnis des Buchungsblattes eingetragene Buchung.';
+COMMENT ON COLUMN ax_buchungsstelle.gml_id IS 'Identifikator, global eindeutig';
+
+
+--*** ############################################################
+--*** Objektbereich: GebÃ€ude
+--*** ############################################################
+
+--** Objektartengruppe:Angaben zum GebÃ€ude
+--   ===================================================================
+
+--AX_Gebaeude
+
+-- G e b Ã€ u d e
+-- ---------------
+-- Kennung 31001
+-- Abgleich 2011-11-15 mit
+--  http://www.bezreg-koeln.nrw.de/extra/33alkis/dokumente/Profile_NRW/ALKIS-OK-NRW_MAX_20090722.html
+CREATE TABLE ax_gebaeude (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar[],
+     anlass              varchar,
+     gebaeudefunktion    integer,  -- Werte siehe SchlÃŒsseltabelle
+     weiteregebaeudefunktion  integer[],
+     name                varchar[],
+     bauweise            integer,
+     anzahlderoberirdischengeschosse  integer,
+     anzahlderunterirdischengeschosse integer,
+     hochhaus            varchar,  -- "true"/"false", meist aber leer
+     objekthoehe         integer,
+     dachform            integer,
+     zustand             integer,
+     geschossflaeche     integer,
+     grundflaeche        integer,
+     umbauterraum        integer,
+     baujahr             integer,
+     lagezurerdoberflaeche integer,
+     dachart             varchar,
+     dachgeschossausbau  integer,
+     qualitaetsangaben   varchar,
+     ax_datenerhebung    integer,
+     description         integer,
+     art                 varchar,
+     individualname      varchar,
+     CONSTRAINT ax_gebaeude_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_gebaeude','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
+
+CREATE INDEX ax_gebaeude_geom_idx   ON ax_gebaeude USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_gebaeude_gml ON ax_gebaeude USING btree (gml_id,beginnt);
+
+  COMMENT ON TABLE  ax_gebaeude                    IS '"G e b Ã€ u d e" ist ein dauerhaft errichtetes Bauwerk, dessen Nachweis wegen seiner Bedeutung als Liegenschaft erforderlich ist sowie dem Zweck der Basisinformation des Liegenschaftskatasters dient.';
+  COMMENT ON COLUMN ax_gebaeude.gml_id             IS 'Identifikator, global eindeutig';
+  COMMENT ON COLUMN ax_gebaeude.gebaeudefunktion   IS 'GFK "GebÃ€udefunktion" ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des GebÃ€udes (Dominanzprinzip). Werte siehe ax_gebaeude_funktion';
+  COMMENT ON COLUMN ax_gebaeude.weiteregebaeudefunktion IS 'WGF "Weitere GebÃ€udefunktion" sind weitere Funktionen, die ein GebÃ€ude neben der dominierenden GebÃ€udefunktion hat.';
+  COMMENT ON COLUMN ax_gebaeude.name               IS 'NAM "Name" ist der Eigenname oder die Bezeichnung des GebÃ€udes.';
+  COMMENT ON COLUMN ax_gebaeude.bauweise           IS 'BAW "Bauweise" ist die Beschreibung der Art der Bauweise. Werte siehe ax_gebaeude_bauweise';
+  COMMENT ON COLUMN ax_gebaeude.anzahlderoberirdischengeschosse IS 'AOG "Anzahl der oberirdischen Geschosse" ist die Anzahl der oberirdischen Geschosse des GebÃ€udes.';
+  COMMENT ON COLUMN ax_gebaeude.anzahlderunterirdischengeschosse IS 'AUG "Anzahl der unterirdischen Geschosse" ist die Anzahl der unterirdischen Geschosse des GebÃ€udes.';
+  COMMENT ON COLUMN ax_gebaeude.hochhaus           IS 'HOH "Hochhaus" ist ein GebÃ€ude, das nach GebÃ€udehÃ¶he und AusprÃ€gung als Hochhaus zu bezeichnen ist. FÃŒr GebÃ€ude im Geschossbau gilt dieses i.d.R. ab 8 oberirdischen Geschossen, fÃŒr andere GebÃ€ude ab einer GebÃ€udehÃ¶he von 22 m. Abweichungen hiervon kÃ¶nnen sich durch die Festlegungen in den lÃ€nderspezifischen Bauordnungen ergeben.';
+  COMMENT ON COLUMN ax_gebaeude.objekthoehe        IS 'HHO "ObjekthÃ¶he" ist die HÃ¶hendifferenz in [m] zwischen dem hÃ¶chsten Punkt der Dachkonstruktion und der festgelegten GelÃ€ndeoberflÃ€che des GebÃ€udes.';
+  COMMENT ON COLUMN ax_gebaeude.dachform           IS 'DAF "Dachform" beschreibt die charakteristische Form des Daches. Werte siehe ax_gebaeude_dachform';
+  COMMENT ON COLUMN ax_gebaeude.zustand            IS 'ZUS "Zustand" beschreibt die Beschaffenheit oder die Betriebsbereitschaft von "GebÃ€ude". Diese Attributart wird nur dann optional gefÃŒhrt, wenn der Zustand des GebÃ€udes vom nutzungsfÃ€higen Zustand abweicht. Werte siehe ax_gebaeude_zustand';
+  COMMENT ON COLUMN ax_gebaeude.geschossflaeche    IS 'GFL "GeschossflÃ€che" ist die GebÃ€udegeschossflÃ€che in [qm].';
+  COMMENT ON COLUMN ax_gebaeude.grundflaeche       IS 'GRF "GrundflÃ€che" ist die GebÃ€udegrundflÃ€che in [qm].';
+  COMMENT ON COLUMN ax_gebaeude.umbauterraum       IS 'URA "Umbauter Raum" ist der umbaute Raum [Kubikmeter] des GebÃ€udes.';
+  COMMENT ON COLUMN ax_gebaeude.baujahr            IS 'BJA "Baujahr" ist das Jahr der Fertigstellung oder der baulichen VerÃ€nderung des GebÃ€udes.';
+  COMMENT ON COLUMN ax_gebaeude.lagezurerdoberflaeche IS 'OFL "Lage zur ErdoberflÃ€che" ist die Angabe der relativen Lage des GebÃ€udes zur ErdoberflÃ€che. Diese Attributart wird nur bei nicht ebenerdigen GebÃ€uden gefÃŒhrt. 1200=Unter der ErdoberflÃ€che, 1400=AufgestÃ€ndert';
+  COMMENT ON COLUMN ax_gebaeude.dachart            IS 'DAA "Dachart" gibt die Art der Dacheindeckung (z.B. Reetdach) an.';
+  COMMENT ON COLUMN ax_gebaeude.dachgeschossausbau IS 'DGA "Dachgeschossausbau" ist ein Hinweis auf den Ausbau bzw. die AusbaufÃ€higkeit des Dachgeschosses.';
+  COMMENT ON COLUMN ax_gebaeude.qualitaetsangaben  IS 'QAG Angaben zur Herkunft der Informationen (Erhebungsstelle). Die Information ist konform zu den Vorgaben aus ISO 19115 zu reprÃ€sentieren.';
+
+
+-- B a u t e i l
+-- -------------
+CREATE TABLE ax_bauteil (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar[],
+     sonstigesmodell          varchar[],
+     anlass                   varchar,
+     bauart                   integer,
+     dachform                 integer,
+     anzahlderoberirdischengeschosse  integer,
+     anzahlderunterirdischengeschosse integer,
+     lagezurerdoberflaeche    integer,
+     CONSTRAINT ax_bauteil_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_bauteil','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_bauteil_geom_idx ON ax_bauteil USING gist (wkb_geometry);
+
+CREATE UNIQUE INDEX ax_bauteil_gml ON ax_bauteil USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_bauteil        IS 'B a u t e i l';
+COMMENT ON COLUMN ax_bauteil.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- B e s o n d e r e   G e b Ã€ u d e l i n i e
+-- ----------------------------------------------
+CREATE TABLE ax_besonderegebaeudelinie (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     beschaffenheit      integer[],
+     anlass              varchar,
+     CONSTRAINT ax_besonderegebaeudelinie_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_besonderegebaeudelinie','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/MULTILINESTRING
+
+CREATE INDEX ax_besonderegebaeudelinie_geom_idx ON ax_besonderegebaeudelinie USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_besonderegebaeudelinie_gml ON ax_besonderegebaeudelinie USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE ax_besonderegebaeudelinie IS 'B e s o n d e r e   G e b Ã€ u d e l i n i e';
+COMMENT ON COLUMN ax_besonderegebaeudelinie.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- F i r s t l i n i e
+-- -----------------------------------------------------
+CREATE TABLE ax_firstlinie (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     sonstigesmodell     varchar,
+     anlass              varchar,
+     art                 varchar,
+     uri                 varchar,
+     CONSTRAINT ax_firstlinie_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_firstlinie','wkb_geometry',:alkis_epsg,'LINESTRING',2);
+
+CREATE INDEX ax_firstlinie_geom_idx ON ax_firstlinie USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_firstlinie_gml ON ax_firstlinie USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_firstlinie        IS 'F i r s t l i n i e';
+COMMENT ON COLUMN ax_firstlinie.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- B e s o n d e r e r   G e b Ã€ u d e p u n k t
+-- -----------------------------------------------
+CREATE TABLE ax_besonderergebaeudepunkt (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     land                integer,
+     stelle              integer,
+     punktkennung        varchar,
+     art                 varchar,
+     name                varchar[],
+     sonstigeeigenschaft varchar[],
+     CONSTRAINT ax_besonderergebaeudepunkt_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_besonderergebaeudepunkt','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ax_besonderergebaeudepunkt_gml ON ax_besonderergebaeudepunkt USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_besonderergebaeudepunkt        IS 'B e s o n d e r e r   G e b Ã€ u d e p u n k t';
+COMMENT ON COLUMN ax_besonderergebaeudepunkt.gml_id IS 'Identifikator, global eindeutig';
+
+
+--AX_Nutzung_Gebaeude
+-- ** Tabelle bisher noch nicht generiert
+
+
+--*** ############################################################
+--*** Objektbereich: TatsÃ€chliche Nutzung (AX_TatsaechlicheNutzung)
+--*** ############################################################
+
+-- Gemeinsame Attribute:
+--   DLU datumDerLetztenUeberpruefung DateTime
+--   DAQ qualitaetsangaben
+
+
+--** Objektartengruppe: Siedlung (in Objektbereich:TatsÃ€chliche Nutzung)
+--   ===================================================================
+
+-- W o h n b a u f l Ã€ c h e
+-- ----------------------------------------------
+-- 'WohnbauflÃ€che' ist eine baulich geprÃ€gte FlÃ€che einschlieÃlich der mit ihr im Zusammenhang
+-- stehenden FreiflÃ€chen (z.B. VorgÃ€rten, ZiergÃ€rten, Zufahrten, StellplÃ€tze und HofraumflÃ€chen),
+-- die ausschlieÃlich oder vorwiegend dem Wohnen dient.
+CREATE TABLE ax_wohnbauflaeche (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     artderbebauung      integer,
+     zustand             integer,
+     name                varchar,
+     CONSTRAINT ax_wohnbauflaeche_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_wohnbauflaeche','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_wohnbauflaeche_geom_idx ON ax_wohnbauflaeche USING gist (wkb_geometry);
+
+CREATE UNIQUE INDEX ax_wohnbauflaeche_gml ON ax_wohnbauflaeche USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_wohnbauflaeche                 IS 'W o h n b a u f l Ã€ c h e  ist eine baulich geprÃ€gte FlÃ€che einschlieÃlich der mit ihr im Zusammenhang stehenden FreiflÃ€chen (z.B. VorgÃ€rten, ZiergÃ€rten, Zufahrten, StellplÃ€tze und HofraumflÃ€chen), die ausschlieÃlich oder vorwiegend dem Wohnen dient.';
+COMMENT ON COLUMN ax_wohnbauflaeche.gml_id          IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_wohnbauflaeche.artderbebauung  IS 'BEB "Art der Bebauung" differenziert nach offener und geschlossener Bauweise aus topographischer Sicht und nicht nach gesetzlichen Vorgaben (z.B. BauGB).';
+COMMENT ON COLUMN ax_wohnbauflaeche.zustand         IS 'ZUS "Zustand" beschreibt, ob "WohnbauflÃ€che" ungenutzt ist oder ob eine FlÃ€che als WohnbauflÃ€che genutzt werden soll.';
+COMMENT ON COLUMN ax_wohnbauflaeche.name            IS 'NAM "Name" ist der Eigenname von "WohnbauflÃ€che" insbesondere bei Objekten auÃerhalb von Ortslagen.';
+
+
+-- Objektart: I n d u s t r i e -   u n d   G e w e r b e f l Ã€ c h e
+-- --------------------------------------------------------------------
+-- Industrie- und GewerbeflÃ€che' ist eine FlÃ€che, die vorwiegend industriellen oder gewerblichen Zwecken dient.
+CREATE TABLE ax_industrieundgewerbeflaeche (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     funktion            integer,
+     name                varchar,
+     zustand             integer,
+     foerdergut          integer,
+     primaerenergie      integer,
+     lagergut            integer,
+     CONSTRAINT ax_industrieundgewerbeflaeche_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_industrieundgewerbeflaeche','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/POINT
+
+CREATE INDEX ax_industrieundgewerbeflaeche_geom_idx ON ax_industrieundgewerbeflaeche USING gist (wkb_geometry);
+
+CREATE UNIQUE INDEX ax_industrieundgewerbeflaeche_gml ON ax_industrieundgewerbeflaeche USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_industrieundgewerbeflaeche            IS 'I n d u s t r i e -   u n d   G e w e r b e f l Ã€ c h e';
+COMMENT ON COLUMN ax_industrieundgewerbeflaeche.gml_id     IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_industrieundgewerbeflaeche.name       IS 'NAM "Name" ist der Eigenname von "Industrie- und GewerbeflÃ€che" insbesondere auÃerhalb von Ortslagen.';
+COMMENT ON COLUMN ax_industrieundgewerbeflaeche.zustand    IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Industrie- und GewerbeflÃ€che".';
+COMMENT ON COLUMN ax_industrieundgewerbeflaeche.funktion   IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung vorherrschende Nutzung von "Industrie- und GewerbeflÃ€che".';
+COMMENT ON COLUMN ax_industrieundgewerbeflaeche.foerdergut IS 'FGT "FÃ¶rdergut" gibt an, welches Produkt gefÃ¶rdert wird. Die Attributart "FÃ¶rdergut" kann nur in Verbindung mit der Attributart "Funktion" und der Werteart 2510 vorkommen.';
+COMMENT ON COLUMN ax_industrieundgewerbeflaeche.lagergut   IS 'LGT "Lagergut" gibt an, welches Produkt gelagert wird. Die Attributart "Lagergut" kann nur in Verbindung mit der Attributart "Funktion" und der Werteart 1740 vorkommen.';
+COMMENT ON COLUMN ax_industrieundgewerbeflaeche.primaerenergie IS 'PEG "PrimÃ€renergie" beschreibt die zur Strom- oder WÃ€rmeerzeugung dienende Energieform oder den EnergietrÃ€ger. Die Attributart "PrimÃ€renergie" kann nur in Verbindung mit der Attributart "Funktion" und den Wertearten 2530, 2531, 2532, 2570, 2571 und 2572 vorkommen.';
+
+
+-- H a l d e
+-- ----------------------------------------------
+CREATE TABLE ax_halde
+(    ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     lagergut            integer,
+     name                varchar,
+     zustand             integer,
+     CONSTRAINT ax_halde_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_halde','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_halde_geom_idx ON ax_halde USING gist (wkb_geometry);
+
+CREATE UNIQUE INDEX ax_halde_gml ON ax_halde USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE ax_halde             IS 'H a l d e';
+COMMENT ON COLUMN ax_halde.gml_id     IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_halde.name       IS 'NAM "Name" ist die einer "Halde" zugehÃ¶rige Bezeichnung oder deren Eigenname.';
+COMMENT ON COLUMN ax_halde.lagergut   IS 'LGT "Lagergut" gibt an, welches Produkt gelagert wird.';
+COMMENT ON COLUMN ax_halde.zustand    IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Halde".';
+
+
+-- B e r b a u b e t r i e b
+-- -------------------------
+-- 'Bergbaubetrieb' ist eine FlÃ€che, die fÃŒr die FÃ¶rderung des Abbaugutes unter Tage genutzt wird.
+CREATE TABLE ax_bergbaubetrieb (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     abbaugut            integer,
+     name                varchar,
+     bezeichnung         varchar,
+     zustand             integer,
+     CONSTRAINT ax_bergbaubetrieb_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_bergbaubetrieb','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_bergbaubetrieb_geom_idx   ON ax_bergbaubetrieb USING gist  (wkb_geometry);
+CREATE UNIQUE INDEX ax_bergbaubetrieb_gml ON ax_bergbaubetrieb USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_bergbaubetrieb             IS '"Bergbaubetrieb" ist eine FlÃ€che, die fÃŒr die FÃ¶rderung des Abbaugutes unter Tage genutzt wird.';
+COMMENT ON COLUMN ax_bergbaubetrieb.gml_id      IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_bergbaubetrieb.abbaugut    IS 'AGT "Abbaugut" gibt an, welches Material abgebaut wird.';
+COMMENT ON COLUMN ax_bergbaubetrieb.name        IS 'NAM "Name" ist der Eigenname von "Bergbaubetrieb".';
+COMMENT ON COLUMN ax_bergbaubetrieb.zustand     IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Bergbaubetrieb".';
+COMMENT ON COLUMN ax_bergbaubetrieb.bezeichnung IS 'BEZ "Bezeichnung" ist die von einer Fachstelle vergebene Kurzbezeichnung.';
+
+
+-- T a g e b a u  /  G r u b e  /  S t e i n b r u c h
+-- ---------------------------------------------------
+CREATE TABLE ax_tagebaugrubesteinbruch (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     abbaugut            integer,
+     name                varchar,
+     zustand             integer,
+     CONSTRAINT ax_tagebaugrubesteinbruch_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_tagebaugrubesteinbruch','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_tagebaugrubesteinbruch_geom_idx ON ax_tagebaugrubesteinbruch USING gist (wkb_geometry);
+
+CREATE UNIQUE INDEX ax_tagebaugrubesteinbruchb_gml ON ax_tagebaugrubesteinbruch USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_tagebaugrubesteinbruch          IS '"T a g e b a u ,  G r u b e ,  S t e i n b r u c h"  ist eine FlÃ€che, auf der oberirdisch Bodenmaterial abgebaut wird. Rekultivierte Tagebaue, Gruben, SteinbrÃŒche werden als Objekte entsprechend der vorhandenen Nutzung erfasst.';
+COMMENT ON COLUMN ax_tagebaugrubesteinbruch.gml_id   IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_tagebaugrubesteinbruch.name     IS 'NAM "Name" ist der Eigenname von "Tagebau, Grube, Steinbruch".';
+COMMENT ON COLUMN ax_tagebaugrubesteinbruch.abbaugut IS 'AGT "Abbaugut" gibt an, welches Material abgebaut wird.';
+COMMENT ON COLUMN ax_tagebaugrubesteinbruch.zustand  IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Tagebau, Grube, Steinbruch".';
+
+
+-- F l Ã€ c h e n   g e m i s c h t e r   N u t z u n g
+-- -----------------------------------------------------
+CREATE TABLE ax_flaechegemischternutzung (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     artderbebauung      integer,
+     funktion            integer,
+     name                varchar,
+     zustand             integer,
+     CONSTRAINT ax_flaechegemischternutzung_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_flaechegemischternutzung','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_flaechegemischternutzung_geom_idx ON ax_flaechegemischternutzung USING gist (wkb_geometry);
+
+CREATE UNIQUE INDEX ax_flaechegemischternutzung_gml ON ax_flaechegemischternutzung USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_flaechegemischternutzung        IS '"FlÃ€che gemischter Nutzung" ist eine bebaute FlÃ€che einschlieÃlich der mit ihr im Zusammenhang stehenden FreiflÃ€che (HofraumflÃ€che, Hausgarten), auf der keine Art der baulichen Nutzung vorherrscht. Solche FlÃ€chen sind insbesondere lÃ€ndlich-dÃ¶rflich geprÃ€gte FlÃ€chen mit land- und forstwirtschaftlichen Betrieben, WohngebÃ€uden u.a. sowie stÃ€dtisch geprÃ€gte Kerngebiete mit Handelsbetrieben und zentralen Einrichtungen fÃŒr die Wirtschaft und die Verwaltung.';
+COMMENT ON COLUMN ax_flaechegemischternutzung.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_flaechegemischternutzung.artderbebauung IS 'BEB "Art der Bebauung" differenziert nach offener und geschlossener Bauweise aus topographischer Sicht und nicht nach gesetzlichen Vorgaben (z.B. BauGB).';
+COMMENT ON COLUMN ax_flaechegemischternutzung.funktion       IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung vorherrschende Nutzung (Dominanzprinzip).';
+COMMENT ON COLUMN ax_flaechegemischternutzung.name           IS 'NAM "Name" ist der Eigenname von "FlÃ€che gemischter Nutzung" insbesondere bei Objekten auÃerhalb von Ortslagen.';
+COMMENT ON COLUMN ax_flaechegemischternutzung.zustand        IS 'ZUS "Zustand" beschreibt, ob "FlÃ€che gemischter Nutzung" ungenutzt ist.';
+
+
+-- F l Ã€ c h e   b e s o n d e r e r   f u n k t i o n a l e r   P r Ã€ g u n g
+-- -------------------------------------------------------------------------------
+CREATE TABLE ax_flaechebesondererfunktionalerpraegung (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     funktion            integer,
+     artderbebauung      integer,
+     name                varchar,
+     zustand             integer,
+     CONSTRAINT ax_flaechebesondererfunktionalerpraegung_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_flaechebesondererfunktionalerpraegung','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_flaechebesondererfunktionalerpraegung_geom_idx ON ax_flaechebesondererfunktionalerpraegung USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_flaechebesondererfunktionalerpraegung_gml ON ax_flaechebesondererfunktionalerpraegung USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_flaechebesondererfunktionalerpraegung        IS '"FlÃ€che besonderer funktionaler PrÃ€gung" ist eine baulich geprÃ€gte FlÃ€che einschlieÃlich der mit ihr im Zusammenhang stehenden FreiflÃ€che, auf denen vorwiegend GebÃ€ude und/oder Anlagen zur ErfÃŒllung Ã¶ffentlicher Zwecke oder historische Anlagen vorhanden sind.';
+COMMENT ON COLUMN ax_flaechebesondererfunktionalerpraegung.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_flaechebesondererfunktionalerpraegung.funktion       IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung vorherrschende Nutzung von "FlÃ€che besonderer funktionaler PrÃ€gung".';
+COMMENT ON COLUMN ax_flaechebesondererfunktionalerpraegung.artderbebauung IS 'BEB "Art der Bebauung" differenziert nach offener und geschlossener Bauweise aus topographischer Sicht und nicht nach gesetzlichen Vorgaben (z.B. BauGB).';
+COMMENT ON COLUMN ax_flaechebesondererfunktionalerpraegung.name           IS 'NAM "Name" ist der Eigenname von "FlÃ€che besonderer funktionaler PrÃ€gung" insbesondere auÃerhalb von Ortslagen.';
+COMMENT ON COLUMN ax_flaechebesondererfunktionalerpraegung.zustand        IS 'ZUS  "Zustand" beschreibt die Betriebsbereitschaft von "FlÃ€che funktionaler PrÃ€gung".';
+
+
+-- S p o r t - ,   F r e i z e i t -   u n d   E r h o h l u n g s f l Ã€ c h e
+-- ---------------------------------------------------------------------------
+CREATE TABLE ax_sportfreizeitunderholungsflaeche (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     funktion            integer,
+     zustand             integer,
+     name                varchar,
+     CONSTRAINT ax_sportfreizeitunderholungsflaeche_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_sportfreizeitunderholungsflaeche','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_sportfreizeitunderholungsflaeche_geom_idx ON ax_sportfreizeitunderholungsflaeche USING gist (wkb_geometry);
+
+CREATE UNIQUE INDEX ax_sportfreizeitunderholungsflaeche_gml ON ax_sportfreizeitunderholungsflaeche USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_sportfreizeitunderholungsflaeche          IS '"Sport-, Freizeit- und ErhohlungsflÃ€che" ist eine bebaute oder unbebaute FlÃ€che, die dem Sport, der Freizeitgestaltung oder der Erholung dient.';
+COMMENT ON COLUMN ax_sportfreizeitunderholungsflaeche.gml_id   IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_sportfreizeitunderholungsflaeche.funktion IS 'FKT "Funktion" ist die Art der Nutzung von "Sport-, Freizeit- und ErholungsflÃ€che".';
+COMMENT ON COLUMN ax_sportfreizeitunderholungsflaeche.zustand  IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "SportFreizeitUndErholungsflaeche ".';
+COMMENT ON COLUMN ax_sportfreizeitunderholungsflaeche.name     IS 'NAM "Name" ist der Eigenname von "Sport-, Freizeit- und ErholungsflÃ€che".';
+
+
+-- F r i e d h o f
+-- ----------------
+CREATE TABLE ax_friedhof (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     funktion            integer,
+     name                varchar,
+     zustand             integer,
+     CONSTRAINT ax_friedhof_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_friedhof','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_friedhof_geom_idx ON ax_friedhof USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_friedhof_gml ON ax_friedhof USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_friedhof           IS '"F r i e d h o f"  ist eine FlÃ€che, auf der Tote bestattet sind.';
+COMMENT ON COLUMN ax_friedhof.gml_id    IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_friedhof.funktion  IS 'FKT "Funktion" ist die Art der BegrÃ€bnisstÃ€tte.';
+COMMENT ON COLUMN ax_friedhof.name      IS 'NAM "Name" ist der Eigenname von "Friedhof".';
+COMMENT ON COLUMN ax_friedhof.zustand   IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Friedhof".';
+
+
+--** Objektartengruppe: Verkehr (in Objektbereich:TatsÃ€chliche Nutzung)
+--   ===================================================================
+
+
+-- S t r a s s e n v e r k e h r
+-- ----------------------------------------------
+CREATE TABLE ax_strassenverkehr (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     funktion            integer,
+     name                varchar,
+     zweitname           varchar,
+     zustand             integer,
+     land                integer,
+     regierungsbezirk    integer,
+     kreis               integer,
+     gemeinde            integer,
+     lage                varchar,
+     CONSTRAINT ax_strassenverkehr_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_strassenverkehr','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_strassenverkehr_geom_idx ON ax_strassenverkehr USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_strassenverkehr_gml ON ax_strassenverkehr USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_strassenverkehr           IS '"S t r a s s e n v e r k e h r" umfasst alle fÃŒr die bauliche Anlage StraÃe erforderlichen sowie dem StraÃenverkehr dienenden bebauten und unbebauten FlÃ€chen.';
+COMMENT ON COLUMN ax_strassenverkehr.gml_id    IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_strassenverkehr.funktion  IS 'FKT "Funktion" beschreibt die verkehrliche Nutzung von "StraÃenverkehr".';
+COMMENT ON COLUMN ax_strassenverkehr.name      IS 'NAM "Name" ist der Eigenname von "Strassenverkehr".';
+COMMENT ON COLUMN ax_strassenverkehr.zweitname IS 'ZNM "Zweitname" ist ein von der Lagebezeichnung abweichender Name von "Strassenverkehrsflaeche" (z.B. "Deutsche WeinstraÃe").';
+COMMENT ON COLUMN ax_strassenverkehr.zustand   IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Strassenverkehrsflaeche".';
+
+
+-- W e g
+-- ----------------------------------------------
+-- 'Weg' umfasst alle FlÃ€chen, die zum Befahren und/oder Begehen vorgesehen sind.
+-- Zum 'Weg' gehÃ¶ren auch Seitenstreifen und GrÃ€ben zur WegentwÃ€sserung.
+CREATE TABLE ax_weg (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     funktion            integer,
+     name                varchar,
+     bezeichnung         varchar,
+     land                integer,
+     regierungsbezirk    integer,
+     kreis               integer,
+     gemeinde            integer,
+     lage                varchar,
+     CONSTRAINT ax_weg_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_weg','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_weg_geom_idx ON ax_weg USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_weg_gml ON ax_weg USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_weg              IS '"W e g" umfasst alle FlÃ€chen, die zum Befahren und/oder Begehen vorgesehen sind. Zum "Weg" gehÃ¶ren auch Seitenstreifen und GrÃ€ben zur WegentwÃ€sserung.';
+COMMENT ON COLUMN ax_weg.gml_id       IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_weg.funktion     IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung objektiv erkennbare oder feststellbare vorherrschend vorkommende Nutzung.';
+COMMENT ON COLUMN ax_weg.name         IS 'NAM "Name" ist die Bezeichnung oder der Eigenname von "Wegflaeche".';
+COMMENT ON COLUMN ax_weg.bezeichnung  IS 'BEZ "Bezeichnung" ist die amtliche Nummer des Weges.';
+
+
+-- P l a t z
+-- ----------------------------------------------
+-- Platz' ist eine VerkehrsflÃ€che in Ortschaften oder eine ebene, befestigte oder unbefestigte FlÃ€che, die bestimmten Zwecken dient (z. B. fÃŒr Verkehr, MÃ€rkte, Festveranstaltungen).
+CREATE TABLE ax_platz (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     funktion            integer,
+     name                varchar,
+     zweitname           varchar,
+     land                integer,
+     regierungsbezirk    integer,
+     kreis               integer,
+     gemeinde            integer,
+     lage            varchar,
+     CONSTRAINT ax_platz_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_platz','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_platz_geom_idx ON ax_platz USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_platz_gml ON ax_platz USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_platz           IS 'P l a t z   ist eine VerkehrsflÃ€che in Ortschaften oder eine ebene, befestigte oder unbefestigte FlÃ€che, die bestimmten Zwecken dient (z. B. fÃŒr Verkehr, MÃ€rkte, Festveranstaltungen).';
+COMMENT ON COLUMN ax_platz.gml_id    IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_platz.funktion  IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung objektiv erkennbare oder feststellbare vorkommende Nutzung.';
+COMMENT ON COLUMN ax_platz.name      IS 'NAM "Name" ist der Eigenname von "Platz".';
+COMMENT ON COLUMN ax_platz.zweitname IS 'ZNM "Zweitname" ist der touristische oder volkstÃŒmliche Name von "Platz".';
+
+
+-- B a h n v e r k e h r
+-- ----------------------------------------------
+CREATE TABLE ax_bahnverkehr (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     funktion            integer,
+     bahnkategorie       integer,
+     bezeichnung         varchar,
+     nummerderbahnstrecke varchar,
+     zweitname           varchar,
+     zustand             integer,
+     CONSTRAINT ax_bahnverkehr_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_bahnverkehr','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_bahnverkehr_geom_idx ON ax_bahnverkehr USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_bahnverkehr_gml ON ax_bahnverkehr USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_bahnverkehr        IS '"B a h n v e r k e h r"  umfasst alle fÃŒr den Schienenverkehr erforderlichen FlÃ€chen.';
+-- FlÃ€chen von Bahnverkehr sind
+--  * der BahnkÃ¶rper (Unterbau fÃŒr Gleise; bestehend aus DÃ€mmen oder Einschnitten und deren kleineren BÃ¶schungen,
+--    DurchlÃ€ssen, schmalen GrÃ€ben zur EntwÃ€sserung, StÃŒtzmauern, Unter- und ÃberfÃŒhrung, Seiten und Schutzstreifen) mit seinen Bahnstrecken
+--  * an den BahnkÃ¶rper angrenzende bebaute und unbebaute FlÃ€chen (z.B. grÃ¶Ãere BÃ¶schungsflÃ€chen).
+
+COMMENT ON COLUMN ax_bahnverkehr.gml_id               IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_bahnverkehr.funktion             IS 'FKT "Funktion" ist die objektiv feststellbare Nutzung von "Bahnverkehr".';
+COMMENT ON COLUMN ax_bahnverkehr.bahnkategorie        IS 'BKT "Bahnkategorie" beschreibt die Art des Verkehrsmittels.';
+COMMENT ON COLUMN ax_bahnverkehr.bezeichnung          IS 'BEZ "Bezeichnung" ist die Angabe der Orte, in denen die Bahnlinie beginnt und endet (z. B. "Bahnlinie Frankfurt - WÃŒrzburg").';
+COMMENT ON COLUMN ax_bahnverkehr.nummerderbahnstrecke IS 'NRB "Nummer der Bahnstrecke" ist die von der Bahn AG festgelegte VerschlÃŒsselung der Bahnstrecke.';
+COMMENT ON COLUMN ax_bahnverkehr.zweitname            IS 'ZNM "Zweitname" ist der von der Lagebezeichnung abweichende Name von "Bahnverkehr" (z. B. "HÃ¶llentalbahn").';
+COMMENT ON COLUMN ax_bahnverkehr.zustand              IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Bahnverkehr".';
+
+
+-- F l u g v e r k e h r
+-- ----------------------
+CREATE TABLE ax_flugverkehr (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     funktion            integer,
+     art                 integer,
+     name                varchar,
+     bezeichnung         varchar,
+     nutzung             integer,
+     zustand             integer,
+     CONSTRAINT ax_flugverkehr_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_flugverkehr','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_flugverkehr_geom_idx   ON ax_flugverkehr USING gist  (wkb_geometry);
+CREATE UNIQUE INDEX ax_flugverkehr_gml ON ax_flugverkehr USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_flugverkehr             IS '"F l u g v e r k e h r"  umfasst die baulich geprÃ€gte FlÃ€che und die mit ihr in Zusammenhang stehende FreiflÃ€che, die ausschlieÃlich oder vorwiegend dem Flugverkehr dient.';
+COMMENT ON COLUMN ax_flugverkehr.gml_id      IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_flugverkehr.funktion    IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung vorherrschende Nutzung (Dominanzprinzip).';
+COMMENT ON COLUMN ax_flugverkehr.art         IS 'ART "Art" ist Einstufung der FlugverkehrsflÃ€che durch das Luftfahrtbundesamt.';
+COMMENT ON COLUMN ax_flugverkehr.name        IS 'NAM "Name" ist der Eigenname von "Flugverkehr".';
+COMMENT ON COLUMN ax_flugverkehr.bezeichnung IS 'BEZ "Bezeichnung" ist die von einer Fachstelle vergebene Kennziffer von "Flugverkehr".';
+COMMENT ON COLUMN ax_flugverkehr.nutzung     IS 'NTZ "Nutzung" gibt den Nutzerkreis von "Flugverkehr" an.';
+COMMENT ON COLUMN ax_flugverkehr.zustand     IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Flugverkehr".';
+
+
+-- S c h i f f s v e r k e h r
+-- ---------------------------
+CREATE TABLE ax_schiffsverkehr (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     funktion            integer,
+     name                varchar,
+     zustand             integer,
+     CONSTRAINT ax_schiffsverkehr_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_schiffsverkehr','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_schiffsverkehr_geom_idx ON ax_schiffsverkehr USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_schiffsverkehr_gml ON ax_schiffsverkehr USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_schiffsverkehr          IS '"S c h i f f s v e r k e h r"  umfasst die baulich geprÃ€gte FlÃ€che und die mit ihr in Zusammenhang stehende FreiflÃ€che, die ausschlieÃlich oder vorwiegend dem Schiffsverkehr dient.';
+COMMENT ON COLUMN ax_schiffsverkehr.gml_id   IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_schiffsverkehr.funktion IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung vorherrschende Nutzung von "Schiffsverkehr".';
+COMMENT ON COLUMN ax_schiffsverkehr.name     IS 'NAM "Name" ist der Eigenname von "Schiffsverkehr".';
+COMMENT ON COLUMN ax_schiffsverkehr.zustand  IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Schiffsverkehr". Diese Attributart kann nur in Verbindung mit der Attributart "Funktion" und der Werteart 5620 vorkommen.';
+
+
+--** Objektartengruppe:Vegetation (in Objektbereich:TatsÃ€chliche Nutzung)
+--   ===================================================================
+
+-- L a n d w i r t s c h a f t
+-- ----------------------------------------------
+CREATE TABLE ax_landwirtschaft (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     vegetationsmerkmal  integer,
+     name                varchar,
+     CONSTRAINT ax_landwirtschaft_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_landwirtschaft','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_landwirtschaft_geom_idx ON ax_landwirtschaft USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_landwirtschaft_gml ON ax_landwirtschaft USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_landwirtschaft                    IS '"L a n d w i r t s c h a f t"  ist eine FlÃ€che fÃŒr den Anbau von FeldfrÃŒchten sowie eine FlÃ€che, die beweidet und gemÃ€ht werden kann, einschlieÃlich der mit besonderen Pflanzen angebauten FlÃ€che. Die Brache, die fÃŒr einen bestimmten Zeitraum (z. B. ein halbes oder ganzes Jahr) landwirtschaftlich unbebaut bleibt, ist als "Landwirtschaft" bzw. "Ackerland" zu erfassen';
+COMMENT ON COLUMN ax_landwirtschaft.gml_id             IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_landwirtschaft.vegetationsmerkmal IS 'VEG "Vegetationsmerkmal" ist die zum Zeitpunkt der Erhebung erkennbare oder feststellbare vorherrschend vorkommende landwirtschaftliche Nutzung (Dominanzprinzip).';
+COMMENT ON COLUMN ax_landwirtschaft.name               IS 'NAM "Name" ist die Bezeichnung oder der Eigenname von "Landwirtschaft".';
+
+
+-- W a l d
+-- ----------------------------------------------
+CREATE TABLE ax_wald (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     vegetationsmerkmal  integer,
+     name                varchar,
+     bezeichnung         varchar,
+     CONSTRAINT ax_wald_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_wald','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_wald_geom_idx ON ax_wald USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_wald_gml ON ax_wald USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_wald             IS '"W a l d" ist eine FlÃ€che, die mit Forstpflanzen (WaldbÃ€ume und WaldstrÃ€ucher) bestockt ist.';
+COMMENT ON COLUMN ax_wald.gml_id      IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_wald.vegetationsmerkmal IS 'VEG "Vegetationsmerkmal" beschreibt den Bewuchs von "Wald".';
+COMMENT ON COLUMN ax_wald.name        IS 'NAM "Name" ist der Eigenname von "Wald".';
+COMMENT ON COLUMN ax_wald.bezeichnung IS 'BEZ "Bezeichnung" ist die von einer Fachstelle vergebene Kennziffer (Forstabteilungsnummer, Jagenzahl) von "Wald".';
+
+
+-- G e h Ã¶ l z
+-- ----------------------------------------------
+CREATE TABLE ax_gehoelz (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     vegetationsmerkmal  integer,
+     name                varchar,
+     funktion            integer,
+     CONSTRAINT ax_gehoelz_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_gehoelz','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_gehoelz_geom_idx ON ax_gehoelz USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_gehoelz_gml ON ax_gehoelz USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_gehoelz        IS '"G e h Ã¶ l z" ist eine FlÃ€che, die mit einzelnen BÃ€umen, Baumgruppen, BÃŒschen, Hecken und StrÃ€uchern bestockt ist.';
+COMMENT ON COLUMN ax_gehoelz.gml_id IS 'Identifikator, global eindeutig';
+
+COMMENT ON COLUMN ax_gehoelz.vegetationsmerkmal IS 'VEG "Vegetationsmerkmal" beschreibt den Bewuchs von "GehÃ¶lz".';
+COMMENT ON COLUMN ax_gehoelz.name               IS 'NAM "Name" ist der Eigenname von "Wald".';
+COMMENT ON COLUMN ax_gehoelz.funktion           IS 'FKT "Funktion" beschreibt, welchem Zweck "GehÃ¶lz" dient.';
+
+
+-- H e i d e
+-- ----------------------------------------------
+CREATE TABLE ax_heide (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     name                varchar,
+     CONSTRAINT ax_heide_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_heide','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_heide_geom_idx ON ax_heide USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_heide_gml ON ax_heide USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_heide        IS '"H e i d e"  ist eine meist sandige FlÃ€che mit typischen StrÃ€uchern, GrÃ€sern und geringwertigem Baumbestand.';
+COMMENT ON COLUMN ax_heide.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_heide.name   IS 'NAM "Name" ist der Eigenname von "Heide".';
+
+
+-- M o o r
+-- ----------------------------------------------
+CREATE TABLE ax_moor (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     name                varchar,
+     CONSTRAINT ax_moor_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_moor','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_moor_geom_idx   ON ax_moor USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_moor_gml ON ax_moor USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_moor        IS '"M o o r"  ist eine unkultivierte FlÃ€che, deren obere Schicht aus vertorften oder zersetzten Pflanzenresten besteht.';
+-- Torfstich bzw. TorfabbauflÃ€che wird der Objektart 41005 'Tagebau, Grube, Steinbruch' mit AGT 'Torf' zugeordnet.
+COMMENT ON COLUMN ax_moor.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_moor.name IS 'NAM "Name" ist der Eigenname von "Moor".';
+
+
+-- S u m p f
+-- ----------------------------------------------
+CREATE TABLE ax_sumpf (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     name                varchar,
+     CONSTRAINT ax_sumpf_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_sumpf','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_sumpf_geom_idx ON ax_sumpf USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_sumpf_gml ON ax_sumpf USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_sumpf        IS '"S u m p f" ist ein wassergesÃ€ttigtes, zeitweise unter Wasser stehendes GelÃ€nde. Nach RegenfÃ€llen kurzzeitig nasse Stellen im Boden werden nicht als "Sumpf" erfasst.';
+COMMENT ON COLUMN ax_sumpf.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_sumpf.name   IS 'NAM "Name" ist der Eigenname von "Sumpf".';
+
+
+-- U n l a n d  /  V e g e t a t i o n s f l Ã€ c h e
+-- ---------------------------------------------------
+CREATE TABLE ax_unlandvegetationsloseflaeche (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     oberflaechenmaterial integer,
+     name                varchar,
+     funktion            integer,
+     CONSTRAINT ax_unlandvegetationsloseflaeche_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_unlandvegetationsloseflaeche','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_unlandvegetationsloseflaeche_geom_idx ON ax_unlandvegetationsloseflaeche USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_unlandvegetationsloseflaeche_gml ON ax_unlandvegetationsloseflaeche USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_unlandvegetationsloseflaeche        IS '"Unland/Vegetationslose FlÃ€che" ist eine FlÃ€che, die dauerhaft landwirtschaftlich nicht genutzt wird, wie z.B. nicht aus dem GelÃ€nderelief herausragende Felspartien, Sand- oder EisflÃ€chen, Uferstreifen lÃ€ngs von GewÃ€ssern und SukzessionsflÃ€chen.';
+COMMENT ON COLUMN ax_unlandvegetationsloseflaeche.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_unlandvegetationsloseflaeche.oberflaechenmaterial IS 'OFM "OberflÃ€chenmaterial" ist die Beschaffenheit des Bodens von "Unland/Vegetationslose FlÃ€che". Die Attributart "OberflÃ€chenmaterial" kann nur im Zusammenhang mit der Attributart "Funktion" und der Werteart 1000 vorkommen.';
+COMMENT ON COLUMN ax_unlandvegetationsloseflaeche.name                 IS 'NAM "Name" ist die Bezeichnung oder der Eigenname von "Unland/ VegetationsloseFlaeche".';
+COMMENT ON COLUMN ax_unlandvegetationsloseflaeche.funktion             IS 'FKT "Funktion" ist die erkennbare Art von "Unland/Vegetationslose FlÃ€che".';
+
+
+--** Objektartengruppe: GewÃ€sser (in Objektbereich:TatsÃ€chliche Nutzung)
+--   ===================================================================
+
+
+-- F l i e s s g e w Ã€ s s e r
+-- ----------------------------------------------
+-- 'FlieÃgewÃ€sser' ist ein geometrisch begrenztes, oberirdisches, auf dem Festland flieÃendes GewÃ€sser,
+-- das die Wassermengen sammelt, die als NiederschlÃ€ge auf die ErdoberflÃ€che fallen oder in Quellen austreten,
+-- und in ein anderes GewÃ€sser, ein Meer oder in einen See transportiert
+--   oder
+-- in einem System von natÃŒrlichen oder kÃŒnstlichen Bodenvertiefungen verlaufendes Wasser,
+-- das zur Be- und EntwÃ€sserung an- oder abgeleitet wird
+--   oder
+-- ein geometrisch begrenzter, fÃŒr die Schifffahrt angelegter kÃŒnstlicher Wasserlauf,
+-- der in einem oder in mehreren Abschnitten die jeweils gleiche HÃ¶he des Wasserspiegels besitzt.
+CREATE TABLE ax_fliessgewaesser (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     funktion            integer,
+     name                varchar,
+     zustand             integer,
+     CONSTRAINT ax_fliessgewaesser_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_fliessgewaesser','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_fliessgewaesser_geom_idx ON ax_fliessgewaesser USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_fliessgewaesser_gml ON ax_fliessgewaesser USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_fliessgewaesser          IS '"F l i e s s g e w Ã€ s s e r" ist ein geometrisch begrenztes, oberirdisches, auf dem Festland flieÃendes GewÃ€sser, das die Wassermengen sammelt, die als NiederschlÃ€ge auf die ErdoberflÃ€che fallen oder in Quellen austreten, und in ein anderes GewÃ€sser, ein Meer oder in einen See transportiert';
+COMMENT ON COLUMN ax_fliessgewaesser.gml_id   IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_fliessgewaesser.funktion IS 'FKT "Funktion" ist die Art von "FlieÃgewÃ€sser".';
+COMMENT ON COLUMN ax_fliessgewaesser.name     IS 'NAM "Name" ist die Bezeichnung oder der Eigenname von "FlieÃgewÃ€sser".';
+COMMENT ON COLUMN ax_fliessgewaesser.zustand  IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "FlieÃgewÃ€sser" mit FKT=8300 (Kanal).';
+
+
+-- H a f e n b e c k e n
+-- ---------------------
+CREATE TABLE ax_hafenbecken (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     funktion            integer,
+     name                varchar,
+     nutzung             integer,
+     CONSTRAINT ax_hafenbecken_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_hafenbecken','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_hafenbecken_geom_idx   ON ax_hafenbecken USING gist  (wkb_geometry);
+CREATE UNIQUE INDEX ax_hafenbecken_gml ON ax_hafenbecken USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_hafenbecken        IS '"H a f e n b e c k e n"  ist ein natÃŒrlicher oder kÃŒnstlich angelegter oder abgetrennter Teil eines GewÃ€ssers, in dem Schiffe be- und entladen werden.';
+COMMENT ON COLUMN ax_hafenbecken.gml_id IS 'Identifikator, global eindeutig';
+
+COMMENT ON COLUMN ax_hafenbecken.funktion IS 'FKT "Funktion" ist die objektiv erkennbare Nutzung von "Hafenbecken".';
+COMMENT ON COLUMN ax_hafenbecken.name     IS 'NAM "Name" ist der Eigenname von "Hafenbecken".';
+COMMENT ON COLUMN ax_hafenbecken.nutzung  IS 'NTZ "Nutzung" gibt den Nutzerkreis von "Hafenbecken" an.';
+
+
+-- s t e h e n d e s   G e w Ã€ s s e r
+-- ----------------------------------------------
+-- 'Stehendes GewÃ€sser' ist eine natÃŒrliche oder kÃŒnstliche mit Wasser gefÃŒllte,
+-- allseitig umschlossene Hohlform der LandoberflÃ€che ohne unmittelbaren Zusammenhang mit 'Meer'.
+CREATE TABLE ax_stehendesgewaesser (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     funktion            integer,
+     name                varchar,
+     gewaesserkennziffer varchar,
+     hydrologischesMerkmal integer,
+     CONSTRAINT ax_stehendesgewaesser_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_stehendesgewaesser','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_stehendesgewaesser_geom_idx ON ax_stehendesgewaesser USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_stehendesgewaesser_gml ON ax_stehendesgewaesser USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_stehendesgewaesser           IS 's t e h e n d e s   G e w Ã€ s s e r  ist eine natÃŒrliche oder kÃŒnstliche mit Wasser gefÃŒllte, allseitig umschlossene Hohlform der LandoberflÃ€che ohne unmittelbaren Zusammenhang mit "Meer".';
+COMMENT ON COLUMN ax_stehendesgewaesser.gml_id    IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_stehendesgewaesser.funktion  IS 'FKT "Funktion" ist die Art von "Stehendes GewÃ€sser".';
+COMMENT ON COLUMN ax_stehendesgewaesser.name      IS 'NAM "Name" ist der Eigenname von "Stehendes GewÃ€sser".';
+COMMENT ON COLUMN ax_stehendesgewaesser.gewaesserkennziffer   IS 'GWK  "GewÃ€sserkennziffer" ist die von der zustÃ€ndigen Fachstelle vergebene VerschlÃŒsselung.';
+COMMENT ON COLUMN ax_stehendesgewaesser.hydrologischesMerkmal IS 'HYD  "Hydrologisches Merkmal" gibt die WasserverhÃ€ltnisse von "Stehendes GewÃ€sser" an.';
+
+
+-- M e e r
+-- ----------------------------------------------
+CREATE TABLE ax_meer (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     funktion            integer,
+     name                varchar,
+     bezeichnung         varchar,
+     tidemerkmal         integer,
+     CONSTRAINT ax_meer_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_meer','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_meer_geom_idx ON ax_meer USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_meer_gml ON ax_meer USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_meer              IS '"M e e r" ist die das Festland umgebende WasserflÃ€che.';
+COMMENT ON COLUMN ax_meer.gml_id       IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_meer.funktion     IS 'FKT "Funktion" ist die Art von "Meer".';
+COMMENT ON COLUMN ax_meer.name         IS 'NAM "Name" ist der Eigenname von "Meer".';
+COMMENT ON COLUMN ax_meer.bezeichnung  IS 'BEZ "Bezeichnung" ist die von der zustÃ€ndigen FachbehÃ¶rde vergebene VerschlÃŒsselung.';
+COMMENT ON COLUMN ax_meer.tidemerkmal  IS 'TID "Tidemerkmal" gibt an, ob "Meer" von den periodischen WasserstandsÃ€nderungen beeinflusst wird.';
+
+
+
+--*** ############################################################
+--*** Objektbereich: Bauwerke, Einrichtungen und sonstige Angaben
+--*** ############################################################
+
+--AX_BauwerkeEinrichtungenUndSonstigeAngaben
+-- ** Tabelle bisher noch nicht generiert
+
+--AX_DQMitDatenerhebung
+-- ** Tabelle bisher noch nicht generiert
+
+
+--AX_LI_Lineage_MitDatenerhebung
+-- ** Tabelle bisher noch nicht generiert
+
+--AX_LI_ProcessStep_MitDatenerhebung
+-- ** Tabelle bisher noch nicht generiert
+
+--AX_LI_Source_MitDatenerhebung
+-- ** Tabelle bisher noch nicht generiert
+
+
+--** Objektartengruppe: Bauwerke und Einrichtungen in SiedlungsflÃ€chen
+--   ===================================================================
+
+-- T u r m
+-- ---------------------------------------------------
+CREATE TABLE ax_turm (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     bauwerksfunktion    integer,
+     zustand             integer,
+     name                varchar,
+     CONSTRAINT ax_turm_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_turm','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_turm_geom_idx ON ax_turm USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_turm_gml ON ax_turm USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_turm        IS 'T u r m';
+COMMENT ON COLUMN ax_turm.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- Bauwerk oder Anlage fuer Industrie und Gewerbe
+-- ----------------------------------------------
+CREATE TABLE ax_bauwerkoderanlagefuerindustrieundgewerbe (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     bauwerksfunktion    integer,
+     name                varchar,
+     zustand             integer,
+     objekthoehe         double precision,
+     CONSTRAINT ax_bauwerkoderanlagefuerindustrieundgewerbe_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_bauwerkoderanlagefuerindustrieundgewerbe','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/POINT
+
+CREATE INDEX ax_bauwerkoderanlagefuerindustrieundgewerbe_geom_idx ON ax_bauwerkoderanlagefuerindustrieundgewerbe USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_bauwerkoderanlagefuerindustrieundgewerbe_gml ON ax_bauwerkoderanlagefuerindustrieundgewerbe USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE ax_bauwerkoderanlagefuerindustrieundgewerbe         IS 'Bauwerk oder Anlage fuer Industrie und Gewerbe';
+COMMENT ON COLUMN ax_bauwerkoderanlagefuerindustrieundgewerbe.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- V o r r a t s b e h Ã€ l t e r  /  S p e i c h e r b a u w e r k
+-- -----------------------------------------------------------------
+CREATE TABLE ax_vorratsbehaelterspeicherbauwerk (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     speicherinhalt      integer,
+     bauwerksfunktion    integer,
+     lagezurerdoberflaeche integer,
+     name                varchar,
+     CONSTRAINT ax_vorratsbehaelterspeicherbauwerk_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_vorratsbehaelterspeicherbauwerk','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_vorratsbehaelterspeicherbauwerk_geom_idx ON ax_vorratsbehaelterspeicherbauwerk USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_vorratsbehaelterspeicherbauwerk_gml ON ax_vorratsbehaelterspeicherbauwerk USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_vorratsbehaelterspeicherbauwerk        IS 'V o r r a t s b e h Ã€ l t e r  /  S p e i c h e r b a u w e r k';
+COMMENT ON COLUMN ax_vorratsbehaelterspeicherbauwerk.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- T r a n s p o r t a n l a g e
+-- ---------------------------------------------------
+CREATE TABLE ax_transportanlage (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     bauwerksfunktion    integer,
+     lagezurerdoberflaeche integer,
+     art                 varchar,
+     name                varchar,
+     produkt             integer,
+     CONSTRAINT ax_transportanlage_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_transportanlage','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POINT/LINESTRING
+
+CREATE INDEX ax_transportanlage_geom_idx ON ax_transportanlage USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_transportanlage_gml ON ax_transportanlage USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_transportanlage        IS 'T r a n s p o r t a n l a g e';
+COMMENT ON COLUMN ax_transportanlage.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- L e i t u n g
+-- ----------------------------------------------
+CREATE TABLE ax_leitung (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     bauwerksfunktion    integer,
+     spannungsebene      integer,
+     CONSTRAINT ax_leitung_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_leitung','wkb_geometry',:alkis_epsg,'LINESTRING',2);
+
+CREATE INDEX ax_leitung_geom_idx ON ax_leitung USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_leitung_gml ON ax_leitung USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_leitung        IS 'L e i t u n g';
+COMMENT ON COLUMN ax_leitung.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- Bauwerk oder Anlage fuer Sport, Freizeit und Erholung
+-- -----------------------------------------------------
+CREATE TABLE ax_bauwerkoderanlagefuersportfreizeitunderholung (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     bauwerksfunktion    integer,
+     sportart            integer,
+     name                varchar,
+     CONSTRAINT ax_bauwerkoderanlagefuersportfreizeitunderholung_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_bauwerkoderanlagefuersportfreizeitunderholung','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/POINT
+
+CREATE INDEX ax_bauwerkoderanlagefuersportfreizeitunderholung_geom_idx ON ax_bauwerkoderanlagefuersportfreizeitunderholung USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_bauwerkoderanlagefuersportfreizeitunderholung_gml ON ax_bauwerkoderanlagefuersportfreizeitunderholung USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_bauwerkoderanlagefuersportfreizeitunderholung        IS 'Bauwerk oder Anlage fuer Sport, Freizeit und Erholung';
+COMMENT ON COLUMN ax_bauwerkoderanlagefuersportfreizeitunderholung.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- Historisches Bauwerk oder historische Einrichtung
+-- -------------------------------------------------
+CREATE TABLE ax_historischesbauwerkoderhistorischeeinrichtung (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     sonstigesmodell     varchar[],
+     anlass              varchar,
+     archaeologischertyp integer,
+     name                varchar,
+     CONSTRAINT ax_historischesbauwerkoderhistorischeeinrichtung_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_historischesbauwerkoderhistorischeeinrichtung','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/POINT
+
+CREATE INDEX ax_historischesbauwerkoderhistorischeeinrichtung_geom_idx ON ax_historischesbauwerkoderhistorischeeinrichtung USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_historischesbauwerkoderhistorischeeinrichtung_gml ON ax_historischesbauwerkoderhistorischeeinrichtung USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_historischesbauwerkoderhistorischeeinrichtung        IS 'Historisches Bauwerk oder historische Einrichtung';
+COMMENT ON COLUMN ax_historischesbauwerkoderhistorischeeinrichtung.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- H e i l q u e l l e  /  G a s q u e l l e
+-- ----------------------------------------------
+CREATE TABLE ax_heilquellegasquelle (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     sonstigesmodell     varchar,
+     anlass              varchar,
+     art                 integer,
+     name                varchar,
+     CONSTRAINT ax_heilquellegasquelle_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_heilquellegasquelle','wkb_geometry',:alkis_epsg,'POINT',2);
+
+CREATE INDEX ax_heilquellegasquelle_geom_idx ON ax_heilquellegasquelle USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_heilquellegasquelle_gml ON ax_heilquellegasquelle USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_heilquellegasquelle        IS 'H e i l q u e l l e  /  G a s q u e l l e';
+COMMENT ON COLUMN ax_heilquellegasquelle.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- sonstiges Bauwerk oder sonstige Einrichtung
+-- ----------------------------------------------
+CREATE TABLE ax_sonstigesbauwerkodersonstigeeinrichtung (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     description         integer,
+     name                varchar,  -- Lippe immer leer, RLP "Relationsbelegung bei Nachmigration"
+     bauwerksfunktion    integer,
+     CONSTRAINT ax_sonstigesbauwerkodersonstigeeinrichtung_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_sonstigesbauwerkodersonstigeeinrichtung','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/LINESTRING
+
+CREATE INDEX ax_sonstigesbauwerkodersonstigeeinrichtung_geom_idx ON ax_sonstigesbauwerkodersonstigeeinrichtung USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_sonstigesbauwerkodersonstigeeinrichtung_gml ON ax_sonstigesbauwerkodersonstigeeinrichtung USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_sonstigesbauwerkodersonstigeeinrichtung        IS 'sonstiges Bauwerk oder sonstige Einrichtung';
+COMMENT ON COLUMN ax_sonstigesbauwerkodersonstigeeinrichtung.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- E i n r i c h t u n g  i n  Ã f f e n t l i c h e n  B e r e i c h e n
+-- ------------------------------------------------------------------------
+CREATE TABLE ax_einrichtunginoeffentlichenbereichen (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     sonstigesmodell     varchar,
+     anlass              varchar,
+     art                 integer,
+     kilometerangabe     varchar,
+     CONSTRAINT ax_einrichtunginoeffentlichenbereichen_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_einrichtunginoeffentlichenbereichen','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_einrichtunginoeffentlichenbereichen_geom_idx ON ax_einrichtunginoeffentlichenbereichen USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_einrichtunginoeffentlichenbereichen_gml ON ax_einrichtunginoeffentlichenbereichen USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_einrichtunginoeffentlichenbereichen        IS 'E i n r i c h t u n g   i n   Ã¶ f f e n t l i c h e n   B e r e i c h e n';
+COMMENT ON COLUMN ax_einrichtunginoeffentlichenbereichen.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- E i n r i c h t u n g   f ÃŒ r   d e n   S c h i f f s v e r k e h r
+-- ------------------------------------------------------------------------
+CREATE TABLE ax_einrichtungenfuerdenschiffsverkehr (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     art                 integer,
+     kilometerangabe     varchar,
+     name                varchar,
+     CONSTRAINT ax_einrichtungfuerdenschiffsverkehr_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_einrichtungenfuerdenschiffsverkehr','wkb_geometry',:alkis_epsg,'POINT',2);
+
+CREATE INDEX ax_einrichtungenfuerdenschiffsverkehr_geom_idx   ON ax_einrichtungenfuerdenschiffsverkehr USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_einrichtungenfuerdenschiffsverkehr_gml ON ax_einrichtungenfuerdenschiffsverkehr USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_einrichtungenfuerdenschiffsverkehr        IS 'E i n r i c h t u n g e n   f ÃŒ r  d e n  S c h i f f s v e r k e h r';
+COMMENT ON COLUMN ax_einrichtungenfuerdenschiffsverkehr.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- B e s o n d e r e r   B a u w e r k s p u n k t
+-- -----------------------------------------------
+CREATE TABLE ax_besondererbauwerkspunkt (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     punktkennung        varchar,
+     land                integer,
+     stelle              integer,
+     sonstigeeigenschaft varchar[],
+     CONSTRAINT ax_besondererbauwerkspunkt_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_besondererbauwerkspunkt','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ax_besondererbauwerkspunkt_gml ON ax_besondererbauwerkspunkt USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_besondererbauwerkspunkt        IS 'B e s o n d e r e r   B a u w e r k s p u n k t';
+COMMENT ON COLUMN ax_besondererbauwerkspunkt.gml_id IS 'Identifikator, global eindeutig';
+
+
+--** Objektartengruppe: Besondere Anlagen auf SiedlungsflÃ€chen
+--   ===================================================================
+
+--** Objektartengruppe: Bauwerke, Anlagen und Einrichtungen fÃŒr den Verkehr
+--   =======================================================================
+
+-- B a u w e r k   i m  V e r k e h s b e r e i c h
+-- ------------------------------------------------
+CREATE TABLE ax_bauwerkimverkehrsbereich (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     bauwerksfunktion    integer,
+     name                varchar,
+     zustand             integer,
+     CONSTRAINT ax_bauwerkimverkehrsbereich_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_bauwerkimverkehrsbereich','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
+
+CREATE INDEX ax_bauwerkimverkehrsbereich_geom_idx ON ax_bauwerkimverkehrsbereich USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_bauwerkimverkehrsbereich_gml ON ax_bauwerkimverkehrsbereich USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_bauwerkimverkehrsbereich        IS 'B a u w e r k   i m  V e r k e h s b e r e i c h';
+COMMENT ON COLUMN ax_bauwerkimverkehrsbereich.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- S t r a s s e n v e r k e h r s a n l a g e
+-- ----------------------------------------------
+CREATE TABLE ax_strassenverkehrsanlage (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     sonstigesmodell     varchar[],
+     anlass              varchar,
+     art                 integer,
+     bezeichnung         varchar,
+     name                varchar,
+     CONSTRAINT ax_strassenverkehrsanlage_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_strassenverkehrsanlage','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/MULTIPOLYGON
+
+CREATE INDEX ax_strassenverkehrsanlage_geom_idx ON ax_strassenverkehrsanlage USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_strassenverkehrsanlage_gml ON ax_strassenverkehrsanlage USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_strassenverkehrsanlage        IS 'S t r a s s e n v e r k e h r s a n l a g e';
+COMMENT ON COLUMN ax_strassenverkehrsanlage.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- W e g  /  P f a d  /  S t e i g
+-- ----------------------------------------------
+CREATE TABLE ax_wegpfadsteig (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     sonstigesmodell     varchar[],
+     anlass              varchar,
+     art                 integer,
+     name                varchar,
+     CONSTRAINT ax_wegpfadsteig_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_wegpfadsteig','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/POLYGON
+
+CREATE INDEX ax_wegpfadsteig_geom_idx ON ax_wegpfadsteig USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_wegpfadsteig_gml ON ax_wegpfadsteig USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_wegpfadsteig        IS 'W e g  /  P f a d  /  S t e i g';
+COMMENT ON COLUMN ax_wegpfadsteig.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- B a h n v e r k e h r s a n l a g e
+-- ----------------------------------------------
+CREATE TABLE ax_bahnverkehrsanlage (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     sonstigesmodell     varchar[],
+     anlass              varchar,
+     bahnhofskategorie   integer,
+     bahnkategorie       integer,
+     name                varchar,
+     CONSTRAINT ax_bahnverkehrsanlage_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_bahnverkehrsanlage','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POINT/POLYGON
+
+CREATE INDEX ax_bahnverkehrsanlage_geom_idx ON ax_bahnverkehrsanlage USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_bahnverkehrsanlage_gml ON ax_bahnverkehrsanlage USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_bahnverkehrsanlage        IS 'B a h n v e r k e h r s a n l a g e';
+COMMENT ON COLUMN ax_bahnverkehrsanlage.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- S e i l b a h n, S c h w e b e b a h n
+-- --------------------------------------
+CREATE TABLE ax_seilbahnschwebebahn (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     sonstigesmodell     varchar[],
+     anlass              varchar,
+     bahnkategorie       integer,
+     name                varchar,
+     CONSTRAINT ax_seilbahnschwebebahn_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_seilbahnschwebebahn','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/MULTILINESTRING
+
+CREATE INDEX ax_seilbahnschwebebahn_geom_idx ON ax_seilbahnschwebebahn USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_seilbahnschwebebahn_gml ON ax_seilbahnschwebebahn USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_seilbahnschwebebahn        IS 'S e i l b a h n, S c h w e b e b a h n';
+COMMENT ON COLUMN ax_seilbahnschwebebahn.gml_id IS 'Identifikator, global eindeutig';
+
+
+
+-- G l e i s
+-- ----------------------------------------------
+CREATE TABLE ax_gleis (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     sonstigesmodell     varchar[],
+     anlass              varchar,
+     bahnkategorie       integer,
+     art                 integer,
+     lagezuroberflaeche  integer,
+     name                varchar,
+     CONSTRAINT ax_gleis_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_gleis','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/POLYGON
+
+CREATE INDEX ax_gleis_geom_idx ON ax_gleis USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_gleis_gml ON ax_gleis USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_gleis        IS 'G l e i s';
+COMMENT ON COLUMN ax_gleis.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- F l u g v e r k e h r s a n l a g e
+-- -----------------------------------
+CREATE TABLE ax_flugverkehrsanlage (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     sonstigesmodell     varchar,
+     anlass              varchar,
+     art                 integer,
+     oberflaechenmaterial integer,
+     name                varchar,
+     CONSTRAINT ax_flugverkehrsanlage_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_flugverkehrsanlage','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_flugverkehrsanlage_geom_idx ON ax_flugverkehrsanlage USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_flugverkehrsanlage_gml ON ax_flugverkehrsanlage USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_flugverkehrsanlage             IS 'F l u g v e r k e h r s a n l a g e';
+COMMENT ON COLUMN ax_flugverkehrsanlage.gml_id      IS 'Identifikator, global eindeutig';
+
+
+--AX_EinrichtungenFuerDenSchiffsverkehr
+-- ** Tabelle bisher noch nicht generiert
+
+
+-- B a u w e r k   i m   G e w Ã€ s s e r b e r e i c h
+-- -----------------------------------------------------
+CREATE TABLE ax_bauwerkimgewaesserbereich (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     bauwerksfunktion    integer,
+     name                varchar,
+     zustand             integer,
+     CONSTRAINT ax_bauwerkimgewaesserbereich_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_bauwerkimgewaesserbereich','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/POINT
+
+CREATE INDEX ax_bauwerkimgewaesserbereich_geom_idx ON ax_bauwerkimgewaesserbereich USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_bauwerkimgewaesserbereich_gml ON ax_bauwerkimgewaesserbereich USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_bauwerkimgewaesserbereich        IS 'B a u w e r k   i m   G e w Ã€ s s e r b e r e i c h';
+COMMENT ON COLUMN ax_bauwerkimgewaesserbereich.gml_id IS 'Identifikator, global eindeutig';
+
+
+--** Objektartengruppe: Besondere Vegetationsmerkmale
+--   ===================================================================
+
+-- V e g a t a t i o n s m e r k m a l
+-- ----------------------------------------------
+CREATE TABLE ax_vegetationsmerkmal (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     bewuchs             integer,
+     zustand             integer,
+     name                varchar,
+     CONSTRAINT ax_vegetationsmerkmal_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_vegetationsmerkmal','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_vegetationsmerkmal_geom_idx ON ax_vegetationsmerkmal USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_vegetationsmerkmal_gml ON ax_vegetationsmerkmal USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_vegetationsmerkmal        IS 'V e g a t a t i o n s m e r k m a l';
+COMMENT ON COLUMN ax_vegetationsmerkmal.gml_id IS 'Identifikator, global eindeutig';
+
+
+--** Objektartengruppe: Besondere Eigenschaften von GewÃ€ssern
+--   ===================================================================
+
+-- G e w Ã€ s s e r m e r k m a l
+-- ----------------------------------------------
+CREATE TABLE ax_gewaessermerkmal (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     art                      integer,
+     name                     varchar,
+     CONSTRAINT ax_gewaessermerkmal_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_gewaessermerkmal','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POINT/LINESTRING/POLYGON
+
+CREATE INDEX ax_gewaessermerkmal_geom_idx ON ax_gewaessermerkmal USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_gewaessermerkmal_gml ON ax_gewaessermerkmal USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_gewaessermerkmal        IS 'G e w Ã€ s s e r m e r k m a l';
+COMMENT ON COLUMN ax_gewaessermerkmal.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- u n t e r g e o r d n e t e s   G e w Ã€ s s e r
+-- -------------------------------------------------
+CREATE TABLE ax_untergeordnetesgewaesser (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     funktion                 integer,
+     lagezurerdoberflaeche    integer,
+     hydrologischesmerkmal    integer,
+     name                     varchar,
+     CONSTRAINT ax_untergeordnetesgewaesser_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_untergeordnetesgewaesser','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/POLYGON
+
+CREATE INDEX ax_untergeordnetesgewaesser_geom_idx ON ax_untergeordnetesgewaesser USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_untergeordnetesgewaesser_gml ON ax_untergeordnetesgewaesser USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_untergeordnetesgewaesser        IS 'u n t e r g e o r d n e t e s   G e w Ã€ s s e r';
+COMMENT ON COLUMN ax_untergeordnetesgewaesser.gml_id IS 'Identifikator, global eindeutig';
+
+
+--** Objektartengruppe: Besondere Angaben zum Verkehr
+--   ===================================================================
+
+--** Objektartengruppe: Besondere Angaben zum GewÃ€sser
+--   ===================================================================
+
+-- W a s s e r s p i e g e l h Ã¶ h e
+-- ---------------------------------
+CREATE TABLE ax_wasserspiegelhoehe (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     hoehedeswasserspiegels   double precision,
+     CONSTRAINT ax_wasserspiegelhoehe_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_wasserspiegelhoehe','wkb_geometry',:alkis_epsg,'POINT',2);
+
+CREATE INDEX ax_wasserspiegelhoehe_geom_idx ON ax_wasserspiegelhoehe USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_wasserspiegelhoehe_gml ON ax_wasserspiegelhoehe USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_wasserspiegelhoehe  IS 'W a s s e r s p i e g e l h Ã¶ h e';
+
+
+-- S c h i f f f a h r t s l i n i e  /  F Ã€ h r v e r k e h r
+-- -----------------------------------------------------------
+CREATE TABLE ax_schifffahrtsliniefaehrverkehr (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     art                      integer,
+     CONSTRAINT ax_schifffahrtsliniefaehrverkehr_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_schifffahrtsliniefaehrverkehr','wkb_geometry',:alkis_epsg,'LINESTRING',2);
+
+CREATE INDEX ax_schifffahrtsliniefaehrverkehr_geom_idx ON ax_schifffahrtsliniefaehrverkehr USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_schifffahrtsliniefaehrverkehr_gml ON ax_schifffahrtsliniefaehrverkehr USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_schifffahrtsliniefaehrverkehr  IS 'S c h i f f f a h r t s l i n i e  /  F Ã€ h r v e r k e h r';
+
+--*** ############################################################
+--*** Objektbereich: Relief
+--*** ############################################################
+
+--** Objektartengruppe: Reliefformen
+--   ===================================================================
+
+
+-- B Ã¶ s c h u n g s k l i f f
+-- -----------------------------
+CREATE TABLE ax_boeschungkliff (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     sonstigesmodell          varchar[],
+     anlass                   varchar,
+     objekthoehe              double precision,
+     CONSTRAINT ax_boeschungkliff_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_boeschungkliff','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ax_boeschungkliff_gml ON ax_boeschungkliff USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_boeschungkliff        IS 'B Ã¶ s c h u n g s k l i f f';
+COMMENT ON COLUMN ax_boeschungkliff.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- B Ã¶ s c h u n g s f l Ã€ c h e
+-- ---------------------------------
+--AX_Boeschungsflaeche GeÃ€ndert (Revisionsnummer: 1623)
+CREATE TABLE ax_boeschungsflaeche (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     sonstigesmodell          varchar[],
+     anlass                   varchar,
+     CONSTRAINT ax_boeschungsflaeche_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_boeschungsflaeche','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_boeschungsflaeche_geom_idx ON ax_boeschungsflaeche USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_boeschungsflaeche_gml ON ax_boeschungsflaeche USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_boeschungsflaeche        IS 'B Ã¶ s c h u n g s f l Ã€ c h e';
+COMMENT ON COLUMN ax_boeschungsflaeche.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- D a m m  /  W a l l  /  D e i c h
+-- ----------------------------------------------
+CREATE TABLE ax_dammwalldeich (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     art                      integer,
+     name                     varchar,
+     funktion                 integer,
+     CONSTRAINT ax_dammwalldeich_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_dammwalldeich','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- LINESTRING/POLYGON
+
+CREATE INDEX ax_dammwalldeich_geom_idx ON ax_dammwalldeich USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_dammwalldeich_gml ON ax_dammwalldeich USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_dammwalldeich        IS 'D a m m  /  W a l l  /  D e i c h';
+COMMENT ON COLUMN ax_dammwalldeich.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- H Ã¶ h l e n e i n g a n g
+-- ------------------------- 
+CREATE TABLE ax_hoehleneingang (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     name                     varchar,
+     ax_datenerhebung         integer,
+     CONSTRAINT ax_hoehleneingang_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_hoehleneingang','wkb_geometry',:alkis_epsg,'POINT',2);
+
+CREATE INDEX ax_hoehleneingang_geom_idx ON ax_hoehleneingang USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_hoehleneingang_gml ON ax_hoehleneingang USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_hoehleneingang        IS 'HÃ¶hleneingang';
+COMMENT ON COLUMN ax_hoehleneingang.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- F e l s e n ,  F e l s b l o c k ,   F e l s n a d e l
+-- ------------------------------------------------------
+-- Nutzung
+CREATE TABLE ax_felsenfelsblockfelsnadel (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     name                     varchar,
+     CONSTRAINT ax_felsenfelsblockfelsnadel_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_felsenfelsblockfelsnadel','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_felsenfelsblockfelsnadel_geom_idx ON ax_felsenfelsblockfelsnadel USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_felsenfelsblockfelsnadel_gml ON ax_felsenfelsblockfelsnadel USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_felsenfelsblockfelsnadel        IS 'F e l s e n ,  F e l s b l o c k ,   F e l s n a d e l';
+COMMENT ON COLUMN ax_felsenfelsblockfelsnadel.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- D ÃŒ n e
+-- -------
+CREATE TABLE ax_duene (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     name                     varchar,
+     CONSTRAINT ax_duene_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_duene','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_duene_geom_idx ON ax_duene USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_duene_gml ON ax_duene USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_duene IS 'D ÃŒ n e';
+
+
+-- H Ã¶ h e n l i n i e
+-- --------------------
+CREATE TABLE ax_hoehenlinie (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     hoehevonhoehenlinie      double precision,
+     CONSTRAINT ax_hoehenlinie_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_hoehenlinie','wkb_geometry',:alkis_epsg,'LINESTRING',2);
+
+CREATE INDEX ax_hoehenlinie_geom_idx ON ax_hoehenlinie USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_hoehenlinie_gml ON ax_hoehenlinie USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_hoehenlinie        IS 'H Ã¶ h e n l i n i e';
+COMMENT ON COLUMN ax_hoehenlinie.gml_id IS 'Identifikator, global eindeutig';
+
+
+
+--** Objektartengruppe: PrimÃ€res DGM
+--   ===================================================================
+
+--AX_Erfassung_DGM
+-- ** Tabelle bisher noch nicht generiert
+
+
+--AX_ErfassungMarkanterGelaendepunkt
+-- ** Tabelle bisher noch nicht generiert
+
+
+-- G e l Ã€ n d e k a n t e
+-- ----------------------------------------------
+CREATE TABLE ax_gelaendekante (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     sonstigesmodell          varchar,
+     anlass                   varchar,
+     istteilvon               varchar, -- Beziehung?
+     artdergelaendekante      integer,
+     ax_dqerfassungsmethode   integer,
+     identifikation           integer,
+     art                      integer,
+     CONSTRAINT ax_gelaendekante_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_gelaendekante','wkb_geometry',:alkis_epsg,'LINESTRING',2);
+
+CREATE INDEX ax_gelaendekante_geom_idx ON ax_gelaendekante USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_gelaendekante_gml ON ax_gelaendekante USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_gelaendekante        IS 'G e l Ã€ n d e k a n t e';
+COMMENT ON COLUMN ax_gelaendekante.gml_id IS 'Identifikator, global eindeutig';
+
+
+--AX_MarkanterGelaendepunkt
+-- ** Tabelle bisher noch nicht generiert
+
+
+-- B e s o n d e r e r   H Ã¶ h e n p u n k t
+-- -------------------------------------------------------------
+CREATE TABLE ax_besondererhoehenpunkt (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     sonstigesmodell          varchar,
+     anlass                   varchar,
+     besonderebedeutung       integer,
+     CONSTRAINT ax_besondererhoehenpunkt_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_besondererhoehenpunkt','wkb_geometry',:alkis_epsg,'POINT',2);
+
+CREATE INDEX ax_besondererhoehenpunkt_geom_idx ON ax_besondererhoehenpunkt USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_besondererhoehenpunkt_gml ON ax_besondererhoehenpunkt USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_besondererhoehenpunkt        IS 'B e s o n d e r e r   H Ã¶ h e n - P u n k t';
+COMMENT ON COLUMN ax_besondererhoehenpunkt.gml_id IS 'Identifikator, global eindeutig';
+
+
+
+--** Objektartengruppe:SekundÃ€res DGM
+--   ===================================================================
+
+--*** ############################################################
+--*** Objektbereich: Gesetzliche Festlegungen, Gebietseinheiten, Kataloge
+--*** ############################################################
+
+--** Objektartengruppe: Ãffentlich-rechtliche und sonstige Festlegungen
+--   ===================================================================
+
+
+-- K l a s s i f i z i e r u n g   n a c h   S t r a s s e n r e c h t
+-- -------------------------------------------------------------------
+CREATE TABLE ax_klassifizierungnachstrassenrecht (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     artderfestlegung         integer,
+     land                     integer,
+     stelle                   varchar,
+     bezeichnung              varchar,
+     CONSTRAINT ax_klassifizierungnachstrassenrecht_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_klassifizierungnachstrassenrecht','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
+
+CREATE INDEX ax_klassifizierungnachstrassenrecht_geom_idx   ON ax_klassifizierungnachstrassenrecht USING gist  (wkb_geometry);
+CREATE UNIQUE INDEX ax_klassifizierungnachstrassenrecht_gml ON ax_klassifizierungnachstrassenrecht USING btree (gml_id,beginnt);
+CREATE INDEX ax_klassifizierungnachstrassenrecht_afs ON ax_klassifizierungnachstrassenrecht(land,stelle);
+
+COMMENT ON TABLE  ax_klassifizierungnachstrassenrecht        IS 'K l a s s i f i z i e r u n g   n a c h   S t r a s s e n r e c h t';
+COMMENT ON COLUMN ax_klassifizierungnachstrassenrecht.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- K l a s s i f i z i e r u n g   n a c h   W a s s e r r e c h t
+-- ---------------------------------------------------------------
+CREATE TABLE ax_klassifizierungnachwasserrecht (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     artderfestlegung         integer,
+     land                     integer,
+     stelle                   varchar,
+     CONSTRAINT ax_klassifizierungnachwasserrecht_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_klassifizierungnachwasserrecht','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_klassifizierungnachwasserrecht_geom_idx ON ax_klassifizierungnachwasserrecht USING gist (wkb_geometry);
+CREATE INDEX ax_klassifizierungnachwasserrecht_afs ON ax_klassifizierungnachwasserrecht(land,stelle);
+
+COMMENT ON TABLE  ax_klassifizierungnachwasserrecht        IS 'K l a s s i f i z i e r u n g   n a c h   W a s s e r r e c h t';
+COMMENT ON COLUMN ax_klassifizierungnachwasserrecht.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- B a u - ,   R a u m -   o d e r   B o d e n o r d n u n g s r e c h t
+-- ---------------------------------------------------------------------
+-- 'Bau-, Raum- oder Bodenordnungsrecht' ist ein fachlich ÃŒbergeordnetes Gebiet von FlÃ€chen
+-- mit bodenbezogenen BeschrÃ€nkungen, Belastungen oder anderen Eigenschaften nach Ã¶ffentlichen Vorschriften.
+CREATE TABLE ax_bauraumoderbodenordnungsrecht (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     art                      varchar,
+     name                     varchar,
+     artderfestlegung         integer,
+     land                     integer,
+     stelle                   varchar,
+     bezeichnung              varchar,
+     CONSTRAINT ax_bauraumoderbodenordnungsrecht_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_bauraumoderbodenordnungsrecht','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_bauraumoderbodenordnungsrecht_geom_idx ON ax_bauraumoderbodenordnungsrecht USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_bauraumoderbodenordnungsrecht_gml ON ax_bauraumoderbodenordnungsrecht USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_bauraumoderbodenordnungsrecht             IS 'REO: Bau-, Raum- oder Bodenordnungsrecht';
+COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht.gml_id      IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht.artderfestlegung IS 'ADF';
+COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht.name        IS 'NAM, Eigenname von "Bau-, Raum- oder Bodenordnungsrecht"';
+COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht.bezeichnung IS 'BEZ, Amtlich festgelegte VerschlÃŒsselung von "Bau-, Raum- oder Bodenordnungsrecht"';
+
+
+-- S o n s t i g e s   R e c h t
+-- -----------------------------
+CREATE TABLE ax_sonstigesrecht (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     artderfestlegung         integer,
+     land                     integer,
+     stelle                   varchar,
+     bezeichnung              varchar,
+     characterstring          varchar,
+     art                      varchar,
+     name                     varchar,
+     funktion                 integer,
+     CONSTRAINT ax_sonstigesrecht_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_sonstigesrecht','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_sonstigesrecht_geom_idx ON ax_sonstigesrecht USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_sonstigesrecht_gml ON ax_sonstigesrecht USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_sonstigesrecht        IS 'S o n s t i g e s   R e c h t';
+COMMENT ON COLUMN ax_sonstigesrecht.gml_id IS 'Identifikator, global eindeutig';
+
+
+--** Objektartengruppe: BodenschÃ€tzung, Bewertung
+--   ===================================================================
+
+
+-- B o d e n s c h Ã€ t z u n g
+-- ----------------------------------------------
+CREATE TABLE ax_bodenschaetzung (
+     ogc_fid                       serial NOT NULL,
+     gml_id                        character(16),
+     identifier                    character(44),
+     beginnt                       character(20),
+     endet                         character(20),
+     advstandardmodell             varchar,
+     anlass                        varchar,
+     kulturart                     integer,
+     bodenart                      integer,
+     zustandsstufeoderbodenstufe   integer,
+     entstehungsartoderklimastufewasserverhaeltnisse integer[],
+     bodenzahlodergruenlandgrundzahl  integer,
+     ackerzahlodergruenlandzahl    integer,
+     sonstigeangaben               integer[],
+     jahreszahl                    integer,
+     CONSTRAINT ax_bodenschaetzung_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_bodenschaetzung','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/MULTIPOLYGON
+
+CREATE INDEX ax_bodenschaetzung_geom_idx ON ax_bodenschaetzung USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_bodenschaetzung_gml ON ax_bodenschaetzung USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_bodenschaetzung              IS '"B o d e n s c h Ã€ t z u n g" ist die kleinste Einheit einer bodengeschÃ€tzten FlÃ€che nach dem BodenschÃ€tzungsgesetz, fÃŒr die eine ErtragsfÃ€higkeit im Liegenschaftskataster nachzuweisen ist (BodenschÃ€tzungsflÃ€che). Ausgenommen sind MusterstÃŒcke, LandesmusterstÃŒcke und VergleichsstÃŒcke der BodenschÃ€tzung.';
+
+COMMENT ON COLUMN ax_bodenschaetzung.gml_id       IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_bodenschaetzung.kulturart    IS '"Kulturart" ist die bestandskrÃ€ftig festgesetzte landwirtschaftliche Nutzungsart entsprechend dem Acker- oder GrÃŒnlandschÃ€tzungsrahmen.';
+COMMENT ON COLUMN ax_bodenschaetzung.bodenart     IS '"Bodenart" ist die nach den DurchfÃŒhrungsbestimmungen zum BodenschÃ€tzungsgesetz (SchÃ€tzungsrahmen) festgelegte Bezeichnung der Bodenart.';
+COMMENT ON COLUMN ax_bodenschaetzung.zustandsstufeoderbodenstufe     IS '"Zustandsstufe oder Bodenstufe" ist die nach den SchÃ€tzungsrahmen festgelegte Bezeichnung der Zustands- oder Bodenstufe.';
+COMMENT ON COLUMN ax_bodenschaetzung.entstehungsartoderklimastufewasserverhaeltnisse IS '"Entstehungsart oder Klimastufe/WasserverhÃ€ltnisse" ist die nach den SchÃ€tzungsrahmen festgelegte Bezeichnung der Entstehungsart oder der Klimastufe und der WasserverhÃ€ltnisse.';
+COMMENT ON COLUMN ax_bodenschaetzung.bodenzahlodergruenlandgrundzahl IS '"Bodenzahl oder GrÃŒnlandgrundzahl" ist die Wertzahl nach dem Acker- oder GrÃŒnlandschÃ€tzungsrahmen';
+COMMENT ON COLUMN ax_bodenschaetzung.ackerzahlodergruenlandzahl      IS '"Ackerzahl oder GrÃŒnlandzahl" ist die "Bodenzahl oder GrÃŒnlandgrundzahl" einschlieÃlich Ab- und Zurechnungen nach dem BodenschÃ€tzungsgesetz.';
+COMMENT ON COLUMN ax_bodenschaetzung.sonstigeangaben                 IS '"Sonstige Angaben" ist der Nachweis von Besonderheiten einer bodengeschÃ€tzten FlÃ€che.';
+COMMENT ON COLUMN ax_bodenschaetzung.jahreszahl   IS '"Jahreszahl" ist das Jahr, in dem eine Neukultur oder Tiefkultur angelegt worden ist.';
+
+
+-- M u s t e r -,  L a n d e s m u s t e r -   u n d   V e r g l e i c h s s t u e c k
+-- -----------------------------------------------------------------------------------
+CREATE TABLE ax_musterlandesmusterundvergleichsstueck (
+     ogc_fid                       serial NOT NULL,
+     gml_id                        character(16),
+     identifier                    character(44),
+     beginnt                       character(20),
+     endet                         character(20),
+     advstandardmodell             varchar,
+     anlass                        varchar,
+     merkmal                       integer,
+     nummer                        integer,
+     kulturart                     integer,
+     bodenart                      integer,
+     zustandsstufeoderbodenstufe   integer,
+     entstehungsartoderklimastufewasserverhaeltnisse integer,
+     bodenzahlodergruenlandgrundzahl  integer,
+     ackerzahlodergruenlandzahl    integer,
+     sonstigeangaben               integer[],
+     CONSTRAINT ax_musterlandesmusterundvergleichsstueck_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_musterlandesmusterundvergleichsstueck','wkb_geometry',:alkis_epsg,'GEOMETRY',2); -- POLYGON/POINT
+
+CREATE INDEX ax_musterlandesmusterundvergleichsstueck_geom_idx   ON ax_musterlandesmusterundvergleichsstueck USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_musterlandesmusterundvergleichsstueck_gml ON ax_musterlandesmusterundvergleichsstueck USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_musterlandesmusterundvergleichsstueck           IS '"Muster-, Landesmuster- und VergleichsstÃŒck" ist eine besondere bodengeschÃ€tzte FlÃ€che nach dem BodenschÃ€tzungsgesetz, fÃŒr die eine ErtragsfÃ€higkeit im Liegenschaftskataster nachzuweisen ist.';
+COMMENT ON COLUMN ax_musterlandesmusterundvergleichsstueck.gml_id    IS 'Identifikator, global eindeutig';
+
+COMMENT ON COLUMN ax_musterlandesmusterundvergleichsstueck.merkmal   IS '"Merkmal" ist die Kennzeichnung zur Unterscheidung von MusterstÃŒck, LandesmusterstÃŒck und VergleichsstÃŒck.';
+COMMENT ON COLUMN ax_musterlandesmusterundvergleichsstueck.kulturart IS '"Kulturart" ist die bestandskrÃ€ftig festgesetzte landwirtschaftliche Nutzungsart entsprechend dem Acker- oder GrÃŒnlandschÃ€tzungsrahmen.';
+COMMENT ON COLUMN ax_musterlandesmusterundvergleichsstueck.bodenart  IS '"Bodenart" ist die nach den DurchfÃŒhrungsbestimmungen zum BodenschÃ€tzungsgesetz (SchÃ€tzungsrahmen) festgelegte Bezeichnung der Bodenart.';
+COMMENT ON COLUMN ax_musterlandesmusterundvergleichsstueck.zustandsstufeoderbodenstufe     IS '"Zustandsstufe oder Bodenstufe" ist die nach den SchÃ€tzungsrahmen festgelegte Bezeichnung der Zustands- oder Bodenstufe.';
+COMMENT ON COLUMN ax_musterlandesmusterundvergleichsstueck.entstehungsartoderklimastufewasserverhaeltnisse IS '"Entstehungsart oder Klimastufe/WasserverhÃ€ltnisse" ist die nach den SchÃ€tzungsrahmen festgelegte Bezeichnung der Entstehungsart oder der Klimastufe und der WasserverhÃ€ltnisse.';
+COMMENT ON COLUMN ax_musterlandesmusterundvergleichsstueck.bodenzahlodergruenlandgrundzahl IS '"Bodenzahl oder GrÃŒnlandgrundzahl" ist die Wertzahl nach dem Acker- oder GrÃŒnlandschÃ€tzungsrahmen.';
+COMMENT ON COLUMN ax_musterlandesmusterundvergleichsstueck.ackerzahlodergruenlandzahl      IS '"Ackerzahl oder GrÃŒnlandzahl" ist die "Bodenzahl oder GrÃŒnlandgrundzahl" einschlieÃlich Ab- und Zurechnungen nach dem BodenschÃ€tzungsgesetz.';
+COMMENT ON COLUMN ax_musterlandesmusterundvergleichsstueck.sonstigeangaben                 IS '"Sonstige Angaben" ist der Nachweis von Besonderheiten einer bodengeschÃ€tzten FlÃ€che.';
+
+
+--** Objektartengruppe: Kataloge
+--   ===================================================================
+
+
+-- B u n d e s l a n d
+-- ----------------------------------------------
+CREATE TABLE ax_bundesland (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     schluesselgesamt    integer,
+     bezeichnung         varchar,
+     land                integer,
+     stelle              varchar,
+     CONSTRAINT ax_bundesland_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_bundesland','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ax_bundesland_gml ON ax_bundesland USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_bundesland        IS 'B u n d e s l a n d';
+COMMENT ON COLUMN ax_bundesland.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- R e g i e r u n g s b e z i r k
+-- ----------------------------------------------
+CREATE TABLE ax_regierungsbezirk (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     schluesselgesamt         integer,
+     bezeichnung              varchar,
+     land                     integer,
+     regierungsbezirk         integer,
+     CONSTRAINT ax_regierungsbezirk_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_regierungsbezirk','dummy',:alkis_epsg,'POINT',2);
+
+-- Verbindungstabellen indizieren
+CREATE UNIQUE INDEX ax_regierungsbezirk_gml ON ax_regierungsbezirk USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_regierungsbezirk        IS 'R e g i e r u n g s b e z i r k';
+COMMENT ON COLUMN ax_regierungsbezirk.gml_id IS 'Identifikator, global eindeutig';
+
+
+--AX_KreisRegion GeÃ€ndert (Revisionsnummer: 1658)
+
+-- K r e i s   /   R e g i o n
+-- ---------------------------
+CREATE TABLE ax_kreisregion (
+     ogc_fid                  serial NOT NULL,
+     gml_id                   character(16),
+     identifier               character(44),
+     beginnt                  character(20),
+     endet                    character(20),
+     advstandardmodell        varchar,
+     anlass                   varchar,
+     schluesselgesamt         integer,
+     bezeichnung              varchar,
+     land                     integer,
+     regierungsbezirk         integer,
+     kreis                    integer,
+     CONSTRAINT ax_kreisregion_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_kreisregion','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ax_kreisregion_gml ON ax_kreisregion USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_kreisregion        IS 'K r e i s  /  R e g i o n';
+COMMENT ON COLUMN ax_kreisregion.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- G e m e i n d e
+-- ----------------------------------------------
+CREATE TABLE ax_gemeinde (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     schluesselgesamt    integer,
+     bezeichnung         varchar,
+     land                integer,
+     regierungsbezirk    integer,
+     kreis               integer,
+     gemeinde            integer,
+     CONSTRAINT ax_gemeinde_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_gemeinde','dummy',:alkis_epsg,'POINT',2);
+
+-- Index fÃŒr alkis_beziehungen
+CREATE UNIQUE INDEX ax_gemeinde_gml ON ax_gemeinde USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_gemeinde        IS 'G e m e i n d e';
+COMMENT ON COLUMN ax_gemeinde.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- G e m e i n d e t e i l
+-- -----------------------------------------
+CREATE TABLE ax_gemeindeteil (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     schluesselgesamt    double precision,
+     bezeichnung         varchar,
+     administrativefunktion integer,
+     land                integer,
+     regierungsbezirk    integer,
+     kreis               integer,
+     gemeinde            integer,
+     gemeindeteil        integer,
+     CONSTRAINT ax_gemeindeteil_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_gemeindeteil','dummy',:alkis_epsg,'POINT',2);
+
+-- Index fÃŒr alkis_beziehungen
+CREATE UNIQUE INDEX ax_gemeindeteil_gml ON ax_gemeindeteil USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_gemeindeteil        IS 'G e m e i n d e - T e i l';
+COMMENT ON COLUMN ax_gemeindeteil.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- G e m a r k u n g
+-- ----------------------------------------------
+-- NREO, nur Schluesseltabelle: Geometrie entbehrlich
+CREATE TABLE ax_gemarkung (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar[],
+     anlass              varchar,
+     schluesselgesamt    integer,
+     bezeichnung         varchar,
+     land                integer,
+     gemarkungsnummer    integer,
+     stelle              integer,
+     CONSTRAINT ax_gemarkung_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_gemarkung','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ax_gemarkung_gml ON ax_gemarkung USING btree (gml_id,beginnt);         -- Index fÃŒr alkis_beziehungen
+CREATE INDEX ax_gemarkung_nr         ON ax_gemarkung USING btree (land, gemarkungsnummer); -- Such-Index, Verweis aus ax_Flurstueck
+
+COMMENT ON TABLE  ax_gemarkung        IS 'G e m a r k u n g';
+COMMENT ON COLUMN ax_gemarkung.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- G e m a r k u n g s t e i l   /   F l u r
+-- ----------------------------------------------
+-- Schluesseltabelle: Geometrie entbehrlich
+CREATE TABLE ax_gemarkungsteilflur (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     schluesselgesamt    integer,
+     bezeichnung         varchar,
+     land                integer,
+     gemarkung           integer,
+     gemarkungsteilflur  integer,
+     CONSTRAINT ax_gemarkungsteilflur_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_gemarkungsteilflur','dummy',:alkis_epsg,'POINT',2);
+
+-- Index fÃŒr alkis_beziehungen
+CREATE UNIQUE INDEX ax_gemarkungsteilflur_gml ON ax_gemarkungsteilflur USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_gemarkungsteilflur        IS 'G e m a r k u n g s t e i l   /   F l u r';
+COMMENT ON COLUMN ax_gemarkungsteilflur.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- B u c h u n g s b l a t t - B e z i r k
+-- ----------------------------------------------
+CREATE TABLE ax_buchungsblattbezirk (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     schluesselgesamt    integer,
+     bezeichnung         varchar,
+     land                integer,
+     bezirk              integer,
+     stelle              varchar,
+     CONSTRAINT ax_buchungsblattbezirk_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_buchungsblattbezirk','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ax_buchungsblattbezirk_gml ON ax_buchungsblattbezirk USING btree (gml_id,beginnt);
+
+-- Such-Index auf Land + Bezirk
+-- Der Verweis von ax_buchungsblatt hat keine alkis_beziehung.
+CREATE INDEX ax_buchungsblattbez_key ON ax_buchungsblattbezirk USING btree (land, bezirk);
+
+COMMENT ON TABLE  ax_buchungsblattbezirk        IS 'Buchungsblatt- B e z i r k';
+COMMENT ON COLUMN ax_buchungsblattbezirk.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- D i e n s t s t e l l e
+-- ----------------------------------------------
+-- NREO, nur Schluesseltabelle: Geometrie entbehrlich
+CREATE TABLE ax_dienststelle (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     sonstigesmodell     varchar,
+     anlass              varchar,
+     schluesselgesamt    varchar,
+     bezeichnung         varchar,
+     land                integer,
+     stelle              varchar,
+     stellenart          integer,
+     CONSTRAINT ax_dienststelle_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_dienststelle','dummy',:alkis_epsg,'POINT',2);
+
+-- Index fÃŒr alkis_beziehungen
+CREATE UNIQUE INDEX ax_dienststelle_gml ON ax_dienststelle USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_dienststelle        IS 'D i e n s t s t e l l e';
+COMMENT ON COLUMN ax_dienststelle.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- L a g e b e z e i c h n u n g s - K a t a l o g e i n t r a g
+-- --------------------------------------------------------------
+CREATE TABLE ax_lagebezeichnungkatalogeintrag (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     schluesselgesamt    varchar,
+     bezeichnung         varchar,
+     land                integer,
+     regierungsbezirk    integer,
+     kreis               integer,
+     gemeinde            integer,
+     lage                varchar,
+     CONSTRAINT ax_lagebezeichnungkatalogeintrag_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_lagebezeichnungkatalogeintrag','dummy',:alkis_epsg,'POINT',2);
+
+CREATE UNIQUE INDEX ax_lagebezeichnungkatalogeintrag_gml ON ax_lagebezeichnungkatalogeintrag USING btree (gml_id,beginnt);
+
+-- NRW: Nummerierung Strassenschluessel innerhalb einer Gemeinde
+-- Die Kombination Gemeinde und StraÃenschlÃŒssel ist also ein eindeutiges Suchkriterium.
+CREATE INDEX ax_lagebezeichnungkatalogeintrag_lage ON ax_lagebezeichnungkatalogeintrag USING btree (gemeinde, lage);
+
+-- Suchindex (Verwendung in Navigations-Programm)
+CREATE INDEX ax_lagebezeichnungkatalogeintrag_gesa ON ax_lagebezeichnungkatalogeintrag USING btree (schluesselgesamt);
+CREATE INDEX ax_lagebezeichnungkatalogeintrag_bez  ON ax_lagebezeichnungkatalogeintrag USING btree (bezeichnung);
+
+COMMENT ON TABLE  ax_lagebezeichnungkatalogeintrag              IS 'StraÃentabelle';
+COMMENT ON COLUMN ax_lagebezeichnungkatalogeintrag.gml_id       IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_lagebezeichnungkatalogeintrag.lage         IS 'StraÃenschlÃŒssel';
+COMMENT ON COLUMN ax_lagebezeichnungkatalogeintrag.bezeichnung  IS 'StraÃenname';
+
+
+--** Objektartengruppe: Geographische Gebietseinheiten
+--   ===================================================================
+
+-- k l e i n r Ã€ u m i g e r   L a n d s c h a f t s t e i l
+-- -----------------------------------------------------------
+CREATE TABLE ax_kleinraeumigerlandschaftsteil (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     sonstigesmodell     varchar[],
+     anlass              varchar,
+     landschaftstyp      integer,
+     name                varchar
+);
+
+SELECT AddGeometryColumn('ax_kleinraeumigerlandschaftsteil','wkb_geometry',:alkis_epsg,'POINT',2);
+
+CREATE INDEX ax_kleinraeumigerlandschaftsteil_geom_idx   ON ax_kleinraeumigerlandschaftsteil USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_kleinraeumigerlandschaftsteil_gml ON ax_kleinraeumigerlandschaftsteil USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_kleinraeumigerlandschaftsteil        IS 'k l e i n r Ã€ u m i g e r   L a n d s c h a f t s t e i l';
+COMMENT ON COLUMN ax_kleinraeumigerlandschaftsteil.gml_id IS 'Identifikator, global eindeutig';
+
+
+-- W o h n p l a t z
+-- -----------------------------------------------------------
+CREATE TABLE ax_wohnplatz (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     name                varchar,
+     CONSTRAINT ax_wohnplatz_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_wohnplatz','wkb_geometry',:alkis_epsg,'POINT',2);
+
+CREATE INDEX ax_wohnplatz_geom_idx   ON ax_wohnplatz USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_wohnplatz_gml ON ax_wohnplatz USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_wohnplatz        IS 'W o h n p l a t z';
+COMMENT ON COLUMN ax_wohnplatz.gml_id IS 'Identifikator, global eindeutig';
+
+
+--** Objektartengruppe: Administrative Gebietseinheiten
+--   ===================================================================
+
+-- ax_baublock
+
+
+-- w i r t s c h a f t l i c h e   E i n h e i t
+-- ---------------------------------------------
+-- neu 2013-04-15
+CREATE TABLE ax_wirtschaftlicheeinheit (
+  ogc_fid           serial NOT NULL,
+  gml_id            character varying(16),
+  identifier        character varying(28),
+  beginnt           character varying(20),
+  advstandardmodell character varying(4),
+  sonstigesmodell   character varying[],
+  anlass            integer,
+  CONSTRAINT        ax_wirtschaftlicheeinheit_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_wirtschaftlicheeinheit','dummy',:alkis_epsg,'POINT',2);
+
+COMMENT ON TABLE  ax_wirtschaftlicheeinheit  IS 'w i r t s c h a f t l i c h e   E i n h e i t';
+
+
+-- K o m m u n a l e s   G e b i e t
+-- ----------------------------------------------
+CREATE TABLE ax_kommunalesgebiet (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar,
+     anlass              varchar,
+     schluesselgesamt    varchar,
+     land                integer,
+     regierungsbezirk    integer,
+     kreis               integer,
+     gemeinde            integer,
+     gemeindeflaeche     double precision,
+     CONSTRAINT ax_kommunalesgebiet_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_kommunalesgebiet','wkb_geometry',:alkis_epsg,'GEOMETRY',2);
+
+CREATE INDEX ax_kommunalesgebiet_geom_idx   ON ax_kommunalesgebiet USING gist (wkb_geometry);
+CREATE UNIQUE INDEX ax_kommunalesgebiet_gml ON ax_kommunalesgebiet USING btree (gml_id,beginnt);
+
+COMMENT ON TABLE  ax_kommunalesgebiet        IS 'K o m m u n a l e s   G e b i e t';
+COMMENT ON COLUMN ax_kommunalesgebiet.gml_id IS 'Identifikator, global eindeutig';
+
+
+--AX_Gebiet
+-- ** Tabelle bisher noch nicht generiert
+
+-- ENDE Objektartengruppe  Administrative Gebietseinheiten
+
+
+-- V e r t r e t u n g
+-- -------------------  Objektartengruppe: Personen- und Bestandsdaten
+CREATE TABLE ax_vertretung (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar(4),
+     anlass              varchar,
+     CONSTRAINT ax_vertretung_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_vertretung','dummy',:alkis_epsg,'POINT',2);
+
+COMMENT ON TABLE  ax_vertretung IS 'V e r t r e t u n g';
+
+
+-- V e r w a l t u n g s g e m e i n s c h a f t
+-- ---------------------------------------------  Objektartengruppe: Kataloge
+CREATE TABLE ax_verwaltungsgemeinschaft (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar(4),
+     anlass              varchar,
+     schluesselgesamt    integer,
+     bezeichnung         varchar,
+     bezeichnungart      integer,
+     land                integer,
+     regierungsbezirk    integer,
+     kreis               integer,
+     verwaltungsgemeinschaft  integer,
+     CONSTRAINT ax_verwaltungsgemeinschaft_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_verwaltungsgemeinschaft','dummy',:alkis_epsg,'POINT',2);
+
+COMMENT ON TABLE  ax_verwaltungsgemeinschaft  IS 'V e r w a l t u n g s g e m e i n s c h a f t';
+
+
+-- V e r w a l t u n g
+-- -------------------   Objektartengruppe: Personen- und Bestandsdaten
+CREATE TABLE ax_verwaltung (
+     ogc_fid             serial NOT NULL,
+     gml_id              character(16),
+     identifier          character(44),
+     beginnt             character(20),
+     endet               character(20),
+     advstandardmodell   varchar(4),
+     anlass              varchar,
+     CONSTRAINT ax_verwaltung_pk PRIMARY KEY (ogc_fid)
+);
+
+SELECT AddGeometryColumn('ax_verwaltung','dummy',:alkis_epsg,'POINT',2);
+
+COMMENT ON TABLE  ax_verwaltung  IS 'V e r w a l t u n g';
+
+
+--*** ############################################################
+--*** Objektbereich: Nutzerprofile
+--*** ############################################################
+
+--** Objektartengruppe: Nutzerprofile
+--   ===================================================================
+
+--AX_FOLGEVA
+
+--*** ############################################################
+--*** Objektbereich: Migration
+--*** ############################################################
+
+--** Objektartengruppe: Migrationsobjekte
+--   ===================================================================
+
+
+-- SchlÃŒsseltabelle "advstandardmodell" (9):
+-- ----------------------------------------
+-- LiegenschaftskatasterModell = DLKM
+-- KatasterkartenModell500     = DKKM500
+-- KatasterkartenModell1000    = DKKM1000
+-- KatasterkartenModell2000    = DKKM2000
+-- KatasterkartenModell5000    = DKKM5000
+-- BasisLandschaftsModell      = Basis-DLM
+-- LandschaftsModell50         = DLM50
+-- LandschaftsModell250        = DLM250
+-- LandschaftsModell1000       = DLM1000
+-- TopographischeKarte10       = DTK10
+-- TopographischeKarte25       = DTK25
+-- TopographischeKarte50       = DTK50
+-- TopographischeKarte100      = DTK100
+-- TopographischeKarte250      = DTK250
+-- TopographischeKarte1000     = DTK1000
+-- Festpunktmodell             = DFGM
+-- DigitalesGelaendemodell2    = DGM2
+-- DigitalesGelaendemodell5    = DGM5
+-- DigitalesGelaendemodell25   = DGM25
+-- Digitales Gelaendemodell50  = DGM50
+
+
+-- wenn schon, dann auch alle Tabellen mit Kommentaren versehen:
+--COMMENT ON TABLE geometry_columns IS 'Metatabelle der Geometrie-Tabellen, Tabellen ohne Geometrie bekommen Dummy-Eintrag fÃŒr PostNAS-Konverter (GDAL/OGR)';
+COMMENT ON TABLE spatial_ref_sys  IS 'Koordinatensysteme und ihre Projektionssparameter';
+
+-- Schema aktualisieren (setzt auch die Indizes neu)
+-- SELECT alkis_update_schema();
+
+-- In allen Tabellen die Objekte LÃ¶schen, die ein Ende-Datum haben
+-- SELECT alkis_delete_all_endet();
+
+--
+--          THE  (happy)  END
+--
Index: branches/0.7/import/alkis_PostNAS_schema_ohneHist.sql
===================================================================
--- branches/0.7/import/alkis_PostNAS_schema_ohneHist.sql	(revision 329)
+++ branches/0.7/import/alkis_PostNAS_schema_ohneHist.sql	(revision 329)
@@ -0,0 +1,33 @@
+--
+-- *****************************
+--       A  L   K   I   S
+-- *****************************
+--
+-- Datenbankstruktur PostNAS 0.7
+--
+
+-- Stand
+-- -----
+
+-- 2014-01-31 FJ: Neues Zusatzmodul zu "alkis_PostNAS_schema.sql".
+--                Anpassen der PostNAS-Datenbank an die Besonderheiten einer FÃŒhrung OHNE Historie.
+--                Dies setzt voraus, dass als Trigger-Function die Version "kill" eingerichtet wurde.
+
+
+-- Die Spalte identifier aus allen Tabellen entfernen.
+-- Dies erledigt eine Function aus "alkis-functions.sql".
+-- Diese Spalte wird (ausschlieÃlich?) vom Trigger fÃŒr Historie verwendet.
+SELECT alkis_drop_all_identifier();
+
+
+-- Diese Function kann nun nicht mehr ausgefÃŒhrt werden.
+DROP FUNCTION delete_feature_hist();
+
+
+--  +++ In "alkis_beziehungen" wird die Spalte "beginnt" nicht mehr verwendet.
+--  +++ Die wurde gefÃŒllt mit dem Trigger "update_fields" Procedure "update_fields_beziehungen()"
+--  +++ Spalte lÃ¶schen?  In Hist noch verwendet?
+
+--
+--          THE  (happy)  END
+--
Index: branches/0.7/import/datenbank_anlegen.sh
===================================================================
--- branches/0.7/import/datenbank_anlegen.sh	(revision 329)
+++ branches/0.7/import/datenbank_anlegen.sh	(revision 329)
@@ -0,0 +1,149 @@
+#!/bin/bash
+## -------------------------------------------------
+## Konvertierung von ALKIS NAS-Format nach PostGIS -
+## Teil 1: Eine neue PostGIS-Datenbank anlegen     -
+## -------------------------------------------------
+##
+## Stand:
+##  2012-02-10 PostNAS 07, Umbenennung
+##  2013-01-15 Zwischenstopp um Meldungen lesen zu können bevor, sie aus dem Scrollbereich verschwinden
+##  2013-04-16 Vers.-Nr. "0.7" aus dem Dateinamen von Schema und Keytable entfernt, sichten_wms.sql
+##  2013-10-16 F.J. krz: Neues Sript "pp_praesentation_sichten.sql" für Reparatur Präsentationsobjekte Straßennamen
+##  2013-12-03 F.J. krz: Script "sichten.sql" einbeziehen. Darin View "doppelverbindung" fuer WMS FS-Kommunal.
+##  2014-01-31 F.J. krz: Unterschiede der Datenbank-Struktur für die Varianten MIT/OHNE Historie.
+
+POSTNAS_HOME=$(dirname $0)
+MANDANT_HOME=$PWD
+
+# Koordinatensystem fuer Geometriefelder:
+EPSG=25832
+
+## Dialog mit Anwender
+function get_db_config(){
+	# welches Datenbank-Template?
+	echo ""
+	echo "Datenbank-Template fuer die neue ALKIS-Datenbank?"
+	echo " (einfach Enter fuer die Voreinstellung template_postgis)"
+	read DBTEMPLATE
+	: ${DBTEMPLATE:="template_postgis"}
+#
+	# Name der neuen ALKIS-Datenbank
+	until [ -n "$DBNAME" ]
+	do
+		echo ""
+		echo "Name der ALKIS-Datenbank?"
+		read DBNAME
+	done
+	echo ""
+	echo "Datenbank-User?  (Dieser muss eine gleichnamige Service-Datenbank haben)"
+	read DBUSER
+#
+	until [ "$JEIN" = "j" -o "$JEIN" = "n" ]
+	do
+		echo ""
+		echo "Datenbank $DBNAME wird GELOESCHT und neu angelegt  - j oder n?"
+		read JEIN
+	done
+}
+#
+## aller Laster  ANFANG
+get_db_config;
+if test $JEIN != "j"
+then
+	echo "Abbruch"
+	exit 1
+fi
+
+cd $POSTNAS_HOME
+
+if ! [ -e alkis-trigger.sql ]; then
+	if ln -s alkis-trigger-kill.sql alkis-trigger.sql; then
+		echo "** Symlink zu alkis-trigger-kill.sql (KEINE HISTORIE) wurde angelegt"
+	else
+		echo "** alkis-trigger.sql FEHLT!"
+		exit 1
+	fi
+fi
+
+## Datenbank-Connection:
+# -h localhost
+con="-p 5432 -d ${DBNAME} "
+echo "connection " $con
+
+echo "******************************"
+echo "**  Neue ALKIS-Datenbank    **"
+echo "******************************"
+echo " "
+echo "** Loeschen Datenbank " ${DBNAME}
+## Hier wird vorausgesetzt, dass der User eine Service-DB hat, die seinen Namen traegt
+echo  "DROP database ${DBNAME};" | psql -p 5432 -d ${DBUSER} -U ${DBUSER} 
+echo " "
+echo "** Anlegen (leere) PostGIS-Datenbank"
+createdb --port=5432 --username=${DBUSER} -E utf8  -T ${DBTEMPLATE} ${DBNAME}
+echo " "
+echo "** Anlegen der Datenbank-Struktur fuer PostNAS (alkis_PostNAS_0.7_schema.sql)"
+psql $con -v alkis_epsg=$EPSG -U ${DBUSER} -f alkis_PostNAS_schema.sql >$MANDANT_HOME/log/schema.log
+
+# Zwischenstopp. Die Ausgabe-Zeilen sind sonst nicht mehr lesbar.
+until [ "$CHECK" = "j" -o "$CHECK" = "n" ]
+do
+    echo " "
+	echo "    Weiter?  'j' (weiter) oder 'n' (Abbruch)"
+	read CHECK
+done
+if test $CHECK != "j"; then
+	echo " Abbruch!"
+	exit 1
+fi
+
+## Kommentar zur Datenbank (allgemein)
+psql $con -U ${DBUSER} -c "COMMENT ON DATABASE ${DBNAME} IS 'ALKIS - Konverter PostNAS 0.7';"
+
+## Kann man das Ziel des Symlinks abfragen? Wenn Kill, dann ...
+##   if [ -e alkis-trigger.sql ]; then
+echo " "
+echo "** Besonderheiten der Datenbank OHNE Historie"
+## auskommentieren, wenn die Datenbank MIT Historie geführt wird
+## Import-ID: Tabelle und Spalte in "alkis_beziehungen" anlegen
+psql $con -U ${DBUSER} -f alkis_PostNAS_schema_ohneHist.sql >$MANDANT_HOME/log/schema.log
+## Spalte "identifier" aus allen Tabellen entfernen (die wird nur vom Trigger MIT Historie benoetigt)
+##psql $con -U ${DBUSER} -c "SELECT alkis_drop_all_identifier();"
+psql $con -U ${DBUSER} -c "COMMENT ON DATABASE ${DBNAME} IS 'ALKIS - Konverter PostNAS 0.7 - Ohne Historie';"
+## fi
+
+echo " "
+echo "** Anlegen der Datenbank-Struktur - zusaetzliche Schluesseltabellen"
+## Nur die benoetigten Tabellen fuer die Buchauskunft
+psql $con -U ${DBUSER} -f alkis_PostNAS_keytables.sql >$MANDANT_HOME/log/keytables.log
+
+echo " "
+echo "** Anlegen Optimierung Nutzungsarten (nutzungsart_definition.sql)"
+psql $con -U ${DBUSER} -f nutzungsart_definition.sql
+
+echo " "
+echo "** Laden NUA-Metadaten (nutzungsart_metadaten.sql) Protokoll siehe log"
+psql $con -U ${DBUSER} -f nutzungsart_metadaten.sql >$MANDANT_HOME/log/meta.log
+
+echo " "
+echo "** Anlegen Post Processing Tabellen (pp_definition.sql)"
+psql $con -U ${DBUSER} -f pp_definition.sql >$MANDANT_HOME/log/pp_definition.log
+
+echo " "
+echo "** Anlegen Post Processing Views (pp_praesentation_sichten.sql)"
+psql $con -U ${DBUSER} -f pp_praesentation_sichten.sql >$MANDANT_HOME/log/pp_praesentation_sichten.log
+
+echo " "
+echo "** Definition von Views fuer Kartendienste (sichten_wms.sql)"
+psql $con -U ${DBUSER} -f sichten_wms.sql >$MANDANT_HOME/log/sichten_wms.log
+
+echo " "
+echo "** Definition von Views (sichten.sql)"
+psql $con -U ${DBUSER} -f sichten.sql >$MANDANT_HOME/log/sichten.log
+
+echo "** Berechtigung (grant.sql) Protokoll siehe log"
+psql $con -U ${DBUSER} -f grant.sql >$MANDANT_HOME/log/log_grant.log
+echo " 
+*************************************
+**  Ende Neue Datenbank ${DBNAME} 
+*************************************
+"
Index: branches/0.7/import/nutzungsart_laden_ORACLE.sql
===================================================================
--- branches/0.7/import/nutzungsart_laden_ORACLE.sql	(revision 329)
+++ branches/0.7/import/nutzungsart_laden_ORACLE.sql	(revision 329)
@@ -0,0 +1,111 @@
+-- Automatisch mit pg-to-oci_keytables.pl konvertiert.
+---
+---
+
+DELETE FROM NUTZUNG;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,          info, zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 1,       artderbebauung, null ,zustand, name, null,        ora_geometry 
+  FROM AX_wohnbauflaeche
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info, zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 2,       funktion, null, zustand, name, null,        ora_geometry 
+  FROM AX_industrieundgewerbeflaeche
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info, zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 3,       lagergut, null, zustand, name, null,        ora_geometry 
+  FROM AX_halde
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info, zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 4,       abbaugut, null, zustand, name, null,        ora_geometry 
+  FROM AX_bergbaubetrieb
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info, zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 5,       abbaugut, null, zustand, name, null,        ora_geometry 
+  FROM AX_tagebaugrubesteinbruch
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info, zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 6,       funktion, null, zustand, name, null,        ora_geometry 
+  FROM AX_flaechegemischternutzung
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info,           zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 7,       funktion, artderbebauung, zustand, name, null,        ora_geometry 
+  FROM AX_FLAECHEBESONDERERFUNKTIONAL
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info, zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 8,       funktion, null, zustand, name, null,        ora_geometry 
+  FROM AX_SPORTFREIZEITUNDERHOLUNGSFL
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info, zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 9,       funktion, null, zustand, name, null,        ora_geometry 
+  FROM AX_friedhof
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info,   zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 10,      funktion, null,   zustand, name, zweitname,   ora_geometry 
+  FROM AX_strassenverkehr
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info,  zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 11,      funktion, null,  null,    name, bezeichnung, ora_geometry 
+  FROM AX_weg
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info, zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 12,      funktion, null, null,    name, zweitname,   ora_geometry 
+  FROM AX_platz
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info,          zustand, name,        bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 13,      funktion, bahnkategorie, zustand, bezeichnung, null,        ora_geometry 
+  FROM AX_bahnverkehr
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info,  zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 14,      art,      null,  zustand, name, bezeichnung, ora_geometry 
+  FROM AX_flugverkehr
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info, zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 15,      funktion, null, zustand, name, null,        ora_geometry 
+  FROM AX_schiffsverkehr
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,              info, zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 16,      vegetationsmerkmal, null, null,    name, null,        ora_geometry 
+  FROM AX_landwirtschaft
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,              info, zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 17,      vegetationsmerkmal, null, null,    name, bezeichnung, ora_geometry 
+  FROM AX_wald
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info,               zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 18,      funktion, vegetationsmerkmal, null,    null, null,        ora_geometry 
+  FROM AX_gehoelz
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class, info, zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 19,      null,  null, null,    name, null,        ora_geometry 
+  FROM AX_heide
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class, info, zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 20,      null,  null, null,    name, null,        ora_geometry 
+  FROM AX_moor
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class, info, zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 21,      null,  null, null,    name, null,        ora_geometry 
+  FROM AX_sumpf
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info,                 zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 22,      funktion, oberflaechenmaterial, null,    name, null,        ora_geometry 
+  FROM AX_UNLANDVEGETATIONSLOSEFLAECH
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info, zustand,  name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 24,      funktion, null, zustand,  name, null,        ora_geometry 
+  FROM AX_fliessgewaesser
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info,    zustand,   name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 25,      funktion, nutzung, null,      name, null,        ora_geometry 
+  FROM AX_hafenbecken
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info, zustand, name, bezeichnung,         ora_geometry)
+  SELECT             gml_id, beginnt, 26,      funktion, null, null,    name, gewaesserkennziffer, ora_geometry 
+  FROM AX_stehendesgewaesser
+  WHERE ENDET IS NULL;
+INSERT INTO NUTZUNG (gml_id, beginnt, nutz_id, class,    info, zustand, name, bezeichnung, ora_geometry)
+  SELECT             gml_id, beginnt, 27,      funktion, null, null,    name, bezeichnung, ora_geometry 
+  FROM AX_meer
+  WHERE ENDET IS NULL;
+purge recyclebin;
+QUIT;
Index: branches/0.7/import/sichten.sql
===================================================================
--- branches/0.7/import/sichten.sql	(revision 329)
+++ branches/0.7/import/sichten.sql	(revision 329)
@@ -0,0 +1,1032 @@
+-- =====
+-- ALKIS
+-- =====
+
+--  -----------------------------------------
+--  Sichten fÃŒr Fehlersuche und Daten-Analyse
+--  -----------------------------------------
+
+--  Dieses SQL braucht nur bei Bedarf in einer PostNAS-DB verarbeitet werden.
+--  Es werden zusÃ€tzliche Views eingerichtet, die nur bei Fehlersuche und Analyse (vom Entwickler) benÃ¶tigt werden.
+
+--  PostNAS 0.7
+
+--  2012-04-17 flstnr_ohne_position
+--  2012-04-24 pauschal Filter 'endet IS NULL' um historische Objekte auszublenden
+--  2012-10-29 Redundanzen in Beziehungen suchen (entstehen durch replace)
+--  2013-02-20 Mehrfache Buchungsstellen zum FS suchen, dies sind Auswirkungen eines Fehlers bei Replace
+--  2013-03-05 Beschriftungen aus ap_pto auseinander sortieren, neuer View "grenzpunkt"
+--  2013-03-12 Optimierung Hausnummern, View "gebaeude_txt" (Funktion und Name)
+--  2013-04-15 UnterdrÃŒcken doppelter Darstellung in den Views 'ap_pto_stra', 'ap_pto_nam', 'ap_pto_rest'
+--  2013-04-16 Thema "BodenschÃ€tzung" und fehlernde Kommentare zum Views ergÃ€nzt.
+--             Diese Datei aufgeteilt in "sichten.sql" und "sichten_wms.sql"
+--  2013-10-23 Fehlersuche GebÃ€ude-Hausnummer-Relation
+--  2013-11-26 Neue Views (doppelverbindung)
+--  2014-01-17 View "exp_csv" fÃŒr den Export von CSV-Daten aus der Auskunft mit Modul alkisexport.php.
+--  2014-01-20 Erweiterung "exp_csv" fÃŒr alkisexport.php
+--  2014-01-21 In "exp_csv": Rechtsgemeinsachaft zu allen Personen statt als eigener Satz.
+--  2014-01-27 Neuer Baustein "flst_an_strasse". Neuer View "exp_csv_str" fÃŒr CSV-Export von Flst. an einer StraÃe
+--  2014-01-29 Neuer View "strasse_als_gewanne" zur Fehlersuche.
+--  2014-01-31 Kommentar
+--  2014-02-06 nachmigration_aehnliche_anschriften
+
+-- Bausteine fÃŒr andere Views:
+-- ---------------------------
+
+-- Ein View, der die Verbindung von FlurstÃŒck zur Buchung fÃŒr zwei verschiedene FÃ€lle herstellt.
+-- Einmal die "normalen" (direkten) Buchungen.
+-- Zweitens ÃŒber die Rechte von Buchungsstellen an anderen Buchungsstellen.
+-- Dies kann als "MittelstÃŒck" in den anderen Views eingefÃŒgt werden.
+
+-- Einfach/Direkt:
+--   FlurstÃŒck   >istGebucht>                         (Buchungs-Stelle)
+--
+-- Mit "Recht an":
+--   FlurstÃŒck   >istGebucht>  Buchungs-Stelle  <an<  (Buchungs-Stelle)
+--                               (dienend)              (herrschend) 
+
+--           DROP VIEW public.doppelverbindung;
+CREATE OR REPLACE VIEW public.doppelverbindung
+AS
+  SELECT v1.beziehung_von AS fsgml,       -- gml_id auf FlurstÃŒck - Seite
+         v1.beziehung_zu  AS bsgml,       -- gml_id auf Buchungs  - Seite
+      --'direkt' AS fall,
+         0 AS ba_dien
+    FROM alkis_beziehungen v1
+   WHERE v1.beziehungsart = 'istGebucht'  -- FS --> Buchung
+ UNION
+  -- Buchungstelle  >an>  Buchungstelle  >istBestandteilVon>  BLATT 
+  SELECT v2.beziehung_von AS fsgml,        -- gml_id auf FlurstÃŒck - Seite
+         an.beziehung_von AS bsgml,        -- gml_id auf Buchungs  - Seite (herrschendes GB)
+      --'Recht an' AS fall,
+         dien.buchungsart AS ba_dien       -- Ein Feld aus der Zwischen-Buchung zur Fall-Unterscheidung
+    FROM alkis_beziehungen v2
+    JOIN ax_buchungsstelle dien
+      ON  v2.beziehung_zu = dien.gml_id
+    JOIN alkis_beziehungen an
+      ON dien.gml_id = an.beziehung_zu
+   WHERE v2.beziehungsart = 'istGebucht'   -- FS --> Buchung
+     AND an.beziehungsart = 'an';
+
+COMMENT ON VIEW public.doppelverbindung 
+ IS 'ALKIS-Beziehung von FlurstÃŒck zu Buchung. UNION-Zusammenfassung des einfachen Falls mit direkter Buchung und des Falles mit Recht einer Buchungsstelle an einer anderen Buchungsstelle.';
+
+-- Test-Ausgabe: Ein paar FÃ€lle mit "Recht an"
+--   SELECT * FROM doppelverbindung WHERE ba_dien > 0 LIMIT 20;
+
+
+-- Ein View, der die Verbindung von FlurstÃŒck zur StraÃentabelle fÃŒr zwei verschiedene FÃ€lle herstellt.
+-- Einmal ÃŒber die Lagebezeichnung MIT Hausnummer und einmal OHNE.
+-- Dies kann als "MittelstÃŒck" in den anderen Views eingefÃŒgt werden.
+
+--   FlurstÃŒck  >weistAuf> ax_lagebezeichnungmithausnummer  <JOIN> ax_lagebezeichnungkatalogeintrag
+--   FlurstÃŒck  >zeigtAuf> ax_lagebezeichnungohnehausnummer <JOIN> ax_lagebezeichnungkatalogeintrag
+
+--           DROP VIEW public.flst_an_strasse;
+CREATE OR REPLACE VIEW public.flst_an_strasse
+AS
+  SELECT vm.beziehung_von AS fsgml,          -- Join auf "gml_id" aus "ax_flurstÃŒck"
+         sm.gml_id AS stgml,                 -- Filter: gml_id der StraÃe
+      -- sm.gemeinde, sm.lage,               -- Gemeinde- und StraÃenschluessel als Filter?
+         'm' AS fall                         -- SÃ€tze unterschieden: Mit HsNr
+    FROM alkis_beziehungen vm                -- Verbindung Mit
+    JOIN ax_lagebezeichnungmithausnummer lm  -- Lage MIT
+      ON lm.gml_id=vm.beziehung_zu
+     AND vm.beziehungsart= 'weistAuf' 
+    JOIN ax_lagebezeichnungkatalogeintrag sm -- Ausnahmsweise mal direkt und nicht ÃŒber die "alkis_beziehungen"
+      ON lm.land=sm.land 
+     AND lm.regierungsbezirk=sm.regierungsbezirk 
+     AND lm.kreis=sm.kreis 
+     AND lm.gemeinde=sm.gemeinde 
+     AND lm.lage=sm.lage 
+ UNION
+  SELECT vo.beziehung_von AS fsgml,          -- Join auf gml_id aus ax_flurstÃŒck
+         so.gml_id AS stgml,                 -- Filter: gml_id der StraÃe
+      -- so.gemeinde, so.lage                -- Gemeinde- und StraÃenschluessel als Filter?
+         'o' AS fall                         -- SÃ€tze unterschieden: Ohne HsNr
+    FROM alkis_beziehungen vo                -- Verbindung OHNE
+    JOIN ax_lagebezeichnungohnehausnummer lo -- Lage OHNE
+      ON lo.gml_id=vo.beziehung_zu
+     AND vo.beziehungsart= 'zeigtAuf' 
+    JOIN ax_lagebezeichnungkatalogeintrag so -- StraÃe OHNE
+      ON lo.land=so.land 
+     AND lo.regierungsbezirk=so.regierungsbezirk 
+     AND lo.kreis=so.kreis 
+     AND lo.gemeinde=so.gemeinde 
+     AND lo.lage=so.lage;
+
+COMMENT ON VIEW public.flst_an_strasse 
+ IS 'ALKIS-Beziehung von FlurstÃŒck zu StraÃentabelle. UNION-Zusammenfassung der FÃ€lle MIT und OHNE Hausnummer.';
+
+-- Muss man noch dafÃŒr sorgen, dass FlurstÃŒck nicht doppelt vorkommt? z.B. mit DISTINCT
+-- Oder mÃŒssen ggf. mehrfache FS im Programm ÃŒbersprungen werden?
+
+-- Test-Ausgabe:
+--   SELECT * FROM flst_an_strasse WHERE stgml='DENW18AL000004Fl' LIMIT 40;
+
+-- Ende "Bausteine"
+
+
+-- Generelle Export-Struktur "FlurstÃŒck - Buchung - Grundbuch - Person"
+-- --------------------------------------------------------------------
+-- Verwendet den gespeicherten View "doppelverbindung".
+-- Wird benÃ¶tigt im Auskunft-Modul "alkisexport.php":
+-- Je nach aufrufendem Modul wird der Filter (WHERE) an anderer Stelle gesetzt (gml_id von FS, GB oder Pers.)
+-- FÃŒr Filter nach "StraÃe" siehe die nachfolgende Sonderversion "exp_csv_str".
+
+-- Problem / Konflikt:
+-- Es kann nur eine lineare Struktur aus Spalten und Zeilen exportiert werden. 
+-- Wenn nicht nur die Daten des Ausgangs-Objektes exportiert werden, sondern auch verbundene Tabellen in 
+-- einer 1:N-Struktur, dann verdoppeln sich Zeileninhalte und es werden redundante Daten erzeugt. 
+-- Diese Redundanzen mÃŒssen vom dem Programm gefiltert werden, das die Daten ÃŒber eine Schnittstelle einliest.
+
+-- Anwendungs-Beispiel: Abrechnung von AnliegerbeitrÃ€gen.
+
+-- 2014-01-21: "Rechtsgemeinschaft" in den Datensatz aller anderen Namen
+--           DROP VIEW exp_csv;
+CREATE OR REPLACE VIEW exp_csv
+AS
+ SELECT
+  -- FlurstÃŒck
+    f.gml_id                             AS fsgml,       -- mÃ¶glicher Filter FlurstÃŒcks-GML-ID
+    f.flurstueckskennzeichen             AS fs_kennz,
+    f.gemarkungsnummer,                                  -- Teile des FS-Kennz. noch mal einzeln
+    f.flurnummer, f.zaehler, f.nenner, 
+    f.amtlicheflaeche                    AS fs_flae,
+    g.bezeichnung                        AS gemarkung,
+
+  -- Grundbuch
+    gb.gml_id                            AS gbgml,       -- mÃ¶glicher Filter Grundbuch-GML-ID
+    gb.bezirk                            AS gb_bezirk,
+    gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt,
+    z.bezeichnung                        AS beznam,      -- GB-Bezirks-Name
+
+  -- Buchungsstelle (GrundstÃŒck)
+    s.laufendenummer                     AS bu_lfd,      -- BVNR
+    --s.zaehler, s.nenner,                                -- Anteil des GB am FS, einzelne Felder
+    '=' || s.zaehler || '/' || s.nenner  AS bu_ant,      -- als Excel-Formel (nur bei Wohnungsgrundbuch JOIN ÃŒber 'Recht an')
+    s.buchungsart,                                       -- verschlÃŒsselt
+    b.bezeichner                         AS bu_art,      -- Buchungsart entschlÃŒsselt
+
+  -- NamensNummer (Normalfall mit Person)
+    nn.laufendenummernachdin1421         AS nam_lfd, 
+    '=' || nn.zaehler|| '/' || nn.nenner AS nam_ant,         -- als Excel-Formel
+
+  -- Rechtsgemeinsachaft (Sonderfall von Namensnummer, ohne Person, ohne Nummer)
+    rg.artderrechtsgemeinschaft          AS nam_adr,
+    rg.beschriebderrechtsgemeinschaft    AS nam_bes,
+
+  -- Person
+    p.gml_id                             AS psgml,           -- mÃ¶glicher Filter Personen-GML-ID
+    p.anrede,
+    p.vorname,
+    p.namensbestandteil,
+    p.nachnameoderfirma,                                     -- Familienname
+    p.geburtsdatum,
+    --p.geburtsname, p.akademischergrad 
+ 
+  -- Adresse der Person
+    a.postleitzahlpostzustellung         AS plz,
+    a.ort_post                           AS ort,             -- Anschreifenzeile 1: PLZ+Ort
+    a.strasse,  a.hausnummer,                                -- Anschriftenzeile 2: StraÃe+HsNr
+    a.bestimmungsland                    AS land
+
+  FROM ax_flurstueck    f               -- FlurstÃŒck
+  JOIN doppelverbindung d               -- beide FÃ€lle ÃŒber Union-View: direkt und ÃŒber Recht von Buchung an Buchung
+    ON d.fsgml = f.gml_id 
+
+  JOIN ax_gemarkung g                   -- entschlÃŒsseln
+    ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 
+
+  JOIN ax_buchungsstelle s              -- Buchungs-Stelle
+    ON d.bsgml = s.gml_id 
+  JOIN ax_buchungsstelle_buchungsart b  -- EnstschlÃŒsselung der Buchungsart
+    ON s.buchungsart = b.wert 
+
+  JOIN alkis_beziehungen v3             -- Buchung --> Grundbuchblatt
+    ON s.gml_id = v3.beziehung_von AND v3.beziehungsart = 'istBestandteilVon'
+  JOIN ax_buchungsblatt  gb 
+    ON v3.beziehung_zu = gb.gml_id 
+
+  JOIN ax_buchungsblattbezirk z 
+    ON gb.land=z.land AND gb.bezirk=z.bezirk 
+
+  JOIN alkis_beziehungen v4             -- Blatt  --> NamNum
+    ON v4.beziehung_zu = gb.gml_id AND v4.beziehungsart = 'istBestandteilVon'  
+  JOIN ax_namensnummer nn 
+    ON v4.beziehung_von = nn.gml_id
+
+  JOIN alkis_beziehungen v5             -- NamNum --> Person 
+   -- 2014-01-20: Mit LEFT ab hier werden auch NumNum-Zeilen mit "Beschreibung der Rechtsgemeinschaft" geliefert (ohne Person)
+    ON v5.beziehung_von = nn.gml_id AND v5.beziehungsart = 'benennt'
+  JOIN ax_person p
+    ON v5.beziehung_zu = p.gml_id
+
+  LEFT JOIN alkis_beziehungen v6        -- Person --> Anschrift
+    ON v6.beziehung_von = p.gml_id AND v6.beziehungsart = 'hat' 
+  LEFT JOIN ax_anschrift a 
+    ON v6.beziehung_zu = a.gml_id
+
+  -- 2mal "LEFT JOIN" verdoppelt die Zeile in der Ausgabe. Darum als Subquery:
+
+  -- Noch mal "GB -> NamNum", aber dieses Mal fÃŒr "Rechtsgemeinschaft".
+  -- Kommt max. 1 mal je GB vor und hat keine Relation auf Person.
+  LEFT JOIN
+   ( SELECT v7.beziehung_zu,
+            rg.artderrechtsgemeinschaft, 
+            rg.beschriebderrechtsgemeinschaft 
+       FROM ax_namensnummer rg 
+       JOIN alkis_beziehungen v7              -- Blatt  --> NamNum (Rechtsgemeinschaft) 
+         ON v7.beziehung_von = rg.gml_id
+      WHERE v7.beziehungsart = 'istBestandteilVon'
+        AND NOT rg.artderrechtsgemeinschaft IS NULL
+   ) AS rg                         -- Rechtsgemeinschaft
+   ON rg.beziehung_zu = gb.gml_id  -- zum GB
+
+  ORDER BY f.flurstueckskennzeichen, 
+           gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer,
+           nn.laufendenummernachdin1421;
+
+COMMENT ON VIEW exp_csv 
+ IS 'View fÃŒr einen CSV-Export aus der Buchauskunft mit alkisexport.php. Generelle Struktur. FÃŒr eine bestimmte gml_id noch den Filter setzen.';
+
+  GRANT SELECT ON TABLE exp_csv TO mb27;       -- User fÃŒr Auskunfts-Programme
+--GRANT SELECT ON TABLE exp_csv TO alkisbuch;  -- User fÃŒr Auskunfts-Programme RLP-Demo
+
+
+-- Variante des View "exp_csv":
+-- Hier wird zusÃ€tzlich der Baustein "flst_an_strasse" verwendet.
+-- Der Filter "WHERE stgml= " auf die "gml_id" von "ax_lagebezeichnungkatalogeintrag" sollte gesetzt werden
+-- um alle FlurstÃŒcke zu bekommen, die an einer StraÃe liegen.
+-- DROP           VIEW exp_csv_str;
+CREATE OR REPLACE VIEW exp_csv_str
+AS
+ SELECT
+    l.stgml,                                             -- Filter: StraÃen-GML-ID
+
+  -- FlurstÃŒck
+    f.gml_id                             AS fsgml,       -- Gruppenwechsel fÃŒr "function lage_zum_fs" in alkisexport.php
+    f.flurstueckskennzeichen             AS fs_kennz,
+    f.gemarkungsnummer,                                  -- Teile des FS-Kennz. noch mal einzeln
+    f.flurnummer, f.zaehler, f.nenner, 
+    f.amtlicheflaeche                    AS fs_flae,
+    g.bezeichnung                        AS gemarkung,
+
+  -- Grundbuch
+  --gb.gml_id                            AS gbgml,       -- mÃ¶glicher Filter Grundbuch-GML-ID
+    gb.bezirk                            AS gb_bezirk,
+    gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt,
+    z.bezeichnung                        AS beznam,      -- GB-Bezirks-Name
+
+  -- Buchungsstelle (GrundstÃŒck)
+    s.laufendenummer                     AS bu_lfd,      -- BVNR
+    --s.zaehler, s.nenner,                                -- Anteil des GB am FS, einzelne Felder
+    '=' || s.zaehler || '/' || s.nenner  AS bu_ant,      -- als Excel-Formel (nur bei Wohnungsgrundbuch JOIN ÃŒber 'Recht an')
+    s.buchungsart,                                       -- verschlÃŒsselt
+    b.bezeichner                         AS bu_art,      -- Buchungsart entschlÃŒsselt
+
+  -- NamensNummer (Normalfall mit Person)
+    nn.laufendenummernachdin1421         AS nam_lfd, 
+    '=' || nn.zaehler|| '/' || nn.nenner AS nam_ant,         -- als Excel-Formel
+
+  -- Rechtsgemeinsachaft (Sonderfall von Namensnummer, ohne Person, ohne Nummer)
+    rg.artderrechtsgemeinschaft          AS nam_adr,
+    rg.beschriebderrechtsgemeinschaft    AS nam_bes,
+
+  -- Person
+  --p.gml_id                             AS psgml,           -- mÃ¶glicher Filter Personen-GML-ID
+    p.anrede,
+    p.vorname,
+    p.namensbestandteil,
+    p.nachnameoderfirma,                                     -- Familienname
+    p.geburtsdatum,
+    --p.geburtsname, p.akademischergrad 
+ 
+  -- Adresse der Person
+    a.postleitzahlpostzustellung         AS plz,
+    a.ort_post                           AS ort,             -- Anschreifenzeile 1: PLZ+Ort
+    a.strasse,  a.hausnummer,                                -- Anschriftenzeile 2: StraÃe+HsNr
+    a.bestimmungsland                    AS land
+
+  FROM ax_flurstueck    f               -- FlurstÃŒck
+
+  JOIN flst_an_strasse  l               -- Lage (hier zusÃ€tzlicher JOIN gegenÃŒber Version "exp_csv") 
+	ON l.fsgml = f.gml_id 
+
+  JOIN doppelverbindung d               -- beide FÃ€lle ÃŒber Union-View: direkt und ÃŒber Recht von Buchung an Buchung
+    ON d.fsgml = f.gml_id 
+
+  JOIN ax_gemarkung g                   -- entschlÃŒsseln
+    ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 
+
+  JOIN ax_buchungsstelle s              -- Buchungs-Stelle
+    ON d.bsgml = s.gml_id 
+  JOIN ax_buchungsstelle_buchungsart b  -- EnstschlÃŒsselung der Buchungsart
+    ON s.buchungsart = b.wert 
+
+  JOIN alkis_beziehungen v3             -- Buchung --> Grundbuchblatt
+    ON s.gml_id = v3.beziehung_von AND v3.beziehungsart = 'istBestandteilVon'
+  JOIN ax_buchungsblatt  gb 
+    ON v3.beziehung_zu = gb.gml_id 
+
+  JOIN ax_buchungsblattbezirk z 
+    ON gb.land=z.land AND gb.bezirk=z.bezirk 
+
+  JOIN alkis_beziehungen v4             -- Blatt  --> NamNum
+    ON v4.beziehung_zu = gb.gml_id AND v4.beziehungsart = 'istBestandteilVon'  
+  JOIN ax_namensnummer nn 
+    ON v4.beziehung_von = nn.gml_id
+
+  JOIN alkis_beziehungen v5             -- NamNum --> Person 
+   -- 2014-01-20: Mit LEFT ab hier werden auch NumNum-Zeilen mit "Beschreibung der Rechtsgemeinschaft" geliefert (ohne Person)
+    ON v5.beziehung_von = nn.gml_id AND v5.beziehungsart = 'benennt'
+  JOIN ax_person p
+    ON v5.beziehung_zu = p.gml_id
+
+  LEFT JOIN alkis_beziehungen v6        -- Person --> Anschrift
+    ON v6.beziehung_von = p.gml_id AND v6.beziehungsart = 'hat' 
+  LEFT JOIN ax_anschrift a 
+    ON v6.beziehung_zu = a.gml_id
+
+  -- 2mal "LEFT JOIN" verdoppelt die Zeile in der Ausgabe. Darum als Subquery:
+
+  -- Noch mal "GB -> NamNum", aber dieses Mal fÃŒr "Rechtsgemeinschaft".
+  -- Kommt max. 1 mal je GB vor und hat keine Relation auf Person.
+  LEFT JOIN
+   ( SELECT v7.beziehung_zu,
+            rg.artderrechtsgemeinschaft, 
+            rg.beschriebderrechtsgemeinschaft 
+       FROM ax_namensnummer rg 
+       JOIN alkis_beziehungen v7              -- Blatt  --> NamNum (Rechtsgemeinschaft) 
+         ON v7.beziehung_von = rg.gml_id
+      WHERE v7.beziehungsart = 'istBestandteilVon'
+        AND NOT rg.artderrechtsgemeinschaft IS NULL
+   ) AS rg                         -- Rechtsgemeinschaft
+   ON rg.beziehung_zu = gb.gml_id  -- zum GB
+
+  ORDER BY f.flurstueckskennzeichen, 
+           gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer,
+           nn.laufendenummernachdin1421;
+
+COMMENT ON VIEW exp_csv_str 
+ IS 'View fÃŒr einen CSV-Export aus der Buchauskunft mit alkisexport.php. Liefert nur FlurstÃŒcke, die eine Lagebezeichnung MIT/OHNE Hausnummer haben. Dazu noch den Filter auf GML-ID der StraÃentabelle setzen.';
+
+  GRANT SELECT ON TABLE exp_csv_str TO mb27;       -- User fÃŒr Auskunfts-Programme
+--GRANT SELECT ON TABLE exp_csv_str TO alkisbuch;  -- User fÃŒr Auskunfts-Programme RLP-Demo
+
+
+-- Test-Ausgabe:
+--   SELECT * FROM exp_csv_str WHERE stgml='DENW18AL000004Fl' LIMIT 40;
+
+
+-- Analyse: Kann es mehr als 1 "Rechtsgemeinschaft" zu einem GB-Blatt geben? 
+-- (Diese Frage stellte sich beim Design des View "exp_csv".)
+-- Schritt 1: alle vorhandenen
+CREATE OR REPLACE VIEW rechtsgemeinschaften_zum_grundbuch
+AS
+ SELECT
+     gb.gml_id,
+     gb.bezirk,
+     gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt,
+     nn.artderrechtsgemeinschaft,
+     nn.beschriebderrechtsgemeinschaft
+  FROM ax_buchungsblatt  gb 
+  JOIN alkis_beziehungen v
+    ON v.beziehung_zu = gb.gml_id AND v.beziehungsart = 'istBestandteilVon'  
+  JOIN ax_namensnummer nn 
+    ON v.beziehung_von = nn.gml_id
+  WHERE NOT nn.artderrechtsgemeinschaft IS NULL
+  ORDER BY gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung,
+           nn.laufendenummernachdin1421;
+
+COMMENT ON VIEW rechtsgemeinschaften_zum_grundbuch 
+ IS 'Rechtsgemeinschaften zum Grundbuchblatt.';
+
+-- Schritt 2: Wo gibt es mehrere zu einem GB-Blatt
+CREATE OR REPLACE VIEW rechtsgemeinschaften_zaehlen
+AS
+ SELECT gml_id, bezirk, gb_blatt, count(artderrechtsgemeinschaft) AS anzahl
+   FROM rechtsgemeinschaften_zum_grundbuch
+   GROUP BY gml_id, bezirk, gb_blatt
+   HAVING count(artderrechtsgemeinschaft) > 1
+   ORDER BY bezirk, gb_blatt;
+
+COMMENT ON VIEW rechtsgemeinschaften_zaehlen 
+ IS 'Rechtsgemeinschaften zum Grundbuchblatt zaehlen. Anzeigen, wenn es mehrere gibt.';
+-- Ja, kann es geben
+
+-- Schritt 3: alle vorhandenen Zeilen anzeigen zu den GB-BlÃ€ttern, bei denen es mehrere gibt.
+CREATE OR REPLACE VIEW rechtsgemeinschaften_mehrfachzeilen
+AS
+ SELECT * 
+   FROM rechtsgemeinschaften_zum_grundbuch
+  WHERE gml_id IN (SELECT gml_id FROM rechtsgemeinschaften_zaehlen);
+
+COMMENT ON VIEW rechtsgemeinschaften_mehrfachzeilen 
+ IS 'GrundbuchblÃ€tter mit mehr als einer Zeile Rechtsgemeinschaft.';
+-- Fazit:
+-- Man findet einige wenige identische oder Ã€hnlich aussehende Zeilen zu einem Grundbuch.
+-- Das sieht also eher nach einem PostNAS-FortfÃŒhrungsproblem aus, als nach unabhÃ€ngigen Zeilen.
+-- Wurde hier eine Relation nicht sauber gelÃ¶scht?
+
+
+-- Welche Karten-Typen ?
+CREATE OR REPLACE VIEW kartentypen_der_texte_fuer_hnr
+AS 
+   SELECT DISTINCT advstandardmodell 
+   FROM ap_pto p 
+   WHERE p.art = 'HNR';
+COMMENT ON VIEW kartentypen_der_texte_fuer_hnr 
+  IS 'Datenanalyse: Kartentypen in Tabelle ap_pto fÃŒr Hausnummern.';
+
+-- Dies liefert:
+--  "{DKKM1000}"
+--  "{DKKM1000,DKKM500}"
+--  "{DKKM500}"
+--  NULL
+
+-- Texte, die NICHT dargestellt werden sollen.
+-- -------------------------------------------
+-- Texte und Text-Fragmente aus der Konvertierung ALK+ALB, die noch nicht gelÃ¶scht worden sind.
+CREATE OR REPLACE VIEW ap_pto_muell 
+AS 
+  SELECT p.ogc_fid, 
+         p.schriftinhalt, 
+         p.art, 
+         p.drehwinkel * 57.296 AS winkel, -- * 180 / Pi
+         p.wkb_geometry 
+    FROM ap_pto p
+   WHERE not p.schriftinhalt IS NULL 
+     AND p.endet IS NULL
+     AND p.art IN ('AOG_AUG','PNR');
+COMMENT ON VIEW ap_pto_muell 
+ IS 'Datenanalyse: Beschriftungen aus "ap_pto", die NICHT dargestellt werden sollen.';
+
+
+-- FlurstÃŒcke mit Anzeige der FlurstÃŒcksnummer an der "Standardposition"
+
+-- Nach der Konvertierung aus ALK hat zunÃ€chst jedes FlurstÃŒck eine explizit gesetzte Position der FlurstÃŒcksnummer.
+
+-- Nach einer manuellen Teilung bekommen die neuen FlurstÃŒcke im ALKIS nur dann eine Position,
+-- wenn die Positioin manuell bestimmt (verschoben) wurde.
+-- Wenn die FlurstÃŒcksnummer an ihrer "Standardposition" angezeigt werden soll, 
+-- dann wird diese in den Daten (DHK, NAS) nicht gesetzt.
+-- Der Konverter PostNAS konvertiert aber nur die Daten, die er bekommt, er setzt nicht die Standard-Position 
+-- fÃŒr die FlurstÃŒcke, die ohne eine manuelle Position kommen.
+
+-- Diese FÃ€lle identifizieren
+CREATE OR REPLACE VIEW flstnr_ohne_position
+AS 
+ SELECT f.gml_id, 
+        f.gemarkungsnummer || '-' || f.flurnummer || '-' || f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS such -- Suchstring fÃŒr ALKIS-Navigation nach FS-Kennzeichen
+ FROM        ax_flurstueck     f 
+   LEFT JOIN alkis_beziehungen v  ON v.beziehung_zu = f.gml_id
+ --LEFT JOIN ap_pto            p  ON p.gml_id       = v.beziehung_von
+  WHERE v.beziehungsart is NULL
+    AND f.endet IS NULL
+--ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler
+  ;
+COMMENT ON VIEW flstnr_ohne_position IS 'Sicht fÃŒr Datenanalyse: FlurstÃŒcke ohne manuell gesetzte Position fÃŒr die PrÃ€sentation der FS-Nr';
+
+-- Umbruch im Label? z.B. "Schwimm-/nbecken"
+-- Sind 2 Buchstaben in Mapfile bei "WRAP" mÃ¶glich?
+CREATE OR REPLACE VIEW texte_mit_umbruch 
+AS 
+ SELECT ogc_fid, schriftinhalt, art
+   FROM ap_pto 
+  WHERE not schriftinhalt is null
+    AND schriftinhalt like '%/n%';
+COMMENT ON VIEW texte_mit_umbruch 
+ IS 'Sicht fÃŒr Datenanalyse: Vorkommen eines Umbruchs im Label-Text.';
+
+-- EXTENT fÃŒr das Mapfile eines Mandanten ermitteln
+CREATE OR REPLACE VIEW flurstuecks_minmax AS 
+ SELECT min(st_xmin(wkb_geometry)) AS r_min, 
+        min(st_ymin(wkb_geometry)) AS h_min, 
+        max(st_xmax(wkb_geometry)) AS r_max, 
+        max(st_ymax(wkb_geometry)) AS h_max
+   FROM ax_flurstueck f
+   WHERE f.endet IS NULL;
+COMMENT ON VIEW flurstuecks_minmax 
+ IS 'Sicht fÃŒr Datenanalyse: Maximale Ausdehnung von ax_flurstueck fuer EXTENT-Angabe im Mapfile.';
+
+-- Nach Laden der Keytables:
+CREATE OR REPLACE VIEW baurecht
+AS
+  SELECT r.ogc_fid, 
+         r.wkb_geometry, 
+         r.gml_id, 
+         r.artderfestlegung as adfkey, -- Art der Festlegung - Key 
+         r."name",                     -- Eigenname des Gebietes
+         r.stelle,                     -- Stelle Key
+         r.bezeichnung AS rechtbez,    -- Verfahrensnummer
+         a.bezeichner  AS adfbez,      -- Art der Festlegung - Bezeichnung
+         d.bezeichnung AS stellbez     -- Stelle Bezeichnung
+      -- , d.stellenart                -- weiter entschluesseln?
+    FROM ax_bauraumoderbodenordnungsrecht r
+    LEFT JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a
+      ON r.artderfestlegung = a.wert
+    LEFT JOIN ax_dienststelle d
+      ON r.land   = d.land 
+     AND r.stelle = d.stelle 
+  WHERE r.endet IS NULL AND d.endet IS NULL ;
+COMMENT ON VIEW baurecht 
+ IS 'Datenanalyse: EnstschlÃŒsselte Felder zu einer FlÃ€che des Baurechts.';
+
+-- Man glaubt es kaum, aber im ALKIS haben Gemeinde und Gemarkung keinerlei Beziehung miteinander
+-- Nur durch Auswertung der FlurstÃŒcke kann man ermitteln, in welcher Gemeinde eine Gemarkung liegt.
+CREATE OR REPLACE VIEW gemarkung_in_gemeinde
+AS
+  SELECT DISTINCT land, regierungsbezirk, kreis, gemeinde, gemarkungsnummer
+  FROM            ax_flurstueck
+  WHERE           endet IS NULL
+  ORDER BY        land, regierungsbezirk, kreis, gemeinde, gemarkungsnummer;
+COMMENT ON VIEW gemarkung_in_gemeinde 
+ IS 'Welche Gemarkung liegt in welcher Gemeinde? Durch Verweise aus FlurstÃŒck.';
+
+
+-- Untersuchen, welche Geometrie-Typen vorkommen
+CREATE OR REPLACE VIEW arten_von_flurstuecksgeometrie
+AS
+ SELECT   count(gml_id) as anzahl,
+          st_geometrytype(wkb_geometry)
+ FROM     ax_flurstueck
+ WHERE    endet IS NULL
+ GROUP BY st_geometrytype(wkb_geometry);
+COMMENT ON VIEW arten_von_flurstuecksgeometrie IS 'Datenanalyse: vorkommende Geometry-Typen in Tabelle ax_flurstueck.';
+
+
+-- A d r e s s e n 
+
+-- Verschluesselte Lagebezeichnung (Strasse und Hausnummer) fuer eine Gemeinde
+-- Schluessel der Gemeinde nach Bedarf anpassen!
+CREATE OR REPLACE VIEW adressen_hausnummern
+AS
+    SELECT 
+        s.bezeichnung AS strassenname, 
+        g.bezeichnung AS gemeindename, 
+        l.land, 
+        l.regierungsbezirk, 
+        l.kreis, 
+        l.gemeinde, 
+        l.lage        AS strassenschluessel, 
+        l.hausnummer 
+    FROM   ax_lagebezeichnungmithausnummer l  
+    JOIN   ax_gemeinde g 
+      ON l.kreis=g.kreis 
+     AND l.gemeinde=g.gemeinde 
+    JOIN   ax_lagebezeichnungkatalogeintrag s 
+      ON l.kreis=s.kreis 
+     AND l.gemeinde=s.gemeinde 
+     AND l.lage = s.lage
+    WHERE l.gemeinde = 40;  -- "40" = Stadt Lage
+COMMENT ON VIEW adressen_hausnummern IS 'Datenanalyse: VerschlÃŒsselte Lagebezeichnung (StraÃe und Hausnummer) fÃŒr eine Gemeinde. SchlÃŒssel der Gemeinde nach Bedarf anpassen.';
+
+-- Zuordnung dieser Adressen zu Flurstuecken
+-- Schluessel der Gemeinde nach Bedarf anpassen!
+CREATE OR REPLACE VIEW adressen_zum_flurstueck
+AS
+    SELECT
+           f.gemarkungsnummer, 
+           f.flurnummer, 
+           f.zaehler, 
+           f.nenner,
+           g.bezeichnung AS gemeindename, 
+           s.bezeichnung AS strassenname, 
+           l.lage        AS strassenschluessel, 
+           l.hausnummer 
+      FROM   ax_flurstueck f 
+      JOIN   alkis_beziehungen v 
+        ON f.gml_id=v.beziehung_von
+      JOIN   ax_lagebezeichnungmithausnummer l  
+        ON l.gml_id=v.beziehung_zu
+      JOIN   ax_gemeinde g 
+        ON l.kreis=g.kreis 
+       AND l.gemeinde=g.gemeinde 
+      JOIN   ax_lagebezeichnungkatalogeintrag s 
+        ON l.kreis=s.kreis 
+       AND l.gemeinde=s.gemeinde 
+       AND l.lage = s.lage
+     WHERE v.beziehungsart='weistAuf'
+       AND l.gemeinde = 40  -- "40" = Stadt Lage
+     ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;
+COMMENT ON VIEW adressen_zum_flurstueck IS 'Datenanalyse: Zuordnung von Adressen zu Flurstuecken. SchlÃŒssel der Gemeinde nach Bedarf anpassen.';
+
+-- PunktfÃ¶rmige  P r Ã€ s e n t a t i o n s o b j e k t e  (ap_pto)
+-- Ermittlung der vorkommenden Arten
+CREATE OR REPLACE VIEW beschriftung_was_kommt_vor 
+AS 
+  SELECT DISTINCT art, horizontaleausrichtung, vertikaleausrichtung 
+    FROM ap_pto 
+   WHERE not schriftinhalt is null 
+  ORDER BY art;
+COMMENT ON VIEW beschriftung_was_kommt_vor IS 'Analyse der vorkommenden Kombinationen in ap_pto (Beschriftung)';
+
+-- Ergebnis:
+-- 2013: PostNAS 0.7  (aus 150,260,340)
+-- ------------------
+--	"AOG_AUG"				"zentrisch";"Basis"  - Schriftinhalkt immer nur "I" ?
+--	"BWF"					"zentrisch";"Basis"/"zentrisch";"Mitte"
+--	"BWF_ZUS"				"zentrisch";"Basis"
+--	"FKT"					"zentrisch";"Basis"/"linksbÃŒndig";"Basis"/"zentrisch";"Mitte"
+--	"FKT_TEXT"				"zentrisch";"Mitte"
+--	"FreierText"			"zentrisch";"Basis"/"zentrisch";"Mitte"/"linksbÃŒndig";"Basis"
+--	"FreierTextHHO"			"zentrisch";"Mitte"
+--	"Friedhof"				"zentrisch";"Basis"
+--	"Gewanne"				"zentrisch";"Basis"/"zentrisch";"Mitte"
+--	"GFK"					"zentrisch";"Basis"/"zentrisch";"Mitte"
+--	"HNR"					"zentrisch";"Basis"/"linksbÃŒndig";"Basis"/"zentrisch";"Mitte"  --> Hausnummer, group gebaeude
+--	"HHO"					"zentrisch";"Mitte"  -- HHO = objekthoehe zu ax_gebaeude?
+--	"NAM"					"zentrisch";"Basis"/"zentrisch";"Mitte"/"linksbÃŒndig";"Basis"
+--	"SPO"					"zentrisch";"Basis"/
+--	"Vorratsbehaelter"		"zentrisch";"Basis"
+--	"WeitereHoehe"			"zentrisch";"Mitte"
+--	"ZAE_NEN"				"zentrisch";"Basis"
+--	"ZNM"					"zentrisch";"Basis"/"linksbÃŒndig";"Basis"
+
+--* Layer "ap_pto_stra"
+--                          hor ; ver / hor ; ver 
+--	"BezKlassifizierungStrasse" "zent.";"Basis"	/ "linksbÃŒndig";"Basis"
+--	"Platz"					"zentrisch";"Basis" / "zentrisch";"Mitte"
+--	"Strasse"				"zentrisch";"Basis" / "zentrisch";"Mitte" / "linksbÃŒndig";"Basis"
+--	"Weg"					"zentrisch";"Basis" / "zentrisch";"Mitte" / "linksbÃŒndig";"Basis"
+
+--* geplanter layer "ap_pto_wasser"
+--	"StehendesGewaesser"	"zentrisch";"Basis"
+--	"Fliessgewaesser"		"zentrisch";"Basis"/"linksbÃŒndig";"Basis"
+
+
+-- FlurstÃŒcke eines EigentÃŒmers
+-- ----------------------------
+
+-- Dieser View liefert nur die (einfache) Buchungsart "GrundstÃŒck"
+-- Solche FÃ€lle wie "Erbbaurecht an GrundstÃŒck" oder "Wohnungs-/Teileigentum an aufgeteiltes GrundstÃŒck"
+-- oder "Miteigentum an aufteteiltes GrundstÃŒck" fehlen in deisere Auswertung.
+-- Dazu siehe: "rechte_eines_eigentuemers".
+
+-- Das Ergbenis ist gedacht fÃŒr den Export als CSV und Weiterverarbeitung mit einer Tabellenkalkulation
+-- oder einer einfachen Datenbank.
+
+-- Auch ein Export als Shape ist moeglich (dafuer: geom hinzugefuegt, Feldnamen gekuerzt)
+-- Kommando:
+--  pgsql2shp -h localhost -p 5432 -f "/data/.../alkis_fs_gemeinde.shp"  [db-name]  public.flurstuecke_eines_eigentuemers
+
+-- Ãbersicht der Tabellen:
+--
+-- Person <benennt< NamNum. >istBestandteilVon> Blatt <istBestandteilVon< Stelle >istGebucht> Flurstueck
+--                                              *-> Bezirk                *-> Buchungsart     *-> Gemarkung
+
+-- Wobei ">xxx>" = JOIN ÃŒber die Verbindungs-Tabelle "alkis_beziehungen" mit der Beziehungsart "xxx".
+
+CREATE OR REPLACE VIEW flurstuecke_eines_eigentuemers 
+AS 
+   SELECT 
+      k.bezeichnung                AS gemarkung, 
+      k.gemarkungsnummer           AS gemkg_nr, 
+      f.flurnummer                 AS flur, 
+      f.zaehler                    AS fs_zaehler, 
+      f.nenner                     AS fs_nenner, 
+      f.amtlicheflaeche            AS flaeche, 
+      f.wkb_geometry               AS geom,  -- fuer Export als Shape
+   -- g.bezirk, 
+      b.bezeichnung                AS bezirkname,
+      g.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt, 
+      g.blattart, 
+      s.laufendenummer             AS bvnr, 
+      art.bezeichner               AS buchgsart, 
+   -- s.zaehler || '/' || s.nenner AS buchg_anteil, 
+      n.laufendenummernachdin1421  AS name_num, 
+   -- n.zaehler || '/' || n.nenner AS nam_anteil, 
+      p.nachnameoderfirma          AS nachname --, 
+   -- p.vorname 
+   FROM       ax_person              p
+        JOIN  alkis_beziehungen      bpn  ON bpn.beziehung_zu  = p.gml_id 
+        JOIN  ax_namensnummer        n    ON bpn.beziehung_von =n.gml_id 
+        JOIN  alkis_beziehungen      bng  ON n.gml_id = bng.beziehung_von 
+        JOIN  ax_buchungsblatt       g    ON bng.beziehung_zu = g.gml_id 
+        JOIN  ax_buchungsblattbezirk b    ON g.land = b.land AND g.bezirk = b.bezirk 
+        JOIN  alkis_beziehungen      bgs  ON bgs.beziehung_zu = g.gml_id 
+        JOIN  ax_buchungsstelle      s    ON s.gml_id = bgs.beziehung_von 
+        JOIN  ax_buchungsstelle_buchungsart art ON s.buchungsart = art.wert 
+        JOIN  alkis_beziehungen      bsf  ON bsf.beziehung_zu = s.gml_id
+        JOIN  ax_flurstueck          f    ON f.gml_id = bsf.beziehung_von 
+        JOIN  ax_gemarkung           k    ON f.land = k.land AND f.gemarkungsnummer = k.gemarkungsnummer 
+   WHERE p.nachnameoderfirma LIKE 'Gemeinde %'   -- ** Bei Bedarf anpassen!
+     AND bpn.beziehungsart = 'benennt'           -- Namennummer     >> Person
+     AND bng.beziehungsart = 'istBestandteilVon' -- Namensnummer    >> Grundbuch
+     AND bgs.beziehungsart = 'istBestandteilVon' -- Buchungs-Stelle >> Grundbuch
+     AND bsf.beziehungsart = 'istGebucht'        -- Flurstueck      >> Buchungs-Stelle
+     AND p.endet IS NULL AND n.endet IS NULL AND g.endet IS NULL AND b.endet IS NULL
+     AND s.endet IS NULL AND f.endet IS NULL AND k.endet IS NULL
+   ORDER BY k.bezeichnung, f.flurnummer, f.zaehler, f.nenner, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;
+COMMENT ON VIEW flurstuecke_eines_eigentuemers IS 'Muster fÃŒr Export: Suchkriteriumnach Bedarf anpassen.';
+
+-- Rechte eines EigentÃŒmers
+-- ------------------------
+-- Dieser View sucht speziell die FÃ€lle wo eine Buchungsstelle ein Recht "an" einer anderen Buchungsstelle hat.
+--  - "Erbbaurecht *an* GrundstÃŒck" 
+--  - "Wohnungs-/Teileigentum *an* Aufgeteiltes GrundstÃŒck"
+--  - "Miteigentum *an* Aufteteiltes GrundstÃŒck"
+-- Suchkriterium ist der Name des EigentÃŒmers auf dem "herrschenden" Grundbuch, also dem Besitzer des Rechtes.
+
+-- Diese FÃ€lle fehlen im View "flurstuecke_eines_eigentuemers".
+
+-- Ãbersicht der Tabellen:
+-- Person <benennt< NamNum. >istBestandteilVon> Blatt <istBestandteilVon< Stelle-h >an> Stelle-d >istGebucht> Flurstueck
+-- Wobei ">xxx>" = JOIN ÃŒber die Verbindungs-Tabelle "alkis_beziehungen" mit der Beziehungsart "xxx".
+
+CREATE OR REPLACE VIEW rechte_eines_eigentuemers 
+AS
+   SELECT 
+      k.bezeichnung                AS gemarkung, 
+      k.gemarkungsnummer           AS gemkg_nr, 
+      f.flurnummer                 AS flur, 
+      f.zaehler                    AS fs_zaehler, 
+      f.nenner                     AS fs_nenner, 
+      f.amtlicheflaeche            AS flaeche, 
+      f.wkb_geometry               AS geom,  -- fuer Export als Shape
+   -- g.bezirk, 
+      b.bezeichnung                AS bezirkname,
+      g.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt, 
+   -- g.blattart, 
+      sh.laufendenummer            AS bvnr_herr, 
+      sh.zaehler || '/' || sh.nenner AS buchg_anteil_herr, 
+      arth.bezeichner              AS buchgsa_herr, 
+      bss.beziehungsart            AS bez_art,
+      artd.bezeichner              AS buchgsa_dien, 
+      sd.laufendenummer            AS bvnr_dien, 
+   -- sd.zaehler || '/' || sd.nenner AS buchg_anteil_dien,
+      n.laufendenummernachdin1421  AS name_num, 
+   -- n.zaehler || '/' || n.nenner AS nam_anteil, 
+      p.nachnameoderfirma          AS nachname --,  
+   -- p.vorname 
+   FROM       ax_person              p
+        JOIN  alkis_beziehungen      bpn  ON bpn.beziehung_zu  = p.gml_id 
+        JOIN  ax_namensnummer        n    ON bpn.beziehung_von =n.gml_id 
+        JOIN  alkis_beziehungen      bng  ON n.gml_id = bng.beziehung_von 
+        JOIN  ax_buchungsblatt       g    ON bng.beziehung_zu = g.gml_id 
+        JOIN  ax_buchungsblattbezirk b    ON g.land = b.land AND g.bezirk = b.bezirk 
+        JOIN  alkis_beziehungen      bgs  ON bgs.beziehung_zu = g.gml_id 
+        JOIN  ax_buchungsstelle      sh   ON sh.gml_id = bgs.beziehung_von  -- herrschende Buchung
+        JOIN  ax_buchungsstelle_buchungsart arth ON sh.buchungsart = arth.wert 
+        JOIN  alkis_beziehungen      bss  ON sh.gml_id = bss.beziehung_von
+        JOIN  ax_buchungsstelle      sd   ON sd.gml_id = bss.beziehung_zu   -- dienende Buchung
+        JOIN  ax_buchungsstelle_buchungsart artd ON sd.buchungsart = artd.wert 
+        JOIN  alkis_beziehungen      bsf  ON bsf.beziehung_zu = sd.gml_id
+        JOIN  ax_flurstueck          f    ON f.gml_id = bsf.beziehung_von 
+        JOIN  ax_gemarkung           k    ON f.land = k.land AND f.gemarkungsnummer = k.gemarkungsnummer 
+   WHERE p.nachnameoderfirma LIKE 'Stadt %'   -- ** Bei Bedarf anpassen!
+     AND bpn.beziehungsart = 'benennt'           -- Namennummer     >> Person
+     AND bng.beziehungsart = 'istBestandteilVon' -- Namensnummer    >> Grundbuch
+     AND bgs.beziehungsart = 'istBestandteilVon' -- B-Stelle herr   >> Grundbuch
+     AND bss.beziehungsart in ('an','zu')        -- B-Stelle herr.  >> B-Stelle dien.
+     AND bsf.beziehungsart = 'istGebucht'        -- Flurstueck      >> B-Stelle dien
+     AND p.endet IS NULL AND n.endet IS NULL AND g.endet IS NULL AND b.endet IS NULL
+     AND sh.endet IS NULL AND sd.endet IS NULL AND f.endet IS NULL AND k.endet IS NULL
+   ORDER BY k.bezeichnung, f.flurnummer, f.zaehler, f.nenner, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung, sh.laufendenummer;
+COMMENT ON VIEW rechte_eines_eigentuemers IS 'Muster fÃŒr Export: Suchkriteriumnach Bedarf anpassen. Dies ergÃ€nzt "flurstuecke_eines_eigentuemers" um die FÃ€lle mit besonderen Buchungen.';
+
+-- Die 2 Views nur fuer Entwicklung: 
+
+-- 	CREATE OR REPLACE VIEW beziehungen_redundant 
+-- 	AS
+-- 	 SELECT *
+-- 	   FROM alkis_beziehungen AS bezalt
+-- 	   WHERE EXISTS
+-- 		   (SELECT ogc_fid
+-- 			 FROM alkis_beziehungen AS bezneu
+-- 			WHERE bezalt.beziehung_von = bezneu.beziehung_von
+-- 			  AND bezalt.beziehung_zu  = bezneu.beziehung_zu
+-- 			  AND bezalt.beziehungsart = bezneu.beziehungsart
+-- 			  AND bezalt.ogc_fid       < bezneu.ogc_fid
+-- 			);
+-- 	COMMENT ON VIEW beziehungen_redundant IS 'Datenanalyse: alkis_beziehungen zu denen es eine identische neue Version gibt. Fehlersuche bei PostNAS-Trigger fÃŒr Replace.';
+--
+-- 	CREATE OR REPLACE VIEW beziehungen_redundant_in_delete
+-- 	AS
+-- 	SELECT *
+-- 	 FROM alkis_beziehungen AS bezalt
+-- 	 WHERE EXISTS
+-- 		   (SELECT ogc_fid
+-- 			 FROM alkis_beziehungen AS bezneu
+-- 			WHERE bezalt.beziehung_von = bezneu.beziehung_von
+-- 			  AND bezalt.beziehung_zu  = bezneu.beziehung_zu
+-- 			  AND bezalt.beziehungsart = bezneu.beziehungsart
+-- 			  AND bezalt.ogc_fid       < bezneu.ogc_fid
+-- 			)
+-- 		 -- mit dem Zusatz nur die Faelle aus dem letzten Durchlauf,
+-- 		 -- die aktuell noch in der Delete-Tabelle stehen
+-- 		 AND EXISTS
+-- 			(SELECT ogc_fid
+-- 			 FROM delete
+-- 			 WHERE bezalt.beziehung_von = substr(featureid, 1, 16)
+-- 				OR bezalt.beziehung_zu  = substr(featureid, 1, 16)
+-- 			);
+-- 	COMMENT ON VIEW beziehungen_redundant_in_delete IS 'Datenanalyse: alkis_beziehungen zu denen es eine identische neue Version gibt und wo das Objekt noch in der delete-Tabelle vorkommt. Fehlersuche bei PostNAS-Trigger fÃŒr Replace.';
+
+
+-- Suche nach Fehler durch "Replace"
+-- Wenn ax_flurstueck ÃŒber "replace" ausgetauscht wird und dabei gleichzeitig eine andere 
+-- Buchungsstelle bekommt, dann bleibt die alte Buchungsstelle in den alkis_beziehungen.
+-- Mail PostNAS Mailingliste von 2013-02-20
+CREATE OR REPLACE VIEW mehrfache_buchung_zu_fs
+AS
+  SELECT f.gml_id, count(b.ogc_fid) AS anzahl
+    FROM ax_flurstueck f
+    JOIN alkis_beziehungen b
+      ON f.gml_id = b.beziehung_von 
+  WHERE b.beziehungsart = 'istGebucht'
+  GROUP BY f.gml_id
+  HAVING count(b.ogc_fid) > 1;
+
+-- Noch einfacher? - Auch ohne JOIN wird das selbe Ergebnis geliefert.
+-- Doppelte Verweise zÃ€hlen ohne zu prÃŒfen, ob die gml_id in ax_flurstueck existiert.
+--   SELECT b.beziehung_von, count(b.ogc_fid) AS anzahl
+--     FROM alkis_beziehungen b
+--    WHERE b.beziehungsart = 'istGebucht'
+--   GROUP BY b.beziehung_von
+--   HAVING count(b.ogc_fid) > 1;
+
+COMMENT ON VIEW mehrfache_buchung_zu_fs 
+ IS 'Fehler: Nach replace von ax_flurtstueck mit einer neuen ax_buchungsstelle bleibt die alte Verbindung in alkis_beziehungen';
+
+
+-- Suche nach Fehler durch "Replace"
+-- Eine Hausnummer darf nur einem Gebaeude zugeordnet werden.
+-- Das verschieben der Relation 
+--   ax_gebaeude   >von>zeigtAuf>zu>  ax_lagebezeichnungmithausnummer
+-- fuehrt mÃ¶glicherweise dazu, dass die alte Relation nicht gelÃ¶scht wird.
+-- Die angezeigten FÃ€lle sind potentielle Fehler.
+
+CREATE OR REPLACE VIEW fehler_hausnummer_mehrfach_verwendet
+AS
+ SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer 
+   FROM ax_gebaeude g
+   JOIN alkis_beziehungen b ON b.beziehung_von = g.gml_id
+   JOIN ax_lagebezeichnungmithausnummer l ON b.beziehung_zu = l.gml_id
+  WHERE b.beziehungsart = 'zeigtAuf'
+  GROUP BY l.gml_id, l.gemeinde, l.lage, l.hausnummer
+  HAVING count(g.gml_id) > 1;
+
+COMMENT ON VIEW fehler_hausnummer_mehrfach_verwendet
+ IS 'Fehler: Nach replace von ax_lagebezeichnungmithausnummer mit einem neuen ax_gebaeude bleibt die alte Verbindung in alkis_beziehungen';
+
+
+-- Der umgekehrt Fall ist erlaubt.
+-- GebÃ€ude hat mehrere Nummern.
+
+CREATE OR REPLACE VIEW adressen_zu_gebauede_mit_mehreren_hausnummern
+AS
+ SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer -- Anzeige der Adressfelder
+ FROM ax_gebaeude g1
+   JOIN alkis_beziehungen b ON b.beziehung_von = g1.gml_id
+   JOIN ax_lagebezeichnungmithausnummer l ON b.beziehung_zu = l.gml_id
+  WHERE b.beziehungsart = 'zeigtAuf' AND g1.gml_id IN -- Subquery sucht GebÃ€ude mit meherern Hausnummen
+   (SELECT g2.gml_id 
+    FROM ax_gebaeude g2
+    JOIN alkis_beziehungen b ON b.beziehung_von = g2.gml_id
+    JOIN ax_lagebezeichnungmithausnummer l ON b.beziehung_zu = l.gml_id
+   WHERE b.beziehungsart = 'zeigtAuf'
+   GROUP BY g2.gml_id 
+   HAVING count(l.gml_id) > 1);
+
+COMMENT ON VIEW adressen_zu_gebauede_mit_mehreren_hausnummern
+ IS 'GebÃ€ude mit mehreren Hausnummern suchen (ist erlaubt) und dazu die Adressen anzeigen.';
+
+
+-- Analyse der Buchungs-Arten im Bestand
+CREATE OR REPLACE VIEW buchungsarten_vorkommend
+AS
+  SELECT a.wert, a.bezeichner, 
+         count(b.gml_id) AS anzahl_buchungen
+    FROM ax_buchungsstelle_buchungsart a
+    JOIN ax_buchungsstelle b  ON a.wert = b.buchungsart
+GROUP BY a.wert, a.bezeichner
+ORDER BY a.wert, a.bezeichner;
+
+COMMENT ON VIEW buchungsarten_vorkommend
+ IS 'Welche Arten von Buchungsart kommen in dieser Datenbank tÃ€tsÃ€chlich vor?.';
+
+
+-- Analyse: FÃ€lle mit Erbbaurecht
+-- Benutzt den Baustein-View "doppelverbindung"
+CREATE OR REPLACE VIEW erbbaurechte_suchen
+AS
+  SELECT f.gml_id, 
+  --f.flurstueckskennzeichen,
+    f.gemarkungsnummer || '-' || f.flurnummer || '-' || f.zaehler AS fssuch, f.nenner
+   FROM ax_flurstueck    f 
+   JOIN doppelverbindung d     -- beide FÃ€lle ÃŒber Union-View: direkt und ÃŒber Recht von BS an BS
+     ON d.fsgml = f.gml_id 
+   JOIN ax_buchungsstelle s    -- Buchungs-Stelle
+     ON d.bsgml = s.gml_id 
+   WHERE s.buchungsart = 2101;
+
+COMMENT ON VIEW erbbaurechte_suchen
+ IS 'Suche nach FÃ€llen mit Buchungsrt 2101=Erbbaurecht';
+
+
+-- Probleme mit der Trigger-Function "update_fields_beziehungen()"
+-- Manchmal kann zu einer gml_id in "alkis_beziehungen" die zustÃ€ndige Tabelle nicht gefunden werden.
+-- Nach Ãnderung der Trigger-Function am 10.12.2013 wird die Beziehung trotzdem eingetragen,
+-- nur die Felder "von_typename" und "beginnt" bleiben leer.
+-- 2014-01-31: Dieser Trigger wird nicht mehr verwendet.
+
+     -- Diese FÃ€lle anzeigen:
+--     CREATE OR REPLACE VIEW beziehungsproblem_faelle
+--    AS
+--       SELECT *
+--        FROM alkis_beziehungen
+--        WHERE beginnt IS NULL;
+--     COMMENT ON VIEW beziehungsproblem_faelle
+--      IS 'Fehlersuche: Im Trigger "update_fields_beziehungen()" wurde das Objekt in seiner Tabelle nicht gefunden, darum kein "beginnt" in "alkis_beziehungen" eingetragen.';
+
+     -- Wie viele sind das?
+--     CREATE OR REPLACE VIEW beziehungsproblem_zaehler
+--     AS
+--       SELECT count(ogc_fid) AS anzahl
+--         FROM alkis_beziehungen
+--        WHERE beginnt IS NULL;
+--     COMMENT ON VIEW beziehungsproblem_faelle
+--      IS 'Fehlersuche: Wie oft fehlt das beginnt-Feld in alkis_beziehungen?';
+
+
+-- Suchen von Gewannenbezeichnungen, die auch als StraÃenname verwendet werden.
+-- Diese FÃ€lle fÃŒhren mÃ¶glicherweise zu unvollstÃ€ndiger Ausgabe beim Export "alle FlurstÃŒcke an einer StraÃe"
+-- weil nur Lagebezeichnung MIT und OHNE Hausnummer gesucht wird, aber keine gleich lautende Gewanne.
+CREATE OR REPLACE VIEW strasse_als_gewanne
+AS
+  SELECT k.gemeinde, k.lage AS strassenschluessel,
+      -- k.bezeichnung      AS strassenname,
+         o.unverschluesselt AS gewanne,
+         count(fo.gml_id) AS anzahl_fs_gewanne
+  FROM ax_lagebezeichnungkatalogeintrag k   -- StraÃentabelle
+  JOIN ax_lagebezeichnungohnehausnummer o   -- Gewanne
+    ON k.bezeichnung = o.unverschluesselt   -- Gleiche Namen
+  -- Join Gewanne auf FlurstÃŒcke um nur solche FÃ€lle anzuzeigen, die verwendet werden 
+  -- UND die auch in der gleichen Gemeinde liegen.
+  -- Sonst kÃ¶nnte zufÃ€llige Namensgleichheiten aus verschiedenen Gemeinden geben. 
+  JOIN alkis_beziehungen vo
+    ON o.gml_id=vo.beziehung_zu AND vo.beziehungsart= 'zeigtAuf' 
+  JOIN ax_flurstueck fo
+    ON fo.gml_id=vo.beziehung_von
+ WHERE fo.gemeinde = k.gemeinde  -- Gewanne wird fÃŒr ein Flst. in gleicher Gemeinde verwendet, wie der StraÃenschlÃŒssel
+  GROUP BY k.gemeinde, k.lage, o.unverschluesselt --, k.bezeichnung
+  ORDER BY k.gemeinde, k.lage, o.unverschluesselt --, k.bezeichnung
+  ;
+
+COMMENT ON VIEW strasse_als_gewanne
+ IS 'Gewannenbezeichnungen, die auch als StraÃenname verwendet werden. Mit FlurstÃŒcks-ZÃ€hler.';
+
+
+-- Wie zuvor, aber die FlurstÃŒcke werden hier nicht nur gezÃ€hlt sondern auch aufgelistet.
+-- das Format des FlusrtÃŒckskennzeichens kann in die Mapbender-Navigation eingegeben werden.
+CREATE OR REPLACE VIEW strasse_als_gewanne_flst
+AS
+  SELECT -- fo.gml_id, 
+         fo.gemarkungsnummer || '-' || fo.flurnummer || '-' || fo.zaehler::text || COALESCE ('/' || fo.nenner::text, '') AS flstkennz,
+         k.gemeinde, 
+         o.unverschluesselt AS gewanne,
+      -- k.bezeichnung AS strassenname,
+         k.lage        -- AS strassen_schluessel
+  FROM ax_lagebezeichnungkatalogeintrag k   -- StraÃentabelle
+  JOIN ax_lagebezeichnungohnehausnummer o   -- Gewanne
+    ON k.bezeichnung = o.unverschluesselt   -- Gleiche Namen 
+  JOIN alkis_beziehungen vo
+    ON o.gml_id=vo.beziehung_zu AND vo.beziehungsart= 'zeigtAuf' 
+  JOIN ax_flurstueck fo
+    ON fo.gml_id=vo.beziehung_von
+ WHERE fo.gemeinde = k.gemeinde  -- Gewanne wird fÃŒr ein Flst. in gleicher Gemeinde verwendet, wie der StraÃenschlÃŒssel
+  ORDER BY fo.gemarkungsnummer, fo.flurnummer, fo.zaehler, k.gemeinde, k.bezeichnung;
+
+COMMENT ON VIEW strasse_als_gewanne_flst
+ IS 'FlurstÃŒcke mit Gewannenbezeichnungen, die auch als StraÃenname verwendet werden.';
+
+
+
+-- Suche nach Fehlern in den Daten, die moeglicherweise aus der Migration stammen und
+-- im Rahmen der Nachmigration noch korrigiert werden muessen.
+
+CREATE OR REPLACE VIEW nachmigration_aehnliche_anschriften
+AS
+  SELECT DISTINCT p.gml_id, p.nachnameoderfirma, p.vorname, 
+        a1.ort_post, a1.strasse AS strasse1, a2.strasse AS strasse2, a1.hausnummer
+     -- , b1.import_id AS import1, b2.import_id AS import2
+    FROM ax_person         p
+    JOIN alkis_beziehungen b1 ON b1.beziehung_von=p.gml_id
+    JOIN ax_anschrift      a1 ON a1.gml_id=b1.beziehung_zu
+    JOIN alkis_beziehungen b2 ON b2.beziehung_von=p.gml_id
+    JOIN ax_anschrift      a2 ON a2.gml_id=b2.beziehung_zu
+    WHERE b1.beziehungsart='hat' 
+      AND b2.beziehungsart='hat'
+      AND a1.gml_id    <>  a2.gml_id
+      AND a1.ort_post   =  a2.ort_post
+      AND a1.strasse    like trim(a2.strasse, '.') || '%'
+      AND a1.hausnummer =  a2.hausnummer
+    ORDER BY p.nachnameoderfirma, p.vorname;
+
+COMMENT ON VIEW nachmigration_aehnliche_anschriften
+ IS 'Zu einer Person gibt es mehrere Anschriften, die in Ort und Hausnummer identisch sind und beim StraÃennemen entweder auch identisch sind oder eine AbkÃŒrzung mit Punkt enthalten.';
+
+
+-- END --
Index: branches/0.7/import/ordner_konvertieren.sh
===================================================================
--- branches/0.7/import/ordner_konvertieren.sh	(revision 329)
+++ branches/0.7/import/ordner_konvertieren.sh	(revision 329)
@@ -0,0 +1,93 @@
+#!/bin/bash
+## -------------------------------------------------
+## Konvertierung von ALKIS NAS-Format nach PosGIS  -
+## NAS-Daten in einem Ordner konvertieren          -
+## Dialog-Teil zum Abfragen der Parameter          -
+## -------------------------------------------------
+## Stand:
+##  2012-02-10  PostNAS 07, Umbenennung
+##  2012-02-17  Parameter "DBUSER" raus
+##  2012-02-28  Parameter 4 = 'pp' (mit Post-Processing)
+## 
+
+POSTNAS_HOME=$(dirname $0)
+
+function get_db_config(){
+	#
+	# Name der zu ladenden ALKIS-Datenbank
+	#
+	until [ -n "$DBNAME" ]
+	do
+		echo ""
+		echo "Name der ALKIS-Datenbank?"
+		read DBNAME
+	done
+	#
+	# Ordner (Eingabedaten)
+	#
+	echo ""
+	echo "Ordner mit gezippten NAS-Daten (*.xml.zip)? (Absoluter Pfad)"
+	echo "  z.B.  /data/nas_daten/150/0001"
+	read ORDNER
+	# Inhalt des Ordners anzeigen
+	ls  ${ORDNER}
+	LSRESULT=$?
+	until [ "$LSRESULT" = 0 ]
+	do
+		echo "Korrektur: Ordner mit NAS-Daten?"
+		read ORDNER
+		ls  ${ORDNER}
+		LSRESULT=$?
+	done
+	#
+	# Erstladen oder NBA-Aktualisierung
+	#
+	echo " "
+	echo "Art der Konvertierung"
+	until [ "$UPD" = "e" -o "$UPD" = "a" ]
+	do
+		echo " "
+		echo "Erstmaliges Laden             =>  e"
+		echo "Aktualisierung NBA-Verfahren  =>  a"
+		read UPD
+	done
+	#
+	# Bestaetigung holen
+	#
+	echo " "
+	echo "Abschließende Bestätigung:"
+	until [ "$JEIN" = "j" -o "$JEIN" = "n" ]
+	do
+		echo " "
+		echo "Datenbank $DBNAME Laden aus Ordner $ORDNER  -  j oder n ?"
+		read JEIN
+	done
+	#
+	# Mit/ohne Post-Processing
+	#
+	## pauschal ja
+}
+## aller Laster Anfang
+get_db_config;
+if test $JEIN != "j"
+then
+	echo "Abbruch"
+	exit 1
+fi
+# Protokolldatei ueberschreiben
+echo "** Konvertierung ALKIS **" > $POSTNAS_HOME/log/postnas_err.prot
+echo "** Beginn Batch **"
+##                                       1        2        3     4
+$POSTNAS_HOME/konv_batch.sh  $ORDNER  $DBNAME  $UPD  pp
+result=$?
+if [ $result = 0 ]
+then
+	echo "** Ende   Batch **"
+else
+	echo "** Fehler, Batch-Returncode = " $result
+fi
+echo " "
+echo " Kommando fuer Wiederholung:"
+echo " $POSTNAS_HOME/konv_batch.sh  $ORDNER  $DBNAME  $UPD  pp"
+echo " "
+###
Index: branches/0.7/import/staedtische_FS_aus_ALKIS_rlp.sql
===================================================================
--- branches/0.7/import/staedtische_FS_aus_ALKIS_rlp.sql	(revision 329)
+++ branches/0.7/import/staedtische_FS_aus_ALKIS_rlp.sql	(revision 329)
@@ -0,0 +1,105 @@
+
+-- ===========================================================
+-- Kommunale FlurstÃŒcke aus ALKIS selektieren
+-- ===========================================================
+
+-- Individuelle Auswertung "Kommunales Eigentum" fÃŒr eine Stadt oder Gemeinde.
+-- Ggf. mÃŒssen verschiedene Schreibweisen des EigentÃŒmers oder ZusÃ€tze zum Namen berÃŒcksichtigt werden.
+
+-- Stand: 2013-11-26 - hier die Version fÃŒr die ALKIS-Musterdaten RLP Mustermonzel
+
+
+-- Voraussetzung = View "doppelverbindung" aus ALKIS PostNAS-Projekt Datei "sichten.sql"
+
+
+-- View fÃŒr Shape-Export
+-- ---------------------
+
+--           DROP VIEW st_flurst_exp;
+CREATE OR REPLACE VIEW st_flurst_exp
+AS
+  SELECT   -- DISTINCT
+     f.gml_id,
+     f.land, f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner,
+     f.amtlicheflaeche,
+  -- f.flurstueckskennzeichen,
+  -- p.nachnameoderfirma                -- Familienname
+     f.wkb_geometry
+  FROM ax_flurstueck    f               -- FlurstÃŒck
+  JOIN doppelverbindung d               -- beide FÃ€lle ÃŒber Union-View: direkt und ÃŒber Recht von BS an BS
+    ON d.fsgml = f.gml_id 
+  JOIN ax_buchungsstelle s              -- Buchungs-Stelle
+    ON d.bsgml = s.gml_id 
+  JOIN ax_buchungsstelle_buchungsart b  -- EnstschlÃŒsselung der Buchungsart
+    ON s.buchungsart = b.wert 
+  JOIN alkis_beziehungen v3             -- Grundbuch (zur Buchungs-Stelle)
+    ON s.gml_id = v3.beziehung_von  
+  JOIN ax_buchungsblatt  gb 
+    ON v3.beziehung_zu = gb.gml_id 
+  JOIN alkis_beziehungen v4             -- Namensnummer (zum GB-Blatt)
+    ON v4.beziehung_zu = gb.gml_id
+  JOIN ax_namensnummer nn 
+    ON v4.beziehung_von = nn.gml_id 
+  JOIN alkis_beziehungen v5             -- Person (zur Namensnummer)
+    ON v5.beziehung_von = nn.gml_id
+  JOIN ax_person p
+    ON v5.beziehung_zu = p.gml_id 
+ WHERE v3.beziehungsart = 'istBestandteilVon'  -- Buchung  --> Blatt
+   AND v4.beziehungsart = 'istBestandteilVon'  -- Blatt    --> NamNum
+   AND v5.beziehungsart = 'benennt'            -- NamNum   --> Person
+   AND f.endet IS NULL
+   AND p.nachnameoderfirma = 'Ortsgemeinde Osann-Monzel'; -- ** EIGENTÃMER / ERBBAUBERECHTIGTER **
+
+-- Bei Schreib-Varianten wie "Stadt XXX - Wasserwerke -" oder  "Stadt XXX - Kanalbetriebe -"
+-- muss hier ggf. der LOKE-Operator verwendet werden: LIKE "Stadt XXX%"
+
+COMMENT ON VIEW st_flurst_exp  IS 'FlurstÃŒcke der Ortsgemeinde Osann-Monzel. FÃŒr Shape-Export: Mit Kennzeichen und FlÃ€che';
+
+
+-- View fÃŒr Shape-Export
+--        DROP    VIEW st_flurst;
+CREATE OR REPLACE VIEW st_flurst
+AS
+  SELECT   -- DISTINCT
+     f.gml_id,
+     d.ba_dien,                         -- Buchungsart der dienenden Buchung
+  -- f.land, f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner,
+  -- f.amtlicheflaeche,
+  -- f.flurstueckskennzeichen,
+  -- p.nachnameoderfirma                -- Familienname
+     f.wkb_geometry
+  FROM ax_flurstueck    f               -- FlurstÃŒck
+  JOIN doppelverbindung d               -- beide FÃ€lle ÃŒber Union-View: direkt und ÃŒber Recht von BS an BS
+    ON d.fsgml = f.gml_id 
+  JOIN ax_buchungsstelle s              -- Buchungs-Stelle
+    ON d.bsgml = s.gml_id 
+  JOIN ax_buchungsstelle_buchungsart b  -- EnstschlÃŒsselung der Buchungsart
+    ON s.buchungsart = b.wert 
+  JOIN alkis_beziehungen v3             -- Grundbuch (zur Buchungs-Stelle)
+    ON s.gml_id = v3.beziehung_von  
+  JOIN ax_buchungsblatt  gb 
+    ON v3.beziehung_zu = gb.gml_id 
+  JOIN alkis_beziehungen v4             -- Namensnummer (zum GB-Blatt)
+    ON v4.beziehung_zu = gb.gml_id
+  JOIN ax_namensnummer nn 
+    ON v4.beziehung_von = nn.gml_id 
+  JOIN alkis_beziehungen v5             -- Person (zur Namensnummer)
+    ON v5.beziehung_von = nn.gml_id
+  JOIN ax_person p
+    ON v5.beziehung_zu = p.gml_id 
+ WHERE v3.beziehungsart = 'istBestandteilVon'  -- Buchung  --> Blatt
+   AND v4.beziehungsart = 'istBestandteilVon'  -- Blatt    --> NamNum
+   AND v5.beziehungsart = 'benennt'            -- NamNum   --> Person
+   AND f.endet IS NULL
+   AND p.nachnameoderfirma = 'Ortsgemeinde Osann-Monzel'; -- ** EIGENTÃMER / ERBBAUBERECHTIGTER **
+
+COMMENT ON VIEW st_flurst  IS 'FlurstÃŒcke der Ortsgemeinde Osann-Monzel. FÃŒr WMS: nur ID und Geometrie.';
+
+--GRANT SELECT ON TABLE st_flurst TO ms6;
+
+
+-- Buchungsarten darin?
+--    SELECT DISTINCT ba_dien, count(gml_id) AS anzahl FROM st_flurst GROUP BY ba_dien ORDER BY ba_dien;
+
+
+-- the HAPPY end --
Index: branches/0.7/import/alkis-trigger-kill-oracle.sql
===================================================================
--- branches/0.7/import/alkis-trigger-kill-oracle.sql	(revision 329)
+++ branches/0.7/import/alkis-trigger-kill-oracle.sql	(revision 329)
@@ -0,0 +1,77 @@
+CREATE OR REPLACE TRIGGER delete_feature_trigger
+	BEFORE INSERT ON "DELETE"
+	FOR EACH ROW
+DECLARE
+	query varchar2(2047);
+	begsql varchar2(2047);
+	aktbeg varchar2(2047);
+	gml_id varchar2(2047);
+BEGIN
+	:NEW.typename := upper(substr(:NEW.typename,1,30));
+	:NEW.context  := lower(:NEW.context);
+	gml_id        := substr(:NEW.featureid, 1, 16);
+
+	IF :NEW.context IS NULL THEN
+		:NEW.context := 'delete';
+	END IF;
+
+	IF :NEW.context='delete' THEN
+		-- ersatzloses Loeschen eines Objektes
+
+		query := 'DELETE FROM ' || :NEW.typename
+			|| ' WHERE gml_id = ''' || gml_id || '''';
+		EXECUTE IMMEDIATE query;
+
+		query := 'DELETE FROM alkis_beziehungen WHERE beziehung_von = ''' || gml_id
+			|| ''' OR beziehung_zu = ''' || gml_id || '''';
+		EXECUTE IMMEDIATE query;
+
+		dbms_output.put_line( 'LÃ¶sche gml_id '|| gml_id || ' in ' || :NEW.typename || ' und Beziehungen');
+
+	ELSE
+		-- Ersetzen eines Objektes
+		-- In der objekt-Tabelle sind bereits 2 Objekte vorhanden (alt und neu).
+		-- Die 2 DatensÃ€tze unterscheiden sich nur in ogc_fid und beginnt
+
+		-- beginnt-Wert des aktuellen Objektes ermitteln
+		-- RAISE NOTICE 'Suche beginnt von neuem gml_id % ', substr(:NEW.replacedBy, 1, 16);
+		begsql := 'SELECT max(beginnt) FROM ' || :NEW.typename || ' WHERE gml_id = ''' || substr(:NEW.replacedBy, 1, 16) || ''' AND endet IS NULL';
+		EXECUTE IMMEDIATE begsql INTO aktbeg;
+
+		-- Nur alte Objekte entfernen
+		query := 'DELETE FROM ' || :NEW.typename || ' WHERE gml_id = ''' || gml_id || ''' AND beginnt < ''' || aktbeg || '''';
+		EXECUTE IMMEDIATE query;
+
+		-- Tabelle alkis_beziehungen
+		IF gml_id <> substr(:NEW.replacedBy, 1, 16) THEN -- gml_id gleich
+			-- replace mit ungleicher gml_id
+			-- Falls dies vorkommt, die Function erweitern
+			raise_application_error(-20100, gml_id || ': neue gml_id ' || :NEW.replacedBy || ' bei Replace in ' || :NEW.typename || '. alkis_beziehungen muss aktualisiert werden!');
+		-- ELSE
+			-- Beziehungen des Objektes wurden redundant noch einmal eingetragen
+			-- ToDo:         HIER sofort die Redundanzen zum aktuellen Objekt beseitigen.
+			-- Workaround: Nach der Konvertierung werden im Post-Processing
+			--             ALLE Redundanzen mit einem SQL-Statemant beseitigt.
+		--	RAISE NOTICE 'Ersetze gleiche gml_id % in %', gml_id, :NEW.typename;
+
+		-- ENTWURF ungetestet:
+		--query := 'DELETE FROM alkis_beziehungen AS bezalt
+		--	WHERE (bezalt.beziehung_von = ' || gml_id || ' OR bezalt.beziehung_zu = ' || gml_id ||')
+		--	AND EXISTS (SELECT ogc_fid FROM alkis_beziehungen AS bezneu
+		--		WHERE bezalt.beziehung_von = bezneu.beziehung_von
+		--		AND bezalt.beziehung_zu = bezneu.beziehung_zu
+		--		AND bezalt.beziehungsart = bezneu.beziehungsart
+		--		AND bezalt.ogc_fid < bezneu.ogc_fid);'
+		--EXECUTE query;
+
+		END IF;
+	END IF;
+
+	:NEW.ignored := 'false';
+END delete_feature_trigger;
+/
+
+-- show errors trigger delete_feature_trigger;
+
+QUIT;
+
Index: branches/0.7/import/alkis_PostNAS_ORACLE_keytables.sql
===================================================================
--- branches/0.7/import/alkis_PostNAS_ORACLE_keytables.sql	(revision 329)
+++ branches/0.7/import/alkis_PostNAS_ORACLE_keytables.sql	(revision 329)
@@ -0,0 +1,1031 @@
+-- Automatisch mit pg-to-oci_keytables.pl konvertiert.
+---
+---
+
+set serveroutput on
+set autocommit on
+set feedback off
+set verify off
+
+
+CREATE TABLE AX_GEBAEUDE_BAUWEISE (
+    BAUWEISE_ID            integer, 
+    BAUWEISE_BESCHREIBUNG  varchar2(2047),
+    CONSTRAINT ALKIS_KEY_0 PRIMARY KEY (BAUWEISE_ID)
+  );
+COMMENT ON TABLE ax_gebaeude_bauweise 
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_GEBAEUDE_BAUWEISE (BAUWEISE_ID, BAUWEISE_BESCHREIBUNG) VALUES (1100,'Freistehendes EinzelgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_BAUWEISE (BAUWEISE_ID, BAUWEISE_BESCHREIBUNG) VALUES (1200,'Freistehender GebÃ€udeblock');
+INSERT INTO AX_GEBAEUDE_BAUWEISE (BAUWEISE_ID, BAUWEISE_BESCHREIBUNG) VALUES (1300,'Einzelgarage');
+INSERT INTO AX_GEBAEUDE_BAUWEISE (BAUWEISE_ID, BAUWEISE_BESCHREIBUNG) VALUES (1400,'Doppelgarage');
+INSERT INTO AX_GEBAEUDE_BAUWEISE (BAUWEISE_ID, BAUWEISE_BESCHREIBUNG) VALUES (1500,'Sammelgarage');
+INSERT INTO AX_GEBAEUDE_BAUWEISE (BAUWEISE_ID, BAUWEISE_BESCHREIBUNG) VALUES (2100,'DoppelhaushÃ€lfte');
+INSERT INTO AX_GEBAEUDE_BAUWEISE (BAUWEISE_ID, BAUWEISE_BESCHREIBUNG) VALUES (2200,'Reihenhaus');
+INSERT INTO AX_GEBAEUDE_BAUWEISE (BAUWEISE_ID, BAUWEISE_BESCHREIBUNG) VALUES (2300,'Haus in Reihe');
+INSERT INTO AX_GEBAEUDE_BAUWEISE (BAUWEISE_ID, BAUWEISE_BESCHREIBUNG) VALUES (2400,'Gruppenhaus');
+INSERT INTO AX_GEBAEUDE_BAUWEISE (BAUWEISE_ID, BAUWEISE_BESCHREIBUNG) VALUES (2500,'GebÃ€udeblock in geschlossener Bauweise');
+INSERT INTO AX_GEBAEUDE_BAUWEISE (BAUWEISE_ID, BAUWEISE_BESCHREIBUNG) VALUES (4000,'Offene Halle');
+
+CREATE TABLE AX_GEBAEUDE_FUNKTION (
+    WERT        integer, 
+    BEZEICHNER  varchar2(2047),
+    CONSTRAINT ALKIS_KEY_1 PRIMARY KEY (WERT)
+   );
+COMMENT ON TABLE  ax_gebaeude_funktion 
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1000,'WohngebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1010,'Wohnhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1020,'Wohnheim');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1021,'Kinderheim');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1022,'Seniorenheim');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1023,'Schwesternwohnheim');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1024,'Studenten-, SchÃŒlerwohnheim');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1025,'Schullandheim');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1100,'Gemischt genutztes GebÃ€ude mit Wohnen');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1110,'WohngebÃ€ude mit Gemeinbedarf');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1120,'WohngebÃ€ude mit Handel und Dienstleistungen');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1121,'Wohn- und VerwaltungsgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1122,'Wohn- und BÃŒrogebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1123,'Wohn- und GeschÃ€ftsgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1130,'WohngebÃ€ude mit Gewerbe und Industrie');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1131,'Wohn- und BetriebsgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1210,'Land- und forstwirtschaftliches WohngebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1220,'Land- und forstwirtschaftliches Wohn- und BetriebsgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1221,'Bauernhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1222,'Wohn- und WirtschaftsgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1223,'Forsthaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1310,'GebÃ€ude zur Freizeitgestaltung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1311,'Ferienhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1312,'Wochenendhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (1313,'Gartenhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2000,'GebÃ€ude fÃŒr Wirtschaft oder Gewerbe');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2010,'GebÃ€ude fÃŒr Handel und Dienstleistungen');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2020,'BÃŒrogebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2030,'Kreditinstitut');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2040,'Versicherung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2050,'GeschÃ€ftsgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2051,'Kaufhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2052,'Einkaufszentrum');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2053,'Markthalle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2054,'Laden');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2055,'Kiosk');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2056,'Apotheke');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2060,'Messehalle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2070,'GebÃ€ude fÃŒr Beherbergung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2071,'Hotel, Motel, Pension');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2072,'Jugendherberge');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2073,'HÃŒtte (mit ÃbernachtungsmÃ¶glichkeit)');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2074,'CampingplatzgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2080,'GebÃ€ude fÃŒr Bewirtung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2081,'GaststÃ€tte, Restaurant');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2082,'HÃŒtte (ohne ÃbernachtungsmÃ¶glichkeit)');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2083,'Kantine');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2090,'Freizeit- und VergnÃŒgungsstÃ€tte');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2091,'Festsaal');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2092,'Kino');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2093,'Kegel-, Bowlinghalle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2094,'Spielkasino');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2100,'GebÃ€ude fÃŒr Gewerbe und Industrie');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2110,'ProduktionsgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2111,'Fabrik');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2112,'BetriebsgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2113,'Brauerei');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2114,'Brennerei');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2120,'Werkstatt');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2121,'SÃ€gewerk');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2130,'Tankstelle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2131,'WaschstraÃe, Waschanlage, Waschhalle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2140,'GebÃ€ude fÃŒr Vorratshaltung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2141,'KÃŒhlhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2142,'SpeichergebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2143,'Lagerhalle, Lagerschuppen, Lagerhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2150,'SpeditionsgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2160,'GebÃ€ude fÃŒr Forschungszwecke');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2170,'GebÃ€ude fÃŒr Grundstoffgewinnung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2171,'Bergwerk');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2172,'Saline');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2180,'GebÃ€ude fÃŒr betriebliche Sozialeinrichtung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2200,'Sonstiges GebÃ€ude fÃŒr Gewerbe und Industrie');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2210,'MÃŒhle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2211,'WindmÃŒhle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2212,'WassermÃŒhle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2213,'SchÃ¶pfwerk');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2220,'Wetterstation');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2310,'GebÃ€ude fÃŒr Handel und Dienstleistung mit Wohnen');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2320,'GebÃ€ude fÃŒr Gewerbe und Industrie mit Wohnen');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2400,'BetriebsgebÃ€ude zu Verkehrsanlagen (allgemein)');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2410,'BetriebsgebÃ€ude fÃŒr StraÃenverkehr');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2411,'StraÃenmeisterei');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2412,'Wartehalle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2420,'BetriebsgebÃ€ude fÃŒr Schienenverkehr');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2421,'BahnwÃ€rterhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2422,'Lokschuppen, Wagenhalle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2423,'Stellwerk, Blockstelle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2424,'BetriebsgebÃ€ude des GÃŒterbahnhofs');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2430,'BetriebsgebÃ€ude fÃŒr Flugverkehr');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2431,'Flugzeughalle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2440,'BetriebsgebÃ€ude fÃŒr Schiffsverkehr');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2441,'Werft (Halle)');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2442,'Dock (Halle)');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2443,'BetriebsgebÃ€ude zur Schleuse');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2444,'Bootshaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2450,'BetriebsgebÃ€ude zur Seilbahn');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2451,'Spannwerk zur Drahtseilbahn');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2460,'GebÃ€ude zum Parken');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2461,'Parkhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2462,'Parkdeck');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2463,'Garage');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2464,'Fahrzeughalle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2465,'Tiefgarage');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2500,'GebÃ€ude zur Versorgung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2501,'GebÃ€ude zur Energieversorgung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2510,'GebÃ€ude zur Wasserversorgung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2511,'Wasserwerk');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2512,'Pumpstation');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2513,'WasserbehÃ€lter');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2520,'GebÃ€ude zur ElektrizitÃ€tsversorgung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2521,'ElektrizitÃ€tswerk');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2522,'Umspannwerk');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2523,'Umformer');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2527,'ReaktorgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2528,'Turbinenhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2529,'Kesselhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2540,'GebÃ€ude fÃŒr Fernmeldewesen');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2560,'GebÃ€ude an unterirdischen Leitungen');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2570,'GebÃ€ude zur Gasversorgung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2571,'Gaswerk');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2580,'Heizwerk');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2590,'GebÃ€ude zur Versorgungsanlage');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2591,'Pumpwerk (nicht fÃŒr Wasserversorgung)');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2600,'GebÃ€ude zur Entsorgung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2610,'GebÃ€ude zur Abwasserbeseitigung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2611,'GebÃ€ude der KlÃ€ranlage');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2612,'Toilette');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2620,'GebÃ€ude zur Abfallbehandlung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2621,'MÃŒllbunker');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2622,'GebÃ€ude zur MÃŒllverbrennung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2623,'GebÃ€ude der Abfalldeponie');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2700,'GebÃ€ude fÃŒr Land- und Forstwirtschaft');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2720,'Land- und forstwirtschaftliches BetriebsgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2721,'Scheune');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2723,'Schuppen');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2724,'Stall');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2726,'Scheune und Stall');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2727,'Stall fÃŒr TiergroÃhaltung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2728,'Reithalle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2729,'WirtschaftsgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2732,'AlmhÃŒtte');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2735,'Jagdhaus, JagdhÃŒtte');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2740,'Treibhaus, GewÃ€chshaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2741,'Treibhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (2742,'GewÃ€chshaus, verschiebbar');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3000,'GebÃ€ude fÃŒr Ã¶ffentliche Zwecke');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3010,'VerwaltungsgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3011,'Parlament');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3012,'Rathaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3013,'Post');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3014,'Zollamt');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3015,'Gericht');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3016,'Botschaft, Konsulat');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3017,'Kreisverwaltung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3018,'Bezirksregierung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3019,'Finanzamt');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3020,'GebÃ€ude fÃŒr Bildung und Forschung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3021,'Allgemein bildende Schule');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3022,'Berufsbildende Schule');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3023,'HochschulgebÃ€ude (Fachhochschule, UniversitÃ€t)');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3024,'Forschungsinstitut');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3030,'GebÃ€ude fÃŒr kulturelle Zwecke');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3031,'Schloss');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3032,'Theater, Oper');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3033,'KonzertgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3034,'Museum');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3035,'Rundfunk, Fernsehen');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3036,'VeranstaltungsgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3037,'Bibliothek, BÃŒcherei');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3038,'Burg, Festung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3040,'GebÃ€ude fÃŒr religiÃ¶se Zwecke');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3041,'Kirche');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3042,'Synagoge');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3043,'Kapelle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3044,'Gemeindehaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3045,'Gotteshaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3046,'Moschee');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3047,'Tempel');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3048,'Kloster');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3050,'GebÃ€ude fÃŒr Gesundheitswesen');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3051,'Krankenhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3052,'Heilanstalt, Pflegeanstalt, Pflegestation');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3053,'Ãrztehaus, Poliklinik');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3060,'GebÃ€ude fÃŒr soziale Zwecke');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3061,'Jugendfreizeitheim');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3062,'Freizeit-, Vereinsheim, Dorfgemeinschafts-, BÃŒrgerhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3063,'SeniorenfreizeitstÃ€tte');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3064,'Obdachlosenheim');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3065,'Kinderkrippe, Kindergarten, KindertagesstÃ€tte');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3066,'Asylbewerberheim');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3070,'GebÃ€ude fÃŒr Sicherheit und Ordnung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3071,'Polizei');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3072,'Feuerwehr');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3073,'Kaserne');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3074,'Schutzbunker');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3075,'Justizvollzugsanstalt');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3080,'FriedhofsgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3081,'Trauerhalle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3082,'Krematorium');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3090,'EmpfangsgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3091,'BahnhofsgebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3092,'FlughafengebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3094,'GebÃ€ude zum U-Bahnhof');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3095,'GebÃ€ude zum S-Bahnhof');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3097,'GebÃ€ude zum Busbahnhof');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3098,'EmpfangsgebÃ€ude Schifffahrt');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3100,'GebÃ€ude fÃŒr Ã¶ffentliche Zwecke mit Wohnen');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3200,'GebÃ€ude fÃŒr Erholungszwecke');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3210,'GebÃ€ude fÃŒr Sportzwecke');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3211,'Sport-, Turnhalle');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3212,'GebÃ€ude zum Sportplatz');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3220,'BadegebÃ€ude');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3221,'Hallenbad');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3222,'GebÃ€ude im Freibad');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3230,'GebÃ€ude im Stadion');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3240,'GebÃ€ude fÃŒr Kurbetrieb');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3241,'BadegebÃ€ude fÃŒr medizinische Zwecke');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3242,'Sanatorium');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3260,'GebÃ€ude im Zoo');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3261,'EmpfangsgebÃ€ude des Zoos');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3262,'Aquarium, Terrarium, Voliere');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3263,'Tierschauhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3264,'Stall im Zoo');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3270,'GebÃ€ude im botanischen Garten');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3271,'EmpfangsgebÃ€ude des botanischen Gartens');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3272,'GewÃ€chshaus (Botanik)');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3273,'Pflanzenschauhaus');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3280,'GebÃ€ude fÃŒr andere Erholungseinrichtung');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3281,'SchutzhÃŒtte');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (3290,'Touristisches Informationszentrum');
+INSERT INTO AX_GEBAEUDE_FUNKTION (WERT, BEZEICHNER) VALUES (9998,'Nach Quellenlage nicht zu spezifizieren');
+
+
+CREATE TABLE AX_GEBAEUDE_WEITEREFUNKTION (
+    WERT        integer,
+    BEZEICHNER  varchar2(2047),
+    CONSTRAINT ALKIS_KEY_2 PRIMARY KEY (WERT)
+   );
+COMMENT ON TABLE  ax_gebaeude_weiterefunktion 
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1000, 'Bankfiliale');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1010, 'Hotel');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1020, 'Jugendherberge');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1030, 'GaststÃ€tte');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1040, 'Kino');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1050, 'Spielkasino');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1060, 'Tiefgarage');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1070, 'Parkdeck');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1080, 'Toilette');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1090, 'Post');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1100, 'Zoll');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1110, 'Theater');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1120, 'Museum');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1130, 'Bibliothek');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1140, 'Kapelle');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1150, 'Moschee');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1160, 'Tempel');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1170, 'Apotheke');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1180, 'Polizeiwache');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1190, 'Rettungsstelle');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1200, 'Touristisches Informationszentrum');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1210, 'Kindergarten');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1220, 'Arztpraxis');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1230, 'Supermarkt');
+INSERT INTO AX_GEBAEUDE_WEITEREFUNKTION (WERT, BEZEICHNER) VALUES (1240, 'GeschÃ€ft');
+
+
+CREATE TABLE AX_GEBAEUDE_DACHFORM 
+   (WERT        integer, 
+    BEZEICHNER  varchar2(2047),
+    CONSTRAINT ALKIS_KEY_3 PRIMARY KEY (WERT)
+   );
+COMMENT ON TABLE  ax_gebaeude_dachform 
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_GEBAEUDE_DACHFORM (WERT, BEZEICHNER) VALUES (1000, 'Flachdach');
+INSERT INTO AX_GEBAEUDE_DACHFORM (WERT, BEZEICHNER) VALUES (2100, 'Pultdach');
+INSERT INTO AX_GEBAEUDE_DACHFORM (WERT, BEZEICHNER) VALUES (2200, 'Versetztes Pultdach');
+INSERT INTO AX_GEBAEUDE_DACHFORM (WERT, BEZEICHNER) VALUES (3100, 'Satteldach');
+INSERT INTO AX_GEBAEUDE_DACHFORM (WERT, BEZEICHNER) VALUES (3200, 'Walmdach');
+INSERT INTO AX_GEBAEUDE_DACHFORM (WERT, BEZEICHNER) VALUES (3300, 'KrÃŒppelwalmdach');
+INSERT INTO AX_GEBAEUDE_DACHFORM (WERT, BEZEICHNER) VALUES (3400, 'Mansardendach');
+INSERT INTO AX_GEBAEUDE_DACHFORM (WERT, BEZEICHNER) VALUES (3500, 'Zeltdach');
+INSERT INTO AX_GEBAEUDE_DACHFORM (WERT, BEZEICHNER) VALUES (3600, 'Kegeldach');
+INSERT INTO AX_GEBAEUDE_DACHFORM (WERT, BEZEICHNER) VALUES (3700, 'Kuppeldach');
+INSERT INTO AX_GEBAEUDE_DACHFORM (WERT, BEZEICHNER) VALUES (3800, 'Sheddach');
+INSERT INTO AX_GEBAEUDE_DACHFORM (WERT, BEZEICHNER) VALUES (3900, 'Bogendach');
+INSERT INTO AX_GEBAEUDE_DACHFORM (WERT, BEZEICHNER) VALUES (4000, 'Turmdach');
+INSERT INTO AX_GEBAEUDE_DACHFORM (WERT, BEZEICHNER) VALUES (5000, 'Mischform');
+INSERT INTO AX_GEBAEUDE_DACHFORM (WERT, BEZEICHNER) VALUES (9999, 'Sonstiges');
+
+CREATE TABLE AX_GEBAEUDE_ZUSTAND 
+   (WERT        integer, 
+    BEZEICHNER  varchar2(2047),
+    CONSTRAINT ALKIS_KEY_4 PRIMARY KEY (WERT)
+   );
+COMMENT ON TABLE  ax_gebaeude_zustand 
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_GEBAEUDE_ZUSTAND (WERT, BEZEICHNER) VALUES (1000, 'In behelfsmÃ€Ãigem Zustand');
+INSERT INTO AX_GEBAEUDE_ZUSTAND (WERT, BEZEICHNER) VALUES (2000, 'In ungenutztem Zustand');
+INSERT INTO AX_GEBAEUDE_ZUSTAND (WERT, BEZEICHNER) VALUES (2100, 'AuÃer Betrieb, stillgelegt, verlassen');
+INSERT INTO AX_GEBAEUDE_ZUSTAND (WERT, BEZEICHNER) VALUES (2200, 'Verfallen, zerstÃ¶rt');
+INSERT INTO AX_GEBAEUDE_ZUSTAND (WERT, BEZEICHNER) VALUES (2300, 'Teilweise zerstÃ¶rt');
+INSERT INTO AX_GEBAEUDE_ZUSTAND (WERT, BEZEICHNER) VALUES (3000, 'Geplant und beantragt');
+INSERT INTO AX_GEBAEUDE_ZUSTAND (WERT, BEZEICHNER) VALUES (4000, 'Im Bau');
+
+
+CREATE TABLE AX_BUCHUNGSSTELLE_BUCHUNGSART (
+   WERT integer,
+   BEZEICHNER varchar2(2047),
+   CONSTRAINT ALKIS_KEY_5 PRIMARY KEY (WERT)
+  );
+COMMENT ON TABLE  ax_buchungsstelle_buchungsart 
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (1100,'GrundstÃŒck');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (1101,'Aufgeteiltes GrundstÃŒck WEG');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (1102,'Aufgeteiltes GrundstÃŒck Par. 3 Abs. 4 GBO');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (1200,'Ungetrennter Hofraum');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (1301,'Wohnungs-/Teileigentum');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (1302,'Miteigentum Par. 3 Abs. 4 GBO');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (1303,'Anteil am ungetrennten Hofraum');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (1401,'Aufgeteilter Anteil Wohnungs-/Teileigentum');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (1402,'Aufgeteilter Anteil Miteigentum Par. 3 Abs. 4 GBO');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (1403,'Aufgeteilter Anteil am ungetrennten Hofraum');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (1501,'Anteil an Wohnungs-/Teileigentumsanteil');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (1502,'Anteil an Miteigentumsanteil Par. 3 Abs. 4 GBO');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (1503,'Anteil am Anteil zum ungetrennten Hofraum');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2101,'Erbbaurecht');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2102,'Untererbbaurecht');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2103,'GebÃ€udeeigentum');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2104,'Fischereirecht');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2105,'Bergwerksrecht');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2106,'Nutzungsrecht');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2107,'Realgewerberecht');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2108,'Gemeinderecht');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2109,'Stavenrecht');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2110,'Hauberge');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2201,'Aufgeteiltes Erbbaurecht WEG');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2202,'Aufgeteiltes Untererbbaurecht WEG');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2203,'Aufgeteiltes Recht Par. 3 Abs. 4 GBO');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2204,'Aufgeteiltes Recht, KÃ¶rperschaft');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2205,'Aufgeteiltes GebÃ€udeeigentum');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2301,'Wohnungs-/Teilerbbaurecht');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2302,'Wohnungs-/Teiluntererbbaurecht');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2303,'Erbbaurechtsanteil Par. 3 Abs. 4 GBO');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2304,'Anteiliges Recht, KÃ¶rperschaft');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2305,'Anteil am GebÃ€udeeigentum');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2401,'Aufgeteilter Anteil Wohnungs-/Teilerbbaurecht');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2402,'Aufgeteilter Anteil Wohnungs-/Teiluntererbbaurecht');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2403,'Aufgeteilter Erbbaurechtsanteil Par. 3 Abs. 4 GBO');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2404,'Aufgeteiltes anteiliges Recht, KÃ¶rperschaft');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2405,'Aufgeteilter Anteil am GebÃ€udeeigentum');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2501,'Anteil am Wohnungs-/Teilerbbaurechtsanteil');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2502,'Anteil am Wohnungs-/Teiluntererbbaurechtsanteil');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2503,'Anteil am Erbbaurechtsanteil Par. 3 Abs. 4 GBO');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2504,'Anteil am anteiligen Recht, KÃ¶rperschaft');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (2505,'Anteil am Anteil zum GebÃ€udeeigentum');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (3100,'Vermerk subjektiv dinglicher Rechte (Par. 9 GBO)');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (4100,'Stockwerkseigentum');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (5101,'Von Buchungspflicht befreit Par. 3 Abs. 2 GBO');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (5200,'AnliegerflurstÃŒck');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (5201,'Anliegerweg');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (5202,'Anliegergraben');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (5203,'Anliegerwasserlauf, AnliegergewÃ€sser');
+INSERT INTO AX_BUCHUNGSSTELLE_BUCHUNGSART (WERT, BEZEICHNER) VALUES (6101,'Nicht gebuchtes Fischereirecht');
+
+
+CREATE TABLE AX_BAURAUMODERBODENORDNUNGSKEY 
+  (WERT        integer, 
+   BEZEICHNER  varchar2(2047),
+   CONSTRAINT ALKIS_KEY_6 PRIMARY KEY (WERT)
+  );
+COMMENT ON TABLE  AX_BAURAUMODERBODENORDNUNGSKEY 
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1700,'Festlegung nach Baugesetzbuch - Allgemeines StÃ€dtebaurecht');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1710,'Bebauungsplan');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1720,'VerÃ€nderungssperre nach Baugesetzbuch');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1730,'Vorkaufrechtssatzung');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1740,'Enteignungsverfahren');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1750,'Umlegung nach dem BauGB');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1760,'Bauland');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1770,'Vereinfachte Umlegung');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1780,'Vorhaben- und ErschlieÃungsplan');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1790,'FlÃ€chennutzungsplan');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1800,'Festlegung nach Baugesetzbuch - Besonderes StÃ€dtebaurecht');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1810,'StÃ€dtebauliche EntwicklungsmaÃnahme');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1811,'StÃ€dtebauliche EntwicklungsmaÃnahme (Beschluss zu vorbereitenden Untersuchungen gefasst)');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1820,'Erhaltungssatzung');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1821,'StÃ€dtebauliches Erhaltungsgebiet');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1822,'Soziales Erhaltungsgebiet');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1823,'Erhaltungsgebiet zur stÃ€dtebaulichen Umstrukturierung');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1824,'Soziales Erhaltungsgebiet (Aufstellungsbeschluss gefasst)');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1830,'StÃ€dtebauliche Gebote');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1840,'Sanierung');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1841,'Sanierung (Beschluss zu vorbereitenden Untersuchungen gefasst)');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (1900,'WOHNUNGSBAUERLEICHTERUNGSGESET');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2100,'Flurbereinigungsgesetz');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2110,'Flurbereinigung (Par. 1, 37 FlurbG)');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2120,'Vereinfachtes Flurbereinigungsverfahren (Par. 86 FlurbG)');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2130,'Unternehmensflurbereinigung (nach Par. 87 oder 90 FlurbG)');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2140,'Beschleunigtes Zusammenlegungsverfahren (Par. 91 FlurbG)');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2150,'Freiwilliger Landtausch (Par. 103a FlurbG)');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2160,'Verfahren nach dem Gemeinheitsteilungsgesetz');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2170,'Verfahren nach dem Gemeinschaftswaldgesetz');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2180,'Freiwilliger Nutzungstausch');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2200,'Verfahren nach dem LANDWIRTSCHAFTSANPASSUNGSGESET');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2210,'Flurneuordnung');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2220,'Freiwilliger Landtausch (Par. 54 LwAnpG)');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2230,'Bodenordnungsverfahren (Par. 56 LwAnpG)');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2240,'ZusammenfÃŒhrung von Boden- und GebÃ€udeeigentum (Par. 64 LwAnpG)');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2300,'Bodensonderungsgesetz');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2310,'Unvermessenes Eigentum');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2320,'Unvermessenes Nutzungsrecht');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2330,'ErgÃ€nzende Bodenneuordnung');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2340,'Komplexe Bodenneuordnung');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2400,'VermÃ¶genszuordnungsgesetz');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2410,'VermÃ¶genszuordnung nach Plan');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2411,'VermÃ¶genszuordnung nach dem Aufteilungsplan');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2412,'VermÃ¶genszuordnung nach dem Zuordnungsplan');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2500,'Landesraumordnungsgesetz');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2510,'Wasservorranggebiete');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2600,'Bauordnung');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2610,'Baulast');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2611,'BegÃŒnstigende Baulast');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2612,'Belastende Baulast');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2700,'Grenzfeststellungsverfahren nach Hamb. Wassergesetz');
+INSERT INTO AX_BAURAUMODERBODENORDNUNGSKEY (WERT, BEZEICHNER) VALUES (2800,'VerkehrsflÃ€chenbereinigung');
+
+CREATE TABLE AX_BODENSCHAETZUNG_KULTURART (
+    WERT integer,
+    BEZEICHNER varchar2(2047),
+    CONSTRAINT ALKIS_KEY_7  PRIMARY KEY (WERT)
+  );
+COMMENT ON TABLE ax_bodenschaetzung_kulturart 
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_BODENSCHAETZUNG_KULTURART (WERT, BEZEICHNER) VALUES (1000,'Ackerland (A)');
+INSERT INTO AX_BODENSCHAETZUNG_KULTURART (WERT, BEZEICHNER) VALUES (2000,'Acker-GrÃŒnland (AGr)');
+INSERT INTO AX_BODENSCHAETZUNG_KULTURART (WERT, BEZEICHNER) VALUES (3000,'GrÃŒnland (Gr)');
+INSERT INTO AX_BODENSCHAETZUNG_KULTURART (WERT, BEZEICHNER) VALUES (4000,'GrÃŒnland-Acker (GrA)');
+
+
+CREATE TABLE AX_BODENSCHAETZUNG_BODENART (
+    WERT integer,
+    BEZEICHNER varchar2(2047),
+    CONSTRAINT ALKIS_KEY_8  PRIMARY KEY (WERT)
+  );
+COMMENT ON TABLE ax_bodenschaetzung_bodenart 
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (1100,'Sand (S)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (2100,'Lehmiger Sand (lS)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (3100,'Lehm (L)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (4100,'Ton (T)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (5000,'Moor (Mo)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (1200,'Anlehmiger Sand (Sl)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (2200,'Stark lehmiger Sand (SL)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (3200,'Sandiger Lehm (sL)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (4200,'Schwerer Lehm (LT)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (6110,'Sand, Moor (SMo)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (6120,'Lehmiger Sand, Moor (lSMo)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (6130,'Lehm, Moor (LMo)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (6140,'Ton, Moor (TMo)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (6210,'Moor,Sand (MoS)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (6220,'Moor, Lehmiger Sand (MolS)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (6230,'Moor, Lehm (MoL)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (6240,'Moor, Ton (MoT)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7110,'Sand auf sandigem Lehm (S/sL)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7130,'Sand auf schwerem Lehm (S/LT)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7210,'Anlehmiger Sand auf Lehm (Sl/L)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7220,'Anlehmiger Sand auf schwerem Lehm (Sl/LT)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7230,'Anlehmiger Sand auf Ton (Sl/T)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7310,'Lehmiger Sand auf schwerem Lehm (lS/LT)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7320,'Lehmiger Sand auf Sand (lS/S)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7400,'Stark lehmiger Sand auf Ton (SL/T)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7510,'Ton auf stark lehmigen Sand (T/SL)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7530,'Ton auf anlehmigen Sand (T/Sl)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7610,'Schwerer Lehm auf lehmigen Sand (LT/lS)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7620,'Schwerer Lehm auf anlehmigen Sand (LT/Sl)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7630,'Schwerer Lehm auf Sand (LT/S)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7710,'Lehm auf anlehmigen Sand (L/Sl)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7800,'Sandiger Lehm auf Sand (sL/S)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7120,'Sand auf Lehm (S/L)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7140,'Sand auf Ton (S/T)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7330,'Lehmiger Sand auf Ton (lS/T)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7520,'Ton auf lehmigen Sand (T/lS)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7540,'Ton auf Sand (T/S)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (7720,'Lehm auf Sand (L/S)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (8110,'Sand auf Moor (S/Mo)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (8120,'Lehmiger Sand auf Moor (lS/Mo)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (8130,'Lehm auf Moor (L/Mo)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (8140,'Ton auf Moor (T/Mo)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (8210,'Moor auf Sand (Mo/S)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (8220,'Moor auf lehmigen Sand (Mo/lS)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (8230,'Moor auf Lehm (Mo/L)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (8240,'Moor auf Ton (Mo/T)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9120,'Bodenwechsel vom Lehm zu Moor (L+Mo)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9130,'Lehmiger Sand mit starkem Steingehalt (lSg)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9140,'Lehm mit starkem Steingehalt (Lg)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9150,'lehmiger Sand mit Steinen und BlÃ¶cken (lS+St)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9160,'Lehm mit Steinen und BlÃ¶cken L+St)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9170,'Steine und BlÃ¶cke mit  lehmigem Sand (St+lS)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9180,'Steine und BlÃ¶cke mit  Lehm (St+L)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9190,'lehmiger Sand mit Felsen (lS+Fe)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9200,'Lehm mit Felsen (L+Fe)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9210,'Felsen mit lehmigem Sand (Fe+lS)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9220,'Felsen mit Lehm (Fe+L)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9310,'Sand auf lehmigen Sand (S/lS)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9320,'Anlehmiger Sand auf Mergel (Sl/Me)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9330,'Anlehmiger Sand auf sandigem Lehm (Sl/sL)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9340,'Lehmiger Sand auf Lehm (lS/L)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9350,'Lehmiger Sand auf Mergel (lS/Me)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9360,'Lehmiger Sand auf sandigem Lehm (lS/sL)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9370,'Lehmiger Sand, Mergel (lSMe)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9380,'Lehmiger Sand, Moor auf Mergel (lSMo/Me)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9390,'Anlehmiger Sand, Moor (SlMo)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9410,'Lehm auf Mergel (L/Me)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9420,'Lehm, Moor auf Mergel (LMo/Me)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9430,'Schwerer Lehm auf Moor (LT/Mo)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9440,'Ton auf Mergel (T/Me)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9450,'Moor auf Mergel (Mo/Me)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9460,'Moor, Lehm auf Mergel (MoL/Me)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9470,'Moor, Mergel (MoMe)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9480,'LÃ¶ÃDiluvium(LÃ¶D)');
+INSERT INTO AX_BODENSCHAETZUNG_BODENART (WERT, BEZEICHNER) VALUES (9490,'AlluviumDiluvium(AlD)');
+
+
+CREATE TABLE AX_BODENSCHAETZUNG_ZUSTANDSSTU (
+    WERT integer,
+    BEZEICHNER varchar2(2047),
+    CONSTRAINT ALKIS_KEY_9  PRIMARY KEY (WERT)
+  );
+COMMENT ON TABLE AX_BODENSCHAETZUNG_ZUSTANDSSTU 
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_BODENSCHAETZUNG_ZUSTANDSSTU (BEZEICHNER,WERT) VALUES ('Zustandsstufe (1)',1100);
+INSERT INTO AX_BODENSCHAETZUNG_ZUSTANDSSTU (BEZEICHNER,WERT) VALUES ('Zustandsstufe (2)',1200);
+INSERT INTO AX_BODENSCHAETZUNG_ZUSTANDSSTU (BEZEICHNER,WERT) VALUES ('Zustandsstufe (3)',1300);
+INSERT INTO AX_BODENSCHAETZUNG_ZUSTANDSSTU (BEZEICHNER,WERT) VALUES ('Zustandsstufe (4)',1400);
+INSERT INTO AX_BODENSCHAETZUNG_ZUSTANDSSTU (BEZEICHNER,WERT) VALUES ('Zustandsstufe (5)',1500);
+INSERT INTO AX_BODENSCHAETZUNG_ZUSTANDSSTU (BEZEICHNER,WERT) VALUES ('Zustandsstufe (6)',1600);
+INSERT INTO AX_BODENSCHAETZUNG_ZUSTANDSSTU (BEZEICHNER,WERT) VALUES ('Zustandsstufe (7)',1700);
+INSERT INTO AX_BODENSCHAETZUNG_ZUSTANDSSTU (BEZEICHNER,WERT) VALUES ('Zustandsstufe Misch- und SchichtbÃ¶den sowie kÃŒnstlichverÃ€nderte BÃ¶den (-)',1800);
+INSERT INTO AX_BODENSCHAETZUNG_ZUSTANDSSTU (BEZEICHNER,WERT) VALUES ('Bodenstufe (I)',2100);
+INSERT INTO AX_BODENSCHAETZUNG_ZUSTANDSSTU (BEZEICHNER,WERT) VALUES ('Bodenstufe (II)',2200);
+INSERT INTO AX_BODENSCHAETZUNG_ZUSTANDSSTU (BEZEICHNER,WERT) VALUES ('Bodenstufe (III)',2300);
+INSERT INTO AX_BODENSCHAETZUNG_ZUSTANDSSTU (BEZEICHNER,WERT) VALUES ('Bodenstufe Misch- und SchichtbÃ¶den sowie kÃŒnstlich verÃ€nderte BÃ¶den (-)',2400);
+INSERT INTO AX_BODENSCHAETZUNG_ZUSTANDSSTU (BEZEICHNER,WERT) VALUES ('Bodenstufe (II+III)',3100);
+INSERT INTO AX_BODENSCHAETZUNG_ZUSTANDSSTU (BEZEICHNER,WERT) VALUES ('Bodenstufe ("(III)")',3200);
+INSERT INTO AX_BODENSCHAETZUNG_ZUSTANDSSTU (BEZEICHNER,WERT) VALUES ('Bodenstufe (IV)',3300);
+
+
+CREATE TABLE AX_MUSTERLANDESMUSTERUNDVERKEY (
+    WERT integer,
+    BEZEICHNER varchar2(2047),
+    CONSTRAINT ALKIS_KEY_10  PRIMARY KEY (WERT)
+  );
+COMMENT ON TABLE AX_MUSTERLANDESMUSTERUNDVERKEY 
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_MUSTERLANDESMUSTERUNDVERKEY (WERT,BEZEICHNER) VALUES (1000,'MusterstÃŒck (M)');
+INSERT INTO AX_MUSTERLANDESMUSTERUNDVERKEY (WERT,BEZEICHNER) VALUES (2000,'LandesmusterstÃŒck (L)');
+INSERT INTO AX_MUSTERLANDESMUSTERUNDVERKEY (WERT,BEZEICHNER) VALUES (3000,'VergleichsstÃŒck (V)');
+
+
+CREATE TABLE AX_GRABLOCHDERBODENSCHAETZUNG_ (
+    WERT integer,
+    BEZEICHNER varchar2(2047),
+    CONSTRAINT ALKIS_KEY_11  PRIMARY KEY (WERT)
+  );
+COMMENT ON TABLE AX_GRABLOCHDERBODENSCHAETZUNG_
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_GRABLOCHDERBODENSCHAETZUNG_ (WERT,BEZEICHNER) VALUES (1100,'Grabloch, bestimmend, lagerichtig (innerhalb der FlÃ€che)');
+INSERT INTO AX_GRABLOCHDERBODENSCHAETZUNG_ (WERT,BEZEICHNER) VALUES (1200,'Grabloch, bestimmend, lagerichtig (auÃerhalb des Abschnitts)');
+INSERT INTO AX_GRABLOCHDERBODENSCHAETZUNG_ (WERT,BEZEICHNER) VALUES (1300,'Grabloch, nicht lagerichtig, im Abschnitt nicht vorhanden');
+INSERT INTO AX_GRABLOCHDERBODENSCHAETZUNG_ (WERT,BEZEICHNER) VALUES (2000,'Grabloch fÃŒr Muster-, Landesmuster-, VergleichsstÃŒck');
+INSERT INTO AX_GRABLOCHDERBODENSCHAETZUNG_ (WERT,BEZEICHNER) VALUES (3000,'Grabloch, nicht bestimmend');
+
+
+CREATE TABLE AX_FORSTRECHT_ARTDERFESTLEGUNG(
+    WERT integer,
+    BEZEICHNER varchar2(2047),
+    CONSTRAINT ALKIS_KEY_12  PRIMARY KEY (WERT)
+  );
+COMMENT ON TABLE ax_forstrecht_artderfestlegung
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_FORSTRECHT_ARTDERFESTLEGUNG (BEZEICHNER, WERT) VALUES('Klassifizierung nach Bundes- oder Landeswaldgesetz',3900);
+INSERT INTO AX_FORSTRECHT_ARTDERFESTLEGUNG (BEZEICHNER, WERT) VALUES('Staatswald Bund',3910);
+INSERT INTO AX_FORSTRECHT_ARTDERFESTLEGUNG (BEZEICHNER, WERT) VALUES('Staatswald Land',3920);
+INSERT INTO AX_FORSTRECHT_ARTDERFESTLEGUNG (BEZEICHNER, WERT) VALUES('Kommunalwald',3930);
+INSERT INTO AX_FORSTRECHT_ARTDERFESTLEGUNG (BEZEICHNER, WERT) VALUES('Anstalts- und Stiftungswald',3940);
+INSERT INTO AX_FORSTRECHT_ARTDERFESTLEGUNG (BEZEICHNER, WERT) VALUES('Anderer Ã¶ffentlicher Wald',3950);
+INSERT INTO AX_FORSTRECHT_ARTDERFESTLEGUNG (BEZEICHNER, WERT) VALUES('Privater Gemeinschaftswald',3960);
+INSERT INTO AX_FORSTRECHT_ARTDERFESTLEGUNG (BEZEICHNER, WERT) VALUES('GroÃprivatwald',3970);
+INSERT INTO AX_FORSTRECHT_ARTDERFESTLEGUNG (BEZEICHNER, WERT) VALUES('Kleinprivatwald',3980);
+INSERT INTO AX_FORSTRECHT_ARTDERFESTLEGUNG (BEZEICHNER, WERT) VALUES('Anderer Privatwald',3990);
+
+
+CREATE TABLE AX_FORSTRECHT_BESONDEREFUNKTIO(
+    WERT integer,
+    BEZEICHNER varchar2(2047),
+    CONSTRAINT ALKIS_KEY_13  PRIMARY KEY (WERT)
+  );
+COMMENT ON TABLE AX_FORSTRECHT_BESONDEREFUNKTIO
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_FORSTRECHT_BESONDEREFUNKTIO (BEZEICHNER, WERT) VALUES('Ohne besondere gesetzliche Bindung',1000);
+INSERT INTO AX_FORSTRECHT_BESONDEREFUNKTIO (BEZEICHNER, WERT) VALUES('Ohne besondere gesetzliche Bindung nach LWaldG- Holzboden',1010);
+INSERT INTO AX_FORSTRECHT_BESONDEREFUNKTIO (BEZEICHNER, WERT) VALUES('Schutzwald',2000);
+INSERT INTO AX_FORSTRECHT_BESONDEREFUNKTIO (BEZEICHNER, WERT) VALUES('Schutzwald - Holzboden',2010);
+INSERT INTO AX_FORSTRECHT_BESONDEREFUNKTIO (BEZEICHNER, WERT) VALUES('Erholungswald',3000);
+INSERT INTO AX_FORSTRECHT_BESONDEREFUNKTIO (BEZEICHNER, WERT) VALUES('Erholungswald - Holzboden',3010);
+INSERT INTO AX_FORSTRECHT_BESONDEREFUNKTIO (BEZEICHNER, WERT) VALUES('Bannwald',4000);
+INSERT INTO AX_FORSTRECHT_BESONDEREFUNKTIO (BEZEICHNER, WERT) VALUES('Nationalpark - Holzboden',4010);
+INSERT INTO AX_FORSTRECHT_BESONDEREFUNKTIO (BEZEICHNER, WERT) VALUES('Naturschutzgebiet - Holzboden',5010);
+INSERT INTO AX_FORSTRECHT_BESONDEREFUNKTIO (BEZEICHNER, WERT) VALUES('Schutz- und Erholungswald',6000);
+INSERT INTO AX_FORSTRECHT_BESONDEREFUNKTIO (BEZEICHNER, WERT) VALUES('Schutz- und Erholungswald - Holzboden',6010);
+INSERT INTO AX_FORSTRECHT_BESONDEREFUNKTIO (BEZEICHNER, WERT) VALUES('Nationalpark - Nichtholzboden',7010);
+INSERT INTO AX_FORSTRECHT_BESONDEREFUNKTIO (BEZEICHNER, WERT) VALUES('Naturschutzgebiet - Nichtholzboden',8010);
+INSERT INTO AX_FORSTRECHT_BESONDEREFUNKTIO (BEZEICHNER, WERT) VALUES('Andere ForstbetriebsflÃ€che',9000);
+INSERT INTO AX_FORSTRECHT_BESONDEREFUNKTIO (BEZEICHNER, WERT) VALUES('Nichtholzboden',9010);
+INSERT INTO AX_FORSTRECHT_BESONDEREFUNKTIO (BEZEICHNER, WERT) VALUES('Sonstiges',9999);
+
+
+CREATE TABLE AX_BODENSCHAETZUNG_ENTSTEHUNGS(
+    WERT integer,
+    BEZEICHNER varchar2(2047),
+    CONSTRAINT ALKIS_KEY_14 PRIMARY KEY (WERT)
+  );
+COMMENT ON TABLE AX_BODENSCHAETZUNG_ENTSTEHUNGS
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Diluvium (D)',1000);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Diluvium ÃŒber Alluvium (DAl)',1100);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Diluvium ÃŒber LÃ¶Ã (DLÃ¶)',1200);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Diluvium ÃŒber Verwitterung (DV)',1300);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Diluvium, gesteinig (Dg)',1400);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Diluvium, gesteinig ÃŒber Alluvium (DgAl)',1410);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Diluvium, gesteinig ÃŒber LÃ¶Ã (DgLÃ¶)',1420);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Diluvium, gesteinig ÃŒber Verwitterung (DgV)',1430);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('LÃ¶Ã (LÃ¶)',2000);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('LÃ¶Ã ÃŒber Diluvium (LÃ¶D)',2100);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('LÃ¶Ã, Diluvium, GesteinsbÃ¶den (LÃ¶Dg)',2110);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('LÃ¶Ã, Diluvium, Verwitterung (LÃ¶DV)',2120);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('LÃ¶Ã ÃŒber Alluvium (LÃ¶Al)',2200);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('LÃ¶Ã ÃŒber Verwitterung (LÃ¶V)',2300);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('LÃ¶Ã, Verwitterung, GesteinsbÃ¶den (LÃ¶Vg)',2310);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('LÃ¶Ã ÃŒber Verwitterung, gesteinig (LÃ¶Vg)',2400);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Alluvium (Al)',3000);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Alluvium ÃŒber Diluvium (AlD)',3100);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Alluvium ÃŒber LÃ¶Ã (AlLÃ¶)',3200);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Alluvium ÃŒber Verwitterung (AlV)',3300);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Alluvium, gesteinig (Alg)',3400);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Alluvium, gesteinig ÃŒber Diluvium (AlgD)',3410);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Alluvium, gesteinig ÃŒber LÃ¶Ã (AlgLÃ¶)',3420);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Alluvium, gesteinig ÃŒber Verwitterung (AlgV)',3430);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Alluvium, Marsch (AlMa)',3500);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Alluvium, Moor (AlMo)',3610);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Moor, Alluvium (MoAI)',3620);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Mergel (Me)',3700);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Verwitterung (V)',4000);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Verwitterung ÃŒber Diluvium (VD)',4100);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Verwitterung ÃŒber Alluvium (VAl)',4200);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Verwitterung ÃŒber LÃ¶Ã (VLÃ¶)',4300);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Verwitterung, GesteinsbÃ¶den (Vg)',4400);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Verwitterung, GesteinsbÃ¶den ÃŒber Diluvium (VgD)',4410);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Entstehungsart nicht erkennbar (-)',5000);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Klimastufe 8Â° C und darÃŒber (a)',6100);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Klimastufe 7,9Â° - 7,0Â° C (b)',6200);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Klimastufe 6,9Â° - 5,7Â° C (c)',6300);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Klimastufe 5,6Â° C und darunter (d)',6400);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Wasserstufe (1)',7100);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Wasserstufe (2)',7200);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Wasserstufe (3)',7300);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Wasserstufe (4)',7400);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Wasserstufe (4-)',7410);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Wasserstufe (5)',7500);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Wasserstufe (5-)',7510);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Wasserstufe (3-)',7520);
+INSERT INTO AX_BODENSCHAETZUNG_ENTSTEHUNGS (BEZEICHNER, WERT) VALUES('Wasserstufe (3+4)',7530);
+
+
+CREATE TABLE AX_DATENERHEBUNG (
+    WERT integer,
+    BEZEICHNER varchar2(2047),
+    CONSTRAINT ALKIS_KEY_15 PRIMARY KEY (WERT)
+  );
+COMMENT ON TABLE ax_datenerhebung
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus Katastervermessung ermittelt', 1000);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aufgrund Anforderungen mit Netzanschluss ermittelt', 1100);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aufgrund Anforderungen mit Bezug zur FlurstÃŒcksgrenze ermittelt', 1200);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus sonstiger Vermessung ermittelt', 1900);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus Luftbildmessung oder Fernerkundungsdaten ermittelt', 2000);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus Katasterunterlagen und Karten fÃŒr graphische Zwecke ermittelt', 4000);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus Katasterzahlen fÃŒr graphische Zwecke ermittelt', 4100);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus Katasterkarten digitalisiert', 4200);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus Katasterkarten digitalisiert, KartenmaÃstab M grÃ¶Ãer gleich 1 zu 1000', 4210);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus Katasterkarten digitalisiert, KartenmaÃstab 1 zu 1000 grÃ¶Ãer M grÃ¶Ãer gleich 1 zu 2000', 4220);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus Katasterkarten digitalisiert, KartenmaÃstab 1 zu 2000 grÃ¶Ãer M grÃ¶Ãer gleich 1 zu 3000', 4230);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus Katasterkarten digitalisiert, KartenmaÃstab 1 zu 3000 grÃ¶Ãer M grÃ¶Ãer gleich 1 zu 5000', 4240);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus Katasterkarten digitalisiert, KartenmaÃstab 1 zu 5000 grÃ¶Ãer M', 4250);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus sonstigen Unterlagen digitalisiert', 4300);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus sonstigen Unterlagen digitalisiert, KartenmaÃstab M grÃ¶Ãer gleich 1 zu 1000', 4310);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus sonstigen Unterlagen digitalisiert, KartenmaÃstab 1 zu 1000 grÃ¶Ãer M grÃ¶Ãer gleich 1 zu 2000', 4320);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus sonstigen Unterlagen digitalisiert, KartenmaÃstab 1 zu 2000 grÃ¶Ãer M grÃ¶Ãer gleich 1 zu 3000', 4330);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus sonstigen Unterlagen digitalisiert, KartenmaÃstab 1 zu 3000 grÃ¶Ãer M grÃ¶Ãer gleich 1 zu 5000', 4340);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus sonstigen Unterlagen digitalisiert, KartenmaÃstab 1 zu 5000 grÃ¶Ãer M', 4350);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus sonstigen Unterlagen digitalisiert, mit sonstigen geometrischen Bedingungen und bzw. oder Homogenisierung (M grÃ¶Ãer gleich 1 zu 1000)', 4360);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus sonstigen Unterlagen digitalisiert, mit Berechnung oder Abstandsbedingung (M grÃ¶Ãer gleich 1 zu 1000)', 4370);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus sonstigen Unterlagen digitalisiert, mit sonstigen geometrischen Bedingungen und bzw. oder Homogenisierung (M kleiner 1 zu 1000)', 4380);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Aus sonstigen Unterlagen digitalisiert, mit Berechnung oder Abstandsbedingungen (M kleiner 1 zu 1000)', 4390);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Nach Quellenlage nicht zu spezifizieren', 9998);
+INSERT INTO AX_DATENERHEBUNG (BEZEICHNER, WERT) VALUES('Sonstiges', 9999);
+
+
+CREATE TABLE AX_SONSTIGESBAUWERK_FUNKTION(
+    WERT integer,
+    BEZEICHNER varchar2(2047),
+    CONSTRAINT ALKIS_KEY_16 PRIMARY KEY (WERT)
+  );
+COMMENT ON TABLE AX_SONSTIGESBAUWERK_FUNKTION
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Ãberdachung',1610);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Carport',1611);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Treppe',1620);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Freitreppe',1621);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Rolltreppe',1622);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Treppenunterkante',1630);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Kellereingang',1640);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Rampe',1650);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Terrasse',1670);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Mauer',1700);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Mauerkante, rechts',1701);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Mauerkante, links',1702);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Mauermitte',1703);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('StÃŒtzmauer',1720);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('StÃŒtzmauer, rechts',1721);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('StÃŒtzmauer, links',1722);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('StÃŒtzmauermitte',1723);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Zaun',1740);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Denkmal, Denkstein, Standbild',1750);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Bildstock, Wegekreuz, Gipfelkreuz',1760);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Bildstock',1761);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Wegekreuz',1762);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Gipfelkreuz',1763);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Meilenstein, historischer Grenzstein',1770);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Brunnen',1780);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Brunnen (Trinkwasserversorgung)',1781);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Springbrunnen, Zierbrunnen',1782);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Ziehbrunnen',1783);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Spundwand',1790);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('HÃ¶ckerlinie',1791);
+INSERT INTO AX_SONSTIGESBAUWERK_FUNKTION (BEZEICHNER, WERT) VALUES ('Sonstiges',9999);
+
+CREATE TABLE AX_BAUTEIL_BAUART (
+WERT integer, 
+BEZEICHNER varchar2(2047),  
+kennung integer, objektart varchar2(2047));
+COMMENT ON TABLE ax_bauteil_bauart
+IS 'SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (1100,'Geringergeschossiger GebÃ€udeteil',31002,'ax_bauteil');
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (1200,'HÃ¶hergeschossiger GebÃ€udeteil (nicht Hochhaus)',31002,'ax_bauteil');
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (1300,'HochhausgebÃ€udeteil',31002,'ax_bauteil');
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (1400,'Abweichende GeschosshÃ¶he',31002,'ax_bauteil');
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (2000,'Keller',31002,'ax_bauteil');
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (2100,'Tiefgarage',31002,'ax_bauteil');
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (2300,'Loggia',31002,'ax_bauteil');
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (2350,'Wintergarten',31002,'ax_bauteil');
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (2400,'Arkade',31002,'ax_bauteil');
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (2500,'Auskragende/zurÃŒckspringende Geschosse',31002,'ax_bauteil');
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (2510,'Auskragende Geschosse',31002,'ax_bauteil');
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (2520,'ZurÃŒckspringende Geschosse',31002,'ax_bauteil');
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (2610,'Durchfahrt im GebÃ€ude',31002,'ax_bauteil');
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (2620,'Durchfahrt an ÃŒberbauter VerkehrsstraÃe',31002,'ax_bauteil');
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (2710,'Schornstein im GebÃ€ude',31002,'ax_bauteil');
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (2720,'Turm im GebÃ€ude',31002,'ax_bauteil');
+INSERT INTO AX_BAUTEIL_BAUART (WERT, BEZEICHNER,kennung,objektart) VALUES (9999,'Sonstiges',31002,'ax_bauteil');
+
+CREATE TABLE AX_KLASSIFIZIERUNGNACHSTRASKEY (
+WERT integer, 
+BEZEICHNER varchar2(2047),  
+kennung integer, objektart varchar2(2047));
+COMMENT ON TABLE AX_KLASSIFIZIERUNGNACHSTRASKEY
+IS 'artderfestlegung - SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_KLASSIFIZIERUNGNACHSTRASKEY (BEZEICHNER, WERT) VALUES ('Klassifizierung nach Bundes- oder LandesstraÃengesetz',1100);
+INSERT INTO AX_KLASSIFIZIERUNGNACHSTRASKEY (BEZEICHNER, WERT) VALUES ('Bundesautobahn',1110);
+INSERT INTO AX_KLASSIFIZIERUNGNACHSTRASKEY (BEZEICHNER, WERT) VALUES ('BundesstraÃe',1120);
+INSERT INTO AX_KLASSIFIZIERUNGNACHSTRASKEY (BEZEICHNER, WERT) VALUES ('Landes- oder StaatsstraÃe',1130);
+INSERT INTO AX_KLASSIFIZIERUNGNACHSTRASKEY (BEZEICHNER, WERT) VALUES ('KreisstraÃe',1140);
+INSERT INTO AX_KLASSIFIZIERUNGNACHSTRASKEY (BEZEICHNER, WERT) VALUES ('GemeindestraÃe',1150);
+INSERT INTO AX_KLASSIFIZIERUNGNACHSTRASKEY (BEZEICHNER, WERT) VALUES ('OrtsstraÃe',1160);
+INSERT INTO AX_KLASSIFIZIERUNGNACHSTRASKEY (BEZEICHNER, WERT) VALUES ('GemeindeverbindungsstraÃe',1170);
+INSERT INTO AX_KLASSIFIZIERUNGNACHSTRASKEY (BEZEICHNER, WERT) VALUES ('Sonstige Ã¶ffentliche StraÃe',1180);
+INSERT INTO AX_KLASSIFIZIERUNGNACHSTRASKEY (BEZEICHNER, WERT) VALUES ('PrivatstraÃe',1190);
+
+
+CREATE TABLE AX_KLASSIFIZIERUNGNACHWASSEKEY (
+WERT integer, 
+BEZEICHNER varchar2(2047),  
+kennung integer, objektart varchar2(2047));
+COMMENT ON TABLE AX_KLASSIFIZIERUNGNACHWASSEKEY
+IS 'artderfestlegung - SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_KLASSIFIZIERUNGNACHWASSEKEY (BEZEICHNER, WERT) VALUES ('Klassifizierung nach Bundes- oder Landeswassergesetz',1300);
+INSERT INTO AX_KLASSIFIZIERUNGNACHWASSEKEY (BEZEICHNER, WERT) VALUES ('GewÃ€sser I. Ordnung - BundeswasserstraÃe',1310);
+INSERT INTO AX_KLASSIFIZIERUNGNACHWASSEKEY (BEZEICHNER, WERT) VALUES ('GewÃ€sser I. Ordnung - nach Landesrecht',1320);
+INSERT INTO AX_KLASSIFIZIERUNGNACHWASSEKEY (BEZEICHNER, WERT) VALUES ('GewÃ€sser II. Ordnung',1330);
+INSERT INTO AX_KLASSIFIZIERUNGNACHWASSEKEY (BEZEICHNER, WERT) VALUES ('GewÃ€sser III. Ordnung',1340);
+
+
+CREATE TABLE AX_ANDEREFESTLEGUNGNACHSTRASSE (
+WERT integer, 
+BEZEICHNER varchar2(2047),  
+kennung integer, objektart varchar2(2047));
+COMMENT ON TABLE AX_ANDEREFESTLEGUNGNACHSTRASSE
+IS 'artderfestlegung - SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_ANDEREFESTLEGUNGNACHSTRASSE (BEZEICHNER, WERT) VALUES ('BundesfernstraÃengesetz',1210);
+INSERT INTO AX_ANDEREFESTLEGUNGNACHSTRASSE (BEZEICHNER, WERT) VALUES ('Anbauverbot',1220);
+INSERT INTO AX_ANDEREFESTLEGUNGNACHSTRASSE (BEZEICHNER, WERT) VALUES ('Anbauverbot nach BundesfernstraÃengesetz',1230);
+INSERT INTO AX_ANDEREFESTLEGUNGNACHSTRASSE (BEZEICHNER, WERT) VALUES ('Anbauverbot (40m)',1231);
+INSERT INTO AX_ANDEREFESTLEGUNGNACHSTRASSE (BEZEICHNER, WERT) VALUES ('Anbauverbot (20m)',1232);
+INSERT INTO AX_ANDEREFESTLEGUNGNACHSTRASSE (BEZEICHNER, WERT) VALUES ('AnbaubeschrÃ€nkung',1240);
+INSERT INTO AX_ANDEREFESTLEGUNGNACHSTRASSE (BEZEICHNER, WERT) VALUES ('AnbaubeschrÃ€nkung (100m)',1241);
+INSERT INTO AX_ANDEREFESTLEGUNGNACHSTRASSE (BEZEICHNER, WERT) VALUES ('AnbaubeschrÃ€nkung (40m)',1242);
+INSERT INTO AX_ANDEREFESTLEGUNGNACHSTRASSE (BEZEICHNER, WERT) VALUES ('VerÃ€nderungssperre nach BundesfernstraÃengesetz',1250);
+INSERT INTO AX_ANDEREFESTLEGUNGNACHSTRASSE (BEZEICHNER, WERT) VALUES ('LandesstraÃengesetz',1260);
+INSERT INTO AX_ANDEREFESTLEGUNGNACHSTRASSE (BEZEICHNER, WERT) VALUES ('VerÃ€nderungssperre',1280);
+
+CREATE TABLE AX_NATURUMWELTODERBODENSCHUTZR (
+WERT integer, 
+BEZEICHNER varchar2(2047),  
+kennung integer, objektart varchar2(2047));
+COMMENT ON TABLE AX_NATURUMWELTODERBODENSCHUTZR
+IS 'artderfestlegung - SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('SchutzflÃ€che nach Europarecht',610);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Flora-Fauna-Habitat-Gebiet',611);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Vogelschutzgebiet',612);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('SchutzflÃ€chen nach Landesnaturschutzgesetz',620);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Naturschutzgebiet',621);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('GeschÃŒtzter Landschaftsbestandteil',622);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Landschaftsschutzgebiet',623);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Naturpark',624);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Bundesbodenschutzgesetz',630);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('VerdachtsflÃ€che auf schÃ€dliche BodenverÃ€nderung',631);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('SchÃ€dliche BodenverÃ€nderung',632);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('AltlastenverdÃ€chtige FlÃ€che',633);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Altlast',634);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Bundesimmisionsschutzgesetz',640);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Belastungsgebiet',641);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('SchutzbedÃŒrftiges Gebiet',642);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('GefÃ€hrdetes Gebiet',643);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Naturschutzgesetz',650);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Besonders geschÃŒtztes Biotop',651);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Besonders geschÃŒtztes FeuchtgrÃŒnland',652);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Naturdenkmal',653);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Einstweilige Sicherstellung, VerÃ€nderungssperre',654);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Vorkaufsrecht',655);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Ausgleichs- oder KompensationsflÃ€che',656);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Bodenschutzgesetz',660);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('DauerbeobachtungsflÃ€chen',661);
+INSERT INTO AX_NATURUMWELTODERBODENSCHUTZR (BEZEICHNER, WERT) VALUES ('Bodenschutzgebiet',662);
+
+
+CREATE TABLE AX_DENKMALSCHUTZRECHT_ARTDF (
+WERT integer, 
+BEZEICHNER varchar2(2047),  
+kennung integer, objektart varchar2(2047));
+COMMENT ON TABLE ax_denkmalschutzrecht_artdf
+IS 'artderfestlegung - SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Kulturdenkmal',2700);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Bau- und Kunstdenkmal nach Landesdenkmalschutzgesetz',2710);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Baudenkmal',2711);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Kunstdenkmal',2712);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Gartendenkmal',2713);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('ArchÃ€ologisches Denkmal (auch Bodendenkmal) nach Landesdenkmalschutzgesetz',2800);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('ArchÃ€ologisches Denkmal',2810);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Bodendenkmal',2820);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Schutzgebiet oder -bereiche nach Landesdenkmalschutzgesetz',2900);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Denkmalzone oder -bereich',2910);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('GeschÃŒtzter Baubereich',2920);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Grabungsschutzgebiet',2930);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Befestigungen',3100);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Befestigung (Burg)',3110);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Burg (Fliehburg, Ringwall)',3111);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Erdwerk',3112);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Ringwall',3113);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Steinwerk',3114);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Festung',3115);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('GrÃ€ftenanlage',3116);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Schanze',3117);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Lager',3118);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Wachturm (rÃ¶misch), Warte',3120);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Wachturm',3121);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Warte',3122);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Befestigung (Wall, Graben)',3130);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Grenzwall, Schutzwall',3131);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Limes',3132);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Landwehr',3133);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Stadtwall',3134);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historischer Wall',3135);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historische Siedlung',3200);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Pfahlbau',3210);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('WÃŒstung',3220);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Wurt',3230);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Abri',3240);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('HÃ¶hle',3250);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historische Bestattung',3300);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('GroÃsteingrab (Dolmen, HÃŒnenbett)',3310);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('GrabhÃŒgel',3320);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('GrabhÃŒgelfeld',3330);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Urnenfriedhof',3340);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('KÃ¶rpergrÃ€berfeld',3350);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('ReihengrÃ€berfriedhof',3360);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historisches land- oder forstwirtschaftliches Objekt',3400);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historischer Pflanzkamp',3410);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historisches Viehgehege',3420);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Sandfang',3430);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historisches Ackersystem',3440);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historische Bergbau-, VerhÃŒttungs- oder sonstige ProduktionsstÃ€tte',3500);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historisches Bergbaurelikt',3510);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historischer Meiler',3520);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historischer Ofen',3530);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historischer VerhÃŒttungsplatz',3540);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historische StraÃe oder Weg',3600);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('HeerstraÃe',3610);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Hohlweg',3620);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Moorweg',3630);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Wegespur',3640);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historisches wasserwirtschaftliches Objekt',3700);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historische Wasserleitung',3710);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('AquÃ€dukt',3720);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historischer Deich',3730);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historischer Damm',3740);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historischer Graben',3750);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Steinmal',3800);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Schalenstein',3810);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Rillenstein',3820);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Wetzrillen',3830);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Kreuzstein',3840);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Historischer Grenzstein',3850);
+INSERT INTO AX_DENKMALSCHUTZRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Menhir',3860);
+
+
+CREATE TABLE AX_SONSTIGESRECHT_ARTDF (
+WERT integer, 
+BEZEICHNER varchar2(2047),  
+kennung integer, objektart varchar2(2047));
+COMMENT ON TABLE ax_sonstigesrecht_artdf
+IS 'artderfestlegung - SchlÃŒsseltabelle mit WERTen aus GeoInfoDok NW, geladen mit SQL-Script.';
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Luftverkehrsgesetz',4100);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Bauschutzbereich',4110);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('BeschrÃ€nkter Bauschutzbereich',4120);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Bundeskleingartengesetz',4200);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Dauerkleingarten',4210);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Berggesetz',4300);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Bodenbewegungsgebiet',4301);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Bruchfeld',4302);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('BaubeschrÃ€nkung',4310);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('ReichsheimstÃ€ttengesetz',4400);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('ReichsheimstÃ€tte',4410);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Schutzbereichsgesetz',4500);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Schutzbereich',4510);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Eisenbahnneuordnungsgesetz',4600);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Ãbergabebescheidverfahren',4610);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('BaubeschrÃ€nkungen durch Richtfunkverbindungen',4710);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('TruppenÃŒbungsplatz, StandortÃŒbungsplatz',4720);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Vermessungs- und Katasterrecht',4800);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('SchutzflÃ€che Festpunkt',4810);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('SchutzflÃ€che Festpunkt, 1 m Radius',4811);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('SchutzflÃ€che Festpunkt, 2 m Radius',4812);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('SchutzflÃ€che Festpunkt, 5 m Radius',4813);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('SchutzflÃ€che Festpunkt, 10 m Radius',4814);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('SchutzflÃ€che Festpunkt, 30 m Radius',4815);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('MarksteinschutzflÃ€che',4820);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Liegenschaftskatastererneuerung',4830);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Fischereirecht',4900);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Jagdkataster',5100);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Landesgrundbesitzkataster',5200);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('BombenblindgÃ€ngerverdacht',5300);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Rieselfeld',5400);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Sicherungsstreifen',5500);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Grenzbereinigung',5600);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Hochwasserdeich',5700);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Hauptdeich, 1. Deichlinie',5710);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('2. Deichlinie',5720);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Beregnungsverband',6000);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Weinlage',7000);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Weinbausteillage',7100);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Weinbergsrolle',7200);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Weinbausteilstlage',7300);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Benachteiligtes landwirtschaftliches Gebiet',8000);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Mitverwendung Hochwasserschutz, Oberirdische Anlagen',9100);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Mitverwendung Hochwasserschutz, Unterirdische Anlagen',9200);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Hafennutzungsgebiet',9300);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Hafenerweiterungsgebiet',9400);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Bohrung verfÃŒllt',9500);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Zollgrenze',9600);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Belastung nach Â§7 Abs. 2 GBO',9700);
+INSERT INTO AX_SONSTIGESRECHT_ARTDF (BEZEICHNER, WERT) VALUES ('Sonstiges',9999);
+purge recyclebin;
+QUIT;
Index: branches/0.7/import/alkis-functions.sql
===================================================================
--- branches/0.7/import/alkis-functions.sql	(revision 329)
+++ branches/0.7/import/alkis-functions.sql	(revision 329)
@@ -0,0 +1,474 @@
+-- alkis-functions.sql - Trigger-Funktionen fÃŒr die FortfÃŒhrung der 
+--                       alkis_beziehungen aus EintrÃ€gen der delete-Tabelle
+
+-- 2013-07-10: Erweiterung zur Verarbeitung der Replace-SÃ€tze in ALKIS-Beziehungen 
+
+-- 2013-12-10:	In der Function "update_fields_beziehungen" den Fall behandeln, dass ein Objekt einer 
+--             neuen Beziehung in keiner Tabelle gefunden wird.
+--             Wenn ein einzelnes Objekt fehlt, soll dies keine Auswirkungen auf andere Objekte haben.
+--             FÃŒllen von "zu_typename" auskommentiert.
+
+-- 2014-01-31: Deaktivieren von "update_fields_beziehungen", 
+--             statt dessen verwenden der "import_id" um alte Relationen zu identifizieren und zu lÃ¶schen.
+
+
+-- Table/View/Sequence lÃ¶schen, wenn vorhanden
+CREATE OR REPLACE FUNCTION alkis_dropobject(t TEXT) RETURNS varchar AS $$
+DECLARE
+	c RECORD;
+	s varchar;
+	r varchar;
+	d varchar;
+	i integer;
+	tn varchar;
+BEGIN
+	r := '';
+	d := '';
+
+	-- drop objects
+	FOR c IN SELECT relkind,relname
+		FROM pg_class
+		JOIN pg_namespace ON pg_class.relnamespace=pg_namespace.oid
+		WHERE pg_namespace.nspname='public' AND pg_class.relname=t
+		ORDER BY relkind
+	LOOP
+		IF c.relkind = 'v' THEN
+			r := r || d || 'Sicht ' || c.relname || ' gelÃ¶scht.';
+			EXECUTE 'DROP VIEW ' || c.relname || ' CASCADE';
+		ELSIF c.relkind = 'r' THEN
+			r := r || d || 'Tabelle ' || c.relname || ' gelÃ¶scht.';
+			EXECUTE 'DROP TABLE ' || c.relname || ' CASCADE';
+		ELSIF c.relkind = 'S' THEN
+			r := r || d || 'Sequenz ' || c.relname || ' gelÃ¶scht.';
+			EXECUTE 'DROP SEQUENCE ' || c.relname;
+		ELSIF c.relkind <> 'i' THEN
+			r := r || d || 'Typ ' || c.table_type || '.' || c.table_name || ' unerwartet.';
+		END IF;
+		d := E'\n';
+	END LOOP;
+
+	FOR c IN SELECT indexname FROM pg_indexes WHERE schemaname='public' AND indexname=t
+	LOOP
+		r := r || d || 'Index ' || c.indexname || ' gelÃ¶scht.';
+		EXECUTE 'DROP INDEX ' || c.indexname;
+		d := E'\n';
+	END LOOP;
+
+	FOR c IN SELECT proname,proargtypes
+		FROM pg_proc
+		JOIN pg_namespace ON pg_proc.pronamespace=pg_namespace.oid
+		WHERE pg_namespace.nspname='public' AND pg_proc.proname=t
+	LOOP
+		r := r || d || 'Funktion ' || c.proname || ' gelÃ¶scht.';
+
+		s := 'DROP FUNCTION ' || c.proname || '(';
+		d := '';
+
+		FOR i IN array_lower(c.proargtypes,1)..array_upper(c.proargtypes,1) LOOP
+			SELECT typname INTO tn FROM pg_type WHERE oid=c.proargtypes[i];
+			s := s || d || tn;
+			d := ',';
+		END LOOP;
+
+		s := s || ')';
+
+		EXECUTE s;
+
+		d := E'\n';
+	END LOOP;
+
+	FOR c IN SELECT relname,conname
+		FROM pg_constraint
+		JOIN pg_class ON pg_constraint.conrelid=pg_constraint.oid
+		JOIN pg_namespace ON pg_constraint.connamespace=pg_namespace.oid
+		WHERE pg_namespace.nspname='public' AND pg_constraint.conname=t
+	LOOP
+		r := r || d || 'Constraint ' || c.conname || ' von ' || c.relname || ' gelÃ¶scht.';
+		EXECUTE 'ALTER TABLE ' || c.relname || ' DROP CONSTRAINT ' || c.conname;
+		d := E'\n';
+	END LOOP;
+
+	RETURN r;
+END;
+$$ LANGUAGE plpgsql;
+
+-- Alle ALKIS-Tabellen lÃ¶schen
+SELECT alkis_dropobject('alkis_drop');
+CREATE FUNCTION alkis_drop() RETURNS varchar AS $$
+DECLARE
+	c RECORD;
+	r VARCHAR;
+	d VARCHAR;
+BEGIN
+	r := '';
+	d := '';
+	-- drop tables & views
+	FOR c IN SELECT table_type,table_name FROM information_schema.tables WHERE table_schema='public' AND ( substr(table_name,1,3) IN ('ax_','ap_','ks_') OR table_name IN ('alkis_beziehungen','delete')) ORDER BY table_type DESC LOOP
+		IF c.table_type = 'VIEW' THEN
+			r := r || d || 'Sicht ' || c.table_name || ' gelÃ¶scht.';
+			EXECUTE 'DROP VIEW ' || c.table_name || ' CASCADE';
+		ELSIF c.table_type = 'BASE TABLE' THEN
+			r := r || d || 'Tabelle ' || c.table_name || ' gelÃ¶scht.';
+			EXECUTE 'DROP TABLE ' || c.table_name || ' CASCADE';
+		ELSE
+			r := r || d || 'Typ ' || c.table_type || '.' || c.table_name || ' unerwartet.';
+		END IF;
+		d := E'\n';
+	END LOOP;
+
+	-- clean geometry_columns
+	DELETE FROM geometry_columns
+		WHERE f_table_schema='public'
+		AND ( substr(f_table_name,1,2) IN ('ax_','ap_','ks_')
+		 OR f_table_name IN ('alkis_beziehungen','delete') );
+
+	RETURN r;
+END;
+$$ LANGUAGE plpgsql;
+
+-- Alle ALKIS-Tabellen leeren
+SELECT alkis_dropobject('alkis_delete');
+CREATE FUNCTION alkis_delete() RETURNS varchar AS $$
+DECLARE
+	c RECORD;
+	r varchar;
+	d varchar;
+BEGIN
+	r := '';
+	d := '';
+
+	-- drop views
+	FOR c IN
+		SELECT table_name
+		FROM information_schema.tables
+		WHERE table_schema='public' AND table_type='BASE TABLE'
+		  AND ( substr(table_name,1,3) IN ('ax_','ap_','ks_')
+			OR table_name IN ('alkis_beziehungen','delete') )
+	LOOP
+		r := r || d || c.table_name || ' wurde geleert.';
+		EXECUTE 'DELETE FROM '||c.table_name;
+		d := E'\n';
+	END LOOP;
+
+	RETURN r;
+END;
+$$ LANGUAGE plpgsql;
+
+-- Ãbersicht erzeugen, die alle alkis_beziehungen mit den Typen der beteiligen ALKIS-Objekte versieht
+SELECT alkis_dropobject('alkis_mviews');
+CREATE FUNCTION alkis_mviews() RETURNS varchar AS $$
+DECLARE
+	sql TEXT;
+	delim TEXT;
+	c RECORD;
+BEGIN
+	SELECT alkis_dropobject('vbeziehungen') INTO sql;
+	SELECT alkis_dropobject('vobjekte') INTO sql;
+
+	delim := '';
+	sql := 'CREATE VIEW vobjekte AS ';
+
+	FOR c IN SELECT table_name FROM information_schema.columns WHERE column_name='gml_id' AND substr(table_name,1,3) IN ('ax_','ap_','ks_') LOOP
+		sql := sql || delim || 'SELECT gml_id,beginnt,''' || c.table_name || ''' AS table_name FROM ' || c.table_name;
+		delim := ' UNION ';
+	END LOOP;
+
+	EXECUTE sql;
+
+--	CREATE UNIQUE INDEX vobjekte_gmlid ON vobjekte(gml_id,beginnt);
+--	CREATE INDEX vobjekte_table ON vobjekte(table_name);
+
+	CREATE VIEW vbeziehungen AS
+		SELECT	beziehung_von,(SELECT table_name FROM vobjekte WHERE gml_id=beziehung_von) AS typ_von
+			,beziehungsart
+			,beziehung_zu,(SELECT table_name FROM vobjekte WHERE gml_id=beziehung_zu) AS typ_zu
+		FROM alkis_beziehungen;
+
+--	CREATE INDEX vbeziehungen_von    ON vbeziehungen(beziehung_von);
+--	CREATE INDEX vbeziehungen_vontyp ON vbeziehungen(typ_von);
+--	CREATE INDEX vbeziehungen_art    ON vbeziehungen(beziehungsart);
+--	CREATE INDEX vbeziehungen_zu     ON vbeziehungen(beziehung_zu);
+--	CREATE INDEX vbeziehungen_zutyp  ON vbeziehungen(typ_zu);
+
+	RETURN 'ALKIS-Views erzeugt.';
+END;
+$$ LANGUAGE plpgsql;
+
+-- Indizes erzeugen
+SELECT alkis_dropobject('alkis_update_schema');
+CREATE FUNCTION alkis_update_schema() RETURNS varchar AS $$
+DECLARE
+	sql TEXT;
+	c RECORD;
+	i RECORD;
+	n INTEGER;
+BEGIN
+	-- Spalten in delete ergÃ€nzen
+	SELECT count(*) INTO n FROM information_schema.columns WHERE table_schema='public' AND table_name='delete' AND column_name='ignored';
+	IF n=0 THEN
+		ALTER TABLE "delete" ADD ignored BOOLEAN;
+	END IF;
+
+	SELECT count(*) INTO n FROM information_schema.columns WHERE table_schema='public' AND table_name='delete' AND column_name='context';
+	IF n=0 THEN
+		ALTER TABLE "delete" ADD context VARCHAR;
+	END IF;
+
+	SELECT count(*) INTO n FROM information_schema.columns WHERE table_schema='public' AND table_name='delete' AND column_name='safetoignore';
+	IF n=0 THEN
+		ALTER TABLE "delete" ADD safetoignore VARCHAR;
+	END IF;
+
+	SELECT count(*) INTO n FROM information_schema.columns WHERE table_schema='public' AND table_name='delete' AND column_name='replacedby';
+	IF n=0 THEN
+		ALTER TABLE "delete" ADD replacedBy VARCHAR;
+	END IF;
+
+	-- Spalte identifier ergÃ€nzen, wo sie fehlt
+	FOR c IN SELECT table_name FROM information_schema.columns a WHERE a.column_name='gml_id'
+		AND     EXISTS (SELECT * FROM information_schema.columns b WHERE b.column_name='beginnt'    AND a.table_catalog=b.table_catalog AND a.table_schema=b.table_schema AND a.table_name=b.table_name)
+		AND NOT EXISTS (SELECT * FROM information_schema.columns b WHERE b.column_name='identifier' AND a.table_catalog=b.table_catalog AND a.table_schema=b.table_schema AND a.table_name=b.table_name)
+	LOOP
+		EXECUTE 'ALTER TABLE ' || c.table_name || ' ADD identifier character(44)';
+	END LOOP;
+
+	-- Spalte endet ergÃ€nzen, wo sie fehlt
+	FOR c IN SELECT table_name FROM information_schema.columns a WHERE a.column_name='gml_id'
+		AND     EXISTS (SELECT * FROM information_schema.columns b WHERE b.column_name='beginnt' AND a.table_catalog=b.table_catalog AND a.table_schema=b.table_schema AND a.table_name=b.table_name)
+		AND NOT EXISTS (SELECT * FROM information_schema.columns b WHERE b.column_name='endet'   AND a.table_catalog=b.table_catalog AND a.table_schema=b.table_schema AND a.table_name=b.table_name)
+	LOOP
+		EXECUTE 'ALTER TABLE ' || c.table_name || ' ADD endet character(20) CHECK (endet>beginnt)';
+	END LOOP;
+
+	-- Lebensdauer-Constraint ergÃ€nzen
+	FOR c IN SELECT table_name FROM information_schema.columns a WHERE a.column_name='gml_id'
+		AND EXISTS (SELECT * FROM information_schema.columns b WHERE b.column_name='beginnt' AND a.table_catalog=b.table_catalog AND a.table_schema=b.table_schema AND a.table_name=b.table_name)
+		AND EXISTS (SELECT * FROM information_schema.columns b WHERE b.column_name='endet'   AND a.table_catalog=b.table_catalog AND a.table_schema=b.table_schema AND a.table_name=b.table_name)
+	LOOP
+		SELECT alkis_dropobject(c.table_name||'_lebensdauer');
+		EXECUTE 'ALTER TABLE ' || c.table_name || ' ADD CONSTRAINT ' || c.table_name || '_lebensdauer CHECK (beginnt IS NOT NULL AND endet>beginnt)';
+	END LOOP;
+
+	-- Indizes aktualisieren
+	FOR c IN SELECT table_name FROM information_schema.columns a WHERE a.column_name='gml_id'
+		AND EXISTS (SELECT * FROM information_schema.columns b WHERE b.column_name='beginnt' AND a.table_catalog=b.table_catalog AND a.table_schema=b.table_schema AND a.table_name=b.table_name)
+	LOOP
+		-- Vorhandene Indizes droppen (TODO: LÃ¶scht auch die SonderfÃ€lle - entfernen)
+		FOR i IN EXECUTE 'SELECT indexname FROM pg_indexes WHERE NOT indexname LIKE ''%_pk'' AND schemaname=''public'' AND tablename='''||c.table_name||'''' LOOP
+			EXECUTE 'DROP INDEX ' || i.indexname;
+		END LOOP;
+
+		-- Indizes erzeugen
+		EXECUTE 'CREATE UNIQUE INDEX ' || c.table_name || '_id ON ' || c.table_name || '(gml_id,beginnt)';
+		EXECUTE 'CREATE UNIQUE INDEX ' || c.table_name || '_ident ON ' || c.table_name || '(identifier)';
+		EXECUTE 'CREATE INDEX ' || c.table_name || '_gmlid ON ' || c.table_name || '(gml_id)';
+		EXECUTE 'CREATE INDEX ' || c.table_name || '_beginnt ON ' || c.table_name || '(beginnt)';
+		EXECUTE 'CREATE INDEX ' || c.table_name || '_endet ON ' || c.table_name || '(endet)';
+	END LOOP;
+
+	-- Geometrieindizes aktualisieren
+	FOR c IN SELECT table_name FROM information_schema.columns a WHERE a.column_name='gml_id'
+		AND EXISTS (SELECT * FROM information_schema.columns b WHERE b.column_name='wkb_geometry' AND a.table_catalog=b.table_catalog AND a.table_schema=b.table_schema AND a.table_name=b.table_name)
+	LOOP
+		EXECUTE 'CREATE INDEX ' || c.table_name || '_geom ON ' || c.table_name || ' USING GIST (wkb_geometry)';
+	END LOOP;
+
+	RETURN 'Schema aktualisiert.';
+END;
+$$ LANGUAGE plpgsql;
+
+-- Im Trigger 'delete_feature_trigger' muss eine dieser beiden Funktionen
+-- (delete_feature_hist oder delete_feature_kill) verlinkt werden, je nachdem ob nur
+-- aktuelle oder auch historische Objekte in der Datenbank gefÃŒhrt werden sollen.
+
+-- LÃ¶schsatz verarbeiten (MIT Historie)
+-- context='delete'        => "endet" auf aktuelle Zeit setzen
+-- context='replace'       => "endet" des ersetzten auf "beginnt" des neuen Objekts setzen
+CREATE OR REPLACE FUNCTION delete_feature_hist() RETURNS TRIGGER AS $$
+DECLARE
+	sql TEXT;
+	gml_id TEXT;
+	endete TEXT;
+	n INTEGER;
+BEGIN
+	NEW.context := lower(NEW.context);
+	gml_id      := substr(NEW.featureid, 1, 16);
+
+	IF NEW.context IS NULL THEN
+		NEW.context := 'delete';
+	END IF;
+
+	IF NEW.context='delete' THEN
+		endete := to_char(CURRENT_TIMESTAMP AT TIME ZONE 'UTC','YYYY-MM-DD"T"HH24:MI:SS"Z"');
+
+	ELSIF NEW.context='replace' THEN
+		NEW.safetoignore := lower(NEW.safetoignore);
+
+		IF NEW.safetoignore IS NULL THEN
+			RAISE EXCEPTION '%: safeToIgnore nicht gesetzt.', NEW.featureid;
+		ELSIF NEW.safetoignore<>'true' AND NEW.safetoignore<>'false' THEN
+			RAISE EXCEPTION '%: safeToIgnore ''%'' ungÃŒltig (''true'' oder ''false'' erwartet).', NEW.featureid, NEW.safetoignore;
+		END IF;
+
+		IF NEW.replacedBy IS NULL OR length(NEW.replacedBy)<16 THEN
+			IF NEW.safetoignore = 'true' THEN
+				RAISE NOTICE '%: Nachfolger ''%'' nicht richtig gesetzt - ignoriert', NEW.featureid, NEW.replacedBy;
+				NEW.ignored := true;
+				RETURN NEW;
+			ELSE
+				RAISE EXCEPTION '%: Nachfolger ''%'' nicht richtig gesetzt - Abbruch', NEW.featureid, NEW.replacedBy;
+			END IF;
+		END IF;
+
+		IF length(NEW.replacedBy)=16 THEN
+			EXECUTE 'SELECT beginnt FROM ' || NEW.typename ||
+			        ' WHERE gml_id=''' || NEW.replacedBy || ''' AND endet IS NULL' ||
+				' ORDER BY beginnt DESC LIMIT 1'
+                           INTO endete;
+		ELSE
+			-- replaceBy mit Timestamp
+			EXECUTE 'SELECT beginnt FROM ' || NEW.typename ||
+			        ' WHERE identifier=''urn:adv:oid:' || NEW.replacedBy || ''''
+			   INTO endete;
+			IF endete IS NULL THEN
+				EXECUTE 'SELECT beginnt FROM ' || NEW.typename ||
+					' WHERE gml_id=''' || substr(NEW.replacedBy,1,16) || ''' AND endet IS NULL' ||
+					' ORDER BY beginnt DESC LIMIT 1'
+				   INTO endete;
+			END IF;
+		END IF;
+
+		IF endete IS NULL THEN
+			IF NEW.safetoignore = 'true' THEN
+				RAISE NOTICE '%: Nachfolger % nicht gefunden - ignoriert', NEW.featureid, NEW.replacedBy;
+				NEW.ignored := true;
+				RETURN NEW;
+			ELSE
+				RAISE EXCEPTION '%: Nachfolger % nicht gefunden', NEW.featureid, NEW.replacedBy;
+			END IF;
+		END IF;
+	ELSE
+		RAISE EXCEPTION '%: UngÃŒltiger Kontext % (''delete'' oder ''replace'' erwartet).', NEW.featureid, NEW.context;
+	END IF;
+
+	sql	:= 'UPDATE ' || NEW.typename
+		|| ' SET endet=''' || endete || ''''
+		|| ' WHERE gml_id=''' || gml_id || ''''
+		|| ' AND endet IS NULL'
+		|| ' AND beginnt<''' || endete || '''';
+	-- RAISE NOTICE 'SQL: %', sql;
+	EXECUTE sql;
+	GET DIAGNOSTICS n = ROW_COUNT;
+	IF n<>1 THEN
+		RAISE NOTICE 'SQL: %', sql;
+		IF NEW.context = 'delete' OR NEW.safetoignore = 'true' THEN
+			RAISE NOTICE '%: Untergangsdatum von % Objekten statt nur einem auf % gesetzt - ignoriert', NEW.featureid, n, endete;
+			NEW.ignored := true;
+			RETURN NEW;
+		ELSE
+			RAISE EXCEPTION '%: Untergangsdatum von % Objekten statt nur einem auf % gesetzt - Abbruch', NEW.featureid, n, endete;
+		END IF;
+	END IF;
+
+	NEW.ignored := false;
+	RETURN NEW;
+END;
+$$ LANGUAGE plpgsql;
+
+
+-- "delete" und "replace" verarbeiten (OHNE Historie). Historische Objekte werden sofort gelÃ¶scht.
+-- Geaendert 2014-02-03 auf Vorschlag M.B. Krs. Unna
+CREATE OR REPLACE FUNCTION delete_feature_kill() RETURNS TRIGGER AS $$
+DECLARE
+	query TEXT;
+	begsql TEXT;
+	aktbeg TEXT;
+	gml_id TEXT;
+	query_bez TEXT;
+BEGIN
+	NEW.typename := lower(NEW.typename);
+	NEW.context := lower(NEW.context);
+	gml_id      := substr(NEW.featureid, 1, 16);
+
+	IF NEW.context IS NULL THEN
+		NEW.context := 'delete';
+	END IF;
+
+	IF NEW.context='delete' THEN -- Ersatzloses Loeschen des Objektes
+          -- In der Objekt-Tabelle
+		EXECUTE 'DELETE FROM ' || NEW.typename || ' WHERE gml_id = ''' || gml_id || '''';
+          -- Beziehungen von und zu dem Objekt sind hinfaellig
+		EXECUTE 'DELETE FROM alkis_beziehungen WHERE beziehung_von = ''' || gml_id || ''' OR beziehung_zu = ''' || gml_id || '''';
+		--RAISE NOTICE 'LÃ¶sche gml_id % in % und Beziehungen', gml_id, NEW.typename;
+
+	ELSE -- Ersetzen eines Objektes (Replace). In der Objekt-Tabelle sind jetzt bereits 2 Objekte vorhanden (alt und neu).
+		-- beginnt-Wert des aktuellen Objektes ermitteln
+		begsql := 'SELECT max(beginnt) FROM ' || NEW.typename || ' WHERE gml_id = ''' || substr(NEW.replacedBy, 1, 16) || ''' AND endet IS NULL';
+		EXECUTE begsql INTO aktbeg;
+		-- Alte Objekte entfernen
+		EXECUTE 'DELETE FROM ' || NEW.typename || ' WHERE gml_id = ''' || gml_id || ''' AND beginnt < ''' || aktbeg || '''';
+		-- Beziehungen vom alten Objekt entfernen, die aus frueheren Importen stammen
+		EXECUTE 'DELETE FROM alkis_beziehungen WHERE beziehung_von = ''' || gml_id || ''' AND import_id < (SELECT max(id) FROM import)';
+	END IF;
+
+	NEW.ignored := false;
+	RETURN NEW;
+END;
+$$ LANGUAGE plpgsql;
+
+
+-- BeziehungssÃ€tze aufrÃ€umen
+CREATE OR REPLACE FUNCTION alkis_beziehung_inserted() RETURNS TRIGGER AS $$
+BEGIN
+	DELETE FROM alkis_beziehungen WHERE ogc_fid<NEW.ogc_fid AND beziehung_von=NEW.beziehung_von AND beziehungsart=NEW.beziehungsart AND beziehung_zu=NEW.beziehung_zu;
+	RETURN NEW;
+END;
+$$ LANGUAGE plpgsql;
+
+
+-- Wenn die Datenbank MIT Historie angelegt wurde, kann nach dem Laden hiermit aufgerÃ€umt werden.
+CREATE OR REPLACE FUNCTION alkis_delete_all_endet() RETURNS void AS $$
+DECLARE
+	c RECORD;
+BEGIN
+	-- In allen Tabellen die Objekte lÃ¶schen, die ein Ende-Datum haben
+	FOR c IN
+		SELECT table_name
+		FROM information_schema.columns a
+		WHERE a.column_name='endet'
+		ORDER BY table_name
+	LOOP
+		EXECUTE 'DELETE FROM ' || c.table_name || ' WHERE NOT endet IS NULL';
+		-- RAISE NOTICE 'LÃ¶sche ''endet'' in: %', c.table_name;
+	END LOOP;
+END;
+$$ LANGUAGE plpgsql;
+
+
+-- Wenn die Datenbank ohne Historie gefÃŒhrt wird, ist das Feld "identifier" verzichtbar.
+-- Diese wird nur von der Trigger-Version fÃŒr die Version MIT Historie verwendet.
+-- Es kann aus allen Tabellen entfernt werden.
+CREATE OR REPLACE FUNCTION alkis_drop_all_identifier() RETURNS void AS $$
+DECLARE
+	c RECORD;
+BEGIN
+	FOR c IN
+		SELECT table_name
+		FROM information_schema.columns a
+		WHERE a.column_name='identifier'
+		ORDER BY table_name
+	LOOP
+		EXECUTE 'ALTER TABLE ' || c.table_name || ' DROP COLUMN identifier';
+		RAISE NOTICE 'Entferne ''identifier'' aus: %', c.table_name;
+	END LOOP;
+END;
+$$ LANGUAGE plpgsql;
+
+
+-- Funktion zum Ermitteln der letzten import_id
+CREATE OR REPLACE FUNCTION get_import_id() RETURNS TRIGGER AS $$
+BEGIN
+	EXECUTE 'SELECT max(id) FROM import' INTO NEW.import_id;
+	RETURN NEW;
+END;
+$$ LANGUAGE plpgsql;
Index: branches/0.7/import/pg-to-oci.pl
===================================================================
--- branches/0.7/import/pg-to-oci.pl	(revision 329)
+++ branches/0.7/import/pg-to-oci.pl	(revision 329)
@@ -0,0 +1,118 @@
+#!/usr/bin/perl
+
+#############################################################################
+#    pg-to-oci.pl - ALKIS-PostgreSQL-Schema fÃŒr Oracle vorbereiten
+#    ---------------------
+#    begin                : 2013-01-18
+#    copyright            : (C) 2013 by Juergen Fischer, norBIT GmbH
+#    email                : jef at norbit dot de
+#############################################################################
+#                                                                         
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#                                                                         
+#############################################################################
+
+open I, "alkis_PostNAS_schema.sql";
+open O, ">alkis_PostNAS_ORACLE_schema.sql";
+
+$i = 0;
+print O "-- Automatisch mit pg-to-oci.pl konvertiert.\n---\n---\n\n";
+
+while(<I>) {
+	# Kommentare entfernen
+	s/,\s*--.*$/,/;
+	s/;\s*--.*$/;/;
+	s/\s*--.*$//;
+
+	s/^\s+SET client_encoding = 'UTF8';/set serveroutput on\nset autocommit on\nset feedback off\nset verify off\n/;
+	s/^\s+SET default_with_oids = false;/define alkis_epsg=\&1/;
+	s/\\set ON_ERROR_STOP/whenever sqlerror exit 1/;
+
+	# Funktionsinclude ÃŒberspringen
+	next if /\\i\s+alkis-functions/;
+	
+	# Includes umwandeln
+	s/\\i alkis-trigger.sql/@@ alkis-trigger-oracle.sql/;
+
+	# Datentypen abbilden
+	s/varchar\s+default\s+false/varchar2(5) default 'false'/i;
+	s/varchar\s+default\s+'false'/varchar2(5) default 'false'/i;
+	s/boolean\s+default\s+false/varchar2(5) default 'false'/i;
+	s/\bvarchar\[\]/varchar2(2047)/;
+	s/\binteger\[\]/varchar2(2047)/;
+	s/\bvarchar\b,/varchar2(2047),/;
+	s/\bdouble precision\[\]/varchar2(2047)/;
+	s/serial/integer/;
+	s/boolean/varchar2(5)/;
+
+	# Feldnamen auf OCI Defaults abbilden
+	s/wkb_geometry/ora_geometry/;
+	s/ogc_fid/ogr_fid/;
+
+	s/USING btree //;
+
+	s/SELECT alkis_drop\(\);/-- $1/;
+
+	# Indexnamen ersetzen
+	if( /CREATE( UNIQUE)? INDEX (\S+)/ ) {
+		s/INDEX \S+/INDEX ALKIS_$i/;
+		$i++;
+	}
+
+	# Constraintnamen ersetzen
+	if( /CONSTRAINT (\S+)/ ) {
+		s/CONSTRAINT \S+/CONSTRAINT ALKIS_$i/;
+		$i++;
+	}
+
+	# RÃ€umliche Indizes konvertieren
+	s/CREATE\s+INDEX\s+(\S+)\s+ON\s+(\S+)\s+USING\s+gist\s*\((\S+)\);/CREATE INDEX \U$1\E ON \U$2\E(\U$3\E) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;/i;
+
+	# Tabelle ggf. vor dem Anlegen droppen und aus den Metadaten lÃ¶schen
+	s/CREATE TABLE (\S+)/DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='\U$1\E';\nBEGIN EXECUTE IMMEDIATE 'DROP TABLE \U$1\E CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;\n\/\nCREATE TABLE \U$1/;
+
+	# Anlegen der Geometriespalte anpassen und fÃŒr Metadateneintrag sorgen
+	s/SELECT AddGeometryColumn\('([^']+)','([^']+)',:alkis_epsg,'[^']+',2\);.*$/ALTER TABLE \U$1\E ADD \U$2\E MDSYS.SDO_GEOMETRY;\nINSERT INTO user_sdo_geom_metadata\(table_name,column_name,srid,diminfo\) VALUES \('\U$1\E','\U$2\E',&&alkis_epsg,mdsys.sdo_dim_array\(mdsys.sdo_dim_element\('X',200000,800000,0.001\),mdsys.sdo_dim_element\('Y',5200000,6100000,0.001\)\)\);/;
+	s/SELECT AddGeometryColumn\('([^']+)','([^']+)',:alkis_epsg,'[^']+',3\);.*$/ALTER TABLE \U$1\E ADD \U$2\E MDSYS.SDO_GEOMETRY;\nINSERT INTO user_sdo_geom_metadata\(table_name,column_name,srid,diminfo\) VALUES \('\U$1\E','\U$2\E',&&alkis_epsg,mdsys.sdo_dim_array\(mdsys.sdo_dim_element\('X',200000,800000,0.001\),mdsys.sdo_dim_element\('Y',5200000,6100000,0.001\),mdsys.sdo_dim_element\('Z',-50,3000,0.001\)\)\);/;
+
+	# DELETE-SchlÃŒsselwort quoten
+	s/"delete"/"DELETE"/;
+	s/ALTER TABLE DELETE/ALTER TABLE "DELETE"/;
+	s/'"DELETE"'/'DELETE'/g;
+	s/COMMENT ON COLUMN delete/COMMENT ON COLUMN "DELETE"/;
+
+	# Oracle kennt keine Indexkommentare
+	s/COMMENT ON INDEX .*$//;
+
+	# Ãberlange Bezeichner kÃŒrzen und in GroÃbuchstaben wandeln
+	s/([A-Z_]{30})[A-Z_]+/\U$1/gi;
+
+	next if /^COMMENT ON TABLE (geometry_columns|spatial_ref_sys)/;
+
+	next if /^\s*$/;
+
+	print O;
+}
+
+print O "purge recyclebin;\nQUIT;\n";
+close O;
+
+close I;
+
+# vim: set nowrap :
Index: branches/0.7/import/atkis_rp_rendering/processing/flaechen.sh
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/flaechen.sh	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/flaechen.sh	(revision 329)
@@ -0,0 +1,254 @@
+#!/bin/bash
+
+source psql.conf
+
+####################################################################
+#					ab hier nichts mehr Ã€ndern
+#				do not change anything below this line.
+####################################################################
+
+# Kommandozeilen-Variante
+# @params
+# Tabellenparameter::
+# $1= einzulesende Tabelle
+table_input=$1
+# $2= auszugebende Tabelle
+table_output=$2
+# $3= in welcher Spalte wird die Widmung vorgehalten? (kann NULL-Werte enthalten)
+column_label=$3
+# Generalisierungsparameter:
+# $4= MindestgrÃ¶Ãe fÃŒr AuÃenpolygone
+minArea_outer=$4
+# $5= MindestgrÃ¶Ãe fÃŒr Innenpolygono
+minArea_inner=$5
+# $6= SimplifyDistance fÃŒr AuÃenpolygone
+simplDist_outer=$6
+# $7= SimplifyDistance fÃŒr Innenpolygone
+simplDist_inner=$7
+# $8= RasterCellsize fÃŒr Perimter-Verschneidungen (siehe Doku)
+rasterCellsize=$8
+##
+##
+##
+# @ToDo: "Input at hoc"-Variante (read "Geben Sie den Tabellennamen der Eingabedaten ein:" table_input, ...)
+# @ToDo: Automatisierte Variante mit cat betroffene.txt
+
+
+force=false
+if [ $9 ]; then
+	if [ $9 == 'true' ] || [ $9 == 1 ]; then
+		force=true
+		echo "batch mode mit 'force' gesetzt."
+	fi
+fi
+
+# Testen, ob Variablen gesetzt sind
+
+if [ ! $table_input ]; then 
+	error="${error}Keine Angabe zur Eingabetabelle gemacht!\r\n"
+fi
+if [ ! $table_output ]; then 
+	error="${error}Keine Angabe zur Ausgabetabelle gemacht!\r\n"
+fi
+if [ ! $column_label ]; then 
+	error="${error}Keine Angabe zur Spalte 'Widmung' gemacht!\r\n"
+fi
+if [ ! $minArea_outer ]; then 
+	error="${error}Keine Angabe zur MindestgrÃ¶Ãe der AuÃenpolygone!\r\n"
+fi
+if [ ! $minArea_inner ]; then 
+	error="${error}Keine Angabe zur MindestgrÃ¶Ãe der Innenpolygone!\r\n"
+fi
+if [ ! $simplDist_outer ]; then 
+	error="${error}Keine Angabe zur Simplify-Distance fÃŒr die AuÃenpolygone!\r\n"
+fi
+if [ ! $simplDist_inner ]; then 
+	error="${error}Keine Angabe zur Simplify-Distance fÃŒr die Innenpolygone!\r\n"
+fi
+if [ ! $RasterCellsize ]; then 
+	error="${error}Keine Angabe zur ZellgrÃ¶Ãe (in km) fÃŒr die Verschneidung!\r\n"
+fi
+
+if [ $# -lt 9 ]; then
+	echo "Aufruf mit inkorrekter Anzahl an Parametern:"
+	echo -e $error #@ ToDo
+	exit 0
+fi
+
+# Festlegen der Datenbank-Verbindung
+echo "Teste PostGIS-Verbindung zu $dbname auf $dbuser@$dbhost:$dbport:"
+if [ $dbpass == false ]; then
+	CONN="psql --user=$dbuser $dbname --host=$dbhost --port=$dbport -w"
+else	
+	CONN="psql --user=$dbuser $dbname --host=$dbhost --port=$dbport --password=$dbpass"
+fi
+
+# Testen, ob die Eingangstabelle exisitiert
+QUERY="${CONN} -c 'SELECT true FROM $table_input LIMIT 1 OFFSET 0' --quiet"
+
+if eval $QUERY &> /dev/null;
+then 
+	echo "Verbindung erfolgreich hergestellt, Eingabetabelle existiert."
+else # Kein Abruf von Tabelle mÃ¶glich - DB-Konfig falsch oder Tabelle nicht existent
+	QUERY="${CONN} -c 'SELECT false' --quiet"
+	if eval $QUERY &> /dev/null;
+	then 
+		echo "Fehler: Eingabetabelle $table_input existiert nicht."
+	else
+		echo "Fehler: Verbindung zum Server konnte nicht hergestellt werden!"
+		echo "Bitte Verbindungseinstellungen ÃŒberprÃŒfen."
+	fi
+	exit 0
+fi
+
+
+# Testen, ob die Ausgabetabelle bereits exisitiert - Abfrage: Ãberschreiben oder Abbruch?
+QUERY="${CONN} -c 'SELECT true FROM $table_output LIMIT 1 OFFSET 0' --quiet"
+
+if eval $QUERY &> /dev/null;
+then 
+	echo "Ausgabetabelle existiert bereits!"
+	
+	response=false
+	if [ $force == true ]; then
+		response=true
+		QUERY="${CONN} -c 'DROP TABLE $table_output' --quiet"
+		eval $QUERY &> /dev/null;
+		echo "Tabelle $table_output gelÃ¶scht."
+	fi
+
+	while [ $response = false ]; do
+		read -p "[L]Ã¶sche Tabelle oder [A]bbruch: " var
+		if [ "$var" = 'L' ]; then
+			response=true
+			QUERY="${CONN} -c 'DROP TABLE $table_output' --quiet"
+			eval $QUERY &> /dev/null;
+			echo "Tabelle $table_output gelÃ¶scht."
+		elif [ "$var" = 'A' ]; then
+			response=true
+			echo "Abbruch durch Benutzer."
+			exit 0
+		fi
+	done
+else # Kein Abruf von Tabelle mÃ¶glich - DB-Konfig falsch oder Tabelle nicht existent
+	QUERY="${CONN} -c 'SELECT false' --quiet"
+	if eval $QUERY &> /dev/null;
+	then 
+		echo "Alle Vorbereitungen zum Prozessieren sind abgeschlossen."
+	else
+		echo "Fehler: Verbindung zum Server konnte nicht hergestellt werden!"
+		echo "Bitte Verbindungseinstellungen ÃŒberprÃŒfen."
+	fi
+fi
+
+# NÃ€chstes "Fenster"
+if [ $force != true ]; then
+	read -p "DrÃŒcken Sie eine beliebige Taste zum Fortfahren: " > /dev/null
+	echo '##            ATKIS-Generalisierung :: Wrapper            ##'
+fi;
+
+if [ $dbpass == false ]; then
+	CONN="psql --user=$dbuser $dbname --host=$dbhost --port=$dbport -w"
+else	
+	CONN="psql --user=$dbuser $dbname --host=$dbhost --port=$dbport --password=$dbpass"
+fi
+
+################################# GENERALISIERUNG per se #################################
+
+time $CONN -c "DROP TABLE IF EXISTS temp0;
+	SELECT path[1] AS path, ST_MakePolygon(ST_ExteriorRing(geom)) AS wkb_geometry, $3::text
+	INTO temp0
+	FROM (
+		SELECT (ST_DumpRings( wkb_geometry )).*, $3
+		FROM $1
+	) AS t1;
+	CREATE INDEX temp0_geomidx ON temp0 USING GIST ( wkb_geometry );
+	DROP SEQUENCE IF EXISTS temp0_geomid_seq;
+	CREATE SEQUENCE temp0_geomid_seq;
+	ALTER TABLE temp0 ADD COLUMN geomid INTEGER;
+	UPDATE temp0 SET geomid = nextval('temp0_geomid_seq');
+	ALTER TABLE temp0 ALTER COLUMN geomid SET DEFAULT nextval('temp0_geomid_seq');
+	-- 
+	DELETE FROM temp0 WHERE path = 0 AND ST_Area( wkb_geometry ) < $4; -- 
+	DELETE FROM temp0 WHERE path <> 0 AND ST_Area( wkb_geometry ) < $5; -- 
+	UPDATE temp0 SET wkb_geometry = ST_Buffer( 
+											ST_Buffer(
+													ST_SimplifyPreserveTopology( wkb_geometry, $6 )
+											, SQRT( $6 ) )
+									, SQRT( $6 ) *-1 )
+	WHERE path = 0;
+	UPDATE temp0 SET wkb_geometry = ST_Buffer( 
+											ST_Buffer(
+													ST_SimplifyPreserveTopology( wkb_geometry, $7 )
+											, SQRT( $7 ) )
+									, SQRT( $7 ) *-1 )
+	WHERE path <> 0;
+	INSERT INTO temp0
+	(wkb_geometry, path, $3)
+	SELECT
+		ST_Buffer(	ST_Buffer( wkb_geometry	, 1.5 ), -1.5 ) AS wkb_geometry,
+		path, $3
+	FROM temp0
+	WHERE NOT ST_IsValid( wkb_geometry );
+	DELETE FROM temp0 WHERE NOT ST_IsValid( wkb_geometry );";
+
+
+time $CONN -c "ALTER TABLE temp0 ADD COLUMN relate VARCHAR;
+	UPDATE temp0 AS t SET relate = 'intersects' 
+	WHERE EXISTS (
+		SELECT 1 
+			FROM map_landesflaeche_g0 AS rlp 
+			WHERE rlp.wkb_geometry && t.wkb_geometry
+			GROUP BY t.wkb_geometry 
+			HAVING ST_Overlaps( ST_Union(rlp.wkb_geometry), t.wkb_geometry )
+	);
+	INSERT INTO temp0 
+	(relate, wkb_geometry, path, $3)
+	SELECT 'clipped' AS relate, proc.wkb_geometry, path, $3
+	FROM (
+		SELECT path, $3, (ST_Dump(wkb_geometry)).geom AS wkb_geometry
+		FROM (
+			SELECT ST_Intersection( lyr, rlp) AS wkb_geometry, path, $3
+			FROM
+			(
+				SELECT path, $3, relate, wkb_geometry AS lyr FROM temp0 
+			) AS w,
+			(
+				SELECT wkb_geometry AS rlp FROM map_landesflaeche
+			) AS l
+			WHERE w.relate = 'intersects' 
+		) AS wrapper
+	) AS proc;
+
+	DELETE FROM temp0 WHERE relate = 'intersects' OR ST_GeometryType( wkb_geometry ) IN ('ST_Point', 'ST_LineString');
+
+	INSERT INTO temp0
+	(relate, wkb_geometry, path, $3 )
+	SELECT relate, (ST_Dump( wkb_geometry )).geom AS wkb_geometry, path, $3
+	FROM temp0
+	WHERE ST_GeometryType( wkb_geometry ) = 'ST_MultiPolygon';
+	DELETE FROM temp0 WHERE ST_GeometryType( wkb_geometry ) = 'ST_MultiPolygon';
+	DROP TABLE IF EXISTS $2;
+
+		SELECT ST_MakePolygon( ST_ExteriorRing(o.wkb_geometry) , ST_Accum(ST_ExteriorRing(i.wkb_geometry)) ) AS wkb_geometry, o.$3
+		INTO $2
+		FROM temp0 AS o
+		INNER JOIN temp0 AS i
+		ON ST_Contains(o.wkb_geometry, i.wkb_geometry) 
+		WHERE o.path = 0 AND NOT (o.wkb_geometry ~= i.wkb_geometry)
+		GROUP BY o.wkb_geometry, o.$3
+	UNION ALL
+		SELECT
+		t0.wkb_geometry, $3
+		FROM temp0 AS t0
+		WHERE NOT EXISTS( SELECT 1 FROM temp0 AS t1 WHERE ST_Contains(t0.wkb_geometry, t1.wkb_geometry) AND NOT (t0.wkb_geometry ~= t1.wkb_geometry) ) AND t0.path = 0;
+	DROP TABLE temp0;
+	CREATE INDEX $2_gidx ON $2 USING GIST ( wkb_geometry );
+	DROP SEQUENCE IF EXISTS $2_gid_seq;
+	CREATE SEQUENCE $2_gid_seq;
+	ALTER TABLE $2 ADD COLUMN gid INTEGER;
+	UPDATE $2 SET gid = nextval('$2_gid_seq');
+	ALTER TABLE $2 ALTER COLUMN gid SET DEFAULT nextval('$2_gid_seq'); 
+	UPDATE $2 SET wkb_geometry = ST_Buffer(ST_Buffer( wkb_geometry, 1), -1) WHERE NOT ST_IsValid( wkb_geometry );
+	UPDATE $2 SET wkb_geometry = (ST_Dump( wkb_geometry )).geom WHERE ST_GeometryType( wkb_geometry ) = 'ST_MultiPolygon'; 
+	REINDEX TABLE $2; " 
Index: branches/0.7/import/atkis_rp_rendering/processing/kacheln.sh
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/kacheln.sh	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/kacheln.sh	(revision 329)
@@ -0,0 +1,236 @@
+#!/bin/bash
+
+source psql.conf
+
+# Die zu verarbeitendenden Tabellen
+# gefolgt vom entsprechenden Geometrietyp
+#
+#	TODO: saubere Array-Struktur ...
+
+#	PROBLEM: unterschiedliche (Anzahl) Spalten:
+# 	wenn alles pauschal prozessiert wird,
+#	werden alle Spalten abgesehen von 'wkb_geometry' und
+#	'widmung' nicht berÃŒcksichtigt! 
+#	Workaround: auxfields...
+
+tables=('map_wald_g0')
+geomtype=('ST_Polygon')
+auxfields=('')
+
+tables+=('map_wald_g1')
+geomtype+=('ST_Polygon')
+auxfields+=('')
+
+tables+=('map_wald_g2')
+geomtype+=('ST_Polygon')
+auxfields+=('')
+
+tables+=('map_wald_g3')
+geomtype+=('ST_Polygon')
+auxfields+=('')
+
+tables+=('map_wald_g4')
+geomtype+=('ST_Polygon')
+auxfields+=('')
+
+tables+=('map_wald_g5')
+geomtype+=('ST_Polygon')
+auxfields+=('')
+
+tables+=('map_wald_g6')
+geomtype+=('ST_Polygon')
+auxfields+=('')
+
+tables+=('map_fluesse_g0')
+geomtype+=('ST_Polygon')
+auxfields+=('')
+
+tables+=('map_fluesse_g1')
+geomtype+=('ST_Polygon')
+auxfields+=('')
+
+tables+=('map_fluesse_g2')
+geomtype+=('ST_Polygon')
+auxfields+=('')
+
+tables+=('map_fluesse_g3')
+geomtype+=('ST_Polygon')
+auxfields+=('')
+
+tables+=('map_fluesse_g4')
+geomtype+=('ST_Polygon')
+auxfields+=('')
+
+tables+=('map_fluesse_g5')
+geomtype+=('ST_Polygon')
+auxfields+=('')
+
+tables+=('map_fluesse_g6')
+geomtype+=('ST_Polygon')
+auxfields+=('')
+
+tables+=('map_baeche_g0')
+geomtype+=('ST_LineString')
+auxfields+=('')
+
+tables+=('map_baeche_g1')
+geomtype+=('ST_LineString')
+auxfields+=('')
+
+tables+=('map_baeche_g2')
+geomtype+=('ST_LineString')
+auxfields+=('')
+
+tables+=('map_baeche_g3')
+geomtype+=('ST_LineString')
+auxfields+=('')
+
+tables+=('map_baeche_g4')
+geomtype+=('ST_LineString')
+auxfields+=('')
+
+tables+=('map_baeche_g5')
+geomtype+=('ST_LineString')
+auxfields+=('')
+
+tables+=('map_baeche_g6')
+geomtype+=('ST_LineString')
+auxfields+=('')
+
+tables+=('map_strasse_g0')
+geomtype+=('ST_LineString')
+auxfields+=('name_, bezeichnung,')
+
+tables+=('map_strasse_g1')
+geomtype+=('ST_LineString')
+auxfields+=('name_, bezeichnung,')
+
+tables+=('map_strasse_g2')
+geomtype+=('ST_LineString')
+auxfields+=('name_, bezeichnung,')
+
+tables+=('map_strasse_g3')
+geomtype+=('ST_LineString')
+auxfields+=('name_, bezeichnung,')
+
+tables+=('map_strasse_g4')
+geomtype+=('ST_LineString')
+auxfields+=('name_, bezeichnung,')
+
+tables+=('map_strasse_g5')
+geomtype+=('ST_LineString')
+auxfields+=('name_, bezeichnung,')
+
+tables+=('map_strasse_g6')
+geomtype+=('ST_LineString')
+auxfields+=('name_, bezeichnung,')
+
+tables+=('map_wege_g0')
+geomtype+=('ST_LineString')
+auxfields+=('')
+
+tables+=('map_wege_g1')
+geomtype+=('ST_LineString')
+auxfields+=('')
+
+tables+=('map_wege_g2')
+geomtype+=('ST_LineString')
+auxfields+=('')
+
+
+
+
+# Es kÃ¶nnen auch noch andere DatensÃ€tze hier geclippt werden.
+# Einfach danach auch das $cells-Array entsprechend erweitern.
+
+# Die zu verwendenden Kacheln: g0=2km, g1=5km, g2=10km, g3=25km, g4=50km
+cells=('map_landesflaeche_g0')  #wald_g0
+cells+=('map_landesflaeche_g0') #wald_g1
+cells+=('map_landesflaeche_g1') #wald_g2
+cells+=('map_landesflaeche_g1') #wald_g3
+cells+=('map_landesflaeche_g2') #wald_g4
+cells+=('map_landesflaeche_g3') #wald_g5
+cells+=('map_landesflaeche_g4') #wald_g6
+
+cells+=('map_landesflaeche_g0') #fluesse_g0
+cells+=('map_landesflaeche_g0') #fluesse_g1
+cells+=('map_landesflaeche_g1') #fluesse_g2
+cells+=('map_landesflaeche_g1') #fluesse_g3
+cells+=('map_landesflaeche_g2') #fluesse_g4
+cells+=('map_landesflaeche_g3') #fluesse_g5
+cells+=('map_landesflaeche_g4') #fluesse_g6
+
+cells+=('map_landesflaeche_g0') #baeche_g0
+cells+=('map_landesflaeche_g0') #baeche_g1
+cells+=('map_landesflaeche_g1') #baeche_g2
+cells+=('map_landesflaeche_g1') #baeche_g3
+cells+=('map_landesflaeche_g2') #baeche_g4
+cells+=('map_landesflaeche_g3') #baeche_g5
+cells+=('map_landesflaeche_g4') #baeche_g6
+
+cells+=('map_landesflaeche_g0') #strasse_g0
+cells+=('map_landesflaeche_g0') #strasse_g1
+cells+=('map_landesflaeche_g1') #strasse_g2
+cells+=('map_landesflaeche_g1') #strasse_g3
+cells+=('map_landesflaeche_g2') #strasse_g4
+cells+=('map_landesflaeche_g3') #strasse_g5
+cells+=('map_landesflaeche_g4') #strasse_g6
+
+cells+=('map_landesflaeche_g0') #wege_g0
+cells+=('map_landesflaeche_g0') #wege_g1
+cells+=('map_landesflaeche_g1') #wege_g2
+####################################################################
+#					ab hier nichts mehr Ã€ndern
+#				do not change anything below this line.
+####################################################################
+
+# Festlegen der Datenbank-Verbindung
+echo "Teste PostGIS-Verbindung zu $dbname auf $dbuser@$dbhost:$dbport:"
+if [ $dbpass == false ]; then
+	CONN="psql --user=$dbuser $dbname --host=$dbhost --port=$dbport -w"
+else	
+	CONN="psql --user=$dbuser $dbname --host=$dbhost --port=$dbport --password=$dbpass"
+fi
+
+
+
+
+#### SCHLEIFE ÃŒber tables ####
+echo ${#tables[@]}
+for (( x=0 ; x < ${#tables[@]}; x++ ))
+do
+	echo -e "\n-----------------------------------------------------------------"
+	echo "Prozessiere ${tables[$x]}:"
+	
+	QUERY="${CONN} -c 'SELECT true FROM ${tables[$x]} LIMIT 1 OFFSET 0' --quiet"
+
+	if eval $QUERY &> /dev/null;
+	then 
+		echo "  Verbindung erfolgreich hergestellt, Eingabetabelle existiert."
+	else # Kein Abruf von Tabelle mÃ¶glich - DB-Konfig falsch oder Tabelle nicht existent
+		QUERY="${CONN} -c 'SELECT false' --quiet"
+		if eval $QUERY &> /dev/null;
+		then 
+			echo "  Fehler: Eingabetabelle ${tables[$x]} existiert nicht."
+		else
+			echo "  Fehler: Verbindung zum Server konnte nicht hergestellt werden!"
+			echo "  Bitte Verbindungseinstellungen ÃŒberprÃŒfen."
+		fi
+		exit 0
+	fi
+	
+	#### PROZESSIERUNG ####
+
+	
+	echo "Geometrie-Layer: ${tables[$x]}, Clipping-Layer: ${cells[$x]}, aux fields: ${auxfields[$x]}"
+	time $CONN -c "DROP TABLE IF EXISTS temp0; 
+	SELECT ${auxfields[$x]} (ST_Dump(ST_Intersection(rlp.wkb_geometry, t.wkb_geometry))).geom AS wkb_geometry, t.widmung
+	INTO temp0
+	FROM ${tables[$x]} t
+	INNER JOIN ${cells[$x]} rlp
+	ON rlp.wkb_geometry && t.wkb_geometry
+	WHERE ST_Intersects( rlp.wkb_geometry, t.wkb_geometry);
+	DELETE FROM ${tables[$x]} ;
+	INSERT INTO ${tables[$x]} (${auxfields[$x]} wkb_geometry, widmung) SELECT ${auxfields[$x]} wkb_geometry, widmung FROM temp0 WHERE ST_GeometryType( wkb_geometry ) = '${geomtype[$x]}';"
+
+done
Index: branches/0.7/import/atkis_rp_rendering/processing/sql/strassen_full.sql
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/sql/strassen_full.sql	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/sql/strassen_full.sql	(revision 329)
@@ -0,0 +1,117 @@
+DROP TABLE IF EXISTS map_strasse_g0;
+--
+SELECT
+(ST_Dump(ST_LineMerge(ST_Collect(ax_strassenachse.wkb_geometry)))).geom AS wkb_geometry, 
+ax_strasse.widmung,
+ax_strasse.name_, 
+CASE 
+  WHEN ax_strasse.widmung = 1301 
+  THEN unnest(regexp_matches(ax_strasse.bezeichnung, E'(A[0-9]+)'))
+  ELSE ax_strasse.bezeichnung
+END AS bezeichnung,
+ax_strasse.strassenschluessel 
+INTO map_strasse_g0
+FROM ax_strasse 
+INNER JOIN alkis_beziehungen 
+ON (alkis_beziehungen.beziehung_zu = ax_strasse.gml_id) 
+INNER JOIN ax_strassenachse ON (ax_strassenachse.gml_id=alkis_beziehungen.beziehung_von)
+GROUP BY name_, bezeichnung, strassenschluessel, widmung;
+--
+DROP SEQUENCE IF EXISTS map_strasse_g0_gid_seq;
+CREATE SEQUENCE map_strasse_g0_gid_seq;
+ALTER TABLE map_strasse_g0 ADD COLUMN gid INTEGER;
+UPDATE map_strasse_g0 SET gid = nextval('map_strasse_g0_gid_seq');
+ALTER TABLE map_strasse_g0 ALTER COLUMN gid SET DEFAULT nextval('map_strasse_g0_gid_seq');
+CREATE INDEX map_strasse_g0_gidx ON map_strasse_g0 USING GIST ( wkb_geometry );
+CREATE INDEX map_strasse_g0_widmung_idx ON map_strasse_g0 (widmung);
+--
+--
+DROP TABLE IF EXISTS map_strasse_g1;
+--
+SELECT ST_SimplifyPreserveTopology(wkb_geometry, 5) AS wkb_geometry, widmung, name_, bezeichnung
+INTO map_strasse_g1
+FROM map_strasse_g0;
+--
+DROP SEQUENCE IF EXISTS map_strasse_g1_gid_seq;
+CREATE SEQUENCE map_strasse_g1_gid_seq;
+ALTER TABLE map_strasse_g1 ADD COLUMN gid INTEGER;
+UPDATE map_strasse_g1 SET gid = nextval('map_strasse_g1_gid_seq');
+ALTER TABLE map_strasse_g1 ALTER COLUMN gid SET DEFAULT nextval('map_strasse_g1_gid_seq');
+CREATE INDEX map_strasse_g1_gidx ON map_strasse_g1 USING GIST ( wkb_geometry );
+CREATE INDEX map_strasse_g1_widmung_idx ON map_strasse_g1 (widmung);
+--
+--
+DROP TABLE IF EXISTS map_strasse_g2;
+--
+SELECT ST_SimplifyPreserveTopology(wkb_geometry, 15) AS wkb_geometry, widmung, name_, bezeichnung
+INTO map_strasse_g2
+FROM map_strasse_g1;
+--
+DROP SEQUENCE IF EXISTS map_strasse_g2_gid_seq;
+CREATE SEQUENCE map_strasse_g2_gid_seq;
+ALTER TABLE map_strasse_g2 ADD COLUMN gid INTEGER;
+UPDATE map_strasse_g2 SET gid = nextval('map_strasse_g2_gid_seq');
+ALTER TABLE map_strasse_g2 ALTER COLUMN gid SET DEFAULT nextval('map_strasse_g2_gid_seq');
+CREATE INDEX map_strasse_g2_gidx ON map_strasse_g2 USING GIST ( wkb_geometry );
+CREATE INDEX map_strasse_g2_widmung_idx ON map_strasse_g2 (widmung);
+--
+--
+DROP TABLE IF EXISTS map_strasse_g3;
+--
+SELECT ST_SimplifyPreserveTopology(wkb_geometry, 35) AS wkb_geometry, widmung, name_, bezeichnung
+INTO map_strasse_g3
+FROM map_strasse_g2;
+--
+DROP SEQUENCE IF EXISTS map_strasse_g3_gid_seq;
+CREATE SEQUENCE map_strasse_g3_gid_seq;
+ALTER TABLE map_strasse_g3 ADD COLUMN gid INTEGER;
+UPDATE map_strasse_g3 SET gid = nextval('map_strasse_g3_gid_seq');
+ALTER TABLE map_strasse_g3 ALTER COLUMN gid SET DEFAULT nextval('map_strasse_g3_gid_seq');
+CREATE INDEX map_strasse_g3_gidx ON map_strasse_g3 USING GIST ( wkb_geometry );
+CREATE INDEX map_strasse_g3_widmung_idx ON map_strasse_g3 (widmung);
+--
+--
+DROP TABLE IF EXISTS map_strasse_g4;
+--
+SELECT ST_SimplifyPreserveTopology(wkb_geometry, 50) AS wkb_geometry, widmung, name_, bezeichnung
+INTO map_strasse_g4
+FROM map_strasse_g3;
+--
+DROP SEQUENCE IF EXISTS map_strasse_g4_gid_seq;
+CREATE SEQUENCE map_strasse_g4_gid_seq;
+ALTER TABLE map_strasse_g4 ADD COLUMN gid INTEGER;
+UPDATE map_strasse_g4 SET gid = nextval('map_strasse_g4_gid_seq');
+ALTER TABLE map_strasse_g4 ALTER COLUMN gid SET DEFAULT nextval('map_strasse_g4_gid_seq');
+CREATE INDEX map_strasse_g4_gidx ON map_strasse_g4 USING GIST ( wkb_geometry );
+CREATE INDEX map_strasse_g4_widmung_idx ON map_strasse_g4 (widmung);
+--
+--
+DROP TABLE IF EXISTS map_strasse_g5;
+--
+SELECT ST_SimplifyPreserveTopology(wkb_geometry, 100) AS wkb_geometry, widmung, name_, bezeichnung
+INTO map_strasse_g5
+FROM map_strasse_g4;
+--
+DROP SEQUENCE IF EXISTS map_strasse_g5_gid_seq;
+CREATE SEQUENCE map_strasse_g5_gid_seq;
+ALTER TABLE map_strasse_g5 ADD COLUMN gid INTEGER;
+UPDATE map_strasse_g5 SET gid = nextval('map_strasse_g5_gid_seq');
+ALTER TABLE map_strasse_g5 ALTER COLUMN gid SET DEFAULT nextval('map_strasse_g5_gid_seq');
+CREATE INDEX map_strasse_g5_gidx ON map_strasse_g5 USING GIST ( wkb_geometry );
+CREATE INDEX map_strasse_g5_widmung_idx ON map_strasse_g5 (widmung);
+--
+--
+DROP TABLE IF EXISTS map_strasse_g6;
+--
+SELECT (ST_Dump(ST_SimplifyPreserveTopology(wkb_geometry, 200))).geom AS wkb_geometry, widmung, name_, bezeichnung
+INTO map_strasse_g6
+FROM map_strasse_g5;
+--
+DROP SEQUENCE IF EXISTS map_strasse_g6_gid_seq;
+CREATE SEQUENCE map_strasse_g6_gid_seq;
+ALTER TABLE map_strasse_g6 ADD COLUMN gid INTEGER;
+UPDATE map_strasse_g6 SET gid = nextval('map_strasse_g6_gid_seq');
+ALTER TABLE map_strasse_g6 ALTER COLUMN gid SET DEFAULT nextval('map_strasse_g6_gid_seq');
+CREATE INDEX map_strasse_g6_gidx ON map_strasse_g6 USING GIST ( wkb_geometry );
+CREATE INDEX map_strasse_g6_widmung_idx ON map_strasse_g6 (widmung);
+--
Index: branches/0.7/import/atkis_rp_rendering/processing/sql/gruenland_prep.sql
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/sql/gruenland_prep.sql	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/sql/gruenland_prep.sql	(revision 329)
@@ -0,0 +1,16 @@
+--
+DROP TABLE IF EXISTS map_gruenland_g0;
+DROP SEQUENCE IF EXISTS map_gruenland_g0_gid_seq;
+--
+SELECT (ST_Dump( ST_Union( ax_landwirtschaft.wkb_geometry ))).geom AS wkb_geometry, vegetationsmerkmal AS widmung
+INTO map_gruenland_g0 
+FROM ax_landwirtschaft 
+WHERE vegetationsmerkmal = 1020  --
+GROUP BY vegetationsmerkmal; 
+--
+CREATE INDEX map_gruenland_g0_gidx ON map_gruenland_g0 USING GIST ( wkb_geometry ); 
+CREATE SEQUENCE map_gruenland_g0_gid_seq;
+ALTER TABLE map_gruenland_g0 ADD COLUMN gid INTEGER;
+UPDATE map_gruenland_g0 SET gid = nextval('map_gruenland_g0_gid_seq');
+ALTER TABLE map_gruenland_g0 ALTER COLUMN gid SET DEFAULT nextval('map_gruenland_g0_gid_seq');
+--
Index: branches/0.7/import/atkis_rp_rendering/processing/sql/ortslage_prep.sql
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/sql/ortslage_prep.sql	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/sql/ortslage_prep.sql	(revision 329)
@@ -0,0 +1,24 @@
+-- map_wald_g0 [Echtdaten, zusammengefasst]
+-- Laufzeit gesamt: 18"
+-- ST_GeometryType(): ST_Polygon
+-- ST_IsSimple(): WAHR
+-- ST_IsEmpty(): FALSE
+-- ST_IsValid(): WAHR
+-- COUNT(*): 3956 
+-- SUM(ST_NPoints()): 612574
+DROP TABLE IF EXISTS map_ortslage_g0;
+DROP SEQUENCE IF EXISTS map_ortslage_g0_gid_seq;
+--
+SELECT (ST_Dump( ST_Union( wkb_geometry ))).geom AS wkb_geometry, name_ AS widmung
+INTO map_ortslage_g0 
+FROM ax_ortslage
+GROUP BY name_;
+--
+CREATE INDEX map_ortslage_g0_gidx ON map_ortslage_g0 USING GIST ( wkb_geometry ); 
+CREATE SEQUENCE map_ortslage_g0_gid_seq;
+ALTER TABLE map_ortslage_g0 ADD COLUMN gid INTEGER;
+UPDATE map_ortslage_g0 SET gid = nextval('map_ortslage_g0_gid_seq');
+ALTER TABLE map_ortslage_g0 ALTER COLUMN gid SET DEFAULT nextval('map_ortslage_g0_gid_seq');
+--
+
+
Index: branches/0.7/import/atkis_rp_rendering/processing/sql/sonderkultur_prep.sql
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/sql/sonderkultur_prep.sql	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/sql/sonderkultur_prep.sql	(revision 329)
@@ -0,0 +1,21 @@
+--
+DROP TABLE IF EXISTS map_sonderkultur_g0;
+DROP SEQUENCE IF EXISTS map_sonderkultur_g0_gid_seq;
+--
+SELECT (ST_Dump( ST_Union( ax_landwirtschaft.wkb_geometry ))).geom AS wkb_geometry, vegetationsmerkmal AS widmung
+INTO map_sonderkultur_g0 
+FROM ax_landwirtschaft 
+WHERE vegetationsmerkmal in ( 
+   1012, -- Hopfen; ohne Signatur - nur FlÃ€chenfÃ€rbung
+   1031,  -- Baumschule; ohne Signatur - dito
+   1040, -- Weingarten; signaturiert
+   1050  -- Obstplantage; signaturiert
+) -- 
+GROUP BY vegetationsmerkmal; 
+--
+CREATE INDEX map_sonderkultur_g0_gidx ON map_sonderkultur_g0 USING GIST ( wkb_geometry ); 
+CREATE SEQUENCE map_sonderkultur_g0_gid_seq;
+ALTER TABLE map_sonderkultur_g0 ADD COLUMN gid INTEGER;
+UPDATE map_sonderkultur_g0 SET gid = nextval('map_sonderkultur_g0_gid_seq');
+ALTER TABLE map_sonderkultur_g0 ALTER COLUMN gid SET DEFAULT nextval('map_sonderkultur_g0_gid_seq');
+--
Index: branches/0.7/import/atkis_rp_rendering/processing/sql/fluesse_full.sql
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/sql/fluesse_full.sql	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/sql/fluesse_full.sql	(revision 329)
@@ -0,0 +1,104 @@
+DROP TABLE IF EXISTS map_fluesse_g0;
+--
+
+SELECT (ST_Dump(ST_Union(ax_fliessgewaesser.wkb_geometry))).geom AS wkb_geometry, ax_wasserlauf.name_ AS widmung
+INTO map_fluesse_g0
+FROM ax_wasserlauf 
+INNER JOIN alkis_beziehungen 
+	ON (alkis_beziehungen.beziehung_zu = ax_wasserlauf.gml_id) 
+INNER JOIN ax_fliessgewaesser 
+	ON (ax_fliessgewaesser.gml_id=alkis_beziehungen.beziehung_von)
+GROUP BY name_
+/*
+--
+UNION ALL 
+--
+SELECT wkb_geometry AS wkb_geometry, NULL AS name_
+FROM ax_gewaesserachse
+*/
+;
+--
+DROP SEQUENCE IF EXISTS map_fluesse_g0_gid_seq;
+CREATE SEQUENCE map_fluesse_g0_gid_seq;
+ALTER TABLE map_fluesse_g0 ADD COLUMN gid INTEGER;
+UPDATE map_fluesse_g0 SET gid = nextval('map_fluesse_g0_gid_seq');
+ALTER TABLE map_fluesse_g0 ALTER COLUMN gid SET DEFAULT nextval('map_fluesse_g0_gid_seq');
+CREATE INDEX map_fluesse_g0_gidx ON map_fluesse_g0 USING GIST ( wkb_geometry );
+--
+--
+DROP TABLE IF EXISTS map_fluesse_g1;
+--
+SELECT (ST_Dump(ST_Buffer(ST_SimplifyPreserveTopology(ST_Buffer(wkb_geometry, 4), 8),-4))).geom AS wkb_geometry, widmung 
+INTO map_fluesse_g1 FROM map_fluesse_g0;
+--
+DROP SEQUENCE IF EXISTS map_fluesse_g1_gid_seq;
+CREATE SEQUENCE map_fluesse_g1_gid_seq;
+ALTER TABLE map_fluesse_g1 ADD COLUMN gid INTEGER;
+UPDATE map_fluesse_g1 SET gid = nextval('map_fluesse_g1_gid_seq');
+ALTER TABLE map_fluesse_g1 ALTER COLUMN gid SET DEFAULT nextval('map_fluesse_g1_gid_seq');
+CREATE INDEX map_fluesse_g1_gidx ON map_fluesse_g1 USING GIST ( wkb_geometry );
+--
+--
+DROP TABLE IF EXISTS map_fluesse_g2;
+--
+SELECT (ST_Dump(ST_SimplifyPreserveTopology(ST_Buffer(ST_Buffer(wkb_geometry, 8), -8),30))).geom AS wkb_geometry, widmung INTO map_fluesse_g2 FROM map_fluesse_g1;
+--
+DROP SEQUENCE IF EXISTS map_fluesse_g2_gid_seq;
+CREATE SEQUENCE map_fluesse_g2_gid_seq;
+ALTER TABLE map_fluesse_g2 ADD COLUMN gid INTEGER;
+UPDATE map_fluesse_g2 SET gid = nextval('map_fluesse_g2_gid_seq');
+ALTER TABLE map_fluesse_g2 ALTER COLUMN gid SET DEFAULT nextval('map_fluesse_g2_gid_seq');
+CREATE INDEX map_fluesse_g2_gidx ON map_fluesse_g2 USING GIST ( wkb_geometry );
+--
+--
+--
+DROP TABLE IF EXISTS map_fluesse_g3;
+--
+SELECT wkb_geometry, widmung INTO map_fluesse_g3 FROM map_fluesse_g2;
+--
+DROP SEQUENCE IF EXISTS map_fluesse_g3_gid_seq;
+CREATE SEQUENCE map_fluesse_g3_gid_seq;
+ALTER TABLE map_fluesse_g3 ADD COLUMN gid INTEGER;
+UPDATE map_fluesse_g3 SET gid = nextval('map_fluesse_g3_gid_seq');
+ALTER TABLE map_fluesse_g3 ALTER COLUMN gid SET DEFAULT nextval('map_fluesse_g3_gid_seq');
+CREATE INDEX map_fluesse_g3_gidx ON map_fluesse_g3 USING GIST ( wkb_geometry );
+--
+--
+DROP TABLE IF EXISTS map_fluesse_g4;
+--
+SELECT wkb_geometry, widmung INTO map_fluesse_g4 FROM map_fluesse_g3;
+--
+DROP SEQUENCE IF EXISTS map_fluesse_g4_gid_seq;
+CREATE SEQUENCE map_fluesse_g4_gid_seq;
+ALTER TABLE map_fluesse_g4 ADD COLUMN gid INTEGER;
+UPDATE map_fluesse_g4 SET gid = nextval('map_fluesse_g4_gid_seq');
+ALTER TABLE map_fluesse_g4 ALTER COLUMN gid SET DEFAULT nextval('map_fluesse_g4_gid_seq');
+CREATE INDEX map_fluesse_g4_gidx ON map_fluesse_g4 USING GIST ( wkb_geometry );
+--
+--
+DROP TABLE IF EXISTS map_fluesse_g5;
+--
+SELECT wkb_geometry, widmung INTO map_fluesse_g5 FROM map_fluesse_g4;
+--
+DROP SEQUENCE IF EXISTS map_fluesse_g5_gid_seq;
+CREATE SEQUENCE map_fluesse_g5_gid_seq;
+ALTER TABLE map_fluesse_g5 ADD COLUMN gid INTEGER;
+UPDATE map_fluesse_g5 SET gid = nextval('map_fluesse_g5_gid_seq');
+ALTER TABLE map_fluesse_g5 ALTER COLUMN gid SET DEFAULT nextval('map_fluesse_g5_gid_seq');
+CREATE INDEX map_fluesse_g5_gidx ON map_fluesse_g5 USING GIST ( wkb_geometry );
+--
+--
+DROP TABLE IF EXISTS map_fluesse_g6;
+--
+SELECT wkb_geometry, widmung INTO map_fluesse_g6 FROM map_fluesse_g5;
+--
+DROP SEQUENCE IF EXISTS map_fluesse_g6_gid_seq;
+CREATE SEQUENCE map_fluesse_g6_gid_seq;
+ALTER TABLE map_fluesse_g6 ADD COLUMN gid INTEGER;
+UPDATE map_fluesse_g6 SET gid = nextval('map_fluesse_g6_gid_seq');
+ALTER TABLE map_fluesse_g6 ALTER COLUMN gid SET DEFAULT nextval('map_fluesse_g6_gid_seq');
+CREATE INDEX map_fluesse_g6_gidx ON map_fluesse_g6 USING GIST ( wkb_geometry );
+
+
+
+
Index: branches/0.7/import/atkis_rp_rendering/processing/sql/baeche_full.sql
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/sql/baeche_full.sql	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/sql/baeche_full.sql	(revision 329)
@@ -0,0 +1,102 @@
+DROP TABLE IF EXISTS ax_gewaesserachse_merged;
+--
+SELECT ax_gewaesserachse.wkb_geometry, ax_wasserlauf.name_ as widmung into ax_gewaesserachse_merged from ax_wasserlauf INNER JOIN alkis_beziehungen ON (alkis_beziehungen.beziehung_zu = ax_wasserlauf.gml_id) INNER JOIN ax_gewaesserachse ON 
+(ax_gewaesserachse.gml_id=alkis_beziehungen.beziehung_von);
+--
+DROP TABLE IF EXISTS map_baeche_g0;
+--
+SELECT (ST_Dump(ST_Linemerge(ST_Collect(ST_SimplifyPreserveTopology( wkb_geometry, 2.5 ))))).geom AS wkb_geometry,
+widmung
+INTO map_baeche_g0 
+FROM ax_gewaesserachse_merged GROUP BY ax_gewaesserachse_merged.widmung;
+--
+DROP SEQUENCE IF EXISTS map_baeche_g0_gid_seq;
+CREATE SEQUENCE map_baeche_g0_gid_seq;
+ALTER TABLE map_baeche_g0 ADD COLUMN gid INTEGER;
+UPDATE map_baeche_g0 SET gid = nextval('map_baeche_g0_gid_seq');
+ALTER TABLE map_baeche_g0 ALTER COLUMN gid SET DEFAULT nextval('map_baeche_g0_gid_seq');
+CREATE INDEX map_baeche_g0_gidx ON map_baeche_g0 USING GIST ( wkb_geometry );
+--
+--
+DROP TABLE IF EXISTS map_baeche_g1;
+--
+SELECT (ST_Dump(ST_SimplifyPreserveTopology( wkb_geometry, 5 ))).geom AS wkb_geometry, widmung
+INTO map_baeche_g1 
+FROM map_baeche_g0;
+--
+DROP SEQUENCE IF EXISTS map_baeche_g1_gid_seq;
+CREATE SEQUENCE map_baeche_g1_gid_seq;
+ALTER TABLE map_baeche_g1 ADD COLUMN gid INTEGER;
+UPDATE map_baeche_g1 SET gid = nextval('map_baeche_g1_gid_seq');
+ALTER TABLE map_baeche_g1 ALTER COLUMN gid SET DEFAULT nextval('map_baeche_g1_gid_seq');
+CREATE INDEX map_baeche_g1_gidx ON map_baeche_g1 USING GIST ( wkb_geometry );
+--
+--
+DROP TABLE IF EXISTS map_baeche_g2;
+--
+SELECT (ST_Dump(ST_SimplifyPreserveTopology( wkb_geometry, 15 ))).geom AS wkb_geometry, widmung
+INTO map_baeche_g2 
+FROM map_baeche_g1;
+--
+DROP SEQUENCE IF EXISTS map_baeche_g2_gid_seq;
+CREATE SEQUENCE map_baeche_g2_gid_seq;
+ALTER TABLE map_baeche_g2 ADD COLUMN gid INTEGER;
+UPDATE map_baeche_g2 SET gid = nextval('map_baeche_g2_gid_seq');
+ALTER TABLE map_baeche_g2 ALTER COLUMN gid SET DEFAULT nextval('map_baeche_g2_gid_seq');
+CREATE INDEX map_baeche_g2_gidx ON map_baeche_g2 USING GIST ( wkb_geometry );
+--
+--
+DROP TABLE IF EXISTS map_baeche_g3;
+--
+SELECT (ST_Dump(ST_SimplifyPreserveTopology( wkb_geometry, 35 ))).geom AS wkb_geometry, widmung
+INTO map_baeche_g3 
+FROM map_baeche_g2;
+--
+DROP SEQUENCE IF EXISTS map_baeche_g3_gid_seq;
+CREATE SEQUENCE map_baeche_g3_gid_seq;
+ALTER TABLE map_baeche_g3 ADD COLUMN gid INTEGER;
+UPDATE map_baeche_g3 SET gid = nextval('map_baeche_g3_gid_seq');
+ALTER TABLE map_baeche_g3 ALTER COLUMN gid SET DEFAULT nextval('map_baeche_g3_gid_seq');
+CREATE INDEX map_baeche_g3_gidx ON map_baeche_g3 USING GIST ( wkb_geometry );
+--
+--
+DROP TABLE IF EXISTS map_baeche_g4;
+--
+SELECT (ST_Dump(ST_SimplifyPreserveTopology( wkb_geometry, 65 ))).geom AS wkb_geometry, widmung
+INTO map_baeche_g4 
+FROM map_baeche_g3;
+--
+DROP SEQUENCE IF EXISTS map_baeche_g4_gid_seq;
+CREATE SEQUENCE map_baeche_g4_gid_seq;
+ALTER TABLE map_baeche_g4 ADD COLUMN gid INTEGER;
+UPDATE map_baeche_g4 SET gid = nextval('map_baeche_g4_gid_seq');
+ALTER TABLE map_baeche_g4 ALTER COLUMN gid SET DEFAULT nextval('map_baeche_g4_gid_seq');
+CREATE INDEX map_baeche_g4_gidx ON map_baeche_g4 USING GIST ( wkb_geometry );
+--
+--
+DROP TABLE IF EXISTS map_baeche_g5;
+--
+SELECT (ST_Dump(ST_SimplifyPreserveTopology( wkb_geometry, 125 ))).geom AS wkb_geometry, widmung
+INTO map_baeche_g5 
+FROM map_baeche_g4;
+--
+DROP SEQUENCE IF EXISTS map_baeche_g5_gid_seq;
+CREATE SEQUENCE map_baeche_g5_gid_seq;
+ALTER TABLE map_baeche_g5 ADD COLUMN gid INTEGER;
+UPDATE map_baeche_g5 SET gid = nextval('map_baeche_g5_gid_seq');
+ALTER TABLE map_baeche_g5 ALTER COLUMN gid SET DEFAULT nextval('map_baeche_g5_gid_seq');
+CREATE INDEX map_baeche_g5_gidx ON map_baeche_g5 USING GIST ( wkb_geometry );
+--
+--
+DROP TABLE IF EXISTS map_baeche_g6;
+--
+SELECT (ST_Dump(ST_SimplifyPreserveTopology( wkb_geometry, 250 ))).geom AS wkb_geometry, widmung
+INTO map_baeche_g6 
+FROM map_baeche_g5;
+--
+DROP SEQUENCE IF EXISTS map_baeche_g6_gid_seq;
+CREATE SEQUENCE map_baeche_g6_gid_seq;
+ALTER TABLE map_baeche_g6 ADD COLUMN gid INTEGER;
+UPDATE map_baeche_g6 SET gid = nextval('map_baeche_g6_gid_seq');
+ALTER TABLE map_baeche_g6 ALTER COLUMN gid SET DEFAULT nextval('map_baeche_g6_gid_seq');
+CREATE INDEX map_baeche_g6_gidx ON map_baeche_g6 USING GIST ( wkb_geometry );
Index: branches/0.7/import/atkis_rp_rendering/processing/sql/wege_full.sql
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/sql/wege_full.sql	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/sql/wege_full.sql	(revision 329)
@@ -0,0 +1,50 @@
+DROP TABLE IF EXISTS map_wege_g0;
+--
+SELECT
+(ST_Dump(ST_LineMerge(ST_Collect(ax_fahrwegachse.wkb_geometry)))).geom AS wkb_geometry, 
+NULL::text AS widmung
+INTO map_wege_g0
+FROM ax_fahrwegachse;
+--
+DROP SEQUENCE IF EXISTS map_wege_g0_gid_seq;
+CREATE SEQUENCE map_wege_g0_gid_seq;
+ALTER TABLE map_wege_g0 ADD COLUMN gid INTEGER;
+UPDATE map_wege_g0 SET gid = nextval('map_wege_g0_gid_seq');
+ALTER TABLE map_wege_g0 ALTER COLUMN gid SET DEFAULT nextval('map_wege_g0_gid_seq');
+CREATE INDEX map_wege_g0_gidx ON map_wege_g0 USING GIST ( wkb_geometry );
+CREATE INDEX map_wege_g0_widmung_idx ON map_wege_g0 (widmung);
+--
+--
+DROP TABLE IF EXISTS map_wege_g1;
+--
+
+SELECT ST_SimplifyPreserveTopology(wkb_geometry, 5) AS wkb_geometry, widmung
+INTO map_wege_g1
+FROM map_wege_g0
+WHERE ST_Length( wkb_geometry ) > 5;
+--
+DROP SEQUENCE IF EXISTS map_wege_g1_gid_seq;
+CREATE SEQUENCE map_wege_g1_gid_seq;
+ALTER TABLE map_wege_g1 ADD COLUMN gid INTEGER;
+UPDATE map_wege_g1 SET gid = nextval('map_wege_g1_gid_seq');
+ALTER TABLE map_wege_g1 ALTER COLUMN gid SET DEFAULT nextval('map_wege_g1_gid_seq');
+CREATE INDEX map_wege_g1_gidx ON map_wege_g1 USING GIST ( wkb_geometry );
+CREATE INDEX map_wege_g1_widmung_idx ON map_wege_g1 (widmung);
+--
+--
+DROP TABLE IF EXISTS map_wege_g2;
+--
+SELECT ST_SimplifyPreserveTopology(wkb_geometry, 15) AS wkb_geometry, widmung
+INTO map_wege_g2
+FROM map_wege_g1
+WHERE ST_Length( wkb_geometry ) > 15;
+--
+DROP SEQUENCE IF EXISTS map_wege_g2_gid_seq;
+CREATE SEQUENCE map_wege_g2_gid_seq;
+ALTER TABLE map_wege_g2 ADD COLUMN gid INTEGER;
+UPDATE map_wege_g2 SET gid = nextval('map_wege_g2_gid_seq');
+ALTER TABLE map_wege_g2 ALTER COLUMN gid SET DEFAULT nextval('map_wege_g2_gid_seq');
+CREATE INDEX map_wege_g2_gidx ON map_wege_g2 USING GIST ( wkb_geometry );
+CREATE INDEX map_wege_g2_widmung_idx ON map_wege_g2 (widmung);
+--
+--
Index: branches/0.7/import/atkis_rp_rendering/processing/sql/bahn_full.sql
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/sql/bahn_full.sql	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/sql/bahn_full.sql	(revision 329)
@@ -0,0 +1,79 @@
+DROP TABLE IF EXISTS map_bahn_g0;
+--
+SELECT
+(ST_Dump(ST_LineMerge(ST_Collect(ST_SimplifyPreserveTopology(ax_bahnstrecke.wkb_geometry, 2.5))))).geom AS wkb_geometry, NULL::text AS widmung
+INTO map_bahn_g0
+FROM ax_bahnstrecke;
+--
+DROP SEQUENCE IF EXISTS map_bahn_g0_gid_seq;
+CREATE SEQUENCE map_bahn_g0_gid_seq;
+ALTER TABLE map_bahn_g0 ADD COLUMN gid INTEGER;
+UPDATE map_bahn_g0 SET gid = nextval('map_bahn_g0_gid_seq');
+ALTER TABLE map_bahn_g0 ALTER COLUMN gid SET DEFAULT nextval('map_bahn_g0_gid_seq');
+CREATE INDEX map_bahn_g0_gidx ON map_bahn_g0 USING GIST ( wkb_geometry );
+CREATE INDEX map_bahn_g0_widmung_idx ON map_bahn_g0 (widmung);
+--
+--
+DROP TABLE IF EXISTS map_bahn_g1;
+--
+
+SELECT ST_SimplifyPreserveTopology(wkb_geometry, 5) AS wkb_geometry, widmung
+INTO map_bahn_g1
+FROM map_bahn_g0
+WHERE ST_Length( wkb_geometry ) > 45;
+--
+DROP SEQUENCE IF EXISTS map_bahn_g1_gid_seq;
+CREATE SEQUENCE map_bahn_g1_gid_seq;
+ALTER TABLE map_bahn_g1 ADD COLUMN gid INTEGER;
+UPDATE map_bahn_g1 SET gid = nextval('map_bahn_g1_gid_seq');
+ALTER TABLE map_bahn_g1 ALTER COLUMN gid SET DEFAULT nextval('map_bahn_g1_gid_seq');
+CREATE INDEX map_bahn_g1_gidx ON map_bahn_g1 USING GIST ( wkb_geometry );
+CREATE INDEX map_bahn_g1_widmung_idx ON map_bahn_g1 (widmung);
+--
+--
+DROP TABLE IF EXISTS map_bahn_g2;
+--
+SELECT ST_SimplifyPreserveTopology(wkb_geometry, 25) AS wkb_geometry, widmung
+INTO map_bahn_g2
+FROM map_bahn_g1
+WHERE ST_Length( wkb_geometry ) > 90;
+--
+DROP SEQUENCE IF EXISTS map_bahn_g2_gid_seq;
+CREATE SEQUENCE map_bahn_g2_gid_seq;
+ALTER TABLE map_bahn_g2 ADD COLUMN gid INTEGER;
+UPDATE map_bahn_g2 SET gid = nextval('map_bahn_g2_gid_seq');
+ALTER TABLE map_bahn_g2 ALTER COLUMN gid SET DEFAULT nextval('map_bahn_g2_gid_seq');
+CREATE INDEX map_bahn_g2_gidx ON map_bahn_g2 USING GIST ( wkb_geometry );
+CREATE INDEX map_bahn_g2_widmung_idx ON map_bahn_g2 (widmung);
+--
+--
+DROP TABLE IF EXISTS map_bahn_g3;
+--
+SELECT ST_SimplifyPreserveTopology(wkb_geometry, 50) AS wkb_geometry, widmung
+INTO map_bahn_g3
+FROM map_bahn_g2
+WHERE ST_Length( wkb_geometry ) > 90;
+--
+DROP SEQUENCE IF EXISTS map_bahn_g3_gid_seq;
+CREATE SEQUENCE map_bahn_g3_gid_seq;
+ALTER TABLE map_bahn_g3 ADD COLUMN gid INTEGER;
+UPDATE map_bahn_g3 SET gid = nextval('map_bahn_g3_gid_seq');
+ALTER TABLE map_bahn_g3 ALTER COLUMN gid SET DEFAULT nextval('map_bahn_g3_gid_seq');
+CREATE INDEX map_bahn_g3_gidx ON map_bahn_g3 USING GIST ( wkb_geometry );
+CREATE INDEX map_bahn_g3_widmung_idx ON map_bahn_g3 (widmung);
+--
+--
+DROP TABLE IF EXISTS map_bahn_g4;
+--
+SELECT ST_SimplifyPreserveTopology(wkb_geometry, 150) AS wkb_geometry, widmung
+INTO map_bahn_g4
+FROM map_bahn_g3
+WHERE ST_Length( wkb_geometry ) > 90;
+--
+DROP SEQUENCE IF EXISTS map_bahn_g4_gid_seq;
+CREATE SEQUENCE map_bahn_g4_gid_seq;
+ALTER TABLE map_bahn_g4 ADD COLUMN gid INTEGER;
+UPDATE map_bahn_g4 SET gid = nextval('map_bahn_g4_gid_seq');
+ALTER TABLE map_bahn_g4 ALTER COLUMN gid SET DEFAULT nextval('map_bahn_g4_gid_seq');
+CREATE INDEX map_bahn_g4_gidx ON map_bahn_g4 USING GIST ( wkb_geometry );
+CREATE INDEX map_bahn_g4_widmung_idx ON map_bahn_g4 (widmung);
Index: branches/0.7/import/atkis_rp_rendering/processing/sql/industrie_prep.sql
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/sql/industrie_prep.sql	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/sql/industrie_prep.sql	(revision 329)
@@ -0,0 +1,15 @@
+DROP TABLE IF EXISTS map_industrie_g0;
+DROP SEQUENCE IF EXISTS map_industrie_g0_gid_seq;
+--
+SELECT (ST_Dump( ST_Union( ax_industrieundgewerbeflaeche.wkb_geometry ))).geom AS wkb_geometry, funktion AS widmung
+INTO map_industrie_g0 
+FROM ax_industrieundgewerbeflaeche 
+--WHERE (funktion IS NULL OR funktion in (..??..))
+GROUP BY funktion; 
+--
+CREATE INDEX map_industrie_g0_gidx ON map_industrie_g0 USING GIST ( wkb_geometry ); 
+CREATE SEQUENCE map_industrie_g0_gid_seq;
+ALTER TABLE map_industrie_g0 ADD COLUMN gid INTEGER;
+UPDATE map_industrie_g0 SET gid = nextval('map_industrie_g0_gid_seq');
+ALTER TABLE map_industrie_g0 ALTER COLUMN gid SET DEFAULT nextval('map_industrie_g0_gid_seq');
+----
Index: branches/0.7/import/atkis_rp_rendering/processing/sql/wald_prep.sql
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/sql/wald_prep.sql	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/sql/wald_prep.sql	(revision 329)
@@ -0,0 +1,43 @@
+-- map_wald_g0 [Echtdaten, zusammengefasst nach Vegetationsmerkmal]
+-- Laufzeit gesamt: 364"
+-- ST_GeometryType(): ST_Polygon
+-- ST_IsSimple(): WAHR
+-- ST_IsEmpty(): FALSE
+-- ST_IsValid(): WAHR
+-- COUNT(*): 55019
+-- SUM(ST_NPoints()): 4058371
+DROP TABLE IF EXISTS map_wald_g0;
+DROP SEQUENCE IF EXISTS map_wald_g0_gid_seq;
+--
+SELECT (ST_Dump( ST_Union( ax_wald.wkb_geometry ))).geom AS wkb_geometry, vegetationsmerkmal AS widmung
+INTO map_wald_g0 
+FROM ax_wald 
+GROUP BY vegetationsmerkmal; 
+--
+CREATE INDEX map_wald_g0_gidx ON map_wald_g0 USING GIST ( wkb_geometry ); 
+CREATE SEQUENCE map_wald_g0_gid_seq;
+ALTER TABLE map_wald_g0 ADD COLUMN gid INTEGER;
+UPDATE map_wald_g0 SET gid = nextval('map_wald_g0_gid_seq');
+ALTER TABLE map_wald_g0 ALTER COLUMN gid SET DEFAULT nextval('map_wald_g0_gid_seq');
+--
+--
+DROP TABLE IF EXISTS map_wald_g1;
+DROP SEQUENCE IF EXISTS map_wald_g1_gid_seq;
+--
+-- map_wald_g1 [Echtdaten, keine Differenzierung mehr nach Vegetationsart]
+-- Laufzeit gesamt: 563"
+-- ST_GeometryType(): ST_Polygon
+-- ST_IsSimple(): WAHR
+-- ST_IsEmpty(): FALSCH
+-- ST_IsValid(): WAHR
+-- COUNT(*): 19164
+-- SUM(ST_NPoints()): 1958223
+SELECT (ST_Dump(ST_Union( wkb_geometry ))).geom AS wkb_geometry, NULL::text AS widmung 
+INTO map_wald_g1 
+FROM map_wald_g0;
+-- Index und Sequenz
+CREATE INDEX map_wald_g1_gidx ON map_wald_g1 USING GIST ( wkb_geometry ); 
+CREATE SEQUENCE map_wald_g1_gid_seq;
+ALTER TABLE map_wald_g1 ADD COLUMN gid INTEGER;
+UPDATE map_wald_g1 SET gid = nextval('map_wald_g1_gid_seq');
+ALTER TABLE map_wald_g1 ALTER COLUMN gid SET DEFAULT nextval('map_wald_g1_gid_seq');
Index: branches/0.7/import/atkis_rp_rendering/processing/sql/landesflaeche.sql
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/sql/landesflaeche.sql	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/sql/landesflaeche.sql	(revision 329)
@@ -0,0 +1,148 @@
+-----------------------------------------
+-----------------------------------------
+--  LandesflÃ€che [Umriss, gefÃŒllt]
+--  alles in einer Tabelle 
+--  (keine Attributierungen)
+--  t gesamt: 30s
+-----------------------------------------
+-----------------------------------------
+--
+-- Erstellen eines Polygons der LandesflÃ€che RLP
+DROP TABLE IF EXISTS map_landesflaeche;
+--
+SELECT ST_BuildArea(ST_ExteriorRing(ST_Union( wkb_geometry ))) AS wkb_geometry
+INTO map_landesflaeche
+FROM ax_kommunalesgebiet;
+--
+CREATE INDEX map_landesflaeche_gidx ON map_landesflaeche USING GIST ( wkb_geometry );
+--
+DROP SEQUENCE IF EXISTS map_landesflaeche_gid_seq;
+CREATE SEQUENCE map_landesflaeche_gid_seq;
+ALTER TABLE map_landesflaeche ADD COLUMN gid INTEGER;
+UPDATE map_landesflaeche SET gid = nextval('map_landesflaeche_gid_seq');
+ALTER TABLE map_landesflaeche ALTER COLUMN gid SET DEFAULT nextval('map_landesflaeche_gid_seq');
+--
+--
+/*
+-- GRID - MUSS NICHT JEDES MAL ERSTELLT WERDEN!
+-- DROP-Statement wird auch nochmal in Funktion selbst aufgerufen
+-- DROP TABLE IF EXISTS map_rlp_kachel_2km, map_rlp_kachel_5km, map_rlp_kachel_10km, map_rlp_kachel_25km, map_rlp_kachel_50km; 
+
+SELECT grid( 'map_rlp_kachel_2km', wkb_geometry, 2000)
+FROM temp0;
+--
+SELECT grid( 'map_rlp_kachel_5km', wkb_geometry, 5000)
+FROM temp0;
+--
+SELECT grid( 'map_rlp_kachel_10km', wkb_geometry, 10000)
+FROM temp0;
+--
+SELECT grid( 'map_rlp_kachel_25km', wkb_geometry, 25000)
+FROM temp0;
+--
+SELECT grid( 'map_rlp_kachel_50km', wkb_geometry, 50000)
+FROM temp0;
+*/
+--
+--
+-------------------------------------------
+-- Clipping des GRID auf Landesgrenzen 
+-- ergibt gekachelte FlÃ€che Rheinland-Pfalz
+-- = Grundlage weiterer rÃ€umlicher Verschneidungen
+-- + performante Darstellung der LandesflÃ€che selbst
+--
+-- 2km Kachelung [g0] 2km
+DROP TABLE IF EXISTS map_landesflaeche_g0;
+--
+SELECT (ST_Dump(ST_Intersection( t.wkb_geometry, g.wkb_geometry ))).geom AS wkb_geometry
+INTO map_landesflaeche_g0
+FROM  map_landesflaeche t
+LEFT JOIN map_rlp_kachel_2km g
+ON ST_Intersects( t.wkb_geometry, g.wkb_geometry );
+--
+CREATE INDEX map_landesflaeche_g0_gidx ON map_landesflaeche_g0 USING GIST ( wkb_geometry );
+--
+DROP SEQUENCE IF EXISTS map_landesflaeche_g0_gid_seq;
+CREATE SEQUENCE map_landesflaeche_g0_gid_seq;
+ALTER TABLE map_landesflaeche_g0 ADD COLUMN gid INTEGER;
+UPDATE map_landesflaeche_g0 SET gid = nextval('map_landesflaeche_g0_gid_seq');
+ALTER TABLE map_landesflaeche_g0 ALTER COLUMN gid SET DEFAULT nextval('map_landesflaeche_g0_gid_seq');
+-- 423s fÃŒr RLP
+--
+--
+-- 5km Kachelung [g1] 5km
+DROP TABLE IF EXISTS map_landesflaeche_g1;
+--
+SELECT (ST_Dump(ST_Intersection( t.wkb_geometry, g.wkb_geometry ))).geom AS wkb_geometry
+INTO map_landesflaeche_g1
+FROM  map_landesflaeche t
+LEFT JOIN map_rlp_kachel_5km g
+ON ST_Intersects( t.wkb_geometry, g.wkb_geometry );
+--
+CREATE INDEX map_landesflaeche_g1_gidx ON map_landesflaeche_g1 USING GIST ( wkb_geometry );
+--
+DROP SEQUENCE IF EXISTS map_landesflaeche_g1_gid_seq;
+CREATE SEQUENCE map_landesflaeche_g1_gid_seq;
+ALTER TABLE map_landesflaeche_g1 ADD COLUMN gid INTEGER;
+UPDATE map_landesflaeche_g1 SET gid = nextval('map_landesflaeche_g1_gid_seq');
+ALTER TABLE map_landesflaeche_g1 ALTER COLUMN gid SET DEFAULT nextval('map_landesflaeche_g1_gid_seq');
+-- 67s fÃŒr RLP
+--
+--
+-- 10km Kachelung [g2] 10km
+DROP TABLE IF EXISTS map_landesflaeche_g2;
+--
+SELECT (ST_Dump(ST_Intersection( t.wkb_geometry, g.wkb_geometry ))).geom AS wkb_geometry
+INTO map_landesflaeche_g2
+FROM  map_landesflaeche t
+LEFT JOIN map_rlp_kachel_10km g
+ON ST_Intersects( t.wkb_geometry, g.wkb_geometry );
+--
+CREATE INDEX map_landesflaeche_g2_gidx ON map_landesflaeche_g2 USING GIST ( wkb_geometry );
+--
+DROP SEQUENCE IF EXISTS map_landesflaeche_g2_gid_seq;
+CREATE SEQUENCE map_landesflaeche_g2_gid_seq;
+ALTER TABLE map_landesflaeche_g2 ADD COLUMN gid INTEGER;
+UPDATE map_landesflaeche_g2 SET gid = nextval('map_landesflaeche_g2_gid_seq');
+ALTER TABLE map_landesflaeche_g2 ALTER COLUMN gid SET DEFAULT nextval('map_landesflaeche_g2_gid_seq');
+-- 17s fÃŒr RLP
+--
+--
+-- 25km Kachelung [g3] 25km
+DROP TABLE IF EXISTS map_landesflaeche_g3;
+--
+SELECT (ST_Dump(ST_Intersection( t.wkb_geometry, g.wkb_geometry ))).geom AS wkb_geometry
+INTO map_landesflaeche_g3
+FROM  map_landesflaeche t
+LEFT JOIN map_rlp_kachel_25km g
+ON ST_Intersects( t.wkb_geometry, g.wkb_geometry );
+--
+CREATE INDEX map_landesflaeche_g3_gidx ON map_landesflaeche_g3 USING GIST ( wkb_geometry );
+--
+DROP SEQUENCE IF EXISTS map_landesflaeche_g3_gid_seq;
+CREATE SEQUENCE map_landesflaeche_g3_gid_seq;
+ALTER TABLE map_landesflaeche_g3 ADD COLUMN gid INTEGER;
+UPDATE map_landesflaeche_g3 SET gid = nextval('map_landesflaeche_g3_gid_seq');
+ALTER TABLE map_landesflaeche_g3 ALTER COLUMN gid SET DEFAULT nextval('map_landesflaeche_g3_gid_seq');
+-- 3s fÃŒr RLP
+--
+--
+-- 50km Kachelung [g4] 50km
+DROP TABLE IF EXISTS map_landesflaeche_g4;
+--
+SELECT (ST_Dump(ST_Intersection( t.wkb_geometry, g.wkb_geometry ))).geom AS wkb_geometry
+INTO map_landesflaeche_g4
+FROM  map_landesflaeche t
+LEFT JOIN map_rlp_kachel_50km g
+ON ST_Intersects( t.wkb_geometry, g.wkb_geometry );
+--
+CREATE INDEX map_landesflaeche_g4_gidx ON map_landesflaeche_g4 USING GIST ( wkb_geometry );
+--
+DROP SEQUENCE IF EXISTS map_landesflaeche_g4_gid_seq;
+CREATE SEQUENCE map_landesflaeche_g4_gid_seq;
+ALTER TABLE map_landesflaeche_g4 ADD COLUMN gid INTEGER;
+UPDATE map_landesflaeche_g4 SET gid = nextval('map_landesflaeche_g4_gid_seq');
+ALTER TABLE map_landesflaeche_g4 ALTER COLUMN gid SET DEFAULT nextval('map_landesflaeche_g4_gid_seq');
+-- 1s fÃŒr RLP 
+--
+
Index: branches/0.7/import/atkis_rp_rendering/processing/sql/stehendesgewaesser_prep.sql
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/sql/stehendesgewaesser_prep.sql	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/sql/stehendesgewaesser_prep.sql	(revision 329)
@@ -0,0 +1,20 @@
+DROP TABLE IF EXISTS map_stehendesgewaesser_g0;
+DROP SEQUENCE IF EXISTS map_stehendesgewaesser_g0_gid_seq;
+--
+
+SELECT 
+wkb_geometry,
+widmung
+INTO map_stehendesgewaesser_g0 
+
+FROM (
+	SELECT (ST_Dump( ST_Union( ax_stehendesgewaesser.wkb_geometry ))).geom AS wkb_geometry, unverschluesselt as widmung 
+	FROM ax_stehendesgewaesser GROUP BY widmung 
+) AS wrapper; 
+--
+CREATE INDEX map_stehendesgewaesser_g0_gidx ON map_stehendesgewaesser_g0 USING GIST ( wkb_geometry ); 
+CREATE SEQUENCE map_stehendesgewaesser_g0_gid_seq;
+ALTER TABLE map_stehendesgewaesser_g0 ADD COLUMN gid INTEGER;
+UPDATE map_stehendesgewaesser_g0 SET gid = nextval('map_stehendesgewaesser_g0_gid_seq');
+ALTER TABLE map_stehendesgewaesser_g0 ALTER COLUMN gid SET DEFAULT nextval('map_stehendesgewaesser_g0_gid_seq');
+----
Index: branches/0.7/import/atkis_rp_rendering/processing/psql.conf
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/psql.conf	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/psql.conf	(revision 329)
@@ -0,0 +1,6 @@
+# Konfig
+dbname=atkis
+dbhost=10.50.165.220
+dbport=5434
+dbuser=postgres
+dbpass=false
Index: branches/0.7/import/atkis_rp_rendering/processing/functions/function_grid.sql
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/functions/function_grid.sql	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/functions/function_grid.sql	(revision 329)
@@ -0,0 +1,63 @@
+CREATE OR REPLACE FUNCTION grid(text, geometry, integer)
+  RETURNS integer AS
+$BODY$ 
+
+
+DECLARE
+bextent box3d_extent := ST_Extent($2);
+maxx real := ST_XMax( bextent );
+maxy real := ST_YMax( bextent );
+minx real := ST_XMin( bextent );
+miny real := ST_YMin( bextent );
+
+cell geometry := ST_GeometryFromText('POLYGON((0 0, 0 1, 1 1, 2 1, 2 2, 1 2, 1 1, 1 0, 0 0))',25832);
+
+counter integer := 0;
+query text;
+--i integer;
+--j integer;
+
+stepx integer := ceil((maxx-minx)/$3);
+stepy integer := ceil((maxy-miny)/$3);
+
+BEGIN
+
+query := 'DROP TABLE IF EXISTS '||$1||';';
+EXECUTE query;
+query := 'CREATE TABLE '||$1||' (  gid integer );';
+EXECUTE query;
+query := 'SELECT AddGeometryColumn (\'public\',\''||$1||'\',\'wkb_geometry\',25832,\'POLYGON\',2);'; 
+--RAISE NOTICE 'Info: %', query;
+EXECUTE query;
+FOR i IN  0..(stepx-1) LOOP
+	FOR j IN  0..(stepy-1) LOOP
+		 
+		query := 'INSERT INTO '|| $1 ||' (wkb_geometry) VALUES (st_geometryfromtext(\'POLYGON(('
+			|| minx+i*$3 || ' ' || miny+j*$3 || ',' 
+			|| minx+i*$3 || ' ' || miny+(j+1)*$3 || ','
+			|| minx+(i+1)*$3 || ' ' || miny+(j+1)*$3 || ','
+			|| minx+(i+1)*$3 || ' ' || miny+j*$3 || ','
+			|| minx+(i+1)*$3 || ' ' || miny+j*$3 || ','
+			|| minx+i*$3 || ' ' || miny+j*$3 || 
+		      '))\', 25832));';
+		EXECUTE query;
+        counter := counter + 1;
+	END LOOP;
+END LOOP;
+query := 'DROP SEQUENCE IF EXISTS '||$1||'_gid_seq;';
+EXECUTE query;
+
+query := 'CREATE INDEX '||$1||'_gidx ON '||$1||' USING GIST ( wkb_geometry ); 
+	  CREATE SEQUENCE '||$1||'_gid_seq;';
+EXECUTE query;
+query := 'UPDATE '||$1||' SET gid = nextval(\''||$1||'_gid_seq\');
+	  ALTER TABLE '||$1||' ALTER COLUMN gid SET DEFAULT nextval(\''||$1||'_gid_seq\');';
+EXECUTE query;
+
+return counter;
+
+END
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+-- 
Index: branches/0.7/import/atkis_rp_rendering/processing/functions/readme.txt
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/functions/readme.txt	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/functions/readme.txt	(revision 329)
@@ -0,0 +1,20 @@
+Die plpgsql-Funktion grid() benÃ¶tigt drei Parameter:
+
+$1: Name (text) der neu zu erstellenden Tabelle, die die Geometrie der Kacheln enthalten wird (DROP IF EXISTS).
+$2: Name der Geometriespalte (geometry), ÃŒber deren Bounding Box die vier Eckkoordinaten fÃŒr die Kachelung
+	abgeleitet werden.
+$3: Zahlenwert (integer), der angibt, wie groÃ eine KantenlÃ€nge der Kachel sein soll (Angabe in Meter).
+
+Beispielaufruf:
+	SELECT grid('meine_kachel_2km', wkb_geometry, 2000) FROM map_landesflaeche 
+
+Wichtig: 
+	Sollen Kacheln fÃŒr die LandesflÃ€che erstellt werden, mÃŒssen die zugrunde liegenden Daten bereits
+	zu einem Polygon zusammengefasst worden sein.
+
+=> FALSCH:	
+	SELECT grid('meine_kachel_2km', wkb_geometry, 2000) FROM ax_kommunalesgebiet
+
+=> RICHTIG:
+	SELECT grid('meine_kachel_2km', ST_Union(wkb_geometry), 2000) FROM ax_kommunalesgebiet
+
Index: branches/0.7/import/atkis_rp_rendering/processing/batch.sh
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/batch.sh	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/batch.sh	(revision 329)
@@ -0,0 +1,279 @@
+#!/bin/bash
+
+source psql.conf
+
+# Query aufbauen
+if [ $dbpass == false ]; then
+	CONN="psql --user=$dbuser $dbname --host=$dbhost --port=$dbport -w --quiet"
+else	
+	CONN="psql --user=$dbuser $dbname --host=$dbhost --port=$dbport --password=$dbpass --quiet"
+fi
+
+START=$(date +%s)
+
+# Parameter:
+# ./flaechen.sh map_sonderkultur_g0 map_sonderkultur_g1 widmung 10000 5000 10 10 false true
+# Funktion	Eingabelayer	Ausgabelayer	Widmungsfeld	AuÃenpolygonMindestgrÃ¶Ãe InnenpolygonMindestgrÃ¶ÃÃe SimplifyAuÃen SimplifyInnen KachelungsgrÃ¶Ãe[false=keineKachelung] batch-Mode
+
+#############################
+# 0	PRE-PROCESSING
+# 0.1	ERSTELLEN DER KACHELN
+echo 
+echo "-------------------------------------------------------------------------------------------"
+echo "0.1 Kachelung"
+#<<COMMENT0
+time $CONN -c "DROP TABLE IF EXISTS map_rlp_kachel_2km, map_rlp_kachel_5km, map_rlp_kachel_10km, map_rlp_kachel_25km, map_rlp_kachel_50km;
+				SELECT grid( 'map_rlp_kachel_2km', ST_ExteriorRing(ST_Union(wkb_geometry)), 2000) FROM ax_kommunalesgebiet;
+				SELECT grid( 'map_rlp_kachel_5km', ST_ExteriorRing(ST_Union(wkb_geometry)), 5000) FROM ax_kommunalesgebiet;
+				SELECT grid( 'map_rlp_kachel_10km', ST_ExteriorRing(ST_Union(wkb_geometry)), 10000) FROM ax_kommunalesgebiet;
+				SELECT grid( 'map_rlp_kachel_25km', ST_ExteriorRing(ST_Union(wkb_geometry)), 25000) FROM ax_kommunalesgebiet;
+				SELECT grid( 'map_rlp_kachel_50km', ST_ExteriorRing(ST_Union(wkb_geometry)), 50000) FROM ax_kommunalesgebiet;"
+echo "  - Prozessierung abgeschlossen"
+#COMMENT0
+#echo "  - Wird nicht neu prozessiert"
+sleep 1
+
+# 1.	FLÃCHENHAFTE OBJEKTE
+# 1.1	LANDESFLÃCHE und KACHELUNG ÃŒber die Grids
+echo 
+echo "-------------------------------------------------------------------------------------------"
+echo "1.1 LandesflÃ€che"
+time $CONN -f sql/landesflaeche.sql
+echo "  - Abgeschlossen"
+#echo "  - Wird nicht neu prozessiert"
+sleep 1
+
+
+
+# 1.2	WALDFlÃ€chen
+# Vorprozessierung
+echo 
+echo "-------------------------------------------------------------------------------------------"
+echo "1.2 WaldflÃ€chen"
+time $CONN -f sql/wald_prep.sql
+echo "  - g0 [1:7500] & g1 [1:17500] abgeschlossen"
+sleep 1
+./flaechen.sh map_wald_g1 map_wald_g2 widmung 25000 10000 25 20 false true
+echo "  - g1->g2 [1:50000] abgeschlossen"
+sleep 1
+./flaechen.sh map_wald_g2 map_wald_g3 widmung 50000 30000 65 50 false true
+echo "  - g2->g3 [1:100000] abgeschlossen"
+sleep 1
+./flaechen.sh map_wald_g3 map_wald_g4 widmung 85000 55000 100 75 false true
+echo "  - g3->g4 [1:300000] abgeschlossen"
+sleep 1
+./flaechen.sh map_wald_g4 map_wald_g5 widmung 100000 85000 200 150 false true
+echo "  - g4->g5 [1:750000] abgeschlossen"
+sleep 1
+./flaechen.sh map_wald_g5 map_wald_g6 widmung 1000000 1000000 350 350 false true
+echo "  - g5->g6 [1:infinite] abgeschlossen"
+sleep 1
+
+
+# 1.3	ORTSLAGEN
+# Vorprozessierung
+echo 
+echo "-------------------------------------------------------------------------------------------"
+echo "1.3 Ortslagen"
+time $CONN -f sql/ortslage_prep.sql
+sleep 1
+echo "  - Vorprozessierung abgeschlossen"
+./flaechen.sh map_ortslage_g0 map_ortslage_g1 widmung 10000 5000 10 10 false true
+echo "  - g0->g1 [1:17500] abgeschlossen"
+sleep 1
+./flaechen.sh map_ortslage_g1 map_ortslage_g2 widmung 25000 10000 25 20 false true
+echo "  - g1->g2 [1:50000] abgeschlossen"
+sleep 1
+./flaechen.sh map_ortslage_g2 map_ortslage_g3 widmung 50000 30000 65 50 false true
+echo "  - g2->g3 [1:100000] abgeschlossen"
+sleep 1
+./flaechen.sh map_ortslage_g3 map_ortslage_g4 widmung 85000 55000 100 75 false true
+echo "  - g3->g4 [1:300000] abgeschlossen"
+sleep 1
+./flaechen.sh map_ortslage_g4 map_ortslage_g5 widmung 100000 85000 200 150 false true
+echo "  - g4->g5 [1:750000] abgeschlossen"
+sleep 1
+./flaechen.sh map_ortslage_g5 map_ortslage_g6 widmung 1000000 1000000 350 350 false true
+echo "  - g5->g6 [1:infinite] abgeschlossen"
+sleep 1
+
+
+# 1.4	INDUSTRIE und GEWERBEFLÃCHEN
+# Hier sind noch sehr viele Objekte (>13000) mit funktion NULL belegt!
+echo 
+echo "-------------------------------------------------------------------------------------------"
+echo "1.4 Industrie- und GewerbeflÃ€chen"
+time $CONN -f sql/industrie_prep.sql
+sleep 1
+echo "  - Vorprozessierung abgeschlossen"
+./flaechen.sh map_industrie_g0 map_industrie_g1 widmung 10000 5000 10 10 false true
+echo "  - g0->g1 [1:17500] abgeschlossen"
+sleep 1
+./flaechen.sh map_industrie_g1 map_industrie_g2 widmung 25000 10000 25 20 false true
+echo "  - g1->g2 [1:50000] abgeschlossen"
+sleep 1
+./flaechen.sh map_industrie_g2 map_industrie_g3 widmung 50000 30000 65 50 false true
+echo "  - g2->g3 [1:100000] abgeschlossen"
+sleep 1
+./flaechen.sh map_industrie_g3 map_industrie_g4 widmung 85000 55000 100 75 false true
+echo "  - g3->g4 [1:300000] abgeschlossen"
+sleep 1
+./flaechen.sh map_industrie_g4 map_industrie_g5 widmung 100000 85000 200 150 false true
+echo "  - g4->g5 [1:750000] abgeschlossen"
+sleep 1
+./flaechen.sh map_industrie_g5 map_industrie_g6 widmung 1000000 1000000 350 350 false true
+echo "  - g5->g6 [1:infinite] abgeschlossen"
+sleep 1
+
+echo 
+echo "-------------------------------------------------------------------------------------------"
+echo "1.5 Landwirtschaft -> Derivat 'GrÃŒnland'"
+echo "  - Wird nicht prozessiert"
+<<COMMENT1
+	time $CONN -f sql/gruenland_prep.sql
+	# 414"
+	sleep 1
+	echo "  - Vorprozessierung abgeschlossen"
+	./flaechen.sh map_gruenland_g0 map_gruenland_g1 widmung 10000 5000 10 10 false true
+	echo "  - g0->g1 [1:17500] abgeschlossen"
+	sleep 1
+	./flaechen.sh map_gruenland_g1 map_gruenland_g2 widmung 25000 10000 25 20 false true
+	echo "  - g1->g2 [1:50000] abgeschlossen"
+	sleep 1
+	./flaechen.sh map_gruenland_g2 map_gruenland_g3 widmung 50000 30000 65 50 false true
+	echo "  - g2->g3 [1:100000] abgeschlossen"
+	sleep 1
+	./flaechen.sh map_gruenland_g3 map_gruenland_g4 widmung 85000 55000 100 75 false true
+	echo "  - g3->g4 [1:300000] abgeschlossen"
+	sleep 1
+	./flaechen.sh map_gruenland_g4 map_gruenland_g5 widmung 100000 85000 200 150 false true
+	echo "  - g4->g5 [1:750000] abgeschlossen"
+	sleep 1
+	./flaechen.sh map_gruenland_g5 map_gruenland_g6 widmung 1000000 1000000 350 350 false true
+	echo "  - g5->g6 [1:infinite] abgeschlossen"
+	sleep 1
+COMMENT1
+
+
+# 1.6	SONDERKULTUREN
+# Vorprozessierung
+echo 
+echo "-------------------------------------------------------------------------------------------"
+echo "1.6 Landwirtschaft -> Derivat 'Sonderkulturen'"
+time $CONN -f sql/sonderkultur_prep.sql
+sleep 1
+echo "  - Vorprozessierung abgeschlossen"
+./flaechen.sh map_sonderkultur_g0 map_sonderkultur_g1 widmung 10000 5000 10 10 false true
+echo "  - g0->g1 [1:17500] abgeschlossen"
+sleep 1
+./flaechen.sh map_sonderkultur_g1 map_sonderkultur_g2 widmung 25000 10000 25 20 false true
+echo "  - g1->g2 [1:50000] abgeschlossen"
+sleep 1
+./flaechen.sh map_sonderkultur_g2 map_sonderkultur_g3 widmung 50000 30000 65 50 false true
+echo "  - g2->g3 [1:100000] abgeschlossen"
+sleep 1
+./flaechen.sh map_sonderkultur_g3 map_sonderkultur_g4 widmung 85000 55000 100 75 false true
+echo "  - g3->g4 [1:300000] abgeschlossen"
+sleep 1
+./flaechen.sh map_sonderkultur_g4 map_sonderkultur_g5 widmung 100000 85000 200 150 false true
+echo "  - g4->g5 [1:750000] abgeschlossen"
+sleep 1
+./flaechen.sh map_sonderkultur_g5 map_sonderkultur_g6 widmung 1000000 1000000 350 350 false true
+echo "  - g5->g6 [1:infinite] abgeschlossen"
+sleep 1
+
+
+# 1.7	Stehendes Gewaesser
+# Vorprozessierung
+echo 
+echo "-------------------------------------------------------------------------------------------"
+echo "1.7 Stehendes GewÃ€sser 'See'"
+time $CONN -f sql/stehendesgewaesser_prep.sql
+sleep 1
+echo "  - Vorprozessierung abgeschlossen"
+./flaechen.sh map_stehendesgewaesser_g0 map_stehendesgewaesser_g1 widmung 500 250 5 5 false true
+echo "  - g0->g1 [1:17500] abgeschlossen"
+sleep 1
+./flaechen.sh map_stehendesgewaesser_g1 map_stehendesgewaesser_g2 widmung 1500 500 15 10 false true
+echo "  - g1->g2 [1:50000] abgeschlossen"
+sleep 1
+./flaechen.sh map_stehendesgewaesser_g2 map_stehendesgewaesser_g3 widmung 10000 5000 30 30 false true
+echo "  - g2->g3 [1:100000] abgeschlossen"
+sleep 1
+./flaechen.sh map_stehendesgewaesser_g3 map_stehendesgewaesser_g4 widmung 25000 10000 50 50 false true
+echo "  - g3->g4 [1:300000] abgeschlossen"
+sleep 1
+./flaechen.sh map_stehendesgewaesser_g4 map_stehendesgewaesser_g5 widmung 50000 25000 75 75 false true
+echo "  - g4->g5 [1:750000] abgeschlossen"
+sleep 1
+./flaechen.sh map_stehendesgewaesser_g5 map_stehendesgewaesser_g6 widmung 150000 75000 150 150 false true
+echo "  - g5->g6 [1:infinite] abgeschlossen"
+sleep 1
+
+# 1.8	FlÃŒsse
+echo 
+echo "-------------------------------------------------------------------------------------------"
+echo "1.8 FlieÃgewÃ€sser - FlÃŒsse [Polygone]"
+time $CONN -f sql/fluesse_full.sql
+echo "  - Prozessierung abgeschlossen"
+sleep 1
+
+# 1.	FLÃCHENHAFTE OBJEKTE
+# 1.8	GEBÃUDEGRUNDRISSE
+echo 
+echo "-------------------------------------------------------------------------------------------"
+echo "1.9 GebÃ€ude - Transformation [Polygone]->[Punktsignaturen]"
+time $CONN -f sql/gebaeude_prep.sql
+echo "  - Prozessierung abgeschlossen"
+sleep 1
+
+# 2.	LINIENHAFTE OBJEKTE
+# 2.1	STRASSEN
+echo 
+echo "-------------------------------------------------------------------------------------------"
+echo "2.1 StraÃen"
+time $CONN -f sql/strassen_full.sql
+echo "  - Prozessierung abgeschlossen"
+
+# 2.2	BAHN
+echo 
+echo "-------------------------------------------------------------------------------------------"
+echo "2.3 Bahn"
+time $CONN -f sql/bahn_full.sql
+echo "  - Prozessierung abgeschlossen"
+sleep 1
+
+# 2.3	BÃ€che
+echo 
+echo "-------------------------------------------------------------------------------------------"
+echo "2.4 FlieÃgewÃ€sser - BÃ€che"
+time $CONN -f sql/baeche_full.sql
+echo "  - Prozessierung abgeschlossen"
+sleep 1
+
+# 2.4	Wege
+echo 
+echo "-------------------------------------------------------------------------------------------"
+echo "2.4 Wege"
+time $CONN -f sql/wege_full.sql
+echo "  - Prozessierung abgeschlossen"
+sleep 1
+
+# POST-PROCESSING
+# 3.	KACHELUNG
+echo 
+echo "-------------------------------------------------------------------------------------------"
+echo "3. Kachelung"
+time ./kacheln.sh 
+echo "  - Kachelung abgeschlossen"
+
+
+echo 
+echo "-------------------------------------------------------------------------------------------"
+echo "4. VACUUM ANALYZE"
+time $CONN -c "VACUUM ANALYZE"
+echo "  - Abgeschlossen"
+
+END=$(date +%s)
+DIFF=$(( $END - $START ))
+echo -e "\r\nProzessierung abgeschlossen nach ${DIFF} Sekunden"
Index: branches/0.7/import/atkis_rp_rendering/processing/readme.txt
===================================================================
--- branches/0.7/import/atkis_rp_rendering/processing/readme.txt	(revision 329)
+++ branches/0.7/import/atkis_rp_rendering/processing/readme.txt	(revision 329)
@@ -0,0 +1,16 @@
+Um tagesaktuelle Daten abzuleiten, reicht ein Aufruf der 
+./batch.sh 
+
+Zuvor sollte jedoch
+1. die DB-Konfiguration in psql.conf angepasst werden
+2. sichergestellt werden, dass nicht benÃ¶tigte DatensÃ€tze in batch.sh auskommentiert sind
+3. DatensÃ€tze, die gekachelt werden sollen, in der kacheln.sh aufgefÃŒhrt sind.
+
+
+Im Verzeichnis functions/ liegt der Source fÃŒr die Funktion grid(), die die Ausgangskacheln erstellt.
+Bei einer Datenmigration auf einen neuen Server muss diese Funktion dort aufgespielt werden, bevor 
+man mit dem Prozessieren beginnt.
+
+In sql/ liegen die Quellcodes aller (Vor)Verarbeitungsschritte. Diese kÃ¶nnen je nach Anforderung
+angepasst werden.
+
Index: branches/0.7/import/nutzungsart_metadaten_ORACLE.sql
===================================================================
--- branches/0.7/import/nutzungsart_metadaten_ORACLE.sql	(revision 329)
+++ branches/0.7/import/nutzungsart_metadaten_ORACLE.sql	(revision 329)
@@ -0,0 +1,747 @@
+
+-- ALKIS PostNAS 0.7
+
+-- ======================================================
+-- Zusammenfassung der Tabellen der tatsÃ€chlichen Nutzung
+-- ======================================================
+
+-- Um bei einer Feature.Info (Welche Nutzung an dieser Stelle?) 
+-- oder einer Verschneidung (Welche Nutzungen auf dem FlurstÃŒck?) 
+-- nicht 26 verschiedene Tabellen abfragen zu mÃŒssen, werden die wichtigsten 
+-- Felder dieser Tabellen zusammen gefasst.
+
+-- Teil 2: Laden der statischen Tabellen mit Metadaten und SchlÃŒsseln (Classes)
+
+-- Stand 
+
+--  2012-02-10 PostNAS 07, Umbenennung
+
+set serveroutput on
+set autocommit on
+set feedback off
+set verify off
+
+
+-- Tabellen  l e e r e n 
+DELETE FROM NUTZUNG_META;
+DELETE FROM NUTZUNG_CLASS;
+
+
+-- Ãber die Tabelle "nutzung_meta" wird dokumentiert, welche Felder der Ursprungstabellen 
+-- in die Zielfelder "class" und "info" der zusammen gefassten Tabelle "nutzung" geladen werden,
+
+
+-- ****  Objektbereich: TatsÃ€chliche Nutzung  ****
+
+-- ** Objektartengruppe: Siedlung **
+
+-- 01 REO: ax_Wohnbauflaeche
+
+-- Metadaten:
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (1, 'Siedlung','ax_wohnbauflaeche','WohnbauflÃ€che', 'Art der Bebauung', null);
+
+-- Classes (artderbebauung):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (1, 1000,'Offen',       '"Offen" beschreibt die Bebauung von "WohnbauflÃ€che", die vorwiegend durch einzelstehende GebÃ€ude charakterisiert wird.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (1, 2000,'Geschlossen', '"Geschlossen" beschreibt die Bebauung von "WohnbauflÃ€che", die vorwiegend durch zusammenhÃ€ngende GebÃ€ude charakterisiert wird. Die GebÃ€udeabdeckung ist in der Regel >50 Prozent der WohnbauflÃ€che.');
+
+-- Zustand: 2 Werte
+-- 2100,'AuÃer Betrieb, stillgelegt, verlassen', '"AuÃer Betrieb, stillgelegt; verlassen" bedeutet, dass sich die FlÃ€che nicht mehr in regelmÃ€Ãiger, der Bestimmung entsprechenden Nutzung befindet.');
+-- 8000,'Erweiterung, Neuansiedlung'
+
+
+-- 02 REO: ax_IndustrieUndGewerbeflaeche
+-- -------------------------------------
+-- Metadaten
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (2, 'Siedlung','ax_industrieundgewerbeflaeche','Industrie- und GewerbeflÃ€che', 'Funktion', null);
+
+-- Classes (Funktion):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 1700,'Industrie und Gewerbe', '"Industrie und Gewerbe" bezeichnet FlÃ€chen, auf denen vorwiegend Industrie- und Gewerbebetriebe vorhanden sind. Darin sind GebÃ€ude- und FreiflÃ€chen und die BetriebslÃ€che Lagerplatz enthalten.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 1710,'Produktion');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 1720,'Handwerk');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 1730,'Tankstelle');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 1740,'Lagerplatz', '"Lagerplatz" bezeichnet FlÃ€chen, auf denen inner- und auÃerhalb von GebÃ€uden wirtschaftliche GÃŒter gelagert werden.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 1750,'Transport');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 1760,'Forschung');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 1770,'Grundstoff');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 1780,'Betriebliche Sozialeinrichtung');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 1790,'Werft');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 1400,'Handel und Dienstleistung', '"Handel und Dienstleistung" bezeichnet eine FlÃ€che, auf der vorwiegend GebÃ€ude stehen, in denen Handels- und/oder Dienstleistungsbetriebe ansÃ€ssig sind.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 1410,'Verwaltung, freie Berufe');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 1420,'Bank, Kredit');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 1430,'Versicherung');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 1440,'Handel');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 1450,'Ausstellung, Messe', '"Ausstellung, Messe" bezeichnet eine FlÃ€che mit Ausstellungshallen und sonstigen Einrichtungen zur PrÃ€sentation von Warenmustern.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 1460,'Beherbergung');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 1470,'Restauration');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 1480,'VergnÃŒgung');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 1490,'GÃ€rtnerei', '"GÃ€rtnerei" bezeichnet eine FlÃ€che mit GebÃ€uden, GewÃ€chshÃ€usern und sonstigen Einrichtungen, zur Aufzucht von Blumen und GemÃŒsepflanzen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 2500,'Versorgungsanlage', '"Versorgungsanlage" bezeichnet eine FlÃ€che, auf der vorwiegend Anlagen und GebÃ€ude zur Versorgung der Allgemeinheit mit ElektrizitÃ€t, WÃ€rme und Wasser vorhanden sind.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2501,'GebÃ€ude- und FreiflÃ€che Versorgungsanlage');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2502,'BetriebsflÃ€che Versorgungsanlage');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 2510,'FÃ¶rderanlage', '"FÃ¶rderanlage" bezeichnet eine FlÃ€che mit Einrichtungen zur FÃ¶rderung von ErdÃ¶l, Erdgas, Sole, KohlensÃ€ure oder ErdwÃ€rme aus dem Erdinneren.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 2520,'Wasserwerk', '"Wasserwerk" bezeichnet eine FlÃ€che mit Bauwerken und sonstigen Einrichtungen zur Gewinnung und/ oder zur Aufbereitung von (Trink-)wasser.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2521,'GebÃ€ude- und FreiflÃ€che Versorgungsanlage, Wasser');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2522,'BetriebsflÃ€che Versorgungsanlage, Wasser');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 2530,'Kraftwerk', '"Kraftwerk" bezeichnet eine FlÃ€che mit Bauwerken und sonstigen Einrichtungen zur Erzeugung von elektrischer Energie.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2531,'GebÃ€ude- und FreiflÃ€che Versorgungsanlage, ElektrizitÃ€t');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2532,'BetriebsflÃ€che Versorgungsanlage, ElektrizitÃ€t');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 2540,'Umspannstation', '"Umspannstation" bezeichnet eine FlÃ€che mit GebÃ€uden und sonstigen Einrichtungen, um Strom auf eine andere Spannungsebene zu transformieren.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 2550,'Raffinerie', '"Raffinerie" bezeichnet eine FlÃ€che mit Bauwerken und sonstigen Einrichtungen zur Aufbereitung von ErdÃ¶l.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2551,'GebÃ€ude- und FreiflÃ€che Versorgungsanlage, Ãl');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2552,'BetriebsflÃ€che Versorganlage, Ãl');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2560,'Gaswerk');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2561,'GebÃ€ude- und FreiflÃ€che Versorgungsanlage, Gas');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2562,'BetriebsflÃ€che Versorgungsanlage, Gas');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 2570,'Heizwerk', '"Heizwerk" bezeichnet eine FlÃ€che mit Bauwerken und sonstigen Einrichtungen zur Erzeugung von WÃ€rmeenergie zu Heizzwecken.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2571,'GebÃ€ude- und FreiflÃ€che Versorgungsanlage, WÃ€rme');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2572,'BetriebsflÃ€che Versorgungsanlage, WÃ€rme');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 2580,'Funk- und Fernmeldeanlage', '"Funk- und Fernmeldeanlage" bezeichnet eine FlÃ€che, auf der vorwiegend Anlagen und GebÃ€ude zur elektronischen Informationenvermittlung stehen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2581,'GebÃ€ude- und FreiflÃ€che Versorgungsanlage, Funk- und Fernmeldewesen');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2582,'BetriebsflÃ€che Versorgungsanlage, Funk- und Fernmeldewesen');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 2600,'Entsorgung', '"Entsorgung" bezeichnet eine FlÃ€che, auf der vorwiegend Anlagen und GebÃ€ude zur Verwertung und Entsorgung von Abwasser und festen Abfallstoffen vorhanden sind.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2601,'GebÃ€ude- und FreiflÃ€che Entsorgungsanlage');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2602,'BetriebsflÃ€che Entsorgungsanlage');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 2610,'KlÃ€ranlage, KlÃ€rwerk', '"KlÃ€ranlage, KlÃ€rwerk" bezeichnet eine FlÃ€che mit Bauwerken und sonstigen Einrichtungen zur Reinigung von Abwasser.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2611,'GebÃ€ude- und FreiflÃ€che Entsorgungsanlage, Abwasserbeseitigung');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2612,'BetriebsflÃ€che Entsorgungsanlage, Abwasserbeseitigung');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 2620,'Abfallbehandlungsanlage', '"Abfallbehandlungsanlage" bezeichnet eine FlÃ€che mit Bauwerken und sonstigen Einrichtungen, auf der AbfÃ€lle mit chemisch/physikalischen und biologischen oder thermischen Verfahren oder Kombinationen dieser Verfahren behandelt werden.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2621,'GebÃ€ude- und FreiflÃ€che Entsorgungsanlage, Abfallbeseitigung');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2622,'BetriebsflÃ€che Entsorgungsanlage, Abfallbeseitigung');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, 2623,'BetriebsflÃ€che Entsorgungsanlage, Schlamm');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 2630,'Deponie (oberirdisch)', '"Deponie (oberirdisch)" bezeichnet eine FlÃ€che, auf der oberirdisch Abfallstoffe gelagert werden.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, 2640,'Deponie (untertÃ€gig)', '"Deponie (untertÃ€gig)" bezeichnet eine oberirdische BetriebsflÃ€che, unter der Abfallstoffe eingelagert werden (Untertagedeponie).');
+
+-- MUSTER:
+--INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (2, __,'__');
+--INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (2, __,'__', '____');
+
+
+-- Zustand als 2. Feld?
+
+
+--*FÃ¶rdergut:
+-- 1000 ErdÃ¶l        'ErdÃ¶l' ist ein flÃŒssiges und brennbares Kohlenwasserstoffgemisch, das gefÃ¶rdert wird.
+-- 2000 Erdgas       'Erdgas' ist ein in der Erdkruste vorkommendes brennbares Naturgas, das gefÃ¶rdert wird.
+-- 3000 Sole, Lauge  'Sole, Lauge' ist ein kochsalzhaltiges Wasser, das gefÃ¶rdert wird.
+-- 4000 KohlensÃ€ure  'KohlensÃ€ure' ist eine schwache SÃ€ure, die durch LÃ¶sung von Kohlendioxid in Wasser entsteht und gefÃ¶rdert wird.
+-- 5000 ErdwÃ€rme     'ErdwÃ€rme' ist eine auf natÃŒrlichem Wege sich erneuernde WÃ€rmeenergie, die aus einer geothermisch geringen Tiefenstufe der Erdkruste gefÃ¶rdert wird.
+
+--*Lagergut:
+-- 7000 Abraum
+-- 1000 Baustoffe
+-- 4000 Erde
+-- 2000 Kohle
+-- 3000 Ãl
+-- 6000 Schlacke
+-- 8000 Schrott, Altmaterial
+
+--*PrimÃ€renergie:
+-- 1000 Wasser    --'Wasser' bedeutet, dass das Kraftwerk potentielle und kinetische Energie des Wasserkreislaufs in elektrische Energie umwandelt.
+-- 2000 Kernkraft --'Kernkraft' bedeutet, dass das Kraftwerk die durch Kernspaltung gewonnene Energie in eine andere Energieform umwandelt.
+-- 3000 Sonne     --'Sonne' bedeutet, dass das Kraftwerk bzw. Heizwerk Sonnenenergie in eine andere Energieform umwandelt.
+-- 4000 Wind      --'Wind' bedeutet, dass das Kraftwerk die StrÃ¶mungsenergie des Windes in elektrische Energie umwandelt.
+-- 5000 Gezeiten  --'Gezeiten' bedeutet, dass das Kraftwerk die kinetische Energie der Meeresgezeiten in elektrische Energie umwandelt.
+-- 6000 ErdwÃ€rme  --'ErdwÃ€rme' bedeutet, dass das Heizwerk die geothermische Energie der Erde nutzt.
+-- 7000 Verbrennung --'Verbrennung' bedeutet, dass das Kraftwerk bzw. Heizwerk die durch Verbrennung freiwerdende Energie in eine andere Energieform umwandelt.
+-- 7100 Kohle     --'Kohle' bedeutet, dass das Kraftwerk bzw. Heizwerk die durch Verbrennung von Kohle freiwerdende Energie in eine andere Energieform umwandelt.
+-- 7200 Ãl        --'Ãl' bedeutet, dass das Kraftwerk bzw. Heizwerk die durch Verbrennung von Ãl freiwerdende Energie in eine andere Energieform umwandelt.
+-- 7300 Gas       --'Gas' bedeutet, dass das Kraftwerk bzw. Heizwerk die durch Verbrennung von Gas freiwerdende Energie in eine andere Energieform umwandelt.
+-- 7400 MÃŒll, Abfall --'MÃŒll, Abfall' bedeutet, dass das Kraftwerk bzw. Heizwerk die durch Verbrennung von MÃŒll bzw. Abfall freiwerdende Energie in eine andere Energieform umwandelt.
+
+
+-- 03 REO: ax_Halde
+-- -------------------------------------
+-- 'Halde' ist eine FlÃ€che, auf der Material langfristig gelagert wird und beschreibt die auch im Relief 
+-- zu modellierende tatsÃ€chliche AufschÃŒttung. 
+-- Aufgeforstete Abraumhalden werden als Objekte der Objektart 'Wald' erfasst.
+
+-- Metadaten:
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (3, 'Siedlung','ax_halde','Halde', 'Lagergut', null);
+
+-- Classes (Lagergut):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (3, 1000,'Baustoffe');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (3, 2000,'Kohle');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (3, 4000,'Erde');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (3, 5000,'Schutt');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (3, 6000,'Schlacke');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (3, 7000,'Abraum');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (3, 8000,'Schrott, Altmaterial');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (3, 9999,'Sonstiges');
+
+-- Zustand: 2 Werte
+
+
+-- 04 ax_Bergbaubetrieb
+-- -------------------------------------
+-- 'Bergbaubetrieb' ist eine FlÃ€che, die fÃŒr die FÃ¶rderung des Abbaugutes unter Tage genutzt wird.
+
+-- Metadaten:
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (4, 'Siedlung','ax_bergbaubetrieb','Bergbaubetrieb', 'Abbaugut', null);
+
+-- Classes (Abbaugut):
+-- 'Abbaugut' gibt an, welches Material abgebaut wird.
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 1000,'Erden, Lockergestein', '"Erden, Lockergestein" bedeutet, dass feinkÃ¶rnige Gesteine abgebaut werden.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 1001,'Ton', '"Ton" ist ein Abbaugut, das aus gelblichem bis grauem Lockergestein besteht und durch Verwitterung Ã€lterer Gesteine entsteht.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 1007,'Kalk, Kalktuff, Kreide', '"Kalk, Kalktuff, Kreide" ist ein Abbaugut, das aus erdigem weiÃen Kalkstein besteht.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 2000,'Steine, Gestein, Festgestein', '"Steine, Gestein, Festgestein" bedeutet, dass grobkÃ¶rnige oder feste Gesteine abgebaut werden.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 2002,'Schiefer, Dachschiefer', '"Schiefer, Dachschiefer" ist ein toniges Abbaugut, das in dÃŒnne ebene Platten spaltbar ist.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 2003,'Metamorpher Schiefer', '"Metamorpher Schiefer" ist ein Abbaugut, dessen ursprÃŒngliche Zusammensetzung und Struktur durch WÃ€rme und Druck innerhalb der Erdkruste verÃ€ndert worden ist.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 2005,'Kalkstein', '"Kalkstein" ist ein Abbaugut, das als weit verbreitetes Sedimentgestein ÃŒberwiegend aus Calciumcarbonat besteht.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 2006,'Dolomitstein', '"Dolomitstein" ist ein Abbaugut, das ÃŒberwiegend aus calcium- und magnesiumhaltigen Mineralien besteht.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 2013,'Basalt, Diabas', '"Basalt, Diabas" ist ein Abbaugut, das aus basischem Ergussgestein besteht.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 2021,'Talkschiefer, Speckstein', '"Talkschiefer, Speckstein" ist ein farbloses bis graugrÃŒnes, sich fettig anfÃŒhlendes Abbaugut, das aus dem weichen Mineral Talk besteht.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 3000,'Erze', '"Erze" bedeutet, dass die in der Natur vorkommenden, metallhaltigen Mineralien und Mineralgemische abgebaut oder gespeichert werden.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 3001,'Eisen', '"Eisen" wird als Eisenerz abgebaut und durch VerhÃŒttung gewonnen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 3002,'Buntmetallerze', '"Buntmetallerze" ist das Abbaugut, das alle Nichteisenmetallerze als Sammelbegriff umfasst.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 3003,'Kupfer', '"Kupfer" wird als Kupfererz abgebaut und durch VerhÃŒttung gewonnen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 3004,'Blei', '"Blei" wird als Bleierz abgebaut und durch spezielle Verfahren gewonnen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 3005,'Zink', '"Zink" wird als Zinkerz abgebaut und durch spezielle Verfahren gewonnen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 3006,'Zinn', '"Zinn" wird als Zinnerz abgebaut und durch spezielle Verfahren gewonnen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 3007,'Wismut, Kobalt, Nickel', '"Wismut, Kobalt, Nickel" werden als Erze abgebaut und durch spezielle Verfahren gewonnen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 3008,'Uran', '"Uran" wird als Uranerz abgebaut und durch spezielle Verfahren gewonnen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 3009,'Mangan', '"Mangan" wird als Manganerz abgebaut und durch spezielle Verfahren gewonnen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 3010,'Antimon', '"Antimon" wird als Antimonerz abgebaut und durch spezielle Verfahren gewonnen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 3011,'Edelmetallerze', '"Edelmetallerze" ist das Abbaugut, aus dem Edelmetalle (z. B. Gold, Silber) gewonnen werden.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 4000,'Treib- und Brennstoffe', '"Treib- und Brennstoffe" bedeutet, dass die in der Natur vorkommenden brennbaren organischen und anorganischen Substanzen abgebaut oder gewonnen werden.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 4020,'Kohle', '"Kohle" ist ein Abbaugut, das durch Inkohlung (Umwandlungsprozess pflanzlicher Substanzen) entstanden ist.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 4021,'Braunkohle', '"Braunkohle" ist ein Abbaugut, das durch einen bestimmten Grad von Inkohlung (Umwandlungsprozess pflanzlicher Substanzen) entstanden ist.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 4022,'Steinkohle', '"Steinkohle" ist ein Abbaugut, das durch vollstÃ€ndige Inkohlung (Umwandlungsprozess pflanzlicher Substanzen) entstanden ist.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 4030,'Ãlschiefer', '"Ãlschiefer" ist ein Abbaugut, das aus dunklem, bitumenhaltigem, tonigem Gestein besteht');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 5000,'Industrieminerale, Salze ', '"Industrieminerale, Salze" bedeutet, dass die in der Natur vorkommenden Mineralien abgebaut werden.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 5001,'Gipsstein', '"Gipsstein" ist ein natÃŒrliches Abbaugut.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 5002,'Anhydritstein', '"Anhydritstein" ist ein Abbaugut, das aus wasserfreiem Gips besteht.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 5003,'Steinsalz', '"Steinsalz" ist ein Abbaugut, das aus SalzstÃ¶cken gewonnen wird und aus Natriumchlorid besteht.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 5004,'Kalisalz', '"Kalisalz" ist ein Abbaugut, das aus SalzstÃ¶cken gewonnen wird und aus Chloriden und Sulfaten besteht.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 5005,'Kalkspat', '"Kalkspat" ist ein weiÃes oder hell gefÃ€rbtes Abbaugut (Calciumcarbonat).');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 5006,'Flussspat', '"Flussspat" ist ein Abbaugut, das aus Calciumfluorid besteht.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 5007,'Schwerspat', '"Schwerspat" ist ein formenreiches, rhombisches weiÃes bis farbiges Abbaugut.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (4, 5011,'Graphit', '"Graphit" ist ein bleigraues, weiches, metallglÃ€nzendes Abbaugut, das aus fast reinem Kohlenstoff besteht.');
+
+-- Zustand: 2 Werte
+
+
+-- 05 REO: ax_TagebauGrubeSteinbruch
+-- -------------------------------------
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO) 
+VALUES (5, 'Siedlung','ax_tagebaugrubesteinbruch','Tagebau, Grube, Steinbruch', 'Abbaugut', null);
+
+-- Classes (Abbaugut):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (5, 1000,'Erden, Lockergestein', '"Erden, Lockergestein" bedeutet, dass feinkÃ¶rnige Gesteine abgebaut werden.');
+
+--Ton 1001 --'Ton' ist ein Abbaugut, das aus gelblichem bis grauem Lockergestein besteht und durch Verwitterung Ã€lterer Gesteine entsteht.
+--Bentonit 1002 --'Bentonit' ist ein tonartiges Abbaugut, das durch Verwitterung vulkanischer Asche (Tuffe) entstanden ist.
+--Kaolin 1003 --'Kaolin' ist ein Abbaugut, das aus weiÃem, erdigem Gestein, fast reinem Aluminiumsilikat (kieselsaure Tonerde) besteht.
+--Lehm 1004 --'Lehm' ist ein Abbaugut, das durch Verwitterung entstanden ist und aus gelb bis braun gefÃ€rbtem sandhaltigem Ton besteht.
+--LÃ¶Ã, LÃ¶Ãlehm 1005 --'LÃ¶Ã, LÃ¶Ãlehm' ist ein Abbaugut das aus feinsten gelblichen Sedimenten besteht und eine hohe WasserspeicherfÃ€higkeit aufweist.
+--Mergel 1006 --'Mergel' ist ein Abbaugut das aus kalk- und tonartigem Sedimentgestein besteht.
+--Kalk, Kalktuff, Kreide 1007 --  'Kalk, Kalktuff, Kreide' ist ein Abbaugut, das aus erdigem weiÃen Kalkstein besteht.
+
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (5, 1008,'Sand', '"Sand" ist ein Abbaugut, das aus kleinen, losen MineralkÃ¶rnern (hÃ€ufig Quarz) besteht.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (5, 1009,'Kies, Kiessand', '"Kies, Kiessand" ist ein Abbaugut, das aus vom Wasser rund geschliffenen Gesteinsbrocken besteht.');
+
+--Farberden 1011 --'Farberden' ist ein Abbaugut, das durch Verwitterung entstanden ist und vorrangig aus eisenhaltigem Gestein besteht.
+--Quarzsand 1012 --'Quarzsand' ist ein Abbaugut, das vorwiegend aus kleinen, losen QuarzkÃ¶rnern besteht.
+--Kieselerde 1013 --'Kieselerde' ist ein Abbaugut, das durch tertiÃ€re Binnenseeablagerungen aus Kieselschalen toter Kieselalgen entstanden ist.
+
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (5, 2000,'Steine, Gestein, Festgestein', '"Steine, Gestein, Festgestein" bedeutet, dass grobkÃ¶rnige oder feste Gesteine abgebaut werden.');
+
+--Tonstein 2001 --'Tonstein' ist ein gelblich bis graues Abbaugut, das ÃŒberwiegend aus Tonmineralien besteht.
+--Schiefer, Dachschiefer 2002 --'Schiefer, Dachschiefer' ist ein toniges Abbaugut, das in dÃŒnne ebene Platten spaltbar ist.
+--Metamorpher Schiefer 2003 --'Metamorpher Schiefer' ist ein Abbaugut, dessen ursprÃŒngliche Zusammensetzung und Struktur durch WÃ€rme und Druck innerhalb der Erdkruste verÃ€ndert worden ist.
+--Mergelstein 2004 --'Mergelstein' ist ein Abbaugut, das sich grÃ¶Ãtenteils aus Ton und Kalk zusammensetzt.
+--Kalkstein 2005 --'Kalkstein' ist ein Abbaugut, das als weit verbreitetes Sedimentgestein ÃŒberwiegend aus Calciumcarbonat besteht.
+--Dolomitstein 2006 --'Dolomitstein' ist ein Abbaugut, das ÃŒberwiegend aus calcium- und magnesiumhaltigen Mineralien besteht.
+--Travertin 2007 --'Travertin' ist ein Abbaugut, das aus gelblichen Kiesel- oder Kalktuffen besteht.
+--Marmor 2008 --'Marmor' ist ein Abbaugut, das als rein weiÃer kristalliner, kÃ¶rniger Kalkstein (Calciumcarbonat) vorkommt.
+--Sandstein 2009 --'Sandstein' ist ein Abbaugut, das aus verfestigtem Sedimentgestein besteht.
+--Grauwacke 2010 --'Grauwacke' ist ein Abbaugut, das aus tonhaltigem Sandstein besteht und mit GesteinsbruchstÃŒcken angereichert sein kann.
+--Quarzit 2011 --'Quarzit' ist ein sehr hartes metamorphes Abbaugut, das vorwiegend aus feinkÃ¶rnigen Quarzmineralien besteht.
+--Gneis 2012 --'Gneis' ist ein metamorphes Abbaugut mit Schieferung, das aus Feldspat, Quarz und Glimmer besteht.
+--Basalt, Diabas 2013 --'Basalt, Diabas' ist ein Abbaugut, das aus basischem Ergussgestein besteht.
+--Andesit 2014 --'Andesit' ist ein Abbaugut, das aus Ergussgestein besteht.
+--Porphyr, Quarzporphyr 2015 --'Porphyr, Quarzporphyr' ist ein eruptiv entstandenes Abbaugut, das aus einer dichten Grundmasse und groben Einsprenglingen besteht.
+--Granit 2016 --'Granit' ist ein eruptiv entstandenes Abbaugut, das aus kÃ¶rnigem Feldspat, Quarz, Glimmer besteht.
+--Granodiorit 2017 --"Granodiorit" ist ein hell- bis dunkelgraues Abbaugut. Es ist ein mittelkÃ¶rniges Tiefengestein mit den Hauptbestandteilen Feldspat, Quarz, Hornblende und Biotit.
+--Tuff-, Bimsstein 2018 --'Tuff-, Bimsstein' ist ein helles, sehr porÃ¶ses Abbaugut, das durch rasches Erstarren der Lava entstanden ist.
+--Trass 2019 --'Trass' ist ein Abbaugut, das aus vulkanischem Aschentuff (Bimsstein) besteht.
+
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (5, 2020,'Lavaschlacke', '"Lavaschlacke" ist ein Abbaugut, das aus ausgestoÃenem, geschmolzenen Vulkangestein besteht.');
+
+--Talkschiefer, Speckstein 2021
+--'Talkschiefer, Speckstein' ist ein farbloses bis graugrÃŒnes, sich fettig anfÃŒhlendes Abbaugut, das aus dem weichen Mineral Talk besteht.
+
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (5, 4000,'Treib- und Brennstoffe', '"Treib- und Brennstoffe" bedeutet, dass die in der Natur vorkommenden brennbaren organischen und anorganischen Substanzen abgebaut oder gewonnen werden.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (5, 4010,'Torf', '"Torf" ist ein Abbaugut, das aus der unvollkommenen Zersetzung abgestorbener pflanzlicher Substanz unter Luftabschluss in Mooren entstanden ist.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (5, 4020,'Kohle', '"Kohle" ist ein Abbaugut, das durch Inkohlung (Umwandlungsprozess pflanzlicher Substanzen) entstanden ist.');
+
+
+--Braunkohle 4021 --'Braunkohle' ist ein Abbaugut, das durch einen bestimmten Grad von Inkohlung (Umwandlungsprozess pflanzlicher Substanzen) entstanden ist.
+--Steinkohle 4022 --'Steinkohle' ist ein Abbaugut, das durch vollstÃ€ndige Inkohlung (Umwandlungsprozess pflanzlicher Substanzen) entstanden ist.
+--Ãlschiefer 4030 --'Ãlschiefer' ist ein Abbaugut, das aus dunklem, bitumenhaltigen, tonigen Gestein besteht.
+--Industrieminerale, Salze 5000 --'Industrieminerale, Salze' bedeutet, dass die in der Natur vorkommenden Mineralien abgebaut werden.
+--Gipsstein 5001 --'Gipsstein' ist ein natÃŒrliches Abbaugut.
+--Anhydritstein 5002 --'Anhydritstein' ist ein Abbaugut, das aus wasserfreiem Gips besteht.
+--Kalkspat 5005 --'Kalkspat' ist ein weiÃes oder hell gefÃ€rbtes Abbaugut (Calciumcarbonat).
+--Schwerspat 5007 --'Schwerspat' ist ein formenreiches, rhombisches weiÃes bis farbiges Abbaugut.
+--Quarz 5008 --'Quarz' ist ein Abbaugut, das aus verschiedenen Gesteinsarten (Granit, Gneis, Sandstein) gewonnen wird.
+--Feldspat 5009 --'Feldspat' ist ein weiÃ bis grauweiÃes gesteinsbildendes Mineral von blÃ€ttrigem Bruch, das abgebaut wird.
+--Pegmatitsand 5010 --'Pegmatitsand' ist ein Abbaugut, das durch Verwitterung von Granit und Gneis entstanden ist.
+--Sonstiges 9999 --'Sonstiges' bedeutet, dass das Abbaugut bekannt, aber nicht in der Attributwertliste aufgefÃŒhrt ist.
+
+
+
+-- 2. Feld: "Zustand"
+-- 2100   AuÃer Betrieb, stillgelegt, verlassen
+-- "AuÃer Betrieb, stillgelegt; verlassen" bedeutet, dass sich 'Tagebau, Grube, Steinbruch' nicht mehr in regelmÃ€Ãiger, der Bestimmung entsprechenden Nutzung befindet.
+
+
+-- 06 REO: ax_FlaecheGemischterNutzung
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (6, 'Siedlung','ax_flaechegemischternutzung','FlÃ€che gemischter Nutzung', 'Funktion', null);
+
+-- Classes (Funktion):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (6, 2100,'GebÃ€ude- und FreiflÃ€che, Mischnutzung mit Wohnen');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (6, 2110,'GebÃ€ude- und FreiflÃ€che, Mischnutzung mit Wohnen / Wohnen mit Ãffentlich ');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (6, 2120,'GebÃ€ude- und FreiflÃ€che, Mischnutzung mit Wohnen / Wohnen mit Handel und Dienstleistungen');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (6, 2130,'GebÃ€ude- und FreiflÃ€che, Mischnutzung mit Wohnen / Wohnen mit Gewerbe und Industrie ');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (6, 2140,'GebÃ€ude- und FreiflÃ€che, Mischnutzung mit Wohnen / Ãffentlich mit Wohnen');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (6, 2150,'GebÃ€ude- und FreiflÃ€che, Mischnutzung mit Wohnen / Handel und Dienstleistungen mit Wohnen');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (6, 2160,'GebÃ€ude- und FreiflÃ€che, Mischnutzung mit Wohnen / Gewerbe und Industrie mit Wohnen');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (6, 2700,'GebÃ€ude- und FreiflÃ€che Land- und Forstwirtschaft');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (6, 2710,'GebÃ€ude- und FreiflÃ€che Land- und Forstwirtschaft / Wohnen');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (6, 2720,'GebÃ€ude- und FreiflÃ€che Land- und Forstwirtschaft / Betrieb');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (6, 2730,'GebÃ€ude- und FreiflÃ€che Land- und Forstwirtschaft / Wohnen und Betrieb');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (6, 6800,'Landwirtschaftliche BetriebsflÃ€che');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (6, 7600,'Forstwirtschaftliche BetriebsflÃ€che');
+
+-- Art der Bebauung
+-- Offen       1000 -- "Offen" beschreibt die Bebauung von 'FlÃ€che gemischter Nutzung', die vorwiegend durch einzelstehende GebÃ€ude charakterisiert wird.
+-- Geschlossen 2000 -- "Geschlossen" beschreibt die Bebauung von 'FlÃ€che gemischter Nutzung', die vorwiegend durch zusammenhÃ€ngende GebÃ€ude charakterisiert wird. Die GebÃ€udeabdeckung ist in der Regel > 50 Prozent der FlÃ€che.
+
+
+-- 07 REO: ax_FlaecheBesondererFunktionalerPraegung
+-- -------------------------------------
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (7, 'Siedlung','ax_flaechebesondererfunktionalerpraegung','FlÃ€che besonderer funktionaler PrÃ€gung', 'Funktion', 'Art der Bebauung');
+
+
+-- Classes (Funktion):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (7, 1100,'Ãffentliche Zwecke');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (7, 1110,'Ãffentliche Zwecke / Verwaltung', '"Verwaltung" bezeichnet eine FlÃ€che auf der vorwiegend GebÃ€ude der Ã¶ffentlichen Verwaltung, z. B. Rathaus, Gericht, Kreisverwaltung stehen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (7, 1120,'Ãffentliche Zwecke / Bildung und Forschung', '"Bildung und Forschung" bezeichnet eine FlÃ€che, auf der vorwiegend GebÃ€ude stehen, in denen geistige, kulturelle und soziale FÃ€higkeiten vermittelt werden und/oder wissenschaftliche Forschung betrieben wird (z.B. Schulen, UniversitÃ€ten, Forschungsinstitute).');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (7, 1130,'Ãffentliche Zwecke / Kultur', '"Kultur" bezeichnet eine FlÃ€che auf der vorwiegend Anlagen und GebÃ€ude fÃŒr kulturelle Zwecke, z.B. Konzert- und MuseumsgebÃ€ude, Bibliotheken, Theater, SchlÃ¶sser und Burgen sowie Rundfunk- und FernsehgebÃ€ude stehen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (7, 1140,'Ãffentliche Zwecke / ReligiÃ¶se Einrichtung');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (7, 1150,'Ãffentliche Zwecke / Gesundheit, Kur', '"Gesundheit, Kur" bezeichnet eine FlÃ€che auf der vorwiegend GebÃ€ude des Gesundheitswesens stehen, z.B. KrankenhÃ€user, Heil- und Pflegeanstalten.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (7, 1160,'Ãffentliche Zwecke / Soziales', '"Soziales" bezeichnet eine FlÃ€che auf der vorwiegend GebÃ€ude des Sozialwesens stehen, z. B. KindergÃ€rten, Jugend- und Senioreneinrichtungen, Freizeit-, Fremden- und Obdachlosenheime.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (7, 1170,'Ãffentliche Zwecke / Sicherheit und Ordnung', '"Sicherheit und Ordnung" bezeichnet eine FlÃ€che auf der vorwiegend Anlagen und GebÃ€ude der Polizei, der Bundeswehr, der Feuerwehr und der JustizvollzugsbehÃ¶rden stehen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (7, 1200,'Parken');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (7, 1300,'Historische Anlage');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (7, 1310,'Historische Anlage / Burg-, Festungsanlage');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (7, 1320,'Historische Anlage / Schlossanlage');
+
+
+--  ++++++  ERFASSUNG BIS HIER AM 09.11.2010 ++++++++
+
+
+-- 08 REO: ax_SportFreizeitUndErholungsflaeche
+-- -------------------------------------
+-- 'Sport-, Freizeit- und ErholungsflÃ€che' ist eine bebaute oder unbebaute FlÃ€che, 
+-- die dem Sport, der Freizeitgestaltung oder der Erholung dient.
+
+-- Metadaten:
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (8, 'Siedlung','ax_sportfreizeitunderholungsflaeche','Sport-, Freizeit- und ErholungsflÃ€che', 'Funktion', null);
+
+-- Classes:
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (8, 4100,'Sportanlage', '"Sportanlage" ist eine FlÃ€che mit Bauwerken und Einrichtungen, die zur AusÃŒbung von (Wettkampf-)sport und fÃŒr Zuschauer bestimmt ist.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4101,'GebÃ€ude- u. FreiflÃ€che Erholung, Sport');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (8, 4110,'Golfplatz', '"Golfplatz" ist eine FlÃ€che mit Bauwerken und Einrichtungen, die zur AusÃŒbung des Golfsports genutzt wird.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4120,'Sportplatz');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4130,'Rennbahn');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4140,'Reitplatz');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4150,'SchieÃanlage');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4160,'Eis-, Rollschuhbahn');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4170,'Tennisplatz');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (8, 4200,'Freizeitanlage', '"Freizeitanlage" ist eine FlÃ€che mit Bauwerken und Einrichtungen, die zur Freizeitgestaltung bestimmt ist.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (8, 4210,'Zoo', '"Zoo" ist ein GelÃ€nde mit TierschauhÃ€usern und umzÃ€unten Gehegen, auf dem Tiere gehalten und gezeigt werden.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4211,'GebÃ€ude- u. FreiflÃ€che Erholung, Zoologie');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (8, 4220,'Safaripark, Wildpark', '"Safaripark, Wildpark", ist ein GelÃ€nde mit umzÃ€unten Gehegen, in denen Tiere im Freien gehalten und gezeigt werden.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (8, 4230,'Freizeitpark', '"Freizeitpark" ist ein GelÃ€nde mit Karussells, Verkaufs- und Schaubuden und/oder Wildgattern, das der Freizeitgestaltung dient.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (8, 4240,'Freilichttheater', '"Freilichttheater" ist eine Anlage mit BÃŒhne und ZuschauerbÃ€nken fÃŒr TheaterauffÃŒhrungen im Freien.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (8, 4250,'Freilichtmuseum', '"Freilichtmuseum" ist eine volkskundliche Museumsanlage, in der Wohnformen oder historische Betriebsformen in ihrer natÃŒrlichen Umgebung im Freien dargestellt sind.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (8, 4260,'Autokino, Freilichtkino', '"Autokino, Freilichtkino" ist ein Lichtspieltheater im Freien, in dem der Film im Allgemeinen vom Auto aus angesehen wird.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4270,'VerkehrsÃŒbungsplatz');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4280,'HundeÃŒbungsplatz');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (8, 4290,'Modellflugplatz', '"Modellflugplatz" ist eine FlÃ€che, die zur AusÃŒbung des Modellflugsports dient.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4300,'ErholungsflÃ€che');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4301,'GebÃ€ude- und FreiflÃ€che Erholung');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (8, 4310,'Wochenend- und FerienhausflÃ€che', '"Wochenend- und FerienhausflÃ€che" bezeichnet eine extra dafÃŒr ausgewiesene FlÃ€che auf der vorwiegend Wochenend- und FerienhÃ€user stehen dÃŒrfen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (8, 4320,'Schwimmbad, Freibad', '"Schwimmbad, Freibad" ist eine Anlage mit Schwimmbecken oder Anlage an Ufern von GewÃ€ssern fÃŒr den Badebetrieb und Schwimmsport.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4321,'GebÃ€ude- u. FreiflÃ€che Erholung, Bad');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (8, 4330,'Campingplatz', '"Campingplatz" ist eine FlÃ€che fÃŒr den Aufbau einer grÃ¶Ãeren Zahl von Zelten oder zum Abstellen und Benutzen von Wohnwagen mit ortsfesten Anlagen und Einrichtungen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4331,'GebÃ€ude- u. FreiflÃ€che Erholung, Camping');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (8, 4400,'GrÃŒnanlage', '"GrÃŒnanlage" ist eine Anlage mit BÃ€umen, StrÃ€uchern, RasenflÃ€chen, Blumenrabatten und Wegen, die vor allem der Erholung und VerschÃ¶nerung des Stadtbildes dient.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4410,'GrÃŒnflÃ€che');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (8, 4420,'Park', '"Park" ist eine landschaftsgÃ€rtnerisch gestaltete GrÃŒnanlage, die der ReprÃ€sentation und der Erholung dient.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4430,'Botanischer Garten');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4431,'GebÃ€ude- u. FreiflÃ€che Erholung, Botanik');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (8, 4440,'Kleingarten', '"Kleingarten" (Schrebergarten) ist eine Anlage von GartengrundstÃŒcken, die von Vereinen verwaltet und verpachtet werden.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4450,'Wochenendplatz');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4460,'Garten');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 4470,'Spielplatz, Bolzplatz');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (8, 9999,'Sonstiges');
+
+
+-- 09 REO: ax_Friedhof
+-- -------------------------------------
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass) -- kein info
+VALUES (9, 'Siedlung','ax_friedhof','Friedhof', 'Funktion');
+
+-- Class (Funktion):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (9, 9401,'GebÃ€ude- und FreiflÃ€che Friedhof');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (9, 9402,'Friedhof (ohne GebÃ€ude)');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (9, 9403,'Friedhof (Park)');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (9, 9404,'Historischer Friedhof');
+
+
+-- ** Verkehr **
+
+-- 10 ax_Strassenverkehr
+-- -------------------------------------
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (10, 'Verkehr','ax_strassenverkehr','StraÃenverkehr', 'Funktion', 'Zweitname');
+
+-- Class (Funktion):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (10, 2311,'GebÃ€ude- und FreiflÃ€che zu Verkehrsanlagen, StraÃe');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (10, 2312,'VerkehrsbegleitflÃ€che StraÃe', '"VerkehrsbegleitflÃ€che StraÃe" bezeichnet eine bebaute oder unbebaute FlÃ€che, die einer StraÃe zugeordnet wird. Die "VerkehrsbegleitflÃ€che StraÃe" ist nicht Bestandteil der Fahrbahn.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (10, 2313,'StraÃenentwÃ€sserungsanlage');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (10, 5130,'FuÃgÃ€ngerzone');
+
+
+-- 11 ax_Weg
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (11, 'Verkehr','ax_weg','Weg', 'Funktion', 'Bezeichnung');
+
+-- Classes (Funktion):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (11, 5210,'Fahrweg');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (11, 5211,'Hauptwirtschaftsweg');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (11, 5212,'Wirtschaftsweg');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (11, 5220,'FuÃweg');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (11, 5230,'Gang');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (11, 5240,'Radweg');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (11, 5250,'Rad- und FuÃweg');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (11, 5260,'Reitweg');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (11, 9999,'Sonstiges');
+
+
+-- 12 ax_Platz
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (12, 'Verkehr','ax_platz','Platz', 'Funktion', 'Zweitname');
+
+-- Classes (Funktion):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (12, 5130,'FuÃgÃ€ngerzone', '"FuÃgÃ€ngerzone" ist ein dem FuÃgÃ€ngerverkehr vorbehaltener Bereich, in dem ausnahmsweise Ã¶ffentlicher Personenverkehr, Lieferverkehr oder Fahrradverkehr zulÃ€ssig sein kann.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (12, 5310,'Parkplatz', '"Parkplatz" ist eine zum vorÃŒbergehenden Abstellen von Fahrzeugen bestimmte FlÃ€che.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (12, 5320,'Rastplatz', '"Rastplatz" ist eine Anlage zum Halten, Parken oder Rasten der Verkehrsteilnehmer mit unmittelbarem Anschluss zur StraÃe ohne Versorgungseinrichtung, ggf. mit Toiletten.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (12, 5330,'RaststÃ€tte', '"RaststÃ€tte" ist eine Anlage an VerkehrsstraÃen mit Bauwerken und Einrichtungen zur Versorgung und Erholung von Reisenden.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (12, 5340,'Marktplatz');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (12, 5350,'Festplatz', '"Festplatz" ist eine FlÃ€che, auf der zeitlich begrenzte Festveranstaltungen stattfinden');
+
+
+-- 13 ax_Bahnverkehr
+-- -------------------------------------
+
+--Metadaten:
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (13, 'Verkehr','ax_bahnverkehr','Bahnverkehr', 'Funktion', 'Bahnkategorie');
+
+-- Classes (Funktion):)
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (13, 2321,'GebÃ€ude- und FreiflÃ€che zu Verkehrsanlagen, Schiene');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (13, 2322,'VerkehrsbegleitflÃ€che Bahnverkehr', '"VerkehrsbegleitflÃ€che Bahnverkehr" bezeichnet eine bebaute oder unbebaute, an den BahnkÃ¶rper angrenzende FlÃ€che, die dem Schienenverkehr dient.');
+
+-- alternative Kategorie:
+
+-- Bahnkategorie
+
+--Eisenbahn 1100
+-- 'Eisenbahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem im Nah- und Fernverkehr Personen befÃ¶rdert und GÃŒter transportiert werden.
+--GÃŒterverkehr 1102
+-- 'GÃŒterverkehr' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem im Nah- und Fernverkehr ausschlieÃlich GÃŒter transportiert werden.
+--S-Bahn 1104
+-- 'S-Bahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, der zur schnellen PersonenbefÃ¶rderung in BallungsrÃ€umen dient und meist auf eigenen Gleisen verlÃ€uft.
+--Stadtbahn 1200
+-- 'Stadtbahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem eine elektrisch betriebene Schienenbahn zur PersonenbefÃ¶rderung im Ã¶ffentlichen Nahverkehr fÃ€hrt. Sie kann sowohl ober- als auch unterirdisch verlaufen.
+--StraÃenbahn 1201
+-- 'StraÃenbahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem eine elektrisch betriebene Schienbahn zur PersonenbefÃ¶rderung fÃ€hrt. Sie verlÃ€uft i. d. R. oberirdisch.
+--U-Bahn 1202
+-- 'U-Bahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem eine elektrisch betriebene Schienenbahn zur PersonenbefÃ¶rderung in GroÃstÃ€dten fÃ€hrt. Sie verlÃ€uft i. d. R. unterirdisch.
+--Seilbahn, Bergbahn 1300
+-- 'Seilbahn, Bergbahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem eine Schienenbahn groÃe HÃ¶henunterschiede ÃŒberwindet.
+--Zahnradbahn 1301
+-- 'Zahnradbahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem eine Schienenbahn mittels Zahnradantrieb groÃe HÃ¶henunterschiede in stark geneigtem GelÃ€nde ÃŒberwindet.
+--Standseilbahn 1302
+-- 'Standseilbahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem eine Schienenbahn auf einer stark geneigten, meist kurzen und geraden Strecke verlÃ€uft. Mit Hilfe eines oder mehrerer Zugseile wird ein Schienenfahrzeug bergauf gezogen und gleichzeitig ein zweites bergab gelassen.
+--Museumsbahn 1400
+-- 'Museumsbahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem ausschlieÃlich Touristen in alten, meist restaurierten ZÃŒgen befÃ¶rdert werden.
+--Magnetschwebebahn 1600
+-- 'Magnetschwebebahn' ist die Bezeichnung fÃŒr einen schienengebundenen Verkehrsweg, auf dem rÃ€derlose Schienenfahrzeuge mit Hilfe von Magnetfeldern an oder auf einer Fahrschiene schwebend entlanggefÃŒhrt werden.
+
+
+-- 14 ax_Flugverkehr
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (14, 'Verkehr','ax_flugverkehr','Flugverkehr', 'Art', 'Bezeichnung');
+
+-- Classes (Funktion):
+--INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (14, 5501,'GebÃ€ude- und FreiflÃ€che zu Verkehrsanlagen, Luftfahrt');
+
+-- Classes (Art):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (14, 5510,'Flughafen', '"Flughafen" ist eine Anlage mit GebÃ€uden, Bauwerken, Start- und Landebahnen sowie sonstigen flugtechnischen Einrichtungen zur Abwicklung des Flugverkehrs.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (14, 5511,'Internationaler Flughafen', '"Internationaler Flughafen" ist ein Flughafen, der in der Luftfahrtkarte 1 : 500000 (ICAO) als solcher ausgewiesen ist.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (14, 5512,'Regionalflughafen', '"Regionalflughafen" ist ein Flughafen der gemÃ€Ã Raumordnungsgesetz als Regionalflughafen eingestuft ist.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (14, 5520,'Verkehrslandeplatz', '"Verkehrslandeplatz" ist ein Flugplatz, der in der Luftfahrtkarte 1:500000 (ICAO) als solcher ausgewiesen ist.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (14, 5530,'Hubschrauberflugplatz', '"Hubschrauberflugplatz" ist ein Flugplatz, der in der Luftfahrtkarte 1:500000 (ICAO) als solcher ausgewiesen ist.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (14, 5540,'Landeplatz, Sonderlandeplatz', '"Landeplatz, Sonderlandeplatz" ist eine FlÃ€che, die in der Luftfahrtkarte 1:500000 (ICAO) als Landeplatz, Sonderlandeplatz ausgewiesen ist.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (14, 5550,'SegelfluggelÃ€nde', '"SegelfluggelÃ€nde" ist eine FlÃ€che, die in der Luftfahrtkarte 1:500000 (ICAO) als SegelfluggelÃ€nde ausgewiesen ist.');
+
+
+-- Nutzung:
+
+--Zivil 1000
+-- "Zivil" bedeutet, dass 'Flugverkehr' privaten, Ã¶ffentlichen oder religiÃ¶sen Zwecken dient und nicht militÃ€risch genutzt wird.
+--MilitÃ€risch 2000
+-- "MilitÃ€risch" bedeutet, dass 'Flugverkehr' nur von StreitkrÃ€ften genutzt wird.
+--Teils zivil, teils militÃ€risch 3000
+-- "Teils zivil, teils militÃ€risch" bedeutet dass ''Flugverkehr' sowohl zivil als auch militÃ€risch genutzt wird.
+
+
+
+-- 15 ax_Schiffsverkehr
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass)  -- keine info
+VALUES (15, 'Verkehr','ax_schiffsverkehr','Schiffsverkehr', 'Funktion');
+
+-- Classes (Funktion):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (15, 2341,'GebÃ€ude und FreiflÃ€che zu Verkehrsanlagen, Schifffahrt');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (15, 5610,'Hafenanlage (LandflÃ€che)', '"Hafenanlage (LandflÃ€che)" bezeichnet die FlÃ€che innerhalb von "Hafen", die nicht von Wasser bedeckt ist und die ausschlieÃlich zum Betrieb des Hafens dient.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (15, 5620,'Schleuse (LandflÃ€che)', '"Schleuse (LandflÃ€che)" bezeichnet die FlÃ€che innerhalb von "Schleuse", die nicht von Wasser bedeckt ist und die ausschlieÃlich zum Betrieb der Schleuse dient..');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (15, 5630,'Anlegestelle');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (15, 5640,'FÃ€hranlage');
+
+
+-- ** Objektartengruppe: Vegetation **
+
+-- Die Objektartengruppe mit der Bezeichnung 'Vegetation' und der Kennung '43000' 
+-- umfasst die FlÃ€chen auÃerhalb der Ansiedlungen, die durch land- oder forstwirtschaftliche Nutzung, 
+-- durch natÃŒrlichen Bewuchs oder dessen Fehlen geprÃ€gt werden.
+
+
+-- 16 ax_Landwirtschaft
+-- -------------------------------------
+-- 'Landwirtschaft' ist eine FlÃ€che fÃŒr den Anbau von FeldfrÃŒchten sowie eine FlÃ€che, 
+-- die beweidet und gemÃ€ht werden kann, einschlieÃlich der mit besonderen Pflanzen angebauten FlÃ€che. 
+-- Die Brache, die fÃŒr einen bestimmten Zeitraum (z. B. ein halbes oder ganzes Jahr) landwirtschaftlich unbebaut bleibt, 
+-- ist als 'Landwirtschaft' bzw. 'Ackerland' zu erfassen.
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass)
+VALUES (16, 'Vegetation','ax_landwirtschaft','Landwirtschaft', 'Vegetationsmerkmal');
+
+-- Classes:
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (16, 1010,'Ackerland', '"Ackerland" ist eine FlÃ€che fÃŒr den Anbau von FeldfrÃŒchten (z.B. Getreide, HÃŒlsenfrÃŒchte, HackfrÃŒchte) und BeerenfrÃŒchten (z.B. Erdbeeren). Zum Ackerland gehÃ¶ren auch die Rotationsbrachen, Dauerbrachen sowie FlÃ€chen, die zur Erlangung der Ausgleichszahlungen der EU stillgelegt worden sind.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (16, 1011,'Streuobstacker', '"Streuobstacker" beschreibt den Bewuchs einer AckerflÃ€che mit ObstbÃ€umen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (16, 1012,'Hopfen', '"Hopfen" ist eine mit speziellen Vorrichtungen ausgestattete AgrarflÃ€che fÃŒr den Anbau von Hopfen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (16, 1013,'Spargel');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (16, 1020,'GrÃŒnland', '"GrÃŒnland" ist eine GrasflÃ€che, die gemÃ€ht oder beweidet wird.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (16, 1021,'Streuobstwiese', '"Streuobstwiese" beschreibt den Bewuchs einer GrÃŒnlandflÃ€che mit ObstbÃ€umen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (16, 1030,'Gartenland', '"Gartenland" ist eine FlÃ€che fÃŒr den Anbau von GemÃŒse, Obst und Blumen sowie fÃŒr die Aufzucht von Kulturpflanzen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (16, 1031,'Baumschule', '"Baumschule" ist eine FlÃ€che, auf der HolzgewÃ€chse aus Samen, Ablegern oder Stecklingen unter mehrmaligem Umpflanzen (Verschulen) gezogen werden.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (16, 1040,'Weingarten', '"Weingarten" ist eine mit speziellen Vorrichtungen ausgestattete AgrarflÃ€che auf der WeinstÃ¶cke angepflanzt sind.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (16, 1050,'Obstplantage', '"Obstplantage" ist eine landwirtschaftliche FlÃ€che, die mit ObstbÃ€umen und ObststrÃ€uchern bepflanzt ist');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (16, 1051,'Obstbaumplantage', '"Obstbaumplantage" ist eine landwirtschaftliche FlÃ€che, die ausschlieÃlich mit ObstbÃ€umen bepflanzt ist.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (16, 1052,'Obststrauchplantage');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (16, 1200,'Brachland', '"Brachland" ist eine FlÃ€che der Landwirtschaft, die seit lÃ€ngerem nicht mehr zu Produktionszwecken genutzt wird.');
+
+
+-- 17 ax_Wald
+-- -------------------------------------
+-- 'Wald' ist eine FlÃ€che, die mit Forstpflanzen (WaldbÃ€ume und WaldstrÃ€ucher) bestockt ist.
+
+-- Metadaten:
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (17, 'Vegetation','ax_wald','Wald', 'Vegetationsmerkmal', 'Bezeichnung');
+
+-- Classes (Vegetationsmerkmal):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (17, 1100,'Laubholz', '"Laubholz" beschreibt den Bewuchs einer VegetationsflÃ€che mit LaubbÃ€umen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (17, 1200,'Nadelholz', '"Nadelholz" beschreibt den Bewuchs einer VegetationsflÃ€che mit NadelbÃ€umen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (17, 1300,'Laub- und Nadelholz', '"Laub- und Nadelholz" beschreibt den Bewuchs einer VegetationsflÃ€che mit Laub- und NadelbÃ€umen.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (17, 1310,'Laubwald mit Nadelholz');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (17, 1320,'Nadelwald mit Laubholz');
+
+
+-- 18 ax_Gehoelz
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (18, 'Vegetation','ax_gehoelz','GehÃ¶lz','Funktion', 'Vegetationsmerkmal');
+
+-- Classes (VEG)
+--INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (18, 1400,'Latschenkiefer');
+
+-- Classes (Funktion)
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (18, 1000,'Windschutz');
+
+
+-- 19 ax_Heide
+-- -------------------------------------
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title)
+VALUES (19, 'Vegetation','ax_heide','Heide');
+
+-- Keine Classes
+
+
+-- 20 ax_Moor
+-- -------------------------------------
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title)
+VALUES (20, 'Vegetation','ax_moor','Moor');
+
+-- Keine Classes
+
+
+-- 21 ax_Sumpf
+-- -------------------------------------
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title)
+VALUES (21, 'Vegetation','ax_sumpf','Sumpf');
+
+-- Keine Classes
+
+
+-- 22 ax_UnlandVegetationsloseFlaeche
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (22, 'Vegetation','ax_unlandvegetationsloseflaeche','Unland, vegetationslose FlÃ€che', 'Funktion', 'OberflÃ€chenmaterial');
+
+-- Classes (Funktion):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (22, 1000,'Vegetationslose FlÃ€che', '"Vegetationslose FlÃ€che" ist eine FlÃ€che ohne nennenswerten Bewuchs aufgrund besonderer Bodenbeschaffenheit.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (22, 1100,'GewÃ€sserbegleitflÃ€che', '"GewÃ€sserbegleitflÃ€che" bezeichnet eine bebaute oder unbebaute FlÃ€che, die einem FlieÃgewÃ€sser zugeordnet wird. Die GewÃ€sserbegleitflÃ€che ist nicht Bestandteil der GewÃ€sserflÃ€che.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (22, 1110,'Bebaute GewÃ€sserbegleitflÃ€che');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (22, 1120,'Unbebaute GewÃ€sserbegleitflÃ€che');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (22, 1200,'SukzessionsflÃ€che', '"SukzessionsflÃ€che" ist eine FlÃ€che, die dauerhaft aus der landwirtschaftlichen oder sonstigen bisherigen Nutzung herausgenommen ist und die in den Urzustand z. B. GehÃ¶lz, Moor, Heide ÃŒbergeht.');
+
+-- Info (OberflÃ€chenmaterial)
+--INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (22, 1010,'Fels',             '"Fels" bedeutet, dass die ErdoberflÃ€che aus einer festen Gesteinsmasse besteht.');
+--INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (22, 1020,'Steine, Schotter', '"Steine, Schotter" bedeutet, dass die ErdoberflÃ€che mit zerkleinertem Gestein unterschiedlicher GrÃ¶Ãe bedeckt ist.');
+--INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (22, 1030,'GerÃ¶ll',           '"GerÃ¶ll" bedeutet, dass die ErdoberflÃ€che mit durch flieÃendes Wasser abgerundeten Gesteinen bedeckt ist.');
+--INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (22, 1040,'Sand',             '"Sand" bedeutet, dass die ErdoberflÃ€che mit kleinen, losen GesteinskÃ¶rnern bedeckt ist.');
+--INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (22, 1110,'Schnee',           '"Schnee" bedeutet, dass die ErdoberflÃ€che fÃŒr die grÃ¶Ãte Zeit des Jahres mit Schnee bedeckt ist.');
+--INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (22, 1120,'Eis, Firn',        '"Eis, Firn" bedeutet, dass die ErdoberflÃ€che mit altem, grobkÃ¶rnigem, mehrjÃ€hrigem Schnee im Hochgebirge bedeckt ist, der unter zunehmendem Druck zu Gletschereis wird.');
+
+
+-- ** GewÃ€sser **
+
+-- 24 ax_Fliessgewaesser
+-- -------------------------------------
+-- 'FlieÃgewÃ€sser' ist ein geometrisch begrenztes, oberirdisches, auf dem Festland flieÃendes GewÃ€sser, 
+-- das die Wassermengen sammelt, die als NiederschlÃ€ge auf die ErdoberflÃ€che fallen oder in Quellen austreten, 
+-- und in ein anderes GewÃ€sser, ein Meer oder in einen See transportiert
+--   oder
+-- in einem System von natÃŒrlichen oder kÃŒnstlichen Bodenvertiefungen verlaufendes Wasser, 
+-- das zur Be- und EntwÃ€sserung an- oder abgeleitet wird
+--   oder
+-- ein geometrisch begrenzter, fÃŒr die Schifffahrt angelegter kÃŒnstlicher Wasserlauf, 
+-- der in einem oder in mehreren Abschnitten die jeweils gleiche HÃ¶he des Wasserspiegels besitzt.
+
+-- Metadaten:
+INSERT INTO nutzung_meta (nutz_id, gruppe, source_table, title, fldclass)
+VALUES (24, 'GewÃ€sser','ax_fliessgewaesser','FlieÃgewÃ€sser', 'Funktion');
+
+-- Classes (Funktion):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (24, 8200,'Fluss');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (24, 8210,'Altwasser');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (24, 8220,'Altarm');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (24, 8230,'FlussmÃŒndungstrichter', '"FlussmÃŒndungstrichter" ist der Bereich des Flusses im Ãbergang zum Meer. Er beginnt dort, wo die bis dahin etwa parallel verlaufenden Ufer des Flusses sich trichterfÃ¶rmig zur offenen See hin erweitern. Die Abgrenzungen der FlussmÃŒndungstrichter ergeben sich aus dem BundeswasserstraÃengesetz (meerseitig) und den Bekanntmachungen der Wasser- und Schifffahrtsverwaltung sowie hÃ¶chst-richterlicher Rechtsprechung (binnenseitig).');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (24, 8300,'Kanal', '"Kanal" ist ein fÃŒr die Schifffahrt angelegter, kÃŒnstlicher Wasserlauf.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (24, 8400,'Graben');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (24, 8410,'Fleet');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (24, 8500,'Bach');
+
+
+-- 25 ax_Hafenbecken
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (25, 'GewÃ€sser','ax_hafenbecken','Hafenbecken', 'Funktion', 'Nutzung');
+
+-- Classes (Funktion):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL) VALUES (25, 8810,'Sportboothafenbecken');
+
+-- Nutzung:
+
+-- Zivil 1000
+-- 'Zivil' bedeutet, dass 'Hafenbecken' privaten oder Ã¶ffentlichen Zwecken dient und nicht militÃ€risch genutzt wird.
+-- MilitÃ€risch 2000
+-- 'MilitÃ€risch' bedeutet, dass 'Hafenbecken' nur von StreitkrÃ€ften genutzt wird.
+-- Teils zivil, teils militÃ€risch 3000
+-- 'Teils zivil, teils militÃ€risch' bedeutet, dass 'Hafenbecken' sowohl zivil als auch militÃ€risch genutzt wird.
+
+
+-- 26 ax_StehendesGewaesser
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (26, 'GewÃ€sser','ax_stehendesgewaesser','stehendes GewÃ€sser', 'Funktion', 'GewÃ€sserkennziffer');
+
+-- Classes (Funktion):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (26, 8610,'See');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (26, 8620,'Teich');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (26, 8630,'Stausee');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (26, 8631,'Speicherbecken');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (26, 8640,'Baggersee', '"Baggersee" ist ein kÃŒnstlich geschaffenes GewÃ€sser, aus dem Bodenmaterial gefÃ¶rdert wird.');
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL)         VALUES (26, 9999,'Sonstiges');
+
+-- hydrologischesMerkmal
+--  2000   Nicht stÃ€ndig Wasser fÃŒhrend
+--  "Nicht stÃ€ndig Wasser fÃŒhrend" heiÃt, dass ein GewÃ€sser nicht ganzjÃ€hrig Wasser fÃŒhrt.
+
+
+-- 27 ax_meer
+-- -------------------------------------
+
+-- Metadaten:
+INSERT INTO NUTZUNG_META (NUTZ_ID, GRUPPE, SOURCE_TABLE, TITLE, FLDCLASS, FLDINFO)
+VALUES (27, 'GewÃ€sser','ax_meer','Meer', 'Funktion', 'Bezeichnung');
+
+-- Classes (Funktion):
+INSERT INTO NUTZUNG_CLASS (NUTZ_ID, CLASS, LABEL, BLABLA) VALUES (27, 8710,'KÃŒstengewÃ€sser', '"KÃŒstengewÃ€sser" ist die FlÃ€che zwischen der KÃŒstenlinie bei mittlerem Hochwasser oder der seewÃ€rtigen Begrenzung der oberirdischen GewÃ€sser und der seewÃ€rtigen Begrenzung des deutschen Hoheitsgebietes. Dem mittleren Hochwasser ist der mittlere Wasserstand der Ostsee gleichzusetzen.');
+
+
+--tidemerkmal:
+
+-- Mit Tideeinfluss 1000
+-- "Mit Tideeinfluss" sind periodische Ãnderungen des Wasserspiegels und horizontale Bewegungen des Wassers, hervorgerufen durch die Massenanziehungs- und FliehkrÃ€fte des Systems Sonne, Mond und Erde in Verbindung mit der Erdrotation.
+
+
+-- END --
+purge recyclebin;
+QUIT;
Index: branches/0.7/import/konvertierung_kommandos_beispiele.txt
===================================================================
--- branches/0.7/import/konvertierung_kommandos_beispiele.txt	(revision 329)
+++ branches/0.7/import/konvertierung_kommandos_beispiele.txt	(revision 329)
@@ -0,0 +1,35 @@
+
+Beispiele fÃŒr die PostNAS Konvertierung von der Linux-Konsole.
+
+Es werden nicht die Shell-Scripte verwendet, die im Dialog die Parameter abfragen,
+sondern die davon aufgerufenen Shell-Scripte, die angehÃ€ngte Parameter erwarten.
+Diese Kommandos wÃŒrden z.B. fÃŒr nÃ€chtliche LÃ€ufe verwendet.
+
+
+Version:
+ 2012-02-10  Umstellung Version 0.6 auf 0.7
+
+gkz = 290
+
+
+
+Kommandos zum Konvertieren:
+--------------------------
+
+Packen:
+ /pfad/zu/postnas/zip_ordner.sh /data/nas_daten/290/0003
+
+Neu-Laden:
+ /pfad/zu/postnas/konv_batch.sh /data/nas_daten/290/0000 alkis07290_neu e  pp
+
+
+Datenbank-Tausch nach Neu-Laden (SQL):
+  ALTER Database alkis07290      RENAME TO  alkis07290_alt;
+  ALTER Database alkis07290_neu  RENAME TO  alkis07290;
+
+Aktualisieren:
+ /pfad/zu/postnas/konv_batch.sh /data/nas_daten/290/0002 alkis07290 a  nopp
+ /pfad/zu/postnas/konv_batch.sh /data/nas_daten/290/0003 alkis07290 a  pp
+
+Kontrolle:
+ less /pfad/zu/postnas/log/postnas_err.prot
Index: branches/0.7/import/alkis-trigger-hist-oracle.sql
===================================================================
--- branches/0.7/import/alkis-trigger-hist-oracle.sql	(revision 329)
+++ branches/0.7/import/alkis-trigger-hist-oracle.sql	(revision 329)
@@ -0,0 +1,194 @@
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE alkis_beziehungen_insert CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+
+CREATE TABLE alkis_beziehungen_insert(
+        ogr_fid                 integer NOT NULL,
+        beziehung_von           character(16),
+        beziehungsart           varchar2(2047),
+        beziehung_zu            character(16),
+        CONSTRAINT ALKIS_BZI PRIMARY KEY (ogr_fid)
+);
+
+-- BeziehungssÃ€tze aufrÃ€umen
+CREATE OR REPLACE TRIGGER alkis_beziehung_ins
+	AFTER INSERT ON "ALKIS_BEZIEHUNGEN"
+	REFERENCING NEW AS NEW
+	FOR EACH ROW
+BEGIN
+	-- avoid table mutation
+	INSERT
+	INTO alkis_beziehungen_insert(ogr_fid,beziehung_von,beziehungsart,beziehung_zu)
+	VALUES (
+		:NEW.ogr_fid,
+		:NEW.beziehung_von,
+		:NEW.beziehungsart,
+		:NEW.beziehung_zu
+	);
+END alkis_beziehung_inserted;
+/
+
+-- show errors trigger alkis_beziehung_ins;
+
+CREATE OR REPLACE TRIGGER alkis_beziehungen_a_ins
+	AFTER INSERT ON alkis_beziehungen
+BEGIN
+	FOR a IN (SELECT * FROM alkis_beziehungen_insert) LOOP
+		DELETE FROM alkis_beziehungen b WHERE a.ogr_fid<b.ogr_fid AND a.beziehung_von=b.beziehung_von AND a.beziehungsart=b.beziehungsart AND a.beziehung_zu=b.beziehung_zu;
+	END LOOP;
+	DELETE FROM alkis_beziehungen_insert;
+END alkis_beziehungen_a_ins;
+/
+
+-- show errors trigger alkis_beziehungen_a_ins
+
+CREATE OR REPLACE TRIGGER delete_feature_trigger
+	BEFORE INSERT ON "DELETE"
+	FOR EACH ROW
+DECLARE
+	s varchar2(2047);
+	alt_id varchar2(16);
+	neu_id varchar2(16);
+	beginnt varchar2(20);
+	endete varchar2(20);
+	n INTEGER;
+BEGIN
+	:NEW.typename := upper(substr(:NEW.typename, 1, 30));
+	:NEW.context  := lower(:NEW.context);
+	IF :NEW.context IS NULL THEN
+		:NEW.context := 'delete';
+	END IF;
+
+	-- TIMESTAMP weder in gml_id noch identifier verlÃ€Ãlich.
+	-- also ggf. aus Datenbank holen
+
+	IF length(:NEW.featureid)=32 THEN
+		alt_id  := substr(:NEW.featureid, 1, 16);
+
+		IF :NEW.featureid<>:NEW.replacedBy THEN
+			-- Beginnt-Datum aus Timestamp
+			beginnt := substr(:NEW.featureid, 17, 4) || '-'
+				|| substr(:NEW.featureid, 21, 2) || '-'
+				|| substr(:NEW.featureid, 23, 2) || 'T'
+				|| substr(:NEW.featureid, 26, 2) || ':'
+				|| substr(:NEW.featureid, 28, 2) || ':'
+				|| substr(:NEW.featureid, 30, 2) || 'Z'
+				;
+		END IF;
+	ELSIF length(:NEW.featureid)=16 THEN
+		alt_id := :NEW.featureid;
+	ELSE
+		raise_application_error(-20100, :NEW.featureid || ': LÃ€nge 16 oder 32 statt ' || length(:NEW.featureid) || ' erwartet.');
+	END IF;
+
+	IF beginnt IS NULL THEN
+		-- Beginnt-Datum des Ã€ltesten Eintrag, der nicht untergegangen ist
+		-- => der Satz dessen 'endet' gesetzt werden muÃ
+		EXECUTE IMMEDIATE 'SELECT min(beginnt) FROM ' || :NEW.typename
+			|| ' WHERE gml_id=''' || alt_id || ''''
+			|| ' AND endet IS NULL'
+			INTO beginnt;
+	END IF;
+
+	IF beginnt IS NULL THEN
+		IF :NEW.context = 'delete' OR :NEW.safetoignore = 'true' THEN
+			dbms_output.put_line('Kein Beginndatum fuer Objekt ' || alt_id || ' gefunden.');
+			:NEW.ignored := 'true';
+			RETURN;
+		ELSE
+			raise_application_error(-20100, 'Kein Beginndatum fuer Objekt ' || alt_id || ' gefunden.');
+		END IF;
+	END IF;
+
+	IF :NEW.context='delete' THEN
+		SELECT to_char(sysdate, 'YYYY-MM-DD"T"HH24:MI:SS"Z"') INTO endete FROM dual;
+
+	ELSIF :NEW.context='replace' THEN
+		:NEW.safetoignore := lower(:NEW.safetoignore);
+
+		IF :NEW.safetoignore IS NULL THEN
+			raise_application_error(-20100, :NEW.featureid || ': safeToIgnore nicht gesetzt.');
+		ELSIF :NEW.safetoignore<>'true' AND :NEW.safetoignore<>'false' THEN
+			raise_application_error(-20100, :NEW.featureid || ': safeToIgnore ''' || :NEW.safetoignore || ''' ungÃŒltig (''true'' oder ''false'' erwartet).');
+		END IF;
+
+		IF length(:NEW.replacedBy)=32 THEN
+			-- Beginnt-Datum aus Timestamp
+			neu_id := substr(:NEW.replacedBy, 1, 16);
+
+			IF :NEW.featureid<>:NEW.replacedBy THEN
+				endete  := substr(:NEW.replacedBy, 17, 4) || '-'
+					|| substr(:NEW.replacedBy, 21, 2) || '-'
+					|| substr(:NEW.replacedBy, 23, 2) || 'T'
+					|| substr(:NEW.replacedBy, 26, 2) || ':'
+					|| substr(:NEW.replacedBy, 28, 2) || ':'
+					|| substr(:NEW.replacedBy, 30, 2) || 'Z'
+					;
+			END IF;
+		ELSIF length(:NEW.replacedBy)=16 THEN
+			neu_id  := :NEW.replacedBy;
+		ELSIF length(:NEW.replacedBy)<>16 THEN
+			raise_application_error(-20100, :NEW.replacedBy || ': LÃ€nge 16 oder 32 statt ' || length(:NEW.replacedBy) || ' erwartet.');
+		END IF;
+
+		IF endete IS NULL THEN
+			-- Beginnt-Datum des neuesten Eintrag, der nicht untergegangen ist
+			-- => Enddatum fÃŒr vorherigen Satz
+			EXECUTE IMMEDIATE 'SELECT max(beginnt) FROM ' || :NEW.typename
+				|| ' WHERE gml_id=''' || neu_id || ''''
+				|| ' AND beginnt>''' || beginnt || ''''
+				|| ' AND endet IS NULL'
+				INTO endete;
+		END IF;
+
+		IF alt_id<>neu_id THEN
+			dbms_output.put_line('Objekt ' || alt_id || ' wird durch Objekt ' || neu_id || ' ersetzt.');
+		END IF;
+
+		IF endete IS NULL THEN
+			dbms_output.put_line('Kein Beginndatum fuer Objekt ' || neu_id || '.');
+		END IF;
+
+		IF endete IS NULL OR beginnt=endete THEN
+			raise_application_error(-20100, 'Objekt ' || alt_id || ' wird durch Objekt ' || neu_id || ' ersetzt (leere Lebensdauer?).');
+		END IF;
+	ELSE
+		raise_application_error(-20100, :NEW.featureid || ': UngÃŒltiger Kontext ' || :NEW.context || '''delete'' oder ''replace'' erwartet).');
+	END IF;
+
+	s   := 'UPDATE ' || :NEW.typename
+	    || ' SET endet=''' || endete || ''''
+	    || ' WHERE gml_id=''' || alt_id || ''''
+	    || ' AND beginnt=''' || beginnt || ''''
+	    || ' AND endet IS NULL';
+	EXECUTE IMMEDIATE s;
+	n := SQL%ROWCOUNT;
+	IF n<>1 THEN
+		dbms_output.put_line( 'SQL: ' || s);
+		IF :NEW.context = 'delete' OR :NEW.safetoignore = 'true' THEN
+			dbms_output.put_line( :NEW.featureid || ': Untergangsdatum von  ' || n || ' Objekten statt nur einem auf ' || endete || ' gesetzt - ignoriert' );
+			:NEW.ignored := 'true';
+			RETURN;
+		ELSIF n=0 THEN
+			EXECUTE IMMEDIATE 'SELECT endet FROM ' || :NEW.typename ||
+				' WHERE gml_id=''' || alt_id || '''' ||
+				' AND beginnt=''' || beginnt || ''''
+				INTO endete;
+
+			IF NOT endete IS NULL THEN
+				dbms_output.put_line( :NEW.featureid || ': Objekt bereits ' || endete || ' untergegangen - ignoriert' );
+			ELSE
+				dbms_output.put_line( :NEW.featureid || ': Objekt nicht gefunden - ignoriert' );
+			END IF;
+
+			:NEW.ignored := 'true';
+			RETURN;
+		ELSE
+			raise_application_error(-20100, :NEW.featureid || ': Untergangsdatum von ' || n || ' Objekten statt nur einem auf ' || endete || ' gesetzt - Abbruch' );
+		END IF;
+	END IF;
+
+	:NEW.ignored := 'false';
+END delete_feature_trigger;
+/
+
+-- show errors trigger delete_feature_trigger;
Index: branches/0.7/import/alkis_PostNAS_keytables.sql
===================================================================
--- branches/0.7/import/alkis_PostNAS_keytables.sql	(revision 329)
+++ branches/0.7/import/alkis_PostNAS_keytables.sql	(revision 329)
@@ -0,0 +1,1485 @@
+
+-- ALKIS-Datenbank aus dem Konverter PostNAS
+
+-- Z u s a e t z l i c h e   S c h l u e s s e l t a b e l l e n
+
+-- Dieses Script fuegt der Datenbank einige Schluesseltabellen hinzu, die der 
+-- Konverter PostNAS NICHT aufbaut, weil sie nicht in den NAS-Daten enthalten sind.
+-- Die Schluessel sind der Dokumentation zu entnehmen.
+
+-- Die Tabellen werden vom Buchwerk-Auskunftsprogramm benoetigt.
+
+-- Dies Script kann nach dem Anlegen der Datenbank mit dem Script 'alkis_PostNAS_schema.sql' verarbeitet werden.
+
+-- Version
+--  2010-09-16  F.J. Buchungsart hinzugefuegt
+--  2011-07-25       PostNAS 06, Umbenennung, "grant" raus
+--  2011-11-21  F.J. Mehrere neue SchlÃŒsseltabellen zu ax_gebaeude_*, Konstanten aus Tabellen entfernt (Wozu?)
+--  2011-12-16  A.E. Mehrere neue Tabellen zum Bereich "Bodenschaetzung"
+--  2011-12-19  F.J. Neue Tabelle "ax_datenerhebung"
+--  2011-12-20  A.E. ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion
+--  2011-12-22  A.E. ax_bauteil_bauart
+--  2012-03-12  A.E. ax_anderefestlegungnachstrassenrecht_artdf, ax_klassifizierungnachwasserrecht_artdf, 
+--                   ax_klassifizierungnachstrassenrecht_artdf, ax_naturumweltoderbodenschutzrecht_artdf, 
+--                   ax_sonstigesrecht_artdf, ax_anderefestlegungnachwasserrecht_artdf
+--  2013-04-17  F.J. Kurzbezeichnungen der BodenschÃ€ttung fÃŒr die Kartendarstellung
+
+--	2014-01-24	F.J. "Eigentuemerart" entschchlÃŒsseln
+
+  SET client_encoding = 'UTF8';
+
+-- G e b a e u d e - B a u w e i s e
+-- ---------------------------------
+-- Wird z.B. benoetigt in Buchauskunft, Modul 'alkisgebaeudenw.php'
+-- Nicht im Grunddatenbestand NRW 
+-- Siehe http://www.kreis-euskirchen.de/service/downloads/geoinformation/Kreis_EU_Gebaeudeerfassung.pdf
+
+CREATE TABLE ax_gebaeude_bauweise (
+    bauweise_id            integer, 
+    bauweise_beschreibung  character varying,
+    CONSTRAINT pk_ax_ax_gebaeude_bauweise PRIMARY KEY (bauweise_id)
+  );
+
+COMMENT ON TABLE ax_gebaeude_bauweise 
+ IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_gebaeude", Feld "bauweise".';
+
+COMMENT ON COLUMN ax_gebaeude_bauweise.bauweise_id           IS 'numerischer SchlÃŒssel';
+COMMENT ON COLUMN ax_gebaeude_bauweise.bauweise_beschreibung IS 'Bezeichnung, Bedeutung';
+
+INSERT INTO ax_gebaeude_bauweise (bauweise_id, bauweise_beschreibung) VALUES (1100,'Freistehendes EinzelgebÃ€ude');
+INSERT INTO ax_gebaeude_bauweise (bauweise_id, bauweise_beschreibung) VALUES (1200,'Freistehender GebÃ€udeblock');
+INSERT INTO ax_gebaeude_bauweise (bauweise_id, bauweise_beschreibung) VALUES (1300,'Einzelgarage');
+INSERT INTO ax_gebaeude_bauweise (bauweise_id, bauweise_beschreibung) VALUES (1400,'Doppelgarage');
+INSERT INTO ax_gebaeude_bauweise (bauweise_id, bauweise_beschreibung) VALUES (1500,'Sammelgarage');
+INSERT INTO ax_gebaeude_bauweise (bauweise_id, bauweise_beschreibung) VALUES (2100,'DoppelhaushÃ€lfte');
+INSERT INTO ax_gebaeude_bauweise (bauweise_id, bauweise_beschreibung) VALUES (2200,'Reihenhaus');
+INSERT INTO ax_gebaeude_bauweise (bauweise_id, bauweise_beschreibung) VALUES (2300,'Haus in Reihe');
+INSERT INTO ax_gebaeude_bauweise (bauweise_id, bauweise_beschreibung) VALUES (2400,'Gruppenhaus');
+INSERT INTO ax_gebaeude_bauweise (bauweise_id, bauweise_beschreibung) VALUES (2500,'GebÃ€udeblock in geschlossener Bauweise');
+INSERT INTO ax_gebaeude_bauweise (bauweise_id, bauweise_beschreibung) VALUES (4000,'Offene Halle');
+
+
+-- G e b a e u d e - F u n k t i o n
+-- ---------------------------------
+-- Tabelle wird z.B. benoetigt in Buchauskunft, Modul 'alkisgebaeudenw.php'
+-- Kennung   = 31001
+-- Objektart = 'ax_gebaeude'
+
+--DROP TABLE ax_gebaeude_gebaeudefunktion; -- alter Name
+
+CREATE TABLE ax_gebaeude_funktion (
+    wert        integer, 
+    bezeichner  character varying,
+    CONSTRAINT pk_ax_gebaeude_funktion_wert PRIMARY KEY (wert)
+   );
+
+COMMENT ON TABLE  ax_gebaeude_funktion 
+ IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_gebaeude", Feld "funktion".';
+
+COMMENT ON COLUMN ax_gebaeude_funktion.wert       IS 'numerischer SchlÃŒssel';
+COMMENT ON COLUMN ax_gebaeude_funktion.bezeichner IS 'Bezeichnung, Bedeutung';
+
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1000,'WohngebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1010,'Wohnhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1020,'Wohnheim');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1021,'Kinderheim');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1022,'Seniorenheim');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1023,'Schwesternwohnheim');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1024,'Studenten-, SchÃŒlerwohnheim');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1025,'Schullandheim');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1100,'Gemischt genutztes GebÃ€ude mit Wohnen');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1110,'WohngebÃ€ude mit Gemeinbedarf');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1120,'WohngebÃ€ude mit Handel und Dienstleistungen');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1121,'Wohn- und VerwaltungsgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1122,'Wohn- und BÃŒrogebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1123,'Wohn- und GeschÃ€ftsgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1130,'WohngebÃ€ude mit Gewerbe und Industrie');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1131,'Wohn- und BetriebsgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1210,'Land- und forstwirtschaftliches WohngebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1220,'Land- und forstwirtschaftliches Wohn- und BetriebsgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1221,'Bauernhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1222,'Wohn- und WirtschaftsgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1223,'Forsthaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1310,'GebÃ€ude zur Freizeitgestaltung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1311,'Ferienhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1312,'Wochenendhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (1313,'Gartenhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2000,'GebÃ€ude fÃŒr Wirtschaft oder Gewerbe');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2010,'GebÃ€ude fÃŒr Handel und Dienstleistungen');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2020,'BÃŒrogebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2030,'Kreditinstitut');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2040,'Versicherung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2050,'GeschÃ€ftsgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2051,'Kaufhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2052,'Einkaufszentrum');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2053,'Markthalle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2054,'Laden');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2055,'Kiosk');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2056,'Apotheke');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2060,'Messehalle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2070,'GebÃ€ude fÃŒr Beherbergung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2071,'Hotel, Motel, Pension');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2072,'Jugendherberge');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2073,'HÃŒtte (mit ÃbernachtungsmÃ¶glichkeit)');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2074,'CampingplatzgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2080,'GebÃ€ude fÃŒr Bewirtung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2081,'GaststÃ€tte, Restaurant');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2082,'HÃŒtte (ohne ÃbernachtungsmÃ¶glichkeit)');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2083,'Kantine');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2090,'Freizeit- und VergnÃŒgungsstÃ€tte');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2091,'Festsaal');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2092,'Kino');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2093,'Kegel-, Bowlinghalle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2094,'Spielkasino');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2100,'GebÃ€ude fÃŒr Gewerbe und Industrie');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2110,'ProduktionsgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2111,'Fabrik');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2112,'BetriebsgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2113,'Brauerei');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2114,'Brennerei');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2120,'Werkstatt');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2121,'SÃ€gewerk');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2130,'Tankstelle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2131,'WaschstraÃe, Waschanlage, Waschhalle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2140,'GebÃ€ude fÃŒr Vorratshaltung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2141,'KÃŒhlhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2142,'SpeichergebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2143,'Lagerhalle, Lagerschuppen, Lagerhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2150,'SpeditionsgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2160,'GebÃ€ude fÃŒr Forschungszwecke');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2170,'GebÃ€ude fÃŒr Grundstoffgewinnung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2171,'Bergwerk');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2172,'Saline');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2180,'GebÃ€ude fÃŒr betriebliche Sozialeinrichtung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2200,'Sonstiges GebÃ€ude fÃŒr Gewerbe und Industrie');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2210,'MÃŒhle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2211,'WindmÃŒhle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2212,'WassermÃŒhle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2213,'SchÃ¶pfwerk');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2220,'Wetterstation');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2310,'GebÃ€ude fÃŒr Handel und Dienstleistung mit Wohnen');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2320,'GebÃ€ude fÃŒr Gewerbe und Industrie mit Wohnen');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2400,'BetriebsgebÃ€ude zu Verkehrsanlagen (allgemein)');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2410,'BetriebsgebÃ€ude fÃŒr StraÃenverkehr');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2411,'StraÃenmeisterei');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2412,'Wartehalle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2420,'BetriebsgebÃ€ude fÃŒr Schienenverkehr');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2421,'BahnwÃ€rterhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2422,'Lokschuppen, Wagenhalle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2423,'Stellwerk, Blockstelle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2424,'BetriebsgebÃ€ude des GÃŒterbahnhofs');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2430,'BetriebsgebÃ€ude fÃŒr Flugverkehr');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2431,'Flugzeughalle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2440,'BetriebsgebÃ€ude fÃŒr Schiffsverkehr');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2441,'Werft (Halle)');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2442,'Dock (Halle)');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2443,'BetriebsgebÃ€ude zur Schleuse');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2444,'Bootshaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2450,'BetriebsgebÃ€ude zur Seilbahn');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2451,'Spannwerk zur Drahtseilbahn');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2460,'GebÃ€ude zum Parken');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2461,'Parkhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2462,'Parkdeck');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2463,'Garage');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2464,'Fahrzeughalle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2465,'Tiefgarage');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2500,'GebÃ€ude zur Versorgung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2501,'GebÃ€ude zur Energieversorgung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2510,'GebÃ€ude zur Wasserversorgung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2511,'Wasserwerk');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2512,'Pumpstation');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2513,'WasserbehÃ€lter');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2520,'GebÃ€ude zur ElektrizitÃ€tsversorgung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2521,'ElektrizitÃ€tswerk');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2522,'Umspannwerk');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2523,'Umformer');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2527,'ReaktorgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2528,'Turbinenhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2529,'Kesselhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2540,'GebÃ€ude fÃŒr Fernmeldewesen');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2560,'GebÃ€ude an unterirdischen Leitungen');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2570,'GebÃ€ude zur Gasversorgung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2571,'Gaswerk');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2580,'Heizwerk');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2590,'GebÃ€ude zur Versorgungsanlage');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2591,'Pumpwerk (nicht fÃŒr Wasserversorgung)');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2600,'GebÃ€ude zur Entsorgung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2610,'GebÃ€ude zur Abwasserbeseitigung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2611,'GebÃ€ude der KlÃ€ranlage');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2612,'Toilette');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2620,'GebÃ€ude zur Abfallbehandlung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2621,'MÃŒllbunker');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2622,'GebÃ€ude zur MÃŒllverbrennung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2623,'GebÃ€ude der Abfalldeponie');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2700,'GebÃ€ude fÃŒr Land- und Forstwirtschaft');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2720,'Land- und forstwirtschaftliches BetriebsgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2721,'Scheune');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2723,'Schuppen');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2724,'Stall');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2726,'Scheune und Stall');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2727,'Stall fÃŒr TiergroÃhaltung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2728,'Reithalle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2729,'WirtschaftsgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2732,'AlmhÃŒtte');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2735,'Jagdhaus, JagdhÃŒtte');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2740,'Treibhaus, GewÃ€chshaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2741,'Treibhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (2742,'GewÃ€chshaus, verschiebbar');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3000,'GebÃ€ude fÃŒr Ã¶ffentliche Zwecke');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3010,'VerwaltungsgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3011,'Parlament');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3012,'Rathaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3013,'Post');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3014,'Zollamt');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3015,'Gericht');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3016,'Botschaft, Konsulat');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3017,'Kreisverwaltung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3018,'Bezirksregierung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3019,'Finanzamt');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3020,'GebÃ€ude fÃŒr Bildung und Forschung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3021,'Allgemein bildende Schule');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3022,'Berufsbildende Schule');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3023,'HochschulgebÃ€ude (Fachhochschule, UniversitÃ€t)');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3024,'Forschungsinstitut');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3030,'GebÃ€ude fÃŒr kulturelle Zwecke');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3031,'Schloss');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3032,'Theater, Oper');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3033,'KonzertgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3034,'Museum');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3035,'Rundfunk, Fernsehen');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3036,'VeranstaltungsgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3037,'Bibliothek, BÃŒcherei');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3038,'Burg, Festung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3040,'GebÃ€ude fÃŒr religiÃ¶se Zwecke');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3041,'Kirche');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3042,'Synagoge');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3043,'Kapelle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3044,'Gemeindehaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3045,'Gotteshaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3046,'Moschee');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3047,'Tempel');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3048,'Kloster');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3050,'GebÃ€ude fÃŒr Gesundheitswesen');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3051,'Krankenhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3052,'Heilanstalt, Pflegeanstalt, Pflegestation');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3053,'Ãrztehaus, Poliklinik');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3060,'GebÃ€ude fÃŒr soziale Zwecke');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3061,'Jugendfreizeitheim');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3062,'Freizeit-, Vereinsheim, Dorfgemeinschafts-, BÃŒrgerhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3063,'SeniorenfreizeitstÃ€tte');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3064,'Obdachlosenheim');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3065,'Kinderkrippe, Kindergarten, KindertagesstÃ€tte');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3066,'Asylbewerberheim');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3070,'GebÃ€ude fÃŒr Sicherheit und Ordnung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3071,'Polizei');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3072,'Feuerwehr');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3073,'Kaserne');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3074,'Schutzbunker');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3075,'Justizvollzugsanstalt');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3080,'FriedhofsgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3081,'Trauerhalle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3082,'Krematorium');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3090,'EmpfangsgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3091,'BahnhofsgebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3092,'FlughafengebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3094,'GebÃ€ude zum U-Bahnhof');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3095,'GebÃ€ude zum S-Bahnhof');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3097,'GebÃ€ude zum Busbahnhof');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3098,'EmpfangsgebÃ€ude Schifffahrt');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3100,'GebÃ€ude fÃŒr Ã¶ffentliche Zwecke mit Wohnen');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3200,'GebÃ€ude fÃŒr Erholungszwecke');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3210,'GebÃ€ude fÃŒr Sportzwecke');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3211,'Sport-, Turnhalle');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3212,'GebÃ€ude zum Sportplatz');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3220,'BadegebÃ€ude');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3221,'Hallenbad');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3222,'GebÃ€ude im Freibad');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3230,'GebÃ€ude im Stadion');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3240,'GebÃ€ude fÃŒr Kurbetrieb');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3241,'BadegebÃ€ude fÃŒr medizinische Zwecke');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3242,'Sanatorium');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3260,'GebÃ€ude im Zoo');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3261,'EmpfangsgebÃ€ude des Zoos');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3262,'Aquarium, Terrarium, Voliere');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3263,'Tierschauhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3264,'Stall im Zoo');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3270,'GebÃ€ude im botanischen Garten');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3271,'EmpfangsgebÃ€ude des botanischen Gartens');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3272,'GewÃ€chshaus (Botanik)');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3273,'Pflanzenschauhaus');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3280,'GebÃ€ude fÃŒr andere Erholungseinrichtung');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3281,'SchutzhÃŒtte');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (3290,'Touristisches Informationszentrum');
+INSERT INTO ax_gebaeude_funktion (wert, bezeichner) VALUES (9998,'Nach Quellenlage nicht zu spezifizieren');
+
+
+-- W e i t e r e   G e b a e u d e - F u n k t i o n
+-- -------------------------------------------------
+
+--DROP TABLE ax_gebaeude_weiterefunktion;
+CREATE TABLE ax_gebaeude_weiterefunktion (
+    wert        integer,
+    bezeichner  character varying,
+	erklaer		character varying,
+    CONSTRAINT pk_ax_gebaeude_weitfunktion_wert PRIMARY KEY (wert)
+   );
+
+COMMENT ON TABLE  ax_gebaeude_weiterefunktion 
+ IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_gebaeude", Feld "weiterefunktion".';
+
+COMMENT ON COLUMN ax_gebaeude_weiterefunktion.wert       IS 'numerischer SchlÃŒssel';
+COMMENT ON COLUMN ax_gebaeude_weiterefunktion.bezeichner IS 'Lange Bezeichnung';
+COMMENT ON COLUMN ax_gebaeude_weiterefunktion.erklaer    IS 'ALKIS erklÃ€rt uns die Welt';
+
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1000, 'Bankfiliale',    '"Bankfiliale" ist eine Einrichtung in der GeldgeschÃ€fte getÃ€tigt werden.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1010, 'Hotel',          '"Hotel" ist ein Beherbergungs- und/oder Verpflegungsbetrieb.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1020, 'Jugendherberge', '"Jugendherberge" ist eine zur FÃ¶rderung von Jugendreisen dienende Aufenthalts- und ÃbernachtungsstÃ€tte.');	
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1030, 'GaststÃ€tte',     '"GaststÃ€tte" ist eine Einrichtung, in der gegen Entgelt Mahlzeiten und GetrÃ€nke zum sofortigen Verzehr angeboten werden.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1040, 'Kino',           '"Kino" ist eine Einrichtung, in der alle Arten von Filmen bzw. Lichtspielen fÃŒr ein Publikum abgespielt werden.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1050, 'Spielkasino',    '"Spielkasino" ist eine Einrichtung, in der Ã¶ffentlich zugÃ€nglich staatlich konzessioniertes GlÃŒcksspiel betrieben wird.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1060, 'Tiefgarage',     '"Tiefgarage" ist ein Bauwerk unterhalb der ErdoberflÃ€che, in dem Fahrzeuge abgestellt werden.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1070, 'Parkdeck',       '"Parkdeck" ist eine FlÃ€che auf einem GebÃ€ude, auf der Fahrzeuge abgestellt werden.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1080, 'Toilette',       '"Toilette" ist eine Einrichtung mit sanitÃ€ren Vorrichtungen zum Verrichtung der Notdurft.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1090, 'Post',           '"Post" ist eine Einrichtung, von der aus Briefe, Pakete befÃ¶rdert und weitere Dienstleistungen angeboten werden.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1100, 'Zoll',           '"Zoll" ist eine Einrichtung der Zollabfertigung.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1110, 'Theater',        '"Theater" ist eine Einrichtung, in der BÃŒhnenstÃŒcke aufgefÃŒhrt werden.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1120, 'Museum',         '"Museum" ist eine Einrichtung in der Sammlungen von (historischen) Objekten oder Reproduktionen davon ausgestellt werden.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1130, 'Bibliothek',     '"Bibliothek" ist eine Einrichtung, in der BÃŒcher und Zeitschriften gesammelt, aufbewahrt und ausgeliehen werden.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1140, 'Kapelle',        '"Kapelle" ist eine Einrichtung fÃŒr (christliche) gottesdienstliche Zwecke.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1150, 'Moschee',        '"Moschee" ist ein Einrichtung, in der sich Muslime zu Gottesdiensten versammeln oder zu anderen Zwecken treffen.');	
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1160, 'Tempel',         '');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1170, 'Apotheke',       '"Apotheke" ist ein GeschÃ€ft, in dem Arzneimittel hergestellt und verkauft werden.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1180, 'Polizeiwache',   '"Polizeiwache" ist eine Dienststelle der Polizei.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1190, 'Rettungsstelle', '"Rettungsstelle" ist eine Einrichtung zur Aufnahme, Erstbehandlung und gezielten Weiterverlegung von Patienten mit Erkrankungen und UnfÃ€llen aller Art.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1200, 'Touristisches Informationszentrum', '"Touristisches Informationszentrum" ist eine Auskunftsstelle fÃŒr Touristen.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1210, 'Kindergarten',    '"Kindergarten" ist eine Einrichtung, in der Kinder im Vorschulalter betreut werden.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1220, 'Arztpraxis',      '"Arztpraxis" ist die ArbeitsstÃ€tte eines Arztes.');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1230, 'Supermarkt',      '');
+INSERT INTO ax_gebaeude_weiterefunktion (wert, bezeichner, erklaer) VALUES (1240, 'GeschÃ€ft',        '');
+
+
+-- G e b Ã€ u d e   D a c h f o r m
+-- -------------------------------
+
+--DROP TABLE ax_gebaeude_dachform;
+CREATE TABLE ax_gebaeude_dachform 
+   (wert        integer, 
+    bezeichner  character varying,
+    CONSTRAINT pk_ax_gebaeude_dach_wert PRIMARY KEY (wert)
+   );
+
+COMMENT ON TABLE  ax_gebaeude_dachform 
+ IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_gebaeude", Feld "dachform".';
+
+COMMENT ON COLUMN ax_gebaeude_dachform.wert       IS 'numerischer SchlÃŒssel';
+COMMENT ON COLUMN ax_gebaeude_dachform.bezeichner IS 'Lange Bezeichnung';
+
+INSERT INTO ax_gebaeude_dachform (wert, bezeichner) VALUES (1000, 'Flachdach');
+INSERT INTO ax_gebaeude_dachform (wert, bezeichner) VALUES (2100, 'Pultdach');
+INSERT INTO ax_gebaeude_dachform (wert, bezeichner) VALUES (2200, 'Versetztes Pultdach');
+INSERT INTO ax_gebaeude_dachform (wert, bezeichner) VALUES (3100, 'Satteldach');
+INSERT INTO ax_gebaeude_dachform (wert, bezeichner) VALUES (3200, 'Walmdach');
+INSERT INTO ax_gebaeude_dachform (wert, bezeichner) VALUES (3300, 'KrÃŒppelwalmdach');
+INSERT INTO ax_gebaeude_dachform (wert, bezeichner) VALUES (3400, 'Mansardendach');
+INSERT INTO ax_gebaeude_dachform (wert, bezeichner) VALUES (3500, 'Zeltdach');
+INSERT INTO ax_gebaeude_dachform (wert, bezeichner) VALUES (3600, 'Kegeldach');
+INSERT INTO ax_gebaeude_dachform (wert, bezeichner) VALUES (3700, 'Kuppeldach');
+INSERT INTO ax_gebaeude_dachform (wert, bezeichner) VALUES (3800, 'Sheddach');
+INSERT INTO ax_gebaeude_dachform (wert, bezeichner) VALUES (3900, 'Bogendach');
+INSERT INTO ax_gebaeude_dachform (wert, bezeichner) VALUES (4000, 'Turmdach');
+INSERT INTO ax_gebaeude_dachform (wert, bezeichner) VALUES (5000, 'Mischform');
+INSERT INTO ax_gebaeude_dachform (wert, bezeichner) VALUES (9999, 'Sonstiges');
+
+
+
+-- G e b Ã€ u d e   Z u s t a n d
+-- -----------------------------
+
+CREATE TABLE ax_gebaeude_zustand 
+   (wert        integer, 
+    bezeichner  character varying,
+	erklaer		character varying,
+    CONSTRAINT pk_ax_gebaeude_zustand_wert PRIMARY KEY (wert)
+   );
+
+COMMENT ON TABLE  ax_gebaeude_zustand 
+ IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "___", Feld "___".';
+
+COMMENT ON COLUMN ax_gebaeude_zustand.wert       IS 'numerischer SchlÃŒssel';
+COMMENT ON COLUMN ax_gebaeude_zustand.erklaer    IS 'ggf. zusÃ€tzliche ErklÃ€rung';
+COMMENT ON COLUMN ax_gebaeude_zustand.bezeichner IS 'Lange Bezeichnung';
+
+INSERT INTO ax_gebaeude_zustand (wert, bezeichner) VALUES (1000, 'In behelfsmÃ€Ãigem Zustand');
+INSERT INTO ax_gebaeude_zustand (wert, bezeichner) VALUES (2000, 'In ungenutztem Zustand');
+INSERT INTO ax_gebaeude_zustand (wert, bezeichner, erklaer) VALUES (2100, 'AuÃer Betrieb, stillgelegt, verlassen', '"AuÃer Betrieb, stillgelegt, verlassen" bedeutet, dass das GebÃ€ude auf Dauer nicht mehr bewohnt oder genutzt wird');
+INSERT INTO ax_gebaeude_zustand (wert, bezeichner, erklaer) VALUES (2200, 'Verfallen, zerstÃ¶rt', '"Verfallen, zerstÃ¶rt" bedeutet, dass sich der ursprÃŒngliche Zustand des GebÃ€udes durch menschliche oder zeitliche Einwirkungen so verÃ€ndert hat, dass eine Nutzung nicht mehr mÃ¶glich ist.');
+INSERT INTO ax_gebaeude_zustand (wert, bezeichner) VALUES (2300, 'Teilweise zerstÃ¶rt');
+INSERT INTO ax_gebaeude_zustand (wert, bezeichner) VALUES (3000, 'Geplant und beantragt');
+INSERT INTO ax_gebaeude_zustand (wert, bezeichner) VALUES (4000, 'Im Bau');
+
+
+-- LageZurErdoberflaeche
+-- ---------------------
+-- nur 2 Werte:
+-- 1200, Unter der ErdoberflÃ€che
+--	    "Unter der ErdoberflÃ€che" bedeutet, dass sich das GebÃ€ude unter der ErdoberflÃ€che befindet.
+-- 1400, AufgestÃ€ndert
+--	    "AufgestÃ€ndert" bedeutet, dass ein GebÃ€ude auf StÃŒtzen steht.
+
+
+-- Dachgeschossausbau
+-- ------------------
+-- nur 4 Werte:
+-- 1000 Nicht ausbaufÃ€hig
+-- 2000 AusbaufÃ€hig
+-- 3000 Ausgebaut
+-- 4000 AusbaufÃ€higkeit unklar
+
+
+-- B u c h u n g s t s t e l l e  -  B u c h u n g s a r t
+-- -------------------------------------------------------
+-- Kennung   = 21008,
+-- Objektart = 'ax_buchungsstelle'
+
+CREATE TABLE ax_buchungsstelle_buchungsart (
+   wert integer,
+   bezeichner character varying,
+   CONSTRAINT pk_ax_bsba_wert PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE  ax_buchungsstelle_buchungsart 
+ IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_buchungsstelle", Feld "buchungsart".';
+
+COMMENT ON COLUMN ax_buchungsstelle_buchungsart.wert       IS 'numerischer SchlÃŒssel';
+COMMENT ON COLUMN ax_buchungsstelle_buchungsart.bezeichner IS 'Lange Bezeichnung';
+
+-- 51 Werte
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (1100,'GrundstÃŒck');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (1101,'Aufgeteiltes GrundstÃŒck WEG');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (1102,'Aufgeteiltes GrundstÃŒck Par. 3 Abs. 4 GBO');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (1200,'Ungetrennter Hofraum');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (1301,'Wohnungs-/Teileigentum');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (1302,'Miteigentum Par. 3 Abs. 4 GBO');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (1303,'Anteil am ungetrennten Hofraum');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (1401,'Aufgeteilter Anteil Wohnungs-/Teileigentum');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (1402,'Aufgeteilter Anteil Miteigentum Par. 3 Abs. 4 GBO');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (1403,'Aufgeteilter Anteil am ungetrennten Hofraum');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (1501,'Anteil an Wohnungs-/Teileigentumsanteil');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (1502,'Anteil an Miteigentumsanteil Par. 3 Abs. 4 GBO');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (1503,'Anteil am Anteil zum ungetrennten Hofraum');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2101,'Erbbaurecht');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2102,'Untererbbaurecht');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2103,'GebÃ€udeeigentum');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2104,'Fischereirecht');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2105,'Bergwerksrecht');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2106,'Nutzungsrecht');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2107,'Realgewerberecht');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2108,'Gemeinderecht');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2109,'Stavenrecht');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2110,'Hauberge');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2201,'Aufgeteiltes Erbbaurecht WEG');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2202,'Aufgeteiltes Untererbbaurecht WEG');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2203,'Aufgeteiltes Recht Par. 3 Abs. 4 GBO');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2204,'Aufgeteiltes Recht, KÃ¶rperschaft');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2205,'Aufgeteiltes GebÃ€udeeigentum');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2301,'Wohnungs-/Teilerbbaurecht');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2302,'Wohnungs-/Teiluntererbbaurecht');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2303,'Erbbaurechtsanteil Par. 3 Abs. 4 GBO');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2304,'Anteiliges Recht, KÃ¶rperschaft');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2305,'Anteil am GebÃ€udeeigentum');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2401,'Aufgeteilter Anteil Wohnungs-/Teilerbbaurecht');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2402,'Aufgeteilter Anteil Wohnungs-/Teiluntererbbaurecht');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2403,'Aufgeteilter Erbbaurechtsanteil Par. 3 Abs. 4 GBO');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2404,'Aufgeteiltes anteiliges Recht, KÃ¶rperschaft');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2405,'Aufgeteilter Anteil am GebÃ€udeeigentum');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2501,'Anteil am Wohnungs-/Teilerbbaurechtsanteil');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2502,'Anteil am Wohnungs-/Teiluntererbbaurechtsanteil');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2503,'Anteil am Erbbaurechtsanteil Par. 3 Abs. 4 GBO');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2504,'Anteil am anteiligen Recht, KÃ¶rperschaft');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (2505,'Anteil am Anteil zum GebÃ€udeeigentum');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (3100,'Vermerk subjektiv dinglicher Rechte (Par. 9 GBO)');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (4100,'Stockwerkseigentum');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (5101,'Von Buchungspflicht befreit Par. 3 Abs. 2 GBO');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (5200,'AnliegerflurstÃŒck');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (5201,'Anliegerweg');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (5202,'Anliegergraben');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (5203,'Anliegerwasserlauf, AnliegergewÃ€sser');
+INSERT INTO ax_buchungsstelle_buchungsart (wert, bezeichner) VALUES (6101,'Nicht gebuchtes Fischereirecht');
+
+
+-- N a m e n s n u m m e r  -  E i g e n t u e m e r a r t
+-- -------------------------------------------------------
+-- Kennung   = 21006,
+-- Objektart = 'AX_Namensnummer'
+-- 2014-01-24 NEU. Bisher nur 3 Werte ueber Function (case) entschluesselt.
+
+CREATE TABLE ax_namensnummer_eigentuemerart (
+   wert integer,
+   bezeichner character varying,
+   CONSTRAINT pk_ax_nnea_wert PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE  ax_namensnummer_eigentuemerart 
+ IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_namensnummer", Feld "eigentuemerart".';
+
+COMMENT ON COLUMN ax_namensnummer_eigentuemerart.wert       IS 'numerischer SchlÃŒssel';
+COMMENT ON COLUMN ax_namensnummer_eigentuemerart.bezeichner IS 'Lange Bezeichnung';
+
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (1000,'NatÃŒrliche Personen');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (1100,'NatÃŒrliche Person - Alleineigentum oder Ehepartner');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (1200,'NatÃŒrliche Person - Wohnsitz im Land');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (1300,'NatÃŒrliche Person - Wohnsitz auÃerhalb des Landes');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (1500,'NatÃŒrliche Person - Gemeinschaftseigentum');
+
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (2000,'Juristische Personen');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (2100,'GemeinnÃŒtzige Bau-, Wohnungs- oder Siedlungsgesellschaft oder -genossenschaft einschlieÃlich HeimstÃ€tte');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (2200,'Sonstige gemeinnÃŒtzige Institution (TrÃ€ger von KrankenhÃ€usern, Altenheimen usw.) ');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (2300,'Privates Wohnungsunternehmen, private Baugesellschaft u.Ã€.');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (2400,'Kreditinstitut');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (2500,'Versicherungsunternehmen');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (2900,'Andere Unternehmen, Gesellschaften usw.');
+
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (3000,'KÃ¶rperschaften');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (3100,'Stiftung');
+
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (4000,'Kirchliches Eigentum');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (4100,'Evangelische Kirche');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (4200,'Katholische Kirche ');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (4900,'Andere Kirchen, Religionsgemeinschaften usw.');
+
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5100,'Bundesrepublik Deutschland');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5101,'Bundesrepublik Deutschland, BundesstraÃenverwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5102,'Bundesrepublik Deutschland, Bundeswehrverwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5103,'Bundesrepublik Deutschland, Forstverwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5104,'Bundesrepublik Deutschland, Finanzverwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5105,'Bundesrepublik Deutschland, Zivilschutz');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5106,'Bundesrepublik Deutschland, WasserstraÃenverwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5107,'Bundesrepublik Deutschland, BundeseisenbahnvermÃ¶gen');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5210,'Eigentum des Volkes nach DDR-Recht');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5220,'Eigentum der Genossenschaften und deren Einrichtungen');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5230,'Eigentum der gesellschaftlichen Organisationen und deren Einrichtungen ');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5240,'Kommunale GebietskÃ¶rperschaften nach DDR-Recht');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5300,'AuslÃ€ndischer Staat');
+
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5400,'Kreis');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5500,'Gemeinde');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5600,'Kommunale GebietskÃ¶rperschaften ');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5700,'Andere GebietskÃ¶rperschaften, RegionalverbÃ€nde usw.');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5800,'ZweckverbÃ€nde, Kommunale Betriebe');
+
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5920,'Eigenes Bundesland');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5921,'Eigenes Bundesland, Denkmalpflege');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5922,'Eigenes Bundesland, DomÃ€nenverwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5923,'Eigenes Bundesland, Eichverwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5924,'Eigenes Bundesland, Finanzverwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5925,'Eigenes Bundesland, Forstverwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5926,'Eigenes Bundesland, Gesundheitswesen');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5927,'Eigenes Bundesland, Polizeiverwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5928,'Eigenes Bundesland, innere Verwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5929,'Eigenes Bundesland, Justizverwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5930,'Eigenes Bundesland, Kultusverwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5931,'Eigenes Bundesland, Landespflanzenschutzverwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5932,'Eigenes Bundesland, Arbeitsverwaltung ');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5933,'Eigenes Bundesland, Sozialwesen');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5934,'Eigenes Bundesland, Landesbetrieb StraÃen und Verkehr');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5935,'Eigenes Bundesland, Umweltverwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5936,'Eigenes Bundesland, Vermessungs- und Katasterverwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5937,'Eigenes Bundesland, Wasserwirtschaftsverwaltung ');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5938,'Eigenes Bundesland, Wirtschaftsverwaltung');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (5939,'Eigenes Bundesland, Liegenschafts- und Baubetreuung (LBB)');
+
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6000,'Anderes Bundesland (allg.)');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6001,'Schleswig-Holstein');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6002,'Hamburg');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6003,'Niedersachsen');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6004,'Bremen');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6005,'Nordrhein-Westfalen');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6006,'Hessen');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6007,'Rheinland-Pfalz');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6008,'Baden-WÃŒrttemberg');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6009,'Bayern');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6010,'Saarland');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6012,'Brandenburg');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6011,'Berlin');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6013,'Mecklenburg-Vorpommern');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6014,'Sachsen');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6015,'Sachsen-Anhalt');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (6016,'ThÃŒringen');
+
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (7100,'Deutsche Bahn AG');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (8000,'Herrenlos');
+INSERT INTO ax_namensnummer_eigentuemerart (wert, bezeichner) VALUES (9000,'EigentÃŒmer unbekannt');
+
+-- In der Praxis kommt vor:
+--   SELECT DISTINCT eigentuemerart FROM ax_namensnummer ORDER BY eigentuemerart;
+
+
+-- B a u - , R a u m -  oder  B o d e n - O r d n u n g s r e c h t  -  A r t  d e r  F e s t l e g u n g
+-- ------------------------------------------------------------------------------------------------------
+-- Kennung = 71008,
+-- Objektart = 'ax_bauraumoderbodenordnungsrecht'
+-- fÃŒr: Entschluesseln der Rechte im Template
+
+CREATE TABLE ax_bauraumoderbodenordnungsrecht_artderfestlegung (
+	wert        integer, 
+	bezeichner  character varying,
+	CONSTRAINT pk_ax_brecht_artfest_wert PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE  ax_bauraumoderbodenordnungsrecht_artderfestlegung 
+IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bauraumoderbodenordnungsrecht", Feld "artderfestlegung".';
+
+COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht_artderfestlegung.wert       IS 'numerischer SchlÃŒssel';
+COMMENT ON COLUMN ax_bauraumoderbodenordnungsrecht_artderfestlegung.bezeichner IS 'Lange Bezeichnung';
+
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1700,'Festlegung nach Baugesetzbuch - Allgemeines StÃ€dtebaurecht');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1710,'Bebauungsplan');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1720,'VerÃ€nderungssperre nach Baugesetzbuch');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1730,'Vorkaufrechtssatzung');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1740,'Enteignungsverfahren');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1750,'Umlegung nach dem BauGB');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1760,'Bauland');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1770,'Vereinfachte Umlegung');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1780,'Vorhaben- und ErschlieÃungsplan');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1790,'FlÃ€chennutzungsplan');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1800,'Festlegung nach Baugesetzbuch - Besonderes StÃ€dtebaurecht');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1810,'StÃ€dtebauliche EntwicklungsmaÃnahme');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1811,'StÃ€dtebauliche EntwicklungsmaÃnahme (Beschluss zu vorbereitenden Untersuchungen gefasst)');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1820,'Erhaltungssatzung');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1821,'StÃ€dtebauliches Erhaltungsgebiet');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1822,'Soziales Erhaltungsgebiet');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1823,'Erhaltungsgebiet zur stÃ€dtebaulichen Umstrukturierung');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1824,'Soziales Erhaltungsgebiet (Aufstellungsbeschluss gefasst)');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1830,'StÃ€dtebauliche Gebote');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1840,'Sanierung');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1841,'Sanierung (Beschluss zu vorbereitenden Untersuchungen gefasst)');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (1900,'Wohnungsbauerleichterungsgesetz');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2100,'Flurbereinigungsgesetz');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2110,'Flurbereinigung (Par. 1, 37 FlurbG)');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2120,'Vereinfachtes Flurbereinigungsverfahren (Par. 86 FlurbG)');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2130,'Unternehmensflurbereinigung (nach Par. 87 oder 90 FlurbG)');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2140,'Beschleunigtes Zusammenlegungsverfahren (Par. 91 FlurbG)');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2150,'Freiwilliger Landtausch (Par. 103a FlurbG)');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2160,'Verfahren nach dem Gemeinheitsteilungsgesetz');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2170,'Verfahren nach dem Gemeinschaftswaldgesetz');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2180,'Freiwilliger Nutzungstausch');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2200,'Verfahren nach dem Landwirtschaftsanpassungsgesetz');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2210,'Flurneuordnung');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2220,'Freiwilliger Landtausch (Par. 54 LwAnpG)');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2230,'Bodenordnungsverfahren (Par. 56 LwAnpG)');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2240,'ZusammenfÃŒhrung von Boden- und GebÃ€udeeigentum (Par. 64 LwAnpG)');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2300,'Bodensonderungsgesetz');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2310,'Unvermessenes Eigentum');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2320,'Unvermessenes Nutzungsrecht');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2330,'ErgÃ€nzende Bodenneuordnung');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2340,'Komplexe Bodenneuordnung');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2400,'VermÃ¶genszuordnungsgesetz');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2410,'VermÃ¶genszuordnung nach Plan');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2411,'VermÃ¶genszuordnung nach dem Aufteilungsplan');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2412,'VermÃ¶genszuordnung nach dem Zuordnungsplan');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2500,'Landesraumordnungsgesetz');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2510,'Wasservorranggebiete');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2600,'Bauordnung');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2610,'Baulast');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2611,'BegÃŒnstigende Baulast');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2612,'Belastende Baulast');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2700,'Grenzfeststellungsverfahren nach Hamb. Wassergesetz');
+INSERT INTO ax_bauraumoderbodenordnungsrecht_artderfestlegung (wert, bezeichner) VALUES (2800,'VerkehrsflÃ€chenbereinigung');
+
+
+-- B o d e n s c h a e t z u n g -  K u l t u r a r t
+-- --------------------------------------------------
+--DROP TABLE ax_bodenschaetzung_kulturart;
+CREATE TABLE ax_bodenschaetzung_kulturart (
+    wert integer,
+	kurz character varying,
+    bezeichner character varying,
+    CONSTRAINT pk_ax_bodenschaetzung_kulturart  PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE ax_bodenschaetzung_kulturart 
+ IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bodenschaetzung", Feld "kulturart".';
+
+COMMENT ON COLUMN ax_bodenschaetzung_kulturart.wert       IS 'numerischer SchlÃŒssel';
+COMMENT ON COLUMN ax_bodenschaetzung_kulturart.kurz       IS 'KÃŒrzel';
+COMMENT ON COLUMN ax_bodenschaetzung_kulturart.bezeichner IS 'Lange Bezeichnung';
+
+INSERT INTO ax_bodenschaetzung_kulturart (wert, kurz, bezeichner) VALUES (1000,'A'  , 'Ackerland (A)');
+INSERT INTO ax_bodenschaetzung_kulturart (wert, kurz, bezeichner) VALUES (2000,'AGr', 'Acker-GrÃŒnland (AGr)');
+INSERT INTO ax_bodenschaetzung_kulturart (wert, kurz, bezeichner) VALUES (3000,'Gr' , 'GrÃŒnland (Gr)');
+INSERT INTO ax_bodenschaetzung_kulturart (wert, kurz, bezeichner) VALUES (4000,'GrA', 'GrÃŒnland-Acker (GrA)');
+
+
+-- B o d e n s c h a e t z u n g  -  B o d e n a r t
+-- -------------------------------------------------
+--DROP TABLE ax_bodenschaetzung_bodenart;
+CREATE TABLE ax_bodenschaetzung_bodenart (
+    wert integer,
+	kurz character varying,
+    bezeichner character varying,
+    CONSTRAINT pk_ax_bodenschaetzung_bodenart  PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE ax_bodenschaetzung_bodenart 
+ IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bodenschaetzung", Feld "bodenart".';
+
+COMMENT ON COLUMN ax_bodenschaetzung_bodenart.wert       IS 'numerischer SchlÃŒssel';
+COMMENT ON COLUMN ax_bodenschaetzung_bodenart.kurz       IS 'KÃŒrzel, Kartenanzeige';
+COMMENT ON COLUMN ax_bodenschaetzung_bodenart.bezeichner IS 'Lange Bezeichnung';
+
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (1100,'S',     'Sand (S)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (2100,'lS',    'Lehmiger Sand (lS)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (3100,'L',     'Lehm (L)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (4100,'T',     'Ton (T)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (5000,'Mo',    'Moor (Mo)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (1200,'Sl',    'Anlehmiger Sand (Sl)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (2200,'SL',    'Stark lehmiger Sand (SL)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (3200,'sL',    'Sandiger Lehm (sL)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (4200,'LT',    'Schwerer Lehm (LT)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (6110,'SMo',   'Sand, Moor (SMo)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (6120,'lSMo',  'Lehmiger Sand, Moor (lSMo)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (6130,'LMo',   'Lehm, Moor (LMo)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (6140,'TMo',   'Ton, Moor (TMo)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (6210,'MoS',   'Moor,Sand (MoS)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (6220,'MolS',  'Moor, Lehmiger Sand (MolS)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (6230,'MoL',   'Moor, Lehm (MoL)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (6240,'MoT',   'Moor, Ton (MoT)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7110,'S/sL',  'Sand auf sandigem Lehm (S/sL)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7130,'S/LT',  'Sand auf schwerem Lehm (S/LT)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7210,'Sl/L',  'Anlehmiger Sand auf Lehm (Sl/L)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7220,'Sl/LT', 'Anlehmiger Sand auf schwerem Lehm (Sl/LT)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7230,'Sl/T',  'Anlehmiger Sand auf Ton (Sl/T)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7310,'lS/LT', 'Lehmiger Sand auf schwerem Lehm (lS/LT)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7320,'lS/S',  'Lehmiger Sand auf Sand (lS/S)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7400,'SL/T)', 'Stark lehmiger Sand auf Ton (SL/T)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7510,'T/SL',  'Ton auf stark lehmigen Sand (T/SL)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7530,'T/Sl',  'Ton auf anlehmigen Sand (T/Sl)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7610,'LT/lS', 'Schwerer Lehm auf lehmigen Sand (LT/lS)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7620,'LT/Sl', 'Schwerer Lehm auf anlehmigen Sand (LT/Sl)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7630,'LT/S',  'Schwerer Lehm auf Sand (LT/S)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7710,'L/Sl',  'Lehm auf anlehmigen Sand (L/Sl)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7800,'sL/S',  'Sandiger Lehm auf Sand (sL/S)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7120,'S/L',   'Sand auf Lehm (S/L)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7140,'S/T',   'Sand auf Ton (S/T)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7330,'lS/T',  'Lehmiger Sand auf Ton (lS/T)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7520,'T/lS',  'Ton auf lehmigen Sand (T/lS)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7540,'T/S',   'Ton auf Sand (T/S)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (7720,'L/S',   'Lehm auf Sand (L/S)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (8110,'S/Mo',  'Sand auf Moor (S/Mo)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (8120,'lS/Mo', 'Lehmiger Sand auf Moor (lS/Mo)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (8130,'L/Mo',  'Lehm auf Moor (L/Mo)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (8140,'T/Mo',  'Ton auf Moor (T/Mo)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (8210,'Mo/S',  'Moor auf Sand (Mo/S)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (8220,'Mo/lS', 'Moor auf lehmigen Sand (Mo/lS)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (8230,'Mo/L',  'Moor auf Lehm (Mo/L)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (8240,'Mo/T',  'Moor auf Ton (Mo/T)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9120,'L+Mo',  'Bodenwechsel vom Lehm zu Moor (L+Mo)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9130,'lSg',   'Lehmiger Sand mit starkem Steingehalt (lSg)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9140,'Lg',    'Lehm mit starkem Steingehalt (Lg)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9150,'lS+St', 'lehmiger Sand mit Steinen und BlÃ¶cken (lS+St)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9160,'L+St',  'Lehm mit Steinen und BlÃ¶cken (L+St)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9170,'St+lS', 'Steine und BlÃ¶cke mit lehmigem Sand (St+lS)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9180,'St+L',  'Steine und BlÃ¶cke mit Lehm (St+L)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9190,'lS+Fe', 'lehmiger Sand mit Felsen (lS+Fe)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9200,'L+Fe',  'Lehm mit Felsen (L+Fe)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9210,'Fe+lS', 'Felsen mit lehmigem Sand (Fe+lS)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9220,'Fe+L',  'Felsen mit Lehm (Fe+L)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9310,'S/lS',  'Sand auf lehmigen Sand (S/lS)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9320,'Sl/Me', 'Anlehmiger Sand auf Mergel (Sl/Me)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9330,'Sl/sL', 'Anlehmiger Sand auf sandigem Lehm (Sl/sL)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9340,'lS/L',  'Lehmiger Sand auf Lehm (lS/L)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9350,'lS/Me', 'Lehmiger Sand auf Mergel (lS/Me)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9360,'lS/sL', 'Lehmiger Sand auf sandigem Lehm (lS/sL)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9370,'lSMe',  'Lehmiger Sand, Mergel (lSMe)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9380,'lSMo/Me','Lehmiger Sand, Moor auf Mergel (lSMo/Me)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9390,'SlMo',  'Anlehmiger Sand, Moor (SlMo)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9410,'L/Me',  'Lehm auf Mergel (L/Me)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9420,'LMo/Me','Lehm, Moor auf Mergel (LMo/Me)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9430,'LT/Mo', 'Schwerer Lehm auf Moor (LT/Mo)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9440,'T/Me',  'Ton auf Mergel (T/Me)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9450,'Mo/Me', 'Moor auf Mergel (Mo/Me)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9460,'MoL/Me','Moor, Lehm auf Mergel (MoL/Me)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9470,'MoMe',  'Moor, Mergel (MoMe)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9480,'LÃ¶D',   'LÃ¶ÃDiluvium (LÃ¶D)');
+INSERT INTO ax_bodenschaetzung_bodenart (wert, kurz, bezeichner) VALUES (9490,'AlD',   'AlluviumDiluvium (AlD)');
+
+
+-- B o d e n s c h a e t z u n g  -  Z u s t a n d s s t u f e
+-- ------------------------------------------------------------
+
+CREATE TABLE ax_bodenschaetzung_zustandsstufe (
+    wert integer,
+    kurz character varying,
+    bezeichner character varying,
+    CONSTRAINT pk_ax_bodenschaetzung_zustandsstufe  PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE ax_bodenschaetzung_zustandsstufe 
+ IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bodenschaetzung", Feld "zustandsstufe".';
+
+COMMENT ON COLUMN ax_bodenschaetzung_zustandsstufe.wert       IS 'numerischer SchlÃŒssel';
+COMMENT ON COLUMN ax_bodenschaetzung_zustandsstufe.kurz       IS 'KÃŒrzel, Kartenanzeige';
+COMMENT ON COLUMN ax_bodenschaetzung_zustandsstufe.bezeichner IS 'Lange Bezeichnung';
+
+INSERT INTO ax_bodenschaetzung_zustandsstufe (wert, kurz, bezeichner) VALUES (1100,'1','Zustandsstufe (1)');
+INSERT INTO ax_bodenschaetzung_zustandsstufe (wert, kurz, bezeichner) VALUES (1200,'2','Zustandsstufe (2)');
+INSERT INTO ax_bodenschaetzung_zustandsstufe (wert, kurz, bezeichner) VALUES (1300,'3','Zustandsstufe (3)');
+INSERT INTO ax_bodenschaetzung_zustandsstufe (wert, kurz, bezeichner) VALUES (1400,'4','Zustandsstufe (4)');
+INSERT INTO ax_bodenschaetzung_zustandsstufe (wert, kurz, bezeichner) VALUES (1500,'5','Zustandsstufe (5)');
+INSERT INTO ax_bodenschaetzung_zustandsstufe (wert, kurz, bezeichner) VALUES (1600,'6','Zustandsstufe (6)');
+INSERT INTO ax_bodenschaetzung_zustandsstufe (wert, kurz, bezeichner) VALUES (1700,'7','Zustandsstufe (7)');
+INSERT INTO ax_bodenschaetzung_zustandsstufe (wert, kurz, bezeichner) VALUES (1800,'-','Zustandsstufe Misch- und SchichtbÃ¶den sowie kÃŒnstlichverÃ€nderte BÃ¶den (-)');
+
+INSERT INTO ax_bodenschaetzung_zustandsstufe (wert, kurz, bezeichner) VALUES (2100,'I','Bodenstufe (I)');
+INSERT INTO ax_bodenschaetzung_zustandsstufe (wert, kurz, bezeichner) VALUES (2200,'II','Bodenstufe (II)');
+INSERT INTO ax_bodenschaetzung_zustandsstufe (wert, kurz, bezeichner) VALUES (2300,'III','Bodenstufe (III)');
+INSERT INTO ax_bodenschaetzung_zustandsstufe (wert, kurz, bezeichner) VALUES (2400,'-','Bodenstufe Misch- und SchichtbÃ¶den sowie kÃŒnstlich verÃ€nderte BÃ¶den (-)');
+INSERT INTO ax_bodenschaetzung_zustandsstufe (wert, kurz, bezeichner) VALUES (3100,'II+III','Bodenstufe (II+III)');
+INSERT INTO ax_bodenschaetzung_zustandsstufe (wert, kurz, bezeichner) VALUES (3200,'(III)','Bodenstufe ("(III)")');
+INSERT INTO ax_bodenschaetzung_zustandsstufe (wert, kurz, bezeichner) VALUES (3300,'IV','Bodenstufe (IV)');
+
+
+-- B o d e n s c h a e t z u n g   -  Muster-, Landesmuster- und Vergleichsstueck
+-- ------------------------------------------------------------------------------
+CREATE TABLE ax_musterlandesmusterundvergleichsstueck_merkmal (
+    wert integer,
+    kurz character varying,
+    bezeichner character varying,
+    CONSTRAINT pk_ax_musterstueck_merkmal  PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE ax_musterlandesmusterundvergleichsstueck_merkmal 
+ IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_musterlandesmusterundvergleichsstueck", Feld "merkmal".';
+
+COMMENT ON COLUMN ax_musterlandesmusterundvergleichsstueck_merkmal.wert       IS 'numerischer SchlÃŒssel';
+COMMENT ON COLUMN ax_musterlandesmusterundvergleichsstueck_merkmal.kurz       IS 'KÃŒrzel, Kartenanzeige';
+COMMENT ON COLUMN ax_musterlandesmusterundvergleichsstueck_merkmal.bezeichner IS 'Lange Bezeichnung';
+
+INSERT INTO ax_musterlandesmusterundvergleichsstueck_merkmal (wert, kurz, bezeichner) VALUES (1000,'M','MusterstÃŒck (M)');
+INSERT INTO ax_musterlandesmusterundvergleichsstueck_merkmal (wert, kurz, bezeichner) VALUES (2000,'L','LandesmusterstÃŒck (L)');
+INSERT INTO ax_musterlandesmusterundvergleichsstueck_merkmal (wert, kurz, bezeichner) VALUES (3000,'V','VergleichsstÃŒck (V)');
+
+
+-- B o d e n s c h a e t z u n g  -  Grabloch der Bodenschaetzung
+-- --------------------------------------------------------------
+
+CREATE TABLE ax_grablochderbodenschaetzung_bedeutung (
+    wert integer,
+    bezeichner character varying,
+    CONSTRAINT pk_ax_grabloch_bedeutung  PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE ax_grablochderbodenschaetzung_bedeutung
+ IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_grablochderbodenschaetzung", Feld "bedeutung".';
+
+COMMENT ON COLUMN ax_grablochderbodenschaetzung_bedeutung.wert       IS 'numerischer SchlÃŒssel';
+COMMENT ON COLUMN ax_grablochderbodenschaetzung_bedeutung.bezeichner IS 'Lange Bezeichnung';
+
+INSERT INTO ax_grablochderbodenschaetzung_bedeutung (wert, bezeichner) VALUES (1100, 'Grabloch, bestimmend, lagerichtig (innerhalb der FlÃ€che)');
+INSERT INTO ax_grablochderbodenschaetzung_bedeutung (wert, bezeichner) VALUES (1200, 'Grabloch, bestimmend, lagerichtig (auÃerhalb des Abschnitts)');
+INSERT INTO ax_grablochderbodenschaetzung_bedeutung (wert, bezeichner) VALUES (1300, 'Grabloch, nicht lagerichtig, im Abschnitt nicht vorhanden');
+INSERT INTO ax_grablochderbodenschaetzung_bedeutung (wert, bezeichner) VALUES (2000, 'Grabloch fÃŒr Muster-, Landesmuster-, VergleichsstÃŒck');
+INSERT INTO ax_grablochderbodenschaetzung_bedeutung (wert, bezeichner) VALUES (3000, 'Grabloch, nicht bestimmend');
+
+
+-- B o d e n s c h a e t z u n g   -  Entstehungsart oder Klimastufe / Wasserverhaeltnisse
+-- ----------------------------------------------------------------------------------------
+--DROP TABLE ax_bodenschaetzung_entstehungsartoderklimastufe;
+CREATE TABLE ax_bodenschaetzung_entstehungsartoderklimastufe (
+    wert integer,
+    kurz character varying,
+    bezeichner character varying,
+    CONSTRAINT pk_ax_bodenschaetzung_entstehung PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE ax_bodenschaetzung_entstehungsartoderklimastufe
+ IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bodenschaetzung", Feld "entstehungsartoderklimastufe".';
+
+COMMENT ON COLUMN ax_bodenschaetzung_entstehungsartoderklimastufe.wert       IS 'numerischer SchlÃŒssel';
+COMMENT ON COLUMN ax_bodenschaetzung_entstehungsartoderklimastufe.kurz       IS 'KÃŒrzel, Kartenanzeige';
+COMMENT ON COLUMN ax_bodenschaetzung_entstehungsartoderklimastufe.bezeichner IS 'Lange Bezeichnung';
+
+
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(1000,'D',   'Diluvium (D)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(1100,'DAl', 'Diluvium ÃŒber Alluvium (DAl)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(1200,'DLÃ¶', 'Diluvium ÃŒber LÃ¶Ã (DLÃ¶)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(1300,'DV',  'Diluvium ÃŒber Verwitterung (DV)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(1400,'Dg',  'Diluvium, gesteinig (Dg)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(1410,'DgAl','Diluvium, gesteinig ÃŒber Alluvium (DgAl)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(1420,'DgLÃ¶','Diluvium, gesteinig ÃŒber LÃ¶Ã (DgLÃ¶)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(1430,'DgV', 'Diluvium, gesteinig ÃŒber Verwitterung (DgV)');
+
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(2000,'LÃ¶',  'LÃ¶Ã (LÃ¶)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(2100,'LÃ¶D', 'LÃ¶Ã ÃŒber Diluvium (LÃ¶D)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(2110,'LÃ¶Dg','LÃ¶Ã, Diluvium, GesteinsbÃ¶den (LÃ¶Dg)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(2120,'LÃ¶DV','LÃ¶Ã, Diluvium, Verwitterung (LÃ¶DV)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(2200,'LÃ¶Al','LÃ¶Ã ÃŒber Alluvium (LÃ¶Al)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(2300,'LÃ¶V', 'LÃ¶Ã ÃŒber Verwitterung (LÃ¶V)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(2310,'LÃ¶Vg','LÃ¶Ã, Verwitterung, GesteinsbÃ¶den (LÃ¶Vg)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(2400,'LÃ¶Vg','LÃ¶Ã ÃŒber Verwitterung, gesteinig (LÃ¶Vg)');
+
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3000,'Al',  'Alluvium (Al)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3100,'AlD', 'Alluvium ÃŒber Diluvium (AlD)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3200,'AlLÃ¶','Alluvium ÃŒber LÃ¶Ã (AlLÃ¶)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3300,'AlV', 'Alluvium ÃŒber Verwitterung (AlV)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3400,'Alg', 'Alluvium, gesteinig (Alg)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3410,'AlgD','Alluvium, gesteinig ÃŒber Diluvium (AlgD)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3420,'AlgLÃ¶','Alluvium, gesteinig ÃŒber LÃ¶Ã (AlgLÃ¶)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3430,'AlgV','Alluvium, gesteinig ÃŒber Verwitterung (AlgV)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3500,'AlMa','Alluvium, Marsch (AlMa)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3610,'AlMo','Alluvium, Moor (AlMo)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3620,'MoAI','Moor, Alluvium (MoAI)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3700,'Me',  'Mergel (Me)');
+
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(4000,'V',   'Verwitterung (V)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(4100,'VD',  'Verwitterung ÃŒber Diluvium (VD)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(4200,'VAl', 'Verwitterung ÃŒber Alluvium (VAl)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(4300,'VLÃ¶', 'Verwitterung ÃŒber LÃ¶Ã (VLÃ¶)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(4400,'Vg',  'Verwitterung, GesteinsbÃ¶den (Vg)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(4410,'VgD', 'Verwitterung, GesteinsbÃ¶den ÃŒber Diluvium (VgD)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(5000,'-',   'Entstehungsart nicht erkennbar (-)');
+
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(6100,'a',   'Klimastufe 8Â° C und darÃŒber (a)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(6200,'b',   'Klimastufe 7,9Â° - 7,0Â° C (b)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(6300,'c',   'Klimastufe 6,9Â° - 5,7Â° C (c)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(6400,'d',   'Klimastufe 5,6Â° C und darunter (d)');
+
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7100,'1',   'Wasserstufe (1)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7200,'2',   'Wasserstufe (2)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7300,'3',   'Wasserstufe (3)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7400,'4',   'Wasserstufe (4)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7410,'4-',  'Wasserstufe (4-)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7500,'5',   'Wasserstufe (5)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7510,'5-',  'Wasserstufe (5-)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7520,'3-',  'Wasserstufe (3-)');
+INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7530,'3+4', 'Wasserstufe (3+4)');
+
+
+-- B o d e n s c h a e t z u n g   -  sonstige Angaben
+-- ----------------------------------------------------------------------------------------
+--DROP TABLE ax_bodenschaetzung_sonstigeangaben;
+CREATE TABLE ax_bodenschaetzung_sonstigeangaben (
+    wert integer,
+    kurz character varying,
+    bezeichner character varying,
+    CONSTRAINT pk_ax_bodenschaetzung_sonst PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE ax_bodenschaetzung_sonstigeangaben
+ IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bodenschaetzung", Feld "sonstigeangaben".';
+
+COMMENT ON COLUMN ax_bodenschaetzung_sonstigeangaben.wert       IS 'numerischer SchlÃŒssel';
+COMMENT ON COLUMN ax_bodenschaetzung_sonstigeangaben.kurz       IS 'KÃŒrzel, Kartenanzeige';
+COMMENT ON COLUMN ax_bodenschaetzung_sonstigeangaben.bezeichner IS 'Lange Bezeichnung';
+
+INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(1100,'Wa+',   'Nass, zu viel Wasser (Wa+)');
+INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(1200,'Wa-',   'Trocken, zu wenig Wasser (Wa-)');
+INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(1300,'Wa gt', 'Besonders gÃŒnstige WasserverhÃ€ltnisse (Wa gt)');
+INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(1400,'RiWa',  'Rieselwasser, kÃŒnstliche BewÃ€sserung (RiWa)');
+INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2100,'W',     'Unbedingtes Wiesenland (W)');
+INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2200,'Str',   'Streuwiese (Str) ');
+INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2300,'Hu',    'Hutung (Hu)');
+INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2400,'A-Hack','Acker-Hackrain (A-Hack)');
+INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2500,'Gr-Hack','GrÃŒnland-Hackrain (Gr-Hack)');
+INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2600,'G',     'Garten (G)');
+INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(3000,'N',     'Neukultur (N)');
+INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(4000,'T',     'Tiefkultur (T) ');
+INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(5000,'Ger',   'Geringstland (Ger)');
+INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(9000,'',      'NachschÃ€tzung erforderlich ');
+
+-- Testfall dazu finden:
+-- SELECT gml_id, sonstigeangaben, x(st_Centroid(wkb_geometry)) AS x, y(st_Centroid(wkb_geometry)) AS y 
+--  FROM ax_bodenschaetzung WHERE NOT sonstigeangaben[1] IS NULL LIMIT 10; -- NOT sonstigeangaben[2] IS NULL
+
+
+-- B e w e r t u n g  - Klassifizierung
+-- ----------------------------------------------------------------------------------------
+--DROP TABLE ax_bewertung_klassifizierung;
+CREATE TABLE ax_bewertung_klassifizierung (
+    wert integer,
+    bezeichner character varying,
+	erklaer character varying,
+    CONSTRAINT pk_ax_bewertung_klass PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE ax_bewertung_klassifizierung
+IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bewertung", Feld "klassifizierung".';
+
+COMMENT ON COLUMN ax_bewertung_klassifizierung.wert       IS 'numerischer SchlÃŒssel';
+COMMENT ON COLUMN ax_bewertung_klassifizierung.bezeichner IS 'Lange Bezeichnung';
+COMMENT ON COLUMN ax_bewertung_klassifizierung.erklaer    IS 'ggf. weitere ErlÃ€rung';
+
+
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1100, 'Unbebautes GrundstÃŒck', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1120, 'Unbebautes GrundstÃŒck mit GebÃ€ude von untergeordneter Bedeutung ', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1130, 'Unbebautes GrundstÃŒck mit einem dem Verfall preisgegebenen GebÃ€ude', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1140, 'Unbebautes GrundstÃŒck fÃŒr Erholungs- und Freizeitzwecke', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1210, 'EinfamilienhausgrundstÃŒck', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1220, 'ZweifamilienhausgrundstÃŒck', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1230, 'MietwohngrundstÃŒck', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1240, 'Gemischtgenutztes GrundstÃŒck', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1250, 'GeschÃ€ftsgrundstÃŒck', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1260, 'Sonstiges bebautes GrundstÃŒck', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1310, 'Einfamilienhaus auf fremdem Grund und Boden', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1320, 'Zweifamilienhaus auf fremdem Grund und Boden', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1330, 'MietwohngrundstÃŒck, MietwohngebÃ€ude auf fremdem Grund und Boden', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1340, 'Gemischtgenutztes GrundstÃŒck, gemischtgenutztes GebÃ€ude auf fremdem Grund und Boden ', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1350, 'GeschÃ€ftsgrundstÃŒck, GeschÃ€ftsgebÃ€ude auf fremdem Grund und Boden', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1360, 'Sonstige bebaute GrundstÃŒcke, sonstige GebÃ€ude auf fremdem Grund und Boden', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2110, 'Landwirtschaftliche Nutzung', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2120, 'Hopfen', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2130, 'Spargel', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2190, 'Sonstige Sonderkulturen', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2200, 'Holzung', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2300, 'Weingarten (allgemein)', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2310, 'Weingarten 1', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2320, 'Weingarten 2', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2330, 'Weingarten 3', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2340, 'Weingarten 4', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2350, 'Weingarten 5', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2360, 'Weingarten 6', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2370, 'Weingarten 7', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2380, 'Weingarten 8', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2390, 'Weingarten 9', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2410, 'Gartenland', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2420, 'Obstplantage', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2430, 'Baumschule', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2440, 'AnbauflÃ€che unter Glas ', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2450, 'Kleingarten', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2510, 'Weihnachtsbaumkultur', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2520, 'Saatzucht', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2530, 'Teichwirtschaft', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2610, 'Abbauland der Land- und Forstwirtschaft ', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2620, 'Geringstland', '"Geringstland" sind FlÃ€chen geringster ErtragsfÃ€higkeit ohne Wertzahlen nach dem BodenschÃ€tzungsgesetz, das sind unkultivierte Moor- und HeideflÃ€chen (sofern nicht gesondert gefÃŒhrt), ehemals bodengeschÃ€tzte FlÃ€chen und ehemalige WeinbauflÃ€chen, die ihren Kulturzustand verloren haben.');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2630, 'Unland',   '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2640, 'Moor',     '"Moor" ist eine unkultivierte FlÃ€che mit einer (mindestens 20 cm starken) Auflage aus vertorften und vermoorten Pflanzenresten, soweit sie nicht als Torfstich benutzt wird.');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2650, 'Heide',    '"Heide" ist eine unkultivierte, sandige, ÃŒberwiegend mit Heidekraut oder Ginster bewachsene FlÃ€che.');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2700, 'Reet',     '"Reet" ist eine stÃ€ndig oder zeitweise unter Wasser stehende und mit Reet bewachsene FlÃ€che.');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2710, 'Reet I',   'ReetflÃ€che, deren Nutzung eingestuft ist in GÃŒteklasse I (gut).');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2720, 'Reet II',  'ReetflÃ€che, deren Nutzung eingestuft ist in GÃŒteklasse II (mittel).');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2730, 'Reet III', 'ReetflÃ€che, deren Nutzung eingestuft ist in GÃŒteklasse III (gering).');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2800, 'NebenflÃ€che des Betriebs der Land- und Forstwirtschaft', '');
+INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2899, 'Noch nicht klassifiziert', '');
+
+
+-- F o r s t r e c h t  -  A r t   d e r   F e s t l e g u n g
+-- -----------------------------------------------------------
+
+CREATE TABLE ax_forstrecht_artderfestlegung (
+    wert integer,
+    bezeichner character varying,
+    CONSTRAINT pk_ax_forstrecht_artderfestlegung  PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE ax_forstrecht_artderfestlegung
+IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
+
+INSERT INTO ax_forstrecht_artderfestlegung (bezeichner, wert) VALUES('Klassifizierung nach Bundes- oder Landeswaldgesetz',3900);
+INSERT INTO ax_forstrecht_artderfestlegung (bezeichner, wert) VALUES('Staatswald Bund',3910);
+INSERT INTO ax_forstrecht_artderfestlegung (bezeichner, wert) VALUES('Staatswald Land',3920);
+INSERT INTO ax_forstrecht_artderfestlegung (bezeichner, wert) VALUES('Kommunalwald',3930);
+INSERT INTO ax_forstrecht_artderfestlegung (bezeichner, wert) VALUES('Anstalts- und Stiftungswald',3940);
+INSERT INTO ax_forstrecht_artderfestlegung (bezeichner, wert) VALUES('Anderer Ã¶ffentlicher Wald',3950);
+INSERT INTO ax_forstrecht_artderfestlegung (bezeichner, wert) VALUES('Privater Gemeinschaftswald',3960);
+INSERT INTO ax_forstrecht_artderfestlegung (bezeichner, wert) VALUES('GroÃprivatwald',3970);
+INSERT INTO ax_forstrecht_artderfestlegung (bezeichner, wert) VALUES('Kleinprivatwald',3980);
+INSERT INTO ax_forstrecht_artderfestlegung (bezeichner, wert) VALUES('Anderer Privatwald',3990);
+
+
+-- F o r s t r e c h t - B e s o n d e r e   F u n k t i o n
+-- ---------------------------------------------------------
+CREATE TABLE ax_forstrecht_besonderefunktion(
+    wert integer,
+    bezeichner character varying,
+    CONSTRAINT pk_ax_forstrecht_besonderefunktion  PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE ax_forstrecht_besonderefunktion
+IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
+
+INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Ohne besondere gesetzliche Bindung',1000);
+INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Ohne besondere gesetzliche Bindung nach LWaldG- Holzboden',1010);
+INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Schutzwald',2000);
+INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Schutzwald - Holzboden',2010);
+INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Erholungswald',3000);
+INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Erholungswald - Holzboden',3010);
+INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Bannwald',4000);
+INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Nationalpark - Holzboden',4010);
+INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Naturschutzgebiet - Holzboden',5010);
+INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Schutz- und Erholungswald',6000);
+INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Schutz- und Erholungswald - Holzboden',6010);
+INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Nationalpark - Nichtholzboden',7010);
+INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Naturschutzgebiet - Nichtholzboden',8010);
+INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Andere ForstbetriebsflÃ€che',9000);
+INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Nichtholzboden',9010);
+INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Sonstiges',9999);
+
+
+-- D a t e n e r h e b u n g
+-- -------------------------
+-- Datentyp: AX_LI_Source_MitDatenerhebung
+
+CREATE TABLE ax_datenerhebung (
+    wert integer,
+    bezeichner character varying,
+    CONSTRAINT pk_ax_Datenerhebung PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE ax_datenerhebung
+IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
+
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus Katastervermessung ermittelt', 1000); -- (G)
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aufgrund Anforderungen mit Netzanschluss ermittelt', 1100);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aufgrund Anforderungen mit Bezug zur FlurstÃŒcksgrenze ermittelt', 1200);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus sonstiger Vermessung ermittelt', 1900);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus Luftbildmessung oder Fernerkundungsdaten ermittelt', 2000);-- 	
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus Katasterunterlagen und Karten fÃŒr graphische Zwecke ermittelt', 4000);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus Katasterzahlen fÃŒr graphische Zwecke ermittelt', 4100);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus Katasterkarten digitalisiert', 4200);-- (G)
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus Katasterkarten digitalisiert, KartenmaÃstab M grÃ¶Ãer gleich 1 zu 1000', 4210);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus Katasterkarten digitalisiert, KartenmaÃstab 1 zu 1000 grÃ¶Ãer M grÃ¶Ãer gleich 1 zu 2000', 4220);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus Katasterkarten digitalisiert, KartenmaÃstab 1 zu 2000 grÃ¶Ãer M grÃ¶Ãer gleich 1 zu 3000', 4230);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus Katasterkarten digitalisiert, KartenmaÃstab 1 zu 3000 grÃ¶Ãer M grÃ¶Ãer gleich 1 zu 5000', 4240);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus Katasterkarten digitalisiert, KartenmaÃstab 1 zu 5000 grÃ¶Ãer M', 4250);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus sonstigen Unterlagen digitalisiert', 4300);-- (G)
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus sonstigen Unterlagen digitalisiert, KartenmaÃstab M grÃ¶Ãer gleich 1 zu 1000', 4310);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus sonstigen Unterlagen digitalisiert, KartenmaÃstab 1 zu 1000 grÃ¶Ãer M grÃ¶Ãer gleich 1 zu 2000', 4320);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus sonstigen Unterlagen digitalisiert, KartenmaÃstab 1 zu 2000 grÃ¶Ãer M grÃ¶Ãer gleich 1 zu 3000', 4330);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus sonstigen Unterlagen digitalisiert, KartenmaÃstab 1 zu 3000 grÃ¶Ãer M grÃ¶Ãer gleich 1 zu 5000', 4340);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus sonstigen Unterlagen digitalisiert, KartenmaÃstab 1 zu 5000 grÃ¶Ãer M', 4350);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus sonstigen Unterlagen digitalisiert, mit sonstigen geometrischen Bedingungen und bzw. oder Homogenisierung (M grÃ¶Ãer gleich 1 zu 1000)', 4360);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus sonstigen Unterlagen digitalisiert, mit Berechnung oder Abstandsbedingung (M grÃ¶Ãer gleich 1 zu 1000)', 4370);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus sonstigen Unterlagen digitalisiert, mit sonstigen geometrischen Bedingungen und bzw. oder Homogenisierung (M kleiner 1 zu 1000)', 4380);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Aus sonstigen Unterlagen digitalisiert, mit Berechnung oder Abstandsbedingungen (M kleiner 1 zu 1000)', 4390);
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Nach Quellenlage nicht zu spezifizieren', 9998);--  (G)
+INSERT INTO ax_datenerhebung (bezeichner, wert) VALUES('Sonstiges', 9999);
+
+
+-- Sonstiges Bauwerk oder sonstige Einrichtung
+-- -------------------------
+-- Datentyp: ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion
+CREATE TABLE ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion(
+    wert integer,
+    bezeichner character varying,
+    CONSTRAINT pk_ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion
+IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
+
+
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Ãberdachung',1610);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Carport',1611);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Treppe',1620);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Freitreppe',1621);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Rolltreppe',1622);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Treppenunterkante',1630);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Kellereingang',1640);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Rampe',1650);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Terrasse',1670);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Mauer',1700);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Mauerkante, rechts',1701);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Mauerkante, links',1702);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Mauermitte',1703);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('StÃŒtzmauer',1720);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('StÃŒtzmauer, rechts',1721);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('StÃŒtzmauer, links',1722);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('StÃŒtzmauermitte',1723);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Zaun',1740);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Denkmal, Denkstein, Standbild',1750);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Bildstock, Wegekreuz, Gipfelkreuz',1760);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Bildstock',1761);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Wegekreuz',1762);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Gipfelkreuz',1763);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Meilenstein, historischer Grenzstein',1770);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Brunnen',1780);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Brunnen (Trinkwasserversorgung)',1781);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Springbrunnen, Zierbrunnen',1782);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Ziehbrunnen',1783);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Spundwand',1790);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('HÃ¶ckerlinie',1791);
+INSERT INTO ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion (bezeichner, wert) VALUES ('Sonstiges',9999);
+
+-- ax_bauteil_bauart
+-- -------------------------
+-- Datentyp:
+CREATE TABLE ax_bauteil_bauart (
+wert integer, 
+bezeichner character varying,  
+kennung integer, objektart character varying);
+
+COMMENT ON TABLE ax_bauteil_bauart
+IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
+
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (1100,'Geringergeschossiger GebÃ€udeteil',31002,'ax_bauteil');
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (1200,'HÃ¶hergeschossiger GebÃ€udeteil (nicht Hochhaus)',31002,'ax_bauteil');
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (1300,'HochhausgebÃ€udeteil',31002,'ax_bauteil');
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (1400,'Abweichende GeschosshÃ¶he',31002,'ax_bauteil');
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (2000,'Keller',31002,'ax_bauteil');
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (2100,'Tiefgarage',31002,'ax_bauteil');
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (2300,'Loggia',31002,'ax_bauteil');
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (2350,'Wintergarten',31002,'ax_bauteil');
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (2400,'Arkade',31002,'ax_bauteil');
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (2500,'Auskragende/zurÃŒckspringende Geschosse',31002,'ax_bauteil');
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (2510,'Auskragende Geschosse',31002,'ax_bauteil');
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (2520,'ZurÃŒckspringende Geschosse',31002,'ax_bauteil');
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (2610,'Durchfahrt im GebÃ€ude',31002,'ax_bauteil');
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (2620,'Durchfahrt an ÃŒberbauter VerkehrsstraÃe',31002,'ax_bauteil');
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (2710,'Schornstein im GebÃ€ude',31002,'ax_bauteil');
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (2720,'Turm im GebÃ€ude',31002,'ax_bauteil');
+INSERT INTO ax_bauteil_bauart (wert, bezeichner,kennung,objektart) VALUES (9999,'Sonstiges',31002,'ax_bauteil');
+
+
+-- ax_klassifizierungnachstrassenrecht_artdf
+-- -------------------------
+-- Datentyp:
+CREATE TABLE ax_klassifizierungnachstrassenrecht_artdf (
+wert integer, 
+bezeichner character varying,  
+kennung integer, objektart character varying);
+
+COMMENT ON TABLE ax_klassifizierungnachstrassenrecht_artdf
+IS 'artderfestlegung - SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
+
+INSERT INTO ax_klassifizierungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('Klassifizierung nach Bundes- oder LandesstraÃengesetz',1100);
+INSERT INTO ax_klassifizierungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('Bundesautobahn',1110);
+INSERT INTO ax_klassifizierungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('BundesstraÃe',1120);
+INSERT INTO ax_klassifizierungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('Landes- oder StaatsstraÃe',1130);
+INSERT INTO ax_klassifizierungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('KreisstraÃe',1140);
+INSERT INTO ax_klassifizierungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('GemeindestraÃe',1150);
+INSERT INTO ax_klassifizierungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('OrtsstraÃe',1160);
+INSERT INTO ax_klassifizierungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('GemeindeverbindungsstraÃe',1170);
+INSERT INTO ax_klassifizierungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('Sonstige Ã¶ffentliche StraÃe',1180);
+INSERT INTO ax_klassifizierungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('PrivatstraÃe',1190);
+
+
+-- ax_klassifizierungnachwasserrecht_artdf
+-- -------------------------
+-- Datentyp:
+CREATE TABLE ax_klassifizierungnachwasserrecht_artdf (
+wert integer, 
+bezeichner character varying,  
+kennung integer, objektart character varying);
+
+COMMENT ON TABLE ax_klassifizierungnachwasserrecht_artdf
+IS 'artderfestlegung - SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
+
+INSERT INTO ax_klassifizierungnachwasserrecht_artdf (bezeichner, wert) VALUES ('Klassifizierung nach Bundes- oder Landeswassergesetz',1300);
+INSERT INTO ax_klassifizierungnachwasserrecht_artdf (bezeichner, wert) VALUES ('GewÃ€sser I. Ordnung - BundeswasserstraÃe',1310);
+INSERT INTO ax_klassifizierungnachwasserrecht_artdf (bezeichner, wert) VALUES ('GewÃ€sser I. Ordnung - nach Landesrecht',1320);
+INSERT INTO ax_klassifizierungnachwasserrecht_artdf (bezeichner, wert) VALUES ('GewÃ€sser II. Ordnung',1330);
+INSERT INTO ax_klassifizierungnachwasserrecht_artdf (bezeichner, wert) VALUES ('GewÃ€sser III. Ordnung',1340);
+
+
+-- ax_anderefestlegungnachstrassenrecht_artdf
+-- -------------------------
+-- Datentyp:
+CREATE TABLE ax_anderefestlegungnachstrassenrecht_artdf (
+wert integer, 
+bezeichner character varying,  
+kennung integer, objektart character varying);
+
+COMMENT ON TABLE ax_anderefestlegungnachstrassenrecht_artdf
+IS 'artderfestlegung - SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
+
+INSERT INTO ax_anderefestlegungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('BundesfernstraÃengesetz',1210);
+INSERT INTO ax_anderefestlegungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('Anbauverbot',1220);
+INSERT INTO ax_anderefestlegungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('Anbauverbot nach BundesfernstraÃengesetz',1230);
+INSERT INTO ax_anderefestlegungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('Anbauverbot (40m)',1231);
+INSERT INTO ax_anderefestlegungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('Anbauverbot (20m)',1232);
+INSERT INTO ax_anderefestlegungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('AnbaubeschrÃ€nkung',1240);
+INSERT INTO ax_anderefestlegungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('AnbaubeschrÃ€nkung (100m)',1241);
+INSERT INTO ax_anderefestlegungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('AnbaubeschrÃ€nkung (40m)',1242);
+INSERT INTO ax_anderefestlegungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('VerÃ€nderungssperre nach BundesfernstraÃengesetz',1250);
+INSERT INTO ax_anderefestlegungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('LandesstraÃengesetz',1260);
+INSERT INTO ax_anderefestlegungnachstrassenrecht_artdf (bezeichner, wert) VALUES ('VerÃ€nderungssperre',1280);
+
+
+-- ax_anderefestlegungnachstrassenrecht_artdf
+-- -------------------------
+-- Datentyp:
+CREATE TABLE ax_naturumweltoderbodenschutzrecht_artdf (
+wert integer, 
+bezeichner character varying,  
+kennung integer, objektart character varying);
+
+COMMENT ON TABLE ax_naturumweltoderbodenschutzrecht_artdf
+IS 'artderfestlegung - SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
+
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('SchutzflÃ€che nach Europarecht',610);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Flora-Fauna-Habitat-Gebiet',611);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Vogelschutzgebiet',612);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('SchutzflÃ€chen nach Landesnaturschutzgesetz',620);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Naturschutzgebiet',621);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('GeschÃŒtzter Landschaftsbestandteil',622);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Landschaftsschutzgebiet',623);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Naturpark',624);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Bundesbodenschutzgesetz',630);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('VerdachtsflÃ€che auf schÃ€dliche BodenverÃ€nderung',631);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('SchÃ€dliche BodenverÃ€nderung',632);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('AltlastenverdÃ€chtige FlÃ€che',633);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Altlast',634);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Bundesimmisionsschutzgesetz',640);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Belastungsgebiet',641);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('SchutzbedÃŒrftiges Gebiet',642);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('GefÃ€hrdetes Gebiet',643);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Naturschutzgesetz',650);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Besonders geschÃŒtztes Biotop',651);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Besonders geschÃŒtztes FeuchtgrÃŒnland',652);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Naturdenkmal',653);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Einstweilige Sicherstellung, VerÃ€nderungssperre',654);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Vorkaufsrecht',655);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Ausgleichs- oder KompensationsflÃ€che',656);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Bodenschutzgesetz',660);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('DauerbeobachtungsflÃ€chen',661);
+INSERT INTO ax_naturumweltoderbodenschutzrecht_artdf (bezeichner, wert) VALUES ('Bodenschutzgebiet',662);
+
+
+-- ax_denkmalschutzrecht_artdf
+-- -------------------------
+-- Datentyp:
+CREATE TABLE ax_denkmalschutzrecht_artdf (
+wert integer, 
+bezeichner character varying,  
+kennung integer, objektart character varying);
+
+COMMENT ON TABLE ax_denkmalschutzrecht_artdf
+IS 'artderfestlegung - SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
+
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Kulturdenkmal',2700);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Bau- und Kunstdenkmal nach Landesdenkmalschutzgesetz',2710);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Baudenkmal',2711);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Kunstdenkmal',2712);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Gartendenkmal',2713);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('ArchÃ€ologisches Denkmal (auch Bodendenkmal) nach Landesdenkmalschutzgesetz',2800);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('ArchÃ€ologisches Denkmal',2810);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Bodendenkmal',2820);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Schutzgebiet oder -bereiche nach Landesdenkmalschutzgesetz',2900);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Denkmalzone oder -bereich',2910);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('GeschÃŒtzter Baubereich',2920);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Grabungsschutzgebiet',2930);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Befestigungen',3100);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Befestigung (Burg)',3110);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Burg (Fliehburg, Ringwall)',3111);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Erdwerk',3112);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Ringwall',3113);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Steinwerk',3114);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Festung',3115);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('GrÃ€ftenanlage',3116);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Schanze',3117);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Lager',3118);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Wachturm (rÃ¶misch), Warte',3120);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Wachturm',3121);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Warte',3122);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Befestigung (Wall, Graben)',3130);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Grenzwall, Schutzwall',3131);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Limes',3132);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Landwehr',3133);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Stadtwall',3134);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historischer Wall',3135);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historische Siedlung',3200);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Pfahlbau',3210);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('WÃŒstung',3220);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Wurt',3230);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Abri',3240);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('HÃ¶hle',3250);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historische Bestattung',3300);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('GroÃsteingrab (Dolmen, HÃŒnenbett)',3310);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('GrabhÃŒgel',3320);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('GrabhÃŒgelfeld',3330);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Urnenfriedhof',3340);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('KÃ¶rpergrÃ€berfeld',3350);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('ReihengrÃ€berfriedhof',3360);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historisches land- oder forstwirtschaftliches Objekt',3400);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historischer Pflanzkamp',3410);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historisches Viehgehege',3420);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Sandfang',3430);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historisches Ackersystem',3440);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historische Bergbau-, VerhÃŒttungs- oder sonstige ProduktionsstÃ€tte',3500);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historisches Bergbaurelikt',3510);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historischer Meiler',3520);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historischer Ofen',3530);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historischer VerhÃŒttungsplatz',3540);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historische StraÃe oder Weg',3600);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('HeerstraÃe',3610);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Hohlweg',3620);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Moorweg',3630);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Wegespur',3640);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historisches wasserwirtschaftliches Objekt',3700);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historische Wasserleitung',3710);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('AquÃ€dukt',3720);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historischer Deich',3730);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historischer Damm',3740);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historischer Graben',3750);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Steinmal',3800);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Schalenstein',3810);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Rillenstein',3820);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Wetzrillen',3830);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Kreuzstein',3840);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Historischer Grenzstein',3850);
+INSERT INTO ax_denkmalschutzrecht_artdf (bezeichner, wert) VALUES ('Menhir',3860);
+
+
+-- ax_sonstigesrecht_artdf
+-- -------------------------
+-- Datentyp:
+CREATE TABLE ax_sonstigesrecht_artdf (
+wert integer, 
+bezeichner character varying,  
+kennung integer, objektart character varying);
+
+COMMENT ON TABLE ax_sonstigesrecht_artdf
+IS 'artderfestlegung - SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
+
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Luftverkehrsgesetz',4100);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Bauschutzbereich',4110);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('BeschrÃ€nkter Bauschutzbereich',4120);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Bundeskleingartengesetz',4200);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Dauerkleingarten',4210);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Berggesetz',4300);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Bodenbewegungsgebiet',4301);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Bruchfeld',4302);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('BaubeschrÃ€nkung',4310);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('ReichsheimstÃ€ttengesetz',4400);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('ReichsheimstÃ€tte',4410);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Schutzbereichsgesetz',4500);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Schutzbereich',4510);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Eisenbahnneuordnungsgesetz',4600);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Ãbergabebescheidverfahren',4610);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('BaubeschrÃ€nkungen durch Richtfunkverbindungen',4710);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('TruppenÃŒbungsplatz, StandortÃŒbungsplatz',4720);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Vermessungs- und Katasterrecht',4800);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('SchutzflÃ€che Festpunkt',4810);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('SchutzflÃ€che Festpunkt, 1 m Radius',4811);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('SchutzflÃ€che Festpunkt, 2 m Radius',4812);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('SchutzflÃ€che Festpunkt, 5 m Radius',4813);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('SchutzflÃ€che Festpunkt, 10 m Radius',4814);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('SchutzflÃ€che Festpunkt, 30 m Radius',4815);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('MarksteinschutzflÃ€che',4820);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Liegenschaftskatastererneuerung',4830);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Fischereirecht',4900);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Jagdkataster',5100);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Landesgrundbesitzkataster',5200);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('BombenblindgÃ€ngerverdacht',5300);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Rieselfeld',5400);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Sicherungsstreifen',5500);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Grenzbereinigung',5600);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Hochwasserdeich',5700);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Hauptdeich, 1. Deichlinie',5710);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('2. Deichlinie',5720);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Beregnungsverband',6000);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Weinlage',7000);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Weinbausteillage',7100);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Weinbergsrolle',7200);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Weinbausteilstlage',7300);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Benachteiligtes landwirtschaftliches Gebiet',8000);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Mitverwendung Hochwasserschutz, Oberirdische Anlagen',9100);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Mitverwendung Hochwasserschutz, Unterirdische Anlagen',9200);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Hafennutzungsgebiet',9300);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Hafenerweiterungsgebiet',9400);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Bohrung verfÃŒllt',9500);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Zollgrenze',9600);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Belastung nach Â§7 Abs. 2 GBO',9700);
+INSERT INTO ax_sonstigesrecht_artdf (bezeichner, wert) VALUES ('Sonstiges',9999);
+
+-- ENDE --
Index: branches/0.7/import/alkis_PostNAS_ORACLE_schema.sql
===================================================================
--- branches/0.7/import/alkis_PostNAS_ORACLE_schema.sql	(revision 329)
+++ branches/0.7/import/alkis_PostNAS_ORACLE_schema.sql	(revision 329)
@@ -0,0 +1,3448 @@
+-- Automatisch mit pg-to-oci.pl konvertiert.
+---
+---
+
+set serveroutput on
+set autocommit on
+set feedback off
+set verify off
+
+define alkis_epsg=&1
+whenever sqlerror exit 1
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='DELETE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE "DELETE" CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE "DELETE"
+(
+	ogr_fid		integer NOT NULL,
+	typename	varchar2(2047),
+	featureid	character(32),
+	context		varchar2(2047),
+	safetoignore	varchar2(2047),
+	replacedBy	varchar2(2047),
+	ignored		varchar2(5) default 'false',
+	CONSTRAINT ALKIS_0 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE "DELETE" ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('DELETE','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_1 ON "DELETE"(featureid);
+COMMENT ON TABLE "DELETE"             IS 'Hilfstabelle fÃŒr das Speichern von LÃ¶schinformationen.';
+COMMENT ON COLUMN "DELETE".typename     IS 'Objektart, also Name der Tabelle, aus der das Objekt zu lÃ¶schen ist.';
+COMMENT ON COLUMN "DELETE".featureid    IS 'Zusammen gesetzt aus GML-ID (16) und Zeitstempel.';
+COMMENT ON COLUMN "DELETE".context      IS 'Operation ''delete'' oder ''replace''';
+COMMENT ON COLUMN "DELETE".safetoignore IS 'Attribut safeToIgnore von wfsext:Replace';
+COMMENT ON COLUMN "DELETE".replacedBy   IS 'gml_id des Objekts, das featureid ersetzt';
+COMMENT ON COLUMN "DELETE".ignored      IS 'LÃ¶schsatz wurde ignoriert';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='ALKIS_BEZIEHUNGEN';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE ALKIS_BEZIEHUNGEN CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE ALKIS_BEZIEHUNGEN (
+	ogr_fid			integer NOT NULL,
+	beziehung_von		character(16),
+	beziehungsart		varchar2(2047),
+	beziehung_zu		character(16),
+	CONSTRAINT ALKIS_2 PRIMARY KEY (ogr_fid),
+  constraint alkis_bez_unique unique (BEZIEHUNG_ZU,BEZIEHUNG_VON,BEZIEHUNGSART)
+);
+CREATE INDEX ALKIS_3 ON alkis_beziehungen (beziehung_von);
+CREATE INDEX ALKIS_4  ON alkis_beziehungen (beziehung_zu);
+CREATE INDEX ALKIS_5 ON alkis_beziehungen (beziehungsart);
+ALTER TABLE ALKIS_BEZIEHUNGEN ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('ALKIS_BEZIEHUNGEN','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+COMMENT ON TABLE  alkis_beziehungen               IS 'zentrale Multi-Verbindungstabelle';
+COMMENT ON COLUMN alkis_beziehungen.beziehung_von IS 'Join auf Feld gml_id verschiedener Tabellen';
+COMMENT ON COLUMN alkis_beziehungen.beziehung_zu  IS 'Join auf Feld gml_id verschiedener Tabellen';
+COMMENT ON COLUMN alkis_beziehungen.beziehungsart IS 'Typ der Beziehung zwischen der von- und zu-Tabelle';
+
+--
+-- LÃ¶schtrigger setzen
+--
+-- Option (A) ohne Historie:
+--  - Symlink von alkis-trigger-kill.sql auf alkis-trigger.sql setzen (Default; macht datenbank_anlegen.sh
+--    ggf. automatisch)
+--  - LÃ¶sch- und ÃnderungssÃ€tze werden ausgefÃŒhrt und die alten Objekte werden sofort entfernt
+--
+-- Option (B) mit Historie:
+--  - Symlink von alkis-trigger-hist.sql auf alkis-trigger.sql setzen
+--  - Bei LÃ¶sch- und ÃnderungssÃ€tzen werden die Objekte nicht gelÃ¶scht, sondern
+--    im Feld 'endet' als ungegangen markiert (die den aktuellen gilt: WHERE endet
+--    IS NULL)
+--
+@@ alkis-trigger-oracle.sql
+
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='KS_SONSTIGESBAUWERK';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE KS_SONSTIGESBAUWERK CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE KS_SONSTIGESBAUWERK (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet			character(20),
+	sonstigesmodell 	varchar2(2047),
+	anlass			varchar2(2047),
+	bauwerksfunktion	integer,
+	CONSTRAINT ALKIS_6 PRIMARY KEY (ogr_fid)
+);
+CREATE UNIQUE INDEX ALKIS_6_1 ON KS_SONSTIGESBAUWERK (gml_id);
+ALTER TABLE KS_SONSTIGESBAUWERK ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('KS_SONSTIGESBAUWERK','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_7 ON KS_SONSTIGESBAUWERK(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+COMMENT ON TABLE  ks_sonstigesbauwerk IS 'Sonstiges Bauwerk';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_ANDEREFESTLEGUNGNACHWASSERR';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_ANDEREFESTLEGUNGNACHWASSERR CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_ANDEREFESTLEGUNGNACHWASSERR (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	artderfestlegung	integer,
+	land			integer,
+	stelle			varchar2(2047),
+	CONSTRAINT ALKIS_8 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_ANDEREFESTLEGUNGNACHWASSERR ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_ANDEREFESTLEGUNGNACHWASSERR','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_9 ON AX_ANDEREFESTLEGUNGNACHWASSERR(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_10 ON AX_ANDEREFESTLEGUNGNACHWASSERR (gml_id,beginnt);
+CREATE INDEX ALKIS_11 ON AX_ANDEREFESTLEGUNGNACHWASSERR(land,stelle);
+COMMENT ON TABLE  AX_ANDEREFESTLEGUNGNACHWASSERR        IS 'Andere Festlegung nach  W a s s e r r e c h t';
+COMMENT ON COLUMN AX_ANDEREFESTLEGUNGNACHWASSERR.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BAUBLOCK';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BAUBLOCK CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BAUBLOCK (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet			character(20),
+	advstandardmodell	character(9),
+	anlass			varchar2(2047),
+	baublockbezeichnung	integer,
+	CONSTRAINT ALKIS_12 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BAUBLOCK ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BAUBLOCK','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_13 ON AX_BAUBLOCK(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_14 ON ax_baublock (gml_id,beginnt);
+COMMENT ON TABLE  ax_baublock        IS 'B a u b l o c k';
+COMMENT ON COLUMN ax_baublock.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BESONDERERTOPOGRAPHISCHERPU';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BESONDERERTOPOGRAPHISCHERPU CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BESONDERERTOPOGRAPHISCHERPU (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	land			integer,
+	stelle			integer,
+	punktkennung		varchar2(2047),
+	sonstigeeigenschaft	varchar2(2047),
+	CONSTRAINT ALKIS_15 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BESONDERERTOPOGRAPHISCHERPU ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BESONDERERTOPOGRAPHISCHERPU','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_16 ON AX_BESONDERERTOPOGRAPHISCHERPU (gml_id,beginnt);
+COMMENT ON TABLE  AX_BESONDERERTOPOGRAPHISCHERPU        IS 'B e s o n d e r e r   T o p o g r a f i s c h e r   P u n k t';
+COMMENT ON COLUMN AX_BESONDERERTOPOGRAPHISCHERPU.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_SOLL';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_SOLL CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_SOLL (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_17 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_SOLL ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_SOLL','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_18 ON AX_SOLL(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_19 ON ax_soll (gml_id,beginnt);
+COMMENT ON TABLE ax_soll IS '''Soll'' ist eine runde, oft steilwandige Vertiefung in den norddeutschen GrundmorÃ€nenlandschaften; kann durch Abschmelzen von ÃŒberschÃŒtteten ToteisblÃ¶cken (Toteisloch) oder durch Schmelzen periglazialer Eislinsen entstanden sein.';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BEWERTUNG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BEWERTUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BEWERTUNG (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	klassifizierung		integer,
+	CONSTRAINT ALKIS_20 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BEWERTUNG ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BEWERTUNG','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_21 ON AX_BEWERTUNG(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_22 ON ax_bewertung (gml_id,beginnt);
+COMMENT ON TABLE  ax_bewertung        IS 'B e w e r t u n g';
+COMMENT ON COLUMN ax_bewertung.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON TABLE ax_bewertung  IS '''Bewertung'' ist die Klassifizierung einer FlÃ€che nach dem Bewertungsgesetz (BewertungsflÃ€che).';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_TAGESABSCHNITT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_TAGESABSCHNITT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_TAGESABSCHNITT (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	tagesabschnittsnummer	varchar2(2047),
+	CONSTRAINT ALKIS_23 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_TAGESABSCHNITT ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_TAGESABSCHNITT','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_24 ON AX_TAGESABSCHNITT(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_25 ON ax_tagesabschnitt (gml_id,beginnt);
+COMMENT ON TABLE ax_tagesabschnitt  IS '''Tagesabschnitt'' ist ein Ordnungskriterium der SchÃ€tzungsarbeiten fÃŒr eine BewertungsflÃ€che. Innerhalb der Tagesabschnitte sind die GrablÃ¶cher eindeutig zugeordnet.';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_DENKMALSCHUTZRECHT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_DENKMALSCHUTZRECHT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_DENKMALSCHUTZRECHT (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	artderfestlegung	integer,
+	land			integer,
+	stelle			varchar2(2047),
+	art			varchar2(2047),
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_26 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_DENKMALSCHUTZRECHT ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_DENKMALSCHUTZRECHT','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_27 ON AX_DENKMALSCHUTZRECHT(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_28 ON ax_denkmalschutzrecht (gml_id,beginnt);
+CREATE INDEX ALKIS_29 ON ax_denkmalschutzrecht(land,stelle);
+COMMENT ON TABLE  ax_denkmalschutzrecht        IS 'D e n k m a l s c h u t z r e c h t';
+COMMENT ON COLUMN ax_denkmalschutzrecht.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_FORSTRECHT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_FORSTRECHT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_FORSTRECHT (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	artderfestlegung	integer,
+	besonderefunktion	integer,
+	land			integer,
+	stelle			varchar2(2047),
+	CONSTRAINT ALKIS_30 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_FORSTRECHT ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_FORSTRECHT','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_31 ON AX_FORSTRECHT(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_32 ON ax_forstrecht (gml_id,beginnt);
+CREATE INDEX ALKIS_33 ON ax_forstrecht(land,stelle);
+COMMENT ON TABLE ax_forstrecht IS '''Forstrecht'' ist die auf den Grund und Boden bezogene BeschrÃ€nkung, Belastung oder andere Eigenschaft einer FlÃ€che nach Ã¶ffentlichen, forstrechtlichen Vorschriften.';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_GEBAEUDEAUSGESTALTUNG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_GEBAEUDEAUSGESTALTUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_GEBAEUDEAUSGESTALTUNG (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet			character(20),
+	advstandardmodell	character(4),
+	anlass			varchar2(2047),
+	darstellung		integer,
+	zeigtauf		varchar2(2047),
+	CONSTRAINT ALKIS_34 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_GEBAEUDEAUSGESTALTUNG ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_GEBAEUDEAUSGESTALTUNG','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_35 ON AX_GEBAEUDEAUSGESTALTUNG(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_36 ON ax_gebaeudeausgestaltung (gml_id,beginnt);
+COMMENT ON TABLE  ax_gebaeudeausgestaltung        IS 'G e b Ã€ u d e a u s g e s t a l t u n g';
+COMMENT ON COLUMN ax_gebaeudeausgestaltung.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_GEOREFERENZIERTEGEBAEUDEADR';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_GEOREFERENZIERTEGEBAEUDEADR CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_GEOREFERENZIERTEGEBAEUDEADR (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	qualitaetsangaben	integer,
+	land			integer,
+	regierungsbezirk	integer,
+	kreis			integer,
+	gemeinde		integer,
+	ortsteil		integer,
+	postleitzahl		varchar2(2047),
+	ortsnamepost		varchar2(2047),
+	zusatzortsname		varchar2(2047),
+	strassenname		varchar2(2047),
+	strassenschluessel	integer,
+	hausnummer		varchar2(2047),
+	adressierungszusatz	varchar2(2047),
+	CONSTRAINT ALKIS_37 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_GEOREFERENZIERTEGEBAEUDEADR ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_GEOREFERENZIERTEGEBAEUDEADR','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_38 ON AX_GEOREFERENZIERTEGEBAEUDEADR(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_39 ON AX_GEOREFERENZIERTEGEBAEUDEADR (gml_id,beginnt);
+CREATE INDEX ALKIS_40 ON AX_GEOREFERENZIERTEGEBAEUDEADR (strassenschluessel, hausnummer, adressierungszusatz);
+COMMENT ON TABLE  AX_GEOREFERENZIERTEGEBAEUDEADR        IS 'Georeferenzierte  G e b Ã€ u d e a d r e s s e';
+COMMENT ON COLUMN AX_GEOREFERENZIERTEGEBAEUDEADR.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_GRABLOCHDERBODENSCHAETZUNG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_GRABLOCHDERBODENSCHAETZUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_GRABLOCHDERBODENSCHAETZUNG (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	art			varchar2(2047),
+	name			varchar2(2047),
+	bedeutung		varchar2(2047),
+	land			integer,
+	nummerierungsbezirk	varchar2(2047),
+	gemarkungsnummer 	integer,
+	nummerdesgrablochs	varchar2(2047),
+	CONSTRAINT ALKIS_41 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_GRABLOCHDERBODENSCHAETZUNG ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_GRABLOCHDERBODENSCHAETZUNG','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_42 ON AX_GRABLOCHDERBODENSCHAETZUNG(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_43 ON ax_grablochderbodenschaetzung (gml_id,beginnt);
+COMMENT ON TABLE  ax_grablochderbodenschaetzung        IS 'G r a b l o c h   d e r   B o d e n s c h Ã€ t z u n g';
+COMMENT ON COLUMN ax_grablochderbodenschaetzung.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_HISTORISCHESFLURSTUECKALB';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_HISTORISCHESFLURSTUECKALB CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_HISTORISCHESFLURSTUECKALB (
+	ogr_fid						integer NOT NULL,
+	gml_id						character(16),
+	land 						integer,
+	gemarkungsnummer 				integer,
+	flurnummer					integer,
+	zaehler 					integer,
+	nenner						integer,
+	flurstueckskennzeichen				character(20),
+	amtlicheflaeche					double precision,
+	abweichenderrechtszustand			varchar2(5) default 'false',
+	ZWEIFELHAFTERFLURSTUECKSNACHWE 		varchar2(5) default 'false',
+	rechtsbehelfsverfahren				varchar2(5) default 'false',
+	zeitpunktderentstehung				character(10),
+	gemeinde					integer,
+	identifier					character(44),
+	beginnt						character(20),
+	endet 						character(20),
+	advstandardmodell				varchar2(2047),
+	anlass						varchar2(2047),
+	name						varchar2(2047),
+	blattart					integer,
+	buchungsart					varchar2(2047),
+	buchungsblattkennzeichen			varchar2(2047),
+	bezirk						integer,
+	BUCHUNGSBLATTNUMMERMITBUCHSTAB	varchar2(2047),
+	LAUFENDENUMMERDERBUCHUNGSSTELL			varchar2(2047),
+	ZEITPUNKTDERENTSTEHUNGDESBEZUG	varchar2(2047),
+	laufendenummerderfortfuehrung			varchar2(2047),
+	fortfuehrungsart				varchar2(2047),
+	VORGAENGERFLURSTUECKSKENNZEICH		varchar2(2047),
+	NACHFOLGERFLURSTUECKSKENNZEICH		varchar2(2047),
+	CONSTRAINT ALKIS_44 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_HISTORISCHESFLURSTUECKALB ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_HISTORISCHESFLURSTUECKALB','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_45 ON ax_historischesflurstueckalb (gml_id,beginnt);
+COMMENT ON TABLE  ax_historischesflurstueckalb        IS 'Historisches FlurstÃŒck ALB';
+COMMENT ON COLUMN ax_historischesflurstueckalb.gml_id IS 'Identifikator, global eindeutig';
+CREATE INDEX ALKIS_46
+   ON ax_historischesflurstueckalb (VORGAENGERFLURSTUECKSKENNZEICH /* ASC */);
+CREATE INDEX ALKIS_47
+   ON ax_historischesflurstueckalb (NACHFOLGERFLURSTUECKSKENNZEICH /* ASC */);
+  COMMENT ON TABLE  ax_historischesflurstueckalb        IS 'Historisches FlurstÃŒck ALB';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.gml_id IS 'Identifikator, global eindeutig';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.flurnummer                IS 'FLN "Flurnummer" ist die von der KatasterbehÃ¶rde zur eindeutigen Bezeichnung vergebene Nummer einer Flur, die eine Gruppe von zusammenhÃ€ngenden FlurstÃŒcken innerhalb einer Gemarkung umfasst.';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.zaehler                   IS 'ZAE  Dieses Attribut enthÃ€lt den ZÃ€hler der FlurstÃŒcknummer';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.nenner                    IS 'NEN  Dieses Attribut enthÃ€lt den Nenner der FlurstÃŒcknummer';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.flurstueckskennzeichen    IS '"FlurstÃŒckskennzeichen" ist ein von der KatasterbehÃ¶rde zur eindeutigen Bezeichnung des FlurstÃŒcks vergebenes Ordnungsmerkmal.
+Die Attributart setzt sich aus den nachfolgenden expliziten Attributarten in der angegebenen Reihenfolge zusammen:
+ 1.  Land (2 Stellen)
+ 2.  Gemarkungsnummer (4 Stellen)
+ 3.  Flurnummer (3 Stellen)
+ 4.  FlurstÃŒcksnummer
+ 4.1 ZÃ€hler (5 Stellen)
+ 4.2 Nenner (4 Stellen)
+ 5.  FlurstÃŒcksfolge (2 Stellen)
+Die Elemente sind rechtsbÃŒndig zu belegen, fehlende Stellen sind mit fÃŒhrenden Nullen zu belegen.
+Da die Flurnummer und die FlurstÃŒcksfolge optional sind, sind aufgrund der bundeseinheitlichen Definition im FlurstÃŒckskennzeichen die entsprechenden Stellen, sofern sie nicht belegt sind, durch Unterstrich "_" ersetzt.
+Gleiches gilt fÃŒr FlurstÃŒcksnummern ohne Nenner, hier ist der fehlende Nenner im FlurstÃŒckskennzeichen durch Unterstriche zu ersetzen.';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.amtlicheflaeche           IS 'AFL "Amtliche FlÃ€che" ist der im Liegenschaftskataster festgelegte FlÃ€cheninhalt des FlurstÃŒcks in [qm]. FlurstÃŒcksflÃ€chen kleiner 0,5 qm kÃ¶nnen mit bis zu zwei Nachkommastellen gefÃŒhrt werden, ansonsten ohne Nachkommastellen.';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.abweichenderrechtszustand IS 'ARZ "Abweichender Rechtszustand" ist ein Hinweis darauf, dass auÃerhalb des Grundbuches in einem durch Gesetz geregelten Verfahren der Bodenordnung (siehe Objektart "Bau-, Raum- oder Bodenordnungsrecht", AA "Art der Festlegung", Werte 1750, 1770, 2100 bis 2340) ein neuer Rechtszustand eingetreten ist und das amtliche Verzeichnis der jeweiligen ausfÃŒhrenden Stelle maÃgebend ist.';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.ZWEIFELHAFTERFLURSTUECKSNACHWE IS 'ZFM "Zweifelhafter FlurstÃŒcksnachweis" ist eine Kennzeichnung eines FlurstÃŒcks, dessen Angaben nicht zweifelsfrei berichtigt werden kÃ¶nnen.';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.rechtsbehelfsverfahren    IS 'RBV "Rechtsbehelfsverfahren" ist der Hinweis darauf, dass bei dem FlurstÃŒck ein laufendes Rechtsbehelfsverfahren anhÃ€ngig ist.';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.zeitpunktderentstehung    IS 'ZDE "Zeitpunkt der Entstehung" ist der Zeitpunkt, zu dem das FlurstÃŒck fachlich entstanden ist.';
+  COMMENT ON COLUMN ax_historischesflurstueckalb.gemeinde                  IS 'Gemeindekennzeichen zur Zuordnung der FlustÃŒcksdaten zu einer Gemeinde.';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_HISTORISCHESFLURSTUECK';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_HISTORISCHESFLURSTUECK CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_HISTORISCHESFLURSTUECK (
+	ogr_fid				integer NOT NULL,
+	gml_id				character(16),
+	land 				integer,
+	gemarkungsnummer 		integer,
+	flurnummer			integer,
+	zaehler 			integer,
+	nenner				integer,
+	flurstueckskennzeichen	character(20),
+	amtlicheflaeche			double precision,
+	abweichenderrechtszustand	varchar2(5) default 'false',
+	ZWEIFELHAFTERFLURSTUECKSNACHWE varchar2(5) default 'false',
+	rechtsbehelfsverfahren		varchar2(5) default 'false',
+	zeitpunktderentstehung		character(10),
+	gemeinde			integer,
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
+	advstandardmodell		varchar2(2047),
+	anlass				varchar2(2047),
+	art				varchar2(2047),
+	name				varchar2(2047),
+	regierungsbezirk		integer,
+	kreis				integer,
+	VORGAENGERFLURSTUECKSKENNZEICH	varchar2(2047),
+	NACHFOLGERFLURSTUECKSKENNZEICH	varchar2(2047),
+	blattart			integer,
+	buchungsart			integer,
+	buchungsblattkennzeichen	varchar2(2047),
+	bezirk				integer,
+	BUCHUNGSBLATTNUMMERMITBUCHSTAB	varchar2(2047),
+	LAUFENDENUMMERDERBUCHUNGSSTELL	integer,
+	CONSTRAINT ALKIS_48 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_HISTORISCHESFLURSTUECK ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_HISTORISCHESFLURSTUECK','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_49 ON AX_HISTORISCHESFLURSTUECK(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_50 ON ax_historischesflurstueck (gml_id,beginnt);
+CREATE INDEX ALKIS_51 ON ax_historischesflurstueck (VORGAENGERFLURSTUECKSKENNZEICH /* ASC */);
+CREATE INDEX ALKIS_52 ON ax_historischesflurstueck (NACHFOLGERFLURSTUECKSKENNZEICH /* ASC */);
+  COMMENT ON TABLE  ax_historischesflurstueck        IS 'Historisches FlurstÃŒck, ALKIS, MIT Geometrie';
+  COMMENT ON COLUMN ax_historischesflurstueck.gml_id IS 'Identifikator, global eindeutig';
+  COMMENT ON COLUMN ax_historischesflurstueck.flurnummer                IS 'FLN "Flurnummer" ist die von der KatasterbehÃ¶rde zur eindeutigen Bezeichnung vergebene Nummer einer Flur, die eine Gruppe von zusammenhÃ€ngenden FlurstÃŒcken innerhalb einer Gemarkung umfasst.';
+  COMMENT ON COLUMN ax_historischesflurstueck.zaehler                   IS 'ZAE  Dieses Attribut enthÃ€lt den ZÃ€hler der FlurstÃŒcknummer';
+  COMMENT ON COLUMN ax_historischesflurstueck.nenner                    IS 'NEN  Dieses Attribut enthÃ€lt den Nenner der FlurstÃŒcknummer';
+  COMMENT ON COLUMN ax_historischesflurstueck.flurstueckskennzeichen    IS '"FlurstÃŒckskennzeichen" ist ein von der KatasterbehÃ¶rde zur eindeutigen Bezeichnung des FlurstÃŒcks vergebenes Ordnungsmerkmal.
+Die Attributart setzt sich aus den nachfolgenden expliziten Attributarten in der angegebenen Reihenfolge zusammen:
+ 1.  Land (2 Stellen)
+ 2.  Gemarkungsnummer (4 Stellen)
+ 3.  Flurnummer (3 Stellen)
+ 4.  FlurstÃŒcksnummer
+ 4.1 ZÃ€hler (5 Stellen)
+ 4.2 Nenner (4 Stellen)
+ 5.  FlurstÃŒcksfolge (2 Stellen)
+Die Elemente sind rechtsbÃŒndig zu belegen, fehlende Stellen sind mit fÃŒhrenden Nullen zu belegen.
+Da die Flurnummer und die FlurstÃŒcksfolge optional sind, sind aufgrund der bundeseinheitlichen Definition im FlurstÃŒckskennzeichen die entsprechenden Stellen, sofern sie nicht belegt sind, durch Unterstrich "_" ersetzt.
+Gleiches gilt fÃŒr FlurstÃŒcksnummern ohne Nenner, hier ist der fehlende Nenner im FlurstÃŒckskennzeichen durch Unterstriche zu ersetzen.';
+  COMMENT ON COLUMN ax_historischesflurstueck.amtlicheflaeche           IS 'AFL "Amtliche FlÃ€che" ist der im Liegenschaftskataster festgelegte FlÃ€cheninhalt des FlurstÃŒcks in [qm]. FlurstÃŒcksflÃ€chen kleiner 0,5 qm kÃ¶nnen mit bis zu zwei Nachkommastellen gefÃŒhrt werden, ansonsten ohne Nachkommastellen.';
+  COMMENT ON COLUMN ax_historischesflurstueck.abweichenderrechtszustand IS 'ARZ "Abweichender Rechtszustand" ist ein Hinweis darauf, dass auÃerhalb des Grundbuches in einem durch Gesetz geregelten Verfahren der Bodenordnung (siehe Objektart "Bau-, Raum- oder Bodenordnungsrecht", AA "Art der Festlegung", Werte 1750, 1770, 2100 bis 2340) ein neuer Rechtszustand eingetreten ist und das amtliche Verzeichnis der jeweiligen ausfÃŒhrenden Stelle maÃgebend ist.';
+  COMMENT ON COLUMN ax_historischesflurstueck.ZWEIFELHAFTERFLURSTUECKSNACHWE IS 'ZFM "Zweifelhafter FlurstÃŒcksnachweis" ist eine Kennzeichnung eines FlurstÃŒcks, dessen Angaben nicht zweifelsfrei berichtigt werden kÃ¶nnen.';
+  COMMENT ON COLUMN ax_historischesflurstueck.rechtsbehelfsverfahren    IS 'RBV "Rechtsbehelfsverfahren" ist der Hinweis darauf, dass bei dem FlurstÃŒck ein laufendes Rechtsbehelfsverfahren anhÃ€ngig ist.';
+  COMMENT ON COLUMN ax_historischesflurstueck.zeitpunktderentstehung    IS 'ZDE "Zeitpunkt der Entstehung" ist der Zeitpunkt, zu dem das FlurstÃŒck fachlich entstanden ist.';
+  COMMENT ON COLUMN ax_historischesflurstueck.gemeinde                  IS 'GDZ "Gemeindekennzeichen zur Zuordnung der FlustÃŒcksdaten zu einer Gemeinde.';
+CREATE INDEX ALKIS_53
+   ON ax_historischesflurstueck(flurstueckskennzeichen /* ASC NULLS LAST */);
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_NATURUMWELTODERBODENSCHUTZR';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_NATURUMWELTODERBODENSCHUTZR CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_NATURUMWELTODERBODENSCHUTZR (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	artderfestlegung	integer,
+	land			integer,
+	stelle			varchar2(2047),
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_54 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_NATURUMWELTODERBODENSCHUTZR ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_NATURUMWELTODERBODENSCHUTZR','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_55 ON AX_NATURUMWELTODERBODENSCHUTZR(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_56 ON AX_NATURUMWELTODERBODENSCHUTZR (gml_id,beginnt);
+CREATE INDEX ALKIS_57 ON AX_NATURUMWELTODERBODENSCHUTZR(land,stelle);
+COMMENT ON TABLE  AX_NATURUMWELTODERBODENSCHUTZR        IS 'N  a t u r -,  U m w e l t -   o d e r   B o d e n s c h u t z r e c h t';
+COMMENT ON COLUMN AX_NATURUMWELTODERBODENSCHUTZR.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_SCHUTZGEBIETNACHWASSERRECHT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_SCHUTZGEBIETNACHWASSERRECHT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_SCHUTZGEBIETNACHWASSERRECHT (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	artderfestlegung	integer,
+	land			integer,
+	stelle			varchar2(2047),
+	art			varchar2(2047),
+	name			varchar2(2047),
+	nummerdesschutzgebietes	varchar2(2047),
+	CONSTRAINT ALKIS_58 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_SCHUTZGEBIETNACHWASSERRECHT ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_SCHUTZGEBIETNACHWASSERRECHT','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_59 ON ax_schutzgebietnachwasserrecht (gml_id,beginnt);
+CREATE INDEX ALKIS_60 ON ax_schutzgebietnachwasserrecht(land,stelle);
+COMMENT ON TABLE  ax_schutzgebietnachwasserrecht        IS 'S c h u t z g e b i e t   n a c h   W a s s s e r r e c h t';
+COMMENT ON COLUMN ax_schutzgebietnachwasserrecht.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_SCHUTZGEBIETNACHNATURUMWELT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_SCHUTZGEBIETNACHNATURUMWELT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_SCHUTZGEBIETNACHNATURUMWELT (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	artderfestlegung	integer,
+	land			integer,
+	stelle			varchar2(2047),
+	CONSTRAINT ALKIS_61 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_SCHUTZGEBIETNACHNATURUMWELT ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_SCHUTZGEBIETNACHNATURUMWELT','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_62 ON AX_SCHUTZGEBIETNACHNATURUMWELT (gml_id,beginnt);
+CREATE INDEX ALKIS_63 ON AX_SCHUTZGEBIETNACHNATURUMWELT(land,stelle);
+COMMENT ON TABLE  AX_SCHUTZGEBIETNACHNATURUMWELT IS 'S c h u t z g e b i e t   n a c h   N a t u r,  U m w e l t  o d e r  B o d e n s c h u t z r e c h t';
+COMMENT ON COLUMN AX_SCHUTZGEBIETNACHNATURUMWELT.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_SCHUTZZONE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_SCHUTZZONE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_SCHUTZZONE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	"zone"			integer,
+	art			varchar2(2047),
+	CONSTRAINT ALKIS_64 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_SCHUTZZONE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_SCHUTZZONE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_65 ON AX_SCHUTZZONE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_66 ON ax_schutzzone (gml_id,beginnt);
+COMMENT ON TABLE  ax_schutzzone        IS 'S c h u t z z o n e';
+COMMENT ON COLUMN ax_schutzzone.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_TOPOGRAPHISCHELINIE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_TOPOGRAPHISCHELINIE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_TOPOGRAPHISCHELINIE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	liniendarstellung	integer,
+	sonstigeeigenschaft	varchar2(2047),
+	CONSTRAINT ALKIS_67 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_TOPOGRAPHISCHELINIE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_TOPOGRAPHISCHELINIE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_68 ON AX_TOPOGRAPHISCHELINIE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_69 ON ax_topographischelinie (gml_id,beginnt);
+COMMENT ON TABLE  ax_topographischelinie        IS 'T o p o g r a p h i s c h e   L i n i e';
+COMMENT ON COLUMN ax_topographischelinie.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AP_PPO';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AP_PPO CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AP_PPO (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	signaturnummer		varchar2(2047),
+	darstellungsprioritaet  integer,
+	art			varchar2(2047),
+	drehwinkel		double precision,
+	CONSTRAINT ALKIS_70 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AP_PPO ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AP_PPO','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_71 ON AP_PPO(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_72 ON ap_ppo (gml_id,beginnt);
+CREATE INDEX ALKIS_73      ON ap_ppo (endet);
+COMMENT ON TABLE  ap_ppo        IS 'PPO: PunktfÃ¶rmiges PrÃ€sentationsobjekt';
+COMMENT ON COLUMN ap_ppo.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AP_LPO';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AP_LPO CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AP_LPO (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	signaturnummer		varchar2(2047),
+	darstellungsprioritaet  integer,
+	art			varchar2(2047),
+	CONSTRAINT ALKIS_74 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AP_LPO ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AP_LPO','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_75 ON AP_LPO(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_76 ON ap_lpo (gml_id,beginnt);
+CREATE INDEX ALKIS_77      ON ap_lpo (endet);
+COMMENT ON TABLE  ap_lpo        IS 'LPO: LinienfÃ¶rmiges PrÃ€sentationsobjekt';
+COMMENT ON COLUMN ap_lpo.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AP_PTO';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AP_PTO CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AP_PTO (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	schriftinhalt		varchar2(2047),
+	fontsperrung		double precision,
+	skalierung		double precision,
+	horizontaleausrichtung	varchar2(2047),
+	vertikaleausrichtung	varchar2(2047),
+	signaturnummer		varchar2(2047),
+	darstellungsprioritaet  integer,
+	art			varchar2(2047),
+	drehwinkel		double precision,
+	CONSTRAINT ALKIS_78 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AP_PTO ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AP_PTO','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_79 ON AP_PTO(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_80 ON ap_pto (gml_id,beginnt);
+CREATE INDEX ALKIS_81           ON ap_pto (art);
+CREATE INDEX ALKIS_82  ON ap_pto (endet);
+CREATE INDEX ALKIS_83     ON ap_pto (signaturnummer);
+COMMENT ON TABLE  ap_pto               IS 'PTO: TextfÃ¶rmiges PrÃ€sentationsobjekt mit punktfÃ¶rmiger Textgeometrie ';
+COMMENT ON COLUMN ap_pto.gml_id        IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ap_pto.schriftinhalt IS 'Label: anzuzeigender Text';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AP_LTO';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AP_LTO CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AP_LTO (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	art			varchar2(2047),
+	schriftinhalt		varchar2(2047),
+	fontsperrung		double precision,
+	skalierung		double precision,
+	horizontaleausrichtung	varchar2(2047),
+	vertikaleausrichtung	varchar2(2047),
+	signaturnummer		varchar2(2047),
+	darstellungsprioritaet  integer,
+	CONSTRAINT ALKIS_84 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AP_LTO ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AP_LTO','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_85 ON AP_LTO(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_86 ON ap_lto (gml_id,beginnt);
+CREATE INDEX ALKIS_87  ON ap_lto (endet);
+COMMENT ON TABLE  ap_lto        IS 'LTO: TextfÃ¶rmiges PrÃ€sentationsobjekt mit linienfÃ¶rmiger Textgeometrie';
+COMMENT ON COLUMN ap_lto.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AP_DARSTELLUNG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AP_DARSTELLUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AP_DARSTELLUNG (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	art			varchar2(2047),
+	darstellungsprioritaet  integer,
+	signaturnummer		varchar2(2047),
+	positionierungsregel    integer,
+	CONSTRAINT ALKIS_88 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AP_DARSTELLUNG ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AP_DARSTELLUNG','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_89 ON ap_darstellung (gml_id,beginnt);
+CREATE INDEX ALKIS_90  ON ap_darstellung (endet);
+COMMENT ON TABLE  ap_darstellung        IS 'A P  D a r s t e l l u n g';
+COMMENT ON COLUMN ap_darstellung.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_FLURSTUECK';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_FLURSTUECK CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_FLURSTUECK (
+	ogr_fid				integer NOT NULL,
+	gml_id				character(16),
+	land 				integer,
+	gemarkungsnummer 		integer,
+	flurnummer			integer,
+	zaehler 			integer,
+	nenner				integer,
+	flurstueckskennzeichen		character(20),
+	amtlicheflaeche			double precision,
+	abweichenderrechtszustand	varchar2(5) default 'false',
+	ZWEIFELHAFTERFLURSTUECKSNACHWE varchar2(5) default 'false',
+	rechtsbehelfsverfahren		varchar2(5) default 'false',
+	zeitpunktderentstehung		character(10),
+	gemeinde			integer,
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
+	advstandardmodell 		varchar2(2047),
+	anlass				varchar2(2047),
+	name				varchar2(2047),
+	regierungsbezirk		integer,
+	kreis				integer,
+	stelle				varchar2(2047),
+	angabenzumabschnittflurstueck	varchar2(2047),
+	kennungschluessel		varchar2(2047),
+	flaechedesabschnitts		varchar2(2047),
+	ANGABENZUMABSCHNITTNUMMERAKTEN varchar2(2047),
+	angabenzumabschnittbemerkung	varchar2(2047),
+	CONSTRAINT ALKIS_91 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_FLURSTUECK ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_FLURSTUECK','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_92 ON AX_FLURSTUECK(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_93 ON ax_flurstueck (gml_id,beginnt);
+CREATE INDEX ALKIS_94 ON ax_flurstueck (land,gemarkungsnummer,flurnummer,zaehler,nenner);
+CREATE INDEX ALKIS_95 ON ax_flurstueck (abweichenderrechtszustand);
+  COMMENT ON TABLE  ax_flurstueck                           IS '"F l u r s t u e c k" ist ein Teil der ErdoberflÃ€che, der von einer im Liegenschaftskataster festgelegten Grenzlinie umschlossen und mit einer Nummer bezeichnet ist. Es ist die Buchungseinheit des Liegenschaftskatasters.';
+  COMMENT ON COLUMN ax_flurstueck.gml_id                    IS 'Identifikator, global eindeutig';
+  COMMENT ON COLUMN ax_flurstueck.flurnummer                IS 'FLN "Flurnummer" ist die von der KatasterbehÃ¶rde zur eindeutigen Bezeichnung vergebene Nummer einer Flur, die eine Gruppe von zusammenhÃ€ngenden FlurstÃŒcken innerhalb einer Gemarkung umfasst.';
+  COMMENT ON COLUMN ax_flurstueck.zaehler                   IS 'ZAE  Dieses Attribut enthÃ€lt den ZÃ€hler der FlurstÃŒcknummer';
+  COMMENT ON COLUMN ax_flurstueck.nenner                    IS 'NEN  Dieses Attribut enthÃ€lt den Nenner der FlurstÃŒcknummer';
+  COMMENT ON COLUMN ax_flurstueck.flurstueckskennzeichen    IS '"FlurstÃŒckskennzeichen" ist ein von der KatasterbehÃ¶rde zur eindeutigen Bezeichnung des FlurstÃŒcks vergebenes Ordnungsmerkmal.
+Die Attributart setzt sich aus den nachfolgenden expliziten Attributarten in der angegebenen Reihenfolge zusammen:
+ 1.  Land (2 Stellen)
+ 2.  Gemarkungsnummer (4 Stellen)
+ 3.  Flurnummer (3 Stellen)
+ 4.  FlurstÃŒcksnummer
+ 4.1 ZÃ€hler (5 Stellen)
+ 4.2 Nenner (4 Stellen)
+ 5.  FlurstÃŒcksfolge (2 Stellen)
+Die Elemente sind rechtsbÃŒndig zu belegen, fehlende Stellen sind mit fÃŒhrenden Nullen zu belegen.
+Da die Flurnummer und die FlurstÃŒcksfolge optional sind, sind aufgrund der bundeseinheitlichen Definition im FlurstÃŒckskennzeichen die entsprechenden Stellen, sofern sie nicht belegt sind, durch Unterstrich "_" ersetzt.
+Gleiches gilt fÃŒr FlurstÃŒcksnummern ohne Nenner, hier ist der fehlende Nenner im FlurstÃŒckskennzeichen durch Unterstriche zu ersetzen.';
+  COMMENT ON COLUMN ax_flurstueck.amtlicheflaeche           IS 'AFL "Amtliche FlÃ€che" ist der im Liegenschaftskataster festgelegte FlÃ€cheninhalt des FlurstÃŒcks in [qm]. FlurstÃŒcksflÃ€chen kleiner 0,5 qm kÃ¶nnen mit bis zu zwei Nachkommastellen gefÃŒhrt werden, ansonsten ohne Nachkommastellen.';
+  COMMENT ON COLUMN ax_flurstueck.abweichenderrechtszustand IS 'ARZ "Abweichender Rechtszustand" ist ein Hinweis darauf, dass auÃerhalb des Grundbuches in einem durch Gesetz geregelten Verfahren der Bodenordnung (siehe Objektart "Bau-, Raum- oder Bodenordnungsrecht", AA "Art der Festlegung", Werte 1750, 1770, 2100 bis 2340) ein neuer Rechtszustand eingetreten ist und das amtliche Verzeichnis der jeweiligen ausfÃŒhrenden Stelle maÃgebend ist.';
+  COMMENT ON COLUMN ax_flurstueck.ZWEIFELHAFTERFLURSTUECKSNACHWE IS 'ZFM "Zweifelhafter FlurstÃŒcksnachweis" ist eine Kennzeichnung eines FlurstÃŒcks, dessen Angaben nicht zweifelsfrei berichtigt werden kÃ¶nnen.';
+  COMMENT ON COLUMN ax_flurstueck.rechtsbehelfsverfahren    IS 'RBV "Rechtsbehelfsverfahren" ist der Hinweis darauf, dass bei dem FlurstÃŒck ein laufendes Rechtsbehelfsverfahren anhÃ€ngig ist.';
+  COMMENT ON COLUMN ax_flurstueck.zeitpunktderentstehung    IS 'ZDE "Zeitpunkt der Entstehung" ist der Zeitpunkt, zu dem das FlurstÃŒck fachlich entstanden ist.';
+  COMMENT ON COLUMN ax_flurstueck.gemeinde                  IS 'Gemeindekennzeichen zur Zuordnung der FlustÃŒcksdaten zu einer Gemeinde.';
+  COMMENT ON COLUMN ax_flurstueck.name                      IS 'Array mit FortfÃŒhrungsjahr und -Nummer';
+  COMMENT ON COLUMN ax_flurstueck.regierungsbezirk          IS 'Regierungsbezirk';
+  COMMENT ON COLUMN ax_flurstueck.kreis                     IS 'Kreis';
+CREATE INDEX ALKIS_96
+   ON ax_flurstueck (flurstueckskennzeichen /* ASC NULLS LAST*/ );
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BESONDEREFLURSTUECKSGRENZE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BESONDEREFLURSTUECKSGRENZE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BESONDEREFLURSTUECKSGRENZE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	artderflurstuecksgrenze	varchar2(2047),
+	CONSTRAINT ALKIS_97 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BESONDEREFLURSTUECKSGRENZE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BESONDEREFLURSTUECKSGRENZE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_98 ON AX_BESONDEREFLURSTUECKSGRENZE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_99 ON ax_besondereflurstuecksgrenze (gml_id,beginnt);
+COMMENT ON TABLE  ax_besondereflurstuecksgrenze        IS 'B e s o n d e r e   F l u r s t u e c k s g r e n z e';
+COMMENT ON COLUMN ax_besondereflurstuecksgrenze.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_GRENZPUNKT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_GRENZPUNKT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_GRENZPUNKT (
+	ogr_fid				integer NOT NULL,
+	gml_id				character(16),
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
+	advstandardmodell		varchar2(2047),
+	anlass				varchar2(2047),
+	punktkennung			varchar2(2047),
+	land				integer,
+	stelle				integer,
+	abmarkung_marke			integer,
+	festgestelltergrenzpunkt	varchar2(2047),
+	besonderepunktnummer		varchar2(2047),
+	bemerkungzurabmarkung		integer,
+	sonstigeeigenschaft		varchar2(2047),
+	art				varchar2(2047),
+	name				varchar2(2047),
+	zeitpunktderentstehung		integer,
+	relativehoehe			double precision,
+	CONSTRAINT ALKIS_100 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_GRENZPUNKT ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_GRENZPUNKT','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_101 ON ax_grenzpunkt (gml_id,beginnt);
+CREATE INDEX ALKIS_102 ON ax_grenzpunkt (abmarkung_marke);
+COMMENT ON TABLE  ax_grenzpunkt        IS 'G r e n z p u n k t';
+COMMENT ON COLUMN ax_grenzpunkt.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_LAGEBEZEICHNUNGOHNEHAUSNUMM';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_LAGEBEZEICHNUNGOHNEHAUSNUMM CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_LAGEBEZEICHNUNGOHNEHAUSNUMM (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	unverschluesselt	varchar2(2047),
+	land			integer,
+	regierungsbezirk	integer,
+	kreis			integer,
+	gemeinde		integer,
+	lage			varchar2(2047),
+	CONSTRAINT ALKIS_103 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_LAGEBEZEICHNUNGOHNEHAUSNUMM ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_LAGEBEZEICHNUNGOHNEHAUSNUMM','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_104 ON AX_LAGEBEZEICHNUNGOHNEHAUSNUMM (gml_id,beginnt);
+CREATE INDEX ALKIS_105 ON AX_LAGEBEZEICHNUNGOHNEHAUSNUMM (land, regierungsbezirk, kreis, gemeinde,lage);
+COMMENT ON TABLE  AX_LAGEBEZEICHNUNGOHNEHAUSNUMM        IS 'L a g e b e z e i c h n u n g   o h n e   H a u s n u m m e r';
+COMMENT ON COLUMN AX_LAGEBEZEICHNUNGOHNEHAUSNUMM.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_LAGEBEZEICHNUNGMITHAUSNUMME';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_LAGEBEZEICHNUNGMITHAUSNUMME CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_LAGEBEZEICHNUNGMITHAUSNUMME (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	land			integer,
+	regierungsbezirk	integer,
+	kreis			integer,
+	gemeinde		integer,
+	lage			varchar2(2047),
+	hausnummer		varchar2(2047),
+	CONSTRAINT ALKIS_106 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_LAGEBEZEICHNUNGMITHAUSNUMME ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_LAGEBEZEICHNUNGMITHAUSNUMME','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_107 ON AX_LAGEBEZEICHNUNGMITHAUSNUMME (gml_id,beginnt);
+CREATE INDEX ALKIS_108       ON AX_LAGEBEZEICHNUNGMITHAUSNUMME (gemeinde, lage);
+COMMENT ON TABLE  AX_LAGEBEZEICHNUNGMITHAUSNUMME        IS 'L a g e b e z e i c h n u n g   m i t   H a u s n u m m e r';
+COMMENT ON COLUMN AX_LAGEBEZEICHNUNGMITHAUSNUMME.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_LAGEBEZEICHNUNGMITPSEUDONUM';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_LAGEBEZEICHNUNGMITPSEUDONUM CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_LAGEBEZEICHNUNGMITPSEUDONUM (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	land			integer,
+	regierungsbezirk	integer,
+	kreis			integer,
+	gemeinde		integer,
+	lage			varchar2(2047),
+	pseudonummer		varchar2(2047),
+	laufendenummer		varchar2(2047),
+	CONSTRAINT ALKIS_109 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_LAGEBEZEICHNUNGMITPSEUDONUM ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_LAGEBEZEICHNUNGMITPSEUDONUM','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_110 ON AX_LAGEBEZEICHNUNGMITPSEUDONUM (gml_id,beginnt);
+COMMENT ON TABLE  AX_LAGEBEZEICHNUNGMITPSEUDONUM        IS 'L a g e b e z e i c h n u n g   m i t  P s e u d o n u m m e r';
+COMMENT ON COLUMN AX_LAGEBEZEICHNUNGMITPSEUDONUM.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_AUFNAHMEPUNKT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_AUFNAHMEPUNKT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_AUFNAHMEPUNKT (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier              character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	punktkennung		varchar2(2047),
+	land			integer,
+	stelle			integer,
+	sonstigeeigenschaft	varchar2(2047),
+	vermarkung_marke	integer,
+	relativehoehe		double precision,
+	CONSTRAINT ALKIS_111 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_AUFNAHMEPUNKT ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_AUFNAHMEPUNKT','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_112 ON ax_aufnahmepunkt (gml_id,beginnt);
+COMMENT ON TABLE  ax_aufnahmepunkt        IS 'A u f n a h m e p u n k t';
+COMMENT ON COLUMN ax_aufnahmepunkt.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_SICHERUNGSPUNKT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_SICHERUNGSPUNKT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_SICHERUNGSPUNKT (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	name			varchar2(2047),
+	punktkennung		varchar2(2047),
+	land			integer,
+	stelle			integer,
+	sonstigeeigenschaft	varchar2(2047),
+	vermarkung_marke	integer,
+	relativehoehe		double precision,
+ 	CONSTRAINT ALKIS_113 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_SICHERUNGSPUNKT ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_SICHERUNGSPUNKT','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+COMMENT ON TABLE  ax_sicherungspunkt        IS 'S i c h e r u n g s p u n k t';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_SONSTIGERVERMESSUNGSPUNKT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_SONSTIGERVERMESSUNGSPUNKT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_SONSTIGERVERMESSUNGSPUNKT (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	vermarkung_marke	integer,
+	punktkennung		varchar2(2047),
+	art			varchar2(2047),
+	land			integer,
+	stelle			integer,
+	sonstigeeigenschaft	varchar2(2047),
+	relativehoehe		double precision,
+	CONSTRAINT ALKIS_114 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_SONSTIGERVERMESSUNGSPUNKT ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_SONSTIGERVERMESSUNGSPUNKT','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_115 ON ax_sonstigervermessungspunkt (gml_id,beginnt);
+COMMENT ON TABLE  ax_sonstigervermessungspunkt        IS 's o n s t i g e r   V e r m e s s u n g s p u n k t';
+COMMENT ON COLUMN ax_sonstigervermessungspunkt.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_PUNKTORTAG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_PUNKTORTAG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_PUNKTORTAG (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	art			varchar2(2047),
+	name			varchar2(2047),
+	kartendarstellung	varchar2(2047),
+	genauigkeitsstufe	integer,
+	vertrauenswuerdigkeit	integer,
+	koordinatenstatus	integer,
+	CONSTRAINT ALKIS_116 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_PUNKTORTAG ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_PUNKTORTAG','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_117 ON AX_PUNKTORTAG(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_118 ON ax_punktortag (gml_id,beginnt);
+COMMENT ON TABLE  ax_punktortag        IS 'P u n k t o r t   AG';
+COMMENT ON COLUMN ax_punktortag.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_PUNKTORTAU';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_PUNKTORTAU CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_PUNKTORTAU (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	kartendarstellung	varchar2(2047),
+	name			varchar2(2047),
+	individualname		varchar2(2047),
+	vertrauenswuerdigkeit	integer,
+	genauigkeitsstufe	integer,
+	koordinatenstatus	integer,
+	CONSTRAINT ALKIS_119 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_PUNKTORTAU ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_PUNKTORTAU','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001),mdsys.sdo_dim_element('Z',-50,3000,0.001)));
+CREATE INDEX ALKIS_120 ON AX_PUNKTORTAU(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_121 ON ax_punktortau (gml_id,beginnt);
+COMMENT ON TABLE  ax_punktortau        IS 'P u n k t o r t   A U';
+COMMENT ON COLUMN ax_punktortau.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_PUNKTORTTA';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_PUNKTORTTA CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_PUNKTORTTA (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	kartendarstellung	varchar2(2047),
+	description		integer,
+	art			varchar2(2047),
+	name			varchar2(2047),
+	genauigkeitsstufe	integer,
+	vertrauenswuerdigkeit	integer,
+	koordinatenstatus	integer,
+	CONSTRAINT ALKIS_122 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_PUNKTORTTA ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_PUNKTORTTA','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_123 ON AX_PUNKTORTTA(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_124 ON ax_punktortta (gml_id,beginnt);
+CREATE INDEX ALKIS_125 ON ax_punktortta (endet);
+COMMENT ON TABLE  ax_punktortta        IS 'P u n k t o r t   T A';
+COMMENT ON COLUMN ax_punktortta.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_FORTFUEHRUNGSNACHWEISDECKBL';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_FORTFUEHRUNGSNACHWEISDECKBL CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_FORTFUEHRUNGSNACHWEISDECKBL (
+	ogr_fid				integer NOT NULL,
+	gml_id				character(16),
+	identifier			character(44),
+	beginnt				character(20),
+	endet				character(20),
+	advstandardmodell		varchar2(2047),
+	anlass				varchar2(2047),
+	uri				varchar2(2047),
+	FORTFUEHRUNGSFALLNUMMERNBEREIC	varchar2(2047),
+	land				integer,
+	gemarkungsnummer		integer,
+	laufendenummer			integer,
+	titel				varchar2(2047),
+	erstelltam			varchar2(2047),
+	fortfuehrungsentscheidungam	varchar2(2047),
+	fortfuehrungsentscheidungvon	varchar2(2047),
+	bemerkung			varchar2(2047),
+	beziehtsichauf			varchar2(2047),
+	CONSTRAINT ALKIS_126 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_FORTFUEHRUNGSNACHWEISDECKBL ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_FORTFUEHRUNGSNACHWEISDECKBL','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+COMMENT ON TABLE  AX_FORTFUEHRUNGSNACHWEISDECKBL
+IS 'F o r t f u e h r u n g s n a c h w e i s / D e c k b l a t t';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_FORTFUEHRUNGSFALL';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_FORTFUEHRUNGSFALL CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_FORTFUEHRUNGSFALL (
+	ogr_fid					integer NOT NULL,
+	gml_id					character(16),
+	identifier				character(44),
+	beginnt					character(20),
+	endet					character(20),
+	advstandardmodell			varchar2(2047),
+	anlass					varchar2(2047),
+	uri					varchar2(2047),
+	fortfuehrungsfallnummer			integer,
+	laufendenummer				integer,
+	UEBERSCHRIFTIMFORTFUEHRUNGSNAC	varchar2(2047),
+	ANZAHLDERFORTFUEHRUNGSMITTEILU	integer,
+	zeigtaufaltesflurstueck			varchar2(2047),
+	zeigtaufneuesflurstueck			varchar2(2047),
+	bemerkung				varchar2(2047),
+	CONSTRAINT ALKIS_127 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_FORTFUEHRUNGSFALL ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_FORTFUEHRUNGSFALL','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+COMMENT ON TABLE  ax_fortfuehrungsfall IS 'F o r t f u e h r u n g s f a l l';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_RESERVIERUNG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_RESERVIERUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_RESERVIERUNG (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet			character(20),
+	advstandardmodell	varchar2(2047),
+	art			integer,
+	nummer			varchar2(2047),
+	land			integer,
+	stelle			integer,
+	ablaufderreservierung	varchar2(2047),
+	antragsnummer		varchar2(2047),
+	auftragsnummer		varchar2(2047),
+	CONSTRAINT ALKIS_128 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_RESERVIERUNG ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_RESERVIERUNG','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+COMMENT ON TABLE  ax_reservierung IS 'R e s e r v i e r u n g';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_PUNKTKENNUNGUNTERGEGANGEN';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_PUNKTKENNUNGUNTERGEGANGEN CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_PUNKTKENNUNGUNTERGEGANGEN (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	punktkennung		varchar2(2047),
+	art			integer,
+	CONSTRAINT ALKIS_129 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_PUNKTKENNUNGUNTERGEGANGEN ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_PUNKTKENNUNGUNTERGEGANGEN','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+COMMENT ON TABLE  ax_punktkennunguntergegangen IS 'P u n k t k e n n u n g, untergegangen';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_HISTORISCHESFLURSTUECKOHNER';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_HISTORISCHESFLURSTUECKOHNER CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_HISTORISCHESFLURSTUECKOHNER (
+	ogr_fid				integer NOT NULL,
+	gml_id				character(16),
+	land 				integer,
+	gemarkungsnummer 		integer,
+	flurnummer			integer,
+	zaehler 			integer,
+	nenner				integer,
+	flurstueckskennzeichen		character(20),
+	amtlicheflaeche			double precision,
+	abweichenderrechtszustand	varchar2(2047),
+	ZWEIFELHAFTERFLURSTUECKSNACHWE varchar2(2047),
+	rechtsbehelfsverfahren		integer,
+	zeitpunktderentstehung		character(10),
+	gemeinde			integer,
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
+	advstandardmodell		character(4),
+	anlass				varchar2(2047),
+	name				varchar2(2047),
+	NACHFOLGERFLURSTUECKSKENNZEICH	varchar2(2047),
+	VORGAENGERFLURSTUECKSKENNZEICH	varchar2(2047),
+	CONSTRAINT ALKIS_130 PRIMARY KEY (ogr_fid)
+);
+  COMMENT ON TABLE  AX_HISTORISCHESFLURSTUECKOHNER        IS '"Historisches FlurstÃŒck ohne Raumbezug" ist ein nicht mehr aktuelles FlurstÃŒck, das schon im ALB historisch geworden ist, nach ALKIS migriert und im Rahmen der Vollhistorie gefÃŒhrt wird.';
+  COMMENT ON COLUMN AX_HISTORISCHESFLURSTUECKOHNER.gml_id IS 'Identifikator, global eindeutig';
+  COMMENT ON COLUMN AX_HISTORISCHESFLURSTUECKOHNER.flurnummer                IS 'FLN "Flurnummer" ist die von der KatasterbehÃ¶rde zur eindeutigen Bezeichnung vergebene Nummer einer Flur, die eine Gruppe von zusammenhÃ€ngenden FlurstÃŒcken innerhalb einer Gemarkung umfasst.';
+  COMMENT ON COLUMN AX_HISTORISCHESFLURSTUECKOHNER.zaehler                   IS 'ZAE  Dieses Attribut enthÃ€lt den ZÃ€hler der FlurstÃŒcknummer';
+  COMMENT ON COLUMN AX_HISTORISCHESFLURSTUECKOHNER.nenner                    IS 'NEN  Dieses Attribut enthÃ€lt den Nenner der FlurstÃŒcknummer';
+  COMMENT ON COLUMN AX_HISTORISCHESFLURSTUECKOHNER.flurstueckskennzeichen    IS '"FlurstÃŒckskennzeichen" ist ein von der KatasterbehÃ¶rde zur eindeutigen Bezeichnung des FlurstÃŒcks vergebenes Ordnungsmerkmal.
+Die Attributart setzt sich aus den nachfolgenden expliziten Attributarten in der angegebenen Reihenfolge zusammen:
+ 1.  Land (2 Stellen)
+ 2.  Gemarkungsnummer (4 Stellen)
+ 3.  Flurnummer (3 Stellen)
+ 4.  FlurstÃŒcksnummer
+ 4.1 ZÃ€hler (5 Stellen)
+ 4.2 Nenner (4 Stellen)
+ 5.  FlurstÃŒcksfolge (2 Stellen)
+Die Elemente sind rechtsbÃŒndig zu belegen, fehlende Stellen sind mit fÃŒhrenden Nullen zu belegen.
+Da die Flurnummer und die FlurstÃŒcksfolge optional sind, sind aufgrund der bundeseinheitlichen Definition im FlurstÃŒckskennzeichen die entsprechenden Stellen, sofern sie nicht belegt sind, durch Unterstrich "_" ersetzt.
+Gleiches gilt fÃŒr FlurstÃŒcksnummern ohne Nenner, hier ist der fehlende Nenner im FlurstÃŒckskennzeichen durch Unterstriche zu ersetzen.';
+  COMMENT ON COLUMN AX_HISTORISCHESFLURSTUECKOHNER.amtlicheflaeche           IS 'AFL "Amtliche FlÃ€che" ist der im Liegenschaftskataster festgelegte FlÃ€cheninhalt des FlurstÃŒcks in [qm]. FlurstÃŒcksflÃ€chen kleiner 0,5 qm kÃ¶nnen mit bis zu zwei Nachkommastellen gefÃŒhrt werden, ansonsten ohne Nachkommastellen.';
+  COMMENT ON COLUMN AX_HISTORISCHESFLURSTUECKOHNER.abweichenderrechtszustand IS 'ARZ "Abweichender Rechtszustand" ist ein Hinweis darauf, dass auÃerhalb des Grundbuches in einem durch Gesetz geregelten Verfahren der Bodenordnung (siehe Objektart "Bau-, Raum- oder Bodenordnungsrecht", AA "Art der Festlegung", Werte 1750, 1770, 2100 bis 2340) ein neuer Rechtszustand eingetreten ist und das amtliche Verzeichnis der jeweiligen ausfÃŒhrenden Stelle maÃgebend ist.';
+  COMMENT ON COLUMN AX_HISTORISCHESFLURSTUECKOHNER.ZWEIFELHAFTERFLURSTUECKSNACHWE IS 'ZFM "Zweifelhafter FlurstÃŒcksnachweis" ist eine Kennzeichnung eines FlurstÃŒcks, dessen Angaben nicht zweifelsfrei berichtigt werden kÃ¶nnen.';
+  COMMENT ON COLUMN AX_HISTORISCHESFLURSTUECKOHNER.rechtsbehelfsverfahren    IS 'RBV "Rechtsbehelfsverfahren" ist der Hinweis darauf, dass bei dem FlurstÃŒck ein laufendes Rechtsbehelfsverfahren anhÃ€ngig ist.';
+  COMMENT ON COLUMN AX_HISTORISCHESFLURSTUECKOHNER.zeitpunktderentstehung    IS 'ZDE "Zeitpunkt der Entstehung" ist der Zeitpunkt, zu dem das FlurstÃŒck fachlich entstanden ist.';
+  COMMENT ON COLUMN AX_HISTORISCHESFLURSTUECKOHNER.gemeinde                  IS 'Gemeindekennzeichen zur Zuordnung der FlustÃŒcksdaten zu einer Gemeinde.';
+  COMMENT ON COLUMN AX_HISTORISCHESFLURSTUECKOHNER.anlass                    IS '?';
+  COMMENT ON COLUMN AX_HISTORISCHESFLURSTUECKOHNER.name                      IS 'Array mit FortfÃŒhrungsjahr und -Nummer';
+  COMMENT ON COLUMN AX_HISTORISCHESFLURSTUECKOHNER.NACHFOLGERFLURSTUECKSKENNZEICH
+  IS '"Nachfolger-FlurstÃŒckskennzeichen" ist die Bezeichnung der FlurstÃŒcke, die dem Objekt "Historisches FlurstÃŒck ohne Raumbezug" direkt nachfolgen.
+Array mit Kennzeichen im Format der Spalte "flurstueckskennzeichen"';
+  COMMENT ON COLUMN AX_HISTORISCHESFLURSTUECKOHNER.VORGAENGERFLURSTUECKSKENNZEICH
+  IS '"VorgÃ€nger-FlurstÃŒckskennzeichen" ist die Bezeichnung der FlurstÃŒcke, die dem Objekt "Historisches FlurstÃŒck ohne Raumbezugs" direkt vorangehen.
+Array mit Kennzeichen im Format der Spalte "flurstueckskennzeichen"';
+ALTER TABLE AX_HISTORISCHESFLURSTUECKOHNER ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_HISTORISCHESFLURSTUECKOHNER','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_131 ON AX_HISTORISCHESFLURSTUECKOHNER (flurstueckskennzeichen /* ASC NULLS LAST */ );
+CREATE INDEX ALKIS_132 ON AX_HISTORISCHESFLURSTUECKOHNER (VORGAENGERFLURSTUECKSKENNZEICH /* ASC */);
+CREATE INDEX ALKIS_133 ON AX_HISTORISCHESFLURSTUECKOHNER (NACHFOLGERFLURSTUECKSKENNZEICH /* ASC */);
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_PERSON';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_PERSON CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_PERSON (
+	ogr_fid				integer NOT NULL,
+	gml_id				character(16),
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
+	advstandardmodell		varchar2(2047),
+	anlass				varchar2(2047),
+	nachnameoderfirma		varchar2(2047),
+	anrede				integer,
+	vorname				varchar2(2047),
+	geburtsname			varchar2(2047),
+	geburtsdatum			varchar2(2047),
+	namensbestandteil		varchar2(2047),
+	akademischergrad		varchar2(2047),
+	CONSTRAINT ALKIS_134 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_PERSON ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_PERSON','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_135 ON ax_person (gml_id,beginnt);
+COMMENT ON TABLE  ax_person        IS 'NREO "Person" ist eine natÃŒrliche oder juristische Person und kann z.B. in den Rollen EigentÃŒmer, Erwerber, Verwalter oder Vertreter in Katasterangelegenheiten gefÃŒhrt werden.';
+COMMENT ON COLUMN ax_person.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_person.namensbestandteil IS 'enthÃ€lt z.B. Titel wie "Baron"';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_ANSCHRIFT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_ANSCHRIFT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_ANSCHRIFT (
+	ogr_fid				integer NOT NULL,
+	gml_id				character(16),
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
+	advstandardmodell		varchar2(2047),
+	anlass				varchar2(2047),
+	ort_post			varchar2(2047),
+	postleitzahlpostzustellung	varchar2(2047),
+	strasse				varchar2(2047),
+	hausnummer			varchar2(2047),
+	bestimmungsland			varchar2(2047),
+	postleitzahlpostfach		varchar2(2047),
+	postfach			varchar2(2047),
+	ortsteil			varchar2(2047),
+	weitereAdressen			varchar2(2047),
+	telefon				varchar2(2047),
+	fax				varchar2(2047),
+	CONSTRAINT ALKIS_136 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_ANSCHRIFT ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_ANSCHRIFT','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_137 ON ax_anschrift (gml_id,beginnt);
+COMMENT ON TABLE  ax_anschrift        IS 'A n s c h r i f t';
+COMMENT ON COLUMN ax_anschrift.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_NAMENSNUMMER';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_NAMENSNUMMER CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_NAMENSNUMMER (
+	ogr_fid				integer NOT NULL,
+	gml_id				character(16),
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
+	advstandardmodell		varchar2(2047),
+	anlass				varchar2(2047),
+	laufendenummernachdin1421	character(16),
+	zaehler				double precision,
+	nenner				double precision,
+	eigentuemerart			integer,
+	nummer				varchar2(2047),
+	artderrechtsgemeinschaft	integer,
+	beschriebderrechtsgemeinschaft	varchar2(2047),
+	CONSTRAINT ALKIS_138 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_NAMENSNUMMER ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_NAMENSNUMMER','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_139 ON ax_namensnummer (gml_id,beginnt);
+COMMENT ON TABLE  ax_namensnummer        IS 'NREO "Namensnummer" ist die laufende Nummer der Eintragung, unter welcher der EigentÃŒmer oder Erbbauberechtigte im Buchungsblatt gefÃŒhrt wird. Rechtsgemeinschaften werden auch unter AX_Namensnummer gefÃŒhrt.';
+COMMENT ON COLUMN ax_namensnummer.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BUCHUNGSBLATT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BUCHUNGSBLATT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BUCHUNGSBLATT (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	buchungsblattkennzeichen	varchar2(2047),
+	land			integer,
+	bezirk			integer,
+	BUCHUNGSBLATTNUMMERMITBUCHSTAB	varchar2(2047),
+	blattart		integer,
+	art			varchar2(2047),
+	CONSTRAINT ALKIS_140 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BUCHUNGSBLATT ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BUCHUNGSBLATT','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_141 ON ax_buchungsblatt (gml_id,beginnt);
+CREATE INDEX ALKIS_142 ON ax_buchungsblatt (land,bezirk,BUCHUNGSBLATTNUMMERMITBUCHSTAB);
+COMMENT ON TABLE  ax_buchungsblatt        IS 'NREO "Buchungsblatt" enthÃ€lt die Buchungen (Buchungsstellen und Namensnummern) des Grundbuchs und des Liegenschhaftskatasters (bei buchungsfreien GrundstÃŒcken).';
+COMMENT ON COLUMN ax_buchungsblatt.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BUCHUNGSSTELLE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BUCHUNGSSTELLE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BUCHUNGSSTELLE (
+	ogr_fid				integer NOT NULL,
+	gml_id				character(16),
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
+	advstandardmodell		varchar2(2047),
+	anlass				varchar2(2047),
+	buchungsart			integer,
+	laufendenummer			varchar2(2047),
+	BESCHREIBUNGDESUMFANGSDERBUCHU	character(1),
+	zaehler				double precision,
+	nenner				double precision,
+	nummerimaufteilungsplan		varchar2(2047),
+	beschreibungdessondereigentums	varchar2(2047),
+	CONSTRAINT ALKIS_143 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BUCHUNGSSTELLE ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BUCHUNGSSTELLE','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_144 ON ax_buchungsstelle (gml_id,beginnt);
+COMMENT ON TABLE  ax_buchungsstelle        IS 'NREO "Buchungsstelle" ist die unter einer laufenden Nummer im Verzeichnis des Buchungsblattes eingetragene Buchung.';
+COMMENT ON COLUMN ax_buchungsstelle.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_GEBAEUDE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_GEBAEUDE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_GEBAEUDE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	gebaeudefunktion	integer,
+	weiteregebaeudefunktion	varchar2(2047),
+	name			varchar2(2047),
+	bauweise		integer,
+	ANZAHLDEROBERIRDISCHENGESCHOSS	integer,
+	ANZAHLDERUNTERIRDISCHENGESCHOS	integer,
+	hochhaus		varchar2(2047),
+	objekthoehe		integer,
+	dachform		integer,
+	zustand			integer,
+	geschossflaeche		integer,
+	grundflaeche		integer,
+	umbauterraum		integer,
+	baujahr			integer,
+	lagezurerdoberflaeche	integer,
+	dachart			varchar2(2047),
+	dachgeschossausbau	integer,
+	qualitaetsangaben	varchar2(2047),
+	ax_datenerhebung	integer,
+	description		integer,
+	art			varchar2(2047),
+	individualname		varchar2(2047),
+	CONSTRAINT ALKIS_145 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_GEBAEUDE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_GEBAEUDE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_146 ON AX_GEBAEUDE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_147 ON ax_gebaeude (gml_id,beginnt);
+  COMMENT ON TABLE  ax_gebaeude                    IS '"G e b Ã€ u d e" ist ein dauerhaft errichtetes Bauwerk, dessen Nachweis wegen seiner Bedeutung als Liegenschaft erforderlich ist sowie dem Zweck der Basisinformation des Liegenschaftskatasters dient.';
+  COMMENT ON COLUMN ax_gebaeude.gml_id             IS 'Identifikator, global eindeutig';
+  COMMENT ON COLUMN ax_gebaeude.gebaeudefunktion   IS 'GFK "GebÃ€udefunktion" ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des GebÃ€udes (Dominanzprinzip). Werte siehe ax_gebaeude_funktion';
+  COMMENT ON COLUMN ax_gebaeude.weiteregebaeudefunktion IS 'WGF "Weitere GebÃ€udefunktion" sind weitere Funktionen, die ein GebÃ€ude neben der dominierenden GebÃ€udefunktion hat.';
+  COMMENT ON COLUMN ax_gebaeude.name             IS 'NAM "Name" ist der Eigenname oder die Bezeichnung des GebÃ€udes.';
+  COMMENT ON COLUMN ax_gebaeude.bauweise           IS 'BAW "Bauweise" ist die Beschreibung der Art der Bauweise. Werte siehe ax_gebaeude_bauweise';
+  COMMENT ON COLUMN ax_gebaeude.ANZAHLDEROBERIRDISCHENGESCHOSS IS 'AOG "Anzahl der oberirdischen Geschosse" ist die Anzahl der oberirdischen Geschosse des GebÃ€udes.';
+  COMMENT ON COLUMN ax_gebaeude.ANZAHLDERUNTERIRDISCHENGESCHOS IS 'AUG "Anzahl der unterirdischen Geschosse" ist die Anzahl der unterirdischen Geschosse des GebÃ€udes.';
+  COMMENT ON COLUMN ax_gebaeude.hochhaus           IS 'HOH "Hochhaus" ist ein GebÃ€ude, das nach GebÃ€udehÃ¶he und AusprÃ€gung als Hochhaus zu bezeichnen ist. FÃŒr GebÃ€ude im Geschossbau gilt dieses i.d.R. ab 8 oberirdischen Geschossen, fÃŒr andere GebÃ€ude ab einer GebÃ€udehÃ¶he von 22 m. Abweichungen hiervon kÃ¶nnen sich durch die Festlegungen in den lÃ€nderspezifischen Bauordnungen ergeben.';
+  COMMENT ON COLUMN ax_gebaeude.objekthoehe        IS 'HHO "ObjekthÃ¶he" ist die HÃ¶hendifferenz in [m] zwischen dem hÃ¶chsten Punkt der Dachkonstruktion und der festgelegten GelÃ€ndeoberflÃ€che des GebÃ€udes.';
+  COMMENT ON COLUMN ax_gebaeude.dachform           IS 'DAF "Dachform" beschreibt die charakteristische Form des Daches. Werte siehe ax_gebaeude_dachform';
+  COMMENT ON COLUMN ax_gebaeude.zustand            IS 'ZUS "Zustand" beschreibt die Beschaffenheit oder die Betriebsbereitschaft von "GebÃ€ude". Diese Attributart wird nur dann optional gefÃŒhrt, wenn der Zustand des GebÃ€udes vom nutzungsfÃ€higen Zustand abweicht. Werte siehe ax_gebaeude_zustand';
+  COMMENT ON COLUMN ax_gebaeude.geschossflaeche    IS 'GFL "GeschossflÃ€che" ist die GebÃ€udegeschossflÃ€che in [qm].';
+  COMMENT ON COLUMN ax_gebaeude.grundflaeche       IS 'GRF "GrundflÃ€che" ist die GebÃ€udegrundflÃ€che in [qm].';
+  COMMENT ON COLUMN ax_gebaeude.umbauterraum       IS 'URA "Umbauter Raum" ist der umbaute Raum [Kubikmeter] des GebÃ€udes.';
+  COMMENT ON COLUMN ax_gebaeude.baujahr            IS 'BJA "Baujahr" ist das Jahr der Fertigstellung oder der baulichen VerÃ€nderung des GebÃ€udes.';
+  COMMENT ON COLUMN ax_gebaeude.lagezurerdoberflaeche IS 'OFL "Lage zur ErdoberflÃ€che" ist die Angabe der relativen Lage des GebÃ€udes zur ErdoberflÃ€che. Diese Attributart wird nur bei nicht ebenerdigen GebÃ€uden gefÃŒhrt. 1200=Unter der ErdoberflÃ€che, 1400=AufgestÃ€ndert';
+  COMMENT ON COLUMN ax_gebaeude.dachart            IS 'DAA "Dachart" gibt die Art der Dacheindeckung (z.B. Reetdach) an.';
+  COMMENT ON COLUMN ax_gebaeude.dachgeschossausbau IS 'DGA "Dachgeschossausbau" ist ein Hinweis auf den Ausbau bzw. die AusbaufÃ€higkeit des Dachgeschosses.';
+  COMMENT ON COLUMN ax_gebaeude.qualitaetsangaben  IS 'QAG Angaben zur Herkunft der Informationen (Erhebungsstelle). Die Information ist konform zu den Vorgaben aus ISO 19115 zu reprÃ€sentieren.';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BAUTEIL';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BAUTEIL CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BAUTEIL (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	bauart			integer,
+	dachform		integer,
+	ANZAHLDEROBERIRDISCHENGESCHOSS	integer,
+	ANZAHLDERUNTERIRDISCHENGESCHOS	integer,
+	lagezurerdoberflaeche	integer,
+	CONSTRAINT ALKIS_148 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BAUTEIL ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BAUTEIL','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_149 ON AX_BAUTEIL(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_150 ON ax_bauteil (gml_id,beginnt);
+COMMENT ON TABLE  ax_bauteil        IS 'B a u t e i l';
+COMMENT ON COLUMN ax_bauteil.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BESONDEREGEBAEUDELINIE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BESONDEREGEBAEUDELINIE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BESONDEREGEBAEUDELINIE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	beschaffenheit		varchar2(2047),
+	anlass			varchar2(2047),
+	CONSTRAINT ALKIS_151 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BESONDEREGEBAEUDELINIE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BESONDEREGEBAEUDELINIE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_152 ON AX_BESONDEREGEBAEUDELINIE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_153 ON ax_besonderegebaeudelinie (gml_id,beginnt);
+COMMENT ON TABLE ax_besonderegebaeudelinie IS 'B e s o n d e r e   G e b Ã€ u d e l i n i e';
+COMMENT ON COLUMN ax_besonderegebaeudelinie.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_FIRSTLINIE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_FIRSTLINIE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_FIRSTLINIE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	art			varchar2(2047),
+	uri			varchar2(2047),
+	CONSTRAINT ALKIS_154 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_FIRSTLINIE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_FIRSTLINIE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_155 ON AX_FIRSTLINIE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_156 ON ax_firstlinie (gml_id,beginnt);
+COMMENT ON TABLE  ax_firstlinie        IS 'F i r s t l i n i e';
+COMMENT ON COLUMN ax_firstlinie.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BESONDERERGEBAEUDEPUNKT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BESONDERERGEBAEUDEPUNKT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BESONDERERGEBAEUDEPUNKT (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	land			integer,
+	stelle			integer,
+	punktkennung		varchar2(2047),
+	art			varchar2(2047),
+	name			varchar2(2047),
+	sonstigeeigenschaft 	varchar2(2047),
+	CONSTRAINT ALKIS_157 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BESONDERERGEBAEUDEPUNKT ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BESONDERERGEBAEUDEPUNKT','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_158 ON ax_besonderergebaeudepunkt (gml_id,beginnt);
+COMMENT ON TABLE  ax_besonderergebaeudepunkt        IS 'B e s o n d e r e r   G e b Ã€ u d e p u n k t';
+COMMENT ON COLUMN ax_besonderergebaeudepunkt.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_WOHNBAUFLAECHE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_WOHNBAUFLAECHE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_WOHNBAUFLAECHE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	artderbebauung		integer,
+	zustand			integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_159 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_WOHNBAUFLAECHE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_WOHNBAUFLAECHE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_160 ON AX_WOHNBAUFLAECHE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_161 ON ax_wohnbauflaeche (gml_id,beginnt);
+COMMENT ON TABLE  ax_wohnbauflaeche                 IS 'W o h n b a u f l Ã€ c h e  ist eine baulich geprÃ€gte FlÃ€che einschlieÃlich der mit ihr im Zusammenhang stehenden FreiflÃ€chen (z.B. VorgÃ€rten, ZiergÃ€rten, Zufahrten, StellplÃ€tze und HofraumflÃ€chen), die ausschlieÃlich oder vorwiegend dem Wohnen dient.';
+COMMENT ON COLUMN ax_wohnbauflaeche.gml_id          IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_wohnbauflaeche.artderbebauung  IS 'BEB "Art der Bebauung" differenziert nach offener und geschlossener Bauweise aus topographischer Sicht und nicht nach gesetzlichen Vorgaben (z.B. BauGB).';
+COMMENT ON COLUMN ax_wohnbauflaeche.zustand         IS 'ZUS "Zustand" beschreibt, ob "WohnbauflÃ€che" ungenutzt ist oder ob eine FlÃ€che als WohnbauflÃ€che genutzt werden soll.';
+COMMENT ON COLUMN ax_wohnbauflaeche.name            IS 'NAM "Name" ist der Eigenname von "WohnbauflÃ€che" insbesondere bei Objekten auÃerhalb von Ortslagen.';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_INDUSTRIEUNDGEWERBEFLAECHE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_INDUSTRIEUNDGEWERBEFLAECHE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_INDUSTRIEUNDGEWERBEFLAECHE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	funktion		integer,
+	name			varchar2(2047),
+	zustand			integer,
+	foerdergut		integer,
+	primaerenergie		integer,
+	lagergut		integer,
+	CONSTRAINT ALKIS_162 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_INDUSTRIEUNDGEWERBEFLAECHE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_INDUSTRIEUNDGEWERBEFLAECHE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_163 ON AX_INDUSTRIEUNDGEWERBEFLAECHE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_164 ON ax_industrieundgewerbeflaeche (gml_id,beginnt);
+COMMENT ON TABLE  ax_industrieundgewerbeflaeche            IS 'I n d u s t r i e -   u n d   G e w e r b e f l Ã€ c h e';
+COMMENT ON COLUMN ax_industrieundgewerbeflaeche.gml_id     IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_industrieundgewerbeflaeche.name       IS 'NAM "Name" ist der Eigenname von "Industrie- und GewerbeflÃ€che" insbesondere auÃerhalb von Ortslagen.';
+COMMENT ON COLUMN ax_industrieundgewerbeflaeche.zustand    IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Industrie- und GewerbeflÃ€che".';
+COMMENT ON COLUMN ax_industrieundgewerbeflaeche.funktion   IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung vorherrschende Nutzung von "Industrie- und GewerbeflÃ€che".';
+COMMENT ON COLUMN ax_industrieundgewerbeflaeche.foerdergut IS 'FGT "FÃ¶rdergut" gibt an, welches Produkt gefÃ¶rdert wird.';
+COMMENT ON COLUMN ax_industrieundgewerbeflaeche.lagergut   IS 'LGT "Lagergut" gibt an, welches Produkt gelagert wird. Diese Attributart kann nur in Verbindung mit der Attributart "Funktion" und der Werteart 1740 vorkommen.';
+COMMENT ON COLUMN ax_industrieundgewerbeflaeche.primaerenergie IS 'PEG "PrimÃ€renergie" beschreibt die zur Strom- oder WÃ€rmeerzeugung dienende Energieform oder den EnergietrÃ€ger.';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_HALDE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_HALDE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_HALDE
+(	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	lagergut		integer,
+	name			varchar2(2047),
+	zustand			integer,
+	CONSTRAINT ALKIS_165 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_HALDE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_HALDE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_166 ON AX_HALDE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_167 ON ax_halde (gml_id,beginnt);
+COMMENT ON TABLE ax_halde             IS 'H a l d e';
+COMMENT ON COLUMN ax_halde.gml_id     IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_halde.name       IS 'NAM "Name" ist die einer "Halde" zugehÃ¶rige Bezeichnung oder deren Eigenname.';
+COMMENT ON COLUMN ax_halde.lagergut   IS 'LGT "Lagergut" gibt an, welches Produkt gelagert wird.';
+COMMENT ON COLUMN ax_halde.zustand    IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Halde".';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BERGBAUBETRIEB';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BERGBAUBETRIEB CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BERGBAUBETRIEB (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	abbaugut		integer,
+	name			varchar2(2047),
+	bezeichnung		varchar2(2047),
+	zustand			integer,
+	CONSTRAINT ALKIS_168 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BERGBAUBETRIEB ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BERGBAUBETRIEB','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_169 ON AX_BERGBAUBETRIEB(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_170 ON ax_bergbaubetrieb (gml_id,beginnt);
+COMMENT ON TABLE  ax_bergbaubetrieb             IS '"Bergbaubetrieb" ist eine FlÃ€che, die fÃŒr die FÃ¶rderung des Abbaugutes unter Tage genutzt wird.';
+COMMENT ON COLUMN ax_bergbaubetrieb.gml_id      IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_bergbaubetrieb.abbaugut    IS 'AGT "Abbaugut" gibt an, welches Material abgebaut wird.';
+COMMENT ON COLUMN ax_bergbaubetrieb.name        IS 'NAM "Name" ist der Eigenname von "Bergbaubetrieb".';
+COMMENT ON COLUMN ax_bergbaubetrieb.zustand     IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Bergbaubetrieb".';
+COMMENT ON COLUMN ax_bergbaubetrieb.bezeichnung IS 'BEZ "Bezeichnung" ist die von einer Fachstelle vergebene Kurzbezeichnung.';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_TAGEBAUGRUBESTEINBRUCH';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_TAGEBAUGRUBESTEINBRUCH CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_TAGEBAUGRUBESTEINBRUCH (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	abbaugut		integer,
+	name			varchar2(2047),
+	zustand			integer,
+	CONSTRAINT ALKIS_171 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_TAGEBAUGRUBESTEINBRUCH ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_TAGEBAUGRUBESTEINBRUCH','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_172 ON AX_TAGEBAUGRUBESTEINBRUCH(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_173 ON ax_tagebaugrubesteinbruch (gml_id,beginnt);
+COMMENT ON TABLE  ax_tagebaugrubesteinbruch          IS '"T a g e b a u ,  G r u b e ,  S t e i n b r u c h"  ist eine FlÃ€che, auf der oberirdisch Bodenmaterial abgebaut wird. Rekultivierte Tagebaue, Gruben, SteinbrÃŒche werden als Objekte entsprechend der vorhandenen Nutzung erfasst.';
+COMMENT ON COLUMN ax_tagebaugrubesteinbruch.gml_id   IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_tagebaugrubesteinbruch.name     IS 'NAM "Name" ist der Eigenname von "Tagebau, Grube, Steinbruch".';
+COMMENT ON COLUMN ax_tagebaugrubesteinbruch.abbaugut IS 'AGT "Abbaugut" gibt an, welches Material abgebaut wird.';
+COMMENT ON COLUMN ax_tagebaugrubesteinbruch.zustand  IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Tagebau, Grube, Steinbruch".';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_FLAECHEGEMISCHTERNUTZUNG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_FLAECHEGEMISCHTERNUTZUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_FLAECHEGEMISCHTERNUTZUNG (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	artderbebauung		integer,
+	funktion		integer,
+	name			varchar2(2047),
+	zustand			integer,
+	CONSTRAINT ALKIS_174 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_FLAECHEGEMISCHTERNUTZUNG ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_FLAECHEGEMISCHTERNUTZUNG','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_175 ON AX_FLAECHEGEMISCHTERNUTZUNG(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_176 ON ax_flaechegemischternutzung (gml_id,beginnt);
+COMMENT ON TABLE  ax_flaechegemischternutzung        IS '"FlÃ€che gemischter Nutzung" ist eine bebaute FlÃ€che einschlieÃlich der mit ihr im Zusammenhang stehenden FreiflÃ€che (HofraumflÃ€che, Hausgarten), auf der keine Art der baulichen Nutzung vorherrscht. Solche FlÃ€chen sind insbesondere lÃ€ndlich-dÃ¶rflich geprÃ€gte FlÃ€chen mit land- und forstwirtschaftlichen Betrieben, WohngebÃ€uden u.a. sowie stÃ€dtisch geprÃ€gte Kerngebiete mit Handelsbetrieben und zentralen Einrichtungen fÃŒr die Wirtschaft und die Verwaltung.';
+COMMENT ON COLUMN ax_flaechegemischternutzung.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_flaechegemischternutzung.artderbebauung IS 'BEB "Art der Bebauung" differenziert nach offener und geschlossener Bauweise aus topographischer Sicht und nicht nach gesetzlichen Vorgaben (z.B. BauGB).';
+COMMENT ON COLUMN ax_flaechegemischternutzung.funktion       IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung vorherrschende Nutzung (Dominanzprinzip).';
+COMMENT ON COLUMN ax_flaechegemischternutzung.name           IS 'NAM "Name" ist der Eigenname von "FlÃ€che gemischter Nutzung" insbesondere bei Objekten auÃerhalb von Ortslagen.';
+COMMENT ON COLUMN ax_flaechegemischternutzung.zustand        IS 'ZUS "Zustand" beschreibt, ob "FlÃ€che gemischter Nutzung" ungenutzt ist.';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_FLAECHEBESONDERERFUNKTIONAL';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_FLAECHEBESONDERERFUNKTIONAL CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_FLAECHEBESONDERERFUNKTIONAL (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	funktion		integer,
+	artderbebauung		integer,
+	name			varchar2(2047),
+	zustand			integer,
+	CONSTRAINT ALKIS_177 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_FLAECHEBESONDERERFUNKTIONAL ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_FLAECHEBESONDERERFUNKTIONAL','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_178 ON AX_FLAECHEBESONDERERFUNKTIONAL(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_179 ON AX_FLAECHEBESONDERERFUNKTIONAL (gml_id,beginnt);
+COMMENT ON TABLE  AX_FLAECHEBESONDERERFUNKTIONAL        IS '"FlÃ€che besonderer funktionaler PrÃ€gung" ist eine baulich geprÃ€gte FlÃ€che einschlieÃlich der mit ihr im Zusammenhang stehenden FreiflÃ€che, auf denen vorwiegend GebÃ€ude und/oder Anlagen zur ErfÃŒllung Ã¶ffentlicher Zwecke oder historische Anlagen vorhanden sind.';
+COMMENT ON COLUMN AX_FLAECHEBESONDERERFUNKTIONAL.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN AX_FLAECHEBESONDERERFUNKTIONAL.funktion       IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung vorherrschende Nutzung von "FlÃ€che besonderer funktionaler PrÃ€gung".';
+COMMENT ON COLUMN AX_FLAECHEBESONDERERFUNKTIONAL.artderbebauung IS 'BEB "Art der Bebauung" differenziert nach offener und geschlossener Bauweise aus topographischer Sicht und nicht nach gesetzlichen Vorgaben (z.B. BauGB).';
+COMMENT ON COLUMN AX_FLAECHEBESONDERERFUNKTIONAL.name           IS 'NAM "Name" ist der Eigenname von "FlÃ€che besonderer funktionaler PrÃ€gung" insbesondere auÃerhalb von Ortslagen.';
+COMMENT ON COLUMN AX_FLAECHEBESONDERERFUNKTIONAL.zustand        IS 'ZUS  "Zustand" beschreibt die Betriebsbereitschaft von "FlÃ€che funktionaler PrÃ€gung".';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_SPORTFREIZEITUNDERHOLUNGSFL';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_SPORTFREIZEITUNDERHOLUNGSFL CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_SPORTFREIZEITUNDERHOLUNGSFL (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	funktion		integer,
+	zustand			integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_180 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_SPORTFREIZEITUNDERHOLUNGSFL ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_SPORTFREIZEITUNDERHOLUNGSFL','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_181 ON AX_SPORTFREIZEITUNDERHOLUNGSFL(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_182 ON AX_SPORTFREIZEITUNDERHOLUNGSFL (gml_id,beginnt);
+COMMENT ON TABLE  AX_SPORTFREIZEITUNDERHOLUNGSFL          IS '"Sport-, Freizeit- und ErhohlungsflÃ€che" ist eine bebaute oder unbebaute FlÃ€che, die dem Sport, der Freizeitgestaltung oder der Erholung dient.';
+COMMENT ON COLUMN AX_SPORTFREIZEITUNDERHOLUNGSFL.gml_id   IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN AX_SPORTFREIZEITUNDERHOLUNGSFL.funktion IS 'FKT "Funktion" ist die Art der Nutzung von "Sport-, Freizeit- und ErholungsflÃ€che".';
+COMMENT ON COLUMN AX_SPORTFREIZEITUNDERHOLUNGSFL.zustand  IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "SPORTFREIZEITUNDERHOLUNGSFLAEC ".';
+COMMENT ON COLUMN AX_SPORTFREIZEITUNDERHOLUNGSFL.name     IS 'NAM "Name" ist der Eigenname von "Sport-, Freizeit- und ErholungsflÃ€che".';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_FRIEDHOF';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_FRIEDHOF CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_FRIEDHOF (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	funktion		integer,
+	name			varchar2(2047),
+	zustand			integer,
+	CONSTRAINT ALKIS_183 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_FRIEDHOF ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_FRIEDHOF','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_184 ON AX_FRIEDHOF(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_185 ON ax_friedhof (gml_id,beginnt);
+COMMENT ON TABLE  ax_friedhof           IS '"F r i e d h o f"  ist eine FlÃ€che, auf der Tote bestattet sind.';
+COMMENT ON COLUMN ax_friedhof.gml_id    IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_friedhof.funktion  IS 'FKT "Funktion" ist die Art der BegrÃ€bnisstÃ€tte.';
+COMMENT ON COLUMN ax_friedhof.name      IS 'NAM "Name" ist der Eigenname von "Friedhof".';
+COMMENT ON COLUMN ax_friedhof.zustand   IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Friedhof".';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_STRASSENVERKEHR';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_STRASSENVERKEHR CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_STRASSENVERKEHR (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	funktion		integer,
+	name			varchar2(2047),
+	zweitname		varchar2(2047),
+	zustand			integer,
+	land			integer,
+	regierungsbezirk	integer,
+	kreis			integer,
+	gemeinde		integer,
+	lage			varchar2(2047),
+	CONSTRAINT ALKIS_186 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_STRASSENVERKEHR ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_STRASSENVERKEHR','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_187 ON AX_STRASSENVERKEHR(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_188 ON ax_strassenverkehr (gml_id,beginnt);
+COMMENT ON TABLE  ax_strassenverkehr           IS '"S t r a s s e n v e r k e h r" umfasst alle fÃŒr die bauliche Anlage StraÃe erforderlichen sowie dem StraÃenverkehr dienenden bebauten und unbebauten FlÃ€chen.';
+COMMENT ON COLUMN ax_strassenverkehr.gml_id    IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_strassenverkehr.funktion  IS 'FKT "Funktion" beschreibt die verkehrliche Nutzung von "StraÃenverkehr".';
+COMMENT ON COLUMN ax_strassenverkehr.name      IS 'NAM "Name" ist der Eigenname von "Strassenverkehr".';
+COMMENT ON COLUMN ax_strassenverkehr.zweitname IS 'ZNM "Zweitname" ist ein von der Lagebezeichnung abweichender Name von "Strassenverkehrsflaeche" (z.B. "Deutsche WeinstraÃe").';
+COMMENT ON COLUMN ax_strassenverkehr.zustand   IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Strassenverkehrsflaeche".';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_WEG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_WEG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_WEG (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	funktion		integer,
+	name			varchar2(2047),
+	bezeichnung		varchar2(2047),
+	land			integer,
+	regierungsbezirk	integer,
+	kreis			integer,
+	gemeinde		integer,
+	lage			varchar2(2047),
+	CONSTRAINT ALKIS_189 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_WEG ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_WEG','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_190 ON AX_WEG(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_191 ON ax_weg (gml_id,beginnt);
+COMMENT ON TABLE  ax_weg              IS '"W e g" umfasst alle FlÃ€chen, die zum Befahren und/oder Begehen vorgesehen sind. Zum "Weg" gehÃ¶ren auch Seitenstreifen und GrÃ€ben zur WegentwÃ€sserung.';
+COMMENT ON COLUMN ax_weg.gml_id       IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_weg.funktion     IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung objektiv erkennbare oder feststellbare vorherrschend vorkommende Nutzung.';
+COMMENT ON COLUMN ax_weg.name         IS 'NAM "Name" ist die Bezeichnung oder der Eigenname von "Wegflaeche".';
+COMMENT ON COLUMN ax_weg.bezeichnung  IS 'BEZ "Bezeichnung" ist die amtliche Nummer des Weges.';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_PLATZ';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_PLATZ CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_PLATZ (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	funktion		integer,
+	name			varchar2(2047),
+	zweitname		varchar2(2047),
+	land			integer,
+	regierungsbezirk	integer,
+	kreis			integer,
+	gemeinde		integer,
+	lage			varchar2(2047),
+	CONSTRAINT ALKIS_192 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_PLATZ ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_PLATZ','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_193 ON AX_PLATZ(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_194 ON ax_platz (gml_id,beginnt);
+COMMENT ON TABLE  ax_platz           IS 'P l a t z   ist eine VerkehrsflÃ€che in Ortschaften oder eine ebene, befestigte oder unbefestigte FlÃ€che, die bestimmten Zwecken dient (z. B. fÃŒr Verkehr, MÃ€rkte, Festveranstaltungen).';
+COMMENT ON COLUMN ax_platz.gml_id    IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_platz.funktion  IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung objektiv erkennbare oder feststellbare vorkommende Nutzung.';
+COMMENT ON COLUMN ax_platz.name      IS 'NAM "Name" ist der Eigenname von "Platz".';
+COMMENT ON COLUMN ax_platz.zweitname IS 'ZNM "Zweitname" ist der touristische oder volkstÃŒmliche Name von "Platz".';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BAHNVERKEHR';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BAHNVERKEHR CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BAHNVERKEHR (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	funktion		integer,
+	bahnkategorie		integer,
+	bezeichnung		varchar2(2047),
+	nummerderbahnstrecke	varchar2(2047),
+	zweitname		varchar2(2047),
+	zustand			integer,
+	CONSTRAINT ALKIS_195 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BAHNVERKEHR ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BAHNVERKEHR','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_196 ON AX_BAHNVERKEHR(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_197 ON ax_bahnverkehr (gml_id,beginnt);
+COMMENT ON TABLE  ax_bahnverkehr        IS '"B a h n v e r k e h r"  umfasst alle fÃŒr den Schienenverkehr erforderlichen FlÃ€chen.';
+COMMENT ON COLUMN ax_bahnverkehr.gml_id               IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_bahnverkehr.funktion             IS 'FKT "Funktion" ist die objektiv feststellbare Nutzung von "Bahnverkehr".';
+COMMENT ON COLUMN ax_bahnverkehr.bahnkategorie        IS 'BKT "Bahnkategorie" beschreibt die Art des Verkehrsmittels.';
+COMMENT ON COLUMN ax_bahnverkehr.bezeichnung          IS 'BEZ "Bezeichnung" ist die Angabe der Orte, in denen die Bahnlinie beginnt und endet (z. B. "Bahnlinie Frankfurt - WÃŒrzburg").';
+COMMENT ON COLUMN ax_bahnverkehr.nummerderbahnstrecke IS 'NRB "Nummer der Bahnstrecke" ist die von der Bahn AG festgelegte VerschlÃŒsselung der Bahnstrecke.';
+COMMENT ON COLUMN ax_bahnverkehr.zweitname            IS 'ZNM "Zweitname" ist der von der Lagebezeichnung abweichende Name von "Bahnverkehr" (z. B. "HÃ¶llentalbahn").';
+COMMENT ON COLUMN ax_bahnverkehr.zustand              IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Bahnverkehr".';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_FLUGVERKEHR';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_FLUGVERKEHR CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_FLUGVERKEHR (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	funktion 		integer,
+	art			integer,
+	name			varchar2(2047),
+	bezeichnung		varchar2(2047),
+	nutzung			integer,
+	zustand			integer,
+	CONSTRAINT ALKIS_198 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_FLUGVERKEHR ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_FLUGVERKEHR','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_199 ON AX_FLUGVERKEHR(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_200 ON ax_flugverkehr (gml_id,beginnt);
+COMMENT ON TABLE  ax_flugverkehr             IS '"F l u g v e r k e h r"  umfasst die baulich geprÃ€gte FlÃ€che und die mit ihr in Zusammenhang stehende FreiflÃ€che, die ausschlieÃlich oder vorwiegend dem Flugverkehr dient.';
+COMMENT ON COLUMN ax_flugverkehr.gml_id      IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_flugverkehr.funktion    IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung vorherrschende Nutzung (Dominanzprinzip).';
+COMMENT ON COLUMN ax_flugverkehr.art         IS 'ART "Art" ist Einstufung der FlugverkehrsflÃ€che durch das Luftfahrtbundesamt.';
+COMMENT ON COLUMN ax_flugverkehr.name        IS 'NAM "Name" ist der Eigenname von "Flugverkehr".';
+COMMENT ON COLUMN ax_flugverkehr.bezeichnung IS 'BEZ "Bezeichnung" ist die von einer Fachstelle vergebene Kennziffer von "Flugverkehr".';
+COMMENT ON COLUMN ax_flugverkehr.nutzung     IS 'NTZ "Nutzung" gibt den Nutzerkreis von "Flugverkehr" an.';
+COMMENT ON COLUMN ax_flugverkehr.zustand     IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Flugverkehr".';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_SCHIFFSVERKEHR';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_SCHIFFSVERKEHR CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_SCHIFFSVERKEHR (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	funktion		integer,
+	name			varchar2(2047),
+	zustand			integer,
+	CONSTRAINT ALKIS_201 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_SCHIFFSVERKEHR ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_SCHIFFSVERKEHR','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_202 ON AX_SCHIFFSVERKEHR(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_203 ON ax_schiffsverkehr (gml_id,beginnt);
+COMMENT ON TABLE  ax_schiffsverkehr          IS '"S c h i f f s v e r k e h r"  umfasst die baulich geprÃ€gte FlÃ€che und die mit ihr in Zusammenhang stehende FreiflÃ€che, die ausschlieÃlich oder vorwiegend dem Schiffsverkehr dient.';
+COMMENT ON COLUMN ax_schiffsverkehr.gml_id   IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_schiffsverkehr.funktion IS 'FKT "Funktion" ist die zum Zeitpunkt der Erhebung vorherrschende Nutzung von "Schiffsverkehr".';
+COMMENT ON COLUMN ax_schiffsverkehr.name     IS 'NAM "Name" ist der Eigenname von "Schiffsverkehr".';
+COMMENT ON COLUMN ax_schiffsverkehr.zustand  IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "Schiffsverkehr".';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_LANDWIRTSCHAFT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_LANDWIRTSCHAFT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_LANDWIRTSCHAFT (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	vegetationsmerkmal	integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_204 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_LANDWIRTSCHAFT ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_LANDWIRTSCHAFT','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_205 ON AX_LANDWIRTSCHAFT(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_206 ON ax_landwirtschaft (gml_id,beginnt);
+COMMENT ON TABLE  ax_landwirtschaft                    IS '"L a n d w i r t s c h a f t"  ist eine FlÃ€che fÃŒr den Anbau von FeldfrÃŒchten sowie eine FlÃ€che, die beweidet und gemÃ€ht werden kann, einschlieÃlich der mit besonderen Pflanzen angebauten FlÃ€che. Die Brache, die fÃŒr einen bestimmten Zeitraum (z. B. ein halbes oder ganzes Jahr) landwirtschaftlich unbebaut bleibt, ist als "Landwirtschaft" bzw. "Ackerland" zu erfassen';
+COMMENT ON COLUMN ax_landwirtschaft.gml_id             IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_landwirtschaft.vegetationsmerkmal IS 'VEG "Vegetationsmerkmal" ist die zum Zeitpunkt der Erhebung erkennbare oder feststellbare vorherrschend vorkommende landwirtschaftliche Nutzung (Dominanzprinzip).';
+COMMENT ON COLUMN ax_landwirtschaft.name               IS 'NAM "Name" ist die Bezeichnung oder der Eigenname von "Landwirtschaft".';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_WALD';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_WALD CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_WALD (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	vegetationsmerkmal	integer,
+	name			varchar2(2047),
+	bezeichnung		varchar2(2047),
+	CONSTRAINT ALKIS_207 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_WALD ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_WALD','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_208 ON AX_WALD(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_209 ON ax_wald (gml_id,beginnt);
+COMMENT ON TABLE  ax_wald             IS '"W a l d" ist eine FlÃ€che, die mit Forstpflanzen (WaldbÃ€ume und WaldstrÃ€ucher) bestockt ist.';
+COMMENT ON COLUMN ax_wald.gml_id      IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_wald.vegetationsmerkmal IS 'VEG "Vegetationsmerkmal" beschreibt den Bewuchs von "Wald".';
+COMMENT ON COLUMN ax_wald.name        IS 'NAM "Name" ist der Eigenname von "Wald".';
+COMMENT ON COLUMN ax_wald.bezeichnung IS 'BEZ "Bezeichnung" ist die von einer Fachstelle vergebene Kennziffer (Forstabteilungsnummer, Jagenzahl) von "Wald".';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_GEHOELZ';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_GEHOELZ CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_GEHOELZ (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass 			varchar2(2047),
+	vegetationsmerkmal	integer,
+	name			varchar2(2047),
+	funktion		integer,
+	CONSTRAINT ALKIS_210 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_GEHOELZ ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_GEHOELZ','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_211 ON AX_GEHOELZ(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_212 ON ax_gehoelz (gml_id,beginnt);
+COMMENT ON TABLE  ax_gehoelz        IS '"G e h Ã¶ l z" ist eine FlÃ€che, die mit einzelnen BÃ€umen, Baumgruppen, BÃŒschen, Hecken und StrÃ€uchern bestockt ist.';
+COMMENT ON COLUMN ax_gehoelz.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_gehoelz.vegetationsmerkmal IS 'VEG "Vegetationsmerkmal" beschreibt den Bewuchs von "GehÃ¶lz".';
+COMMENT ON COLUMN ax_gehoelz.name               IS 'NAM "Name" ist der Eigenname von "Wald".';
+COMMENT ON COLUMN ax_gehoelz.funktion           IS 'FKT "Funktion" beschreibt, welchem Zweck "GehÃ¶lz" dient.';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_HEIDE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_HEIDE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_HEIDE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_213 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_HEIDE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_HEIDE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_214 ON AX_HEIDE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_215 ON ax_heide (gml_id,beginnt);
+COMMENT ON TABLE  ax_heide        IS '"H e i d e"  ist eine meist sandige FlÃ€che mit typischen StrÃ€uchern, GrÃ€sern und geringwertigem Baumbestand.';
+COMMENT ON COLUMN ax_heide.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_heide.name   IS 'NAM "Name" ist der Eigenname von "Heide".';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_MOOR';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_MOOR CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_MOOR (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_216 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_MOOR ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_MOOR','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_217 ON AX_MOOR(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_218 ON ax_moor (gml_id,beginnt);
+COMMENT ON TABLE  ax_moor        IS '"M o o r"  ist eine unkultivierte FlÃ€che, deren obere Schicht aus vertorften oder zersetzten Pflanzenresten besteht.';
+COMMENT ON COLUMN ax_moor.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_moor.name IS 'NAM "Name" ist der Eigenname von "Moor".';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_SUMPF';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_SUMPF CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_SUMPF (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_219 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_SUMPF ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_SUMPF','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_220 ON AX_SUMPF(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_221 ON ax_sumpf (gml_id,beginnt);
+COMMENT ON TABLE  ax_sumpf        IS '"S u m p f" ist ein wassergesÃ€ttigtes, zeitweise unter Wasser stehendes GelÃ€nde. Nach RegenfÃ€llen kurzzeitig nasse Stellen im Boden werden nicht als "Sumpf" erfasst.';
+COMMENT ON COLUMN ax_sumpf.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_sumpf.name   IS 'NAM "Name" ist der Eigenname von "Sumpf".';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_UNLANDVEGETATIONSLOSEFLAECH';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_UNLANDVEGETATIONSLOSEFLAECH CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_UNLANDVEGETATIONSLOSEFLAECH (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	oberflaechenmaterial	integer,
+	name			varchar2(2047),
+	funktion		integer,
+	CONSTRAINT ALKIS_222 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_UNLANDVEGETATIONSLOSEFLAECH ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_UNLANDVEGETATIONSLOSEFLAECH','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_223 ON AX_UNLANDVEGETATIONSLOSEFLAECH(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_224 ON AX_UNLANDVEGETATIONSLOSEFLAECH (gml_id,beginnt);
+COMMENT ON TABLE  AX_UNLANDVEGETATIONSLOSEFLAECH        IS '"Unland/Vegetationslose FlÃ€che" ist eine FlÃ€che, die dauerhaft landwirtschaftlich nicht genutzt wird, wie z.B. nicht aus dem GelÃ€nderelief herausragende Felspartien, Sand- oder EisflÃ€chen, Uferstreifen lÃ€ngs von GewÃ€ssern und SukzessionsflÃ€chen.';
+COMMENT ON COLUMN AX_UNLANDVEGETATIONSLOSEFLAECH.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN AX_UNLANDVEGETATIONSLOSEFLAECH.oberflaechenmaterial IS 'OFM "OberflÃ€chenmaterial" ist die Beschaffenheit des Bodens von "Unland/Vegetationslose FlÃ€che".';
+COMMENT ON COLUMN AX_UNLANDVEGETATIONSLOSEFLAECH.name                 IS 'NAM "Name" ist die Bezeichnung oder der Eigenname von "Unland/ VegetationsloseFlaeche".';
+COMMENT ON COLUMN AX_UNLANDVEGETATIONSLOSEFLAECH.funktion             IS 'FKT "Funktion" ist die erkennbare Art von "Unland/Vegetationslose FlÃ€che".';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_FLIESSGEWAESSER';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_FLIESSGEWAESSER CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_FLIESSGEWAESSER (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	funktion		integer,
+	name			varchar2(2047),
+	zustand			integer,
+	CONSTRAINT ALKIS_225 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_FLIESSGEWAESSER ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_FLIESSGEWAESSER','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_226 ON AX_FLIESSGEWAESSER(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_227 ON ax_fliessgewaesser (gml_id,beginnt);
+COMMENT ON TABLE  ax_fliessgewaesser          IS '"F l i e s s g e w Ã€ s s e r" ist ein geometrisch begrenztes, oberirdisches, auf dem Festland flieÃendes GewÃ€sser, das die Wassermengen sammelt, die als NiederschlÃ€ge auf die ErdoberflÃ€che fallen oder in Quellen austreten, und in ein anderes GewÃ€sser, ein Meer oder in einen See transportiert';
+COMMENT ON COLUMN ax_fliessgewaesser.gml_id   IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_fliessgewaesser.funktion IS 'FKT "Funktion" ist die Art von "FlieÃgewÃ€sser".';
+COMMENT ON COLUMN ax_fliessgewaesser.name     IS 'NAM "Name" ist die Bezeichnung oder der Eigenname von "FlieÃgewÃ€sser".';
+COMMENT ON COLUMN ax_fliessgewaesser.zustand  IS 'ZUS "Zustand" beschreibt die Betriebsbereitschaft von "FlieÃgewÃ€sser" mit FKT=8300 (Kanal).';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_HAFENBECKEN';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_HAFENBECKEN CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_HAFENBECKEN (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	funktion		integer,
+	name			varchar2(2047),
+	nutzung			integer,
+	CONSTRAINT ALKIS_228 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_HAFENBECKEN ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_HAFENBECKEN','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_229 ON AX_HAFENBECKEN(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_230 ON ax_hafenbecken (gml_id,beginnt);
+COMMENT ON TABLE  ax_hafenbecken        IS '"H a f e n b e c k e n"  ist ein natÃŒrlicher oder kÃŒnstlich angelegter oder abgetrennter Teil eines GewÃ€ssers, in dem Schiffe be- und entladen werden.';
+COMMENT ON COLUMN ax_hafenbecken.gml_id IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_hafenbecken.funktion IS 'FKT "Funktion" ist die objektiv erkennbare Nutzung von "Hafenbecken".';
+COMMENT ON COLUMN ax_hafenbecken.name     IS 'NAM "Name" ist der Eigenname von "Hafenbecken".';
+COMMENT ON COLUMN ax_hafenbecken.nutzung  IS 'NTZ "Nutzung" gibt den Nutzerkreis von "Hafenbecken" an.';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_STEHENDESGEWAESSER';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_STEHENDESGEWAESSER CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_STEHENDESGEWAESSER (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	funktion		integer,
+	name			varchar2(2047),
+	gewaesserkennziffer	varchar2(2047),
+	hydrologischesMerkmal	integer,
+	CONSTRAINT ALKIS_231 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_STEHENDESGEWAESSER ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_STEHENDESGEWAESSER','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_232 ON AX_STEHENDESGEWAESSER(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_233 ON ax_stehendesgewaesser (gml_id,beginnt);
+COMMENT ON TABLE  ax_stehendesgewaesser           IS 's t e h e n d e s   G e w Ã€ s s e r  ist eine natÃŒrliche oder kÃŒnstliche mit Wasser gefÃŒllte, allseitig umschlossene Hohlform der LandoberflÃ€che ohne unmittelbaren Zusammenhang mit "Meer".';
+COMMENT ON COLUMN ax_stehendesgewaesser.gml_id    IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_stehendesgewaesser.funktion  IS 'FKT "Funktion" ist die Art von "Stehendes GewÃ€sser".';
+COMMENT ON COLUMN ax_stehendesgewaesser.name      IS 'NAM "Name" ist der Eigenname von "Stehendes GewÃ€sser".';
+COMMENT ON COLUMN ax_stehendesgewaesser.gewaesserkennziffer   IS 'GWK  "GewÃ€sserkennziffer" ist die von der zustÃ€ndigen Fachstelle vergebene VerschlÃŒsselung.';
+COMMENT ON COLUMN ax_stehendesgewaesser.hydrologischesMerkmal IS 'HYD  "Hydrologisches Merkmal" gibt die WasserverhÃ€ltnisse von "Stehendes GewÃ€sser" an.';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_MEER';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_MEER CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_MEER (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	funktion		integer,
+	name			varchar2(2047),
+	bezeichnung		varchar2(2047),
+	tidemerkmal		integer,
+	CONSTRAINT ALKIS_234 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_MEER ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_MEER','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_235 ON AX_MEER(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_236 ON ax_meer (gml_id,beginnt);
+COMMENT ON TABLE  ax_meer              IS '"M e e r" ist die das Festland umgebende WasserflÃ€che.';
+COMMENT ON COLUMN ax_meer.gml_id       IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN ax_meer.funktion     IS 'FKT "Funktion" ist die Art von "Meer".';
+COMMENT ON COLUMN ax_meer.name         IS 'NAM "Name" ist der Eigenname von "Meer".';
+COMMENT ON COLUMN ax_meer.bezeichnung  IS 'BEZ "Bezeichnung" ist die von der zustÃ€ndigen FachbehÃ¶rde vergebene VerschlÃŒsselung.';
+COMMENT ON COLUMN ax_meer.tidemerkmal  IS 'TID "Tidemerkmal" gibt an, ob "Meer" von den periodischen WasserstandsÃ€nderungen beeinflusst wird.';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_TURM';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_TURM CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_TURM (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	bauwerksfunktion	integer,
+	zustand			integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_237 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_TURM ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_TURM','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_238 ON AX_TURM(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_239 ON ax_turm (gml_id,beginnt);
+COMMENT ON TABLE  ax_turm        IS 'T u r m';
+COMMENT ON COLUMN ax_turm.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BAUWERKODERANLAGEFUERINDUST';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BAUWERKODERANLAGEFUERINDUST CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BAUWERKODERANLAGEFUERINDUST (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	bauwerksfunktion	integer,
+	name			varchar2(2047),
+	zustand			integer,
+	objekthoehe		double precision,
+	CONSTRAINT ALKIS_240 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BAUWERKODERANLAGEFUERINDUST ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BAUWERKODERANLAGEFUERINDUST','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_241 ON AX_BAUWERKODERANLAGEFUERINDUST(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_242 ON AX_BAUWERKODERANLAGEFUERINDUST (gml_id,beginnt);
+COMMENT ON TABLE AX_BAUWERKODERANLAGEFUERINDUST         IS 'Bauwerk oder Anlage fuer Industrie und Gewerbe';
+COMMENT ON COLUMN AX_BAUWERKODERANLAGEFUERINDUST.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_VORRATSBEHAELTERSPEICHERBAU';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_VORRATSBEHAELTERSPEICHERBAU CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_VORRATSBEHAELTERSPEICHERBAU (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	speicherinhalt		integer,
+	bauwerksfunktion	integer,
+	lagezurerdoberflaeche   integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_243 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_VORRATSBEHAELTERSPEICHERBAU ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_VORRATSBEHAELTERSPEICHERBAU','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_244 ON AX_VORRATSBEHAELTERSPEICHERBAU(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_245 ON AX_VORRATSBEHAELTERSPEICHERBAU (gml_id,beginnt);
+COMMENT ON TABLE  AX_VORRATSBEHAELTERSPEICHERBAU        IS 'V o r r a t s b e h Ã€ l t e r  /  S p e i c h e r b a u w e r k';
+COMMENT ON COLUMN AX_VORRATSBEHAELTERSPEICHERBAU.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_TRANSPORTANLAGE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_TRANSPORTANLAGE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_TRANSPORTANLAGE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	bauwerksfunktion	integer,
+	lagezurerdoberflaeche	integer,
+	art			varchar2(2047),
+	name			varchar2(2047),
+	produkt                 integer,
+	CONSTRAINT ALKIS_246 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_TRANSPORTANLAGE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_TRANSPORTANLAGE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_247 ON AX_TRANSPORTANLAGE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_248 ON ax_transportanlage (gml_id,beginnt);
+COMMENT ON TABLE  ax_transportanlage        IS 'T r a n s p o r t a n l a g e';
+COMMENT ON COLUMN ax_transportanlage.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_LEITUNG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_LEITUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_LEITUNG (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	bauwerksfunktion	integer,
+	spannungsebene		integer,
+	CONSTRAINT ALKIS_249 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_LEITUNG ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_LEITUNG','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_250 ON AX_LEITUNG(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_251 ON ax_leitung (gml_id,beginnt);
+COMMENT ON TABLE  ax_leitung        IS 'L e i t u n g';
+COMMENT ON COLUMN ax_leitung.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BAUWERKODERANLAGEFUERSPORTF';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BAUWERKODERANLAGEFUERSPORTF CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BAUWERKODERANLAGEFUERSPORTF (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	bauwerksfunktion	integer,
+	sportart		integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_252 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BAUWERKODERANLAGEFUERSPORTF ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BAUWERKODERANLAGEFUERSPORTF','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_253 ON AX_BAUWERKODERANLAGEFUERSPORTF(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_254 ON AX_BAUWERKODERANLAGEFUERSPORTF (gml_id,beginnt);
+COMMENT ON TABLE  AX_BAUWERKODERANLAGEFUERSPORTF        IS 'Bauwerk oder Anlage fuer Sport, Freizeit und Erholung';
+COMMENT ON COLUMN AX_BAUWERKODERANLAGEFUERSPORTF.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_HISTORISCHESBAUWERKODERHIST';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_HISTORISCHESBAUWERKODERHIST CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_HISTORISCHESBAUWERKODERHIST (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	archaeologischertyp	integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_255 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_HISTORISCHESBAUWERKODERHIST ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_HISTORISCHESBAUWERKODERHIST','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_256 ON AX_HISTORISCHESBAUWERKODERHIST(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_257 ON AX_HISTORISCHESBAUWERKODERHIST (gml_id,beginnt);
+COMMENT ON TABLE  AX_HISTORISCHESBAUWERKODERHIST        IS 'Historisches Bauwerk oder historische Einrichtung';
+COMMENT ON COLUMN AX_HISTORISCHESBAUWERKODERHIST.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_HEILQUELLEGASQUELLE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_HEILQUELLEGASQUELLE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_HEILQUELLEGASQUELLE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	art			integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_258 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_HEILQUELLEGASQUELLE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_HEILQUELLEGASQUELLE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_259 ON AX_HEILQUELLEGASQUELLE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_260 ON ax_heilquellegasquelle (gml_id,beginnt);
+COMMENT ON TABLE  ax_heilquellegasquelle        IS 'H e i l q u e l l e  /  G a s q u e l l e';
+COMMENT ON COLUMN ax_heilquellegasquelle.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_SONSTIGESBAUWERKODERSONSTIG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_SONSTIGESBAUWERKODERSONSTIG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_SONSTIGESBAUWERKODERSONSTIG (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	description		integer,
+	name			varchar2(2047),
+	bauwerksfunktion	integer,
+	CONSTRAINT ALKIS_261 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_SONSTIGESBAUWERKODERSONSTIG ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_SONSTIGESBAUWERKODERSONSTIG','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_262 ON AX_SONSTIGESBAUWERKODERSONSTIG(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_263 ON AX_SONSTIGESBAUWERKODERSONSTIG (gml_id,beginnt);
+COMMENT ON TABLE  AX_SONSTIGESBAUWERKODERSONSTIG        IS 'sonstiges Bauwerk oder sonstige Einrichtung';
+COMMENT ON COLUMN AX_SONSTIGESBAUWERKODERSONSTIG.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_EINRICHTUNGINOEFFENTLICHENB';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_EINRICHTUNGINOEFFENTLICHENB CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_EINRICHTUNGINOEFFENTLICHENB (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	art			integer,
+	kilometerangabe         varchar2(2047),
+	CONSTRAINT ALKIS_264 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_EINRICHTUNGINOEFFENTLICHENB ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_EINRICHTUNGINOEFFENTLICHENB','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_265 ON AX_EINRICHTUNGINOEFFENTLICHENB(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_266 ON AX_EINRICHTUNGINOEFFENTLICHENB (gml_id,beginnt);
+COMMENT ON TABLE  AX_EINRICHTUNGINOEFFENTLICHENB        IS 'E i n r i c h t u n g   i n   Ã f f e n t l i c h e n   B e r e i c h e n';
+COMMENT ON COLUMN AX_EINRICHTUNGINOEFFENTLICHENB.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_EINRICHTUNGENFUERDENSCHIFFS';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_EINRICHTUNGENFUERDENSCHIFFS CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_EINRICHTUNGENFUERDENSCHIFFS (
+	ogr_fid 		integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	art			integer,
+	kilometerangabe		varchar2(2047),
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_267 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_EINRICHTUNGENFUERDENSCHIFFS ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_EINRICHTUNGENFUERDENSCHIFFS','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_268 ON AX_EINRICHTUNGENFUERDENSCHIFFS(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_269 ON AX_EINRICHTUNGENFUERDENSCHIFFS (gml_id,beginnt);
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BESONDERERBAUWERKSPUNKT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BESONDERERBAUWERKSPUNKT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BESONDERERBAUWERKSPUNKT (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	punktkennung		varchar2(2047),
+	land			integer,
+	stelle			integer,
+	sonstigeeigenschaft	varchar2(2047),
+	CONSTRAINT ALKIS_270 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BESONDERERBAUWERKSPUNKT ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BESONDERERBAUWERKSPUNKT','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_271 ON ax_besondererbauwerkspunkt (gml_id,beginnt);
+COMMENT ON TABLE  ax_besondererbauwerkspunkt        IS 'B e s o n d e r e r   B a u w e r k s p u n k t';
+COMMENT ON COLUMN ax_besondererbauwerkspunkt.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BAUWERKIMVERKEHRSBEREICH';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BAUWERKIMVERKEHRSBEREICH CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BAUWERKIMVERKEHRSBEREICH (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	bauwerksfunktion	integer,
+	name                    varchar2(2047),
+	zustand			integer,
+	CONSTRAINT ALKIS_272 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BAUWERKIMVERKEHRSBEREICH ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BAUWERKIMVERKEHRSBEREICH','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_273 ON AX_BAUWERKIMVERKEHRSBEREICH(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_274 ON ax_bauwerkimverkehrsbereich (gml_id,beginnt);
+COMMENT ON TABLE  ax_bauwerkimverkehrsbereich        IS 'B a u w e r k   i m  V e r k e h s b e r e i c h';
+COMMENT ON COLUMN ax_bauwerkimverkehrsbereich.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_STRASSENVERKEHRSANLAGE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_STRASSENVERKEHRSANLAGE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_STRASSENVERKEHRSANLAGE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	art			integer,
+	bezeichnung             varchar2(2047),
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_275 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_STRASSENVERKEHRSANLAGE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_STRASSENVERKEHRSANLAGE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_276 ON AX_STRASSENVERKEHRSANLAGE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_277 ON ax_strassenverkehrsanlage (gml_id,beginnt);
+COMMENT ON TABLE  ax_strassenverkehrsanlage        IS 'S t r a s s e n v e r k e h r s a n l a g e';
+COMMENT ON COLUMN ax_strassenverkehrsanlage.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_WEGPFADSTEIG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_WEGPFADSTEIG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_WEGPFADSTEIG (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	art			integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_278 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_WEGPFADSTEIG ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_WEGPFADSTEIG','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_279 ON AX_WEGPFADSTEIG(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_280 ON ax_wegpfadsteig (gml_id,beginnt);
+COMMENT ON TABLE  ax_wegpfadsteig        IS 'W e g  /  P f a d  /  S t e i g';
+COMMENT ON COLUMN ax_wegpfadsteig.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BAHNVERKEHRSANLAGE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BAHNVERKEHRSANLAGE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BAHNVERKEHRSANLAGE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	bahnhofskategorie	integer,
+	bahnkategorie		integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_281 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BAHNVERKEHRSANLAGE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BAHNVERKEHRSANLAGE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_282 ON AX_BAHNVERKEHRSANLAGE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_283 ON ax_bahnverkehrsanlage (gml_id,beginnt);
+COMMENT ON TABLE  ax_bahnverkehrsanlage        IS 'B a h n v e r k e h r s a n l a g e';
+COMMENT ON COLUMN ax_bahnverkehrsanlage.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_SEILBAHNSCHWEBEBAHN';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_SEILBAHNSCHWEBEBAHN CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_SEILBAHNSCHWEBEBAHN (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	bahnkategorie		integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_284 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_SEILBAHNSCHWEBEBAHN ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_SEILBAHNSCHWEBEBAHN','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_285 ON AX_SEILBAHNSCHWEBEBAHN(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_286 ON ax_seilbahnschwebebahn (gml_id,beginnt);
+COMMENT ON TABLE  ax_seilbahnschwebebahn        IS 'S e i l b a h n, S c h w e b e b a h n';
+COMMENT ON COLUMN ax_seilbahnschwebebahn.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_GLEIS';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_GLEIS CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_GLEIS (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	bahnkategorie		integer,
+	art			integer,
+	lagezuroberflaeche      integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_287 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_GLEIS ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_GLEIS','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_288 ON AX_GLEIS(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_289 ON ax_gleis (gml_id,beginnt);
+COMMENT ON TABLE  ax_gleis        IS 'G l e i s';
+COMMENT ON COLUMN ax_gleis.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_FLUGVERKEHRSANLAGE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_FLUGVERKEHRSANLAGE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_FLUGVERKEHRSANLAGE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	art			integer,
+	oberflaechenmaterial	integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_290 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_FLUGVERKEHRSANLAGE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_FLUGVERKEHRSANLAGE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_291 ON AX_FLUGVERKEHRSANLAGE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_292 ON ax_flugverkehrsanlage (gml_id,beginnt);
+COMMENT ON TABLE  ax_flugverkehrsanlage             IS 'F l u g v e r k e h r s a n l a g e';
+COMMENT ON COLUMN ax_flugverkehrsanlage.gml_id      IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BAUWERKIMGEWAESSERBEREICH';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BAUWERKIMGEWAESSERBEREICH CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BAUWERKIMGEWAESSERBEREICH (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	bauwerksfunktion	integer,
+	name			varchar2(2047),
+	zustand			integer,
+	CONSTRAINT ALKIS_293 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BAUWERKIMGEWAESSERBEREICH ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BAUWERKIMGEWAESSERBEREICH','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_294 ON AX_BAUWERKIMGEWAESSERBEREICH(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_295 ON ax_bauwerkimgewaesserbereich (gml_id,beginnt);
+COMMENT ON TABLE  ax_bauwerkimgewaesserbereich        IS 'B a u w e r k   i m   G e w Ã€ s s e r b e r e i c h';
+COMMENT ON COLUMN ax_bauwerkimgewaesserbereich.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_VEGETATIONSMERKMAL';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_VEGETATIONSMERKMAL CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_VEGETATIONSMERKMAL (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	bewuchs			integer,
+	zustand			integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_296 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_VEGETATIONSMERKMAL ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_VEGETATIONSMERKMAL','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_297 ON AX_VEGETATIONSMERKMAL(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_298 ON ax_vegetationsmerkmal (gml_id,beginnt);
+COMMENT ON TABLE  ax_vegetationsmerkmal        IS 'V e g a t a t i o n s m e r k m a l';
+COMMENT ON COLUMN ax_vegetationsmerkmal.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_GEWAESSERMERKMAL';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_GEWAESSERMERKMAL CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_GEWAESSERMERKMAL (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	art			integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_299 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_GEWAESSERMERKMAL ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_GEWAESSERMERKMAL','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_300 ON AX_GEWAESSERMERKMAL(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_301 ON ax_gewaessermerkmal (gml_id,beginnt);
+COMMENT ON TABLE  ax_gewaessermerkmal        IS 'G e w Ã€ s s e r m e r k m a l';
+COMMENT ON COLUMN ax_gewaessermerkmal.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_UNTERGEORDNETESGEWAESSER';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_UNTERGEORDNETESGEWAESSER CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_UNTERGEORDNETESGEWAESSER (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	funktion		integer,
+	lagezurerdoberflaeche	integer,
+	hydrologischesmerkmal	integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_302 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_UNTERGEORDNETESGEWAESSER ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_UNTERGEORDNETESGEWAESSER','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_303 ON AX_UNTERGEORDNETESGEWAESSER(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_304 ON ax_untergeordnetesgewaesser (gml_id,beginnt);
+COMMENT ON TABLE  ax_untergeordnetesgewaesser        IS 'u n t e r g e o r d n e t e s   G e w Ã€ s s e r';
+COMMENT ON COLUMN ax_untergeordnetesgewaesser.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_WASSERSPIEGELHOEHE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_WASSERSPIEGELHOEHE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_WASSERSPIEGELHOEHE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	hoehedeswasserspiegels	double precision,
+	CONSTRAINT ALKIS_305 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_WASSERSPIEGELHOEHE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_WASSERSPIEGELHOEHE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_306 ON AX_WASSERSPIEGELHOEHE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_307 ON ax_wasserspiegelhoehe (gml_id,beginnt);
+COMMENT ON TABLE  ax_wasserspiegelhoehe  IS 'W a s s e r s p i e g e l h Ã¶ h e';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_SCHIFFFAHRTSLINIEFAEHRVERKE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_SCHIFFFAHRTSLINIEFAEHRVERKE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_SCHIFFFAHRTSLINIEFAEHRVERKE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	art			integer,
+	CONSTRAINT ALKIS_308 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_SCHIFFFAHRTSLINIEFAEHRVERKE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_SCHIFFFAHRTSLINIEFAEHRVERKE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_309 ON AX_SCHIFFFAHRTSLINIEFAEHRVERKE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_310 ON AX_SCHIFFFAHRTSLINIEFAEHRVERKE (gml_id,beginnt);
+COMMENT ON TABLE  AX_SCHIFFFAHRTSLINIEFAEHRVERKE  IS 'S c h i f f f a h r t s l i n i e  /  F Ã€ h r v e r k e h r';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BOESCHUNGKLIFF';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BOESCHUNGKLIFF CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BOESCHUNGKLIFF (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	objekthoehe		double precision,
+	CONSTRAINT ALKIS_311 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BOESCHUNGKLIFF ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BOESCHUNGKLIFF','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_312 ON ax_boeschungkliff (gml_id,beginnt);
+COMMENT ON TABLE  ax_boeschungkliff        IS 'B Ã¶ s c h u n g s k l i f f';
+COMMENT ON COLUMN ax_boeschungkliff.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BOESCHUNGSFLAECHE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BOESCHUNGSFLAECHE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BOESCHUNGSFLAECHE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	CONSTRAINT ALKIS_313 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BOESCHUNGSFLAECHE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BOESCHUNGSFLAECHE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_314 ON AX_BOESCHUNGSFLAECHE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_315 ON ax_boeschungsflaeche (gml_id,beginnt);
+COMMENT ON TABLE  ax_boeschungsflaeche        IS 'B Ã¶ s c h u n g s f l Ã€ c h e';
+COMMENT ON COLUMN ax_boeschungsflaeche.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_DAMMWALLDEICH';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_DAMMWALLDEICH CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_DAMMWALLDEICH (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	art			integer,
+	name			varchar2(2047),
+	funktion		integer,
+	CONSTRAINT ALKIS_316 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_DAMMWALLDEICH ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_DAMMWALLDEICH','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_317 ON AX_DAMMWALLDEICH(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_318 ON ax_dammwalldeich (gml_id,beginnt);
+COMMENT ON TABLE  ax_dammwalldeich        IS 'D a m m  /  W a l l  /  D e i c h';
+COMMENT ON COLUMN ax_dammwalldeich.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_HOEHLENEINGANG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_HOEHLENEINGANG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_HOEHLENEINGANG (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	name			varchar2(2047),
+	ax_datenerhebung	integer,
+	CONSTRAINT ALKIS_319 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_HOEHLENEINGANG ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_HOEHLENEINGANG','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_320 ON AX_HOEHLENEINGANG(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_321 ON ax_hoehleneingang (gml_id,beginnt);
+COMMENT ON TABLE  ax_hoehleneingang        IS 'HÃ¶hleneingang';
+COMMENT ON COLUMN ax_hoehleneingang.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_FELSENFELSBLOCKFELSNADEL';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_FELSENFELSBLOCKFELSNADEL CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_FELSENFELSBLOCKFELSNADEL (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_322 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_FELSENFELSBLOCKFELSNADEL ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_FELSENFELSBLOCKFELSNADEL','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_323 ON AX_FELSENFELSBLOCKFELSNADEL(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_324 ON ax_felsenfelsblockfelsnadel (gml_id,beginnt);
+COMMENT ON TABLE  ax_felsenfelsblockfelsnadel        IS 'F e l s e n ,  F e l s b l o c k ,   F e l s n a d e l';
+COMMENT ON COLUMN ax_felsenfelsblockfelsnadel.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_DUENE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_DUENE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_DUENE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_325 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_DUENE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_DUENE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_326 ON AX_DUENE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_327 ON ax_duene (gml_id,beginnt);
+COMMENT ON TABLE  ax_duene IS 'D ÃŒ n e';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_HOEHENLINIE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_HOEHENLINIE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_HOEHENLINIE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	hoehevonhoehenlinie	double precision,
+	CONSTRAINT ALKIS_328 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_HOEHENLINIE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_HOEHENLINIE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_329 ON AX_HOEHENLINIE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_330 ON ax_hoehenlinie (gml_id,beginnt);
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_GELAENDEKANTE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_GELAENDEKANTE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_GELAENDEKANTE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	istteilvon		varchar2(2047),
+	artdergelaendekante	integer,
+	ax_dqerfassungsmethode	integer,
+	identifikation		integer,
+	art			integer,
+	CONSTRAINT ALKIS_331 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_GELAENDEKANTE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_GELAENDEKANTE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_332 ON AX_GELAENDEKANTE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_333 ON ax_gelaendekante (gml_id,beginnt);
+COMMENT ON TABLE  ax_gelaendekante        IS 'G e l Ã€ n d e k a n t e';
+COMMENT ON COLUMN ax_gelaendekante.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BESONDERERHOEHENPUNKT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BESONDERERHOEHENPUNKT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BESONDERERHOEHENPUNKT (
+	ogr_fid			integer NOT NULL,
+	gml_id 			character(16),
+	identifier 		character(44),
+	beginnt 		character(20),
+	endet  			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	besonderebedeutung	integer,
+	CONSTRAINT ALKIS_334 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BESONDERERHOEHENPUNKT ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BESONDERERHOEHENPUNKT','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_335 ON AX_BESONDERERHOEHENPUNKT(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_336 ON ax_besondererhoehenpunkt (gml_id,beginnt);
+COMMENT ON TABLE  ax_besondererhoehenpunkt        IS 'B e s o n d e r e r   H Ã¶ h e n - P u n k t';
+COMMENT ON COLUMN ax_besondererhoehenpunkt.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_KLASSIFIZIERUNGNACHSTRASSEN';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_KLASSIFIZIERUNGNACHSTRASSEN CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_KLASSIFIZIERUNGNACHSTRASSEN (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	artderfestlegung	integer,
+	land			integer,
+	stelle			varchar2(2047),
+	bezeichnung		varchar2(2047),
+	CONSTRAINT ALKIS_337 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_KLASSIFIZIERUNGNACHSTRASSEN ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_KLASSIFIZIERUNGNACHSTRASSEN','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_338 ON AX_KLASSIFIZIERUNGNACHSTRASSEN(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_339 ON AX_KLASSIFIZIERUNGNACHSTRASSEN (gml_id,beginnt);
+CREATE INDEX ALKIS_340 ON AX_KLASSIFIZIERUNGNACHSTRASSEN(land,stelle);
+COMMENT ON TABLE  AX_KLASSIFIZIERUNGNACHSTRASSEN        IS 'K l a s s i f i z i e r u n g   n a c h   S t r a s s e n r e c h t';
+COMMENT ON COLUMN AX_KLASSIFIZIERUNGNACHSTRASSEN.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_KLASSIFIZIERUNGNACHWASSERRE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_KLASSIFIZIERUNGNACHWASSERRE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_KLASSIFIZIERUNGNACHWASSERRE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	artderfestlegung	integer,
+	land			integer,
+	stelle			varchar2(2047),
+	CONSTRAINT ALKIS_341 PRIMARY KEY (ogr_fid)
+);
+CREATE UNIQUE INDEX ALKIS_343_1 ON AX_KLASSIFIZIERUNGNACHWASSERRE (gml_id,beginnt);
+ALTER TABLE AX_KLASSIFIZIERUNGNACHWASSERRE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_KLASSIFIZIERUNGNACHWASSERRE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_342 ON AX_KLASSIFIZIERUNGNACHWASSERRE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE INDEX ALKIS_343 ON AX_KLASSIFIZIERUNGNACHWASSERRE(land,stelle);
+COMMENT ON TABLE  AX_KLASSIFIZIERUNGNACHWASSERRE        IS 'K l a s s i f i z i e r u n g   n a c h   W a s s e r r e c h t';
+COMMENT ON COLUMN AX_KLASSIFIZIERUNGNACHWASSERRE.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BAURAUMODERBODENORDNUNGSREC';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BAURAUMODERBODENORDNUNGSREC CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BAURAUMODERBODENORDNUNGSREC (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	art			varchar2(2047),
+	name			varchar2(2047),
+	artderfestlegung	integer,
+	land			integer,
+	stelle			varchar2(2047),
+	bezeichnung		varchar2(2047),
+	CONSTRAINT ALKIS_344 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BAURAUMODERBODENORDNUNGSREC ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BAURAUMODERBODENORDNUNGSREC','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_345 ON AX_BAURAUMODERBODENORDNUNGSREC(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_346 ON AX_BAURAUMODERBODENORDNUNGSREC (gml_id,beginnt);
+COMMENT ON TABLE  AX_BAURAUMODERBODENORDNUNGSREC             IS 'REO: Bau-, Raum- oder Bodenordnungsrecht';
+COMMENT ON COLUMN AX_BAURAUMODERBODENORDNUNGSREC.gml_id      IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN AX_BAURAUMODERBODENORDNUNGSREC.artderfestlegung IS 'ADF';
+COMMENT ON COLUMN AX_BAURAUMODERBODENORDNUNGSREC.name      IS 'NAM, Eigenname von "Bau-, Raum- oder Bodenordnungsrecht"';
+COMMENT ON COLUMN AX_BAURAUMODERBODENORDNUNGSREC.bezeichnung IS 'BEZ, Amtlich festgelegte VerschlÃŒsselung von "Bau-, Raum- oder Bodenordnungsrecht"';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_SONSTIGESRECHT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_SONSTIGESRECHT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_SONSTIGESRECHT (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	artderfestlegung	integer,
+	land			integer,
+	stelle			varchar2(2047),
+	bezeichnung		varchar2(2047),
+	characterstring		varchar2(2047),
+	art			varchar2(2047),
+	name			varchar2(2047),
+	funktion		integer,
+	CONSTRAINT ALKIS_347 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_SONSTIGESRECHT ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_SONSTIGESRECHT','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_348 ON AX_SONSTIGESRECHT(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_349 ON ax_sonstigesrecht (gml_id,beginnt);
+COMMENT ON TABLE  ax_sonstigesrecht        IS 'S o n s t i g e s   R e c h t';
+COMMENT ON COLUMN ax_sonstigesrecht.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BODENSCHAETZUNG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BODENSCHAETZUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BODENSCHAETZUNG (
+	ogr_fid				integer NOT NULL,
+	gml_id				character(16),
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
+	advstandardmodell		varchar2(2047),
+	anlass				varchar2(2047),
+	art				varchar2(2047),
+	name				varchar2(2047),
+	kulturart			integer,
+	bodenart			integer,
+	zustandsstufeoderbodenstufe	integer,
+	ENTSTEHUNGSARTODERKLIMASTUFEWA	varchar2(2047),
+	BODENZAHLODERGRUENLANDGRUNDZAH	integer,
+	ackerzahlodergruenlandzahl	integer,
+	sonstigeangaben			varchar2(2047),
+	jahreszahl			integer,
+	CONSTRAINT ALKIS_350 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BODENSCHAETZUNG ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BODENSCHAETZUNG','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_351 ON AX_BODENSCHAETZUNG(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_352 ON ax_bodenschaetzung (gml_id,beginnt);
+COMMENT ON TABLE  ax_bodenschaetzung        IS 'B o d e n s c h Ã€ t z u n g';
+COMMENT ON COLUMN ax_bodenschaetzung.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_MUSTERLANDESMUSTERUNDVERGLE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_MUSTERLANDESMUSTERUNDVERGLE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_MUSTERLANDESMUSTERUNDVERGLE (
+	ogr_fid				integer NOT NULL,
+	gml_id				character(16),
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
+	advstandardmodell		varchar2(2047),
+	anlass				varchar2(2047),
+	merkmal				integer,
+	nummer				integer,
+	kulturart			integer,
+	bodenart			integer,
+	zustandsstufeoderbodenstufe	integer,
+	ENTSTEHUNGSARTODERKLIMASTUFEWA	integer,
+	BODENZAHLODERGRUENLANDGRUNDZAH	integer,
+	ackerzahlodergruenlandzahl	integer,
+	art				varchar2(2047),
+	name				varchar2(2047),
+	CONSTRAINT ALKIS_353 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_MUSTERLANDESMUSTERUNDVERGLE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_MUSTERLANDESMUSTERUNDVERGLE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_354 ON AX_MUSTERLANDESMUSTERUNDVERGLE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_355 ON AX_MUSTERLANDESMUSTERUNDVERGLE (gml_id,beginnt);
+COMMENT ON TABLE  AX_MUSTERLANDESMUSTERUNDVERGLE        IS 'Muster-, Landesmuster- und Vergleichsstueck';
+COMMENT ON COLUMN AX_MUSTERLANDESMUSTERUNDVERGLE.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BUNDESLAND';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BUNDESLAND CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BUNDESLAND (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	schluesselgesamt	integer,
+	bezeichnung		varchar2(2047),
+	land			integer,
+	stelle			varchar2(2047),
+	CONSTRAINT ALKIS_356 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BUNDESLAND ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BUNDESLAND','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_357 ON ax_bundesland (gml_id,beginnt);
+COMMENT ON TABLE  ax_bundesland        IS 'B u n d e s l a n d';
+COMMENT ON COLUMN ax_bundesland.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_REGIERUNGSBEZIRK';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_REGIERUNGSBEZIRK CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_REGIERUNGSBEZIRK (
+	ogr_fid				integer NOT NULL,
+	gml_id				character(16),
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
+	advstandardmodell		varchar2(2047),
+	anlass				varchar2(2047),
+	schluesselgesamt		integer,
+	bezeichnung			varchar2(2047),
+	land				integer,
+	regierungsbezirk		integer,
+	CONSTRAINT ALKIS_358 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_REGIERUNGSBEZIRK ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_REGIERUNGSBEZIRK','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_359 ON ax_regierungsbezirk (gml_id,beginnt);
+COMMENT ON TABLE  ax_regierungsbezirk        IS 'R e g i e r u n g s b e z i r k';
+COMMENT ON COLUMN ax_regierungsbezirk.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_KREISREGION';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_KREISREGION CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_KREISREGION (
+	ogr_fid				integer NOT NULL,
+	gml_id				character(16),
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
+	advstandardmodell		varchar2(2047),
+	anlass				varchar2(2047),
+	schluesselgesamt		integer,
+	bezeichnung			varchar2(2047),
+	land				integer,
+	regierungsbezirk		integer,
+	kreis				integer,
+	CONSTRAINT ALKIS_360 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_KREISREGION ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_KREISREGION','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_361 ON ax_kreisregion (gml_id,beginnt);
+COMMENT ON TABLE  ax_kreisregion        IS 'K r e i s  /  R e g i o n';
+COMMENT ON COLUMN ax_kreisregion.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_GEMEINDE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_GEMEINDE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_GEMEINDE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	schluesselgesamt	integer,
+	bezeichnung		varchar2(2047),
+	land			integer,
+	regierungsbezirk	integer,
+	kreis			integer,
+	gemeinde		integer,
+	CONSTRAINT ALKIS_362 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_GEMEINDE ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_GEMEINDE','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_363 ON ax_gemeinde (gml_id,beginnt);
+COMMENT ON TABLE  ax_gemeinde        IS 'G e m e i n d e';
+COMMENT ON COLUMN ax_gemeinde.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_GEMEINDETEIL';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_GEMEINDETEIL CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_GEMEINDETEIL (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	schluesselgesamt	double precision,
+	bezeichnung		varchar2(2047),
+	administrativefunktion	integer,
+	land			integer,
+	regierungsbezirk	integer,
+	kreis			integer,
+	gemeinde		integer,
+	gemeindeteil		integer,
+	CONSTRAINT ALKIS_364 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_GEMEINDETEIL ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_GEMEINDETEIL','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_365 ON ax_gemeindeteil (gml_id,beginnt);
+COMMENT ON TABLE  ax_gemeindeteil        IS 'G e m e i n d e - T e i l';
+COMMENT ON COLUMN ax_gemeindeteil.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_GEMARKUNG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_GEMARKUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_GEMARKUNG (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	schluesselgesamt	integer,
+	bezeichnung		varchar2(2047),
+	land			integer,
+	gemarkungsnummer	integer,
+	stelle			integer,
+	CONSTRAINT ALKIS_366 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_GEMARKUNG ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_GEMARKUNG','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_367 ON ax_gemarkung (gml_id,beginnt);
+CREATE INDEX ALKIS_368         ON ax_gemarkung (land, gemarkungsnummer);
+COMMENT ON TABLE  ax_gemarkung        IS 'G e m a r k u n g';
+COMMENT ON COLUMN ax_gemarkung.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_GEMARKUNGSTEILFLUR';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_GEMARKUNGSTEILFLUR CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_GEMARKUNGSTEILFLUR (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	schluesselgesamt	integer,
+	bezeichnung		varchar2(2047),
+	land			integer,
+	gemarkung		integer,
+	gemarkungsteilflur	integer,
+	CONSTRAINT ALKIS_369 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_GEMARKUNGSTEILFLUR ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_GEMARKUNGSTEILFLUR','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_370 ON ax_gemarkungsteilflur (gml_id,beginnt);
+COMMENT ON TABLE  ax_gemarkungsteilflur        IS 'G e m a r k u n g s t e i l   /   F l u r';
+COMMENT ON COLUMN ax_gemarkungsteilflur.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_BUCHUNGSBLATTBEZIRK';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_BUCHUNGSBLATTBEZIRK CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_BUCHUNGSBLATTBEZIRK (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	schluesselgesamt	integer,
+	bezeichnung		varchar2(2047),
+	land			integer,
+	bezirk			integer,
+	stelle			varchar2(2047),
+	CONSTRAINT ALKIS_371 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_BUCHUNGSBLATTBEZIRK ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_BUCHUNGSBLATTBEZIRK','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_372 ON ax_buchungsblattbezirk (gml_id,beginnt);
+CREATE INDEX ALKIS_373 ON ax_buchungsblattbezirk (land, bezirk);
+COMMENT ON TABLE  ax_buchungsblattbezirk        IS 'Buchungsblatt- B e z i r k';
+COMMENT ON COLUMN ax_buchungsblattbezirk.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_DIENSTSTELLE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_DIENSTSTELLE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_DIENSTSTELLE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	schluesselgesamt	varchar2(2047),
+	bezeichnung		varchar2(2047),
+	land			integer,
+	stelle			varchar2(2047),
+	stellenart		integer,
+	CONSTRAINT ALKIS_374 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_DIENSTSTELLE ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_DIENSTSTELLE','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_375 ON ax_dienststelle (gml_id,beginnt);
+COMMENT ON TABLE  ax_dienststelle        IS 'D i e n s t s t e l l e';
+COMMENT ON COLUMN ax_dienststelle.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_LAGEBEZEICHNUNGKATALOGEINTR';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_LAGEBEZEICHNUNGKATALOGEINTR CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_LAGEBEZEICHNUNGKATALOGEINTR (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	schluesselgesamt	varchar2(2047),
+	bezeichnung		varchar2(2047),
+	land			integer,
+	regierungsbezirk	integer,
+	kreis			integer,
+	gemeinde		integer,
+	lage			varchar2(2047),
+	CONSTRAINT ALKIS_376 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_LAGEBEZEICHNUNGKATALOGEINTR ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_LAGEBEZEICHNUNGKATALOGEINTR','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE UNIQUE INDEX ALKIS_377 ON AX_LAGEBEZEICHNUNGKATALOGEINTR (gml_id,beginnt);
+CREATE INDEX ALKIS_378 ON AX_LAGEBEZEICHNUNGKATALOGEINTR (gemeinde, lage);
+CREATE INDEX ALKIS_379 ON AX_LAGEBEZEICHNUNGKATALOGEINTR (schluesselgesamt);
+CREATE INDEX ALKIS_380  ON AX_LAGEBEZEICHNUNGKATALOGEINTR (bezeichnung);
+COMMENT ON TABLE  AX_LAGEBEZEICHNUNGKATALOGEINTR              IS 'StraÃentabelle';
+COMMENT ON COLUMN AX_LAGEBEZEICHNUNGKATALOGEINTR.gml_id       IS 'Identifikator, global eindeutig';
+COMMENT ON COLUMN AX_LAGEBEZEICHNUNGKATALOGEINTR.lage         IS 'StraÃenschlÃŒssel';
+COMMENT ON COLUMN AX_LAGEBEZEICHNUNGKATALOGEINTR.bezeichnung  IS 'StraÃenname';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_KLEINRAEUMIGERLANDSCHAFTSTE';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_KLEINRAEUMIGERLANDSCHAFTSTE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_KLEINRAEUMIGERLANDSCHAFTSTE (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	sonstigesmodell		varchar2(2047),
+	anlass			varchar2(2047),
+	landschaftstyp		integer,
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_381 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_KLEINRAEUMIGERLANDSCHAFTSTE ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_KLEINRAEUMIGERLANDSCHAFTSTE','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_382 ON AX_KLEINRAEUMIGERLANDSCHAFTSTE(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_383 ON AX_KLEINRAEUMIGERLANDSCHAFTSTE (gml_id,beginnt);
+COMMENT ON TABLE  AX_KLEINRAEUMIGERLANDSCHAFTSTE        IS 'k l e i n r Ã€ u m i g e r   L a n d s c h a f t s t e i l';
+COMMENT ON COLUMN AX_KLEINRAEUMIGERLANDSCHAFTSTE.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_WOHNPLATZ';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_WOHNPLATZ CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_WOHNPLATZ (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	name			varchar2(2047),
+	CONSTRAINT ALKIS_384 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_WOHNPLATZ ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_WOHNPLATZ','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_385 ON AX_WOHNPLATZ(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_386 ON ax_wohnplatz (gml_id,beginnt);
+COMMENT ON TABLE  ax_wohnplatz        IS 'W o h n p l a t z';
+COMMENT ON COLUMN ax_wohnplatz.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_KOMMUNALESGEBIET';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_KOMMUNALESGEBIET CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_KOMMUNALESGEBIET (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet 			character(20),
+	advstandardmodell	varchar2(2047),
+	anlass			varchar2(2047),
+	schluesselgesamt	varchar2(2047),
+	land			integer,
+	regierungsbezirk	integer,
+	kreis			integer,
+	gemeinde		integer,
+	gemeindeflaeche		double precision,
+	CONSTRAINT ALKIS_387 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_KOMMUNALESGEBIET ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_KOMMUNALESGEBIET','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+CREATE INDEX ALKIS_388 ON AX_KOMMUNALESGEBIET(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
+CREATE UNIQUE INDEX ALKIS_389 ON ax_kommunalesgebiet (gml_id,beginnt);
+COMMENT ON TABLE  ax_kommunalesgebiet        IS 'K o m m u n a l e s   G e b i e t';
+COMMENT ON COLUMN ax_kommunalesgebiet.gml_id IS 'Identifikator, global eindeutig';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_VERTRETUNG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_VERTRETUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_VERTRETUNG (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet			character(20),
+	advstandardmodell	varchar(4),
+	anlass			varchar2(2047),
+	CONSTRAINT ALKIS_390 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_VERTRETUNG ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_VERTRETUNG','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+COMMENT ON TABLE  ax_vertretung IS 'V e r t r e t u n g';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_VERWALTUNGSGEMEINSCHAFT';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_VERWALTUNGSGEMEINSCHAFT CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_VERWALTUNGSGEMEINSCHAFT (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet			character(20),
+	advstandardmodell	varchar(4),
+	anlass			varchar2(2047),
+	schluesselgesamt	integer,
+	bezeichnung		varchar2(2047),
+	bezeichnungart		integer,
+	land			integer,
+	regierungsbezirk	integer,
+	kreis			integer,
+	verwaltungsgemeinschaft	integer,
+	CONSTRAINT ALKIS_391 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_VERWALTUNGSGEMEINSCHAFT ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_VERWALTUNGSGEMEINSCHAFT','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+COMMENT ON TABLE  ax_verwaltungsgemeinschaft  IS 'V e r w a l t u n g s g e m e i n s c h a f t';
+DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='AX_VERWALTUNG';
+BEGIN EXECUTE IMMEDIATE 'DROP TABLE AX_VERWALTUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
+/
+CREATE TABLE AX_VERWALTUNG (
+	ogr_fid			integer NOT NULL,
+	gml_id			character(16),
+	identifier		character(44),
+	beginnt			character(20),
+	endet			character(20),
+	advstandardmodell	varchar(4),
+	anlass			varchar2(2047),
+	CONSTRAINT ALKIS_392 PRIMARY KEY (ogr_fid)
+);
+ALTER TABLE AX_VERWALTUNG ADD DUMMY MDSYS.SDO_GEOMETRY;
+INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('AX_VERWALTUNG','DUMMY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
+COMMENT ON TABLE  ax_verwaltung  IS 'V e r w a l t u n g';
+purge recyclebin;
+QUIT;
Index: branches/0.7/info/conf/alkis_www_conf.php
===================================================================
--- branches/0.7/info/conf/alkis_www_conf.php	(revision 329)
+++ branches/0.7/info/conf/alkis_www_conf.php	(revision 329)
@@ -0,0 +1,31 @@
+<?php
+/*	alkis_www_conf.php
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+	Zentrale Einstellungen - Internet-Version
+	2011-07-25  PostNAS 0.5/0.6 Versionen unterscheiden
+	2011-07-26  debug-Parameter zur Fehlersuche
+*/
+
+// Datenbank-Zugangsdaten
+$dbhost = 'localhost';
+$dbport = '5432';
+$dbuser = '***';
+$dbpass = '***';
+$dbpre  = 'alkis';
+$dbvers = '06';
+
+// Entwicklung / Produktion
+$idumschalter = false;
+
+// Authentifizierung
+//$auth="mapbender";
+$auth="";  // ** temporaer deaktiviert **!
+$mapbender="/data/mapwww/http/php/mb_validateSession.php";
+
+// Link für Hilfe
+$hilfeurl = 'http://map.krz.de/mapwww/?Themen:ALKIS';
+
+
+// Entwicklungsumgebung
+$debug=0; // 0=Produktion, 1=mit Fehlermeldungen, 2=mit Informationen, 3=mit SQL
+?>
Index: branches/0.7/info/info/alkis/alkisbaurecht.php
===================================================================
--- branches/0.7/info/info/alkis/alkisbaurecht.php	(revision 329)
+++ branches/0.7/info/info/alkis/alkisbaurecht.php	(revision 329)
@@ -0,0 +1,194 @@
+<?php
+/*	alkisbaurecht.php - Baurecht
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+
+	Version:
+	2013-06-27	Neu als Variante von alkis*inlay*baurecht.ph (mit Footer, Balken und Umschaltung Key)
+*/
+session_start();
+$cntget = extract($_GET);
+require_once("alkis_conf_location.php");
+if ($auth == "mapbender") {require_once($mapbender);}
+include("alkisfkt.php"); // f. Footer
+if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;}
+$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
+if ($keys == "j") {$showkey=true;} else {$showkey=false;}
+
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="author" content="b600352" >
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<title>ALKIS Bau-, Raum- oder Bodenordnungsrecht</title>
+	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Gericht.ico">
+</head>
+<body>
+
+<?php
+$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
+
+// wie View "baurecht"
+$sql ="SELECT r.ogc_fid, r.artderfestlegung as adfkey, r.name, r.stelle, r.bezeichnung AS rechtbez, ";
+$sql.="a.bezeichner AS adfbez, d.bezeichnung AS stellbez, d.stellenart, ";
+$sql.="round(st_area(r.wkb_geometry)::numeric,0) AS flae ";
+$sql.="FROM ax_bauraumoderbodenordnungsrecht r ";
+$sql.="LEFT JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON r.artderfestlegung = a.wert ";
+$sql.="LEFT JOIN ax_dienststelle d ON r.land = d.land AND r.stelle = d.stelle ";
+$sql.="WHERE r.gml_id= $1 ;";
+
+$v = array($gmlid);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+
+if (!$res) {
+	echo "\n<p class='err'>Fehler bei Baurecht.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";}
+}
+
+if ($row = pg_fetch_array($res)) {
+	$artfest=$row["adfkey"];  // Art der Festlegung, Key
+	$verfnr=$row["rechtbez"]; // Verfahrens-Nummer
+	$enam=$row["name"];
+	$stellk=$row["stelle"]; // LEFT JOIN !
+	$stellb=$row["stellbez"];
+	$stella=$row["stellenart"];
+
+	// Balken
+	echo "<p class='recht'>ALKIS Bau-, Raum- oder Bodenordnungsrecht ".$artfest."-".$verfnr."&nbsp;</p>\n";
+
+	echo "\n<h2><img src='ico/Gericht.ico' width='16' height='16' alt=''> Bau-, Raum- oder Bodenordnungsrecht</h2>\n";
+
+	echo "\n<table>";
+
+		echo "\n<tr>";
+			echo "\n\t<td class='li'>Art der Festlegung:</td>\n\t<td>";
+			if ($showkey) {
+				echo "<span class='key'>(".$artfest.")</span> ";
+			}
+			echo "<span class='wichtig'>".$row["adfbez"]."</span></td>";
+		echo "\n</tr>";
+
+		if ($enam != "") {
+			echo "\n<tr>";
+				echo "\n\t<td class='li'>Eigenname des Gebietes:</td>\n\t<td>".$enam."</td>";
+			echo "\n</tr>";
+		}
+
+		if ($verfnr != "") {
+			echo "\n<tr>";
+				echo "\n\t<td class='li'>Verfahrensnummer:</td>";
+				echo "\n\t<td>".$verfnr."</td>";
+				// if ($idanzeige) {linkgml($gkz, $gmlid, "Verfahren"); } // KEINE Bez.!
+			echo "\n</tr>";
+		}
+
+		if ($stellb != "") { // z.B. Umlegung mit und Baulast ohne Dienststelle
+			echo "\n<tr>";
+				echo "\n\t<td class='li'>Dienststelle:</td>\n\t<td>";
+					if ($showkey) {echo "<span class='key'>(".$stellk.")</span> ";}
+					echo $stellb;
+				echo "</td>";
+			echo "\n</tr>";
+			if ($stella != "") {
+				echo "\n<tr>";
+					echo "\n\t<td class='li'>Art der Dienststelle:</td>";
+					echo "\n\t<td>";
+						if ($showkey) {echo " <span class='key'>(".$stella.")</span>";}
+						// d.stellenart -- weiter entschluesseln 1000, 1200, 1300
+						// Dazu SchlÃŒsseltabelle aus GeoInfoDok erfassen
+						echo "&nbsp;"; // Platzhalter
+					echo "</td>";
+				echo "\n</tr>";
+			}
+		}
+
+		echo "\n<tr>";
+			echo "\n\t<td class='li'>Fl&auml;che:</td>";
+			$flae=number_format($row["flae"],0,",",".")." m&#178;";
+			echo "\n\t<td>".$flae."</td>";
+		echo "\n</tr>";
+
+	echo "\n</table>";
+} else {
+	echo "\n<p class='err'>Fehler! Kein Treffer bei gml_id=".$gmlid."</p>";
+}
+
+echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> betroffene Flurst&uuml;cke</h2>\n";
+echo "\n<p>Ermittelt durch geometrische Verschneidung. Nach Gr&ouml;&szlig;e absteigend.</p>";
+
+$sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, ";
+$sql.="round(st_area(ST_Intersection(r.wkb_geometry,f.wkb_geometry))::numeric,1) AS schnittflae ";
+$sql.="FROM ax_flurstueck f, ax_bauraumoderbodenordnungsrecht r  ";
+$sql.="WHERE r.gml_id= $1 "; 
+$sql.="AND st_intersects(r.wkb_geometry,f.wkb_geometry) = true ";
+$sql.="AND st_area(st_intersection(r.wkb_geometry,f.wkb_geometry)) > 0.05 ";  // > 0.0 ist gemeint, Ungenauigkeit durch st_simplify
+$sql.="ORDER BY schnittflae DESC ";
+$sql.="LIMIT 40;"; // Limit: Flurbereinig. kann gross werden!
+// Trotz Limit lange Antwortzeit, wegen OrderBy -> intersection
+$v = array($gmlid);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+
+if (!$res) {
+	echo "\n<p class='err'>Keine Flurst&uuml;cke ermittelt.<br>\nSQL=<br></p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";}
+}
+
+echo "\n<table class='fs'>";
+	echo "\n<tr>"; // Header
+		echo "\n\t<td class='head' title='Flur- und Flurst&uuml;cksnummer'>Flurst&uuml;ck</td>";
+		echo "\n\t<td class='head fla' title='geometrische Schnittfl&auml;che'>Fl&auml;che</td>";
+		echo "\n\t<td class='head fla' title='amtliche Flurst&uuml;cksfl&auml;che, Buchfl&auml;che'>von</td>";
+		echo "\n\t<td class='head nwlink' title='Link zum Flurst&uuml;ck'>weitere Auskunft</td>";
+	echo "\n</tr>";
+
+	$fscnt=0;
+	while($row = pg_fetch_array($res)) {
+		$fscnt++;
+		echo "\n<tr>";
+			echo "\n\t<td>".$row["flurnummer"]."-<span class='wichtig'>".$row["zaehler"];
+			$nen=$row["nenner"];
+			if ($nen != "") {
+				echo "/".$nen;
+			}
+			echo "</span></td>";
+			echo "\n\t<td class='fla'>".$row["schnittflae"]." m&#178;</td>"; 
+			echo "\n\t<td class='fla'>".$row["amtlicheflaeche"]." m&#178;</td>";
+			echo "\n\t<td class='nwlink noprint'>";
+				echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$row["gml_id"]."&amp;eig=n' " ;
+					echo "title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck ";
+					echo "\n\t\t\t<img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''>";
+				echo "\n\t\t</a>";
+			echo "\n\t</td>";
+		echo "\n</tr>";
+	}
+echo "\n</table>";
+
+if ($fscnt == 40) {
+	echo "<p>... und weitere Flurst&uuml;cke (Limit 40 erreicht).</p>";
+}
+
+pg_close($con);
+echo <<<END
+
+<form action=''>
+	<div class='buttonbereich noprint'>
+	<hr>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken" /></a>&nbsp;
+	</div>
+</form>
+END;
+
+footer($gmlid, $_SERVER['PHP_SELF']."?", "");
+
+?>
+
+</body>
+</html>
Index: branches/0.7/info/info/alkis/alkisfshist.php
===================================================================
--- branches/0.7/info/info/alkis/alkisfshist.php	(revision 329)
+++ branches/0.7/info/info/alkis/alkisfshist.php	(revision 329)
@@ -0,0 +1,324 @@
+<?php
+/*	Modul: alkisfshist.php
+
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+	Flurstuecks-Historie fuer ein Flurstueckskennzeichen aus ALKIS PostNAS
+	Version:
+	2011-11-16  Zum aktuellen FS die VorgÃÂ€nger suchen
+	2011-11-17  Parameter der Functions geÃÂ€ndert
+	2011-11-30  import_request_variables
+	2012-11-27  Function split deprecated: explode
+	2013-04-08  deprecated "import_request_variables" ersetzt
+*/
+
+function fzerleg($fs) {
+/*	FlurstÃÂŒckskennzeichen (20) zerlegen als lesbares Format (wie im Balken):
+	Dies FS-Kennz-Format wird auch als Eingabe in der Navigation akzeptiert 
+   ....*....1....*....2
+   ll    fff     nnnn
+     gggg   zzzzz    __
+*/
+	$fst=rtrim($fs,"_");	
+	$zer=substr ($fst, 2, 4)."-".ltrim(substr($fst, 6, 3), "0")."-<b>".ltrim(substr($fst, 9, 5),"0");
+	$nenn=ltrim(substr($fst, 14), "0");
+	if ($nenn != "") {$zer.="/".$nenn;}
+	$zer.="</b>";
+	return $zer; 
+}
+
+function vornach($dbarr) {
+// Datenbank-Array-Feld zeilenweise ausgeben als Selbst-Link
+	global $gkz, $idanzeige, $showkey;
+	if ($dbarr == "") {
+		echo "(keine)";
+	} else {
+		$stri=trim($dbarr, "{}");
+		//$arr = split(",",$stri);
+		$arr = explode(",",$stri);
+		foreach($arr AS $val){
+		   echo "Flurst&uuml;ck <a title=' zur Flurst&uuml;ck Historie' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;fskennz=".$val;
+		   	if ($idanzeige) {echo "&amp;id=j";}
+				if ($showkey)   {echo "&amp;showkey=j";}
+			echo "'>".fzerleg($val)."</a><br>";
+		}
+	}
+	return 0;
+}
+
+function gemkg_name($gkey) {
+// Schluessel wird uebergeben, Name in DB nachschlagen
+	global $con;
+	$sql ="SELECT bezeichnung FROM ax_gemarkung g WHERE g.gemarkungsnummer= $1 ;";
+	$v=array($gkey);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {echo "\n<p class='err'>Fehler bei Gemarkung.</p>";}
+	$zgmk=0;
+	while($row = pg_fetch_array($res)) { // eigentlich nur EINE
+		$gmkg=$row["bezeichnung"];
+		$zgmk++;
+	}
+	if ($zgmk == 0) {
+		echo "\n<p class='err'>Gemarkung ".$gkey." ist unbekannt.</p>";
+		return;
+	}
+	return $gmkg;
+}
+
+function such_vor_arr($fsk) {
+// Suchen der Vorgaenger zum aktuellen Flurst. Ausgabe von Selbst-Links Zeilenweise in <td>.
+// Akt. FS hat keine Verweise auf Vorgaenger. Darum in den Nachfolger-Verweisen von Hist.-FS suchen.
+// Problem: Dies sind Arrays, die nicht performant durchsucht werden koennen.
+	global $gkz, $con, $debug;
+
+	$wherecl="WHERE $1 = ANY (nachfolgerflurstueckskennzeichen) ";
+
+	// Bei kleinere Datenbanken keine spÃŒrbare VerzÃ¶gerung bei Suche mit " = ANY(Array)"
+	// FÃŒr grosse BestÃ€nde zusÃ€tzlich filtern ÃŒber indizierte Felder Gemarkung + Flur?
+	// Dazu die nÃ€chsten 2 Zeilen aktivieren.	
+//	$wherecl.="AND gemarkungsnummer=".substr($fsk, 2, 4)." ";
+//	$wherecl.="AND flurnummer=".ltrim(substr($fsk, 6, 3), "0")." ";
+	// Frage: kann das bei Historisierung wechseln? (Umflurung, Umgemarkung). Dann ggf. Fehler (nicht gefunden)
+
+	$sqlv.="SELECT 'h' AS ftyp, gml_id, flurstueckskennzeichen FROM ax_historischesflurstueck h ".$wherecl;
+	$sqlv.="UNION ";
+	$sqlv.="SELECT 'o' AS ftyp, gml_id, flurstueckskennzeichen FROM ax_historischesflurstueckohneraumbezug o ".$wherecl;
+	$sqlv.="ORDER BY flurstueckskennzeichen";
+
+	$v=array($fsk);
+	$resv = pg_prepare("", $sqlv);
+	$resv = pg_execute("", $v);
+	if (!$resv) {
+		echo "\n<p class='err'>Fehler bei Vorg&auml;nger-FS.</p>";
+		if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlv."<br>$1='".$fsk."'</p>";}
+	}
+	$zv=0;
+	while($rowv = pg_fetch_array($resv)) {
+		$ftyp=$rowv["ftyp"];
+		$gmlv=$rowv["gml_id"];
+		$vfsk=$rowv["flurstueckskennzeichen"];
+		echo "Flurst&uuml;ck <a title='Historie des Vorg&auml;ngerflurst&uuml;cks' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;fskennz=".$vfsk."&amp;gmlid=".$gmlv;
+	   	if ($idanzeige) {echo "&amp;id=j";}
+			if ($showkey)   {echo "&amp;showkey=j";}
+		echo "'>".fzerleg($vfsk)."</a><br>";
+		$zv++;
+	}
+	if ($zv == 0) {echo "(keine)";}
+	return;
+}
+
+session_start();
+//import_request_variables("G"); // php 5.3 deprecated, php 5.4 entfernt
+$cntget = extract($_GET);
+require_once("alkis_conf_location.php");
+if ($auth == "mapbender") {require_once($mapbender);}
+include("alkisfkt.php");
+if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;}
+$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
+if ($keys == "j") {$showkey=true;} else {$showkey=false;}
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="author" content="b600352" >
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<title>ALKIS Flurst&uuml;cks-Historie</title>
+	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck_Historisch.ico">
+	<style type='text/css' media='print'>
+		.noprint {visibility: hidden;}
+	</style>
+</head>
+<body>
+<?php
+$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
+// if ($debug > 1) {echo "<p class='err'>DB=".$dbname.", user=".$dbuser."</p>";}
+
+// Such-Parameter bekommen? Welche?
+if ($gmlid != "") { // Ja, die GML wurde uebergeben
+	$parmtyp="GML";
+	$parmval=$gmlid;
+	$whereclause="WHERE gml_id= $1 ";
+	$v = array($gmlid);
+} else {	// Alternativ: das FlurstÃÂŒcks-Kennzeichen wurde ÃÂŒbergeben
+	if ($fskennz != "") {
+		$parmtyp="Flurst&uuml;ckskennzeichen";
+		$parmval=$fskennz;
+		$whereclause="WHERE flurstueckskennzeichen= $1 "; // hinten auffuellen mit _ auf 20 Stellen
+		$v = array($fskennz);
+	} else { // Pfui!
+		$parmtyp="";
+		echo "<p class='err'>Parameter 'gmlid' oder 'fskennz' fehlt.</p>";
+	}
+}
+
+if ($parmtyp != "") { // einer der beiden erlaubten FÃ€lle
+	// UNION-Abfrage auf 3Ã€hnliche Tabellen, darin aber immer nur 1 Treffer.
+
+	$felder="gml_id, flurnummer, zaehler, nenner, flurstueckskennzeichen, amtlicheflaeche, zeitpunktderentstehung, gemarkungsnummer, ";
+
+	$sqlu ="SELECT 'a' AS ftyp, ".$felder."null AS nach, null AS vor, null AS \"name\" ";
+	$sqlu.="FROM ax_flurstueck f ".$whereclause;
+	$sqlu.="UNION ";
+	$sqlu.="SELECT 'h' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name ";
+	$sqlu.="FROM ax_historischesflurstueck h ".$whereclause;
+	$sqlu.="UNION ";
+	$sqlu.="SELECT 'o' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name ";
+	$sqlu.="FROM ax_historischesflurstueckohneraumbezug o ".$whereclause;
+	
+	$resu = pg_prepare("", $sqlu);
+	$resu = pg_execute("", $v);
+	if ($rowu = pg_fetch_array($resu)) {
+		$ftyp=$rowu["ftyp"];
+		$gmkgnr=$rowu["gemarkungsnummer"];
+		$flurnummer=$rowu["flurnummer"];
+		$zaehler=$rowu["zaehler"];
+		$nenner=$rowu["nenner"];
+		$flstnummer=$zaehler;
+		if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr
+		$fskenn=$rowu["flurstueckskennzeichen"];
+		$flae=number_format($rowu["amtlicheflaeche"],0,",",".") . " m&#178;";
+		$name=$rowu["name"]; // in DB ein Array
+	//	$arrn=split(",", trim($name, "{}") ); // split ist deprecated!
+		$arrn=explode(",", trim($name, "{}") ); // PHP-Array 
+		$gemkname= gemkg_name($gmkgnr);
+		$entsteh=$rowu["zeitpunktderentstehung"];
+		$vor=$rowu["vor"];
+		$nach=$rowu["nach"];
+		if ($gmlid == "") {$gmlid=$rowu["gml_id"];} // fÃÂŒr selbst-link-Umschalter ueber footer
+	} else {
+		if ($debug > 1) {echo "<br><p class='err'>Fehler! Kein Treffer f&uuml;r ".$parmtyp." = '".$parmval."'</p><br>";}
+		if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlu."<br>$1=".$parmtyp." = '".$parmval."'</p>";}
+	}
+}
+
+switch ($ftyp) { // Unterschiede Historisch/Aktuell
+	case 'a': 
+		$wert = "aktuell";
+		$ico= "Flurstueck.ico";
+		$cls= "kennzfs";	
+	break;
+	case 'h': 
+		$wert = "historisch<br>(mit Raumbezug)";
+		$ico= "Flurstueck_Historisch.ico"; //
+		$cls= "kennzfsh";
+	break;
+	case 'o': 
+		$wert = "historisch<br>ohne Raumbezug";
+		$ico= "Flurstueck_Historisch_oR.ico";
+		$cls= "kennzfsh";
+	break;
+	default:
+		$wert = "<b>nicht gefunden: ".$parmtyp." = '".$parmval."'</b>";
+		$ico= "Flurstueck_Historisch.ico";
+		$cls= "kennzfsh";
+	break;
+}
+
+// Balken
+echo "<p class='fshis'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
+echo "\n<h2><img src='ico/".$ico."' width='16' height='16' alt=''> Flurst&uuml;ck Historie</h2>\n";
+
+echo "\n<table class='outer'>\n<tr>\n\t<td>"; // linke Seite
+	// darin Tabelle Kennzeichen
+	echo "\n\t<table class='".$cls."' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
+		echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>";
+		echo "\n\t<tr>\n\t\t<td title='Gemarkung'>";
+		if ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";}
+		echo $gemkname."&nbsp;</td>";
+		echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
+		echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>";
+	echo "\n\t</table>";
+echo "\n\t</td>\n\t<td>"; // rechte Seite
+	// FS-Daten 2 Spalten
+	echo "\n\t<table class='fsd'>";
+		echo "\n\t<tr>\n\t\t<td>Entstehung</td>";
+			echo "\n\t\t<td>".$entsteh."</td>";
+		echo "\n\t</tr>";
+		echo "\n\t<tr>";
+			echo "\n\t\t<td>letz. Fortf</td>";
+			echo "\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>";
+				foreach($arrn AS $val) { // Zeile f. jedes Element
+					echo trim($val, '"')."<br>";
+				}
+			echo "</td>";
+		echo "\n\t</tr>";
+	echo "\n\t</table>";
+	if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
+echo "\n\t</td>\n</tr>\n</table>";
+
+if ($ftyp == "a") { // Aktuell -> Historie
+	echo "\n<p class='nwlink noprint'>weitere Auskunft: ";
+		echo "<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=n";
+			if ($idanzeige) {echo "&amp;id=j";}
+			if ($showkey)   {echo "&amp;showkey=j";}
+			echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck ";
+			echo "<img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''>";
+		echo "</a>";
+}
+echo "\n<hr>";
+
+echo "<table class='outer'>";
+	echo "\n<tr>
+		<td class='head'>Flurst&uuml;ck</td>
+		<td class='head'>Vorg&auml;nger</td>
+		<td class='head'>Nachfolger</td>
+	</tr>"; // Head
+	
+	// Spalte 1: F l u r s t ÃÂŒ c k
+	echo "\n<tr>\n\t<td>";
+		echo "<img src='ico/".$ico."' width='16' height='16' alt=''> ".$wert;
+		echo "<br>Fl&auml;che <span class='flae'>".$flae."</span>";
+	echo "</td>";
+
+	// Spalte 2: V o r g ÃÂ€ n g e r
+	echo "\n\t<td>";
+	switch ($ftyp) { // Unterschiede Historisch/Aktuell
+		case 'a':
+			such_vor_arr($fskenn);
+		break;
+		case 'h':
+			if ($vor == "") {
+				echo "Geometrische Suche<br>(noch nicht m&ouml;glich)";
+			} else {
+				vornach($vor);
+			}
+		break;
+		case 'o':
+			vornach($vor);
+		break;
+	}
+	echo"</td>";
+
+	// Spalte 3: N a c h f o l g e r
+	echo "\n\t<td>";
+		vornach($nach);
+	echo "</td>\n</tr>";
+echo "\n</table>";
+
+if ($debug > 1) {
+	$z=1;
+	while($rowu = pg_fetch_array($resu)) {
+		$ftyp=$rowu["ftyp"];
+		echo "<p class='dbg'>Mehr als EIN Eintrag gefunden: '".$ftyp."' (".$z.")</p>";
+		$z++;
+	}
+}
+?>
+
+<form action=''>
+	<div class='buttonbereich noprint'>
+	<hr>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken"></a>&nbsp;
+	</div>
+</form>
+
+<?php footer($gmlid, $_SERVER['PHP_SELF']."?", "&amp;eig=".$eig); ?>
+
+</body>
+</html>
Index: branches/0.7/info/info/alkis/alkishaus.php
===================================================================
--- branches/0.7/info/info/alkis/alkishaus.php	(revision 329)
+++ branches/0.7/info/info/alkis/alkishaus.php	(revision 329)
@@ -0,0 +1,384 @@
+<?php
+/*	alkishaus.php - Daten zum ALKIS-GebÃ€ude-Objekt
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+
+	Version:
+	2011-11-30 NEU! Variante von alkisgebaeudenw: Aufruf fÃŒr EIN Haus, nicht fÃŒr ein FS
+	2011-01-31 ax_gebaeude.weiteregebaeudefunktion ist jetzt Array
+	2013-04-08  deprecated "import_request_variables" ersetzt
+
+	ToDo:
+	- sinnvolle Sortierung und Gruppierung der Felder
+	- geometrische Suche nach FS, auf denen das Haus steht
+	- Template im WMS auf Ebene GebÃ€ude hierhin verknÃŒpfen.
+	- Auch diese Relationen abbilden:
+		ax_gebaeude >gehoertZu> ax_gebaeude  (ringfÃ¶rmige Verbindung GebÃ€udekomplex)
+		ax_gebaeude (umschliesst) ax_bauteil
+		ax_gebaeude >gehoert> ax_person  (Ausnahme)
+*/
+session_start();
+$cntget = extract($_GET);
+require_once("alkis_conf_location.php");
+if ($auth == "mapbender") {require_once($mapbender);}
+include("alkisfkt.php");
+if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;}
+$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
+if ($keys == "j") {$showkey=true;} else {$showkey=false;}
+if ($allfld == "j") {$allefelder=true;} else {$allefelder=false;}
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="author" content="b600352" >
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<title>ALKIS Daten zum Haus</title>
+	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Haus.ico">
+	<style type='text/css' media='print'>
+		.noprint {visibility: hidden;}
+	</style>
+</head>
+<body>
+<?php
+
+$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
+
+// // G e b a e u d e 
+$sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, g.anzahlderoberirdischengeschosse AS aog, g.anzahlderunterirdischengeschosse AS aug, ";
+$sqlg.="g.lagezurerdoberflaeche, g.dachgeschossausbau, g.zustand, g.weiteregebaeudefunktion, g.dachform, g.hochhaus, g.objekthoehe, g.geschossflaeche, g.grundflaeche, g.umbauterraum, g.baujahr, g.dachart, g.qualitaetsangaben, ";
+$sqlg.="h.bauweise_beschreibung, u.bezeichner AS bfunk, z.bezeichner AS bzustand, ";
+// "w.bezeichner AS bweitfunk, ";
+$sqlg.="d.bezeichner AS bdach, round(area(g.wkb_geometry)::numeric,2) AS gebflae ";
+$sqlg.="FROM ax_gebaeude g ";
+
+// Entschluesseln
+$sqlg.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise = h.bauweise_id ";
+$sqlg.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion = u.wert ";
+$sqlg.="LEFT JOIN ax_gebaeude_zustand z ON g.zustand = z.wert ";
+$sqlg.="LEFT JOIN ax_gebaeude_dachform d ON g.dachform = d.wert ";
+
+$sqlg.="WHERE g.gml_id= $1 "; // ID des Hauses
+
+$v = array($gmlid);
+$resg = pg_prepare("", $sqlg);
+$resg = pg_execute("", $v);
+if (!$resg) {
+	echo "\n<p class='err'>Fehler bei Geb&auml;ude.<br>".pg_last_error()."</p>\n";
+	if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlg."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+
+// Balken
+echo "<p class='geb'>ALKIS Haus ".$gmlid."&nbsp;</p>\n"; // +++ Kennzeichen = ?
+
+echo "\n<h2><img src='ico/Haus.ico' width='16' height='16' alt=''> Haus (Geb&auml;ude)</h2>\n";
+
+// Kennzeichen in Rahmen 
+// - Welches Kennzeichen zum Haus ?
+if ($idanzeige) {linkgml($gkz, $gmlid, "Haus"); }
+echo "\n<hr>";
+// Umschalter: auch leere Felder ausgeben?
+echo "<p class='nwlink noprint'>";
+echo "<a class='nwlink' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;gmlid=".$gmlid;
+	if ($showkey) {echo "&amp;showkey=j";} else {echo "&amp;showkey=n";}
+	if ($idanzeige) {echo "&amp;id=j";} else {echo "&amp;id=n";}
+	if ($allefelder) {echo "&amp;allfld=n'>nur Felder mit Inhalt";} 
+	else {echo "&amp;allfld=j'>auch leere Felder";}
+echo "</a></p>";
+
+while($rowg = pg_fetch_array($resg)) { // Als Schleife, kann aber nur EIN Haus sein.
+	$gebnr++;
+	echo "\n<table class='geb'>";
+	echo "\n<tr>\n";
+		echo "\n\t<td class='head' title=''>Attribut</td>";
+		echo "\n\t<td class='head' title=''>Wert</td>";
+	echo "\n</tr>";
+
+	$aog=$rowg["aog"];
+	$aug=$rowg["aug"];
+	$hoh=$rowg["hochhaus"];
+	$nam=$rowg["name"]; // Gebaeude-Name
+	$bfunk=$rowg["bfunk"];
+	$baw=$rowg["bauweise"];
+	$bbauw=$rowg["bauweise_beschreibung"];
+	$ofl=$rowg["lagezurerdoberflaeche"];
+	$dga=$rowg["dachgeschossausbau"];
+	$zus=$rowg["zustand"];
+	$zustand=$rowg["bzustand"];
+	$wgf=$rowg["weiteregebaeudefunktion"];
+	$daf=$rowg["dachform"];
+	$dach=$rowg["bdach"];
+	$hho=$rowg["objekthoehe"];
+	$gfl=$rowg["geschossflaeche"];
+	$grf=$rowg["grundflaeche"];
+	$ura=$rowg["umbauterraum"];
+	$bja=$rowg["baujahr"];
+	$daa=$rowg["dachart"];
+	$qag=$rowg["qualitaetsangaben"];
+
+	if (($nam != "") OR $allefelder) {
+		echo "\n<tr>";
+			echo "\n\t<td title='\"Name\" ist der Eigenname oder die Bezeichnung des Geb&auml;udes.'>Name</td>";
+			echo "\n\t<td>";
+			echo $nam."</td>";
+		echo "\n</tr>";
+	}
+
+	// 0 bis N Lagebezeichnungen mit Haus- oder Pseudo-Nummer
+	// HAUPTgebÃ€ude
+	$sqll ="SELECT 'm' AS ltyp, v.beziehung_zu, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer ";
+	$sqll.="FROM alkis_beziehungen v "; 
+	$sqll.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id ";
+	$sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage ";
+	$sqll.="WHERE v.beziehungsart = 'zeigtAuf' AND v.beziehung_von = $1 ";
+	$sqll.="UNION ";
+	// oder NEBENgebÃ€ude
+	$sqll.="SELECT 'p' AS ltyp, v.beziehung_zu, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer ";
+	$sqll.="FROM alkis_beziehungen v "; 
+	$sqll.="JOIN ax_lagebezeichnungmitpseudonummer l ON v.beziehung_zu=l.gml_id ";
+	$sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage ";
+	$sqll.="WHERE v.beziehungsart = 'hat' AND v.beziehung_von = $1 "; // ID des Hauses"
+
+	$sqll.="ORDER BY bezeichnung, hausnummer ";
+
+	$v = array($gmlid);
+	$resl = pg_prepare("", $sqll);
+	$resl = pg_execute("", $v);
+	if (!$resl) {
+		echo "\n<p class='err'>Fehler bei Lage mit HsNr.</p>\n";
+		if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqll."<br>$1 = gml_id = '".$gmlid."'</p>";}
+	}
+	$zhsnr=0;
+	while($rowl = pg_fetch_array($resl)) { // LOOP: Lagezeilen
+		$zhsnr++;
+		$ltyp=$rowl["ltyp"]; // Lagezeilen-Typ
+		$skey=$rowl["lage"]; // Str.-Schluessel
+		$snam=htmlentities($rowl["bezeichnung"], ENT_QUOTES, "UTF-8"); // -Name
+		$hsnr=$rowl["hausnummer"];
+		$hlfd=$rowl["laufendenummer"];
+		$gmllag=$rowl["beziehung_zu"];
+
+			if ($zhsnr == 1) {
+				echo "\n<tr>\n\t<td title='Lage mit Hausnummer oder Pseudonummer'>Adresse</td>";
+				echo "\n\t<td>";
+			}
+			echo "\n\t\t<img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''>&nbsp;";
+			if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";}			
+			echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp;
+				if ($idanzeige) {echo "&amp;id=j";}
+			echo "'>";
+				echo $snam."&nbsp;".$hsnr;
+				if ($ltyp == "p") { echo ", lfd.Nr ".$hlfd;}
+			echo "</a>";
+			if ($idanzeige) {linkgml($gkz, $gmllag, "Lage"); }
+			echo "<br>";
+	} // Ende Loop Lagezeilen m.H.
+
+	if ($zhsnr > 0) {
+		echo "\n\t</td>\n</tr>";
+	}
+
+		echo "\n<tr>";
+			echo "\n\t<td title='\"Geb&auml;udefunktion\" ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Geb&auml;udes'>Funktion</td>";
+			echo "\n\t<td>";
+			if ($showkey) {echo "<span class='key'>".$rowg["gebaeudefunktion"]."</span>&nbsp;";}
+			echo $bfunk."</td>";
+		echo "\n</tr>";
+
+	if ($baw != "" OR $allefelder) {
+		echo "\n<tr>";
+			echo "\n\t<td title='\"Bauweise\" ist die Beschreibung der Art der Bauweise.'>Bauweise</td>";
+			echo "\n\t<td>";
+			if ($showkey) {echo "<span class='key'>".$baw."</span>&nbsp;";}
+			echo $bbauw."</td>";
+		echo "\n</tr>";
+	}
+
+	if ($aog != "" OR $allefelder) {
+		echo "\n<tr>";
+			echo "\n\t<td title='Anzahl oberirdischer Geschosse'>Geschosse</td>";
+			echo "\n\t<td>".$aog."</td>";
+		echo "\n</tr>";
+	}
+
+	if ($aug != "" OR $allefelder) {
+		echo "\n<tr>";
+			echo "\n\t<td title='Anzahl unterirdischer Geschosse'>U-Geschosse</td>";
+			echo "\n\t<td>".$aug."</td>";
+		echo "\n</tr>";
+	}
+
+	if ($hoh != "" OR $allefelder) {
+		echo "\n<tr>";
+			echo "\n\t<td title='\"Hochhaus\" ist ein Geb&auml;ude, das nach Geb&auml;udeh&ouml;he und Auspr&auml;gung als Hochhaus zu bezeichnen ist. F&uuml;r Geb&auml;ude im Geschossbau gilt dieses i.d.R. ab 8 oberirdischen Geschossen, f&uuml;r andere Geb&auml;ude ab einer Geb&auml;udeh&ouml;he von 22 m.'>Hochhaus</td>";
+			echo "\n\t<td>".$hoh."</td>";
+		echo "\n</tr>";
+	}
+
+	if ($ofl != "" OR $allefelder) {
+		echo "\n<tr>";
+			echo "\n\t<td title='\"Lage zur Erdoberfl&auml;che\" ist die Angabe der relativen Lage des Geb&auml;udes zur Erdoberfl&auml;che. Diese Attributart wird nur bei nicht ebenerdigen Geb&auml;uden gef&uuml;hrt.'>Lage zur Erdoberfl&auml;che</td>";
+			echo "\n\t<td>";
+			if ($showkey) {echo "<span class='key'>".$ofl."</span>&nbsp;";}
+			switch ($ofl) {
+				case 1200: echo "Unter der Erdoberfl&auml;che"; break;
+				// "Unter der Erdoberfl&auml;che" bedeutet, dass sich das Geb&auml;ude unter der Erdoberfl&auml;che befindet
+				case 1400: echo "Aufgest&auml;ndert"; break;
+				// "Aufgest&auml;ndert" bedeutet, dass ein Geb&auml;ude auf St&uuml;tzen steht
+				case "": echo "&nbsp;"; break;
+				default: echo "** Unbekannte Lage zur Erdoberfl&auml;che '".$ofl."' **"; break;
+			}
+			echo "&nbsp;</td>";
+		echo "\n</tr>";
+	}
+
+	if ($dga != "" OR $allefelder) { // keine Schluesseltabelle in DB
+		echo "\n<tr>";
+			echo "\n\t<td title='\"Dachgeschossausbau\" ist ein Hinweis auf den Ausbau bzw. die Ausbauf&auml;higkeit des Dachgeschosses.'>Dachgeschossausbau</td>";
+			echo "\n\t<td>";
+			if ($showkey) {echo "<span class='key'>".$dga."</span>&nbsp;";}
+			switch ($dga) {
+				case 1000: echo "Nicht ausbauf&auml;hig"; break;
+				case 2000: echo "Ausbauf&auml;hig"; break;
+				case 3000: echo "Ausgebaut"; break;
+				case 4000: echo "Ausbauf&auml;higkeit unklar"; break;
+				case "": echo "&nbsp;"; break;
+				default: echo "** Unbekannter Wert Dachgeschossausbau '".$dga."' **"; break;
+			}
+			echo "</td>";
+		echo "\n</tr>";
+	}
+
+	if ($zus != "" OR $allefelder) {
+		echo "\n<tr>";
+			echo "\n\t<td title='\"Zustand\" beschreibt die Beschaffenheit oder die Betriebsbereitschaft von \"Geb&auml;ude\". Diese Attributart wird nur dann optional gef&uuml;hrt, wenn der Zustand des Geb&auml;udes vom nutzungsf&auml;higen Zustand abweicht.'>Zustand</td>";
+			echo "\n\t<td>";
+			if ($showkey) {echo "<span class='key'>".$zus."</span>&nbsp;";}
+			echo $zustand."</td>";
+		echo "\n</tr>";
+	}
+
+	if ($wgf != "" OR $allefelder) {
+		echo "\n<tr>";
+			echo "\n\t<td title='\"Weitere Geb&auml;udefunktion\" ist die Funktion, die ein Geb&auml;ude neben der dominierenden Geb&auml;udefunktion hat.'>Weitere Geb&auml;udefunktionen</td>";
+			echo "\n\t<td>";
+
+			if ($wgf != "") {
+				// weiteregebaeudefunktion ist jetzt ein Array
+				$wgflist=trim($wgf, "{}"); // kommagetrennte(?) Liste der Schluesselwerte
+				//$wgfarr=explode(",", $wgflist);
+				//for each ...
+				$sqlw="SELECT wert, bezeichner FROM ax_gebaeude_weiterefunktion WHERE wert in ( $1 ) ORDER BY wert;";
+				$v = array($wgflist);
+				$resw = pg_prepare("", $sqlw);
+				$resw = pg_execute("", $v);
+				if (!$resw) {
+					echo "\n<p class='err'>Fehler bei Geb&auml;ude - weitere Funktion.</p>\n";
+					if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgflist."'</p>";}
+				}
+				$zw=0;
+				while($roww = pg_fetch_array($resw)) { // LOOP: w.Funktion
+					$wwert=$roww["wert"];
+					$wbez=$roww["bezeichner"];
+					if ($zw > 0) {echo ", ";} // Liste oder Zeile? echo "<br>"; 
+					if ($showkey) {echo "<span class='key'>".$wwert."</span>&nbsp;";}
+					echo $wbez;
+					$zw++;
+			   }
+			}
+			echo "</td>";
+		echo "\n</tr>";
+	}
+
+	if ($daf != "" OR $allefelder) {
+		echo "\n<tr>";
+			echo "\n\t<td title='\"Dachform\" beschreibt die charakteristische Form des Daches.'>Dachform</td>";
+			echo "\n\t<td>";
+			if ($showkey) {echo "<span class='key'>".$daf."</span>&nbsp;";}
+			echo $dach."</td>";
+		echo "\n</tr>";
+	}
+
+	if ($hho != "" OR $allefelder) {
+		echo "\n<tr>";
+			echo "\n\t<td title='\"Objekth&ouml;he\" ist die H&ouml;hendifferenz in [m] zwischen dem h&ouml;chsten Punkt der Dachkonstruktion und der festgelegten Gel&auml;ndeoberfl&auml;che des Geb&auml;udes.'>Objekth&ouml;he</td>";
+			echo "\n\t<td>";
+			echo $hho."</td>";
+		echo "\n</tr>";
+	}
+
+	if ($gfl != "" OR $allefelder) {
+		echo "\n<tr>";
+			echo "\n\t<td title='\"Geschossfl&auml;che\" ist die Geb&auml;udegeschossfl&auml;che in [qm].'>Geschossfl&auml;che</td>";
+			echo "\n\t<td>";
+			if ($gfl != "") {
+				echo $gfl." m&#178;";
+			}
+			echo "</td>";
+		echo "\n</tr>";
+	}
+
+	if ($grf != "" OR $allefelder) {
+		echo "\n<tr>";
+			echo "\n\t<td title='\"Grundfl&auml;che\" ist die Geb&auml;udegrundfl&auml;che in [qm].'>Grundfl&auml;che</td>";
+			echo "\n\t<td>";
+			if ($grf != "") {
+				echo $grf." m&#178;";
+			}
+		echo "\n</tr>";
+	}
+
+	if ($ura != "" OR $allefelder) {
+		echo "\n<tr>";
+			echo "\n\t<td title='\"Umbauter Raum\" ist der umbaute Raum [Kubikmeter] des Geb&auml;udes.'>Umbauter Raum</td>";
+			echo "\n\t<td>";
+			echo $ura."</td>";
+		echo "\n</tr>";
+	}
+
+	if ($bja != "" OR $allefelder) {
+		echo "\n<tr>";
+			echo "\n\t<td title='\"Baujahr\" ist das Jahr der Fertigstellung oder der baulichen Ver&auml;nderung des Geb&auml;udes.'>Baujahr</td>";
+			echo "\n\t<td>";
+			echo $bja."</td>";
+		echo "\n</tr>";
+	}
+
+	if ($daa != "" OR $allefelder) {
+		echo "\n<tr>";
+			echo "\n\t<td title='\"Dachart\" gibt die Art der Dacheindeckung (z.B. Reetdach) an.'>Dachart</td>";
+			echo "\n\t<td>";
+			echo $daa."</td>";
+		echo "\n</tr>";
+	}
+
+	if ($qag != "" OR $allefelder) {
+		echo "\n<tr>";
+			echo "\n\t<td title='Angaben zur Herkunft der Informationen (Erhebungsstelle). Die Information ist konform zu den Vorgaben aus ISO 19115 zu repr&auml;sentieren.'>Qualit&auml;tsangaben</td>";
+			echo "\n\t<td>";
+			echo $qag."</td>";
+		echo "\n</tr>";
+	}
+
+	echo "\n</table>";
+}
+if ($gebnr == 0) {echo "<p class='err'><br>Kein Geb&auml;ude gefunden<br>&nbsp;</p>";}
+// ++ ToDo: Verschnitt mit FS
+
+?>
+
+<form action=''>
+	<div class='buttonbereich noprint'>
+	<hr>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken"></a>&nbsp;
+	</div>
+</form>
+
+<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?>
+
+</body>
+</html>
Index: branches/0.7/info/info/alkis/alkisinlayausk.php
===================================================================
--- branches/0.7/info/info/alkis/alkisinlayausk.php	(revision 329)
+++ branches/0.7/info/info/alkis/alkisinlayausk.php	(revision 329)
@@ -0,0 +1,265 @@
+<?php
+/*	alkisinlayausk.php
+
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+	Dies Programm wird in einen iFrame im Mapserver-Template (FeatureInfo) geladen.
+	Parameter: &gkz, &gml_id
+	Dies Programm gibt einen kurzen Ueberblick zum Flurstueck.
+	Eigentuemer ohne Adresse.
+	Fuer detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt.
+	Dies ist eine Variante von alkisausk.php welches als vollstaendige Seite aufgerufen wird.
+
+	Version:
+	2011-11-17 Link FS-Historie, Parameter der Functions geÃ€ndert
+	2011-11-30 import_request_variables, $dbvers PostNAS 0.5 entfernt
+	2011-12-14 "window.open(..,width=680)"
+	2013-04-08 deprecated "import_request_variables" ersetzt
+	2013-05-06 Fehlende Leerstelle
+	2014-01-28 Link zu alkisstrasse.php
+	2014-02-06 pg_free_result
+*/
+session_start();
+$cntget = extract($_GET);
+require_once("alkis_conf_location.php");
+if ($auth == "mapbender") {require_once($mapbender);}
+include("alkisfkt.php");
+$gmlid = isset($_GET["gmlid"]) ? $_GET["gmlid"] : 0;
+echo <<<END
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="author" content="b600352" >
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico">
+	<title>ALKIS-Auskunft</title>
+	<script type="text/javascript">
+	function imFenster(dieURL) {
+		var link = encodeURI(dieURL);
+		window.open(link,'','left=10,top=10,width=680,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes');
+	}
+	</script>
+</head>
+<body>
+END;
+$con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) {echo "<br>Fehler beim Verbinden der DB.\n<br>";}
+
+// *** F L U R S T U E C K ***
+$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung ";
+$sql.="FROM ax_flurstueck f LEFT JOIN ax_gemarkung  g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
+$sql.="WHERE f.gml_id= $1 ;";
+// Weiter joinen: g.stelle -> ax_dienststelle "Katasteramt"
+$v = array($gmlid);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+if (!$res) {
+	echo "\n<p class='err'>Fehler bei Flurstuecksdaten.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+
+if ($row = pg_fetch_array($res)) {
+	$gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
+	$gmkgnr=$row["gemarkungsnummer"];
+	$flurnummer=$row["flurnummer"];
+	$flstnummer=$row["zaehler"];
+	$nenner=$row["nenner"];
+	if ($nenner > 0) $flstnummer.="/".$nenner; // BruchNr
+	$flae=$row["amtlicheflaeche"];
+	$flae=number_format($flae,0,",",".") . " m&#178;";
+} else {
+	echo "<p class='err'>Kein Treffer fuer gml_id=".$gmlid."</p>";
+}
+
+echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck - &Uuml;bersicht</h2>";
+
+echo "\n<table class='outer'>\n<tr>\n<td>";
+	echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
+	echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>";
+	echo "\n\t<tr>\n\t\t<td title='Gemarkung'>".$gemkname."</td>";
+	echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
+	echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>";
+	echo "\n\t</table>";
+echo "\n</td>\n<td>";
+echo "\n\t<p class='nwlink'>weitere Auskunft:<br>";
+
+// Flurstuecksnachweis (mit EigentÃŒmer)
+echo "\n\t\t<a href='javascript:imFenster(\"alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j\")' ";
+	echo "title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck&nbsp;";
+	echo "<img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''>";
+echo "</a><br>";
+
+// FS-Historie
+echo "\n\t\t<a href='javascript:imFenster(\"alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' ";
+	echo "title='Vorg&auml;nger des Flurst&uuml;cks'>Historie&nbsp;";
+	echo "<img src='ico/Flurstueck_Historisch.ico' width='16' height='16' alt=''>";
+echo "</a><br>";
+
+// Gebaeude-NW zum FS
+echo "\n\t\t<a href='javascript:imFenster(\"alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' ";
+	echo "title='Geb&auml;udenachweis'>Geb&auml;ude&nbsp;";
+	echo "<img src='ico/Haus.ico' width='16' height='16' alt=''>";
+echo "</a>";
+
+echo "\n\t</p>\n</td>";
+pg_free_result($res);
+
+// Lage MIT HausNr (Adresse)
+$sql ="SELECT DISTINCT s.gml_id AS kgml, l.gml_id, s.bezeichnung, l.hausnummer ";
+$sql.="FROM alkis_beziehungen v JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN
+$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage ";
+$sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart='weistAuf' "; // id FS";
+$sql.="ORDER BY s.bezeichnung, l.hausnummer;";
+$v=array($gmlid);
+$res=pg_prepare("", $sql);
+$res=pg_execute("", $v);
+if (!$res) {
+	echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer.</p>";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+$j=0;
+$kgmlalt='';
+while($row = pg_fetch_array($res)) {
+	$sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
+	echo "\n<tr>\n\t\n\t<td class='lr'>".$sname."&nbsp;".$row["hausnummer"]."</td>";
+	echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
+	$kgml=$row["kgml"]; // Wiederholung vermeiden
+	if ($kgml != $kgmlalt) { // NEUE Strasse vor Lage
+		$kgmlalt=$kgml; // Katalog GML-ID
+		echo "\n\t\t\t<a title='Flurst&uuml;cke an der Stra&szlig;e' ";
+		echo "href='javascript:imFenster(\"alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$row["kgml"]."\")'>Stra&szlig;e ";
+		echo "<img src='ico/Strassen.ico' width='16' height='16' alt='STRA'></a>";
+	}
+		echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' ";
+		echo "href='javascript:imFenster(\"alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."\")'>Lage ";
+		echo "<img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt='HAUS'></a>&nbsp;";
+	echo "\n\t\t</p>\n\t</td>\n</tr>";
+	$j++;
+}
+pg_free_result($res);
+if ($j == 0) { // keine HsNr gefunden
+	// Lage OHNE HausNr
+	$sql ="SELECT DISTINCT s.gml_id AS kgml, l.gml_id, s.bezeichnung, l.unverschluesselt ";
+	$sql.="FROM alkis_beziehungen v JOIN ax_lagebezeichnungohnehausnummer l ON v.beziehung_zu=l.gml_id ";
+	$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage ";
+	$sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart='zeigtAuf' ORDER BY s.bezeichnung ;";
+	$v=array($gmlid);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {
+		echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer.</p>";
+		if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+	}
+	while($row = pg_fetch_array($res)) {
+		$sname =htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
+		$gewann=htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8");
+		echo "\n<tr>";
+		if ($sname != "") { // Typ=Strasse
+			echo "\n\t<td class='lr' title='An Stra&szlig;e aber ohne Hausnummer'>".$sname."&nbsp;</td>";
+			$ico="Lage_an_Strasse.ico";
+		} else {
+			echo "\n\t<td class='lr' title='Gewanne'>".$gewann."&nbsp;</td>";
+			$ico="Lage_Gewanne.ico";
+		}
+		echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
+		$kgml=$row["kgml"]; // Wiederholung vermeiden
+		if ($kgml != $kgmlalt) { // NEUE Strasse vor Lage-O
+			$kgmlalt=$kgml; // Katalog GML-ID
+			echo "\n\t\t\t<a title='Flurst&uuml;cke an der Stra&szlig;e' ";
+			echo "href='javascript:imFenster(\"alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$row["kgml"]."\")'>Stra&szlig;e ";
+			echo "<img src='ico/Strassen.ico' width='16' height='16' alt='STRA'></a>";
+		}
+		echo "\n\t\t\t<a title='Lagebezeichnung ohne Hausnummer' ";
+		echo "href='javascript:imFenster(\"alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$row["gml_id"]."\")'>Lage ";
+		echo "<img src='ico/".$ico."' width='16' height='16' alt='OHNE'></a>&nbsp;";
+		echo "\n\t\t</p>\n\t</td>\n</tr>";
+	}
+	pg_free_result($res);
+}
+echo "\n</table>\n";
+
+// Flurstuecksflaeche
+echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che: <b>".$flae."</b></p>\n";
+
+// *** G R U N D B U C H ***
+echo "\n<h2><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundbuch</h2>";
+// ALKIS: FS --> bfs --> GS --> bsb --> GB.
+$sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
+$sql.="s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, a.bezeichner AS bart ";
+$sql.="FROM alkis_beziehungen bfs JOIN ax_buchungsstelle s ON bfs.beziehung_zu=s.gml_id ";
+$sql.="JOIN alkis_beziehungen bsb ON s.gml_id=bsb.beziehung_von "; // Bez.Stelle-Blatt
+$sql.="JOIN ax_buchungsblatt b ON bsb.beziehung_zu=b.gml_id ";
+$sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";
+$sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert ";
+$sql.="WHERE bfs.beziehung_von= $1 AND bfs.beziehungsart='istGebucht' AND bsb.beziehungsart='istBestandteilVon' ";
+$sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;";
+$v=array($gmlid);
+$resg=pg_prepare("", $sql);
+$resg=pg_execute("", $v);
+if (!$resg) {
+	echo "\n<p class='err'>Keine Buchungen.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+while($rowg = pg_fetch_array($resg)) {
+	$beznam=$rowg["bezeichnung"];
+	echo "\n<hr>\n<table class='outer'>\n<tr>\n<td>";
+		$blattkey=$rowg["blattart"];
+		$blattart=blattart($blattkey);
+		if ($blattkey == 1000) {
+			echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
+		} else {
+			echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
+		}
+			echo "\n\t<tr>";
+				echo "\n\t\t<td class='head'>Bezirk</td>";
+				echo "\n\t\t<td class='head'>".$blattart."</td>";
+				echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
+				echo "\n\t\t<td class='head'>Buchungsart</td>";
+			echo "\n\t</tr>";
+			echo "\n\t<tr>";
+				echo "\n\t\t<td title='Grundbuchbezirk'>";
+				echo $beznam."</td>";
+				echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>";
+				echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowg["laufendenummer"]."</td>";
+				echo "\n\t\t<td title='Buchungsart'>".$rowg["bart"]."</td>";
+			echo "\n\t</tr>";
+		echo "\n\t</table>";
+
+		if ($rowg["zahler"] <> "") {
+			echo "\n<p class='ant'>".$rowg["zahler"]."/".$rowg["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
+		}
+		echo "\n</td>\n<td>";
+		echo "\n\t<p class='nwlink'>weitere Auskunft:<br>";
+			echo "\n\t\t<a href='javascript:imFenster(\"alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0]."\")' ";
+				echo "title='Grundbuchnachweis'>";
+				echo $blattart;
+				echo " <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''>";
+			echo "</a>";
+		echo "\n\t</p>";
+	echo "\n</td>\n</tr>\n</table>";
+
+	// E I G E N T U E M E R
+	if ($blattkey == 5000) { // Schluessel Blattart
+		echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n";
+		echo "\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>\n";
+	} else {// kein Eigent. bei fiktiv. Blatt
+		echo "\n<hr>\n\n<h3><img src='ico/Eigentuemer_2.ico' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n";
+
+		// Ausgabe Name in Function
+		$n = eigentuemer($con, $rowg["gml_id"], false, "imFenster"); // ohne Adressen
+
+		if ($n == 0) { // keine NamensNr, kein Eigentuemer
+			echo "\n<p class='err'>Keine Eigent&uuml;mer gefunden.</p>";
+			echo "\n<p class='err'>Bezirk ".$rowg["bezirk"]." Blatt ".$rowg["blatt"]." Blattart ".$blattkey." (".$blattart.")</p>";
+			linkgml($gkz, $gmlid, "Buchungsblatt");
+		}
+	}
+}
+pg_free_result($resg);
+
+?>
+</body>
+</html>
Index: branches/0.7/info/info/alkis/alkisrelationen.php
===================================================================
--- branches/0.7/info/info/alkis/alkisrelationen.php	(revision 329)
+++ branches/0.7/info/info/alkis/alkisrelationen.php	(revision 329)
@@ -0,0 +1,96 @@
+<?php
+/*	Modul: alkisrelationen.php
+
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+	Verfolgt die Beziehungen von ALKIS-Objekten in der Tabelle 'alkis_beziehungen'.
+	Link durch "&id=j;" in den anderen Modulen zuschaltbar.
+	Dies ist fuer die Entwicklung der Auskunft gedacht (Sonderfaelle) nicht fuer den Anwender.
+
+	Version:
+	2011-11-10  Relationen-ZÃ€hler ausgeben, ab 5 Zeilen nicht mehr 'auf einen Blick' erkennbar.
+	2011-11-30  import_request_variables
+	2013-04-08  deprecated "import_request_variables" ersetzt
+*/
+session_start();
+$cntget = extract($_GET);
+require_once("alkis_conf_location.php");
+if ($auth == "mapbender") {require_once($mapbender);}
+$otyp=htmlentities($otyp, ENT_QUOTES, "UTF-8");
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="author" content="b600352" >
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Beziehung.ico">
+	<title>ALKIS-Relationen-Browser</title>
+</head>
+<body>
+<?php
+$con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+echo "\n<p class='bezieh'>Beziehungen ".$gmlid."</p>"; // Balken
+
+echo "\n\n<h2><img src='ico/Beziehung.ico' width='16' height='16' alt=''> Beziehungen</h2>";
+if (!$con) {
+	echo "\n<p class='err'>Fehler beim Verbinden der DB.</p>";
+} else {
+	echo "\n\n<h3 title='Die gml_is ist global eindeutig'>ALKIS-".$otyp." mit gml_id = '".$gmlid."'</h3>";
+	$sql="SELECT beziehungsart, beziehung_zu FROM alkis_beziehungen WHERE beziehung_von= $1;";
+	$v = array($gmlid);
+	$res = pg_prepare("", $sql);
+	$res = pg_execute("", $v);
+
+	echo "\n<table>";
+	if (!$res) {
+		echo "\n<tr>\n\t<td colspan=3><b>Keine</b> Beziehungen vom Objekt</td>\n</tr>";
+	} else {
+		echo "\n<tr>\n\t<td class='head' colspan=3><br>Beziehungen <b>vom</b> Objekt zu ..</td>\n</tr>";
+		$i=0;
+		while($row = pg_fetch_array($res)) {
+			echo "\n<tr>\n\t<td>".$otyp."</td>";
+			echo "\n\t<td class='bez'>".$row["beziehungsart"]."</td>";
+			echo "\n\t<td>\n\t\t<a href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;gmlid=".$row["beziehung_zu"]."'>".$row["beziehung_zu"]."</a>";
+			echo "\n\t</td>\n</tr>";
+			$i++;
+		}
+		if ($i == 0) {
+			echo "<tr><td colspan=3>.. keine</td></tr>";
+		} elseif ($i > 4) {
+			echo "\n<tr>\n\t<td colspan=3>".$i." Relationen</td>\n</tr>";
+		}
+	}
+	$sql="SELECT beziehungsart, beziehung_von FROM alkis_beziehungen WHERE beziehung_zu= $1;";
+	$v = array($gmlid);
+	$res = pg_prepare("", $sql);
+	$res = pg_execute("", $v);
+
+	if (!$res) {
+		echo "<tr><td colspan=3><b>Keine</b> Beziehungen zum Objekt</td></tr>";
+	} else {
+		echo "\n<tr>\n\t<td class='head' colspan=3><br>Beziehungen <b>zum</b> Objekt von ..</td>\n</tr>";
+		$i=0;
+		while($row = pg_fetch_array($res)) {
+			echo "\n<tr>\n\t<td>";
+			echo "\n\t\t<a href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;gmlid=".$row["beziehung_von"]."'>".$row["beziehung_von"]."</a>";
+			echo "\n\t</td>";
+			echo "\n\t<td class='bez'>".$row["beziehungsart"]."</td>";
+			echo "\n\t<td>".$otyp."</td>\n</tr>";
+			$i++;
+		}
+		if ($i == 0) {
+			echo "\n<tr>\n\t<td colspan=3>.. keine</td>\n</tr>";
+		} elseif ($i > 4) {
+			echo "\n<tr>\n\t<td colspan=3>".$i." Relationen</td>\n</tr>";
+		}
+	}
+	echo "\n</table>";
+}
+echo "\n<hr>\n<p class='nwlink'>\n\t<a target='_blank' href='".$hilfeurl."' title='Dokumentation'>Hilfe zur ALKIS-Auskunft</a>\n</p>\n";
+?>
+
+</body>
+</html>
Index: branches/0.7/info/info/alkis/alkisbestnw.php
===================================================================
--- branches/0.7/info/info/alkis/alkisbestnw.php	(revision 329)
+++ branches/0.7/info/info/alkis/alkisbestnw.php	(revision 329)
@@ -0,0 +1,487 @@
+<?php
+/*	Modul: alkisbestnw.php
+
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+	Bestandsnachweis fuer ein Grundbuch aus ALKIS PostNAS
+
+	Version:
+	2011-11-17  Parameter der Functions geÃ€ndert
+	2011-11-22  Feldname land in ax_buchungsblattbezirk geÃ€ndert
+	2011-11-30  import_request_variables
+	2012-07-24  Export CSV
+	2013-04-08  deprecated "import_request_variables" ersetzt
+
+	ToDo:
+	Zahler fuer Anzahl GB und FS in der Liste (ausgeben wenn > 10)
+*/
+session_start();
+$cntget = extract($_GET);
+require_once("alkis_conf_location.php");
+if ($auth == "mapbender") {require_once($mapbender);}
+include("alkisfkt.php");
+if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;}
+$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
+if ($keys == "j") {$showkey=true;} else {$showkey=false;}
+
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="author" content="b600352" >
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<title>ALKIS Bestandsnachweis</title>
+	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Grundbuch.ico">
+	<script type="text/javascript">
+		function ALKISexport() {
+			window.open(<?php echo "'alkisexport.php?gkz=".$gkz."&tabtyp=grundbuch&gmlid=".$gmlid."'"; ?>);
+		}
+	</script>
+	<style type='text/css' media='print'>
+		.noprint {visibility: hidden;}
+	</style>
+</head>
+<body>
+<?php
+$con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
+
+// G R U N D B U C H
+// Direkter JOIN zwischen den "ax_buchungsblattbezirk" und "ax_dienststelle".
+// Ueber Feld "gehoertzu|ax_dienststelle_schluessel|land" und "stelle".
+//	Bei JOIN ueber alkis_beziehungen entgegen Dokumentation keine Verbindung gefunden.
+$sql ="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart, "; // GB-Blatt
+$sql.="b.gml_id, b.bezirk, b.bezeichnung AS beznam, "; // Bezirk
+$sql.="a.gml_id, a.land, a.bezeichnung, a.stelle, a.stellenart "; // Amtsgericht
+$sql.="FROM ax_buchungsblatt g ";
+$sql.="LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk ";  // BBZ
+$sql.="LEFT JOIN ax_dienststelle a ON b.land = a.land AND b.stelle = a.stelle ";
+$sql.="WHERE g.gml_id= $1 ";
+$sql.="AND a.stellenart=1000;"; // Amtsgericht
+
+$v = array($gmlid);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+
+if (!$res) {
+	echo "<p class='err'>Fehler bei Grundbuchdaten.</p>";
+	if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+if ($row = pg_fetch_array($res)) {
+	$blattkey=$row["blattart"]; // Schluessel
+	$blattart=blattart($blattkey);
+	echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]."&nbsp;</p>\n"; // Balken
+	echo "\n<h2><img src='ico/Grundbuch.ico' width='16' height='16' alt=''> Grundbuch</h2>";
+	echo "\n<table class='outer'>\n<tr>\n\t<td>"; // Kennzeichen im Rahmen
+		if ($blattkey == 1000) {
+			echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
+		} else {
+			echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
+		}
+			echo "\n\t<tr>";
+				echo "\n\t\t<td class='head'>".dienststellenart($row["stellenart"])."</td>";
+				echo "\n\t\t<td class='head'>Bezirk</td>";
+				echo "\n\t\t<td class='head'>".$blattart."</td>";
+			echo "\n\t</tr>\n\t<tr>";
+				echo "\n\t\t<td title='Amtsgerichtsbezirk'>";
+				if ($showkey) {
+					echo "<span class='key'>".$row["stelle"]."</span><br>";
+				}
+				echo htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8")."</td>";
+				echo "\n\t\t<td title='Grundbuchbezirk'>";
+				if ($showkey) {
+					echo "<span class='key'>".$row["bezirk"]."</span><br>";
+				}
+				echo htmlentities($row["beznam"], ENT_QUOTES, "UTF-8")."</td>";
+				echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$row["nr"]."</span></td>";
+			echo "\n\t</tr>";
+		echo "\n\t</table>";
+
+		echo "\n\n\t</td>\n\t<td>";
+		if ($idanzeige) {linkgml($gkz, $gmlid, "Buchungsblatt");}
+	echo "\n\t</td>\n</tr>\n</table>";
+}
+
+if ($blattkey == 5000) { // fikt. Blatt
+	echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt.</p>\n";
+} else { // E I G E N T U E M E R
+	echo "\n<h3><img src='ico/Eigentuemer_2.ico' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n";
+	$n = eigentuemer($con, $gmlid, true, ""); // MIT Adressen.
+	if ($n == 0) { // keine Namensnummer, kein Eigentuemer
+		echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
+		echo "\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$row["nr"].", Blattart ".$blattkey." (".$blattart.")</p>";
+		linkgml($gkz, $gmlid, "Buchungsblatt");
+	}
+}
+
+// Vorab pruefen, ob Sonderfall "Rechte an .." vorliegt.
+if ($blattkey == 1000) { // Grundbuchblatt
+	$sql ="SELECT count(z.laufendenummer) AS anzahl ";
+	$sql.="FROM alkis_beziehungen v ";
+	$sql.="JOIN ax_buchungsstelle s ON v.beziehung_von=s.gml_id "; // Blatt
+	$sql.="JOIN alkis_beziehungen x ON x.beziehung_von=s.gml_id "; 
+	$sql.="JOIN ax_buchungsstelle z ON x.beziehung_zu=z.gml_id "; // andere B-Stelle
+	$sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart='istBestandteilVon' AND (x.beziehungsart='an' OR x.beziehungsart='zu');";
+	$v=array($gmlid);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) echo "<p class='err'>Fehler bei Suche nach Buchungen.</p>\n";
+	$row=pg_fetch_array($res);
+	$anz=$row["anzahl"];
+	//echo "<p>Zeilen : ".$anz." zu Blattart ".$blattkey."</p>";
+} else { // 2000: Katasterblatt, 3000: Pseudoblatt, 5000: Fiktives Blatt
+	$anz=0;
+}
+if ($anz > 0) {
+	echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Rechte und Flurst&uuml;cke</h3>";
+	echo "\n<table class='fs'>";
+	echo "\n<tr>"; // 2 Kopfzeilen
+		echo "\n\t<td>&nbsp;</td>";
+		echo "\n\t<td class='dien' title='herrschendes Grundst&uuml;ck'>herrschende Buchungsart</td>";
+		echo "\n\t<td>&nbsp;</td>";
+		echo "\n\t<td class='dien'>Bezirk</td>";
+		echo "\n\t<td class='dien'>Blatt</td>";
+		echo "\n\t<td class='dien'>BVNR</td>";
+		echo "\n\t<td class='dien' title='dienendes Grundst&uuml;ck'>Buchungsart</td>";
+		echo "\n\t<td>&nbsp;</td>";
+	echo "\n</tr>";
+} else {
+	echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;cke</h3>";
+	echo "\n<table class='fs'>";
+}
+
+echo "\n<tr>";
+	echo "\n\t<td class='head' title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundst&uuml;ck'><span class='wichtig'>BVNR</span></td>";
+	echo "\n\t<td class='head'>Buchungsart</td>";
+	echo "\n\t<td class='head'>Anteil</td>";
+	echo "\n\t<td class='head'>Gemarkung</td>";
+	echo "\n\t<td class='head'>Flur</td>";
+	echo "\n\t<td class='head' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>Flurst.</span></td>";
+	echo "\n\t<td class='head fla'>Fl&auml;che</td>"; // 7
+	echo "\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>";
+echo "\n</tr>";
+
+// Blatt ->  B u c h u n g s s t e l l e
+// ax_buchungsblatt <istBestandteilVon< ax_buchungsstelle 
+$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, ";
+$sql.="s.zaehler, s.nenner, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.bezeichner as bart ";
+$sql.="FROM ax_buchungsstelle s ";
+$sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_von "; 
+$sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert ";
+$sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart='istBestandteilVon' ";
+$sql.="ORDER BY s.laufendenummer;";
+
+$v=array($gmlid);
+$res=pg_prepare("", $sql);
+$res=pg_execute("", $v);
+
+if (!$res) {
+	echo "<p class='err'>Fehler bei Buchung.</p>\n";
+	if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+$i=0;
+while($row = pg_fetch_array($res)) {
+	$lfdnr  = $row["lfd"];
+	$bvnr   = str_pad($lfdnr, 4, "0", STR_PAD_LEFT);
+	$gml_bs = $row["gml_id"]; // id der buchungsstelle
+	$ba     = $row["bart"]; // Buchungsart aus Schluesseltabelle
+
+	if ($row["zaehler"] == "") {
+		$anteil = "";
+	} else {
+		$anteil = $row["zaehler"]."/".$row["nenner"];
+	}
+	// F l u r s t u e c k s d a t e n  zur direkten Buchungsstelle
+   $j = bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, true); // return = Anzahl der FS
+
+	if ($j == 0) { //  k e i n e  Flurstuecke gefunden (Miteigentumsnteil usw.)
+		// Bei "normalen" Grundstuecken wurden Flurstuecksdaten gefunden und ausgegeben.
+		// Bei Miteigentumsanteil, Erbbaurecht usw. muss nach weiteren Buchungsstellen gesucht werden:
+		//  Buchungsstelle >an/zu> (andere)Buchungsstelle >istBestandTeilVon>  "FiktivesBlatt (ohne) Eigentuemer"
+
+		// andere Buchungsstellen
+		//  ax_buchungsstelle  >zu>  ax_buchungsstelle (des gleichen Blattes)
+		//  ax_buchungsstelle  >an>  ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht an)
+
+		// aktuelles Blatt (herrschendes GB) hat Recht "an" fiktives Blatt (dienendes GB-Blatt)
+		// a n d e r e  Buchungsstelle
+		$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, ";
+		$sql.="v.beziehungsart, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.bezeichner AS bart ";
+		$sql.="FROM ax_buchungsstelle s ";
+		$sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_zu "; 
+		$sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert ";
+		$sql.="WHERE v.beziehung_von= $1 "; // id buchungsstelle (fiktives Blatt)
+		$sql.="AND (v.beziehungsart='an' OR v.beziehungsart='zu') ";
+		$sql.="ORDER BY s.laufendenummer;";
+		$v=array($gml_bs);
+		$resan=pg_prepare("", $sql);
+		$resan=pg_execute("", $v);
+		//$resan=pg_query($con,$sql);
+		if (!$resan) {
+			echo "<p class='err'>Fehler bei 'andere Buchungsstelle'.</p>\n";
+			if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
+		}
+		$a=0; // count: andere BS
+		$altbvnr=""; // Gruppenwechsel
+		while($rowan = pg_fetch_array($resan)) {
+			$lfdnran = $rowan["lfd"];		// BVNR an
+			$gml_bsan= $rowan["gml_id"];	// id der buchungsstelle an
+			$baan= $rowan["bart"];  		// Buchungsart an, entschluesselt
+
+			// a n d e r e s   B l a t t  (an dem das aktuelle Blatt Rechte hat)
+			// dienendes Grundbuch
+			$sql ="SELECT b.gml_id, b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung AS blatt, b.blattart, z.bezeichnung AS beznam ";
+			$sql.="FROM ax_buchungsblatt  b ";
+			$sql.="JOIN alkis_beziehungen v ON b.gml_id=v.beziehung_zu ";
+			$sql.="LEFT JOIN ax_buchungsblattbezirk z ON b.land=z.land AND b.bezirk=z.bezirk ";
+			$sql.="WHERE v.beziehung_von= $1 ";
+			$sql.="AND v.beziehungsart='istBestandteilVon' ";
+			$sql.="ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;";
+			$v=array($gml_bsan);
+			$fbres=pg_prepare("", $sql);
+			$fbres=pg_execute("", $v);
+			//$fbres=pg_query($con,$sql);
+			if (!$fbres) {
+				echo "<p class='err'>Fehler bei fiktivem Blatt.</p>\n";
+				if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}			
+			}
+			$b=0;
+			while($fbrow = pg_fetch_array($fbres)) { // genau 1
+				$fbgml   = $fbrow["gml_id"];
+				$fbland  = $fbrow["land"];
+				$fbbez   = $fbrow["bezirk"];
+				$fbblatt = $fbrow["blatt"];
+				$fbbart  = blattart($fbrow["blattart"]);
+				$beznam	= $fbrow["beznam"];
+				$b++;
+			}
+			if ($b != 1) {
+				echo "<p class='err'>Anzahl fiktive Bl&auml;tter zu anderer Buchungstelle = ".$b."</p>";
+			}
+
+			// G r u n d b u c h d a t e n  zur  a n d e r e n  Buchungsstelle
+			echo "\n<tr>";
+				echo"\n\t<td>";
+					if($bvnr == $altbvnr) {	// gleiches Grundstueck
+						echo "&nbsp;"; // Anzeige unterdruecken
+					} else {
+						echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke
+						echo "<span class='wichtig'>".$bvnr."</span>"; // Sp.1 Erbbau BVNR
+						if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle");}
+						$altbvnr = $bvnr; // Gruppenwechsel merken
+					}
+				echo "</td>";
+				echo "\n\t<td class='dien'>"; // Sp.2 Buchung
+					if ($showkey) {
+						echo "<span class='key'>".$row["buchungsart"]."</span> ";
+					}
+				echo $ba." an</td>";
+				echo "\n\t<td>".$anteil."</td>"; // Sp.3 Anteil
+				echo "\n\t<td class='dien'>"; // Sp.4 Gemarkg. hier Bezirk
+					if ($showkey) {
+						echo "<span class='key'>".$fbbez."</span> ";
+					}
+					echo $beznam;
+				echo "</td>"; // Sp.4 hier Bezirk
+				echo "\n\t<td class='dien'>"; // Sp. 5 Blatt
+					echo $fbblatt; // Sp.6 BVNR
+					if ($idanzeige) {
+						linkgml($gkz, $fbgml, "Buchungsblatt");
+					}
+				echo "</td>";
+				echo "\n\t<td class='dien'>"; // BVNR
+					echo str_pad($lfdnran, 4, "0", STR_PAD_LEFT);
+					if ($idanzeige) {
+						linkgml($gkz, $gml_bsan, "Buchungsstelle");
+					}
+
+				echo "</td>"; 
+				echo "\n\t<td class='dien'>"; // Sp.7 Buchungsart
+					if ($showkey) {
+						echo "<span class='key'>".$rowan["buchungsart"]."</span> ";
+					}
+					echo $baan." ";
+				echo "</td>";
+				echo "\n\t<td>";  // Sp.8 Link ("an" oder "zu" ?)
+					echo "<p class='nwlink'>".$rowan["beziehungsart"];
+					echo " <a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$fbgml;
+						if ($idanzeige) {echo "&amp;id=j";}
+						if ($showkey)   {echo "&amp;showkey=j";}
+						echo "#bvnr".$lfdnran; // Sprungmarke auf der Seite
+						echo "' title='Grundbuchnachweis des dienenden Blattes'>";
+						echo $fbbart;
+					echo " <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a></p>";
+				echo "</td>";
+			echo "\n</tr>"; 
+
+			// F l u r s t u e c k s d a t e n  zur  a n d e r e n  Buchungsstelle
+			// Buchungsart wird nur in erster Zeile ausgegeben, hier leer
+		   $aj = bnw_fsdaten($con, $lfdnran, $gml_bsan, "", $anteil, false); // return = Anzahl der FS
+		   		   
+			// +++ Gibt es ueberhaupt Sondereigentum beim fiktiven Blatt??
+			if ($rowan["nrap"] != "") {
+				echo "\n<tr>";
+					echo "\n\t<td class='sond' colspan=8>Nr. im Aufteilungsplan: ".$rowan["nrap"]."</td>";
+				echo "\n</tr>";
+			}
+			if ($rowan["sond"] != "") {
+				echo "\n<tr>";
+					echo "\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$rowan["sond"]."</td>";
+				echo "\n</tr>";
+			}
+			$a++;
+		}
+		if ($a == 0) {
+			echo "\n<tr>";
+				echo "\n\t<td><span class='wichtig'>".$bvnr."</span>";
+				if ($idanzeige) {
+					linkgml($gkz, $gml_bs, "Buchungsstelle");
+				}
+				echo "</td>";
+				echo "\n\t<td colspan=7>";
+					echo "<p class='warn'>Flurst&uuml;cke zu ".$bvnr." nicht im Datenbestand.</p>";
+				echo "</td>";
+			echo "\n</tr>";
+		}
+	}
+	$i++; 
+	if ($row["nrap"] != "") { // Nummer im Aufteilungsplan
+		echo "\n<tr>";
+			echo "\n\t<td class='nrap' colspan=8>Nummer <span class='wichtig'>".$row["nrap"]."</span> im Aufteilungsplan.</td>";
+		echo "\n</tr>";
+	}
+	if ($row["sond"] != "") { // Sondereigentumsbeschreibung
+		echo "\n<tr>";
+			echo "\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td>";
+		echo "\n</tr>";
+	}
+} // Ende Buchungsstelle
+echo "\n</table>";
+
+if ($i == 0) {
+	echo "\n<p class='err'>Keine Buchung gefunden.</p>\n";
+	linkgml($gkz, $gmlid, "Buchungsblatt");
+}
+	// b e r e c h t i g t e  Grundbuecher (Buchungsblatt) 
+	// mit Recht "an"/"zu" dem aktuellen fiktiven GB
+
+	// bf              vf          sf       vs   sb                 vb            bb
+	// Blatt   <istBestandteilVon< Stelle  <an<  Stelle      >istBestandteilVon>  Blatt
+	// Fiktiv                      Fiktiv  <zu<  Berechtigt                       Berechtigt
+	$sql ="SELECT bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart, ";
+	$sql.="vs.beziehungsart, ";
+	$sql.="sb.gml_id AS gml_s, sb.laufendenummer AS lfdnr, sb.buchungsart, ba.bezeichner AS bart, ";  // berechtigte Buchungsstelle
+	$sql.=" bz.bezeichnung AS beznam, ag.bezeichnung, ag.stelle, ag.stellenart "; // Bezirk, Amtsgericht
+	$sql.="FROM alkis_beziehungen vf ";	// Verbindung fiktiv
+	$sql.="JOIN ax_buchungsstelle sf ON sf.gml_id = vf.beziehung_von ";	// Stelle fiktiv
+	$sql.="JOIN alkis_beziehungen vs ON sf.gml_id = vs.beziehung_zu ";	// Verbindung Stellen
+	$sql.="JOIN ax_buchungsstelle sb ON sb.gml_id = vs.beziehung_von ";	// Stelle berechtigt
+	$sql.="JOIN alkis_beziehungen vb ON sb.gml_id = vb.beziehung_von ";	// Verbindung berechtigt
+	$sql.="JOIN ax_buchungsblatt  bb ON bb.gml_id = vb.beziehung_zu ";	// Blatt berechtigt
+	$sql.="LEFT JOIN ax_buchungsblattbezirk bz ON bb.land = bz.land AND bb.bezirk = bz.bezirk ";
+//	$sql.="LEFT JOIN ax_dienststelle ag ON bz.\"gehoertzu|ax_dienststelle_schluessel|land\" = ag.land AND bz.stelle=ag.stelle ";
+	$sql.="LEFT JOIN ax_dienststelle ag ON bz.land = ag.land AND bz.stelle=ag.stelle ";	
+	$sql.="LEFT JOIN ax_buchungsstelle_buchungsart ba ON sb.buchungsart = ba.wert ";
+	$sql.="WHERE vf.beziehung_zu= $1 ";
+	$sql.="AND  vf.beziehungsart='istBestandteilVon' ";
+	$sql.="AND (vs.beziehungsart='an' OR vs.beziehungsart='zu') ";
+	$sql.="AND  vb.beziehungsart= 'istBestandteilVon' ";
+	$sql.="ORDER BY bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung;";
+
+	$v = array($gmlid);
+	$resb = pg_prepare("", $sql);
+	$resb = pg_execute("", $v);
+	if (!$resb) {
+		echo "<p class='err'>Fehler bei 'andere Berechtigte Bl&auml;tter:'<br>".$sql."</p>\n";
+		if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+	}
+	$b=0; // count: Blaetter
+	while($rowb = pg_fetch_array($resb)) {
+		if ($b == 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde
+			echo "\n<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Berechtigte Grundb&uuml;cher</h3>\n";
+			echo "\n<table class='outer'>";
+			echo "\n<tr>"; // Tabelle Kopf
+				echo "\n\t<td class='head'>Land</td>";
+				echo "\n\t<td class='head'>Dienststelle</td>";
+				echo "\n\t<td class='head'>Bezirk</td>";
+				echo "\n\t<td class='head'>Blatt</td>";
+				echo "\n\t<td class='head'>BVNR</td>"; // Neu
+				echo "\n\t<td class='head'>Buchungsart</td>"; // Neu
+				echo "\n\t<td class='head nwlink noprint'>Weitere Auskunft</td>";
+			echo "\n</tr>";
+		}
+		$gml_b=$rowb["gml_id"];		// id des berechtigten Blattes
+		$gml_s=$rowb["gml_s"];		// id der berechtigten Buchungsstelle
+		$blart=$rowb["blattart"];
+		$buch=$rowb["buchungsart"]; // Buchungsart Stelle berechtigt
+		$bart=$rowb["bart"];			// Buchungsart entschluesselt
+		$lfdnr=$rowb["lfdnr"];
+		$bvnr   = str_pad($lfdnr, 4, "0", STR_PAD_LEFT);
+
+		echo "\n<tr>";
+			echo "\n\t<td>".$rowb["land"]."</td>";
+			echo "\n\t<td>"; // Amtsgericht
+				echo dienststellenart($rowb["stellenart"])." ";
+				if ($showkey) {
+					echo "<span class='key'>".$rowb["stelle"]."</span> ";
+				}
+				echo $rowb["bezeichnung"];
+			echo "</td>";
+			echo "\n\t<td>";
+				if ($showkey) {
+					echo "<span class='key'>".$rowb["bezirk"]."</span> ";
+				}
+				echo $rowb["beznam"];
+			echo "</td>";
+			echo "\n\t<td><span class='wichtig'>".$rowb["blatt"]."</span>";
+				if ($idanzeige) {linkgml($gkz, $gml_b, "Buchungsblatt");}
+			echo "</td>";
+			echo "\n\t<td>".$bvnr;
+				if ($idanzeige) {linkgml($gkz, $gml_s, "Buchungsstelle");}
+			echo "</td>";
+			echo "\n\t<td>";
+				if ($showkey) {
+					echo "<span class='key'>".$buch."</span> ";
+				}
+				echo $bart;
+			echo "</td>";
+			echo "\n\t<td>";
+				echo "\n\t\t<p class='nwlink'>";
+			//	echo $rowb["beziehungsart"]." "; // "an"/"zu" ?
+				echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gml_b."#bvnr".$lfdnr;
+					if ($idanzeige) {echo "&amp;id=j";}
+					if ($showkey)   {echo "&amp;showkey=j";}
+					echo "' title='Nachweis des berechtigten Blattes ".$rowb["beziehungsart"]." ".$blattart."'>";
+					echo blattart($blart);
+					echo " \n\t\t\t<img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>";
+				echo "\n\t\t</p>";
+			echo "</td>";
+		echo "\n</tr>";
+		$b++;
+	}
+	if ($b == 0) {
+		if ($blattkey > 2000 ) { // Warnung nicht bei Grundbuchblatt 1000 und Katasterblatt 2000
+			echo "<p class='err'>Keine berechtigten Bl&auml;tter zu ".$blattart." (".$blattkey.") gefunden.</p>";
+		}
+	} else {
+		echo "\n</table>";
+	}
+
+?>
+
+<form action=''>
+	<div class='buttonbereich noprint'>
+	<hr>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken"></a>&nbsp;
+	 	<a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download_gb.ico" width="32" height="16" alt="Export"></a>&nbsp;
+	</div>
+</form>
+
+<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?>
+
+</body>
+</html>
Index: branches/0.7/info/info/alkis/alkisausk.php
===================================================================
--- branches/0.7/info/info/alkis/alkisausk.php	(revision 329)
+++ branches/0.7/info/info/alkis/alkisausk.php	(revision 329)
@@ -0,0 +1,279 @@
+<?php
+/*	alkisausk.php
+
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+	Dies Programm wird aus dem Mapserver-Template (FeatureInfo) aufgerufen.
+	Parameter: &gkz, &gml_id (optional &id)
+	Dies Programm gibt einen kurzen Ueberblick zum Flurstueck.
+	Eigentuemer ohne Adresse.
+	Fuer detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt.
+	Siehe auch alkisinlayausk.php - eine Variante fÃŒr den Einbau in einen iFrame
+
+	Version:
+	2011-11-17 Link FS-Historie, Parameter der Functions geÃ€ndert
+	2011-11-30 import_request_variables
+	2013-04-08 deprecated "import_request_variables" ersetzt
+	2014-01-28 Link zu alkisstrasse.php
+*/
+session_start();
+$cntget = extract($_GET);
+require_once("alkis_conf_location.php");
+if ($auth == "mapbender") {require_once($mapbender);}
+include("alkisfkt.php");
+if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;}
+$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
+if ($keys == "j") {$showkey=true;} else {$showkey=false;}
+echo <<<END
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="author" content="b600352" >
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico">
+	<title>ALKIS-Auskunft</title>
+	<style type='text/css' media='print'>
+		.noprint { visibility: hidden;}
+	</style>
+</head>
+<body>
+END;
+$con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) {echo "<br>Fehler beim Verbinden der DB.\n<br>";}
+
+// *** F L U R S T U E C K ***
+$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung ";
+$sql.="FROM ax_flurstueck f ";
+$sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
+$sql.="WHERE f.gml_id= $1;";
+// Weiter joinen: g.stelle -> ax_dienststelle "Katasteramt"
+
+$v = array($gmlid);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+if (!$res) {
+	echo "\n<p class='err'>Fehler bei Flurstuecksdaten.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+
+if ($row = pg_fetch_array($res)) {
+	$gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
+	$gmkgnr=$row["gemarkungsnummer"];
+	$flurnummer=$row["flurnummer"];
+	$flstnummer=$row["zaehler"];
+	$nenner=$row["nenner"];
+	if ($nenner > 0) $flstnummer.="/".$nenner; // BruchNr
+	$flae=$row["amtlicheflaeche"];
+	$flae=number_format($flae,0,",",".") . " m&#178;";
+} else {
+	echo "<p class='err'>Kein Treffer fuer gml_id=".$gmlid."</p>";
+}
+
+// Balken
+echo "\n<p class='fsausk'>ALKIS-Auskunft Flurst&uuml;ck-&Uuml;bersicht ".$gmkgnr."-".$flurnummer."-".$flstnummer."</p>";
+
+echo "\n<table class='outer'>\n<tr><td>";
+	// linke Seite
+	echo "\n<h1>ALKIS-Auskunft</h1>";
+	echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck - &Uuml;bersicht</h2>";
+echo "</td><td align='right'>";
+	// rechte Seite
+	echo "<img src='pic/AAA.gif' alt=''>";
+echo "</td></tr></table>";
+
+echo "\n<table class='outer'>\n<tr>\n<td>";
+	echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
+	echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>";
+	echo "\n\t<tr>\n\t\t<td title='Gemarkung'>";
+   if ($showkey) {
+		echo "<span class='key'>".$gmkgnr."</span><br>";
+	}
+	echo $gemkname."</td>";
+	echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
+	echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>";
+	echo "\n\t</table>";
+echo "\n</td>\n<td>";
+if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
+echo "\n\t<p class='nwlink'>weitere Auskunft:<br>";
+
+// Flurstuecksnachweis (o. Eigent.)
+echo "\n\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=n";
+	if ($idanzeige) {echo "&amp;id=j";}
+	if ($showkey)   {echo "&amp;showkey=j";}
+	echo "' title='Flurst&uuml;cksnachweis, alle Flurst&uuml;cksdaten'>Flurst&uuml;ck ";
+	echo "<img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''>";
+echo "</a><br>";
+
+// FS- u. Eigent.-NW
+echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j";
+	if ($idanzeige) {echo "&amp;id=j";}
+	if ($showkey)   {echo "&amp;showkey=j";}
+	echo "' title='Flurst&uuml;ck mit Eigent&uuml;mer'>Flurst&uuml;ck mit Eigent&uuml;mer ";
+	echo "<img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''>";
+echo "</a><br>";
+
+// FS-Historie
+echo "\n\t\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
+	if ($idanzeige) {echo "&amp;id=j";}
+	if ($showkey)   {echo "&amp;showkey=j";}
+	echo "' title='Vorg&auml;nger des Flurst&uuml;cks'>Historie ";
+	echo "<img src='ico/Flurstueck_Historisch.ico' width='16' height='16' alt=''>";
+echo "</a><br>";
+
+// Gebaeude-NW
+echo "\n\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
+	if ($idanzeige) {echo "&amp;id=j";}
+	if ($showkey)   {echo "&amp;showkey=j";}
+	echo "' title='Geb&auml;udenachweis'>Geb&auml;ude ";
+	echo "<img src='ico/Haus.ico' width='16' height='16' alt=''>";
+echo "</a>";
+
+echo "\n\t</p>\n</td>";
+
+// Lagebezeichnung MIT Hausnummer (Adresse)
+$sql ="SELECT DISTINCT l.gml_id, s.gml_id AS kgml, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung ";
+$sql.="FROM alkis_beziehungen v ";
+$sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN
+$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage ";
+$sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart='weistAuf' ";// id FS";
+$sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;";
+$v = array($gmlid);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+if (!$res) {
+	echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer.</p>";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+$j=0;
+while($row = pg_fetch_array($res)) {
+	$sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
+	echo "\n<tr>\n\t";
+		echo "\n\t<td class='lr'>".$sname."&nbsp;".$row["hausnummer"]."</td>";
+		echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
+			echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."'>Lage ";
+			echo "<img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a>&nbsp;";
+
+			echo "\n\t\t\t<a href='alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$row["kgml"]; // Katalog GML-ID
+			echo "' title='Stra&szlig;e'>Stra&szlig;e <img src='ico/Strassen.ico' width='16' height='16' alt=''></a>";
+		echo "\n\t\t</p>\n\t</td>";
+	echo "\n</tr>";
+	$j++;
+}
+echo "\n</tr>\n</table>\n";
+
+// Flurstuecksflaeche
+echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che: <b>".$flae."</b></p>\n";
+
+// *** G R U N D B U C H ***
+echo "\n<h2><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundbuch</h2>";
+// ALKIS: FS --> bfs --> GS --> bsb --> GB.
+$sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
+$sql.="s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, ";
+$sql.="z.bezeichnung, a.bezeichner AS bart ";  // stelle -> amtsgericht
+$sql.="FROM alkis_beziehungen bfs "; // Bez Flurst.- Stelle.
+$sql.="JOIN ax_buchungsstelle s ON bfs.beziehung_zu=s.gml_id ";
+$sql.="JOIN alkis_beziehungen bsb ON s.gml_id=bsb.beziehung_von "; // Bez. Stelle - Blatt
+$sql.="JOIN ax_buchungsblatt b ON bsb.beziehung_zu=b.gml_id ";
+$sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";
+$sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert ";
+$sql.="WHERE bfs.beziehung_von= $1 ";
+$sql.="AND bfs.beziehungsart='istGebucht' ";
+$sql.="AND bsb.beziehungsart='istBestandteilVon' ";
+$sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;";
+
+$v = array($gmlid);
+$resg = pg_prepare("", $sql);
+$resg = pg_execute("", $v);
+if (!$resg) {
+	echo "\n<p class='err'>Keine Buchungen.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+
+$j=0; // Z.Blatt
+while($rowg = pg_fetch_array($resg)) {
+	$beznam=$rowg["bezeichnung"];
+	echo "\n<hr>\n<table class='outer'>";
+	echo "\n<tr>";
+	echo "\n<td>";
+
+		$blattkey=$rowg["blattart"];
+		$blattart=blattart($blattkey);
+		if ($blattkey == 1000) {
+			echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
+		} else {
+			echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
+		}
+			echo "\n\t<tr>";
+				echo "\n\t\t<td class='head'>Bezirk</td>";
+				echo "\n\t\t<td class='head'>".$blattart."</td>";
+				echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
+				echo "\n\t\t<td class='head'>Buchungsart</td>";
+			echo "\n\t</tr>";
+			echo "\n\t<tr>";
+				echo "\n\t\t<td title='Grundbuchbezirk'>";
+					if ($showkey) {
+						echo "<span class='key'>".$rowg["bezirk"]."</span><br>";
+					}
+				echo $beznam."</td>";
+				echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>";
+				echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowg["laufendenummer"]."</td>";
+				echo "\n\t\t<td title='Buchungsart'>";
+					if ($showkey) {
+						echo "<span class='key'>".$rowg["buchungsart"]."</span><br>";
+					}
+					echo $rowg["bart"];
+				echo "</td>";
+			echo "\n\t</tr>";
+		echo "\n\t</table>";
+
+		if ($rowg["zahler"] <> "") {
+			echo "\n<p class='ant'>".$rowg["zahler"]."/".$rowg["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
+		}
+		echo "\n</td>\n<td>";
+		if ($idanzeige) {linkgml($gkz, $rowg[0], "Buchungsblatt");}
+		echo "\n\t<p class='nwlink'>weitere Auskunft:<br>";
+			echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0];
+				if ($idanzeige) {echo "&amp;id=j";}
+				if ($showkey)   {echo "&amp;showkey=j";}
+				echo "' title='Grundbuchnachweis'>";
+				echo $blattart;
+				echo " <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''>";
+			echo "</a>";
+		echo "\n\t</p>";
+	echo "\n</td>";
+	echo "\n</tr>";
+	echo "\n</table>";
+
+	// E I G E N T U E M E R
+	if ($blattkey == 5000) { // Schluessel Blattart
+		echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n";
+		echo "\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>\n";
+	} else {// kein Eigent. bei fiktiv. Blatt
+		echo "\n<hr>\n\n<h3><img src='ico/Eigentuemer_2.ico' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n";
+
+		// Ausgabe Name in Function
+		$n = eigentuemer($con, $rowg["gml_id"], false); // ohne Adressen
+
+		if ($n == 0) { // keine Namensnummer, kein Eigentuemer
+			echo "\n<p class='err'>Keine Eigent&uuml;mer gefunden.</p>";
+			echo "\n<p class='err'>Bezirk ".$rowg["bezirk"]." Blatt ".$rowg["blatt"]." Blattart ".$blattkey." (".$blattart.")</p>";
+			linkgml($gkz, $gmlid, "Buchungsblatt");
+		}
+	}
+	$j++;
+}
+if ($j == 0) { // Entwicklungshilfe
+	echo "\n<p class='err'>Keine Buchungen gefunden.</p>";
+	echo "\n<p><a target='_blank' href=alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gmlid.">Beziehungen des Flurst&uuml;cks</a></p>";
+	//echo "<p>".$sql."</p>"; // TEST
+}
+echo "\n<hr>";
+
+footer($gmlid, $_SERVER['PHP_SELF']."?", "");
+
+?>
+</body>
+</html>
Index: branches/0.7/info/info/alkis/alkisnamstruk.php
===================================================================
--- branches/0.7/info/info/alkis/alkisnamstruk.php	(revision 329)
+++ branches/0.7/info/info/alkis/alkisnamstruk.php	(revision 329)
@@ -0,0 +1,269 @@
+<?php
+/*	Modul: alkisnamstruk.php
+
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+	Namens- und Adressdaten fuer einen Eigentuemer aus ALKIS PostNAS
+
+	Version:
+	2013-04-08 deprecated "import_request_variables" ersetzt
+	2013-11-22 Namensbestandteil ("von") in Kompakt-Adresse vor den Namen setzen
+	2014-02-06 Redundante Adressen kommen vor. Nur eine davon anzeigen.
+
+	ToDo: Sortierung der GrundbÃŒcher zum Namen
+*/
+session_start();
+$cntget = extract($_GET);
+require_once("alkis_conf_location.php");
+if ($auth == "mapbender") {require_once($mapbender);}
+include("alkisfkt.php");
+if ($id == "j") {	$idanzeige=true;} else {$idanzeige=false;}
+$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
+if ($keys == "j") {$showkey=true;} else {$showkey=false;}
+
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="author" content="b600352" >
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<title>ALKIS Person und Adresse</title>
+	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Eigentuemer_2.ico">
+	<script type="text/javascript">
+		function ALKISexport() {
+			window.open(<?php echo "'alkisexport.php?gkz=".$gkz."&tabtyp=person&gmlid=".$gmlid."'"; ?>);
+		}
+	</script>
+	<style type='text/css' media='print'>
+		.noprint {visibility: hidden;}
+	</style>
+</head>
+<body>
+
+<?php
+$con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+// Balken
+echo "<p class='nakennz'>ALKIS Name id=".$gmlid."&nbsp;</p>\n";
+
+echo "\n<h2><img src='ico/Eigentuemer.ico' width='16' height='16' alt=''> Person</h2>\n";
+if (!$con) "\n<p class='err'>Fehler beim Verbinden der DB</p>\n";
+
+$sql="SELECT nachnameoderfirma, anrede, vorname, geburtsname, geburtsdatum, namensbestandteil, akademischergrad ";
+$sql.="FROM ax_person WHERE gml_id= $1;";
+
+$v = array($gmlid);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+
+if (!$res) {echo "\n<p class='err'>Fehler bei Zugriff auf Namensnummer</p>\n";}
+if ($idanzeige) { linkgml($gkz, $gmlid, "Person"); }
+if ($row = pg_fetch_array($res)) {
+	$vor=htmlentities($row["vorname"], ENT_QUOTES, "UTF-8");
+	$nam=htmlentities($row["nachnameoderfirma"], ENT_QUOTES, "UTF-8");
+	$geb=htmlentities($row["geburtsname"], ENT_QUOTES, "UTF-8");
+	$anrk=$row["anrede"];
+	$anr=anrede($anrk);
+	$nbest=$row["namensbestandteil"];
+	$aka=$row["akademischergrad"];
+
+	echo "<table>\n";
+		echo "\t<tr><td class='nhd'>Anrede:</td><td class='nam'>";
+		if ($showkey) {echo "<span class='key' title='Anredekennung'>(".$anrk.")</span> ";}
+		echo $anr."</td></tr>\n";
+		echo "\t<tr><td class='nhd'>Nachname oder Firma:</td><td class='nam'>".$nam."</td></tr>\n";
+		echo "\t<tr><td class='nhd'>Vorname:</td><td class='nam'>".$vor."&nbsp;</td></tr>\n";
+		echo "\t<tr><td class='nhd'>Geburtsname:</td><td class='nam'>".$geb."&nbsp;</td></tr>\n";
+		echo "\t<tr><td class='nhd'>Geburtsdatum:</td><td class='nam'>".$row["geburtsdatum"]."&nbsp;</td></tr>\n";
+		echo "\t<tr><td class='nhd'>Namensbestandteil:</td><td class='nam'>".$nbest."&nbsp;</td></tr>\n";
+		echo "\t<tr><td class='nhd'>akademischer Grad:</td><td class='nam'>".$aka."&nbsp;</td></tr>\n";
+	echo "\n</table>\n<hr>\n";
+
+	// A d r e s s e
+	echo "\n<h3><img src='ico/Strasse_mit_Haus.ico' width='16' height='16' alt=''> Adresse</h3>\n";
+	$sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";
+	$sqla.="FROM ax_anschrift a JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu ";
+	$sqla.="WHERE b.beziehung_von= $1 AND b.beziehungsart='hat' ";
+	// Es kÃ¶nnen redundante Adressen vorhanden sein, z.B. aus Migration, temporÃ€r aus LBESAS. Die letzte davon anzeigen.
+	$sqla.="ORDER BY a.gml_id DESC ;";
+
+	$v = array($gmlid);
+	$resa = pg_prepare("", $sqla);
+	$resa = pg_execute("", $v);
+	if (!$resa) {
+		echo "\n<p class='err'>Fehler bei Adressen</p>\n";
+		if ($debug > 2) {	
+			echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml(Person)= '".$gmlid."'</p>\n";
+		}
+	}
+
+	$j=0;
+	// Parameter $multiadress = j zeigt alle Adressen an
+	while($rowa = pg_fetch_array($resa)) {
+		$j++;
+		if ($multiadress == "j" OR $j == 1) {
+			$gmla=$rowa["gml_id"];
+			$plz=$rowa["plz"];
+			$ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8");
+			$str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8");
+			$hsnr=$rowa["hausnummer"];
+			$land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8");
+			if ($idanzeige) { linkgml($gkz, $gmla, "Adresse"); }
+
+			echo "<table>\n";
+				echo "\t<tr><td class='nhd'>PLZ:</td><td class='nam'>".$plz."</td></tr>\n";
+				echo "\t<tr><td class='nhd'>Ort:</td><td class='nam'>".$ort."</td></tr>\n";
+				echo "\t<tr><td class='nhd'>Strasse:</td><td class='nam'>".$str."</td></tr>\n";
+				echo "\t<tr><td class='nhd'>Hausnummer:</td><td class='nam'>".$hsnr."</td></tr>\n";
+				echo "\t<tr><td class='nhd'>Land:</td><td class='nam'>".$land."</td></tr>\n";
+			echo "\n</table>\n<br>\n";
+
+			// Name und Adresse Kompakt (im Rahmen) - Alles was man fuer ein Anschreiben braucht
+			echo "<img src='ico/Namen.ico' width='16' height='16' alt='Brief' title='Anschrift'>"; // Symbol "Brief"
+			echo "\n<div class='adr' title='Anschrift'>".$anr." ".$aka." ".$vor." ".$nbest." ".$nam."<br>";
+			echo "\n".$str." ".$hsnr."<br>";
+			echo "\n".$plz." ".$ort."</div>";
+		}
+	}
+	pg_free_result($resa);
+	if ($j == 0) {
+		echo "\n<p class='err'>Keine Adressen.</p>\n";
+	} elseif ($j > 1) {
+		echo "\n\t\t<p class='nwlink noprint'>";
+		echo "\n\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&amp;gmlid=".$gmlid;
+		if ($idanzeige) {echo "&amp;id=j";}
+		if ($showkey) {echo "&amp;showkey=j";}
+		if ($multiadress == "j") {
+			echo "&amp;multiadress=n' title='mehrfache Adressen unterdr&uuml;cken'>erste Adresse ";
+		} else {
+			echo "&amp;multiadress=j' title='Adressen ggf. mehrfach vorhanden'>alle Adressen ";
+		}
+		echo "\n\t\t\t</a>";
+		echo "\n\t\t</p>";
+	}
+
+	// *** G R U N D B U C H ***
+	echo "\n<hr>\n<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundb&uuml;cher</h3>\n";
+	// person <benennt< namensnummer >istBestandteilVon>                Buchungsblatt
+	//                               >bestehtAusRechtsverhaeltnissenZu> namensnummer   (Nebenzweig/SonderfÃ€lle?)
+
+	$sqlg ="SELECT n.gml_id AS gml_n, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, g.gml_id AS gml_g, ";
+	$sqlg.="g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung as nr, g.blattart, b.bezeichnung AS beznam ";
+	$sqlg.="FROM alkis_beziehungen bpn JOIN ax_namensnummer n ON bpn.beziehung_von=n.gml_id ";
+	$sqlg.="JOIN alkis_beziehungen bng ON n.gml_id=bng.beziehung_von ";
+	$sqlg.="JOIN ax_buchungsblatt g ON bng.beziehung_zu=g.gml_id ";
+	$sqlg.="LEFT JOIN ax_buchungsblattbezirk b ON g.land = b.land AND g.bezirk = b.bezirk ";
+	$sqlg.="WHERE bpn.beziehung_zu= $1 AND bpn.beziehungsart='benennt' AND bng.beziehungsart='istBestandteilVon' ";
+	$sqlg.="ORDER BY g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung;";
+	// buchungsblatt... mal mit und mal ohne fuehrende Nullen, bringt die Sortierung durcheinander
+
+	$v = array($gmlid);
+	$resg = pg_prepare("", $sqlg);
+	$resg = pg_execute("", $v);
+
+	if (!$resg) {
+		echo "\n<p class='err'>Fehler bei Grundbuch</p>\n";
+		if ($debug > 2) {
+			echo "\n<p class='err'>SQL=".$sqlg."</p>\n";
+		}
+	}
+	$j=0;
+	echo "<table class='eig'>";
+	echo "\n<tr>";
+		echo "\n\t<td class='head'>Bezirk</td>";
+		echo "\n\t<td class='head'>Blattart</td>";
+		echo "\n\t<td class='head'>Blatt</td>";
+		echo "\n\t<td class='head'>Namensnummer</td>";
+		echo "\n\t<td class='head'>Anteil</td>";
+		echo "\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>";
+	echo "\n</tr>";
+
+	while($rowg = pg_fetch_array($resg)) {
+		$gmln=$rowg["gml_n"];
+		$gmlg=$rowg["gml_g"];
+		$namnum=kurz_namnr($rowg["lfd"]);
+		$zae=$rowg["zaehler"];
+		$blattkey=$rowg["blattart"];
+		$blattart=blattart($blattkey);
+
+		echo "\n<tr>";
+
+			echo "\n\t<td class='gbl'>"; // GB-Bezirk"
+				if ($showkey) {
+					echo "<span class='key'>".$rowg["bezirk"]."</span> ";
+				}
+				echo $rowg["beznam"];
+			echo "</td>";
+
+			echo "\n\t<td class='gbl'>"; // Blattart
+				if ($showkey) {
+					echo "<span class='key'>".$blattkey."</span> ";
+				}
+				echo $blattart;
+			echo "</td>";
+
+			echo "\n\t<td class='gbl'>"; // Blatt
+				echo "<span class='wichtig'>".$rowg["nr"]."</span>";
+				if ($idanzeige) {
+					linkgml($gkz, $gmlg, "Grundbuchblatt");
+				}
+			echo "</td>";
+
+			echo "\n\t<td class='gbl'>"; // Namensnummer
+				If ($namnum == "") {
+					echo "&nbsp;";
+				} else {
+					echo $namnum;
+				}
+				if ($idanzeige) {
+					linkgml($gkz, $gmln, "Namensnummer"); 
+				}
+			echo "</td>";
+
+			echo "\n\t<td class='gbl'>"; // Anteil
+				If ($zae == "") {
+					echo "&nbsp;";
+				} else {
+					echo $zae."/".$rowg["nenner"]." Anteil";
+				} 
+			echo "</td>";
+
+			echo "\n\t<td class='gbl'>";
+				echo "\n\t\t<p class='nwlink noprint'>";
+					echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg;
+						if ($idanzeige) {echo "&amp;id=j";}
+						if ($showkey)   {echo "&amp;showkey=j";}
+						echo "' title='Bestandsnachweis'>";
+						echo $blattart;
+					echo "\n\t\t\t<img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>";
+				echo "\n\t\t</p>";
+			echo "\n\t</td>";
+
+		echo "\n</tr>";
+		// +++ >bestehtAusRechtsverhaeltnissenZu> namensnummer ?
+		// z.B. eine Namennummer "Erbengemeinschaft" zeigt auf Namensnummern mit EigentÃŒmern
+		$i++;
+	}
+	pg_free_result($resg);
+	echo "</table>";
+	if ($i == 0) {echo "\n<p class='err'>Kein Grundbuch.</p>\n";}
+} else {
+	echo "\n\t<p class='err'>Fehler! Kein Treffer f&uuml;r\n\t<a target='_blank' href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gmlid."'>".$gmlid."</a>\n</p>\n\n";
+}
+?>
+
+<form action=''>
+	<div class='buttonbereich noprint'>
+	<hr>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken"></a>&nbsp;
+		<a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.ico" width="32" height="16" alt="Export"></a>&nbsp;
+	</div>
+</form>
+
+<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?>
+
+</body>
+</html>
Index: branches/0.7/info/info/alkis/alkisgebaeudenw.php
===================================================================
--- branches/0.7/info/info/alkis/alkisgebaeudenw.php	(revision 329)
+++ branches/0.7/info/info/alkis/alkisgebaeudenw.php	(revision 329)
@@ -0,0 +1,289 @@
+<?php
+/*	alkisgebaeudenw.php - Gebaeudenachweis
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+
+	Version:
+	2011-11-22 Feld ax_gebaeude.description ist entfallen, neue Spalte Zustand
+	2011-11-30 Fehlerkorrektur Gebaeude mit mehreren Adressen nicht mehrfach
+	2013-04-08 deprecated "import_request_variables" ersetzt
+    2014-01-30 pg_free_result
+*/
+session_start();
+$cntget = extract($_GET);
+require_once("alkis_conf_location.php");
+if ($auth == "mapbender") {require_once($mapbender);}
+include("alkisfkt.php");
+if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;}
+$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
+if ($keys == "j") {$showkey=true;} else {$showkey=false;}
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="author" content="b600352" >
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<title>ALKIS Geb&auml;udenachweis</title>
+	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Haus.ico">
+	<style type='text/css' media='print'>
+		.noprint {visibility: hidden;}
+	</style>
+</head>
+<body>
+<?php
+$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
+
+// Flurstueck
+$sqlf ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung ";
+$sqlf.="FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
+$sqlf.="WHERE f.gml_id= $1;";
+$v=array($gmlid);
+$resf=pg_prepare("", $sqlf);
+$resf=pg_execute("", $v);
+if (!$resf) {
+	echo "\n<p class='err'>Fehler bei Flurst&uuml;cksdaten.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlf."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+
+if ($rowf = pg_fetch_array($resf)) {
+	$gemkname=htmlentities($rowf["bezeichnung"], ENT_QUOTES, "UTF-8");
+	$gmkgnr=$rowf["gemarkungsnummer"];
+	$flurnummer=$rowf["flurnummer"];
+	$flstnummer=$rowf["zaehler"];
+	$nenner=$rowf["nenner"];
+	if ($nenner > 0) { // BruchNr
+		$flstnummer.="/".$nenner;
+	} 
+	$flstflaeche = $rowf["amtlicheflaeche"] ;
+} else {
+	echo "<p class='err'>Fehler! Kein Treffer fuer gml_id=".$gmlid."</p>";
+}
+
+// Balken
+echo "<p class='geb'>ALKIS Flurst&uuml;ck (Geb&auml;ude) ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
+
+echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck (Geb&auml;ude)</h2>\n";
+
+// Kennzeichen in Rahmen
+echo "\n<table class='outer'>\n<tr>\n<td>";
+	echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>";
+    echo "\n\t<tr>";
+        echo "\n\t\t<td class='head'>Gmkg</td>";
+        echo "\n\t\t<td class='head'>Flur</td>";
+        echo "\n\t\t<td class='head'>Flurst-Nr.</td>";
+    echo "\n\t</tr>\n\t<tr>";
+        echo "\n\t\t<td title='Gemarkung'>";
+        if  ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";}
+        echo $gemkname."&nbsp;</td>";
+        echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
+        echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>";
+    echo "\n\t</tr>";
+	echo "\n\t</table>";
+echo "\n</td>\n<td>";
+
+// Links zu anderen Nachweisen
+echo "\n\t<p class='nwlink noprint'>";
+	echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
+	if ($idanzeige) {echo "&amp;id=j";}
+	if ($showkey)   {echo "&amp;showkey=j";}
+	echo "&amp;eig=n' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''></a>";
+echo "\n\t</p>";
+if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
+echo "\n\t</td>\n</tr>\n</table>";
+// Ende Seitenkopf
+
+echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che: <b>".number_format($flstflaeche,0,",",".") . " m&#178;</b></p>";
+pg_free_result($resf);
+
+echo "\n\n<h3><img src='ico/Haus.ico' width='16' height='16' alt=''> Geb&auml;ude</h3>";
+echo "\n<p>.. auf oder an dem Flurst&uuml;ck. Ermittelt durch Verschneidung der Geometrie.</p>";
+
+// G e b a e u d e
+$sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, ";
+$sqlg.="h.bauweise_beschreibung, u.bezeichner, g.zustand, z.bezeichner AS bzustand, ";
+
+// Gebaeudeflaeche komplett auch ausserhalb des FS
+$sqlg.="round(area(g.wkb_geometry)::numeric,2) AS gebflae, ";
+
+// wie viel vom GEB liegt im FS?
+$sqlg.="round(st_area(ST_Intersection(g.wkb_geometry,f.wkb_geometry))::numeric,2) AS schnittflae, ";
+
+// liegt das GEB komplett im FS?
+$sqlg.="st_within(g.wkb_geometry,f.wkb_geometry) as drin ";
+
+// FS und GEB geometrisch verschneiden
+$sqlg.="FROM ax_flurstueck f, ax_gebaeude g ";
+
+// Entschluesseln
+$sqlg.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise = h.bauweise_id ";
+$sqlg.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion = u.wert ";
+$sqlg.="LEFT JOIN ax_gebaeude_zustand z ON g.zustand = z.wert ";
+$sqlg.="WHERE f.gml_id= $1 "; // ID des akt. FS
+
+// "within" liefert nur Gebaeude, die komplett im Flurstueck liegen
+// "intersects" liefert ueberlappende Flaechen
+$sqlg.="AND st_intersects(g.wkb_geometry,f.wkb_geometry) = true ";
+
+// RLP: keine Relationen zu Nebengebaeuden:
+// auf Qualifizierung verzichten, sonst werden NebengebÃ€ude nicht angezeigt
+	//$sqlg.="AND (v.beziehungsart='zeigtAuf' OR v.beziehungsart='hat') ";
+$sqlg.="ORDER BY schnittflae DESC;";
+
+$v=array($gmlid);
+$resg=pg_prepare("", $sqlg);
+$resg=pg_execute("", $v);
+if (!$resg) {
+	echo "\n<p class='err'>Keine Geb&auml;ude ermittelt.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlg."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+$gebnr=0;
+echo "\n<hr>\n<table class='geb'>";
+	// T-Header
+	echo "\n<tr>\n";
+		echo "\n\t<td class='head' title='ggf. Geb&auml;udename'>Name</td>";
+		echo "\n\t<td class='head fla' title='Schnittsfl&auml;che'>Fl&auml;che</td>";
+		echo "\n\t<td class='head' title='Geb&auml;udefl&auml;che'>&nbsp;</td>";
+		echo "\n\t<td class='head' title='Geb&auml;udefunktion ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Geb&auml;udes'>Funktion</td>";
+		echo "\n\t<td class='head' title='Bauweise (Schl&uuml;ssel und Beschreibung)'>Bauweise</td>";
+		echo "\n\t<td class='head' title='Zustand (Schl&uuml;ssel und Beschreibung)'>Zustand</td>";
+		echo "\n\t<td class='head nwlink' title='Lagebezeichnung mit Stra&szlig;e und Hausnummer'>Lage</td>";
+		echo "\n\t<td class='head nwlink' title='Link zu den kompletten Hausdaten'>Haus</td>";
+	echo "\n</tr>";
+	// T-Body
+	while($rowg = pg_fetch_array($resg)) {
+		$gebnr = $gebnr + 1;
+// ++ ToDo: Die Zeilen abwechselnd verschieden einfÃ€rben, Angrenzend anders einfÃ€rben 
+		$ggml=$rowg["gml_id"];
+		$gebflsum = $gebflsum + $rowg["schnittflae"];
+		$skey=$rowg["lage"]; // Strassenschluessel		
+		$gnam=$rowg["name"];
+		$gzus=$rowg["zustand"];
+		$gzustand=$rowg["bzustand"];
+
+		echo "\n<tr>";
+			echo "\n\t<td>";
+				if ($gnam != "") {echo "<span title='Geb&auml;udename'>".$gnam."</span><br>";}
+			echo "\n\t</td>";
+
+			if ($rowg["drin"] == "t") { // 3 komplett enthalten
+				echo "\n\t<td class='fla'>".$rowg["schnittflae"]." m&#178;</td>"; 
+				echo "\n\t<td>&nbsp;</td>";
+			} else {
+	       	if ($rowg["schnittflae"] == "0.00") { // angrenzend
+					echo "\n\t<td class='fla'>&nbsp;</td>";
+					echo "\n\t<td>angrenzend</td>";
+				} else { // Teile enthalten
+					echo "\n\t<td class='fla'>".$rowg["schnittflae"]." m&#178;</td>";
+					echo "\n\t<td>(von ".$rowg["gebflae"]." m&#178;)</td>";
+				}
+			}
+			echo "\n\t<td>";
+			if ($showkey) {echo "<span class='key'>".$rowg["gebaeudefunktion"]."</span>&nbsp;";}
+			echo $rowg["bezeichner"]."</td>";
+
+			echo "\n\t<td>";
+			if ($showkey) {echo "<span class='key'>".$rowg["bauweise"]."</span>&nbsp;";}
+			echo $rowg["bauweise_beschreibung"]."&nbsp;</td>";
+
+			echo "\n\t<td>";
+			if ($showkey) {echo "<span class='key'>".$gzus."</span>&nbsp;";}
+			echo $gzustand."&nbsp;</td>";
+
+			echo "\n\t<td class='nwlink noprint'>";
+
+			// 0 bis N Lagebezeichnungen mit Haus- oder Pseudo-Nummer, alle in ein TD zu EINEM GebÃ€ude
+			// HAUPTgebÃ€ude
+			$sqll ="SELECT 'm' AS ltyp, v.beziehung_zu, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer ";
+			$sqll.="FROM alkis_beziehungen v "; 
+			$sqll.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id ";
+			$sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage ";
+			$sqll.="WHERE v.beziehungsart = 'zeigtAuf' AND v.beziehung_von = $1 ";
+			$sqll.="UNION ";
+			// oder NEBENgebÃ€ude
+			$sqll.="SELECT 'p' AS ltyp, v.beziehung_zu, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer ";
+			$sqll.="FROM alkis_beziehungen v "; 
+			$sqll.="JOIN ax_lagebezeichnungmitpseudonummer l ON v.beziehung_zu=l.gml_id ";
+			$sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage ";
+			$sqll.="WHERE v.beziehungsart = 'hat' AND v.beziehung_von = $1 "; // ID des Hauses"
+		
+			$sqll.="ORDER BY bezeichnung, hausnummer ";
+		
+			$v = array($ggml);
+			$resl = pg_prepare("", $sqll);
+			$resl = pg_execute("", $v);
+			if (!$resl) {
+				echo "\n<p class='err'>Fehler bei Lage mit HsNr.</p>\n";
+				if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqll."<br>$1 = gml_id = '".$gmlid."'</p>";}
+			}
+			while($rowl = pg_fetch_array($resl)) { // LOOP: Lagezeilen
+				$ltyp=$rowl["ltyp"]; // Lagezeilen-Typ
+				$skey=$rowl["lage"]; // Str.-Schluessel
+				$snam=htmlentities($rowl["bezeichnung"], ENT_QUOTES, "UTF-8"); // -Name
+				$hsnr=$rowl["hausnummer"];
+				$hlfd=$rowl["laufendenummer"];
+				$gmllag=$rowl["beziehung_zu"];
+				if ($ltyp == "p") {
+					$lagetitl="NebengebÃ€ude - Pseudonummer";
+					$lagetxt="Nebengeb&auml;ude Nr. ".$hlfd;
+				} else {
+					$lagetitl="HauptgabÃ€ude - Hausnummer";
+					$lagetxt=$snam."&nbsp;".$hsnr;
+				}
+				echo "\n\t\t<img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''>&nbsp;";
+				if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";}			
+				echo "\n\t\t<a title='".$lagetitl."' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp;
+					if ($idanzeige) {echo "&amp;id=j";}
+					if ($showkey)   {echo "&amp;showkey=j";}
+				echo "'>".$lagetxt."</a>";
+				if ($idanzeige) {linkgml($gkz, $gmllag, "Lage"); }
+				echo "<br>";
+			} // Ende Loop Lagezeilen m.H.
+            pg_free_result($resl);
+			echo "\n\t</td>";
+
+			echo "\n\t<td class='nwlink noprint'>";
+				echo "\n\t\t<a title='Daten zum Geb&auml;ude-Objekt' href='alkishaus.php?gkz=".$gkz."&amp;gmlid=".$ggml;
+				if ($idanzeige) {echo "&amp;id=j";}
+				if ($showkey)   {echo "&amp;showkey=j";}
+				echo "'><img src='ico/Haus.ico' width='16' height='16' alt=''></a>";
+			echo "\n\t</td>";
+
+		echo "\n</tr>";
+	}
+// Footer
+	if ($gebnr == 0) {
+		echo "\n</table>";
+		echo "<p class='err'><br>Keine Geb&auml;ude auf diesem Flurst&uuml;ck.<br>&nbsp;</p>";
+	} else {
+		echo "\n<tr>";
+			echo "\n\t<td>Summe:</td>"; // 1
+			echo "\n\t<td class='fla sum'>".number_format($gebflsum,0,",",".")."&nbsp;&nbsp;&nbsp;&nbsp;m&#178;</td>";
+			echo "\n\t<td>&nbsp;</td>"; // 3
+			echo "\n\t<td>&nbsp;</td>"; // 4
+			echo "\n\t<td>&nbsp;</td>"; // 5
+			echo "\n\t<td>&nbsp;</td>"; // 6
+			echo "\n\t<td>&nbsp;</td>"; // 7
+		echo "\n</tr>";
+	echo "\n</table>";
+	$unbebaut = number_format(($flstflaeche - $gebflsum),0,",",".") . " m&#178;";
+	echo "\n<p>Flurst&uuml;cksfl&auml;che abz&uuml;glich Geb&auml;udefl&auml;che: <b>".$unbebaut."</b></p><br>";
+}
+pg_free_result($resg);
+?>
+
+<form action=''>
+	<div class='buttonbereich noprint'>
+	<hr>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken"></a>
+	</div>
+</form>
+
+<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?>
+
+</body>
+</html>
Index: branches/0.7/info/info/alkis/alkislage.php
===================================================================
--- branches/0.7/info/info/alkis/alkislage.php	(revision 329)
+++ branches/0.7/info/info/alkis/alkislage.php	(revision 329)
@@ -0,0 +1,435 @@
+<?php
+/*	alkislage.php
+
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+	Kann die 3 Arten von Lagebezeichnung anzeigen und verbundene Objekte verlinken
+
+	Version:
+	2013-03-06  Korrektur URL des Link im Abs. Lage bei eingeschalteten Test-Optionen
+	2013-04-08  deprecated "import_request_variables" ersetzt
+	2014-01-23	gml des Katalogs, Link auf Modul "strasse"
+
+	ToDo:
+	- Das Balken-Kennzeichen noch kompatibel machen mit der Eingabe der Navigation fÃŒr Adresse 
+*/
+session_start();
+$cntget = extract($_GET);
+require_once("alkis_conf_location.php");
+if ($auth == "mapbender") {require_once($mapbender);}
+include("alkisfkt.php");
+switch ($ltyp) {
+	case "m": // "Mit HsNr"     = Hauptgebaeude
+		$tnam = "ax_lagebezeichnungmithausnummer"; break;
+	case "p": // "mit PseudoNr" = Nebengebaeude
+		$tnam = "ax_lagebezeichnungmitpseudonummer";	break;
+	case "o": //"Ohne HsNr"    = Gewanne oder Strasse
+		$tnam = "ax_lagebezeichnungohnehausnummer"; break;
+	default:
+		$ltyp = "m";
+		$tnam = "ax_lagebezeichnungmithausnummer"; break;
+}
+if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;}
+$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
+if ($keys == "j") {$showkey=true;} else {$showkey=false;}
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="author" content="b600352" >
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<title>ALKIS Lagebezeichnung</title>
+	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Lage_mit_Haus.ico">
+	<style type='text/css' media='print'>
+		.noprint {visibility: hidden;}
+	</style>
+</head>
+<body>
+<?php
+$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
+
+// L a g e b e z e i c h n u n g
+$sql ="SELECT s.gml_id AS strgml, s.bezeichnung AS snam, b.bezeichnung AS bnam, r.bezeichnung AS rnam, k.bezeichnung AS knam, g.bezeichnung AS gnam, l.land, l.regierungsbezirk, l.kreis, l.gemeinde, l.lage, ";
+switch ($ltyp) {
+	case "m": // "Mit HsNr"
+		$sql.="l.hausnummer ";
+	break;
+	case "p": // "mit PseudoNr"
+		$sql.="l.pseudonummer, l.laufendenummer ";
+	break;
+	case "o": //"Ohne HsNr"
+		$sql.="l.unverschluesselt ";
+	break;
+}
+$sql.="FROM ".$tnam." l "; // Left: Bei sub-Typ "Gewanne" von Typ "o" sind keine SchlÃŒsselfelder gefÃŒllt!
+$sql.="LEFT JOIN ax_gemeinde g ON l.land=g.land AND l.regierungsbezirk=g.regierungsbezirk AND l.kreis=g.kreis AND l.gemeinde=g.gemeinde ";
+$sql.="LEFT JOIN ax_kreisregion k ON l.land=k.land AND l.regierungsbezirk=k.regierungsbezirk AND l.kreis=k.kreis ";
+$sql.="LEFT JOIN ax_regierungsbezirk r ON l.land=r.land AND l.regierungsbezirk=r.regierungsbezirk ";
+$sql.="LEFT JOIN ax_bundesland b ON l.land=b.land ";
+$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ";
+$sql.="ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage ";
+$sql.="WHERE l.gml_id= $1;";
+
+$v = array($gmlid);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+if (!$res) {
+	echo "\n<p class='err'>Fehler bei Lagebezeichnung.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+
+if ($row = pg_fetch_array($res)) {
+	$strgml=$row["strgml"]; // gml_id des Katalogeintrag StraÃe
+	$land =$row["land"];
+	$regbez=$row["regierungsbezirk"];
+	$kreis=$row["kreis"];
+	$knam=$row["knam"];
+	$rnam=$row["rnam"];
+	$bnam=$row["bnam"];
+	$gem=$row["gemeinde"];
+	$gnam=$row["gnam"];
+	$lage=$row["lage"]; // Strassenschluessel
+	$snam=$row["snam"]; //Strassennamen
+	$unver=$row["unverschluesselt"]; // Gewanne
+//	$kennz=$land."-".$regbez."-".$kreis.  ...
+	$kennz=$gem."-".$lage."-"; // ToDo: Kompatibel machen als Eingabe in Navigation/Adresse 
+	
+	switch ($ltyp) {
+		case "m": // "Mit HsNr"
+			$hsnr=$row["hausnummer"];
+			$kennz.=$hsnr;
+			$untertitel="Hauptgeb&auml;ude mit Hausnummer";
+			// Balken
+			echo "<p class='lage'>ALKIS Lagebezeichnung mit Hausnummer ".$kennz."&nbsp;</p>\n"; // Balken
+			$osub="";
+		break;
+		case "p": // "mit PseudoNr"
+			$pseu=$row["pseudonummer"];
+			$lfd=$row["laufendenummer"];
+			$kennz.=$pseu."-".$lfd;
+			$untertitel="NebengebÃ€ude mit laufender Nummer (Lagebezeichnung mit Pseudonummer)";
+			echo "<p class='lage'>ALKIS Lagebezeichnung NebengebÃ€ude ".$kennz."&nbsp;</p>\n"; // Balken
+			$osub="";
+		break;
+		case "o": // "Ohne HsNr"
+			// 2 Unterarten bzw. Zeilen-Typen in der Tabelle
+			if ($lage == "") {
+				$osub="g"; // Sub-Typ Gewanne
+				$kennz=" - ".$unver;
+				$untertitel="Gewanne (unverschl&uuml;sselte Lage)";
+				echo "<p class='lage'>ALKIS Lagebezeichnung Ohne Hausnummer ".$kennz."&nbsp;</p>\n"; // Balken
+			} else {
+				$osub="s"; // Sub-Typ Strasse (ohne HsNr)
+				$kennz.=$unver;
+				$untertitel="Stra&szlig;e ohne Hausnummer";
+				echo "<p class='lage'>ALKIS Lagebezeichnung Ohne Hausnummer ".$kennz."&nbsp;</p>\n"; // Balken
+			}
+		break;
+	}
+} else {
+	echo "<p class='err'>Fehler! Kein Treffer fuer gml_id=".$gmlid."</p>";
+}
+
+echo "\n<h2><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt='HAUS'> Lagebezeichnung</h2>\n";
+
+echo "<p>Typ: ".$untertitel."</p>";
+
+echo "\n<table class='outer'>\n<tr>\n\t<td>"; 	// Tabelle Kennzeichen
+	// ToDo: !! kleiner, wenn ltyp=0 und die Schluesselfelder leer sind
+	echo "\n\t<table class='kennzla' title='Lage'>";
+		echo "\n\t<tr>";
+			if ($osub != "g") { // nicht bei Gewanne
+				echo "\n\t\t<td class='head'>Land</td>";
+				echo "\n\t\t<td class='head'>Reg.-Bez.</td>";
+				echo "\n\t\t<td class='head'>Kreis</td>";
+				echo "\n\t\t<td class='head'>Gemeinde</td>";
+				echo "\n\t\t<td class='head'>Stra&szlig;e</td>";
+			}
+			switch ($ltyp) {
+				case "m": // "Mit HsNr"
+					echo "\n\t\t<td class='head'>Haus-Nr</td>";
+				break;
+				case "p": // "mit PseudoNr"
+					echo "\n\t\t<td class='head'>Haus-Nr</td>";
+					echo "\n\t\t<td class='head'>lfd.-Nr</td>";
+				break;
+				case "o": //"Ohne HsNr"
+					if ($osub == "g") {
+						echo "\n\t\t<td class='head'>unverschl&uuml;sselte Lage</td>";
+					}
+				break;
+			}
+		echo "\n\t</tr>";
+		echo "\n\t<tr>";
+			if ($osub != "g") { // nicht bei Gewanne
+
+				echo "\n\t\t<td title='Bundesland'>";
+				if ($showkey) {echo "<span class='key'>".$land."</span><br>";}
+				echo $bnam."&nbsp;</td>";
+
+				echo "\n\t\t<td title='Regierungsbezirk'>";
+				if ($showkey) {echo "<span class='key'>".$regbez."</span><br>";}
+				echo $rnam."&nbsp;</td>";
+
+				echo "\n\t\t<td title='Kreis'>";
+				if ($showkey and $osub != "g") {echo "<span class='key'>".$kreis."</span><br>";}
+				echo $knam."&nbsp;</td>";
+
+				echo "\n\t\t<td title='Gemeinde'>";
+				if ($showkey and $osub != "g") {echo "<span class='key'>".$gem."</span><br>";}
+				echo $gnam."&nbsp;</td>";
+
+				echo "\n\t\t<td title='Stra&szlig;e'>";
+				if ($showkey and $osub != "g") {echo "<span class='key'>".$lage."</span><br>";}
+				if ($ltyp == "o") {
+					echo "<span class='wichtig'>".$snam."</span>";
+				} else {
+					echo $snam;
+				}	
+				echo "&nbsp;</td>";
+			}
+
+			switch ($ltyp) {
+				case "m":
+					echo "\n\t\t<td title='Hausnummer und Zusatz'><span class='wichtig'>".$hsnr."</span></td>";
+				break;
+				case "p":
+					echo "\n\t\t<td title='Pseudonummer - Nebengeb&auml;ude zu dieser Hausnummer'>".$pseu."</td>";
+					echo "\n\t\t<td title='Laufende Nummer Nebengeb&auml;ude'><span class='wichtig'>".$lfd."</span></td>";
+				break;
+				case "o":
+					if ($osub == "g") {
+						echo "\n\t\t<td title='Gewanne'><span class='wichtig'>".$unver."</span></td>";
+					}
+				break;
+			}
+		echo "\n\t</tr>";
+	echo "\n\t</table>";
+
+	echo "\n\t</td>\n\t<td>";
+
+	// Kopf Rechts: weitere Daten?
+	if ($idanzeige) {linkgml($gkz, $gmlid, "Lage"); }
+
+	if ($osub != "g") { // Link zu Strasse
+		echo "\n\t\t<p class='nwlink noprint'>";
+			echo "\n\t\t<a href='alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$strgml;
+				if ($idanzeige) {echo "&amp;id=j";}
+				if ($showkey)   {echo "&amp;showkey=j";}
+			echo "' title='Stra&szlig;e'>Stra&szlig;e <img src='ico/Strassen.ico' width='16' height='16' alt=''></a>";
+		echo "\n\t\t</p>";
+	}
+
+echo "\n\t</td>\n</tr>\n</table>";
+// Ende Seitenkopf
+
+// F L U R S T U E C K E
+	// ax_Flurstueck  >weistAuf>  ax_LagebezeichnungMitHausnummer
+	// ax_Flurstueck  >zeigtAuf>  ax_LagebezeichnungOhneHausnummer
+if ($ltyp <> "p") { // Pseudonummer linkt nur GebÃ€ude
+	echo "\n\n<a name='fs'></a><h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;cke</h3>\n";
+	echo "\n<p>mit dieser Lagebezeichnung.</p>";
+	switch ($ltyp) {
+		case "m": $bezart="weistAuf"; break;
+		case "o": $bezart="zeigtAuf"; break;
+	}
+	$sql="SELECT g.gemarkungsnummer, g.bezeichnung, ";
+	$sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche ";
+	$sql.="FROM ax_flurstueck f ";
+	$sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von "; 
+	$sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
+	$sql.="WHERE v.beziehung_zu= $1 "; // id Lage
+	$sql.="AND v.beziehungsart= $2 ";
+	$sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
+
+	$v = array($gmlid,$bezart);
+	$resf = pg_prepare("", $sql);
+	$resf = pg_execute("", $v);
+	if (!$resf) {
+		echo "<p class='err'>Fehler bei Flurst&uuml;ck.</p>\n";
+		if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}	
+	}
+
+	echo "\n<table class='fs'>";
+	echo "\n<tr>"; // Kopfzeile der Tabelle
+		echo "\n\t<td class='head'>Gemarkung</td>";
+		echo "\n\t<td class='head'>Flur</td>";
+		echo "\n\t<td class='head' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'>Flurst.</td>";
+		echo "\n\t<td class='head fla'>Fl&auml;che</td>";
+		echo "\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>";
+	echo "\n</tr>";
+	$j=0;
+	while($rowf = pg_fetch_array($resf)) {
+		$flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT);
+		$fskenn=$rowf["zaehler"]; // Bruchnummer
+		if ($rowf["nenner"] != "") {$fskenn.="/".$rowf["nenner"];}
+		$flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;";
+		echo "\n<tr>";
+			echo "\n\t<td>";
+			if ($showkey) {echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";}
+			echo $rowf["bezeichnung"]."</td>";
+			echo "\n\t<td>".$flur."</td>";
+			echo "\n\t<td><span class='wichtig'>".$fskenn."</span>";
+				if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck");}
+			echo "</td>";
+			echo "\n\t<td class='fla'>".$flae."</td>";
+			echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
+				echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n";
+					if ($idanzeige) {echo "&amp;id=j";}
+					if ($showkey)   {echo "&amp;showkey=j";}
+				echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''></a>";
+			echo "\n\t\t</p>\n\t</td>";
+		echo "\n</tr>";
+		$j++;
+	}
+	echo "\n</table>";
+}
+
+// L A G E
+// andere Lage mit gleicher Hausnummer suchen
+if ($ltyp <> "o") { // nicht bei Gewanne (Ohne HsNr)
+	echo "\n\n<a name='lage'></a><h3><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Lage</h3>\n";
+	echo "\n<p>andere Lagebezeichnungen zur gleichen Hausnummer.</p>";
+	$whereclaus="WHERE land= $1 AND regierungsbezirk= $2 AND kreis= $3 AND gemeinde= $4 AND lage= $5 ";
+
+	$url=$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;id=".$id; // Basis
+	if ($idanzeige) {$url.="&amp;id=j";}
+	if ($showkey)   {$url.="&amp;showkey=j";}
+	$url.="&amp;gmlid=";
+
+	switch ($ltyp) {
+		case "m": // aktuell Hausnummer gefunden
+			// dazu alle NebengebÃ€ude suchen
+			echo "\n<p>Nebengeb&auml;ude: ";
+			$sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l ";
+			$sql.=$whereclaus."AND lage= $6 AND pseudonummer= $7 ORDER BY laufendenummer;";
+		// pseudonummer character varying(5), laufendenummer character varying(2),
+
+			$v = array($land,$regbez,$kreis,$gem,$lage,$lage,$hsnr);
+			$res = pg_prepare("", $sql);
+			$res = pg_execute("", $v);
+			if (!$res) {
+				echo "\n<p class='err'>Fehler bei Nebengeb&auml;ude.<br>".$sql."</p>\n";
+				if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."</p>";}
+			}
+			while($row = pg_fetch_array($res)) {
+				echo "\n\t<a href='".$url.$row["gml_id"]."&amp;ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a>&nbsp;&nbsp;";
+			}
+			echo "</p>";
+		break;
+
+		case "p": // aktuell NebengebÃ€ude: Haupt- und NebengebÃ€ude suchen
+			echo "\n<p>Hauptgeb&auml;ude: ";
+			$sql ="SELECT l.gml_id FROM ax_lagebezeichnungmithausnummer l ";
+			$sql.=$whereclaus."AND hausnummer= $6;";
+
+			$v = array($land,$regbez,$kreis,$gem,$lage,$pseu);
+			$res = pg_prepare("", $sql);
+			$res = pg_execute("", $v);
+
+			if (!$res) echo "<p class='err'>Fehler bei Hauptgeb&auml;ude.<br>".$sql."</p>\n";
+			while($row = pg_fetch_array($res)) {
+				echo "\n\t<a href='".$url.$row["gml_id"]."&amp;ltyp=m'>Haus-Nr ".$pseu."</a>&nbsp;&nbsp;";
+			}
+			echo "</p>";
+
+			echo "\n<p>weitere Nebengeb&auml;ude: ";
+			$sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l ";
+			$sql.=$whereclaus."AND pseudonummer= $6 AND laufendenummer <> $7 ORDER BY laufendenummer;";
+			$v = array($land,$regbez,$kreis,$gem,$lage,$pseu,$lfd);
+			$res = pg_prepare("", $sql);
+			$res = pg_execute("", $v);
+			if (!$res) {
+				echo "\n<p class='err'>Fehler bei Nebengeb&auml;ude.</p>\n";
+				if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."</p>";}			
+			}
+			while($row = pg_fetch_array($res)) {
+				echo "\n\t<a href='".$url.$row["gml_id"]."&amp;ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a>&nbsp;&nbsp;";
+			}
+			echo "</p>";
+		break;
+	}
+}
+
+// G E B A E U D E
+if ($ltyp <> "o") { // OhneHsNr linkt nur Flurst.
+	echo "\n\n<a name='geb'></a><h3><img src='ico/Haus.ico' width='16' height='16' alt=''> Geb&auml;ude</h3>";
+	echo "\n<p>mit dieser Lagebezeichnung.</p>";
+	switch ($ltyp) {
+		case "p": $bezart="hat"; break;
+		case "m": $bezart="zeigtAuf"; break;
+	}
+	$sql ="SELECT g.gml_id, g.gebaeudefunktion, g.name, g.bauweise, g.grundflaeche, g.zustand, ";
+	$sql.="round(area(g.wkb_geometry)::numeric,2) AS flaeche, h.bauweise_beschreibung, u.bezeichner ";
+	$sql.="FROM ax_gebaeude g ";
+	$sql.="JOIN alkis_beziehungen v ON g.gml_id=v.beziehung_von "; 
+	$sql.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise = h.bauweise_id ";
+	$sql.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion = u.wert ";
+// +++ JOIN Zustand
+	$sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart= $2 ;";
+	$v = array($gmlid,$bezart);
+	$res = pg_prepare("", $sql);
+	$res = pg_execute("", $v);
+	if (!$res) {
+		echo "<p class='err'>Fehler bei Gebaeude.</p>\n";
+		if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+	}
+	echo "\n<table class='geb'>";
+	echo "\n<tr>"; // T-Header
+		echo "\n\t<td class='head' title='Geb&auml;udename'>Name</td>";
+		echo "\n\t<td class='head fla' title='Fl&auml;che'>Fl&auml;che</td>";
+		echo "\n\t<td class='head' title='Geb&auml;udefunktion ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Geb&auml;udes'>Funktion</td>";
+		echo "\n\t<td class='head' title='Bauweise (Schl&uuml;ssel und Beschreibung)'>Bauweise</td>";
+		echo "\n\t<td class='head' title='Zustand (Schl&uuml;ssel und Beschreibung)'>Zustand</td>";
+		echo "\n\t<td class='head nwlink' title='Link zu kompletten Hausdaten'>Haus</td>";
+	echo "\n</tr>";
+	// T-Body
+	$i=0;
+	while($row = pg_fetch_array($res)) {
+		$ggml=$row["gml_id"];
+		$gfla=$row["flaeche"];
+		echo "\n\t<tr>";
+
+			echo "<td>";
+				if ($idanzeige) {linkgml($gkz, $ggml, "Geb&auml;ude");}
+				// +++ Hausnummer / Adresse ???
+			echo $row["name"]."</td>";
+			echo "<td class='fla'>".$gfla." m&#178;</td>";
+			echo "<td>";
+			if ($showkey) {echo "<span class='key'>".$row["gebaeudefunktion"]."</span> ";}
+			echo $row["bezeichner"]."</td>";
+			echo "<td>";
+				if ($showkey) {echo "<span class='key'>".$row["bauweise"]."</span> ";}
+			echo $row["bauweise_beschreibung"]."</td>";
+
+			echo "<td>".$row["zustand"]."</td>"; // +++ EntschlÃŒsseln
+
+			echo "\n\t<td class='nwlink noprint'>";
+				echo "<a title='Hausdaten' href='alkishaus.php?gkz=".$gkz."&amp;gmlid=".$ggml;
+				if ($idanzeige) {echo "&amp;id=j";}
+				echo "'><img src='ico/Haus.ico' width='16' height='16' alt=''></a>";
+			echo "</td>";
+
+		echo "</tr>";
+	}
+	echo "\n</table>";
+}
+
+?>
+
+<form action=''>
+	<div class='buttonbereich noprint'>
+	<hr>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken"></a>&nbsp;
+	</div>
+</form>
+
+<?php footer($gmlid, $_SERVER['PHP_SELF']."?", "&amp;ltyp=".$ltyp); ?>
+
+</body>
+</html>
Index: branches/0.7/info/info/alkis/mapbender.php
===================================================================
--- branches/0.7/info/info/alkis/mapbender.php	(revision 329)
+++ branches/0.7/info/info/alkis/mapbender.php	(revision 329)
@@ -0,0 +1,4 @@
+<?php
+header("Location: http://map.krz.de/mapwww/frames/login.php?name=alkisdemo&password=alkisdemo&mb_user_myGui=ALKIS_Demo&mb_myPOI2SCALE=353072,5530881,1000");
+exit();
+?>
Index: branches/0.7/info/info/alkis/alkis_conf_location.php
===================================================================
--- branches/0.7/info/info/alkis/alkis_conf_location.php	(revision 329)
+++ branches/0.7/info/info/alkis/alkis_conf_location.php	(revision 329)
@@ -0,0 +1,19 @@
+<?php
+/*	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+	Pfad zur Konfigurationsdatei der ALKIS-Auskunft.
+	Die Conf-Datei sollte aus SicherheitsgrÃŒnden nicht unterhalb des Web-Root-Verzeichnisses liegen.
+
+	Version:
+	14.12.2010 zentrale Anpassung des Pfades
+	25.07.2011 PostNAS  0.5/0.6 Versionen unterscheiden
+	04.11.2011 PostNAS  Datenbankname um "_neu" erweitert
+*/
+# relativ:
+#	require_once(dirname(__FILE__)."/../../../../conf/alkis_www_conf.php");
+#
+# absolut:
+#  Hier: Entwicklungs-Version
+	require_once("/data/conf/alkis_entw_conf.php");
+	$dbname = $dbpre.$dbvers.$gkz;			// Prefix + Konverter-Version + Mandant
+//	$dbname = $dbpre.$dbvers.$gkz."_neu";	// Prefix + Konverter-Version + Mandant  ENTWICKLUNG aus neuem Schema
+?>
Index: branches/0.7/info/info/alkis/alkisfsnw.php
===================================================================
--- branches/0.7/info/info/alkis/alkisfsnw.php	(revision 329)
+++ branches/0.7/info/info/alkis/alkisfsnw.php	(revision 329)
@@ -0,0 +1,867 @@
+<?php
+/*	Modul: alkisfsnw.php
+
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+	FlurstÃŒcksnachweis fuer ein FlurstÃŒckskennzeichen aus ALKIS PostNAS
+
+	Version:
+	2011-11-16 Neuer Style class='dbg', Link Historie
+	2011-11-17 Parameter der Functions geÃ€ndert
+	2011-11-30 import_request_variables, $dbvers PostNAS 0.5 entfernt
+	2011-12-01 Summe der AbschnittsflÃ€chen (NUA) an amtl. BuchflÃ€che des FS angleichen 
+	2011-12-16 Zeilenumbruch in Nutzungsart, Spaltenbreite Link
+	2012-07-24 Export als CSV, pg_free_result(), pg_close()
+	2012-11-27 split deprecated, besser: explode
+	2013-01-17 FS-Kennzeichen (ALB-Format) als Parameter statt gmlid mÃ¶glich
+	2013-04-08 deprecated "import_request_variables" ersetzt
+	2013-04-11 ID-Links (im Testmodus) auch an Lagebezeichnung (mit/ohne HsNr) und an Nutzungs-Abschnitt
+	2013-06-24 Unna: Bodenneuordnung, strittige Grenze
+	2013-06-27 Bodenneuordnung u. stritt.Gr. in Tabellen-Struktur, Link zur Bodenerneuerung (neues Modul)
+	2014-01-30 Korrektur Nutzungsart (z.B. Friedhof mit class=funktion=0 hatte Anzeige "unbekannt")
+	2014-02-06 Korrektur
+
+	ToDo:
+	- BodenschÃ€tzung anzeigen
+	- EntschlÃŒsseln "Bahnkategorie" bei Bahnverkehr, "OberflÃ€chenmaterial" bei Unland
+	  Dazu evtl. diese Felder ins Classfld verschieben (Meta-Tabellen!)
+*/
+session_start();
+$cntget = extract($_GET);
+require_once("alkis_conf_location.php");
+if ($auth == "mapbender") {require_once($mapbender);}
+include("alkisfkt.php");
+if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;}
+$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
+if ($keys == "j") {$showkey=true;} else {$showkey=false;}
+?>
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="author" content="b600352" >
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<title>ALKIS Flurst&uuml;cksnachweis</title>
+	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico">
+	<script type="text/javascript">
+		function ALKISexport() {
+			window.open(<?php echo "'alkisexport.php?gkz=".$gkz."&tabtyp=flurstueck&gmlid=".$gmlid."'"; ?>);
+		}
+	</script>
+	<style type='text/css' media='print'>
+		.noprint {visibility: hidden;}
+	</style>
+</head>
+<body>
+
+<?php
+$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
+
+// Ein (ALB- ?) FlurstÃŒcks-Kennzeichen wurde alternativ zur gml_id ÃŒbermittelt
+if ($gmlid == '' and $fskennz != '') {
+	// Ãbergabe Format z.B. "llgggg-fff-nnnn/zz.nn" oder "gggg-ff-nnn/zz"
+	$arr=explode("-", $fskennz, 4);
+	$zgemkg=trim($arr[0]);
+	if (strlen($zgemkg) == 20 and $arr[1] == "") { // Oh, ist wohl schon das Datenbank-Feldformat 
+		$fskzdb=$zgemkg;
+	} else { // NÃ¶, ist wohl eher ALB-Format
+		// Das Kennzeichen auseinander nehmen. 
+		if (strlen($zgemkg) == 6) {
+			$land=substr($zgemkg, 0, 2);
+			$zgemkg=substr($zgemkg, 2, 4);
+		} else { // kein schÃ¶ner Land ..
+			$land='05'; // NRW, ToDo: Default-Land aus config
+		}
+		$zflur=str_pad($arr[1], 3 , "0", STR_PAD_LEFT); // Flur-Nr
+		$zfsnr=trim($arr[2]); // FlurstÃŒcke-Nr
+		$zn=explode("/", $zfsnr, 2); // Bruch?
+		$zzaehler=str_pad(trim($zn[0]), 5 , "0", STR_PAD_LEFT);	
+		$znenner=trim($zn[1]);
+		if (trim($znenner, " 0.") == "") { // kein Bruch oder nur Nullen
+			$znenner="____"; // in DB-Spalte mit Tiefstrich aufgefÃŒllt
+		} else {
+			$zn=explode(".", $znenner, 2); // .00 wegwerfen
+			$znenner=str_pad($zn[0], 4 , "0", STR_PAD_LEFT);
+		}
+		// nun die Teile stellengerecht wieder zusammen setzen		
+		$fskzdb=$land.$zgemkg.$zflur.$zzaehler.$znenner.'__'; // FS-Kennz. Format Datenbank
+	}
+	// Feld flurstueckskennzeichen ist in DB indiziert
+	// Format z.B.'052647002001910013__' oder '05264700200012______'
+	$sql ="SELECT gml_id FROM ax_flurstueck WHERE flurstueckskennzeichen= $1 ;";
+
+	$v = array($fskzdb);
+	$res = pg_prepare("", $sql);
+	$res = pg_execute("", $v);
+	if ($row = pg_fetch_array($res)) {
+		$gmlid=$row["gml_id"];
+	} else {
+		echo "<p class='err'>Fehler! Kein Treffer f&uuml;r Flurst&uuml;ckskennzeichen='".$fskennz."' (".$fskzdb.")</p>";
+	}
+	pg_free_result($res);
+}
+
+// F L U R S T U E C K
+$sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche, st_area(f.wkb_geometry) AS fsgeomflae, f.zeitpunktderentstehung, ";
+$sql.="g.gemarkungsnummer, g.bezeichnung ";
+$sql.="FROM ax_flurstueck f ";
+$sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
+$sql.="WHERE f.gml_id= $1";
+
+$v = array($gmlid); // mit gml_id suchen
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+if (!$res) {
+	echo "\n<p class='err'>Fehler bei Flurstuecksdaten</p>\n";
+	if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+if ($row = pg_fetch_array($res)) {
+	$gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
+	$gmkgnr=$row["gemarkungsnummer"];
+	$bezirk=$row["regierungsbezirk"];
+	$kreis=$row["kreis"];
+	$gemeinde=$row["gemeinde"];
+	$flurnummer=$row["flurnummer"];
+	$flstnummer=$row["zaehler"];
+	$nenner=$row["nenner"];
+	if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr
+	$fsbuchflae=$row["amtlicheflaeche"]; // amtliche Fl. aus DB-Feld
+	$fsgeomflae=$row["fsgeomflae"]; // aus Geometrie ermittelte FlÃ€che
+	$fsbuchflaed=number_format($fsbuchflae,0,",",".") . " m&#178;"; // Display-Format dazu
+	$fsgeomflaed=number_format($fsgeomflae,0,",",".") . " m&#178;";
+	$entsteh=$row["zeitpunktderentstehung"];
+	$name=$row["name"]; // Fortfuehrungsnummer(n)
+	$arrn = explode(",", trim($name, "{}") ); // PHP-Array
+} else {
+	echo "<p class='err'>Fehler! Kein Treffer f&uuml;r gml_id=".$gmlid."</p>";
+	if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+pg_free_result($res);
+// Balken
+if ($eig=="j") {
+	echo "<p class='fsei'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
+	echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck mit Eigent&uuml;mer</h2>\n";
+} else {
+	echo "<p class='fskennz'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
+	echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck</h2>\n";
+}
+echo "\n<table class='outer'>\n<tr>\n\t<td>"; // linke Seite
+	// darin Tabelle Kennzeichen
+	echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
+		echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>";
+		echo "\n\t<tr>\n\t\t<td title='Gemarkung'>";
+		if ($showkey) {
+			echo "<span class='key'>".$gmkgnr."</span><br>";
+		}
+		echo $gemkname."&nbsp;</td>";
+		echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
+		echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>";
+	echo "\n\t</table>";
+echo "\n\t</td>\n\t<td>"; // rechte Seite
+	// FS-Daten 2 Spalten
+	echo "\n\t<table class='fsd'>";
+		echo "\n\t<tr>\n\t\t<td>Entstehung</td>";
+		echo "\n\t\t<td>".$entsteh."</td>\n\t</tr>";
+		echo "\n\t<tr>";
+			echo "\n\t\t<td>letz. Fortf</td>";
+			echo "\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>";
+				foreach($arrn AS $val) { // Zeile f. jedes Element des Array
+					echo trim($val, '"')."<br>";
+				}
+			echo "</td>";
+		echo "\n\t</tr>";
+
+	echo "\n\t</table>";
+	if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
+echo "\n\t</td>\n</tr>\n</table>";
+//	echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame  . "</td>\n</tr>";
+// Ende Seitenkopf
+
+echo "\n<hr>";
+echo "\n<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle
+echo "\n<table class='fs'>";
+
+// ** G e b i e t s z u g e h o e r i g k e i t **
+// eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben
+// Schluessel "land" wird nicht verwendet, gibt es Bestaende wo das nicht einheitlich ist?
+echo "\n<tr>\n\t<td class='ll'><img title='Im Gebiet von' src='ico/Gemeinde.ico' width='16' height='16' alt=''> Gebiet:</td>";
+
+// G e m e i n d e
+$sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk= $1 AND kreis= $2 AND gemeinde= $3"; 
+
+$v = array($bezirk,$kreis,$gemeinde);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+if (!$res) {
+	echo "\n<p class='err'>Fehler bei Gemeinde</p>\n";
+	if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
+}
+$row = pg_fetch_array($res);
+$gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
+echo "\n\t<td class='lr'>Gemeinde</td><td class='lr'>";
+if ($showkey) {
+	echo "<span class='key'>(".$gemeinde.")</span> ";
+}
+echo $gnam."</td><td width='80'>";  // Mindest-Breite der Spalte fuer die Links 
+	// Link zur FlurstÃŒcks-Historie (passt nicht ganz in die Zeile "Gemeinde", aber gut unter "weitere Auskunft")
+	echo "\n<p class='nwlink noprint'>";
+		echo "\n\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
+				if ($idanzeige) {echo "&amp;id=j";}
+				if ($showkey)   {echo "&amp;showkey=j";}
+			echo "' title='Vorg&auml;nger-Flurst&uuml;cke'>Historie ";
+			echo "<img src='ico/Flurstueck_Historisch.ico' width='16' height='16' alt=''>";
+		echo "</a>";
+	echo "\n</p>";
+echo "</td></tr>";
+pg_free_result($res);
+
+// K r e i s
+$sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk= $1 AND kreis= $2"; 
+$v = array($bezirk,$kreis);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+if (!$res) {
+	echo "\n<p class='err'>Fehler bei Kreis</p>\n";
+	if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
+}
+$row = pg_fetch_array($res);
+$knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
+echo "<tr><td>&nbsp;</td><td>Kreis</td><td>";
+if ($showkey) {
+	echo "<span class='key'>(".$kreis.")</span> ";
+}
+echo $knam."</td><td>&nbsp;</td></tr>";
+pg_free_result($res);
+
+// R e g - B e z
+$sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk= $1 ";
+$v = array($bezirk);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+if (!$res) {
+	echo "<p class='err'>Fehler bei Regierungsbezirk</p>";
+	if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
+}
+$row = pg_fetch_array($res);
+$bnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
+echo "<tr><td>&nbsp;</td><td>Regierungsbezirk</td><td>";
+if ($showkey) {
+	echo "<span class='key'>(".$bezirk.")</span> ";
+}
+echo $bnam."</td><td>&nbsp;</td></tr>";
+pg_free_result($res);
+// ENDE G e b i e t s z u g e h o e r i g k e i t
+
+// ** L a g e b e z e i c h n u n g **
+
+// Lagebezeichnung Mit Hausnummer
+// ax_flurstueck  >weistAuf>  AX_LagebezeichnungMitHausnummer
+$sql ="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung ";
+$sql.="FROM alkis_beziehungen v ";
+$sql.="JOIN ax_lagebezeichnungmithausnummer  l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN
+$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde ";
+$sql.="AND l.lage = s.lage ";
+$sql.="WHERE v.beziehung_von= $1 "; // id FS";
+$sql.="AND v.beziehungsart='weistAuf' ";
+$sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;";
+// Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage
+// bei einem SekundÃ€rbestand fÃŒr eine Gemeinde oder einen Kreis reicht dies hier:
+
+$v = array($gmlid);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+if (!$res) {
+	echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer</p>";
+	if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
+}
+$j=0;
+while($row = pg_fetch_array($res)) {
+	$sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
+	echo "\n<tr>\n\t";
+		if ($j == 0) {
+			echo "<td class='ll'><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Adresse:</td>";
+		} else {
+			echo "<td>&nbsp;</td>";
+		}
+		echo "\n\t<td>&nbsp;</td>";
+		echo "\n\t<td class='lr'>";
+		if ($showkey) {
+			echo "<span class='key' title='StraÃenschl&uuml;ssel'>(".$row["lage"].")</span>&nbsp;";
+		}
+		echo $sname."&nbsp;".$row["hausnummer"];
+		if ($idanzeige) {linkgml($gkz, $row["gml_id"], "Lagebezeichnung mit Hausnummer");}
+		echo "</td>";
+		echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
+			echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"];
+			if ($showkey) {echo "&amp;showkey=j";}
+			echo "'>Lage ";
+			echo "<img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a>";
+		echo "\n\t\t</p>\n\t</td>";
+	echo "\n</tr>";
+	$j++;
+}
+pg_free_result($res);
+// Verbesserung: mehrere HsNr zur gleichen StraÃe als Liste?
+
+// L a g e b e z e i c h n u n g   O h n e   H a u s n u m m e r  (Gewanne oder nur Strasse)
+// ax_flurstueck  >zeigtAuf>  AX_LagebezeichnungOhneHausnummer
+$sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung ";
+$sql.="FROM alkis_beziehungen v ";
+$sql.="JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=v.beziehung_zu ";
+$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde ";
+$sql.="AND l.lage = s.lage ";
+$sql.="WHERE v.beziehung_von= $1 "; // id FS
+$sql.="AND   v.beziehungsart='zeigtAuf';"; //ORDER?
+$v = array($gmlid);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+if (!$res) {
+	echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer</p>";
+	if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
+}
+$j=0;
+// Es wird auch eine Zeile ausgegeben, wenn kein Eintrag gefunden!
+while($row = pg_fetch_array($res)) {
+	$gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8");
+	$skey=$row["lage"]; // Strassenschl.
+	$lgml=$row["gml_id"]; // key der Lage
+	if (!$gewann == "") {
+		echo "\n<tr>";
+			echo "\n\t<td class='ll' title='Lagebezeichnung'><img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''> Gewanne:</td>";
+			echo "\n\t<td></td>";
+			echo "\n\t<td class='lr'>".$gewann."</td>";
+			echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
+				echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml;
+				if ($showkey) {echo "&amp;showkey=j";}				
+				echo "'>\n\t\t\tLage <img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''></a>";
+			echo "\n\t\t</p>\n\t</td>";
+		echo "\n</tr>";
+	}
+	// Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link
+	if ($skey > 0) {
+		echo "\n<tr>";
+			echo "\n\t<td class='ll'><img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''> Stra&szlig;e:</td>";
+			echo "\n\t<td></td>";
+			echo "\n\t<td class='lr'>";
+			if ($showkey) {
+				echo "<span class='key'>(".$skey.")</span>&nbsp;";
+			}
+			echo $row["bezeichnung"];
+			if ($idanzeige) {linkgml($gkz, $lgml, "Lagebezeichnung o. HsNr.");}
+			echo "</td>";
+			echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
+				echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml;
+				if ($showkey) {echo "&amp;showkey=j";}				
+				echo "'>\n\t\t\tLage <img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''>\n\t\t\t</a>";
+			echo "\n\t\t</p>\n\t</td>";
+		echo "\n</tr>";
+	}
+	$j++;
+}
+pg_free_result($res);
+// ENDE  L a g e b e z e i c h n u n g
+
+// ** N U T Z U N G ** Gemeinsame FlÃ€che von NUA und FS
+// Tabellenzeilen (3 Spalten) mit tats. Nutzung zu einem FS ausgeben
+$sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, n.nutz_id, n.class, n.info, n.zustand, n.name, n.bezeichnung, m.gruppe, ";
+$sql.="st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) AS schnittflae, c.label, c.blabla ";
+$sql.="FROM ax_flurstueck f, nutzung n JOIN nutzung_meta m ON m.nutz_id=n.nutz_id ";
+$sql.="LEFT JOIN nutzung_class c ON c.nutz_id=n.nutz_id AND c.class=n.class ";
+$sql.="WHERE f.gml_id= $1 AND st_intersects(n.wkb_geometry,f.wkb_geometry) = true "; // id FS, ueberlappende Flaechen
+$sql.="AND st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) > 0.05 "; // unter Rundung
+$sql.="ORDER BY schnittflae DESC;";
+
+$v = array($gmlid);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+if (!$res) {
+	echo "<p class='err'>Fehler bei Suche tats. Nutzung</p>\n";
+	if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+$the_Xfactor=$fsbuchflae / $fsgeomflae; // geom. ermittelte FlÃ€che auf amtl. BuchflÃ€che angleichen
+$j=0;
+while($row = pg_fetch_array($res)) {
+	$grupp=$row["gruppe"]; // 4 Gruppen
+	$nutzid=$row["nutz_id"]; // 27 Tabellen, num. Key
+	$title=htmlentities($row["title"], ENT_QUOTES, "UTF-8"); // Titel der 27 Tabellen
+	$fldclass=$row["fldclass"]; // Name 1. Zusatzfeld
+	$fldinfo= $row["fldinfo"];  // Name 2. Zus.
+	$gml=$row["gml_id"];
+	$class=$row["class"]; // 1. Zusatzfeld verschlÃŒsselt -> nutzung_class
+	$info=$row["info"]; // 2. Zus. verschlÃŒsselt (noch keine Info zum entschl.)
+	$schnittflae=$row["schnittflae"];
+	$label=$row["label"]; // Nutzungsart entschlÃŒsselt
+	$zus=$row["zustand"]; // im Bau
+	$nam=$row["name"]; // Eigenname
+	$bez=$row["bezeichnung"]; // weiterer Name (unverschl.)
+	$blabla=htmlentities($row["blabla"], ENT_QUOTES, "UTF-8");
+	$label=str_replace("/", "<br>", $label); // Ersetzt "/" durch html-Zeilenwechsel
+
+	echo "\n<tr>\n\t";
+		if ($j == 0) {
+			echo "<td class='ll' title='Abschnitt der tats&auml;chlichen Nutzung'><img src='ico/Abschnitt.ico' width='16' height='16' alt=''> Nutzung:</td>";
+		} else {
+			echo "<td>&nbsp;</td>";
+		}
+		$absflaebuch = $schnittflae * $the_Xfactor; // angleichen geometrisch an amtliche FlÃ€che
+		$schnittflae = number_format($schnittflae,1,",",".") . " m&#178;"; // geometrisch
+		$absflaebuch = number_format($absflaebuch,0,",",".") . " m&#178;"; // Abschnitt an BuchflÃ€che angeglichen
+		echo "\n\t<td class='fla' title='geometrisch berechnet: ".$schnittflae."'>".$absflaebuch."</td>";
+
+		echo "\n\t<td class='lr'>";
+			if ($class == 0) {
+				if ($showkey) {echo "<span class='key'>(".$nutzid.")</span> ";}
+				echo $title; // Name der Tabelle
+			} elseif ( ($fldclass == "Funktion" OR $fldclass == "Vegetationsmerkmal") AND $label != "") { // Kurze Anzeige
+				if ($showkey) {echo "<span class='key' title='".$fldclass."'>(".$nutzid."-".$class.")</span> ";}
+				if ($blabla = "") {
+					echo $label;
+				} else {
+					echo "<span title='".$blabla."'>".$label."</span>";
+				}
+			} else { // ausfuehrlichere Anzeige
+				echo $title; // NUA-Tabelle
+				if ($class != "") { // NUA-SchlÃŒssel
+					echo ", ".$fldclass.": "; // Feldname
+					if ($showkey) {echo "<span class='key' title='".$fldclass."'>(".$nutzid."-".$class.")</span> ";}
+					if ($label != "") { // Bedeutung dazu wurde erfasst
+						if ($blabla = "") {
+							echo $label;
+						} else {
+							echo "<span title='".$blabla."'>".$label."</span>";
+						}
+					} else { // muss noch erfasst werden
+						echo $class." "; // SchlÃŒssel als Ersatz fÃŒr Bedeutung
+					}
+				}
+			}
+
+			if ($info != "") { // manchmal ein zweites Zusatzfeld (wie entschlÃŒsseln?)
+				echo ", ".$fldinfo."=".$info;
+			}
+			if ($zus != "") { // Zustand
+				echo "\n\t\t<br>";
+				if ($showkey) {echo "<span class='key'>(".$zus.")</span> ";}
+				echo "<span title='Zustand'>";				
+				switch ($zus) {
+					case 2100: echo "AuÃer Betrieb, stillgelegt, verlassen"; break;
+					case 4000: echo "Im Bau"; break;
+					case 8000: echo "Erweiterung, Neuansiedlung"; break;
+					default: echo "Zustand: ".$zus; break;
+				}
+				echo "</span>";
+			}
+			if ($nam != "") {echo "<br>Name: ".$nam;}
+			if ($bez != "") {echo "<br>Bezeichnung: ".$bez;}
+			if ($idanzeige) {linkgml($gkz, $gml, "Nutzungs-Abschnitt");}
+
+		echo "</td>";
+		echo "\n\t<td>";
+			switch ($grupp) { // Icon nach 4 Objektartengruppen
+				case "Siedlung":		$ico = "Abschnitt.ico";	break;
+				case "Verkehr":		$ico = "Strassen_Klassifikation.ico";	break;
+				case "Vegetation":	$ico = "Wald.ico";	break;
+				case "GewÃ€sser":		$ico = "Wasser.ico";	break;
+				default:					$ico = "Abschnitt.ico";	break;
+			}
+			// Icon ist auch im Druck sichtbar, class='noprint' ?		
+			echo "<p class='nwlink'><img title='".$title."' src='ico/".$ico."' width='16' height='16' alt='NUA'></p>";
+		echo "</td>";
+	echo "\n</tr>";
+	$j++;
+}
+pg_free_result($res);
+// ENDE  N U T Z U N G
+
+echo "\n<tr>"; // Summenzeile
+	echo "\n\t<td class='ll' title='amtliche Fl&auml;che (Buchfl&auml;che)'>Fl&auml;che:</td>";
+	echo "\n\t<td class='fla sum'>";
+	echo "<span title='geometrisch berechnete Fl&auml;che = ".$fsgeomflaed."' class='flae'>".$fsbuchflaed."</span></td>";
+
+	// Flaeche und Link auf GebÃ€ude-Auswertung
+	echo "\n\t<td>&nbsp;</td>\n\t<td>";
+		echo "\n\t\t<p class='nwlink noprint'>"; // Gebaeude-Verschneidung
+			echo "\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
+			if ($idanzeige) {echo "&amp;id=j";}
+			if ($showkey) {echo "&amp;showkey=j";}
+			echo "' title='Geb&auml;udenachweis'>Geb&auml;ude <img src='ico/Haus.ico' width='16' height='16' alt=''></a>";
+		echo "\n\t\t</p>";
+	echo "\n\t</td>";
+echo "\n</tr>";
+
+// Hinweis auf Bodenneuordnung oder eine strittige Grenze
+//  b.name, b.artderfestlegung, 
+
+$sql_boden ="SELECT a.wert, a.bezeichner AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez, ";
+$sql_boden.="b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key ";
+$sql_boden.="FROM ax_bauraumoderbodenordnungsrecht b JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON a.wert = b.artderfestlegung ";
+$sql_boden.="LEFT JOIN ax_dienststelle d ON b.stelle = d.stelle ";
+$sql_boden.="WHERE ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry) ";
+$sql_boden.="OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry)";
+pg_prepare($con, "bodeneuordnung", $sql_boden);
+$res_bodeneuordnung = pg_execute($con, "bodeneuordnung", array($gmlid));
+
+$sql_str = "SELECT gml_id FROM ax_besondereflurstuecksgrenze WHERE 1000 = ANY(artderflurstuecksgrenze) AND ST_touches((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry);";
+pg_prepare($con, "strittigeGrenze", $sql_str);
+$res_strittigeGrenze = pg_execute($con, "strittigeGrenze", array($gmlid));
+
+if (pg_num_rows($res_bodeneuordnung) > 0 OR pg_num_rows($res_strittigeGrenze) > 0) {
+	echo "\n<tr>";
+	echo "\n\t<td title='Hinweise zum Flurst&uuml;ck'><h6><img src='ico/Hinweis.ico' width='16' height='16' alt=''> ";
+	echo "Hinweise:</td></h6>\n\t<td colspan=3>&nbsp;</td>";
+	echo "\n</tr>";
+
+	if (pg_num_rows($res_bodeneuordnung) > 0) {
+
+		while ($row = pg_fetch_array($res_bodeneuordnung)) { // 3 Zeilen je Verfahren
+
+			// Zeile 1 - kommt immer, darum hier den Link
+			echo "\n<tr title='Bau-, Raum- oder Bodenordnungsrecht'>";
+				echo "\n\t<td>Bodenrecht:</td>";
+				echo "\n\t<td>Festlegung</td>"; // "Art der Festlegung" zu lang
+				echo "\n\t<td>";
+					if ($showkey) {echo "<span class='key'>(".$row['wert'].")</span> ";}
+					echo $row['art_verf'];
+				echo "</td>";
+				echo "\n\t<td>";
+				// LINK:
+				echo "\n\t\t<p class='nwlink noprint'>";
+					echo "\n\t\t\t<a href='alkisbaurecht.php?gkz=".$gkz."&amp;gmlid=".$row['verf_gml'];
+					if ($idanzeige) {echo "&amp;id=j";}
+					if ($showkey) {echo "&amp;showkey=j";}
+					echo "' title='Bau-, Raum- oder Bodenordnungsrecht'>Recht <img src='ico/Gericht.ico' width='16' height='16' alt=''></a>";
+				echo "\n\t\t</p>";			
+				echo "</td>";
+			echo "\n</tr>";
+
+			// Zeile 2
+			$dstell=$row['stelle_key']; // LEFT JOIN
+			if ($dstell != "") { // Kann auch leer sein
+				echo "\n<tr title='Flurbereinigungsbeh&ouml;rde'>";
+					echo "\n\t<td>&nbsp;</td>";
+					echo "\n\t<td>Dienststelle</td>";
+					echo "\n\t<td>";
+						if ($showkey) {echo "<span class='key'>(".$dstell.")</span> ";}
+						echo $row['stelle_bez'];
+					echo "</td>";
+					echo "\n\t<td>&nbsp;</td>";
+				echo "\n</tr>";
+			}
+
+			// Zeile 3
+			$vbez=$row['verf_bez']; // ist nicht immer gefÃŒllt
+			$vnam=$row['verf_name']; // noch seltener
+			if ($vbez != "") {
+				echo "\n<tr title='Verfahrensbezeichnung'>";
+					echo "\n\t<td>&nbsp;</td>\n\t<td>Verfahren</td>";
+					echo "\n\t<td>";
+						if ($vnam == "") {
+							echo $vbez; // nur die Nummer
+						} else {	// Name oder beides
+							if ($showkey) {echo "<span class='key'>(".$vbez.")</span> ";}
+							echo $vnam;
+						}
+		 			echo "</td>";
+					echo "\n\t<td>&nbsp;</td>";
+				echo "\n</tr>";
+			}
+		}
+	}
+
+	if (pg_num_rows($res_strittigeGrenze) > 0) { // 1 Zeile
+		echo "\n<tr>";
+		echo "\n<td>Strittige Grenze:</td>";
+		echo "<td colspan=2>Mindestens eine Flurst&uuml;cksgrenze ist als <b>strittig</b> zu bezeichnen. Sie kann nicht festgestellt werden, weil die Beteiligten sich nicht &uuml;ber den Verlauf einigen. Nach sachverst&auml;ndigem Ermessen der Katasterbeh&ouml;rde ist anzunehmen, dass das Liegenschaftskataster nicht die rechtm&auml;&szlig;ige Grenze nachweist.</td>";
+		echo "\n<td>&nbsp;</td>";
+		echo "\n</tr>";
+	}
+}
+
+// Erweiterung Kreis Unna - Ende
+
+echo "\n</table>";
+
+// G R U N D B U C H
+echo "\n<table class='outer'>";
+	echo "\n<tr>";
+		echo "\n\t<td>";
+			echo "\n\t\t<a name='gb'></a>\n\t\t<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundb&uuml;cher</h3>";
+		echo "\n\t</td>";
+		echo "\n\t<td>";
+			echo "\n\t\t<p class='nwlink noprint'>";
+				echo "\n\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&amp;gmlid=".$gmlid;
+				if ($idanzeige) { echo "&amp;id=j";}
+				if ($showkey)   {echo "&amp;showkey=j";}
+				// Umschalter: FS-Nachw ruft sich selbst mit geaend. Param. auf. Posit. auf Marke #gb
+				if ($eig=="j") {
+					echo "&amp;eig=n#gb' title='Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>";
+				} else {
+					echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer ";
+					echo "<img src='ico/EigentuemerGBzeile.ico' width='16' height='16' alt=''></a>";
+				}
+			echo "\n\t\t</p>";
+		echo "\n\t</td>";
+	echo "\n</tr>";
+echo "\n</table>\n";
+
+// B U C H U N G S S T E L L E N  zum FS (istGebucht)
+$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, ";
+$sql.="s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, b.bezeichner AS bart ";
+$sql.="FROM alkis_beziehungen v JOIN ax_buchungsstelle s ON v.beziehung_zu=s.gml_id ";
+$sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert ";
+$sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart= $2 ORDER BY s.laufendenummer;";
+
+$v = array($gmlid,'istGebucht');
+$ress = pg_prepare("", $sql);
+$ress = pg_execute("", $v);
+if (!$ress) {
+	echo "\n<p class='err'>Keine Buchungsstelle.</p>\n";
+	if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+$bs=0; // Z.Buchungsstelle
+while($rows = pg_fetch_array($ress)) {
+	$gmls=$rows["gml_id"]; // gml b-Stelle
+	$lfd=$rows["lfd"]; // BVNR
+
+	// B U C H U N G S B L A T T  zur Buchungsstelle (istBestandteilVon)
+	$sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
+	$sql.="z.bezeichnung ";  // stelle -> amtsgericht
+	$sql.="FROM alkis_beziehungen v "; // Bez. Stelle - Blatt
+	$sql.="JOIN ax_buchungsblatt b ON v.beziehung_zu=b.gml_id ";
+	$sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";
+	$sql.="WHERE v.beziehung_von= $1 "; // id Buchungsstelle
+	$sql.="AND v.beziehungsart= $2 ";
+	$sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;";
+
+	$v = array($gmls,'istBestandteilVon');
+	$resg = pg_prepare("", $sql);
+	$resg = pg_execute("", $v);
+	if (!$resg) {
+		echo "\n<p class='err'>Kein Buchungsblatt.</p>\n";
+		if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";}
+	}
+	$bl=0; // Z.Blatt
+	while($rowg = pg_fetch_array($resg)) {
+		$gmlg=$rowg["gml_id"];
+		$beznam=$rowg["bezeichnung"];
+		$blattkeyg=$rowg["blattart"];
+		$blattartg=blattart($blattkeyg);
+
+		echo "\n<hr>";
+		echo "\n<table class='outer'>";
+		echo "\n<tr>"; // 1 row only
+			echo "\n\t<td>"; // Outer linke Spalte:
+
+				// Rahmen mit GB-Kennz
+				if ($blattkeyg == 1000) {
+					echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
+				}else {
+					echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
+				}
+					echo "\n\t<tr>\n\t\t<td class='head'>Bezirk</td>";
+						echo "\n\t\t<td class='head'>".$blattartg."</td>";
+						echo "\n\t\t<td class='head'>Lfd-Nr.</td>";
+						echo "\n\t\t<td class='head'>Buchungsart</td>";
+					echo "\n\t</tr>";
+					echo "\n\t<tr>";
+						echo "\n\t\t<td title='Grundbuchbezirk'>";
+							if ($showkey) {
+								echo "<span class='key'>".$rowg["bezirk"]."</span><br>";
+							}
+						echo $beznam."&nbsp;</td>";
+
+						echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>";
+
+						echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rows["lfd"]."</td>";
+
+						echo "\n\t\t<td title='Buchungsart'>";
+							if ($showkey) {
+								echo "<span class='key'>".$rows["buchungsart"]."</span><br>";
+							}
+						echo $rows["bart"]."</td>";
+					echo "\n\t</tr>";
+				echo "\n\t</table>";
+
+				// Miteigentumsanteil
+				if ($rows["zaehler"] <> "") {
+					echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
+				}
+			echo "\n</td>";
+
+			echo "\n<td>"; // Outer rechte Spalte: NW-Links
+				if ($idanzeige) {
+					linkgml($gkz, $gmls, "Buchungsstelle");
+					echo "<br>";
+					linkgml($gkz, $gmlg, "Buchungsblatt");
+				}
+				echo "\n\t<p class='nwlink noprint'>weitere Auskunft:<br>";
+					echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg."#bvnr".$lfd;
+						if ($idanzeige) {echo "&amp;id=j";}
+						if ($showkey)   {echo "&amp;showkey=j";}
+						if ($blattkeyg == 1000) {
+							echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>";
+						} else {
+							echo "' title='Grundbuchnachweis'>";
+						}
+						echo $blattartg." <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''>";
+					echo "</a>";
+				echo "\n\t</p>";
+			echo "\n</td>";
+		echo "\n</tr>";
+		echo "\n</table>";
+
+		// +++ Weitere Felder ausgeben? BeschreibungDesUmfangsDerBuchung
+		if ($rows["sond"] != "") {
+			echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rows["sond"]."</p>";
+		}
+		if ($rows["nrpl"] != "") {
+			echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rows["nrpl"]."</span> im Aufteilungsplan.</p>";
+		}
+
+		// E I G E N T U E M E R, zum GB
+		// Person <-benennt< AX_Namensnummer  >istBestandteilVon-> AX_Buchungsblatt
+		if ($eig=="j") { // Wahlweise mit/ohne EigentÃŒmer
+			$n = eigentuemer($con, $gmlg, false, ""); // ohne Adresse
+ 			if ($n == 0) {
+				if ($blattkeyg == 1000) {
+					echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
+					linkgml($gkz, $gmlg, "Buchungsblatt");
+				} else {
+					echo "\n<p>ohne Eigent&uuml;mer.</p>";
+				}
+			}
+		}
+		$bl++;
+	}
+	if ($bl == 0) {
+		echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>";
+		echo "\n<p class='err'>Parameter: gml_id= ".$gmls.", Beziehung='istBestandteilVon'</p>";
+		linkgml($gkz, $gmls, "Buchungstelle");
+	}
+
+	// Buchungstelle  >an>  Buchungstelle  >istBestandteilVon>  BLATT  ->  Bezirk
+	$sql ="SELECT s.gml_id AS s_gml, s.buchungsart, s.laufendenummer as lfd, ";
+	$sql.="s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, ";
+	$sql.="b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
+	$sql.="z.bezeichnung, a.bezeichner AS bart "; // stelle -> amtsgericht
+	$sql.="FROM alkis_beziehungen an "; // Bez. Stelle - Stelle
+	$sql.="JOIN ax_buchungsstelle s ON an.beziehung_von = s.gml_id ";
+	$sql.="JOIN alkis_beziehungen v ON s.gml_id = v.beziehung_von "; // Bez. Stelle - Blatt
+	$sql.="JOIN ax_buchungsblatt  b ON v.beziehung_zu = b.gml_id ";
+	$sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land = b.land AND z.bezirk = b.bezirk ";
+	$sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert ";
+	$sql.="WHERE an.beziehung_zu = $1 "; // id herrschende Buchungsstelle
+	$sql.="AND an.beziehungsart = 'an' AND v.beziehungsart = 'istBestandteilVon' ";
+	$sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;";
+	$v = array($gmls);
+	$resan = pg_prepare("", $sql);
+	$resan = pg_execute("", $v);
+	if (!$resan) {
+		echo "\n<p class='err'>Keine weiteren Buchungsstellen.</p>\n";
+		if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";}
+	}
+	$an=0; // Stelle an Stelle
+	while($rowan = pg_fetch_array($resan)) {
+		$beznam=$rowan["bezeichnung"];
+		$blattkeyan=$rowan["blattart"]; // Schluessel von Blattart
+		$blattartan=blattart($blattkeyan);
+		echo "\n<hr>\n<table class='outer'>";
+		echo "\n<tr>"; // 1 row only
+			echo "\n<td>"; // outer linke Spalte
+				// Rahmen mit Kennzeichen GB
+				if ($blattkeyan == 1000) {
+					echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
+				} else {
+					echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
+				}
+					echo "\n\t<tr>";
+						echo "\n\t\t<td class='head'>Bezirk</td>";
+						echo "\n\t\t<td class='head'>".$blattartan."</td>";
+						echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
+						echo "\n\t\t<td class='head'>Buchungsart</td>";
+					echo "\n\t</tr>";
+					echo "\n\t<tr>";
+						echo "\n\t\t<td title='Grundbuchbezirk'>";
+						if ($showkey) {echo "<span class='key'>".$rowan["bezirk"]."</span><br>";}
+						echo $beznam."</td>";
+
+						echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowan["blatt"]."</span></td>";
+
+						echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowan["lfd"]."</td>";
+
+						echo "\n\t\t<td title='Buchungsart'>";
+							if ($showkey) {echo "<span class='key'>".$rowan["buchungsart"]."</span><br>";}
+							echo $rowan["bart"];
+						echo "</td>";
+					echo "\n\t</tr>";
+				echo "\n\t</table>";
+				if ($rowan["zaehler"] <> "") {
+					echo "\n<p class='ant'>".$rowan["zaehler"]."/".$rowan["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
+				}
+			echo "\n</td>";
+			echo "\n<td>"; // outer rechte Spalte
+				if ($idanzeige) {
+					linkgml($gkz, $rowan["s_gml"], "Buchungsstelle");
+					echo "<br>";
+					linkgml($gkz, $rowan["g_gml"], "Buchungsblatt");
+				}
+				echo "\n<br>";
+				echo "\n\t<p class='nwlink'>";
+					echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowan["g_gml"];
+						if ($idanzeige) {echo "&amp;id=j";}
+						if ($showkey)   {echo "&amp;showkey=j";}
+						echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>";
+						echo $blattartan;
+						echo " <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''>";
+					echo "</a>";
+				echo "\n\t</p>";
+			echo "\n\t</td>";
+		echo "\n</tr>";
+		echo "\n</table>";
+
+		if ($blattkeyan != 1000) {
+			echo "\n<p>Blattart: ".$blattartan." (".$blattkeyan.").<br>\n"; 
+		}
+		//++ BeschreibungDesUmfangsDerBuchung?
+		if ($rowan["nrpl"] != "") {
+			echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rowan["nrpl"]."</span> im Aufteilungsplan.</p>";
+		}
+		if ($rowan["sond"] != "") {
+			echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rowan["sond"]."</p>";
+		}
+		if ($eig == "j") {
+			$n = eigentuemer($con, $rowan["g_gml"], false, ""); // ohne Adresse
+		}
+		$an++;	
+	}
+	pg_free_result($resan);
+	$bs++;
+}
+pg_free_result($resg);
+if ($bs == 0) {
+	echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>";
+	linkgml($gkz, $gmlid, "Flurst&uuml;ck");
+}
+pg_close($con);
+echo <<<END
+
+<form action=''>
+	<div class='buttonbereich noprint'>
+	<hr>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken"></a>&nbsp;
+		<a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download_fs.ico" width="32" height="16" alt="Export"></a>&nbsp;
+	</div>
+</form>
+END;
+
+footer($gmlid, $_SERVER['PHP_SELF']."?", "&amp;eig=".$eig);
+
+?>
+
+</body>
+</html>
Index: branches/0.7/info/info/alkis/alkisauszug.css
===================================================================
--- branches/0.7/info/info/alkis/alkisauszug.css	(revision 329)
+++ branches/0.7/info/info/alkis/alkisauszug.css	(revision 329)
@@ -0,0 +1,146 @@
+/*	Modul: alkisauszug.css
+	S t y l e s zur ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+
+	Version:
+	2010-09-21	Inlay
+	2010-09-30	body-width bei Print
+	2010-10-12	class p.fsd: margin statt position-relative, dann keine Scrollbar
+	2011-01-04	Spalte td.fla im fsnw
+	2011-01-26	einheitlich td padding-top 6px
+	2011-11-16	FS-Historie
+	2013-06-27	p.recht
+	2014-01-27	strasse, hsnr, Print-Balken
+*/
+body	{background-color: #FDFFFD;}
+p, body	{font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
+	font-size: 10pt; color: #000033; margin-top: 2pt; margin-bottom: 2pt;}
+
+/* ** Banner im Kopf (farbiger Balken), Farbcode fuer Nachweis-Art ** */
+p.fsausk,p.fskennz,p.fsei,p.fshis,p.gbkennz,p.nakennz,p.geb,p.lage,p.strasse,p.recht {text-align: right;}
+p.fsausk	{background-color: teal; color: silver;}	/* Uebersichts-Seite Flurstuecks-Auskunft */
+p.fskennz,p.fsei{background-color: navy; color: silver;}	/* Flurstuecks-Nachweis */
+/* p.fsei	{background-color: olive; color: silver;}*/	/* Flurstuecks- und Eigentuemer-Nachweis */
+p.fshis		{background-color: gray; color: white;}		/* Flurstuecks-Historie */
+p.gbkennz	{background-color: green; color: silver;}	/* Bestandsnachweis */
+p.nakennz	{background-color: maroon; color: silver;}	/* Personen- und Adressdaten */
+p.geb		{background-color: yellow; color: gray;}	/* Gebaeude zum FS */
+p.lage		{background-color: lime; color: gray;}		/* Lage/Adresse zum FS */
+p.strasse	{background-color: limegreen; color: slategray;}	/* Strasse */
+p.recht		{background-color: #F0F8FF; color: gray;}	/* Baurecht, Bodenneuordnung */
+
+/* Format nach Inhalt */
+p.bezieh	{text-align: right; background: olive;	color: silver;} /* Beziehungen */
+p.fsd		{margin-left: 170px;}	/* Flst-Flaeche */
+p.gbl		{position: relative; left: 60px;}	/* Nam: Buchungsstelle*/
+p.zus		{margin: 2pt; padding: 2pt; border:1px dotted maroon; background: white;} /* Zusatz zum Eigent., gerahmt */
+p.avh		{font-style: italic; color: navy;}	/* Anteilsverhaeltnis */
+p.ant		{font-style: italic; position: relative;left: 12px;} /* Anteil am FS */
+p.geig		{color: navy;}		/* GB-Nachw. Eigentuemer Name */
+p.gadr		{color: maroon; margin-top: 1pt;}	/* GB-Nachw. Eigentuemer Adresse */
+p.nwlink, td.nwlink {font-size: 7pt; text-align: right; margin-top: 0pt;}	/* Link zum Nachweis GB, FS, ..*/
+p.err		{font-size: 11px; color: red;}		/* Fehler -> Anwender */
+p.dbg		{font-size: 10px; color: gray;}		/* Debug -> Entwickler */
+p.warn		{color: gray; font-style: italic;}	/* Warnung, Hinweis */
+p.ph		{color: gray;}						/* Platzhalter */
+
+/* Links */
+a:link		{color: rgb(0,102,153);}
+a:visited	{color: rgb(0,153,102);}
+a:active	{color: rgb(0,102,102);}
+a:hover		{color: rgb(255,40,40);}
+
+/* Globaler Identifikator gml_id - Link fuer Entwicklung */
+a.gmlid		{text-decoration: none;	color: silver; font-style: italic; font-size: 7pt; text-align: right;}
+span.gmlid	{font-style: italic; font-size: 7pt; text-align: right;}
+
+/* komplette Adresse im Rahmen */
+div.adr {border-left-width: 0px; border-right-width: 0px; border-bottom-width: 2px; border-top-width: 2px; 
+	width: 60%; font-size: 12pt; border-color: #a2d545; border-style: solid; 
+	margin-bottom: 8px; margin-top: 8px; margin-left: 0.7in;
+	overflow: auto; padding: 6px; background: #e4f7dd;}
+
+span.key 	{color: gray; font-style: italic;} /* Schluesselwert vor Text, Wert zurueck nehmen */
+span.wichtig{color: #BB0000; font-weight: bold;} /* Wert hervorheben */
+span.flae	{font-weight: bold;} /* FlÃ€chensumme Flurst. */
+
+/* ** T a b e l l e n ** */
+table 		{font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 10pt; color: #000033;}
+table.fsd	{font-size: 9pt; margin-left: 12px;}
+table.bez	{font-size: 9pt; margin-bottom: 10px; margin-left: 3px;}
+
+/* Kennzeichen mit Rahmen, Rahmen-Farben wie 'Balken' */
+table.kennzfs	{border: 2px solid  navy;  padding: 3px; margin: 0px;}	/* Flurstueck */
+table.kennzfsh	{border: 2px dotted navy;  padding: 3px; margin: 0px;}	/* - historisch */
+table.kennzgb	{border: 2px solid  green; padding: 3px; margin: 0px;}	/* Grundbuch */
+table.kennzgbf	{border: 2px dotted green; padding: 3px; margin: 0px;}	/* - fiktiv */
+table.kennzla	{border: 2px solid  lime;  padding: 3px; margin: 0px;}	/* Lage */
+table.kennzstra	{border: 2px solid  limegreen;  padding: 3px; margin: 0px;}	/* Strasse */
+
+/* volle Breite fuer verschiedene Zwecke */
+table.fs, table.nua, table.klas, table.eig, table.outer, table.geb {width: 100%;}
+
+td	{vertical-align: top; padding-top: 6px;}	/* ** Tabellenfelder ** */
+/* border: 1px dotted gray;  Variante fuer TEST */
+
+td.ll	{width: 130px;}	/* Liste Links */
+td.lr	{color: black;}	/* Liste Rechts */
+td.ph	{color: gray;}	/* Platzhalter, vorlaeufig, spaeter loschen */
+
+/* Flaechen rechtsbuendig (stellengerecht) */
+td.fla	{width: 110px; padding-right: 4px; text-align: right;}
+td.key	{width:  35px; padding-right: 4px; padding-left: 4px;}
+/* Ertragsmesszahl der Bodenschaetzung
+td.emz	{width: 45px; padding-right: 4px; padding-left: 4px; text-align: right;} */
+td.kurz	{width: 26px; padding-left: 4px;}
+td.nanu	{width: 80px;}				/* Namensnummer */
+td.sond, p.sond	{font-size: 9pt; font-style: italic; background-color: white;
+		border: 1px dotted silver; padding: 6px;}	/* Sondereigentumsbeschreibung */
+
+td.nrap, p.nrap	{font-size: 9pt; font-style: italic; background-color: white;}	/* Nummer im Aufteilungsplan */
+
+td.fett	{font-weight: bold;}
+td.head	{border-bottom: 1px solid gray; font-style: italic; padding-top: 2px;}	/* Kopfzeile, Spaltenueberschrift */
+td.sum {border-top: 2px dotted maroon;	border-bottom:3px solid maroon;
+	border-left:0px dotted maroon;	border-right:0px dotted maroon; font-weight: bold;}	/* unter dem Strich = Summenzeile */
+td.bez	{font-weight: bold;}	/* Beziehungen */
+td.nhd	{width: 150px;}			/* Namen - linke / rechte Spalte */
+td.nam	{font-weight: bold;}
+td.gbl	{border-bottom: 1px dotted green;}	/* Name: GB-Liste */
+/* Inlay analog Template: linke Tabellenspalte - Feldname */
+td.li, td.gr {color:gray; padding-left: 8px; padding-right:8px; border-bottom: 0px; vertical-align:top;}
+/* dienendes GB in FS-Tab im Best-NW  */
+td.dien	{font-size: 9pt; font-style: italic; color: purple; border-bottom: 1px solid silver;}
+td.hsnr	{width: 70px; padding-right: 4px; text-align: right;} /* Hausnummer in StraÃe */
+
+/* Ueberschriften */
+h1, h2, h3, h4, h5, h6 {font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;}
+h1 {	color: black;	font-size: 14pt;}
+h2 {	color: maroon;	font-size: 12pt;}
+h3 {	color: green;	font-size: 12pt;}
+h4 {	color: black;	font-size: 11pt;}
+h5 {	color: black;	font-size: 10pt;}
+h6 {	color: black;	font-size:  9pt; margin-top: 2pt; margin: 0pt}	/* FS in Best-NW */
+
+img	{border: 0px; margin: 0px;} /* Icons */
+
+iframe.inlay {border:0px; width: 100%;} /* height: 400px; */
+
+/* Seitenfuss */
+.buttonbereich	{font-size: 7pt; text-align: right;}
+.confbereich	{font-size: 7pt; background-color: #EFFDFF; width: 88%; position: relative; left: 40px;}
+
+/* abweichender Druck */
+@media print {
+	body {width: 98%; background-color:white;}
+
+	/* Balken */
+	p.fskennz,p.fsei,p.fshis,p.gbkennz,p.nakennz,p.geb,p.lage,p.strasse,p.recht{text-align: right; color: black;}
+	p.fskennz,p.fsei{border-bottom: 2px solid navy; border-top: 2px solid navy;}
+	p.fshis		{border-bottom: 2px solid gray; border-top: 2px solid gray;}
+	p.gbkennz	{border-bottom: 2px solid green; border-top: 2px solid green;}
+	p.nakennz	{border-bottom: 2px solid maroon; border-top: 2px solid maroon;}
+	p.geb		{border-bottom: 2px solid yellow; border-top: 2px solid yellow;}
+	p.lage		{border-bottom: 2px solid lime; border-top: 2px solid lime;}
+	p.strasse	{border-bottom: 2px solid limegreen; border-top: 2px solid limegreen;}
+	p.recht		{border-bottom: 2px solid #F0F8FF; border-top: 2px solid #F0F8FF;}
+}
Index: branches/0.7/info/info/alkis/alkisexport.php
===================================================================
--- branches/0.7/info/info/alkis/alkisexport.php	(revision 329)
+++ branches/0.7/info/info/alkis/alkisexport.php	(revision 329)
@@ -0,0 +1,190 @@
+<?php
+/*	Modul alkisexport.php
+	CSV-Export von ALKIS-Daten zu einem Flurstueck, Grundbuch oder Eigentümer.
+	Es wird eine GML-ID übergeben.
+	Es wird ein gespeicherter View verwendet, der nach der gml_id gefiltert wird. 
+	Der View verkettet Flurstueck - Buchungsstelle - Grundbuch - Eigentuemer
+	Die Lagebezeichnung des Flurstücks wird in ein Feld komprimiert.
+	Parameter: gkz=mandant&gmlid=DE...&tabtyp=flurstueck/grundbuch/person
+
+	2014-01-17 krz f.j.
+	2014-01-20 weitere Spalten und verbesserte Formatierung
+	2014-01-21 Der View liefert "Rechtsgemeinschaft" nun als Feld in allen Personen-Sätzen 
+			eines GB-Blattes statt als eigenen "Satz ohne Person".
+	2014-01-27 Erweiterung auf Filter "strasse" ("gml_id" aus "ax_lagebezeichnungkatalogeintrag")
+*/
+
+function lage_zum_fs($gmlid) {
+	// Zu einem Flurstück die Lagebezeichnungen (mit Hausnummer) so aufbereiten, 
+	// dass ggf. mehrere Lagebezeichnungen in eine Zelle der Tabelle passen.
+	$sql ="SELECT DISTINCT s.bezeichnung, l.hausnummer FROM alkis_beziehungen v ";
+	$sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id ";
+	$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage = s.lage ";
+	$sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart='weistAuf' ";
+	$sql.="ORDER BY s.bezeichnung, l.hausnummer;";
+	$v=array($gmlid);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {
+		echo "Fehler bei Lagebezeichnung \n";
+		//echo $sql."\n";
+	}
+	$j=0;
+	$lagehsnr="";
+	while($row = pg_fetch_array($res)) {
+		if ($j > 0) {$lagehsnr.=", ";}
+		$sneu=$row["bezeichnung"];
+		if ($sneu == $salt) { // gleiche Str.
+			$lagehsnr.=$row["hausnummer"]; // HsNr dran haengen
+		} else { // Name UND HsNr dranhaengen
+			$lagehsnr.=$sneu." ".$row["hausnummer"];
+		}
+		$salt=$sneu; // Name f. naechste Runde
+		$j++;
+	}
+	pg_free_result($res);
+	return($lagehsnr);
+}
+
+$cntget = extract($_GET); // Parameter aus URL lesen
+header('Content-type: application/octet-stream');
+header('Content-Disposition: attachment; filename="alkis_'.$tabtyp.'_'.$gmlid.'.csv"');
+require_once("alkis_conf_location.php");
+include("alkisfkt.php");
+
+// CSV-Ausgabe: Kopfzeile mit Feldnamen
+echo "FS-Kennzeichen;GmkgNr;Gemarkung;Flur;Flurstueck;Flaeche;Adressen;GB-BezNr;GB-Bezirk;GB-Blatt;BVNR;Anteil_am_FS;Buchungsart;Namensnummer;AnteilDerPerson;RechtsGemeinschaft;Person;GebDatum;Anschrift;Anteil(berechnet)";
+
+// Datenbank-Verbindung
+$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) {
+	exit("Fehler beim Verbinden der DB");
+}
+pg_set_client_encoding($con, LATIN1); // Für Excel kein UTF8 ausgeben
+
+// Der Parameter "Tabellentyp" bestimmt den Namen des Filter-Feldes aus dem View "exp_csv".
+switch ($tabtyp) { // zulaessige Werte fuer &tabtyp=
+	case 'flurstueck': $filter = "fsgml"; break; // ax_flurstueck.gml_id
+	case 'grundbuch':  $filter = "gbgml"; break; // ax_buchungsblatt.gml_id
+	case 'person':     $filter = "psgml"; break; // ax_person.gml_id
+	case 'strasse':    $filter = "stgml"; break; // ax_lagebezeichnungkatalogeintrag.gml_id = Straße-GML-ID
+	default: exit("Falscher Parameter '".$tabtyp."'"); break;
+}
+
+// Daten aus gespeichertem View, zusaetzlich Filter: "feld"='wert' mitgeben
+if ($tabtyp == 'strasse') { // Sonderversion
+	$sql="SELECT * FROM exp_csv_str WHERE ".$filter." = $1 ";
+} else {
+	$sql="SELECT * FROM exp_csv WHERE ".$filter." = $1 ";
+}
+
+$v=array($gmlid);
+$res=pg_prepare("", $sql);
+$res=pg_execute("", $v);
+if (!$res) {exit("Fehler bei Datenbankabfrage");}
+$i=1; // Kopfzeile zählt mit
+$fsalt='';
+
+// Datenfelder auslesen
+while($row = pg_fetch_array($res)) {
+	$i++; // Zeile der Tabelle
+	$rechnen=true; // Formel in letzte Spalte?
+
+	// Flurstueck
+	$fsgml=$row["fsgml"];
+	$fs_kennz=$row["fs_kennz"]; // Rechts Trim "_" ?
+	$gmkgnr=$row["gemarkungsnummer"];
+	$gemkname=$row["gemarkung"]; 
+	$flurnummer=$row["flurnummer"];
+	$flstnummer=$row["zaehler"];
+	$nenner=$row["nenner"];
+	if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr
+	$fs_flae=$row["fs_flae"]; // amtliche Fl. aus DB-Feld
+
+	// Grundbuch (Blatt)
+	$gb_bezirk=$row["gb_bezirk"]; // Nummer des Bezirks
+    $gb_beznam=$row["beznam"];    // Name des Bezirks
+	$gb_blatt=$row["gb_blatt"];
+
+	// Buchungsstelle (Grundstueck)
+	$bu_lfd=$row["bu_lfd"]; // BVNR
+	$bu_ant=$row["bu_ant"]; // '=zaehler/nenner' oder NULL
+	$bu_key=$row["buchungsart"]; // Schlüssel
+	$bu_art=$row["bu_art"]; // entschlüsselt (Umlaute in ANSI!)
+	if($bu_ant == '') { // Keine Bruch-Zahl
+		$bu_ant = '1'; // "voller Anteil" (Faktor 1)
+	} else {
+		$bu_ant=str_replace(".", ",", $bu_ant); // Dezimalkomma statt -punkt.		
+	}
+
+	// Namensnummer
+	$nam_lfd="'".kurz_namnr($row["nam_lfd"])."'"; // In Hochkomma, wird sonst wie Datum dargestellt.
+	$nam_ant=$row["nam_ant"];
+	$nam_adr=$row["nam_adr"]; // Art der Rechtsgemeischaft (Schlüssel)
+
+	if ($nam_adr == '') {     // keine Rechtsgemeinschaft
+		$rechtsg='';
+		if ($nam_ant == '') { // und kein Bruch-Anteil
+			$nam_ant=1; // dann ganzer Anteil
+		}
+	} else {
+		$rechnen=false; // bei Rechtsgemeinschaft die Anteile manuell interpretieren
+		if ($nam_adr == 9999) { // sonstiges
+			$rechtsg=$row["nam_bes"]; // Beschrieb der Rechtsgemeinschaft
+		} else {
+			$rechtsg=rechtsgemeinschaft($nam_adr); // Entschlüsseln
+		}
+	}
+
+	// Person
+	$vnam=$row["vorname"];
+	$nana=$row["nachnameoderfirma"];
+	$namteil=$row["namensbestandteil"];
+	$name=anrede($row["anrede"]);
+	if ($name != "") {$name.=" ";} // Trenner
+	if ($namteil != "") {$name.=$namteil." ";} // von und zu
+	$name.=$nana;
+	if ($vnam != "") {$name.=", ".$vnam;} // Vorname nach hinten
+	$gebdat=$row["geburtsdatum"];
+
+	// Adresse der Person (Eigentuemer))
+	$ort=$row["ort"];
+	if ($ort == "") {
+		$adresse="";
+	} else { 
+		$adresse=$row["strasse"]." ".$row["hausnummer"].", ".$row["plz"]." ".$ort;
+		$land=$row["land"]; // nur andere Länder anzeigen
+		if (($land != "DEUTSCHLAND") and ($land != "")) {
+			$adresse.=" (".$land.")";
+		}
+	}
+
+	// Adressen (Lage) zum FS
+	if($fsgml != $fsalt) { // nur bei geändertem Kennz.
+		$lage=lage_zum_fs($fsgml); // die Lage neu ermitteln
+		$fsalt=$fsgml;
+	}
+
+	// Den Ausgabe-Satz montieren aus Flurstücks-, Grundbuch- und Namens-Teil
+	//      A             B           C             D               E               F            G
+	$fsteil=$fs_kennz.";".$gmkgnr.";".$gemkname.";".$flurnummer.";".$flstnummer.";".$fs_flae.";".$lage.";";
+	//      H              I              J             K           L           M
+	$gbteil=$gb_bezirk.";".$gb_beznam.";".$gb_blatt.";".$bu_lfd.";".$bu_ant.";".$bu_art.";";
+	//       N            O            P            Q         R           S
+	$namteil=$nam_lfd.";".$nam_ant.";".$rechtsg.";".$name.";".$gebdat.";".$adresse;
+
+	// Anteile "GB am FS" und "Pers am GB" verrechnen
+	if ($rechnen) { // beide Anteile verwertbar
+		$formelteil=";=L".$i."*O".$i; // Spalte T
+	} else {
+		$formelteil=';';
+	}
+
+	// Ausgabe in CSV-Datei
+	echo "\n".$fsteil.$gbteil.$namteil.$formelteil;
+}
+pg_free_result($res);
+if ($i == 1) {exit ("Kein Treffer fuer gml_id=".$gmlid);} // nur Kopfzeile
+pg_close($con);
+exit(0);
+?>
Index: branches/0.7/info/info/alkis/alkisstrasse.php
===================================================================
--- branches/0.7/info/info/alkis/alkisstrasse.php	(revision 329)
+++ branches/0.7/info/info/alkis/alkisstrasse.php	(revision 329)
@@ -0,0 +1,213 @@
+<?php
+/*	alkisstrasse.php
+
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+	Alle FlurstÃŒcke an einer Strasse anzeigen, egal ob "mit" oder "ohne" Hausnummer
+	Parameter: "gml_id" aus der Tabelle "ax_lagebezeichnungkatalogeintrag"
+
+	Version:
+	2014-01-23 Neu
+	2014-01-24 CSV-Export
+    2014-01-30 pg_free_result
+*/
+session_start();
+$cntget = extract($_GET);
+require_once("alkis_conf_location.php");
+if ($auth == "mapbender") {require_once($mapbender);}
+include("alkisfkt.php");
+
+if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;}
+$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
+if ($keys == "j") {$showkey=true;} else {$showkey=false;}
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="author" content="b600352" >
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<title>ALKIS Stra&szlig;e</title>
+	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Lage_an_Strasse.ico">
+	<script type="text/javascript">
+		function ALKISexport() {
+			window.open(<?php echo "'alkisexport.php?gkz=".$gkz."&tabtyp=strasse&gmlid=".$gmlid."'"; ?>);
+		}
+	</script>
+	<style type='text/css' media='print'>
+		.noprint {visibility: hidden;}
+	</style>
+</head>
+<body>
+<?php
+$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
+
+$sql ="SELECT s.land, s.regierungsbezirk, s.kreis, s.gemeinde, s.lage, s.bezeichnung AS snam, ";
+$sql.="b.bezeichnung AS bnam, r.bezeichnung AS rnam, k.bezeichnung AS knam, g.bezeichnung AS gnam, o.gml_id AS ogml ";
+$sql.="FROM ax_lagebezeichnungkatalogeintrag s JOIN ax_bundesland b ON s.land=b.land ";
+$sql.="JOIN ax_regierungsbezirk r ON s.land=r.land AND s.regierungsbezirk=r.regierungsbezirk ";
+$sql.="JOIN ax_kreisregion k ON s.land=k.land AND s.regierungsbezirk=k.regierungsbezirk AND s.kreis=k.kreis ";
+$sql.="JOIN ax_gemeinde g ON s.land=g.land AND s.regierungsbezirk=g.regierungsbezirk AND s.kreis=g.kreis AND s.gemeinde=g.gemeinde ";
+$sql.="LEFT JOIN ax_lagebezeichnungohnehausnummer o ON s.land=o.land AND s.regierungsbezirk=o.regierungsbezirk AND s.kreis=o.kreis AND s.gemeinde=o.gemeinde AND s.lage=o.lage ";
+$sql.="WHERE s.gml_id= $1 ;"; 
+
+$v=array($gmlid);
+$res=pg_prepare("", $sql);
+$res=pg_execute("", $v);
+if (!$res) {
+	echo "\n<p class='err'>Fehler bei Lagebezeichnungskatalogeintrag.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
+}
+
+if ($row = pg_fetch_array($res)) {
+	$lage=$row["lage"]; // Strassenschluessel
+	$snam=$row["snam"]; // Strassenname
+	$gem=$row["gemeinde"];
+	// Balken
+	$kennz=$gem."-".$lage." (".$snam.")"; // Schluessel als Sucheingabe in NAV brauchbar?
+	echo "<p class='strasse'>ALKIS Stra&szlig;e ".$kennz."&nbsp;</p>\n";
+} else {
+	echo "\n<p class='err'>Kein Treffer bei Lagebezeichnungskatalogeintrag.</p>\n";
+}
+
+echo "\n<h2><img src='ico/Strassen.ico' width='16' height='16' alt=''> Stra&szlig;e</h2>\n";
+
+echo "\n<table class='outer'>\n<tr>\n\t<td>"; // Tabelle Kennzeichen
+echo "\n\t<table class='kennzstra' title='Lage'>";
+	echo "\n\t<tr>";
+		echo "\n\t\t<td class='head'>Land</td>";
+		echo "\n\t\t<td class='head'>Reg.-Bez.</td>";
+		echo "\n\t\t<td class='head'>Kreis</td>";
+		echo "\n\t\t<td class='head'>Gemeinde</td>";
+		echo "\n\t\t<td class='head'>Stra&szlig;e</td>";
+	echo "\n\t</tr>";
+	echo "\n\t<tr>";
+
+		echo "\n\t\t<td title='Bundesland'>";
+		if ($showkey) {echo "<span class='key'>".$row["land"]."</span><br>";}
+		echo $row["bnam"]."&nbsp;</td>";
+
+		echo "\n\t\t<td title='Regierungsbezirk'>";
+		if ($showkey) {echo "<span class='key'>".$row["regierungsbezirk"]."</span><br>";}
+		echo $row["rnam"]."&nbsp;</td>";
+
+		echo "\n\t\t<td title='Kreis'>";
+		if ($showkey) {echo "<span class='key'>".$row["kreis"]."</span><br>";}
+		echo $row["knam"]."&nbsp;</td>";
+
+		echo "\n\t\t<td title='Gemeinde'>";
+		if ($showkey) {echo "<span class='key'>".$gem."</span><br>";}
+		echo $row["gnam"]."&nbsp;</td>";
+
+		echo "\n\t\t<td title='Stra&szlig;e'>";
+		if ($showkey) {echo "<span class='key'>".$lage."</span><br>";}
+		echo "<span class='wichtig'>".$snam."</span>";
+
+		echo "&nbsp;</td>";
+	echo "\n\t</tr>";
+echo "\n\t</table>";
+
+echo "\n\t</td>\n\t<td>";
+
+// Kopf Rechts:
+$ogml=$row["ogml"]; // ID von "Lage Ohne HsNr"
+if ($ogml != "") {
+	echo "\n\t\t<p class='nwlink noprint'>";
+		echo "\n\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$ogml;
+			if ($idanzeige) {echo "&amp;id=j";}
+			if ($showkey)   {echo "&amp;showkey=j";}
+		echo "' title='Lage Ohne Hausnummer'>Lage <img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''></a>";
+	echo "\n\t\t</p>";
+}
+
+echo "\n\t</td>\n</tr>\n</table>";
+pg_free_result($res);
+// Ende Seitenkopf
+
+// F L U R S T U E C K E
+echo "\n\n<a name='fs'></a><h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;cke</h3>\n";
+echo "\n<p>Zusammenfassung von 'Lage mit Hausnummer' und 'Lage ohne Hausnummer' an dieser StraÃe</p>";
+// ax_Flurstueck >weistAuf> ax_LagebezeichnungMitHausnummer  > = Hauptgebaeude 
+// ax_Flurstueck >zeigtAuf> ax_LagebezeichnungOhneHausnummer > = Strasse
+$sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, duett.lgml, duett.hausnummer FROM ax_flurstueck f ";
+$sql.="JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
+$sql.="JOIN (SELECT v1.beziehung_von AS fsgml, lm.gml_id AS lgml, lm.land, lm.regierungsbezirk, lm.kreis, lm.gemeinde, lm.lage, lm.hausnummer ";
+$sql.="FROM alkis_beziehungen v1 JOIN ax_lagebezeichnungmithausnummer lm ON lm.gml_id=v1.beziehung_zu AND v1.beziehungsart= 'weistAuf' ";
+$sql.="UNION SELECT v2.beziehung_von AS fsgml, '' AS lgml, lo.land, lo.regierungsbezirk, lo.kreis, lo.gemeinde, lo.lage, '' AS hausnummer ";
+$sql.="FROM alkis_beziehungen v2 JOIN ax_lagebezeichnungohnehausnummer lo ON lo.gml_id=v2.beziehung_zu AND v2.beziehungsart= 'zeigtAuf' ";
+$sql.=") AS duett ON f.gml_id=duett.fsgml "; 
+$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON duett.land=s.land AND duett.regierungsbezirk=s.regierungsbezirk AND duett.kreis=s.kreis AND duett.gemeinde=s.gemeinde AND duett.lage=s.lage "; 
+$sql.="WHERE s.gml_id = $1 ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
+$v=array($gmlid);
+$resf=pg_prepare("", $sql);
+$resf=pg_execute("", $v);
+if (!$resf) {
+	echo "<p class='err'>Fehler bei Flurst&uuml;ck.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}	
+}
+
+echo "\n<table class='fs'>";
+echo "\n<tr>"; // Kopfzeile der Tabelle
+	echo "\n\t<td class='head' title='Name der Gemarkung (Ortsteil)'>Gemarkung</td>";
+	echo "\n\t<td class='head' title='Flur-Nummer'>Flur</td>";
+	echo "\n\t<td class='head' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'>Flurst.</td>";
+	echo "\n\t<td class='head fla' title='amtliche Fl&auml;che in Quadratmeter'>Fl&auml;che</td>";
+	echo "\n\t<td class='head hsnr' title='Hausnummer aus der Lagebezeichnung des Flurst&uuml;cks'>HsNr.</td>";
+	echo "\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>";
+echo "\n</tr>";
+$j=0;
+while($rowf = pg_fetch_array($resf)) {
+	$flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT);
+	$fskenn=$rowf["zaehler"]; // Bruchnummer
+	if ($rowf["nenner"] != "") {$fskenn.="/".$rowf["nenner"];}
+	$flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;";
+	$lgml=$rowf["lgml"]; // ID von "Lage Mit" oder leer
+
+	echo "\n<tr>";
+		echo "\n\t<td>";
+		if ($showkey) {echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";}
+		echo $rowf["bezeichnung"]."</td>";
+		echo "\n\t<td>".$flur."</td>";
+		echo "\n\t<td><span class='wichtig'>".$fskenn."</span>";
+		if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck");}
+		echo "</td>";
+		echo "\n\t<td class='fla'>".$flae."</td>";
+		echo "\n\t<td class='hsnr'>".$rowf["hausnummer"]."</td>";
+		echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
+
+			if ($lgml != '') {
+				echo "\n\t\t<a href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$lgml;
+				if ($idanzeige) {echo "&amp;id=j";}
+				if ($showkey)   {echo "&amp;showkey=j";}
+				echo "' title='Lage Mit Hausnummer'>Lage <img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a>&nbsp;";
+			}
+
+			echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n";
+			if ($idanzeige) {echo "&amp;id=j";}
+			if ($showkey)   {echo "&amp;showkey=j";}
+			echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''></a>";
+
+		echo "\n\t\t</p>\n\t</td>";
+	echo "\n</tr>";
+	$j++;
+}
+echo "\n</table>";
+pg_free_result($res);
+?>
+
+<form action=''>
+	<div class='buttonbereich noprint'>
+	<hr>
+		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
+		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken"></a>&nbsp;
+		<a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.ico" width="16" height="16" alt="Export"></a>&nbsp;
+	</div>
+</form>
+
+<?php footer($gmlid, $_SERVER['PHP_SELF']."?", "&amp;ltyp=".$ltyp); ?>
+
+</body>
+</html>
Index: branches/0.7/info/info/alkis/alkisfkt.php
===================================================================
--- branches/0.7/info/info/alkis/alkisfkt.php	(revision 329)
+++ branches/0.7/info/info/alkis/alkisfkt.php	(revision 329)
@@ -0,0 +1,479 @@
+<?php
+/*	Modul: alkisfkt.php
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+	Functions
+
+	Version:
+	2010-12-17 Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute)
+	2011-11-01 *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen
+	2011-11-02 Parameter debug in function eigentuemer
+	2011-11-17 Variable ($debug, $idanzeige, $showkey) von Parameter nach global. Die heiÃen in allen Programmteilen gleich.
+	2014-01-22 Eigentuemerart: Mehr Werte und Zugriff auf DB-SchlÃŒssel-Tabelle
+	2014-02-06 Korrektur EigentÃŒmerart
+*/
+
+function footer($gmlid, $link, $append) {
+	// Einen Seitenfuss ausgeben.
+	// Den URL-Parameter "&id=j/n" und "&showkey=j/n" in allen Kombinationen umschalten lassen.
+	// Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor
+
+	// Der Parameter $append wird angehaengt wenn gefuellt
+	//  Anwendung: &eig=j bei FS-NW, &ltyp=m/p/o bei Lage
+	global $gkz, $idumschalter, $idanzeige, $showkey, $hilfeurl;
+
+	$customer=$_SESSION["mb_user_name"];
+	echo "\n<div class='confbereich noprint'>";
+	echo "\n<table class='outer'>\n<tr>";
+
+	// Spalte 1: Info Benutzerkennung
+	echo "\n\t<td title='Info'><i>Benutzer:&nbsp;".$customer."</i></td>";
+
+	// Spalte 2: Umschalter
+	echo "\n\t<td title='Konfiguration'>";
+		$mylink ="\n\t\t<a class='gmlid' href='".$link."gkz=".$gkz."&amp;gmlid=".$gmlid.$append;
+		if ($showkey) {$mykey = "&amp;showkey=j";} else {$mykey = "&amp;showkey=n";}
+		if ($idumschalter) { // fuer Entwicklung ODER Test
+			if ($idanzeige) {$myid = "&amp;id=j";} else {$myid = "&amp;id=n";}
+
+			// Umschalter nur ausgeben, wenn in conf gesetzt
+			if ($idanzeige) { // Umschalten ID ein/aus
+				echo $mylink.$mykey."&amp;id=n' title='Ohne Verfolgung der ALKIS-Beziehungen'>";
+				echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''> ID aus</a>";
+			} else {
+				echo $mylink.$mykey."&amp;id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>";
+				echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''> ID ein</a>";
+			}
+			echo " | ";
+		} else { // keinen ID-Umschalter
+			$myid = "";
+		}
+
+		if ($showkey) { // // Umschalten SchlÃŒssel ein/aus
+			echo $mylink.$myid."&amp;showkey=n' title='Verschl&uuml;sselungen ausblenden'>Schl&uuml;ssel aus</a>";
+		} else {
+			echo $mylink.$myid."&amp;showkey=j' title='Verschl&uuml;sselungen anzeigen'>Schl&uuml;ssel ein</a>";
+		}
+	echo "\n\t</td>";
+
+	// Spalte 3
+	echo "\n\t<td title='Hilfe'>";
+	echo "\n\t\t<p class='nwlink'>\n\t\t\t<a target='_blank' href='".$hilfeurl."' title='Dokumentation'>Hilfe zur ALKIS-Auskunft</a>\n\t\t</p>\n\t</td>";
+	echo "\n</tr>\n</table>\n</div>\n";
+	return 0;
+}
+
+function linkgml($gkz, $gml, $typ)  {
+	// Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php
+	$kurzid=substr($gml, 12); // ID in Anzeige kuerzen (4 Zeichen), der Anfang ist immer gleich
+	echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' ";
+	echo "href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gml."&amp;otyp=".$typ."'>";
+	echo "<img src='ico/Beziehung_link.ico' width='16' height='16' alt=''>".$kurzid."</a>";
+	return 0;
+}
+
+function kurz_namnr($lang) {
+	// Namensnummer kuerzen. Nicht benoetigte Stufen der Dezimalklassifikation abschneiden
+	$kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende)
+	$kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang)
+	$kurz=ltrim($kurz, "0"); // fuehrende Nullen am Anfang
+	$kurz=str_replace(".0",".",$kurz); // fuehrende Null jeder Stufe
+	return $kurz;
+}
+
+function bnw_fsdaten($con, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus) {
+/*	Bestandsnachweis - Flurstuecksdaten
+	Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben.
+	Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall).
+	Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen.
+	Table-Tag und Kopfzeile im aufrufenden Programm. 
+*/
+	global $gkz, $idanzeige, $showkey;
+	// F L U R S T U E C K
+	$sql="SELECT g.gemarkungsnummer, g.bezeichnung, ";
+	$sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche ";
+	$sql.="FROM ax_flurstueck f ";
+	$sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von "; 
+	$sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
+	$sql.="WHERE v.beziehung_zu= $1 "; // id buchungsstelle
+	$sql.="AND v.beziehungsart='istGebucht' ";
+	$sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
+
+	$v = array($gml_bs);
+	$resf = pg_prepare("", $sql);
+	$resf = pg_execute("", $v);
+
+	if (!$resf) {echo "<p class='err'>Fehler bei Flurst&uuml;ck</p>\n";}
+
+	if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben
+		$bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT);
+	}
+	$altlfdnr="";
+	$j=0;
+	while($rowf = pg_fetch_array($resf)) {
+		$flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT);
+
+/*		$fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT);
+		if ($rowf["nenner"] != "") { // Bruchnummer
+			$fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT);
+		} */
+
+		// ohne fuehrende Nullen?
+		$fskenn=$rowf["zaehler"];
+		if ($rowf["nenner"] != "") { // Bruchnummer
+			$fskenn.="/".$rowf["nenner"];
+		}
+
+		$flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;";
+
+		echo "\n<tr>"; // eine Zeile je Flurstueck
+			// Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS
+			if($lfdnr == $altlfdnr) {	// gleiches Grundstueck
+				echo "\n\t<td>&nbsp;</td>";
+				echo "\n\t<td>&nbsp;</td>";
+				echo "\n\t<td>&nbsp;</td>";
+			} else {
+				echo "\n\t<td>";
+					echo "<a name='bvnr".$lfdnr."'></a>"; // Sprungmarke
+					echo "<span class='wichtig'>".$bvnr."</span>";  // BVNR
+					if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle");}
+				echo "</td>";
+
+				echo "\n\t<td>"; // Buchungsart 
+					//	if ($showkey) {echo "<span class='key'>".$???."</span>&nbsp;";} // Schluessel
+					echo $ba; // entschluesselt
+				echo "</td>"; 
+				echo "\n\t<td>&nbsp;</td>"; // Anteil
+				$altlfdnr=$lfdnr;
+			}
+			//Sp. 4-7 aus Flurstueck
+			echo "\n\t<td>";
+			if ($showkey) {
+				echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";
+			}
+			echo $rowf["bezeichnung"]."</td>";
+			echo "\n\t<td>".$flur."</td>";
+			echo "\n\t<td><span class='wichtig'>".$fskenn."</span>";
+				if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurst&uuml;ck");}
+			echo "</td>";
+			echo "\n\t<td class='fla'>".$flae."</td>";
+
+			echo "\n\t<td><p class='nwlink noprint'>";
+				echo "<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n";
+					if ($idanzeige) {echo "&amp;id=j";}
+					if ($showkey)   {echo "&amp;showkey=j";}
+					echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck ";
+					echo "<img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''>";
+				echo "</a>";
+			echo "</p></td>";
+		echo "\n</tr>";
+
+		$j++;
+	} // Ende Flurstueck
+	pg_free_result($resf);
+	return $j;
+}
+
+function eigentuemer($con, $gmlid, $mitadresse, $lnkclass) {
+	// Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben
+	// Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link
+	// Parameter:
+	//	$gmlid = ID des GB-Blattes
+	//	$mitadresse = Option (true/false) ob auch die Adresszeile ausgegeben werden soll
+	// Return = Anzahl Namensnummern
+
+	// Schleife 1: N a m e n s n u m m e r
+	// Beziehung: ax_namensnummer  >istBestandteilVon>  ax_buchungsblatt
+	global $debug, $gkz, $idanzeige, $showkey;
+
+	// Link ÃŒber Java-Class? (Ja in alkisinlayausk.php, sonst normal)
+	if ($lnkclass == "") {
+		$lnkvor = "";
+		$lnknach = "";
+	} else {
+		$lnkvor  = "javascript:".$lnkclass."(\"";
+		$lnknach = "\")";
+	} // Beispiel-Link href='javascript:imFenster(\"alkislage.php?gkz= ... ."\")'>xxx ";
+
+	$sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, ";
+	$sqln.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass ";
+	$sqln.="FROM ax_namensnummer n JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id ";
+	$sqln.="WHERE b.beziehung_zu= $1 AND b.beziehungsart='istBestandteilVon' ORDER BY laufendenummernachdin1421;";
+
+	$v = array($gmlid);
+	$resn = pg_prepare("", $sqln);
+	$resn = pg_execute("", $v);
+
+	if (!$resn) {
+		echo "<p class='err'>Fehler bei Eigent&uuml;mer</p>\n";
+		if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";}
+	}
+
+	echo "\n\n<table class='eig'>";
+	$n=0; // Z.NamNum.
+
+	while($rown = pg_fetch_array($resn)) {
+		$gmlnn=$rown["gml_id"];
+		echo "\n<tr>";
+			echo "\n\t<td class='nanu' title='Namens-Nummer'>\n\t\t<p>"; // Sp. 1
+				// VOR die Tabelle: "EigentÃŒmer"
+				$namnum=kurz_namnr($rown["lfd"]);
+				echo $namnum."&nbsp;";
+				if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer");}
+			echo "</p>\n\t</td>";
+
+			echo "\n\t<td>"; // Sp. 2
+			$rechtsg=$rown["adr"];
+			if ($rechtsg != "" ) {
+				if ($rechtsg == 9999) { // sonstiges
+					echo "\n\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>";
+				} else {
+					echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>";
+				}
+			}
+			//if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} // TEST:
+
+			// Schleife Ebene 2: andere Namensnummern
+			// Beziehung   ax_namensnummer >bestehtAusRechtsverhaeltnissenZu>  ax_namensnummer 
+
+			// Die Relation 'Namensnummer' besteht aus RechtsverhÃ€ltnissen zu 'Namensnummer' sagt aus, 
+			// dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehÃ¶ren kÃ¶nnen. 
+			// Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer, 
+			// die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt.
+
+			// Die Relation 'Namensnummer' hat VorgÃ€nger 'Namensnummer' gibt Auskunft darÃŒber, 
+			// aus welchen Namensnummern die aktuelle entstanden ist.
+
+		// Schleife 2: P e r s o n
+		// Beziehung: ax_person  <benennt<  ax_namensnummer
+		$sqlp ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad ";
+		$sqlp.="FROM ax_person p JOIN alkis_beziehungen v ON v.beziehung_zu=p.gml_id ";
+		$sqlp.="WHERE v.beziehung_von= $1 AND v.beziehungsart='benennt';";
+
+		$v = array($gmlnn);
+		$resp = pg_prepare("", $sqlp);
+		$resp = pg_execute("", $v);
+
+		if (!$resp) {
+			echo "\n\t<p class='err'>Fehler bei Person</p>\n";
+			if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqlp."<br>$1=gml= '".$gmlnn."'</p>";}
+		}
+
+		$i=0; // cnt Person
+		while($rowp = pg_fetch_array($resp)) {
+			$diePerson="";
+			if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";}
+			$diePerson.=$rowp["nachnameoderfirma"];
+			if ($rowp["vorname"] <> "") {$diePerson.=", ".$rowp["vorname"];}
+			if ($rowp["namensbestandteil"] <> "") {$diePerson.=". ".$rowp["namensbestandteil"];}
+			if ($rowp["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowp["geburtsdatum"];}
+			if ($rowp["geburtsname"] <> "") {$diePerson.=", geb. ".$rowp["geburtsname"];}
+			$diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute
+
+			// Spalte 1 enthÃ€lt die Namensnummer, nur in Zeile 0
+			if ($i > 0) {
+				echo "\n<tr>\n\t<td>&nbsp;</td>\n\t<td>";
+			}
+			// Spalte 2 = Angaben
+			$eiartkey=$rown["eigentuemerart"];
+			$eiart=eigentuemerart($eiartkey);
+			echo "\n\t\t<p class='geig' title='Eigent&uuml;merart: ".$eiart."'>".$diePerson."</p>\n\t</td>";
+
+			// Spalte 3 = Link
+			echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
+				if ($idanzeige) {linkgml($gkz, $rowp["gml_id"], "Person"); echo "&nbsp";}
+				if ($showkey) {echo "<span class='key'>(".$eiartkey.")</span> ";}
+				echo "\n\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowp[0];
+				if ($idanzeige) {echo "&amp;id=j";}
+				if ($showkey)   {echo "&amp;showkey=j";}
+				echo $lnknach."' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>".$eiart;
+				echo " <img src='ico/Eigentuemer.ico' width='16' height='16' alt=''></a>\n\t\t</p>";
+			echo "\n\t</td>\n</tr>";
+
+			if ($mitadresse) {
+				// Schleife 3:  A d r e s s e  (OPTIONAL)
+				$sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";
+				$sqla.="FROM ax_anschrift a JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu ";
+				$sqla.="WHERE b.beziehung_von= $1 AND b.beziehungsart='hat';"; // ORDER?
+				$gmlp=$rowp["gml_id"]; // Person
+				$v = array($gmlp);
+				$resa = pg_prepare("", $sqla);
+				$resa = pg_execute("", $v);
+				if (!$resa) {
+					echo "\n\t<p class='err'>Fehler bei Adressen</p>\n";
+					if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sqla."<br>$1=gml= '".$gmlp."'</p>";}
+				}
+				$j=0;
+				while($rowa = pg_fetch_array($resa)) {
+					$gmla=$rowa["gml_id"];
+					$plz=$rowa["plz"]; // integer
+					if($plz == 0) {
+						$plz="";
+					} else {
+						$plz=str_pad($plz, 5, "0", STR_PAD_LEFT);
+					}
+					$ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8");
+					$str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8");
+					$hsnr=$rowa["hausnummer"];
+					$land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8");
+
+					echo "\n<tr>\n\t<td>&nbsp;</td>"; // Spalte 1
+					echo "\n\t<td><p class='gadr'>"; //Spalte 2
+					if ($str.$hsnr != "") {
+						echo $str." ".$hsnr."<br>";
+					}
+					if ($plz.$ort != "") {
+						echo $plz." ".$ort;
+					}
+					if ($land != "" and $land != "DEUTSCHLAND") {
+						echo ", ".$land;
+					}
+					echo "</p></td>";
+					echo "\n\t<td>"; // Spalte 3
+					if ($idanzeige) {
+						echo "<p class='nwlink noprint'>";
+						linkgml($gkz, $gmla, "Adresse");
+						echo "</p>";
+					} else { 
+						echo "&nbsp;";
+					}
+					echo "</td>\n</tr>";
+					$j++;
+				}
+				pg_free_result($resa);
+			} // End if
+
+			// 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG"
+			$i++; // cnt Person
+			// als eigene Tab-Zeile?
+			// 'Anteil' ist der Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (GrundstÃŒck oder Recht).
+			if ($rown["zaehler"] != "") {
+				echo "\n<tr>\n\t<td>&nbsp;</td>"; // Sp. 1
+				echo "\n\t<td><p class='avh' title='Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p></td>";
+				echo "\n\t<td>&nbsp;</td>\n</tr>"; // Sp. 3
+			}
+		} // End Loop Person
+		if ($i == 0) { // kommt vor hinter Zeile Erbengemeinschaft, dann kein Fehler
+			if ($debug > 0) {
+				echo "\n<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>";
+				if ($rechtsg != 9999) {
+					echo "\n<p class='dbg'>Keine Person zur Namensnummer ".$namnum."</p>";
+				}
+				//if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlp."<br>$1=gml(NamNum)= '".$gmlnn."'</p>";}
+			}
+			echo "</td>\n\t<td>&nbsp;</td>\n<tr>";
+		}
+		$n++; // cnt NamNum
+	} // End Loop NamNum
+	echo "\n</table>\n";
+	if ($n == 0) {
+		if ($debug > 0) {echo "<p class='dbg'>keine Namensnummern zum Blatt</p>";}
+		if ($debug > 2) {echo "<p class='dbg'>Namensnummern: SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";}
+	}
+	pg_free_result($resn);
+	return $n; 
+} // End Function eigentuemer
+
+// **  Functions  zum   E n t s c h l u e s s e l n  **
+
+// Entschluesslung ax_person.anrede
+function anrede($key) {
+	switch ($key) {
+		case 1000: $wert = "Frau"; break;
+		case 2000: $wert = "Herr"; break;
+		case 3000: $wert = "Firma"; break;
+		default:   $wert = ""; break;
+	}
+	return $wert;
+}
+
+// Entschluesslung AX_Namensnummer.artDerRechtsgemeinschaft
+function rechtsgemeinschaft($key) {
+	switch ($key) {
+		case 1000: $wert = "Erbengemeinschaft"; break;
+		case 2000: $wert = "GÃŒtergemeinschaft"; break;
+		case 3000: $wert = "BGB-Gesellschaft"; break;
+		case 9999: $wert = "Sonstiges"; break;	// dann: beschriebDerRechtsgemeinschaft
+		default:   $wert = ""; break;
+	}
+	return $wert;
+}
+
+// Entschluesslung AX_Namensnummer.eigentuemerart
+function eigentuemerart($key) {
+	// Die hÃ€ufigsten Werte direkt aus den Programmcode liefern, ggf. angepasst.
+	// FÃŒr seltene Werte in der Datenbank nachschlagen.
+	// SchlÃŒsseltabelle dazu ist vorhanden seit 2014-01-22.
+	// Hier Verwendung fÃŒr Text zum Link.
+	// FÃŒr korrekte Wiedergabe der amtlichen Werte einen Join auf Tabelle verwenden statt dieser Function. 
+	global $debug;
+	switch ($key) {
+		case 1000: $wert = "Nat&uuml;rliche Person"; break; // singular fuer Link-Text
+		case 2000: $wert = "Juristische Person"; break; // singl.
+		case 3000: $wert = "KÃ¶rperschaft"; break; // singl.
+		case 4000: $wert = "Kirchliches Eigentum"; break;
+		case 4100: $wert = "Evangelische Kirche"; break;
+		case 4200: $wert = "Katholische Kirche"; break;
+		case 5100: $wert = "Bundesrepublik Deutschland"; break;
+		case 5400: $wert = "Kreis"; break;
+		case 5500: $wert = "Gemeinde"; break;
+		case 5920: $wert = "Land"; break; // "Eigenes Bundesland"
+		case "":   $wert = "Person"; break; // falls (noch) nicht gefuellt
+		default: // Datenbank-Abfrage
+			$sql="SELECT bezeichner FROM ax_namensnummer_eigentuemerart WHERE wert= $1 ;";
+			$v=array($key);
+			$res=pg_prepare("", $sql);
+			$res=pg_execute("", $v);
+			if ($res) {
+				$row=pg_fetch_array($res);
+				$wert=htmlentities($row["bezeichner"], ENT_QUOTES, "UTF-8");
+				if ($wert == "") {$wert="** Eigent&uuml;merart '".$key."' nicht gefunden **";}
+			} else {
+				echo "\n\t<p class='err'>Fehler bei DB-Zugriff auf EigentÃŒmerart.</p>\n";
+				$wert="** Unbekannte Eigent&uuml;merart '".$key."' **";
+			}
+			pg_free_result($res);
+			break;
+	}
+	return $wert;
+}
+
+// Entschluesslung ax_buchungsblatt.blattart
+function blattart($key) {
+	switch ($key) {
+		case 1000: $wert = "Grundbuchblatt"; break;
+		// Ein Grundbuchblatt ist ein Buchungsblatt, das die Buchung im Grundbuch enthÃ€lt.
+		case 2000: $wert = "Katasterblatt"; break;
+		// Ein Katasterblatt ist ein Buchungsblatt, das die Buchung im Liegenschaftskataster enthÃ€lt.
+		case 3000: $wert = "Pseudoblatt"; break;
+		// Ein Pseudoblatt ist ein Buchungsblatt, das die Buchung, die bereits vor Eintrag im Grundbuch Rechtskraft erlangt hat, enthÃ€lt 
+		// (z.B. Ãbernahme von Flurbereinigungsverfahren, Umlegungsverfahren).
+		case 5000: $wert = "Fiktives Blatt"; break;
+		// Das fiktive Blatt enthÃ€lt die aufgeteilten GrundstÃŒcke und Rechte als Ganzes. 
+		// Es bildet um die Miteigentumsanteile eine fachliche Klammer.
+		default: $wert = "** Unbekannter Wert '".$key."'"; break;
+	}
+	return $wert;
+}
+// Entschluesslung ax_dienststelle.stellenart
+function dienststellenart($key) {
+	switch ($key) {
+		case 1000: $wert = "Grundbuchamt"; break;
+		case 1100: $wert = "Katasteramt"; break;
+		case 1200: $wert = "Finanzamt"; break;
+		case 1300: $wert = "Flurbereinigungsbeh&ouml;rde"; break;
+		case 1400: $wert = "Forstamt"; break;
+		case 1500: $wert = "Wasserwirtschaftsamt"; break;
+		case 1600: $wert = "StraÃenbauamt"; break;
+		case 1700: $wert = "Gemeindeamt"; break;
+		case 1900: $wert = "Kreis- oder Stadtverwaltung"; break;
+		case 2000: $wert = "Wasser- und Bodenverband"; break;
+		case 2100: $wert = "Umlegungsstelle"; break;
+		case 2200: $wert = "Landesvermessungsverwaltung"; break;
+		case 2300: $wert = "&Ouml;bVI"; break;
+		case 2400: $wert = "Bundeseisenbahnverm&ouml;gen"; break;
+		case 2500: $wert = "Landwirtschaftskammer"; break;
+		default: $wert = "** Unbekannter Wert '".$key."'"; break;
+	}
+	return $wert;
+}
+?>
Index: branches/0.7/info/info/alkis/alkisinlaybaurecht.php
===================================================================
--- branches/0.7/info/info/alkis/alkisinlaybaurecht.php	(revision 329)
+++ branches/0.7/info/info/alkis/alkisinlaybaurecht.php	(revision 329)
@@ -0,0 +1,110 @@
+<?php
+/*	alkisinlaybaurecht.php - Inlay fuer Template: Baurecht
+	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
+
+	Version:
+	2011-07-26  debug
+	2011-11-28  import_request_variables
+	2011-12-14  function imFenster
+	2013-04-08  deprecated "import_request_variables" ersetzt
+	2013-06-27	hiervon neue Variante alkisbaurecht (ohne "inlay"), 
+					dafÃŒr hier die SchlÃŒssel ganz raus und FlurstÃŒcks-Verschneidung raus.
+*/
+session_start();
+$cntget = extract($_GET);
+require_once("alkis_conf_location.php");
+if ($auth == "mapbender") {require_once($mapbender);}
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta name="author" content="b600352" >
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<title>ALKIS Bau-, Raum- oder Bodenordnungsrecht</title>
+	<link rel="stylesheet" type="text/css" href="alkisauszug.css">
+	<link rel="shortcut icon" type="image/x-icon" href="ico/Gericht.ico">
+	<script type="text/javascript">
+	function imFenster(dieURL) {
+		var link = encodeURI(dieURL);
+		window.open(link,'','left=30,top=30,width=680,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes');
+	}
+	</script>
+	</script>
+</head>
+<body>
+
+<?php
+$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
+if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
+
+// wie View "baurecht"
+$sql ="SELECT r.ogc_fid, r.name, r.stelle, r.bezeichnung AS rechtbez, ";
+$sql.="a.bezeichner  AS adfbez, d.bezeichnung AS stellbez, ";
+$sql.="round(st_area(r.wkb_geometry)::numeric,0) AS flae ";
+$sql.="FROM ax_bauraumoderbodenordnungsrecht r ";
+$sql.="LEFT JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON r.artderfestlegung = a.wert ";
+$sql.="LEFT JOIN ax_dienststelle d ON r.land = d.land AND r.stelle = d.stelle ";
+$sql.="WHERE r.gml_id= $1 ;";
+
+$v = array($gmlid);
+$res = pg_prepare("", $sql);
+$res = pg_execute("", $v);
+
+if (!$res) {
+	echo "\n<p class='err'>Fehler bei Baurecht.</p>\n";
+	if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = ".$gmlid."</p>\n";}
+}
+echo "\n<h2><img src='ico/Gericht.ico' width='16' height='16' alt=''> Bau-, Raum- oder Bodenordnungsrecht</h2>\n";
+
+// ToDo: ++++ Spalte anfÃŒgen, darin Link auf neue Variante alkisbaurecht.php
+
+if ($row = pg_fetch_array($res)) {
+	echo "\n<table>";
+
+		echo "\n<tr>";
+			echo "\n\t<td class='li'>Art der Festlegung:</td>\n\t<td>";
+			echo "<span class='wichtig'>".$row["adfbez"]."</span></td>";
+		echo "\n</tr>";
+
+		$enam=$row["name"];
+		if ($enam != "") {
+			echo "\n<tr>";
+				echo "\n\t<td class='li'>Eigenname des Gebietes:</td>\n\t<td>".$enam."</td>";
+			echo "\n</tr>";
+		}
+		echo "\n<tr>";
+			echo "\n\t<td class='li'>Verfahrensnummer:</td>";
+			echo "\n\t<td>".$row["rechtbez"]."</td>";
+		echo "\n</tr>";
+
+		$stell=$row["stelle"];
+		if ($stell != "") {
+			echo "\n<tr>";
+				echo "\n\t<td class='li'>Dienststelle:</td>\n\t<td>".$row["stellbez"];
+				echo "</td>";
+			echo "\n</tr>";
+		}
+
+		echo "\n<tr>";
+			echo "\n\t<td class='li'>Fl&auml;che:</td>";
+			$flae=number_format($row["flae"],0,",",".")." m&#178;";
+			echo "\n\t<td>".$flae."</td>";
+		echo "\n</tr>";
+
+	echo "\n</table>";
+} else {
+	echo "\n<p class='err'>Fehler! Kein Treffer bei gml_id=".$gmlid."</p>";
+}
+
+echo "\n<p class='nwlink'>";
+	echo "\n\t<a href='javascript:imFenster(\"alkisbaurecht.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' ";
+	echo "' title='Bau-, Raum- oder Bodenordnungsrecht'>Weitere Auskunft <img src='ico/Gericht.ico' width='16' height='16' alt=''></a>";
+echo "\n</p>";
+
+?>
+
+</body>
+</html>
Index: branches/0.7/info/info/featureinfo.css
===================================================================
--- branches/0.7/info/info/featureinfo.css	(revision 329)
+++ branches/0.7/info/info/featureinfo.css	(revision 329)
@@ -0,0 +1,62 @@
+/* Style fuer Feature-Info-Request - nicht kommunal-spezifisch, Vers. 17.12.2009 */
+body {	background-color: #FCFCFC;}
+h1, h2, p, td, a, iframe, div {font-family:Verdana, Arial, Helvetica, sans-serif; color:navy;}
+h1	{color:navy;
+	font-size:13pt;
+	text-align:center;
+	border-bottom:2px solid #AAAAAA;
+	border-top:2px solid #AAAAAA;
+	margin-bottom:6px;}
+h2	{font-size:13pt;}
+p, td, a, iframe {font-size:11pt;}
+p.datum, a.datum {font-size: 7pt; text-align:right;}
+p.hinweis, td.hinweis, div.hinweis {font-size: 8pt;}
+p.err {	color: red; }
+/* Tabelle allgemein */
+td	{min-width:40px; border-bottom:1px solid gray;}
+/* Tabellenfeld invisible */
+td.inv {border-bottom:0px;}
+/* linke Tabellenspalte - Feldname */
+td.li, td.gr {
+	color:gray;
+	padding-left:8px;
+	padding-right:8px;
+	border-bottom:0px;
+	vertical-align:top; }
+/* Tabellenspalte - Gruppenueberschrift */
+td.gr {	margin-top:8px;
+	font-style:italic ;
+	font-stretch:expanded;
+	border-top:1px dotted #AAAAAA; }
+/* Tabellenspalte - Nav-Form gerahmt Google */
+td.nav, div.nav {
+	padding:8px;
+	margin:8px;
+	border:1px solid #AAAAAA;
+	background-color: #ffffdd;}
+/* Tabellenspalte - Nav-Form gerahmt OpenRouteService */
+td.ors, div.ors {
+	padding:8px;
+	margin:8px;
+	border:1px solid #AAAAAA;
+	background-color: #ddffdd;}
+/* cms2map */
+div.poi {text-align: center; }
+iframe.poi {
+	text-align: center;
+	margin: 1px;
+	padding: 1px;
+	align: middle;
+	height: 40px;
+	width: 96%;
+	scrolling: no;
+	frameborder: 0;
+	background-color: #fff5fa;}
+a.cms2map {background-color: #ffff22;}
+
+@media print {
+	body {
+		width: 100%;
+		background-color:white;
+	}
+}
Index: branches/0.7/mapbender/http/nav/alkisnav_fls.php
===================================================================
--- branches/0.7/mapbender/http/nav/alkisnav_fls.php	(revision 329)
+++ branches/0.7/mapbender/http/nav/alkisnav_fls.php	(revision 329)
@@ -0,0 +1,740 @@
+<?php
+/* Version vom
+	2013-04-16	"import_request_variables" entfÃ€llt in PHP 5.4, 
+					Fehlerkorrektur Komma in SQL bei FS-Suche.
+	2013-04-26	Ersetzen View "gemeinde_gemarkung" durch Tabelle "pp_gemarkung"
+					ZurÃŒck-Link, Titel der Transaktion anzeigen
+	2013-04-29	Test mit IE
+	2013-05-07  Strukturierung des Programms, redundanten Code in Functions zusammen fassen
+	2013-05-14  Variablen-Namen geordnet, Hervorhebung aktuelles Objekt, Title auch auf Icon, IE zeigt sonst alt= als Title dar.
+	2013-10-15  missing Parameter
+*/
+$cntget = extract($_GET);
+include("../../conf/alkisnav_conf.php");
+include("alkisnav_fkt.php"); // Funktionen
+$con_string = "host=".$host." port=".$port." dbname=".$dbname.$dbvers.$gkz." user=".$user." password=".$password;
+$con = pg_connect ($con_string) or die ("Fehler bei der Verbindung zur Datenbank ".$dbname.$dbvers.$gkz);
+echo <<<END
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<title>ALKIS-Suche Flurst&uuml;ck</title>
+	<link rel="stylesheet" type="text/css" href="alkisnav.css">
+	<script type="text/javascript">
+		function imFenster(dieURL) {
+			var link = encodeURI(dieURL);
+			window.open(link,'','left=10,top=10,width=620,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes');
+		}
+		function transtitle(trans) {
+			document.getElementById('transaktiontitle').innerHTML = trans;
+		}
+	</script>
+</head>
+<body>
+<a href='javascript:history.back()'>
+	<img src="ico/zurueck.ico" width="16" height="16" alt="&lt;&lt;" title="zur&uuml;ck">
+</a>
+<dfn class='title' id='transaktiontitle'></dfn>
+
+END;
+
+function h_hinten($zahl) {
+	// Testen: Wurde an eine Zahl ein "h" angehÃ€ngt?
+	// Wenn ja, dann Schalter setzen und nur numerischen Teil zurÃŒck geben.
+	global $phist, $debug;
+	$zahl=trim($zahl);
+	$zlen=strlen($zahl) - 1;
+	if ($zlen > 0) {
+		$hinten = ucfirst(substr($zahl, $zlen, 1));
+		if ($hinten == "H" ) {
+			$vorn=trim(substr($zahl, 0, $zlen));
+			if (is_ne_zahl($vorn)) { // Zahl *und* "H"
+				$zahl = $vorn;
+				$phist = true;
+			}
+		}
+	}
+	return $zahl;
+}
+
+function ZerlegungFsKennz($fskennz) {
+	// Das eingegebene FlurstÃŒcks-Kennzeichen auseinander nehmen. Erwartet wird gggg-fff-zzzz/nnn
+	// Teile der Zerlegung in global-Vars "$z..."
+	global $debug, $zgemkg, $zflur, $zzaehler, $znenner;	
+	$arr = explode("-", $fskennz, 4);
+	$zgemkg=trim($arr[0]);
+	$zflur=h_hinten($arr[1]);
+	$zfsnr=trim($arr[2]);
+	if ($debug > 1) {echo "<p class='dbg'>Gemkg: '".$zgemkg."' Flur: '".$zflur."' NR: '".$zfsnr."'</p>";}
+	
+	if ($zgemkg == "") {
+		return 0; // Gemeinden oder Gemarkungen listen
+	} elseif ( ! is_ne_zahl($zgemkg)) {
+		return 1; // Such Name
+	} elseif ($zflur == "") {
+		return 2; // G-Nr
+	} elseif ( ! is_ne_zahl($zflur)) {
+		echo "<p class='err'>Die Flurnummer '".$zflur."' ist nicht numerisch</p>";
+		return 9;
+	} elseif ($zfsnr == "") {
+		return 3; // Flur				
+	} else {
+		$zn=explode("/", $zfsnr, 2);
+		$zzaehler=h_hinten(trim($zn[0]));
+		$znenner =h_hinten(trim($zn[1]));
+		if ( ! is_ne_zahl($zzaehler)) {
+			echo "<p class='err'>FlurstÃŒcksnummer '".$zzaehler."' ist nicht numerisch</p>";
+			return 9;
+		} elseif ($znenner == "") {
+			return 4;
+		} elseif (is_ne_zahl($znenner)) {
+			return 5;								
+		} else {
+			echo "<p class='err'>FlurstÃŒcks-Nenner '".$znenner."' ist nicht numerisch</p>";
+			return 9;
+		}
+	}
+}
+
+function flurstueckskoordinaten($gml) {
+	// Die Koordinaten zu einem FlurstÃŒck aus der Datenbank liefern
+	// Parameter: gml_id des FlurstÃŒcke
+	// Return: Array(x,y)
+	global $epsg;
+	$sqlk ="SELECT ";
+	if($epsg == "25832") { // Transform nicht notwendig
+		$sqlk.="x(st_Centroid(wkb_geometry)) AS x, ";
+		$sqlk.="y(st_Centroid(wkb_geometry)) AS y ";
+	} else {  
+		$sqlk.="x(st_transform(st_Centroid(wkb_geometry), ".$epsg.")) AS x, ";
+		$sqlk.="y(st_transform(st_Centroid(wkb_geometry), ".$epsg.")) AS y ";			
+	}
+   $sqlk.="FROM ax_flurstueck WHERE gml_id= $1 ";
+	$v=array($gml);
+	$resk=pg_prepare("", $sqlk);
+	$resk=pg_execute("", $v);
+	if (!$resk) {echo "\n<p class='err'>Fehler bei Koordinate.</p>";}
+	$rowk = pg_fetch_array($resk);
+	$koor=array("x" => $rowk["x"], "y" => $rowk["y"]);
+	return $koor;
+}
+
+function zeile_gemarkung($gkgnr, $gkgname, $aktuell) {
+	// Eine Zeile zu Gemarkung ausgeben
+	global $con, $gkz, $gemeinde, $epsg, $gfilter;
+	if ($gkgname == "") { // Falls Gem.-Name fehlt, in DB nachschlagen
+		$sql ="SELECT g.gemarkungsname FROM pp_gemarkung g WHERE g.gemarkung = $1 LIMIT 1;";
+		$v=array($gnr);
+		$res=pg_prepare("", $sql);
+		$res=pg_execute("", $v);
+		if (!$res) {echo "\n<p class='err'>Fehler bei Gemarkungsname.</p>";}
+		$row = pg_fetch_array($res);
+		$gkgname=$row["gemarkungsname"];
+	}
+	if ($gkgname == "") {$gkgname = "(unbekannt)";}
+	$gnam=htmlentities($gkgname, ENT_QUOTES, "UTF-8");
+	if ($aktuell) {$cls=" aktuell";}
+	echo "\n<div class='gk".$cls."' title='Gemarkung'>";
+	echo "\n\t\t<img class='nwlink' src='ico/Gemarkung.ico' width='16' height='16' alt='GKG' title='Gemarkung'>";
+	echo " OT <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$gkgnr."'>";		
+	echo  " ".$gnam."</a> (".$gkgnr.")";
+	echo "\n</div>";
+	return;
+}
+
+function zeile_flur($gkgnr, $flurnr, $histlnk, $aktuell) { // Eine Zeile zur Flur ausgeben
+	global $gkz, $gemeinde, $epsg;
+	if ($aktuell) {$cls=" aktuell";}
+	echo "\n<div class='fl".$cls."' title='Flur'>";
+	echo "\n\t\t<img class='nwlink' src='ico/Flur.ico' width='16' height='16' alt='FL' title='Flur'> ";
+	$url=$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$gkgnr."-".$flurnr;
+	echo "<a title='Aktuelle Flurst&uuml;cke suchen' href='".$url."'>Flur ".$flurnr." </a>"; 
+	if ($histlnk) { // Link zur hist. Suche anbieten
+		echo " <a class='hislnk' title='Historische Flurst&uuml;cke der Flur' href='".$url."&amp;hist=j'>Hist.</a>";
+	}
+	echo "\n</div>";	
+	return;
+}
+
+function zeile_hist_fs($fs_gml, $fskenn, $ftyp, $gknr, $flur, $aktuell) {
+	// Eine Zeile fÃŒr ein historisches FlurstÃŒck ausgeben 
+	global $gkz, $gemeinde, $epsg, $auskpath;
+	if ($ftyp == "h") {
+		$ico="Flurstueck_Historisch_Lnk.ico";
+		$titl="Historisches Flurst&uuml;ck";
+	} else {
+		$ico="Flurstueck_Historisch_oR_Lnk.ico";
+		$titl="Historisches Flurst&uuml;ck ohne Raumbezug";
+	}
+	if ($aktuell) {$cls=" aktuell";}
+	echo "\n<div class='hi".$cls."' title='".$titl."'>";
+
+	// Icon -> Buchnachweis
+	echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$fs_gml."\")'>";
+		echo "\n\t\t<img class='nwlink' src='ico/".$ico."' width='16' height='16' alt='Hist' title='".$titl."'>";
+	echo "\n\t</a>";
+
+	// Zeile -> tiefer in die Historie
+	$flurl =$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;hist=j";
+	$flurl.="&amp;fskennz=".$gknr."-".$flur."-";
+	echo "\n\thist. Flst. <a href='".$flurl.$fskenn."'>".$fskenn."</a>";		
+
+	echo "\n</div>";
+	return;
+}
+
+function zeile_nachf_fs($gml, $gknr, $flur, $fskenn, $ftyp) {
+	// Eine Zeile fÃŒr ein Nachfolger-FlurstÃŒck eines hist. Fs. ausgeben 
+	global $gkz, $gemeinde, $epsg, $auskpath;
+	$fs=$gknr."-".$flur."-".$fskenn;
+	switch ($ftyp) {
+	case "a": // eine FS-Zeile mit Link ausgeben (EinrÃŒckung css passt nicht)
+		$koor=flurstueckskoordinaten($gml);
+		zeile_flurstueck($gml, $fskenn, $koor["x"], $koor["y"], "", "", false);
+		return;
+		break;
+	case "h":
+		$ico="Flurstueck_Historisch_Lnk.ico";
+		$titl="Historisches Flurst&uuml;ck";
+		$hisparm="&amp;hist=j";
+		$auskprog="alkisfshist";
+		break;
+	case "o":
+		$ico="Flurstueck_Historisch_oR_Lnk.ico";
+		$titl="Historisches Flurst&uuml;ck ohne Raumbezug";
+		$hisparm="&amp;hist=j";
+		$auskprog="alkisfshist";
+		break;
+	}
+	// fÃŒr die Hist.-FÃ€lle:
+	echo "\n<div class='hn' title='Nachfolger: ".$titl."'>";			
+		echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath.$auskprog.".php?gkz=".$gkz."&amp;gmlid=".$gml."\")'>";
+			echo "\n\t\t<img class='nwlink' src='ico/".$ico."' width='16' height='16' alt='FS' title='Nachweis'>";
+		echo "\n\t</a> ";		
+		echo "Flst. <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$fs.$hisparm."'>".$fskenn."</a>";					
+	echo "\n</div>";
+	return;
+}
+
+function ListGemeinden() {
+	// Bei Leereingabe im Formular die Gemeinden auflisten
+	global $con, $gkz, $gemeinde, $epsg, $debug, $gfilter;
+	$linelimit=60;
+	$sql ="SELECT gemeinde, gemeindename FROM pp_gemeinde ";
+	switch ($gfilter) {
+		case 1: // Einzelwert
+			$sql.="WHERE gemeinde=".$gemeinde." "; break;
+		case 2: // Liste
+			$sql.="WHERE gemeinde in (".$gemeinde.") "; break;
+		default: break;
+	}
+	$sql.=" ORDER BY gemeindename LIMIT $1 ;";
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", array($linelimit));
+	if (!$res) {
+		echo "\n<p class='err'>Fehler bei Gemeinde</p>";
+		#if ($debug >= 3) {echo "\n<p class='dbg'>".$sql."</p>";}
+		return 0;
+	}
+	$cnt = 0;
+	while($row = pg_fetch_array($res)) {
+		$gnr=$row["gemeinde"];
+		$gemeindename=$row["gemeindename"];
+		zeile_gemeinde($gnr, $gemeindename);
+		$cnt++;
+	}
+	// Foot
+	if($cnt == 0) { 
+		echo "\n<p class='anz'>Keine Gemeinde.</p>";
+	} elseif($cnt >= $linelimit) {
+		echo "\n<p class='anz' title='Bitte eindeutiger qualifizieren'>".$cnt." Gemeinden ... und weitere</p>";
+	} elseif($cnt == 1) { // Eindeutig!
+		return $gnr; 
+	} else {
+		echo "\n<p class='anz'>".$cnt." Gemeinden</p>";
+	}
+	return;
+}
+
+function ListGmkgInGemeinde($gkey, $bez) {
+	// Die Gemarkungen zu einem Gemeinde-Key (aus Link) listen
+	global $con, $gkz, $gemeinde, $epsg, $debug, $gfilter;
+	$linelimit=70;
+
+	// Head
+	zeile_gemeinde($gkey, $bez, true);
+
+	// Body
+	$sql ="SELECT gemarkung, gemarkungsname FROM pp_gemarkung WHERE gemeinde= $1 ORDER BY gemarkungsname LIMIT $2 ;";
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", array($gkey, $linelimit));
+	if (!$res) {
+		echo "\n<p class='err'>Fehler bei Gemarkungen</p>";
+		return 1;
+	}
+	$cnt = 0;
+	while($row = pg_fetch_array($res)) {
+		$gnr=$row["gemarkung"];
+		$gnam=$row["gemarkungsname"];
+		zeile_gemarkung($gnr, $gnam, false);
+		$cnt++;
+	}
+	// Foot
+	if($cnt == 0){ 
+		echo "\n<p class='anz'>Keine Gemarkung.</p>";
+	} elseif($cnt >= $linelimit) {
+		echo "\n<p class='anz' title='Bitte eindeutiger qualifizieren'>".$cnt." Gemarkungen ... und weitere</p>";
+	} elseif($cnt == 1) { // Eindeutig!
+		return $gnr; 
+	} else {
+		echo "\n<p class='anz'>".$cnt." Gemarkungen</p>";
+	}
+	return;
+}
+
+function SuchGmkgName() {
+	// Gemarkung suchen nach Name(-nsanfang)
+	global $con, $gkz, $gemeinde, $epsg, $debug, $fskennz, $gfilter;
+	$linelimit=120;
+	if(preg_match("/\*/",$fskennz)){
+		$match = trim(preg_replace("/\*/i","%", strtoupper($fskennz)));
+	} else {
+		$match = trim($fskennz)."%";
+	}	
+	$sql ="SELECT g.gemeinde, g.gemarkung, g.gemarkungsname, s.gemeindename ";
+	$sql.="FROM pp_gemarkung g JOIN pp_gemeinde s ON g.gemeinde = s.gemeinde ";
+	$sql.="WHERE g.gemarkungsname ILIKE $1 ";
+	switch ($gfilter) {
+		case 1: // Einzelwert
+			$sql.="AND g.gemeinde = ".$gemeinde." "; break;
+		case 2: // Liste
+			$sql.="AND g.gemeinde in (".$gemeinde.") "; break;
+	}
+	$sql.=" ORDER BY s.gemeindename, g.gemarkungsname LIMIT $2 ;";
+	$v=array($match, $linelimit);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {
+		echo "\n<p class='err'>Fehler bei Gemarkung</p>";
+		return;
+	}
+	$cnt = 0;
+	$gwgem="";
+	while($row = pg_fetch_array($res)) {
+		$gemeindename=$row["gemeindename"];
+		if ($gwgem != $gemeindename) { // Gruppierung Gemeinde
+			$gwgem = $gemeindename;
+			$skey=$row["gemeinde"];
+			zeile_gemeinde($skey, $gemeindename, false);
+		}
+		$gnam=$row["gemarkungsname"];
+		$gnr=$row["gemarkung"];
+		zeile_gemarkung($gnr, $gnam, false); // wenn am Ende nur ein Treffer, dann aktuell=true
+		$cnt++;
+	}
+	// Foot
+	if($cnt == 0){ 
+		echo "\n<p class='anz'>Keine Gemarkung.</p>";
+	} elseif($cnt >= $linelimit) {
+		echo "\n<p class='anz' title='Bitte eindeutiger qualifizieren'>".$cnt." Gemarkungen ... und weitere</p>";
+	} elseif($cnt == 1) { // Eindeutig!
+		return $gnr; 
+	} else {
+		echo "\n<p class='anz'>".$cnt." Gemarkungen</p>";
+	}
+	return;
+}
+
+function gg_head($gkgnr, $gkgaktuell) {
+	// Ãbergeordnete Zeilen (Head) fÃŒr Gemeinde und Gemarkung ausgeben
+	// Parameter = Gemarkungsnummer
+	$sqlh ="SELECT g.gemarkungsname, s.gemeinde, s.gemeindename FROM pp_gemarkung g ";
+	$sqlh.="JOIN pp_gemeinde s ON g.gemeinde=s.gemeinde AND g.land=s.land ";
+	$sqlh.="WHERE g.gemarkung = $1 ;";
+	$v=array($gkgnr);
+	$resh=pg_prepare("", $sqlh);
+	$resh=pg_execute("", $v);
+	if (!$resh) {echo "\n<p class='err'>Fehler bei Gemeinde und Gemarkung.</p>";}
+	$rowh = pg_fetch_array($resh);
+	$gmkg=$rowh["gemarkungsname"];
+	$skey=$rowh["gemeinde"];
+	$snam=$rowh["gemeindename"];
+	zeile_gemeinde($skey, $snam, false);
+	zeile_gemarkung($gkgnr, $gmkg, $gkgaktuell);
+	return;
+}
+
+function EineGemarkung($AuchGemkZeile) {
+	// Kennzeichen bestehend nur aus Gemarkung-SchlÃŒssel wurde eingegeben
+	// Parameter = $zgemkg
+	global $con, $gkz, $gemeinde, $epsg, $debug, $zgemkg;
+	$linelimit=120; // max.Fluren/Gemkg
+
+	// Head
+	if ($AuchGemkZeile) {gg_head($zgemkg, true);}
+	// Body
+	$sql ="SELECT gemarkungsteilflur AS flur FROM ax_gemarkungsteilflur f ";
+	$sql.="WHERE gemarkung= $1 ORDER BY gemarkungsteilflur LIMIT $2 ;"; //WHERE f.land=?
+	$v=array($zgemkg, $linelimit);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {echo "\n<p class='err'>Fehler bei Flur.</p>";}
+	$zfl=0;
+	while($row = pg_fetch_array($res)) {	
+		$zflur=$row["flur"];
+		zeile_flur($zgemkg, $zflur, false, false);
+		$zfl++;
+	}
+	// Foot
+	if($zfl == 0) { 
+		echo "\n<p class='anz'>Keine Flur.</p>";
+	} elseif($zfl >= $linelimit) {
+		echo "\n<p class='anz'>".$zfl." Fluren ... und weitere</p>";
+	} elseif($zfl > 1) {
+		echo "\n<p class='anz'>".$zfl." Fluren</p>";
+	}
+	return;
+}
+
+function EineFlur() {
+	// Kennzeichen aus Gemarkung und FlurNr wurde eingegeben, dazu aktuelle FlurstÃŒcke suchen
+	global $con, $gkz, $gemeinde, $epsg, $debug, $zgemkg, $zflur;
+	$linelimit=600; // Wie groÃ kann eine Flur sein?
+
+	// Head
+	gg_head($zgemkg, false);
+	zeile_flur($zgemkg, $zflur, true, true);
+
+	// Body
+	$sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, ";
+	if($epsg == "25832") { // Transform nicht notwendig
+		$sql.="st_x(st_Centroid(f.wkb_geometry)) AS x, ";
+		$sql.="st_y(st_Centroid(f.wkb_geometry)) AS y ";
+	} else {  
+		$sql.="st_x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, ";
+		$sql.="st_y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y ";			
+	}
+   $sql.="FROM ax_flurstueck f WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 ";
+	$sql.="ORDER BY f.zaehler, f.nenner LIMIT $3 ;"; // WHERE f.land=?
+	$v=array($zgemkg, $zflur, $linelimit);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {echo "\n<p class='err'>Fehler bei Flur.</p>";}
+	$zfs=0;
+	while($row = pg_fetch_array($res)) {	
+		$fs_gml=$row["gml_id"];
+		$flur=$row["flurnummer"];
+		$fskenn=$row["zaehler"];
+		if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];}
+		zeile_flurstueck($fs_gml, $fskenn, $row["x"], $row["y"], "", "", false);
+		$zfs++;
+	}
+
+	// Flur-Foot
+	if($zfs == 0) {
+		echo "\n<p class='anz'>Kein Flurst&uuml;ck.</p>";
+	} elseif($zfs >= $linelimit) {
+		echo "\n<p class='anz'>".$zfs." Flurst&uuml;cke... und weitere</p>";
+	} elseif($zfs > 1) {
+		echo "\n<p class='anz'>".$zfs." Flurst&uuml;cke</p>";
+	}
+	return;
+}
+
+function HistFlur() {
+	// Kennzeichen aus Gemarkung und FlurNr wurde eingegeben.
+	// Die Flur nach historischen FlurstÃŒcken durchsuchen
+	global $con, $gkz, $gemeinde, $epsg, $debug, $scalefs, $auskpath, $land, $zgemkg, $zflur;
+	$linelimit=500;
+
+	// Head	
+	gg_head($zgemkg, false);
+	zeile_flur($zgemkg, $zflur, true, true);
+
+	// Body
+	$whcl.="WHERE flurstueckskennzeichen like $1 ";
+	$sql ="SELECT 'h' AS ftyp, gml_id, zaehler, nenner, nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueck ".$whcl;
+	$sql.="UNION SELECT 'o' AS ftyp, gml_id, zaehler, nenner, nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueckohneraumbezug ".$whcl;
+	$sql.="ORDER BY zaehler, nenner LIMIT $2 ;"; 
+	$fskzwhere =$land.$zgemkg.str_pad($zflur, 3, "0", $STR_PAD_LEFT)."%";
+	$v=array($fskzwhere,   $linelimit);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {echo "\n<p class='err'>Fehler bei Historie Flur.</p>";}
+	$zfs=0;
+	while($row = pg_fetch_array($res)) {	
+		$ftyp=$row["ftyp"];
+		$fs_gml=$row["gml_id"];	// fuer Buchausk.
+		$fskenn=$row["zaehler"];
+		if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer
+		zeile_hist_fs($fs_gml, $fskenn, $ftyp, $zgemkg, $zflur, false);
+		$zfs++;
+	}
+
+	// Foot
+	if($zfs == 0) { 
+		echo "\n<p class='anz'>Kein historisches Flurst&uuml;ck.</p>";
+		#if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = ".$fskzwhere."</p>";}
+	} elseif ($zfs >= $linelimit) {
+		echo "\n<p class='anz'>".$zfs." historische Flurst. ... und weitere</p>";
+	} elseif($zfs > 1) {
+		echo "\n<p class='anz'>".$zfs." historische Flurst&uuml;cke</p>";
+	}
+	return;
+}
+
+function EinFlurstueck() {
+	// FlurstÃŒckskennzeichen wurde komplett bis zum Zaehler (oder Nenner) eingegeben
+	// Sonderfall: bei Bruchnummer, mehrere Nenner zum Zaehler suchen wenn kein Nenner eingegeben wurde.
+	global $con, $gkz, $debug, $epsg, $gemeinde, $fskennz, $zgemkg, $zflur, $zzaehler, $znenner;
+
+	// Head
+	gg_head($zgemkg, false);
+	zeile_flur($zgemkg, $zflur, true, false);
+
+	// Body
+	$sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, ";
+	if($epsg == "25832") { // Transform nicht notwendig
+		$sql.="x(st_Centroid(f.wkb_geometry)) AS x, ";
+		$sql.="y(st_Centroid(f.wkb_geometry)) AS y ";
+	} else {  
+		$sql.="x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, ";
+		$sql.="y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y ";			
+	}
+   $sql.="FROM ax_flurstueck f ";
+	$sql.="WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 AND f.zaehler= $3 ";
+	If ($znenner != "") {$sql.="AND f.nenner=".$znenner." ";} // wie prepared?
+	$sql.="ORDER BY f.zaehler, f.nenner;";
+	$v=array($zgemkg, $zflur, $zzaehler);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {echo "\n<p class='err'>Fehler bei Flurst&uuml;ck.</p>";}
+	$zfs=0;
+	while($row = pg_fetch_array($res)) {	
+		$fs_gml=$row["gml_id"];
+		$flur=$row["flurnummer"];
+		$fskenn=$row["zaehler"];
+		if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];}
+		zeile_flurstueck($fs_gml, $fskenn, $row["x"], $row["y"], "", "", true);
+		$zfs++;
+	}
+	// Foot
+	if($zfs == 0) {
+		echo "\n<p class='anz'>Kein aktuelles Flurst&uuml;ck.</p>";
+		echo "\n<div class='hi' title='in Historie suchen'>";
+			echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Historisch.ico' width='16' height='16' alt='Historisches Flurst&uuml;ck'>&nbsp;";
+			echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;fskennz=".$fskennz."&amp;hist=j'>";
+			echo $zgemkg."-".$zflur."-".$zzaehler;
+			if ($znenner != "") {echo "/".$znenner;}
+			echo " h - suchen</a>";
+		echo "\n</div>";		
+	}
+	return;
+}
+
+function HistFlurstueck() {
+	// Die Nachfolger-FS-Kennzeichen zu einem Historischen FS sollen recherchiert werden.
+	global $debug, $land, $zgemkg, $zflur, $zzaehler, $znenner;
+
+	// Head
+	gg_head($zgemkg, false);
+	zeile_flur($zgemkg, $zflur, true, false);
+	echo "\n<hr>";
+
+	// Body
+	// Suche ueber das Flurstueckskennzeichen, gml unbekannt
+	$fskzwhere =$land.$zgemkg; // Flurst-Kennz. f. Where
+	$fskzwhere.=str_pad($zflur, 3, "0", $STR_PAD_LEFT);
+	$fskzwhere.=str_pad($zzaehler, 5, "0", $STR_PAD_LEFT);
+	if ($znenner == "") {	// Wenn kein Nenner angegeben wurde, 
+		//wird mit Wildcard und like nach allen Nennern gesucht.
+		$fskzwhere.="____\_\_";	// fÃŒr like 
+		// Das Wildcard-Zeichen "_" ist dummerweise mit FÃŒllzeichen im Feldinhalt identisch
+		$whereop=" like ";
+	} else { // Ein Nenner wurde angegeben
+		$fskzwhere.=str_pad($znenner, 4, "0", $STR_PAD_LEFT)."__";
+		$whereop=" = ";
+	}
+	$whcl.="WHERE flurstueckskennzeichen ".$whereop." $1 ";
+	
+	$fldlist=" AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner, ";
+
+	// NICHT in aktuell suchen wenn explizit historisch gesucht wird
+	#$sql ="SELECT 'a'".$fldlist."null as nachf FROM ax_flurstueck ".$whcl." UNION ";
+	$sql ="SELECT 'h'".$fldlist."nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueck ".$whcl;
+	$sql.="UNION SELECT 'o'".$fldlist."nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueckohneraumbezug ".$whcl;
+
+	$v=array($fskzwhere);
+	#echo "<p class='dbg'>SQL=".$sql."<br>WHERE=".$fskzwhere."</p>";  // ++++ TEST
+
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {echo "\n<p class='err'>Fehler bei hist. Flurst&uuml;ck.</p>";}
+	$zfs=0;
+
+	while($row = pg_fetch_array($res)) { // Schleife Hist-FS
+		$ftyp=$row["ftyp"];
+		$fs_gml=$row["gml_id"];
+		$gknr=$row["gemarkungsnummer"];
+		$flur=$row["flurnummer"];
+		$fskenn=$row["zaehler"];
+		$nachf=$row["nachf"];
+		if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];}
+
+		#if ($ftyp == "a") { // als aktuelles FS gefunden, das "h" war also unnÃ¶tig!
+		#	$koor=flurstueckskoordinaten($fs_gml);
+		#	echo "\n<p>Flurst&uuml;ck ".$fskenn." ist aktuell, nicht historisch</p>";	
+		#	zeile_flurstueck ($fs_gml, $fskenn, $koor["x"], $koor["y"], $gknr, $flur, true);
+		#} else { // Historisches FS gefunden (h oder o)
+
+		zeile_hist_fs($fs_gml, $fskenn, $ftyp, $gknr, $flur, true);
+		if ($nachf == "") {
+			echo "\n<p class='anz'>keine Nachfolger</p>";	
+		} else {
+			echo "\n<p class='hn'>Nachfolger-Flurst&uuml;cke:</p>";
+			// Direkte Nachfolger ermitteln. In $nachf steht ein Array von FS-Kennzeichen.
+			// Von den einzelnen Kennz. ist unbekannt, ob diese noch aktuell sind 
+			// oder auch schon wieder historisch.
+			// Nachfolger in DB suchen um den Status aktuell/historisch zu ermitteln
+			$stri=trim($nachf, "{}");
+			$stri="'".str_replace(",", "','", $stri)."'";
+
+			$nawhcl="WHERE flurstueckskennzeichen IN ( ".$stri." ) ";
+
+			$nasql ="SELECT 'a' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_flurstueck ".$nawhcl;
+			$nasql.="UNION SELECT 'h' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_historischesflurstueck ".$nawhcl;
+			$nasql.="UNION SELECT 'o' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_historischesflurstueckohneraumbezug ".$nawhcl;
+
+			$v=array();
+			$nares=pg_prepare("", $nasql);
+			$nares=pg_execute("", $v);
+			if (!$nares) {echo "\n<p class='err'>Fehler bei Nachfolger.</p>";}
+			$zfsn=0;
+			// inner Body
+			while($narow = pg_fetch_array($nares)) {
+				$naftyp=$narow["ftyp"];
+				$nagml=$narow["gml_id"];
+				$nagknr=$narow["gemarkungsnummer"];
+				$naflur=$narow["flurnummer"];
+				$nafskenn=$narow["zaehler"];
+				if ($narow["nenner"] != "") {$nafskenn.="/".$narow["nenner"];}
+				zeile_nachf_fs ($nagml, $nagknr, $naflur, $nafskenn, $naftyp);
+				$zfsn++;
+			}
+			// inner Footer
+			if ($zfsn == 0) {
+				echo "\n<p class='anz'>keine Nachfolger</p>";
+			} elseif ($zfsn > 1) {
+				echo "\n<p class='anz'>".$zfsn." Nachfolger-Flst.</p>";
+			}
+			echo "\n<hr>";
+		}
+		#} // aktuell ...
+		$zfs++;
+	}
+	// Foot
+	if($zfs == 0) {
+		echo "\n<p class='anz'>Kein historisches Flurst&uuml;ck.</p>";
+		#if ($debug > 2) {echo  "\n<p class='dbg'> SQL= ".$sql."\n<br> $1 = FS-Kennz = '".$fskzwhere."'</p>";}
+	}
+	return;
+}
+
+// ===========
+// Start hier!
+// ===========
+if(isset($epsg)) {
+	$epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);	
+} else {
+	#if ($debug >= 1) {echo "\n<p class='dbg'>kein EPSG gesetzt</p>";}	
+	$epsg=$gui_epsg; // Conf
+}
+if ($gemeinde == "") {
+	$gfilter = 0;
+} elseif(strpos($gemeinde, ",") === false) {
+	$gfilter = 1; // Einzelwert
+} else {
+	$gfilter = 2; // Liste
+}
+if ($hist == "j") {$phist = true;} else {$phist = false;}
+
+if($gm != "") { // Self-Link aus Gemeinde-Liste
+	$trans="Gemarkungen zur Gemeinde";
+	$gnr=ListGmkgInGemeinde($gm, $bez);
+	if ($gnr > 0) {
+		$zgemkg=$gnr;
+		EineGemarkung(false);
+	}
+} else { // Die Formular-Eingabe interpretieren (kann auch ein Link sein)
+	$retzer=ZerlegungFsKennz($fskennz);
+	switch ($retzer) {
+	case 0: // leere Eingabe
+		if ($gfilter == 1) { // Die GUI ist bereits auf EINE Gemeinde gefiltert
+			$trans="Liste der Gemarkungen";
+			SuchGmkgName();
+		} else {
+			$trans="Liste der Gemeinden";
+			ListGemeinden();
+		}
+		break;
+	case 1:
+		$trans="Suche Gemarkungsname";
+		$gnr=SuchGmkgName();
+		if ($gnr > 0) {
+			$trans="1 Gemarkung, Fluren dazu";
+			$zgemkg=$gnr;
+			EineGemarkung(false);
+		}
+		break;
+	case 2:
+		$trans="Fluren in Gemarkung";
+		EineGemarkung(true);
+		break;
+	case 3:
+		if ($phist)	{
+			$trans="historische Flurst. in Flur";
+			HistFlur();
+		} else {
+			$trans="Flurst&uuml;cke in Flur";
+			EineFlur();
+		}
+		break;
+	case 4:
+		if ($phist)	{
+			$trans="historisches Flurst&uuml;ck";
+			HistFlurstueck();
+		} else {
+			$trans="Flurst&uuml;ck";
+			EinFlurstueck();
+		}
+		break;
+	case 5:
+		if ($phist) {
+			$trans="historisches Flurst&uuml;ck";
+			HistFlurstueck();
+		} else {
+			$trans="Flurst&uuml;ck";
+			EinFlurstueck();
+		}	
+		break;
+	case 9:
+		$trans="falsche Eingabe";
+		echo "\n<p class='err'>Bitte ein Flurst&uuml;ckskennzeichen eingegeben, Format 'gggg-fff-zzzz/nnn</p>";
+		break;
+	}
+}
+
+// Titel im Kopf anzeigen
+echo "
+<script type='text/javascript'>
+	transtitle('".$trans."'); 
+</script>";
+
+?>
+
+</body>
+</html>
Index: branches/0.7/mapbender/http/nav/alkisnav_fkt.php
===================================================================
--- branches/0.7/mapbender/http/nav/alkisnav_fkt.php	(revision 329)
+++ branches/0.7/mapbender/http/nav/alkisnav_fkt.php	(revision 329)
@@ -0,0 +1,349 @@
+<?php
+/* Version vom 
+	2013-05-07  Strukturierung des Programms, redundanten Code in Functions zusammen fassen
+	2013-05-14  Hervorhebung aktuelles Objekt, Title auch auf Icon, IE zeigt sonst alt= als Title dar.
+	2013-05-15  Function verlegt
+    2014-02-06  Korrektur zeile_person
+*/
+
+// function Typ "zeile_**"  = Ausgabe eines Knotens
+// - Icon,  ggf. mit Link zur Buchauskunft
+// - Zeile, ggf. mit Link zur weiteren AuflÃ¶sung untergeordneter Knoten
+// Hierin die Encodierung fÃŒr url und HTML.
+
+function is_ne_zahl($wert) {
+	// Prueft, ob ein Wert ausschlieÃlich aus den Zahlen 0 bis 9 besteht
+	if (trim($wert, "0..9") == "") {return true;} else {return false;}
+}
+
+function ZerlegungGBKennz($gbkennz) {
+	// Das eingegebene Grundbuch-Kennzeichen auseinander nehmen (gggg-999999z-BVNR)
+	// Return: 9=Fehler, 0=Listen alle Bezirke 1=Such Bezirk-Name
+	//  2=Such Bezirk-Nummer, 3=Such Blatt, 4=Such Buchung BVNR
+	global $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr;
+	$arr=explode("-", $gbkennz, 3);
+	$zgbbez=trim($arr[0]);
+	$zblatt=trim($arr[1]);
+	$zbvnr=trim($arr[2]);
+	if ($zgbbez == "") { // keine Eingabe
+		return 0; // Amtsgerichte oder Bezirke listen
+	} elseif ( ! is_ne_zahl($zgbbez)) { // Alphabetische Eingabe
+		return 1; // Such Bezirk-NAME
+	} elseif ($zblatt == "") {
+		return 2; // Such Bezirk-NUMMER
+	} else { // Format von BlattNr pruefen
+	//'19'      linksbÃŒndig
+	//'000019 ' gefÃŒllt 6 + blank
+	//'000019A' .. mit Zusatzbuchstabe
+	//'0300001' gefÃŒllt 7, bei Blattart 5000 "fiktives Blatt"
+		$len=strlen($zblatt);
+		if ($len > 0 AND $len < 8) {		
+			if (trim($zblatt, "0..9 ") == "") { // Normalfall: nur Zahlen (und Blank))
+				$zblattn= rtrim(ltrim($zblatt, "0"), " ");
+				$zblattz="";
+			} else { // Sonderfall: Zusatz-Buchstabe am Ende
+				$zblattn=substr($zblatt,0,$len-1);
+				$zblattz=strtoupper(substr($zblatt,$len-1,1)); 
+				if ((trim($zblattn, "0..9") == "") and (trim($zblattz, "A..Z") == "")) {
+					$zblattn= ltrim($zblattn, "0"); // ohne fuehrende Nullen
+				} else {
+					echo "<p class='err>Format 'Blatt': bis zu 6 Zahlen und ggf. ein Buchstabe</p>";	
+					return 9;
+				}
+			}
+			if ($zbvnr == "") {
+				return 3; // Such BLATT
+			} elseif (is_ne_zahl($zbvnr)) {		
+				// $zbvnr=ltrim($zbvnr,"0"); // DB-Format ist integer
+				// Vorsicht, Wert "0" ist moeglich und gueltig
+				return 4; // Such Grundstueck
+			} else {
+				echo "<p class='err>Die Buchungsstelle (BVNR) '".$zbvnr."' ist nicht numerisch</p>";
+				return 9;
+			}
+		} else {
+			echo "<p class='err>Das Grundbuch-Blatt '".$zblatt."' ist ung&uuml;ltig.</p>";
+			return 9;
+		}
+	}
+}
+
+function suchfeld($suchstring) {	// Suchstring Ausgeben UND das Eingabeformular damit belegen
+	$out="<a title='Dies als Suchbegriff setzen' href='javascript:formular_belegung(\"".$suchstring."-\")'>".$suchstring."</a>";
+	return $out;
+}
+
+function zeile_ag ($ag, $anr, $aktuell) {	// Zeile  A m t s g e r i c h t
+	global $gkz, $gemeinde, $epsg, $auskpath;
+	if ($ag == "") {
+		$agd=$anr; // Ersatz: Nummer statt Name. Besser: Name immer fÃŒllen
+	} else {
+		$agd=htmlentities($ag, ENT_QUOTES, "UTF-8");
+	}
+	if ($aktuell) {$cls=" aktuell";}
+	echo "\n<div class='ga".$cls."' title='Amtsgericht'>";
+		echo "\n\t\t<img class='nwlink' src='ico/Gericht.ico' width='16' height='16' alt='AG' title='Amtsgericht'> ";
+		echo "AG <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;ag=".$anr."'>";		
+		echo $agd."</a> (".$anr.")";
+	echo "\n</div>";
+	return;
+}
+
+function zeile_gbbez ($gnam, $zgbbez, $aktuell) {	// Zeile Grundbuch - B e z i r k
+	// Parameter: aktuell = Bool fÃŒr farbliche Markierung der Zeile als aktuell angeklicktes Obj.
+	global $gkz, $gemeinde, $epsg, $person;
+	$gnamd=htmlentities($gnam, ENT_QUOTES, "UTF-8");
+	if ($aktuell) {$cls=" aktuell";}	
+	echo "\n<div class='gk".$cls."' title='GB-Bezirk'>";
+	echo "\n\t\t<img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.' title='GB-Bezirk'> ";
+	echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gbkennz=".$zgbbez;
+	echo "&amp;gbbeznam=".urlencode($gnam);
+	if ($person != "") { // EigentÃŒmer-Suche
+		echo "&amp;person=".$person."'>";
+		echo "Bezirk ".$gnamd."</a> (".$zgbbez.")";		
+	} else {  // Grundbuch-Suche
+		echo "'>";
+		echo "Bezirk ".$gnamd."</a> (".suchfeld($zgbbez).")";		
+	}
+	echo "\n</div>";
+	return;
+}
+
+function zeile_blatt ($bezirk, $beznam, $blattgml, $blatt, $dienend, $person, $aktuell) {
+	global $gkz, $gemeinde, $epsg, $auskpath;
+	// Zeile Grundbuch - B l a t t
+	$blattd=ltrim($blatt, "0"); // Display-Version ohne fÃŒhrende Nullen
+	if ( $dienend) {$dientxt="dienendes ";}
+	$blattlnk=urlencode($blatt); // trailing Blank
+	if ($beznam != "") {$nam = $beznam." ";}
+	if ($aktuell) {$cls=" aktuell";}	
+
+	echo "\n<div class='gb".$cls."' title='".$dientxt."GB-Blatt'>";
+
+	// Icon / Nachweis
+	if ($blattgml == "") { // Link zum Nachweis nur wenn GML bekannt
+		echo "\n\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt' title='".$dientxt."GB-Blatt'>";
+	} else {
+		echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$blattgml."\")'>";
+			echo "\n\t\t<img class='nwlink' src='ico/GBBlatt_link.ico' width='16' height='16' alt='Blatt' title='Nachweis'>";
+		echo "\n\t</a> ";
+	}
+
+	// Text, Self-Link
+	echo $nam." <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg;
+	echo "&amp;blattgml=".$blattgml."&amp;gbkennz=".$bezirk."-".$blattlnk;
+
+	echo "&amp;gbbeznam=".urlencode($beznam);
+
+	if ($person != "") {echo "&amp;person=".$person;} // nur fÃŒr EigentÃŒmer-Suche
+	echo "'>Blatt&nbsp;".$blattd."</a>\n</div>";
+	return;
+}
+
+function zeile_buchung($buchunggml, $bvnr, $blattkennz, $dienend, $aktuell) {
+	// Zeile  B u c h u n g s s t e l l e  -  GrundstÃŒck ausgeben
+	global $gkz, $gemeinde, $epsg, $auskpath;
+	if ($bvnr == 0) {
+		$bvnra = "-";
+	} else {
+		$bvnra = str_pad($bvnr, 4, "0", STR_PAD_LEFT); // auf 4 Stellen
+	}
+	if ($diened) {
+		$ti="dienendes&nbsp;";
+		$re="Recht an ";
+	} else {
+		$ti="";
+		$re="";
+	}
+	if ($aktuell) {$cls=" aktuell";}	
+	echo "\n<div class='gs".$cls."' title='".$ti."Grundst&uuml;ck'>";
+	echo "\n\t<img class='nwlink' src='ico/Grundstueck.ico' width='16' height='16' alt='GS'  title='".$ti."Grundst&uuml;ck'> ".$re;
+	if ($blattkennz == "") { // ohne Link
+		echo "Buchung ".$bvnra;
+	} else {
+		$gbkennlnk=urlencode($blattkennz."-".$bvnr); // Trailing Blanks!
+		echo "<a href='".$_SERVER['SCRIPT_NAME']. "?gkz=". $gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;buchunggml=".$buchunggml;
+		echo "&amp;gbkennz=".$gbkennlnk."'>Buchung ".$bvnra."</a>";
+	}
+	echo "\n</div>";
+	return;
+}
+
+function zeile_gemeinde ($gmdnr, $gmdname, $aktuell) {
+	// Eine Zeile zu Gemeinde ausgeben, SchlÃŒssel und Name wird ÃŒbergeben
+	global $gkz, $gemeinde, $epsg;
+	$stadt=htmlentities($gmdname, ENT_QUOTES, "UTF-8");
+	$bez=urlencode($gmdname);
+	if ($aktuell) {$cls=" aktuell";}
+	echo "\n<div class='gm".$cls."' title='Gemeinde'>";
+		echo "\n\t\t<img class='nwlink' src='ico/Gemeinde.ico' width='16' height='16' alt='Stadt'>";
+		echo " Gem. <a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;gm=".$gmdnr."&amp;bez=".$bez."'>";		
+		echo  " ".$stadt."</a> (".$gmdnr.")";
+	echo "\n</div>";
+	return;
+}
+
+function zeile_flurstueck ($fs_gml, $fskenn, $x, $y, $gmkg, $flur, $aktuell) {
+	// Zeile mit Icon (Link zum Buch-Nachweis) und Text (Link zum Positionieren)
+	global $gkz, $gemeinde, $epsg, $auskpath, $scalefs;
+
+	if ($aktuell) {$cls=" aktuell";}
+	echo "\n<div class='fs".$cls."'>";
+	echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$fs_gml."\")'>";
+		echo "\n\t\t<img class='nwlink' src='ico/Flurstueck_Link.ico' width='16' height='16' alt='FS' title='Nachweis'>";
+	echo "\n\t</a>\n\t";			
+
+	echo "&nbsp;<a title='Flurst&uuml;ck positionieren 1:".$scalefs."' href='";
+	echo "javascript:";
+		echo "transtitle(\"auf Flurst&uuml;ck positioniert\"); ";
+		echo "parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalefs."); ";
+		echo "parent.parent.showHighlight(".$x.",".$y.");' ";
+	echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' ";
+	echo "onmouseout='parent.parent.hideHighlight()'>";
+
+	if ($gmkg == "" ) {
+		echo "Flst. "; // Im FS-Teil: Gem+Flur als Knoten darÃŒber ($gmkg und $flur leer)
+	} else {
+		echo $gmkg." "; // Im GB-und Nam-Teil in der Zeile angezeigt
+	}
+	if ($flur != "" ) {echo $flur."-";}
+	echo $fskenn."</a>\n</div>";
+	return;
+}
+
+function zeile_person ($persongml, $nachname, $vorname) {
+	global $gkz, $gemeinde, $epsg, $auskpath;
+	// Zeile  P e r s o n (oder Firma)
+	$nnam=htmlentities($nachname, ENT_QUOTES, "UTF-8");
+	$namlnk=urlencode($nachname);
+	$vnam=htmlentities($vorname, ENT_QUOTES, "UTF-8");
+	// Link zur Auskunft Person ++ Icon differenzieren nach Eigentuemerart?
+
+echo "<div class='pe'>
+	<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisnamstruk.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gmlid=".$persongml."\")'>
+		<img class='nwlink' src='ico/Eigentuemer.ico' width='16' height='16' alt='EIG' title='Nachweis'>
+	</a> 		
+	<a title='Person' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$persongml."&amp;name=".$namlnk."'>".$nnam.", ".$vnam."</a>
+</div>";
+return;
+}
+
+function GB_Buchung_FS ($linelimit, $blattgbkenn) {
+	// Zu einem Grundbuch-Blatt (identifiziert ÃŒber seine gml_id) suchen der 
+	// Buchungen (Gruppenwechsel) und FlurstÃŒcke (Links)
+	global $gemeinde, $blattgml, $epsg, $gfilter, $debug;
+
+	// SQL-Bausteine vorbereiten
+	// SQL vorne gleich
+	$sql1 ="SELECT s1.laufendenummer AS lfd, s1.gml_id AS bsgml, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, ";
+	if($epsg == "25832") { // Transform nicht notwendig
+		$sql1.="st_x(st_centroid(f.wkb_geometry)) AS x, ";
+		$sql1.="st_y(st_centroid(f.wkb_geometry)) AS y, ";
+	} else {  
+		$sql1.="st_x(st_transform(st_centroid(f.wkb_geometry), ".$epsg.")) AS x, ";
+		$sql1.="st_y(st_transform(st_centroid(f.wkb_geometry), ".$epsg.")) AS y, ";			
+	}
+	$sql1.="g.gemarkung, g.gemarkungsname ";
+	$sql1.="FROM alkis_beziehungen vbg ";
+	$sql1.="JOIN ax_buchungsstelle s1 ON vbg.beziehung_von = s1.gml_id "; 
+
+	// Zwischen-JOIN verschieden
+	$sqlz1 ="JOIN alkis_beziehungen vfb ON s1.gml_id = vfb.beziehung_zu ";
+	
+	$sqlz2 ="JOIN alkis_beziehungen vss ON vss.beziehung_von = s1.gml_id ";
+	$sqlz2.="JOIN ax_buchungsstelle s2 ON vss.beziehung_zu = s2.gml_id ";
+	$sqlz2.="JOIN alkis_beziehungen vfb ON s2.gml_id = vfb.beziehung_zu ";
+
+	// SQL hinten gleich
+	$sql2 ="JOIN ax_flurstueck f ON vfb.beziehung_von = f.gml_id ";
+	$sql2.="JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung ";
+	$sql2.="WHERE vbg.beziehung_zu= $1 AND vbg.beziehungsart='istBestandteilVon' AND vfb.beziehungsart='istGebucht' ";
+	switch ($gfilter) {
+		case 1: // Einzelwert
+			$sql2.="AND g.gemeinde=".$gemeinde." "; break;
+		case 2: // Liste
+			$sql2.="AND g.gemeinde in (".$gemeinde.") "; break;
+	}
+	$sql2.="ORDER BY cast(s1.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner LIMIT $2 ;";
+
+	// Abfrage:  d i r e k t e  B u c h u n g e n
+	// Blatt <vbg/istBestandteilVon<  Buchungsstelle <vfb/istGebucht< FlurstÃŒck
+	#$sql=$sql1.$sqlz1.$sql2; // Direkte Buchungen
+
+	$v=array($blattgml, $linelimit);
+	$res=pg_prepare("", $sql1.$sqlz1.$sql2);
+	$res=pg_execute("", $v);
+	if (!$res) {
+		echo "\n<p class='err'>Fehler bei Buchung und Flurst&uuml;ck.</p>";
+		#if ($debug >= 3) {echo "\n<p class='err'>".$sql1.$sqlz1.$sql2."</p>";}
+		return;
+	}
+	$zfs1=0;
+	$gwbv="";
+	while($row = pg_fetch_array($res)) {	
+		$bvnr=$row["lfd"];
+		$bsgml=$row["bsgml"]; // Buchungsstelle gml_id
+		if ($gwbv != $bvnr) { // Gruppierung Buchungs-Stelle (BVNR)
+			$gwbv = $bvnr;
+			zeile_buchung($bsgml, $bvnr, $blattgbkenn, false, false);
+		}
+		$fs_gml=$row["gml_id"];
+		$gmkg=$row["gemarkungsname"];
+		$flur=$row["flurnummer"];
+		$fskenn=$row["zaehler"];
+		if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // BruchNr
+		$x=$row["x"];
+		$y=$row["y"];
+		zeile_flurstueck ($fs_gml, $fskenn, $x, $y, $gmkg, $flur, false);
+		$zfs1++;
+	}
+	// "nichts gefunden" erst melden, wenn auch Teil 2 (Rechte an) nichts findet
+	if($zfs1 > 1) { // ab 2
+		echo "\n<p class='anz'>".$zfs1." Flurst&uuml;cke zum Grundbuch";
+		if($zfs1 >= $linelimit) {
+			echo "... und weitere"; //++ BlÃ€ttern einfÃŒhren?
+		}
+		echo "</p>";
+	}
+	if($zfs1 > 0) {echo "<hr>";} // Trennen
+
+	// Abfrage:  R e c h t e  a n   /   d i e n e n d e  B u c h u n g e n
+	$v=array($blattgml, $linelimit);
+	$res=pg_prepare("", $sql1.$sqlz2.$sql2);
+	$res=pg_execute("", $v);
+	if (!$res) {
+		echo "\n<p class='err'>Fehler bei Recht an Buchung.</p>";
+		#if ($debug >= 3) {echo "\n<p class='dbg'>".$sql1.$sqlz2.$sql2."</p>";}
+		return;
+	}
+	$zfs2=0;
+	$gwbv="";
+	while($row = pg_fetch_array($res)) {	
+		$bvnr=$row["lfd"];
+		$bsgml=$row["bsgml"]; // Buchungsstelle gml_id
+		if ($gwbv != $bvnr) { // Gruppierung Buchung (BVNR) - dienend
+			$gwbv = $bvnr;
+			zeile_buchung($bsgml, $bvnr, $blattgbkenn, true, false);
+		}
+		$fs_gml=$row["gml_id"];
+		$gmkg=$row["gemarkungsname"];
+		$flur=$row["flurnummer"];
+		$fskenn=$row["zaehler"];
+		if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer
+		zeile_flurstueck ($fs_gml, $fskenn, $row["x"], $row["y"], $gmkg, $flur, false);
+		$zfs2++;
+	}
+	// Foot
+	if($zfs1 + $zfs2 == 0) { 
+		echo "\n<p class='anz'>Kein Flurst&uuml;ck im berechtigten Bereich.</p>";
+	} elseif($zfs2 > 1) { // keine Meldung "nichts gefunden - Rechte an" wenn Treffer in Teil 1
+		echo "\n<p class='anz'>".$zfs2." Rechte an Flurst.";
+		if($zfs2 >= $linelimit) {
+			echo "... und weitere"; // BlÃ€ttern einfÃŒhren?
+		}
+		echo "</p>";
+	}
+	return;
+}
+
+?>
Index: branches/0.7/mapbender/http/nav/alkisnav_fls.htm
===================================================================
--- branches/0.7/mapbender/http/nav/alkisnav_fls.htm	(revision 329)
+++ branches/0.7/mapbender/http/nav/alkisnav_fls.htm	(revision 329)
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<base target="_self">
+	<title>ALKIS-Suche Flurst&uuml;ck</title>
+	<link rel="stylesheet" type="text/css" href="alkisnav.css">
+	<script type="text/javascript" language="JavaScript">
+		// Parameter fuer Mandant aus url lesen
+		// &gkz=150&gemeinde=40&test=ja
+		var parms = location.search.split("&"); // 0: "?gkz=150" 1: "gemeinde=40" 2: "test=ja"
+		var arr = parms[0].split("=", 2); // 0: "?gkz"  1: "150"
+		var gkz = "000";
+		if(arr[0] == "?gkz") {gkz = arr[1];}
+		var arr = parms[1].split("=", 2)
+		var gem = "0";
+		if(arr[0] == "gemeinde") {gem = arr[1];}
+		// aktueller EPSG-Code
+		function sendGuiEpsg () {
+			var ind = parent.parent.getMapObjIndexByName("mapframe1");
+			var epsg = parent.parent.mb_mapObj[ind].getSRS();
+			document.forms[0].epsg.value = epsg;
+		}
+		function validate(){
+			sendGuiEpsg();
+			document.forms[0].gkz.value = gkz;
+			document.forms[0].gemeinde.value = gem;
+		}
+	</script>
+</head>
+<body onload="javascript:validate();">
+
+<div id='tabs'>
+<ul>
+	<script type="text/javascript" language="JavaScript">
+		document.writeln("<li><a target='_self' href='alkisnav_adr.htm?gkz=" + gkz + "&amp;gemeinde=" + gem + "'>Adresse</a></li>");
+		document.writeln("<li><a target='_self' href='alkisnav_eig.htm?gkz=" + gkz + "&amp;gemeinde=" + gem + "'>Name</a></li>");
+		document.writeln("<li class='aktiveTab'>Flurst&uuml;ck</li>");
+		document.writeln("<li><a target='_self' href='alkisnav_grd.htm?gkz=" + gkz + "&amp;gemeinde=" + gem + "'>Grundb.</a></li>");
+	</script>
+</ul>
+</div>
+
+<form class='nav' name='FlsGazetteerFrame' onsubmit='return validate()' target='FlsResultFrame' action='alkisnav_fls.php'>
+	<input name='gkz' type='hidden'>
+	<input name='gemeinde' type='hidden'>
+	<input name='epsg' type='hidden'>
+	<input class='textfield' name='fskennz' type='text' size='22' title='Flurst&uuml;ckskennzeichen'>
+	<input class='sbutton' type='submit' value='ok'>
+</form>
+
+<iframe name="FlsResultFrame" src="blank_fls.html" class='ResultFrame'></iframe>
+
+</body>
+</html>
Index: branches/0.7/mapbender/http/nav/nav_in_gui.sql
===================================================================
--- branches/0.7/mapbender/http/nav/nav_in_gui.sql	(revision 329)
+++ branches/0.7/mapbender/http/nav/nav_in_gui.sql	(revision 329)
@@ -0,0 +1,82 @@
+-- ALKIS Navigation in eine MB-GUI einfuegen 
+-- 2010-11-17
+
+
+-- MB 2.6.2
+
+INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment, e_title, 
+e_element, e_src, e_attributes, e_left, e_top, e_width, e_height, e_z_index, 
+e_more_styles, e_content, e_closetag, e_js_file, e_mb_mod, e_target, e_requires, e_url) 
+VALUES(
+	'Lage_1',
+	'gazetteer_alkis',
+	2,1,
+	'ALKIS-Navigation (in Tab)',
+	'Liegenschaftskataster ALKIS',
+	'iframe',
+	'../nav/alkisnav.htm?gkz=150&gemeinde=40&sessionID',
+	'frameborder = "0" onmouseover="this.style.zIndex=300;this.style.width=280;" onmouseout="this.style.zIndex=2;this.style.width=225"',1,1,1,1,1,'visibility:hidden; border: 1px solid #a19c8f;'
+	,'','iframe','','','mapframe1','','');
+
+
+
+-- MB 2.5
+
+-- Lage 150  40
+-- HBM  140  32
+-- Leo  070  48
+
+-- Demo rlp 103    epsg 25832
+
+INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment, 
+e_title, e_element, e_src, e_attributes, e_left, e_top, 
+e_width, e_height, e_z_index, e_more_styles, e_content, 
+e_closetag, e_js_file, e_mb_mod, e_target, e_requires, e_url) 
+VALUES(
+	'Lage_1',   -- GUI-Name
+	'gazetteer_alkis',
+	2,1,
+	'ALKIS-Navigation (in Tab)',
+	'Liegenschaftskataster ALKIS',
+	'iframe',
+	'../nav/alkisnav.htm?gkz=150&gemeinde=40&sessionID',  -- GKZ, Gemeinde-Schluessel
+	'frameborder = "1"',1,1,1,1,1,
+	'visibility:hidden',
+	'','iframe','','','mapframe1','','');
+
+
+INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment, 
+e_title, e_element, e_src, e_attributes, e_left, e_top, 
+e_width, e_height, e_z_index, e_more_styles, e_content, 
+e_closetag, e_js_file, e_mb_mod, e_target, e_requires, e_url) 
+VALUES(
+	'Leopoldshoehe_1',   -- GUI-Name
+	'gazetteer_alkis',
+	2,1,
+	'ALKIS-Navigation (in Tab)',
+	'Liegenschaftskataster ALKIS',
+	'iframe',
+	'../nav/alkisnav.htm?gkz=070&gemeinde=&sessionID',  -- GKZ, Gemeinde-Schluessel
+	'frameborder = "1"',1,1,1,1,1,
+	'visibility:hidden',
+	'','iframe','','','mapframe1','','');
+
+
+-- WWW
+
+INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment, 
+e_title, e_element, e_src, e_attributes, e_left, e_top, 
+e_width, e_height, e_z_index, e_more_styles, e_content, 
+e_closetag, e_js_file, e_mb_mod, e_target, e_requires, e_url) 
+VALUES(
+	'ALKIS_Demo',   -- GUI-Name
+	'gazetteer_alkis',
+	2,1,
+	'ALKIS-Navigation (in Tab)',
+	'Liegenschaftskataster ALKIS',
+	'iframe',
+	'../nav/alkisnav.htm?gkz=rlp&gemeinde=103&sessionID',  -- GKZ, Gemeinde-Schluessel
+	'frameborder = "1"',1,1,1,1,1,
+	'visibility:hidden',
+	'','iframe','','','mapframe1','','');
+
Index: branches/0.7/mapbender/http/nav/blank_eig.html
===================================================================
--- branches/0.7/mapbender/http/nav/blank_eig.html	(revision 329)
+++ branches/0.7/mapbender/http/nav/blank_eig.html	(revision 329)
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<link rel="stylesheet" type="text/css" href="alkisnav.css">
+	<title></title>
+</head>
+<body>
+<p class='start'>Suche nach Eigent&uuml;mern in ALKIS:<br><br>
+Schritt 1:<br>&nbsp;Anfang des Nachnamens eingeben<br>
+&nbsp;oder Nachname (Komma) Vorname<br>
+&nbsp;oder Teile des Namens mit Platzhalter *<br>
+&nbsp;&nbsp;z.B. *meier<br>
+&nbsp;oder Kombination davon<br>
+&nbsp;&nbsp;z.B. *meier, Ralf<br><br>
+Schritt 2:<br>&nbsp;Auswahl Person<br><br>
+Schritt 3:<br>&nbsp;Auswahl Grundbuch-Blatt<br><br>
+Schritt 4:<br>&nbsp;Auswahl Flurst&uuml;ck<br><br>
+Bei eindeutigen Treffern wird der n&auml;chste Schritt vom Programm sofort mit ausgef&uuml;hrt.
+</p>
+</body>
+</html>
Index: branches/0.7/mapbender/http/nav/blank_adr.html
===================================================================
--- branches/0.7/mapbender/http/nav/blank_adr.html	(revision 329)
+++ branches/0.7/mapbender/http/nav/blank_adr.html	(revision 329)
@@ -0,0 +1,15 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<link rel="stylesheet" type="text/css" href="alkisnav.css">
+	<title></title>
+</head>
+<body>
+<p class='start'>Suche nach Geb&auml;ude-Adressen in ALKIS:<br><br>
+Schritt 1:<br>Anfang des Stra&szlig;ennamens eingeben<br>oder Mausklick auf einen Anfangsbuchstaben<br>
+oder Suche nach Namensbestandteilen mit Platzhalter "*", z.B. "*kamp"<br><br>
+Schritt 2:<br>Auswahl Stra&szlig;enname<br><br>
+Schritt 3:<br>Auswahl Hausnummer</p>
+</body>
+</html>
Index: branches/0.7/mapbender/http/nav/alkisnav_eig.php
===================================================================
--- branches/0.7/mapbender/http/nav/alkisnav_eig.php	(revision 329)
+++ branches/0.7/mapbender/http/nav/alkisnav_eig.php	(revision 329)
@@ -0,0 +1,633 @@
+<?php
+/* Version vom
+	2013-04-16 "import_request_variables" entfÃ€llt in PHP 5.4
+	2013-04-26	Ersetzen View "gemeinde_gemarkung" durch Tabelle "pp_gemarkung".
+				Stufe 2: GB *und* FS mit einem Klick anzeigen.
+				BlÃ€tterfunktion (Folgeseiten) fÃŒr lange Listen. 
+				Function extern gemeinsam genutzt in _eig und _grd.
+				Dazu Var-Namen harmonisieren: $gb wird $blattgml.
+				ZurÃŒck-Link, Titel der Transaktion anzeigen.
+	2013-04-29	Darstellung mit IE
+	2013-05-07  Strukturierung des Programms, redundanten Code in Functions zusammen fassen
+	2013-05-14  Hervorhebung aktuelles Objekt, Parameter "gbkennz" auswerten,
+				Title auch auf Icon, IE zeigt sonst alt= als Title dar.
+*/
+$cntget = extract($_GET);
+include("../../conf/alkisnav_conf.php"); // Konfigurations-Einstellungen
+include("alkisnav_fkt.php"); // Funktionen
+$con_string = "host=".$host." port=".$port." dbname=".$dbname.$dbvers.$gkz." user=".$user." password=".$password;
+$con = pg_connect ($con_string) or die ("<p class='err'>Fehler bei der Verbindung zur Datenbank</p>".$dbname.$dbvers.$gkz);
+echo <<<END
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<title>ALKIS-Suche Eigent&uuml;mer</title>
+	<link rel="stylesheet" type="text/css" href="alkisnav.css">
+	<script type="text/javascript">
+		function imFenster(dieURL) {
+			var link = encodeURI(dieURL);
+			window.open(link,'','left=10,top=10,width=620,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes');
+		}
+		function transtitle(trans) {
+			document.getElementById('transaktiontitle').innerHTML = trans;
+		}
+	</script>
+</head>
+<body>
+<a href='javascript:history.back()'>
+	<img src="ico/zurueck.ico" width="16" height="16" alt="&lt;&lt;" title="zur&uuml;ck">
+</a>
+<dfn class='title' id='transaktiontitle'></dfn>
+
+END;
+
+// Einen Link generieren, um nach anderen Personen mit gleichem Familiennamen zu suchen
+function familiensuche() {
+	global $gkz, $gemeinde, $epsg, $name;
+	if(isset($name)) { // Familiensuche
+		echo "\n<div class='back' title='Andere Personen mit diesem Nachnamen'>";
+			echo "\n\t\t<img class='nwlink' src='ico/Eigentuemer_2.ico' width='16' height='16' alt='FAM' title='Andere Personen mit diesem Nachnamen'> ";
+			echo "\n<a class='back' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;name=".$name."'>\"".$name."\"</a>";
+		echo "\n</div>\n<br>";	
+	}
+	return;
+}
+
+function personendaten() { // Adresse und Geburtsdatum der aktuellen Person ausgeben
+	global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $auskpath; // $debug
+	$sql ="SELECT p.nachnameoderfirma, p.vorname, p.geburtsdatum, p.namensbestandteil, ";
+	$sql.="a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer ";
+	$sql.="FROM ax_person p LEFT JOIN alkis_beziehungen b ON p.gml_id=b.beziehung_von ";
+	$sql.="LEFT JOIN ax_anschrift a ON a.gml_id=b.beziehung_zu WHERE p.gml_id= $1 ;";	
+	$v=array($person);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {echo "\n<p class='err'>Fehler bei Name</p>\n";}
+	$row = pg_fetch_array($res);
+	$zeil1=$row["nachnameoderfirma"].", ".$row["vorname"];
+	$gebdat=$row["geburtsdatum"];
+	if ($gebdat != "") {$zeil1.= ", geb. ".$gebdat;}
+	$best=$row["namensbestandteil"];
+	if ($best != "") {$zeil1.= ", ".$best;}
+	$zeil1=htmlentities($zeil1, ENT_QUOTES, "UTF-8");
+
+	$zeil2=trim($row["plz"]." ".$row["ort_post"]);
+	if ($zeil2 != "") {
+		$zeil2="\n\t<br>".htmlentities($zeil2, ENT_QUOTES, "UTF-8");
+	}
+
+	$zeil3= trim($row["strasse"]." ".$row["hausnummer"]);
+	if ($zeil3 != "") {
+		$zeil3= "\n\t<br>".htmlentities($zeil3, ENT_QUOTES, "UTF-8");
+	}
+
+// Tabelle: Sp.1=Icon, Link zur Auskunft Person, Sp.2=Rahmen
+echo "
+<div class='pe aktuell'>
+<table>
+<tr>
+	<td valign='top'>
+		<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisnamstruk.php?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;gmlid=".$person."\")'>
+			<img class='nwlink' src='ico/Eigentuemer.ico' width='16' height='16' alt='EIG' title='Nachweis'>
+		</a>
+	</td>
+	<td>
+		<p class='nam'>".$zeil1.$zeil2.$zeil3."</p>
+	</td>
+</tr>
+</table>
+</div>";
+return;
+}
+
+function getEigByName() {
+	// 1 // Eigentuemer nach Name(-nsanfang)
+	global $gkz, $gemeinde, $epsg, $name, $person, $gfilter;
+	$linelimit=150;
+	$arr = explode(",", $name);
+	$name0 = trim($arr[0]);
+	$name1 = trim($arr[1]);
+	if(preg_match("/\*/",$name0)){
+		$match = trim(preg_replace("/\*/i","%", strtoupper($name0)));
+	} else {
+		$match = trim($name0)."%";
+	}	
+	if(preg_match("/\*/",$name1)){
+		$match1 = trim(preg_replace("/\*/i","%", strtoupper($name1)));
+	} else {
+		$match1 = trim($name1)."%";
+	}		
+	$sql ="SELECT p.nachnameoderfirma, p.vorname, p.gml_id FROM ax_person p ";
+	if ($gfilter > 0) {
+		$sql.="JOIN gemeinde_person g ON p.gml_id = g.person WHERE ";
+		switch ($gfilter) {
+			case 1: // Einzelwert
+				$sql.="g.gemeinde=".$gemeinde." AND "; break;
+			case 2: // Liste
+				$sql.="g.gemeinde in (".$gemeinde.") AND "; break;
+		}
+	} else {
+		$sql.="WHERE ";
+	}
+	if($match1 != '%'){
+		$sql.="nachnameoderfirma ILIKE $1 AND p.vorname ILIKE $2 ";		
+		$sql.="ORDER BY p.nachnameoderfirma, p.vorname LIMIT $3 ;";
+		$v=array($match, $match1, $linelimit);
+	}else{
+		$sql.="nachnameoderfirma ILIKE $1 ";		
+		$sql.="ORDER BY p.nachnameoderfirma, p.vorname LIMIT $2 ;";
+		$v=array($match, $linelimit);
+	} 
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {
+		echo "\n<p class='err'>Fehler bei Eigent&uuml;mer</p>";
+		return;
+	}
+	$cnt = 0;
+	while($row = pg_fetch_array($res)) {
+		$nachname=$row["nachnameoderfirma"];
+		$vorname=$row["vorname"];
+		$persongml=$row["gml_id"];
+		zeile_person($persongml, $nachname, $vorname);
+		$cnt++;
+	}
+	if($cnt == 0){ 
+		echo "\n<p class='anz'>Kein Eigent&uuml;mer gefunden.</p>";
+	} elseif($cnt >= $linelimit) { // das Limit war zu knapp
+		echo "\n<p class='anz' title='Bitte den Namen eindeutiger qualifizieren'>... und weitere</p>";
+	} elseif($cnt == 1){ // Eindeutig!
+		$person = $persongml;
+	} else {
+		echo "\n<p class='anz'>".$cnt." Eigent&uuml;mer mit '".$name."'</p>";	// im Limit
+	}
+	return;
+}
+
+function getGBbyPerson() {
+	// 2 // GrundbÃŒcher zur gewÃ€hlten Person
+// Es wird in dieser Function nicht geprÃŒft, ob die gefundenen GrundbÃŒcher auch FlurstÃŒcke
+// haben, die im gefilterten Bereich (Gemeinde) liegen. Es kÃ¶nnen daher Sackgassen entstehen,
+// also GrundbÃŒcher, die in der nÃ€chsten Stufe bei Filterung nicht zu Treffern fÃŒhren.
+// Das Joinen bis zum FS unter BerÃŒcksichtigung von speziellen Buchungen ist zu aufwÃ€ndig.
+// Dann kann entweder das FS gleich mit ausgegeben werden -> getGBuFSbyPerson.
+// Alternativ wÃŒrde eine Hilfstabelle benÃ¶tigt, in der im PostProcessing 
+// das GB-zu-Gemeinde-VerhÃ€ltnis vorbereitet wird.
+	global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $debug, $bltbez, $bltblatt, $bltseite, $kennztyp, $zgbbez;
+	# $zblatt, $zblattn, $zblattz, $zbvnr;
+	$linelimit=150;
+
+	// Head
+	familiensuche();
+	personendaten();
+
+	// Body
+	// Suche nach GrundbÃŒchern der Person
+	$sql ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam ";
+	$sql.="FROM alkis_beziehungen bpn ";
+	$sql.="JOIN ax_namensnummer n ON bpn.beziehung_von=n.gml_id ";
+	$sql.="JOIN alkis_beziehungen bng ON n.gml_id=bng.beziehung_von ";
+	$sql.="JOIN ax_buchungsblatt gb ON bng.beziehung_zu=gb.gml_id ";
+	$sql.="JOIN ax_buchungsblattbezirk b ON gb.land = b.land AND gb.bezirk = b.bezirk ";
+	$sql.="WHERE bpn.beziehung_zu= $1 AND bpn.beziehungsart='benennt' AND bng.beziehungsart='istBestandteilVon' ";
+
+	// Parameter $gbkennz, z.B. nach Klick auf Zeile "Bezirk"
+	if ($kennztyp > 1) { // 2=Such Bezirk-Nummer, 3=Such Blatt, 4=Such Buchung BVNR
+		#if ($debug > 0) {echo "<p class='dbg'>Filter Bezirk '".$zgbbez."'<p>";}
+		$sql.="AND b.bezirk = ".$zgbbez." ";
+		$bezirkaktuell = true;
+	} else {
+		$bezirkaktuell = false;
+	}
+
+	if ($bltbez.$bltblatt != "") { // BlÃ€ttern, Fortsetzen bei ...
+		$sql.="AND ((b.bezeichnung > '".$bltbez."') ";
+		$sql.="OR (b.bezeichnung = '".$bltbez."' AND gb.buchungsblattnummermitbuchstabenerweiterung > '".$bltblatt."')) ";
+	}
+
+	$sql.="ORDER BY b.bezeichnung, gb.buchungsblattnummermitbuchstabenerweiterung LIMIT $2 ;";
+
+	if ($bltseite == "") { // Seite 1
+		$bltseite = 1;
+	} else { // Folgeseite
+		echo "\n<p class='ein'>Teil ".$bltseite;
+	}
+	$v=array($person, $linelimit);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {
+		echo "\n<p class='err'>Fehler bei Grundbuch</p>";
+		return;
+	}
+	$cnt = 0;
+	$gwbez="";
+	while($row = pg_fetch_array($res)) {
+		$beznr=$row["bezirk"];
+		if ($gwbez != $beznr) { // Gruppenwechsel Bezirk
+			$beznam=$row["beznam"];
+			$gwbez=$beznr;
+			zeile_gbbez ($beznam, $beznr, $bezirkaktuell);
+		}
+		$gml=$row["gml_g"];
+		$blatt=$row["blatt"];
+		zeile_blatt($zgbbez, $beznam, $gml, $blatt, false, $person, false);
+		$cnt++;
+	}
+
+	// Foot
+	if($cnt == 0) { 
+		echo "\n<p class='anz'>Kein Grundbuch zum Eigent&uuml;mer</p>";
+	} elseif($cnt >= $linelimit) {
+		echo "\n<p class='blt'>".$cnt." Grundb. zum Eigent.";
+
+		// BlÃ€ttern
+		$nxtbltbez=urlencode($beznam);
+		$nxtbltblatt=urlencode($blatt);
+		$nxtbltseite=$bltseite + 1;
+		echo "\n - <a class='blt' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$person."&amp;bltbez=".$nxtbltbez."&amp;bltblatt=".$nxtbltblatt."&amp;bltseite=".$nxtbltseite."' ";
+		echo "title='Bl&auml;ttern ab ".htmlentities($beznam)." Blatt ".$blatt."'>weitere</a>";
+		echo "</p>";
+	} elseif($cnt == 1) { // Eindeutig!
+		$blattgml=$gml; // dann Stufe 3 gleich nachschieben
+	} else {
+		echo "\n<p class='anz'>".$cnt." Grundb&uuml;cher zum Eigent&uuml;mer</p>";
+	}
+	return;
+}
+
+function getFSbyGB($backlink) {
+	// 3 // FlurstÃŒcke zum Grundbuch
+// Zu einem Grundbuch (gml_id als Parameter) werden alle darauf gebuchten FlurstÃŒcke gesucht.
+// Im ersten Schritt sind das direkt gebuchten FlurstÃŒcke.
+// Im zweiten Schritt wird gesucht nach Rechten einer Buchungstelle des durchsuchten Blattes an anderen
+// Buchungstellen.
+	global $gkz, $gemeinde, $name, $person, $blattgml, $epsg, $gfilter, $debug;
+	if($backlink) { // Erneuter Ansatz bei Person oder GB mÃ¶glich.
+
+		// Namen ermitteln
+		$sql ="SELECT nachnameoderfirma, vorname FROM ax_person WHERE gml_id = $1 ";
+		$v=array($person);
+	 	$res=pg_prepare("", $sql);
+		$res=pg_execute("", $v);
+		if (!$res) {echo "\n<p class='err'>Fehler bei Eigent&uuml;mer</p>";}
+		$row = pg_fetch_array($res); // nur eine Zeile
+		zeile_person($person, $row["nachnameoderfirma"], $row["vorname"]);
+
+		// Grundbuch-Daten ermitteln
+		$sql ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam ";
+		$sql.="FROM ax_buchungsblatt gb JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk ";
+		$sql.="WHERE gb.gml_id= $1 LIMIT 1 ;";
+		$v=array($blattgml);
+		$res=pg_prepare("", $sql);
+		$res=pg_execute("", $v);
+		if (!$res) {echo "\n<p class='err'>Fehler bei Grundbuch</p>";}
+		$row = pg_fetch_array($res); // eine Zeile
+		$gml=$row["gml_g"];
+		$bezirk=$row["bezirk"];
+		$beznam=$row["beznam"];
+		$blatt=$row["blatt"];
+		zeile_gbbez ($beznam, $bezirk, false);
+		zeile_blatt($bezirk, $beznam, $blattgml, $blatt, false, $person, true);	
+	}
+	GB_Buchung_FS(250, ""); // Blatt > Grundst. > FS, max. 250, ohne Link "Buchung"
+	return;
+}
+
+function getGBuFSbyPerson() {
+	// 2 + 3 // GrundbÃŒcher UND FlurstÃŒcke zur gewÃ€hlten Person
+// Dies ist die Kombination von Stufe 2 (GrundbÃŒcher zur Person) und 3 (FlurstÃŒcke zum Grundbuch) 
+// in einem einzelnen Schritt. Wenn auf Gemeinde gefiltert wird, dann kÃ¶nnen in Stufe 2 (noch ohne Filter)
+// auch GrundbÃŒcher gefunden werden, die dann auf Stufe 3 (mit Filter) keine FS liefern ("Sackgasse"!).
+// Wenn aber per JOIN "GB -> FS -> Gemarkung -> Gemeinde" geprÃŒft wird, dann kÃ¶nnen 
+// die Daten ja auch gleich ausgegeben werden.
+// FÃŒr FÃ€lle in denen nicht nach Gemeinde gefiltert wird (z.B. ganzer Kreis) kann weiter 
+// Stufe 2 und 3 nacheinander verwendet werden. Dies ist wahrscheinlich ÃŒbersichtlicher, 
+// weil "ungefiltert" in "2+3" zu lange Listen entstehen wÃŒrden, die durchblÃ€ttert werden mÃŒssen. 
+	global $gkz, $gemeinde, $epsg, $name, $person, $blattgml, $gfilter, $debug, $bltbez, $bltblatt, $bltbvnr, $bltseite, $bltrecht, $kennztyp, $zgbbez;
+	$linelimit=80; // als Limit "Anzahl FlurstÃŒcke" in den beiden folgenden Abfragen
+	// darf nun etwas knapper sein, weil man jetzt blÃ€ttern kann
+	familiensuche();
+	personendaten();
+
+	// Wenn das Limit ÃŒberschritten wurde: zusÃ€tzliche Parameter "blt"=BlÃ€ttern
+	// $bltbez   = Bezirk-Name  
+	// $bltblatt = BlattMitBuchstabe
+	// $bltbvnr  = lfd.Nr der Buchungsstelle
+	// $bltseite = fortlaufende Seiten-Nr
+	// $bltrecht = "nur"/"ohne" liefert nur den abgebrochene Teil der Auflistung 
+
+	// SQL-Bausteine vorbereiten
+	//  Direkte Buchungen suchen mit:  $sql1 +         $sqla1 + $sql2
+	//  SonderfÃ€lle suchen mit:        $sql1 + $sqlz + $sqla2 + $sql2
+
+	// Baustein: SQL-Anfang fuer beide Varianten
+	$sql1 ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam, ";
+	$sql1.="s1.gml_id as bsgml, s1.laufendenummer AS lfd, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, ot.gemarkung, ot.gemarkungsname, ";
+	if($epsg == "25832") { // Transform nicht notwendig
+		$sql1.="st_x(st_centroid(f.wkb_geometry)) AS x, ";
+		$sql1.="st_y(st_centroid(f.wkb_geometry)) AS y ";
+	} else {  
+		$sql1.="st_x(st_transform(st_centroid(f.wkb_geometry), ".$epsg.")) AS x, ";
+		$sql1.="st_y(st_transform(st_centroid(f.wkb_geometry), ".$epsg.")) AS y ";			
+	}
+	$sql1.="FROM alkis_beziehungen bpn ";
+	$sql1.="JOIN ax_namensnummer nn ON bpn.beziehung_von=nn.gml_id ";
+	$sql1.="JOIN alkis_beziehungen bng ON nn.gml_id=bng.beziehung_von ";
+	$sql1.="JOIN ax_buchungsblatt gb ON bng.beziehung_zu=gb.gml_id ";
+   $sql1.="JOIN alkis_beziehungen vbg ON gb.gml_id=vbg.beziehung_zu ";
+	$sql1.="JOIN ax_buchungsstelle s1 ON vbg.beziehung_von=s1.gml_id ";
+	$sql1.="JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk "; // quer-ab
+
+	// Baustein: Zwischen-JOIN (nur bei zweiter Abfrage)
+	$sqlz ="JOIN alkis_beziehungen vss ON vss.beziehung_von=s1.gml_id ";
+	$sqlz.="JOIN ax_buchungsstelle s2 ON vss.beziehung_zu=s2.gml_id ";
+
+	// Baustein: Auswahl 1 oder 2
+	$sqla1 ="JOIN alkis_beziehungen vfb ON s1.gml_id=vfb.beziehung_zu ";
+	$sqla2 ="JOIN alkis_beziehungen vfb ON s2.gml_id=vfb.beziehung_zu ";
+
+	// Baustein: SQL-Ende fuer beide Varianten
+	$sql2.="JOIN ax_flurstueck f ON vfb.beziehung_von=f.gml_id ";
+   $sql2.="JOIN pp_gemarkung ot ON f.land=ot.land AND f.gemarkungsnummer=ot.gemarkung "; // Ortsteil
+	$sql2.="WHERE bpn.beziehung_zu= $1 AND bpn.beziehungsart='benennt' AND bng.beziehungsart='istBestandteilVon' ";
+	$sql2.="AND vbg.beziehungsart='istBestandteilVon' AND vfb.beziehungsart='istGebucht' ";
+
+	// Parameter $gbkennz nach Klick auf Zeile "Bezirk"
+	if ($kennztyp > 1) { // 2=Such Bezirk-Nummer, 3=Such Blatt, 4=Such Buchung BVNR
+		#if ($debug > 0) {echo "<p class='dbg'>Filter Bezirk '".$zgbbez."'<p>";}
+		$sql2.="AND b.bezirk = ".$zgbbez." ";
+		$bezirkaktuell = true;
+	} else {
+		$bezirkaktuell = false;
+	}
+
+	switch ($gfilter) { // Gemeinde-Filter
+		case 1: // Einzelwert
+			$sql2.="AND ot.gemeinde=".$gemeinde." "; break;
+		case 2: // Liste
+			$sql2.="AND ot.gemeinde in (".$gemeinde.") "; break;
+	}
+	$sql3 ="ORDER BY b.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, cast(s1.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner LIMIT $2 ;";
+	// Sortier-Problem: laufendenummer in varchar linksbÃŒndig
+
+	// Die Bausteine in 2 Varianten kombinieren
+
+	// BlÃ€ttern mit folgenden Parametern: $bltbez, $bltblatt, $bltbvnr, $bltseite, $bltrecht
+	if ($bltbez.$bltblatt.$bltbvnr != "") { // BlÃ€ttern, Fortsetzen bei ...
+		$bltwhere ="AND ((b.bezeichnung > '".$bltbez."') ";
+		$bltwhere.="OR (b.bezeichnung = '".$bltbez."' AND gb.buchungsblattnummermitbuchstabenerweiterung > '".$bltblatt."') ";
+		$bltwhere.="OR (b.bezeichnung = '".$bltbez."' AND gb.buchungsblattnummermitbuchstabenerweiterung = '".$bltblatt."' AND cast(s1.laufendenummer AS integer) >= ".$bltbvnr." )) ";
+	} // FlurstÃŒcke in der angeblÃ€tterten BVNR werden ggf. wiederholt
+
+	if ($bltseite == "") { // auf Seite 1 beide Teile ausgegeben
+		$bltseite = 1;
+	} else { // Folgegeseite: nur Teil 1 *oder* 2
+		echo "\n<p class='ein'>Teil ".$bltseite." - ";
+		switch ($bltrecht) {
+			case "nur":
+				echo "nur Rechte an .. Buchungen</p>"; break;
+			case "ohne":
+				echo "nur direkte Buchungen</p>"; break;
+			default:
+				echo "</p>"; break;
+		}
+	}
+
+	// FÃ€lle ohne "Rechte an"
+	if ($bltrecht != "nur") { // "nur"/"ohne" liefert nur den abgebrochene Teil der Auflistung
+		// Blatt <vbg/istBestandteilVon<  Buchungsstelle <vfb/istGebucht< Flurstck.
+		$sql=$sql1.$sqla1.$sql2.$bltwhere.$sql3; // Direkte Buchungen
+		$v=array($person, $linelimit);
+		$res=pg_prepare("", $sql);
+		$res=pg_execute("", $v);
+		if (!$res) {
+			echo "\n<p class='err'>Fehler bei Buchung und Flurst&uuml;ck.</p>";
+			return;
+		}
+		$zfs1=0;
+		$gwbez="";
+		while($row = pg_fetch_array($res)) {
+			$bezirk=$row["bezirk"];
+			if ($gwbez != $bezirk) { // Gruppierung Bezirk
+				$gwbez=$bezirk;
+				$beznam=$row["beznam"];
+				$gwgb="";
+				zeile_gbbez($beznam, $gwbez, $bezirkaktuell);
+			}
+			$gb_gml=$row["gml_g"];
+			if ($gwgb != $gb_gml) { // Gruppierung Blatt (Grundbuch)
+				$blatt=$row["blatt"];
+				zeile_blatt($bezirk, $beznam, $gb_gml, $blatt, false, $person, false);
+				$gwgb = $gb_gml;	// Steuerg GW GB
+				$gwbv = ""; 		// Steuerg GW BVNR
+			}
+			$bvnr=$row["lfd"];
+			if ($gwbv != $bvnr) { // Gruppierung Buchung (BVNR)
+				$gwbv = $bvnr;
+				$bsgml=$row["bsgml"];
+				zeile_buchung($bsgml, $bvnr, "", false, false); //ohne Link
+			}
+			$fs_gml=$row["gml_id"];
+			$gmkg=$row["gemarkungsname"];
+			$flur=$row["flurnummer"];
+			$fskenn=$row["zaehler"];
+			if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // BruchNr
+			zeile_flurstueck($fs_gml, $fskenn, $row["x"], $row["y"], $gmkg, $flur, false);
+			$zfs1++;
+		}
+		if($zfs1 == 0) {
+			if ($bltrecht == "ohne") {echo "\n<p class='anz'>Keine direkte Buchung gefunden.</p>";}
+		} elseif($zfs1 >= $linelimit) { // das Limit war zu knapp
+			echo "\n<p class='blt'>";
+			if ($bltseite > 1) {echo "weitere ";}
+			echo $zfs1." Flurst&uuml;cke";
+			// B l Ã€ t t e r n  (eine Folgeseite anbieten)
+			$nxtbltbez=urlencode($beznam);
+			$nxtbltblatt=urlencode($blatt);
+			$nxtbltseite=$bltseite + 1;
+			echo "\n - <a class='blt' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$person;
+			echo "&amp;gbkennz=".$zgbbez; // Filter Bezirk
+			echo "&amp;bltbez=".$nxtbltbez."&amp;bltblatt=".$nxtbltblatt."&amp;bltbvnr=".$bvnr."&amp;bltseite=".$nxtbltseite."&amp;bltrecht=ohne' ";
+			echo "title='Bl&auml;ttern ab ".htmlentities($beznam)." Blatt ".$blatt." BVNR ".$bvnr."'>weitere</a>";
+			echo "</p>";
+		} elseif($zfs1 > 1) { // Meldung (Plural) ab 2, im Limit
+			echo "\n<p class='anz'>";
+			if ($bltseite > 1) {echo "weitere ";}
+			echo $zfs1;
+			if ($kennztyp > 1) {
+				echo " Flurst. zum Eigent. im GB-Bezirk</p>"; 
+			} else {
+				echo " Flurst&uuml;cke zum Eigent&uuml;mer</p>"; 
+			}
+		}
+	}	
+	if ($bltrecht == "" and $zfs1 > 0) { // beides
+		echo "<hr>"; // dann Trenner
+	}
+
+	// FÃ€lle mit "Rechte an"
+	if ($bltrecht != "ohne") { // "nur"/"ohne" liefert nur den abgebrochene Teil der Auflistung 
+		// Zweite Abfrage (Variante) aus den Bausteinen zusammen bauen
+		// buchungsStelle2 < an < buchungsStelle1
+		$sql=$sql1.$sqlz.$sqla2.$sql2.$bltwhere.$sql3; // Rechte an
+		$v=array($person, $linelimit);
+		$res=pg_prepare("", $sql);
+		$res=pg_execute("", $v);
+		if (!$res) {
+			echo "\n<p class='err'>Fehler bei Recht an Buchung.</p>";
+			return;
+		}
+		$zfs2=0;
+		$gwbez="";
+		#gwgb="";
+		while($row = pg_fetch_array($res)) {	
+			$bezirk=$row["bezirk"];
+			if ($gwbez != $bezirk) { // Gruppierung Bezirk
+				$gwbez=$bezirk;
+				$beznam=$row["beznam"];
+				$gwgb="";
+				zeile_gbbez($beznam, $gwbez, $bezirkaktuell);
+			}
+			$gb_gml=$row["gml_g"];
+			if ($gwgb != $gb_gml) {  // Gruppierung Blatt (Grundbuch)
+				$beznam=$row["beznam"];
+				$blatt=$row["blatt"];
+				zeile_blatt ($bezirk, $beznam, $gb_gml, $blatt, false, $person, false);
+				$gwgb = $gb_gml;	// Steuerg GW GB
+				$gwbv = ""; 		// Steuerg GW BVNR
+			}
+			$bvnr=$row["lfd"];
+			if ($gwbv != $bvnr) { // Gruppierung Buchungs (BVNR)
+				$gwbv = $bvnr;
+				$bsgml=$row["bsgml"];
+				zeile_buchung($bsgml, $bvnr, "", true, false); // Recht an ...  // ohne Link!
+			#	zeile_buchung($bsgml, $bvnr, $bezirk."-".$blatt, true, false); // Recht an ...
+			}
+			$fs_gml=$row["gml_id"];
+			$gmkg=$row["gemarkungsname"];
+			$flur=$row["flurnummer"];
+			$fskenn=$row["zaehler"];
+			if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];}
+			$x=$row["x"];
+			$y=$row["y"];
+			zeile_flurstueck ($fs_gml, $fskenn, $x, $y, $gmkg, $flur, false);
+			$zfs2++;
+		}
+		if($zfs2 == 0) {
+			if ($zfs1 == 0 or $bltrecht == "nur") { // keine Meldung wenn schon in Teil 1 eine Ausgabe
+				echo "\n<p class='anz'>Keine Rechte an Buchungen.</p>";
+			}
+		} elseif($zfs2 >= $linelimit) { // das Limit war zu knapp, das  B l Ã€ t t e r n  anbieten
+			echo "\n<p class='blt'>";
+			if ($bltseite > 1) {echo "weitere ";}
+			echo $zfs2." Rechte an Flurst.";
+			$nxtbltbez=urlencode($beznam);
+			$nxtbltblatt=urlencode($blatt);
+			$nxtbltseite=$bltseite + 1;
+			echo "\n - <a class='blt' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;person=".$person;
+			echo "&amp;gbkennz=".$zgbbez; // Filter Bezirk
+			echo "&amp;bltbez=".$nxtbltbez."&amp;bltblatt=".$nxtbltblatt."&amp;bltbvnr=".$bvnr."&amp;bltseite=".$nxtbltseite."&amp;bltrecht=nur' ";
+			echo "title='Bl&auml;ttern ab ".htmlentities($beznam)." Blatt ".$blatt." BVNR ".$bvnr."'>weitere</a>";
+			echo "</p>";
+		} elseif($zfs2 > 1) { // ab 2
+			echo "\n<p class='anz'>";
+			if ($bltseite > 1) {echo "weitere ";}
+			echo $zfs2." Rechte an Flurst.</p>"; // im Limit		
+		}
+	} // ENDE FÃ€lle mit "Rechte an"
+	return;
+}
+
+// ===========
+// Start hier!
+// ===========
+// Parameter:  
+// 1. name   = Suche nach Namensanfang oder -bestandteil.
+// 2. person = gml_id der Person      -> Suche nach GrundbÃŒchern
+// 3. gb     = gml_id des Grundbuches -> Suche nach FlurstÃŒcken
+
+if(isset($epsg)) {
+	$epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);	
+} else {
+	$epsg=$gui_epsg; // aus Conf
+}
+if ($gemeinde == "") {
+	$gfilter = 0; // Gemeinde ungefiltert
+} elseif(strpos($gemeinde, ",") === false) {
+	$gfilter = 1; // Gemeinde Einzelwert
+} else {
+	$gfilter = 2; // Gemeinde Filter-Liste
+}
+
+$kennztyp=ZerlegungGBKennz($gbkennz); // Grundbuch-Kennzeichen aus Parameter zerlegen: $z__ 
+// 2=Such Bezirk-Nummer, 3=Such Blatt, 4=Such Buchung BVNR
+
+// Quo Vadis?
+if($blattgml != "") { // FlurstÃŒcke zum Grundbuch
+
+	// Das Programm hat sich selbst verlinkt aus einer Liste der GB zu einem EigentÃŒmer.
+	// Wenn Parameter mitgegeben wurden, kÃ¶nnen diese fÃŒr einen "Link zurÃŒck" verwendet werden.
+	$trans="Flurst&uuml;cke zum Grundbuch";
+	getFSbyGB(true); // mit BackLink
+
+} elseif($person != "") { // GrundbÃŒcher zur Person
+	// Das Programm hat sich selbst verlinkt aus einer Liste der Personen zu einer Suchmaske.
+	if ($debug >= 2) {echo "\n<p class='dbg'>Gemeinde-Filter-Steuerung = '".$gfilter."'</p>";}
+
+	// Die Filtereinstellung beeinflusst die Such-Strategie:
+	if ($gfilter == 0) { // Keine Filterung auf "Gemeinde": groÃe Datenmenge
+		if ($kennztyp > 1) {
+			$trans = "Grundb&uuml;cher in ".$zgbbez." von .."; // Filter GB-Bez
+		} else {
+			$trans = "Grundb&uuml;cher von .."; // Name steht darunter
+		}
+		getGBbyPerson();
+		// Also schrittweise erst mal Stufe 2 = GrundbÃŒcher zur Person suchen.
+		if(isset($blattgml) ) {	// Es wurde nur EIN Grundbuch zu der Person gefunden.
+			$trans = "1 Blatt zum Eigent&uuml;mer";
+			getFSbyGB(false); 	// Dann dazu auch gleich die Stufe 3 hinterher, aber ohne Backlink.
+		}
+	} else { // mit Filter auf Gemeinde: weniger Daten?
+		if ($kennztyp > 1) {
+			#trans="Grundb. und Flurst. in ".$zgbbez." von .. "; // zu lang
+			$trans="Grdb. und Flst. von .. in .."; // Filter GB-Bez,
+			// darunter sind dann Name und Bezirk farblich markiert
+		} else {
+			$trans="Grundb. und Flurst. von .."; // der EigentÃŒmer steht darunter
+		}
+		getGBuFSbyPerson(); // Schritte 2+3 gleichzeitig, dabei Gemeinde-Filter auf Stufe 3
+	}
+
+} elseif(isset($name)) { // Suchbegriff aus Form: Suche nach Name
+
+	$trans="Namensuche \"".$name."\"";
+	getEigByName(); // Suchen nach Namensanfang
+
+	if($person != "") { // genau EIN Treffer zum Namen
+		if ($gfilter == 0) {
+			$trans="Grundb&uuml;cher zum Namen";
+			getGBbyPerson(); // Dann gleich das Grundbuch hinterher
+		} else {
+			$trans="Grdb. und Flst. zum Namen";
+			getGBuFSbyPerson();	// .. oder auch GB + FS
+		}
+	}
+
+} elseif ($debug >= 1) {
+	$trans="falscher Aufruf";
+	echo "\n<p class='dbg'>Parameter?</p>"; // sollte nicht vorkommen
+}
+// Titel im Kopf anzeigen
+echo "
+<script type='text/javascript'>
+	transtitle('".$trans."'); 
+</script>";
+
+?>
+
+</body>
+</html>
Index: branches/0.7/mapbender/http/nav/alkisnav_eig.htm
===================================================================
--- branches/0.7/mapbender/http/nav/alkisnav_eig.htm	(revision 329)
+++ branches/0.7/mapbender/http/nav/alkisnav_eig.htm	(revision 329)
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<base target="_self">
+	<title>ALKIS-Suche Eigent&uuml;mer</title>
+	<link rel="stylesheet" type="text/css" href="alkisnav.css">
+	<script type="text/javascript" language="JavaScript">
+		// Parameter fuer Mandant aus url lesen
+		// &gkz=150&gemeinde=40&test=ja
+		var parms = location.search.split("&");    // 0: "?gkz=150" 1: "gemeinde=40" 2: "test=ja"
+		var arr = parms[0].split("=", 2); // 0: "?gkz"  1: "150"
+		var gkz = "000";
+		if(arr[0] == "?gkz") {gkz = arr[1];}
+		var arr = parms[1].split("=", 2)
+		var gem = "0";
+		if(arr[0] == "gemeinde") {gem = arr[1];}
+		// aktueller EPSG-Code (Version 2.7)
+		function sendGuiEpsg () {
+			var ind = parent.parent.getMapObjIndexByName("mapframe1");
+			var epsg = parent.parent.mb_mapObj[ind].getSRS();
+			document.forms[0].epsg.value = epsg;
+		}
+		function validate(){
+			sendGuiEpsg();
+			document.forms[0].gkz.value = gkz;
+			document.forms[0].gemeinde.value = gem;
+		}
+	</script>
+</head>
+<body onload="javascript:validate();">
+
+<div id='tabs'>
+<ul>
+	<script type="text/javascript" language="JavaScript">
+		document.writeln("<li><a target='_self' href='alkisnav_adr.htm?gkz=" + gkz + "&amp;gemeinde=" + gem + "'>Adresse</a></li>");
+		document.writeln("<li class='aktiveTab'>Name</a></li>");
+		document.writeln("<li><a target='_self' href='alkisnav_fls.htm?gkz=" + gkz + "&amp;gemeinde=" + gem + "'>Flurst&uuml;ck</a></li>");
+		document.writeln("<li><a target='_self' href='alkisnav_grd.htm?gkz=" + gkz + "&amp;gemeinde=" + gem + "'>Grundb.</a></li>");
+	</script>
+</ul>
+</div>
+
+<form class='nav' name='EigGazetteerFrame' onsubmit='return validate()' target='EigResultFrame' action='alkisnav_eig.php'>
+	<input name='gkz' type='hidden'>
+	<input name='gemeinde' type='hidden'>
+	<input name='epsg' type='hidden'>
+	<input class='textfield' name='name' type='text' size='22' title='Eigent&uuml;mername (Anfang)'>
+	<input class='sbutton' type='submit' value='ok'>
+	<br>
+</form>
+
+<iframe name="EigResultFrame" src="blank_eig.html" class='ResultFrame'></iframe>
+
+</body>
+</html>
Index: branches/0.7/mapbender/http/nav/alkisnav_adr.php
===================================================================
--- branches/0.7/mapbender/http/nav/alkisnav_adr.php	(revision 329)
+++ branches/0.7/mapbender/http/nav/alkisnav_adr.php	(revision 329)
@@ -0,0 +1,376 @@
+<?php
+/* Version vom 
+	2013-04-26	"import_request_variables" entfÃ€llt in PHP 5.4.
+					ZurÃŒck-Link, Titel der Transaktion anzeigen
+	2013-04-29	Test mit IE
+	2013-05-07  Strukturierung des Programms
+	2013-05-14  Feinkorrekturen
+	2013-05-15  Gruppierung nach Gemeinde, mehrfache HsNr (ap_pto.advstandardmodell) unterdrÃŒcken, Icon f. StraÃe
+	2014-01-23	Link zum Auskunft-Modul fÃŒr StraÃe
+	ToDo:
+	-	Gruppierung (mit Zeile) der StraÃenliste nach Gemeinde
+	-	Eingabe aus "Balken" von Buchauskunft "Lage" zulassen: Numerisch: Gem-Str-Haus-lfd
+		-- lfd (NebengebÃ€ude) als Untergliederung der geklickten Haus-Nr anzeigen
+		Analog zur Zerlegung des FS-Kennz in _fls
+	-	Mouse-Over in StraÃenliste soll Position zeigen.
+		Dazu in der DB eine Tabelle mit Koordinate zum StraÃenschlÃŒssel aufbauen. 
+*/
+$cntget = extract($_GET);
+include("../../conf/alkisnav_conf.php");
+include("alkisnav_fkt.php"); // Funktionen
+$con_string = "host=".$host." port=".$port." dbname=".$dbname.$dbvers.$gkz." user=".$user." password=".$password;
+$con = pg_connect ($con_string) or die ("Fehler bei der Verbindung zur Datenbank ".$$dbname.$dbvers.$gkz);
+echo <<<END
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<title>ALKIS-Suche Adressen</title>
+	<link rel="stylesheet" type="text/css" href="alkisnav.css">
+	<script type='text/javascript'>
+		function transtitle (trans) { // Titel der letzten Transaktion anzeigen
+			document.getElementById('transaktiontitle').innerHTML = trans;
+		}
+		function imFenster(dieURL) {
+			var link = encodeURI(dieURL);
+			window.open(link,'','left=10,top=10,width=620,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes');
+		}
+	</script>
+</head>
+<body>
+<a href='javascript:history.back()'>
+	<img src="ico/zurueck.ico" width="16" height="16" alt="&lt;&lt;" title="zur&uuml;ck">
+</a>
+<dfn class='title' id='transaktiontitle'></dfn>
+
+END;
+
+function suchStrName() { // Strassen nach Name(-nsanfang)
+	global $street, $scalestr, $str_schl, $gkz, $gemeinde, $epsg, $gfilter, $debug, $auskpath;
+	$linelimit=120;  // -> in die Conf?
+	preg_match("/^(\D+)(\d*)(\D*)/",$street,$matches); # 4 matches name/nr/zusatz echo "match: ".$matches[1].",".$matches[2].",".$matches[3];
+	$matches[1] = preg_replace("/strasse/i","str", $matches[1]);
+	$matches[1] = preg_replace("/str\./i","str", $matches[1]); 
+	if(preg_match("/\*/",$matches[1])){
+		$match=trim(preg_replace("/\*/i","%", strtoupper($matches[1])));
+	} else {
+		$match=trim($matches[1])."%";
+	}
+	$sql ="SELECT g.gemeinde, g.bezeichnung AS gemname, k.gml_id, k.bezeichnung, k.schluesselgesamt, k.lage ";
+	$sql.="FROM ax_lagebezeichnungkatalogeintrag as k ";
+	$sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde ";
+	$sql.="WHERE k.bezeichnung ILIKE $1 ";
+	switch ($gfilter) {
+		case 1: // Einzelwert
+			$sql.="AND k.gemeinde=".$gemeinde." ";
+			break;
+		case 2: // Liste
+			$sql.="AND k.gemeinde in (".$gemeinde.") ";
+			break;
+		default: // kein Filter
+			break;
+	}
+	$sql.="ORDER BY g.bezeichnung, k.bezeichnung, k.lage LIMIT $2 ;";
+ 	$v=array($match,$linelimit);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {return "\n<p class='err'>Fehler bei Name</p>";}
+	$cnt = 0;
+	$gwgem="";
+	while($row = pg_fetch_array($res)) {
+		$gemname=$row["gemname"];
+		$gemnr=$row["gemeinde"] ;
+		if ($gwgem != $gemname) {
+			if ($gfilter != 1) {
+				zeile_gemeinde($gemnr, $gemname, false); // ToDo: aber ohne Link oder Link verarbeiten kÃ¶nnen
+			}
+			$gwgem=$gemname;
+		}
+		$gkey=$row["schluesselgesamt"]; // Land-RegBez-Kreis-Gem-Strasse - fÃŒr weitere Suche
+		$skey=$row["lage"]; // Nur Str.-schl. daraus
+		$kgml=$row["gml_id"]; // ID von Katalog
+
+// +++ in function_zeile_strasse()
+		$sname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");	
+		echo "\n\t<div class='stl' title='Stra&szlig;enschl&uuml;ssel ".$skey."'>";
+		// Icon -> Buchnachweis
+		echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$kgml."\")'>";
+			echo "\n\t\t<img class='nwlink' src='ico/Lage_mit_Haus.ico' width='16' height='16' alt='STR' title='Stra&szlig;e'>";
+		echo "\n\t</a>";
+		echo "<a href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;str_schl=".$gkey."'>".$sname."</a>";
+		echo "</div>";
+// +++ function ende
+		$cnt++;
+	}
+	if($cnt == 0) {
+		echo "<pclass='anz'>Keine Stra&szlig;e</p>";
+	} elseif($cnt == 1) { // Eindeutig
+		$str_schl=$gkey; // dann gleich weiter
+	} elseif($cnt >= $linelimit) {
+		echo "<p class='anz'>".$cnt." Stra&szlig;en ... und weitere</p>";			
+	} elseif ($cnt > 1) {
+		echo "\n<p class='anz'>".$cnt." Stra&szlig;en</p>";	
+	}
+	return;
+}
+
+function suchStrKey() { // Strassen nach num. Schluessel
+	global $street, $scalestr, $str_schl, $gkz, $gemeinde, $epsg, $gfilter, $debug, $auskpath;
+	$linelimit=60;
+	if(preg_match("/\*/",$street)) {
+		$match=trim(preg_replace("/\*/i","%",$street));
+		// fuehrende Nullen eingeben oder fuehrende Wildcard
+	} else {
+		$match=str_pad($street, 5, "0", STR_PAD_LEFT); // "Wie eine Zahl" verarbeiten 
+	}
+	$sql ="SELECT g.bezeichnung AS gemname, k.gml_id, k.bezeichnung, k.schluesselgesamt, k.lage ";
+	$sql.="FROM ax_lagebezeichnungkatalogeintrag as k ";
+	$sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde ";
+	$sql.="WHERE k.lage LIKE $1 ";
+	switch ($gfilter) {
+		case 1: // Einzelwert
+			$sql.="AND k.gemeinde=".$gemeinde." ";
+			break;
+		case 2: // Liste
+			$sql.="AND k.gemeinde in (".$gemeinde.") ";
+			break;
+	}
+	$sql.="ORDER BY k.lage, k.bezeichnung LIMIT $2 ;";
+ 	$v=array($match,$linelimit);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {return "\n<p class='err'>Fehler bei Schl&uuml;ssel</p>";}
+	$cnt = 0;
+	while($row = pg_fetch_array($res)) {
+		$sname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");		
+		$gkey=$row["schluesselgesamt"];
+		$gemname=htmlentities($row["gemname"], ENT_QUOTES, "UTF-8");
+		$skey=$row["lage"];
+		$kgml=$row["gml_id"]; // ID von Katalog	
+		
+// +++ in function_zeile_strasse()
+		echo "\n\t<div class='stl' title='Stra&szlig;enschl&uuml;ssel ".$skey."'>";
+
+			// Icon -> Buchnachweis
+			echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$kgml."\")'>";
+				echo "\n\t\t<img class='nwlink' src='ico/Lage_mit_Haus.ico' width='16' height='16' alt='STR' title='Stra&szlig;e'>";
+			echo "\n\t</a>";
+		
+			echo $skey." <a class='st' href='".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;str_schl=".$gkey."' title='".$gemname."'>".$sname;
+			echo "</a>";
+			switch ($gfilter) {
+				case 0: // Kein Filter
+					echo " in ".$gemname;
+					break;
+				case 2: // Liste
+					echo " in ".$gemname;
+					break;
+			}
+		echo "</div>";
+// function ende
+		$cnt++;
+	}
+	if($cnt == 0) {
+		echo "\n<p class='anz'>Keine Stra&szlig;e mit Schl&uuml;ssel ".$match."</p>";
+	} elseif($cnt == 1) { // Eindeutig
+		$str_schl=$gkey; // dann gleich weiter
+	} elseif ($cnt >= $linelimit) {
+		echo "\n<p>".$cnt." Stra&szlig;en ... und weitere</p>";			
+	} elseif ($cnt > 1) {
+		echo "\n<p class='anz'>".$cnt." Stra&szlig;en</p>";	
+	}	
+	return;
+}
+
+function suchHausZurStr($showParent) { // Haeuser zu einer Strasse
+	global $str_schl, $gkz, $scalestr, $scalehs, $epsg, $gemeinde, $epsg, $gfilter, $debug, $auskpath;
+
+	// Head
+	// Strasse zum Strassenschluessel
+	$sql ="SELECT g.bezeichnung AS gemname, k.gml_id AS kgml, k.bezeichnung, k.land, k.regierungsbezirk, k.kreis, k.gemeinde, k.lage ";
+	$sql.="FROM ax_lagebezeichnungkatalogeintrag as k ";
+	$sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde ";
+	$sql.="WHERE k.schluesselgesamt = $1 LIMIT 1"; 
+  	$v=array($str_schl);	// Schluessel-Gesamt ..
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if($row = pg_fetch_array($res)) { // .. gefunden
+		$kgml=$row["kgml"]; // ID aus Katalog
+		$sname=$row["bezeichnung"];
+		$land =$row["land"];	// Einzel-Felder fÃŒr JOIN _lagebezeichnung_
+		$regb =$row["regierungsbezirk"];
+		$kreis=$row["kreis"];
+		$gemnd=$row["gemeinde"];
+		$nr=$row["lage"];
+		$gemname=htmlentities($row["gemname"], ENT_QUOTES, "UTF-8");
+		if ($showParent) {
+			// EINE Koordinate zur Strasse besorgen
+			// ax_Flurstueck >zeigtAuf> ax_LagebezeichnungOhneHausnummer
+			$sqlko ="SELECT ";
+			if($epsg == "25832") { // Transform nicht notwendig
+				$sqlko.="st_x(st_Centroid(f.wkb_geometry)) AS x, ";
+				$sqlko.="st_y(st_Centroid(f.wkb_geometry)) AS y ";
+			} else {
+				$sqlko.="st_x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, ";
+				$sqlko.="st_y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y ";
+			}
+			$sqlko.="FROM ax_lagebezeichnungohnehausnummer o ";
+			$sqlko.="JOIN alkis_beziehungen v ON o.gml_id=v.beziehung_zu "; 
+			$sqlko.="JOIN ax_flurstueck f ON v.beziehung_von=f.gml_id ";
+			$sqlko.="WHERE o.land= $1 AND o.regierungsbezirk= $2 AND o.kreis= $3 AND o.gemeinde= $4 AND o.lage= $5 ";	
+			$sqlko.="AND v.beziehungsart='zeigtAuf' LIMIT 1;"; // die erstbeste Koordinate
+			$v=array($land,$regb,$kreis,$gemnd,$nr);
+			$resko=pg_prepare("", $sqlko);
+			$resko=pg_execute("", $v);
+			if ($resko) {
+				$rowko=pg_fetch_array($resko); 
+				$x=$rowko["x"];
+				$y=$rowko["y"];
+			} else {		
+				echo "\n<p class='err'>Fehler bei Koordinate zur Stra&szlig;e</p>";
+			}
+
+// +++ IN ARBEIT:
+			echo "\n\t<div class='stu' title='Stra&szlig;enschl&uuml;ssel ".$skey."'>";
+			// Icon -> Buchnachweis
+			echo "\n\t<a title='Nachweis' href='javascript:imFenster(\"".$auskpath."alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$kgml."\")'>";
+				echo "\n\t\t<img class='nwlink' src='ico/Lage_mit_Haus.ico' width='16' height='16' alt='STR' title='Stra&szlig;e'>";
+			echo "\n\t</a>";
+
+			if ($x > 0) { // Koord. bekommen?
+				echo "\n\t<a title='Positionieren 1:".$scalestr."' href='javascript:"; // mit Link
+						echo "transtitle(\"auf Stra&szlig;e positioniert\"); ";
+						echo "parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalestr."); ";
+						echo "parent.parent.showHighlight(".$x.",".$y."); ";
+					//	echo "document.location.href=\"".$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&amp;gemeinde=".$gemeinde."&amp;epsg=".$epsg."&amp;str_schl=".$str_schl."\"";
+					echo "' "; // end href
+					echo "\n\t\tonmouseover='parent.parent.showHighlight(" .$x. "," .$y. ")' ";
+					echo "\n\t\tonmouseout='parent.parent.hideHighlight()'";
+				echo ">\n\t\t".$sname." (".$nr.")\n\t</a>";
+			} else { // keine Koord. gefunden
+				echo $sname." (".$nr.")"; // nur Anzeige, ohne Link
+			}
+			switch ($gfilter) {
+				case 0: // Kein Filter
+					echo " in ".$gemname;
+					break;
+				case 2: // Liste
+					echo " in ".$gemname;
+					break;
+			}			
+			echo "\n</div>";
+		}
+		echo "\n<hr>";
+
+		// Body
+		// Haeuser zum Strassenschluessel
+		$sql="SELECT min(replace(h.hausnummer,' ','')) AS hsnr, ";
+		if($epsg == "25832") { // Transform nicht notwendig
+			$sql.="avg (st_x(p.wkb_geometry)) AS x, ";
+			$sql.="avg (st_y(p.wkb_geometry)) AS y ";		
+		} else {  
+			$sql.="avg (st_x(st_transform(p.wkb_geometry,".$epsg."))) AS x, ";
+			$sql.="avg (st_y(st_transform(p.wkb_geometry,".$epsg."))) AS y ";		
+		}
+		$sql.="FROM ap_pto p JOIN alkis_beziehungen v ON p.gml_id = v.beziehung_von ";
+		$sql.="JOIN ax_lagebezeichnungmithausnummer h ON v.beziehung_zu = h.gml_id ";
+		$sql.="WHERE v.beziehungsart='dientZurDarstellungVon' AND p.art = 'HNR' ";
+		$sql.="AND h.land= $1 AND h.regierungsbezirk= $2 AND h.kreis= $3 AND h.gemeinde= $4 AND h.lage= $5 ";
+		$sql.="GROUP BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2) ";
+		$sql.="ORDER BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2);";
+		// Problem: mehrere Koordinaten fÃŒr verschiedene MaÃstÃ€be der Kartendarstellung
+		// Diese sollten nicht mehrfach gelistet werden. FÃŒr Positionierung "irgendeine" nehmen.
+		// LÃ¶sung: ÃŒber GROUP BY in SQL. Alternative LÃ¶sungen wÃ€ren: 
+		//  1. Gruppenwechsel bei Abarbeitung des Result
+		//  2. Subquery mit LIMIT 1 statt JOIN
+		//  3. Geometrie aus GebÃ€ude-Mittelpunkt statt aus PrÃ€sentationsobjekt der Hausnummer
+
+ 		$v=array($land,$regb,$kreis,$gemnd,$nr);
+		$resh=pg_prepare("", $sql);
+		$resh=pg_execute("", $v);
+		#echo "<p class='dbg'>SQL='".$sql."'<br>Array=".$v[]."</p>"; // TEST
+
+		$cnt=0;
+		$count=0;
+		echo "\n<table>";
+		while($rowh = pg_fetch_array($resh)) { // mehrere HsNr je Zeile
+			if($count == 0){echo "\n<tr>";}	
+			$hsnr=$rowh["hsnr"];
+			$x=$rowh["x"];
+			$y=$rowh["y"];
+			echo "\n\t<td class='hsnr'>";
+				echo "<a href='";
+					echo "javascript:";
+					echo "transtitle(\"auf Haus ".$hsnr." positioniert\"); ";
+					echo "parent.parent.parent.mb_repaintScale(\"mapframe1\",".$x.",".$y.",".$scalehs."); ";
+					echo "parent.parent.showHighlight(".$x.",".$y.");' ";
+				echo "onmouseover='parent.parent.showHighlight(".$x.",".$y.")' ";
+				echo "onmouseout='parent.parent.hideHighlight()";
+				echo "'>".$hsnr."</a>";
+			echo "</td>";
+			$cnt++;
+			$count++;
+			if($count == 6) {
+				echo "\n</tr>";
+				$count = 0;
+			}
+		}
+		if($count > 0) {echo "\n</tr>";}
+		echo "\n</table>";
+		if ($cnt > 1) {
+			echo "\n<p class='anz'>".$cnt." Hausnummern</p>";
+		}
+	} else {
+		echo "\n<p class='anz'>Keine Stra&szlig;e</p>";
+	}
+	return;
+}
+// ===========
+// Start hier!
+// ===========
+if(isset($epsg)) {
+	$epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);	
+} else {
+	$epsg=$gui_epsg; // aus Conf
+}
+if ($gemeinde == "") {
+	$gfilter = 0; // ungefiltert
+} elseif(strpos($gemeinde, ",") === false) {
+	$gfilter = 1; // Einzelwert
+} else {
+	$gfilter = 2; // Liste
+}
+
+// +++	Zerlegung Eingabe aus "Balken" von Buchauskunft "Lage":
+//			Numerisch: Gem-Str-Haus-lfd
+
+if ($str_schl != "") { // aus Link
+	$trans="Hausnummern zur Stra&szlig;e";
+	suchHausZurStr(true);
+} elseif($street != "") { // Eingabe in Form
+	if (trim($street, "*,0..9") == "") { // Zahl, ggf. mit Wildcard
+		$trans="Suche Stra&szlig;enschl&uuml;ssel \"".$street."\"";
+		suchStrKey();
+	} else {
+		$trans="Suche Stra&szlig;enname \"".$street."\"";
+		suchStrName();
+	}
+	if(isset($str_schl)) { // Eindeutiges Ergebnis
+		$trans="1 Stra&szlig;e gefunden, Hausnummern";
+		suchHausZurStr(false);
+	}
+}
+// Titel im Kopf anzeigen
+echo "
+<script type='text/javascript'>
+	transtitle ('".$trans."') ; 
+</script>";
+
+?>
+
+</body>
+</html>
Index: branches/0.7/mapbender/http/nav/alkisnav_adr.htm
===================================================================
--- branches/0.7/mapbender/http/nav/alkisnav_adr.htm	(revision 329)
+++ branches/0.7/mapbender/http/nav/alkisnav_adr.htm	(revision 329)
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<base target="_self">
+	<title>ALKIS-Suche Adressen</title>
+	<link rel="stylesheet" type="text/css" href="alkisnav.css">
+	<script type="text/javascript" language="JavaScript">
+		// Parameter fuer Mandant aus url lesen
+		// &gkz=150&gemeinde=40&test=ja
+		var parms = location.search.split("&");    // 0: "?gkz=150" 1: "gemeinde=40" 2: "test=ja"
+		var arr = parms[0].split("=", 2); // 0: "?gkz"  1: "150"
+		var gkz = "000";
+		if(arr[0] == "?gkz") {gkz = arr[1];}
+		var arr = parms[1].split("=", 2)
+		var gem = "0";
+		if(arr[0] == "gemeinde") {gem = arr[1];}
+		// aktueller EPSG-Code
+		function sendGuiEpsg () {
+			var ind = parent.parent.getMapObjIndexByName("mapframe1");
+			var epsg = parent.parent.mb_mapObj[ind].getSRS();
+			document.forms[0].epsg.value = epsg;
+		}
+		function validate(){
+			sendGuiEpsg();
+			document.forms[0].gkz.value = gkz;
+			document.forms[0].gemeinde.value = gem;
+		}
+	</script>
+</head>
+<body onload="javascript:validate();">
+
+<div id='tabs'>
+<ul>
+	<script type="text/javascript" language="JavaScript">
+		document.writeln("<li class='aktiveTab'>Adresse</li>");
+		document.writeln("<li><a target='_self' href='alkisnav_eig.htm?gkz=" + gkz + "&amp;gemeinde=" + gem + "'>Name</a></li>");
+		document.writeln("<li><a target='_self' href='alkisnav_fls.htm?gkz=" + gkz + "&amp;gemeinde=" + gem + "'>Flurst&uuml;ck</a></li>");
+		document.writeln("<li><a target='_self' href='alkisnav_grd.htm?gkz=" + gkz + "&amp;gemeinde=" + gem + "'>Grundb.</a></li>");
+	</script>
+</ul>
+</div>
+
+<form class='nav' name='AdrGazetteerFrame' onsubmit='return validate()' target='AdrResultFrame' action='alkisnav_adr.php'>
+	<input name='gkz' type='hidden'>
+	<input name='gemeinde' type='hidden' >
+	<input name='epsg' type='hidden'>
+	<input class='textfield' name='street' type='text' size='22' title='Stra&szlig;enname (Anfang)'>
+	<input class='sbutton' type='submit' value='ok'>
+	<br>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='A'; document.forms[0].submit();">A</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='B'; document.forms[0].submit();">B</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='C'; document.forms[0].submit();">C</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='D'; document.forms[0].submit();">D</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='E'; document.forms[0].submit();">E</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='F'; document.forms[0].submit();">F</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='G'; document.forms[0].submit();">G</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='H'; document.forms[0].submit();">H</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='I'; document.forms[0].submit();">I</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='J'; document.forms[0].submit();">J</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='K'; document.forms[0].submit();">K</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='L'; document.forms[0].submit();">L</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='M'; document.forms[0].submit();">M</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='N'; document.forms[0].submit();">N</span>
+	<br>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='O'; document.forms[0].submit();">O</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='P'; document.forms[0].submit();">P</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='Q'; document.forms[0].submit();">Q</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='R'; document.forms[0].submit();">R</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='S'; document.forms[0].submit();">S</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='T'; document.forms[0].submit();">T</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='U'; document.forms[0].submit();">U</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='V'; document.forms[0].submit();">V</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='W'; document.forms[0].submit();">W</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='X'; document.forms[0].submit();">X</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='Y'; document.forms[0].submit();">Y</span>
+	<span class="letter" onclick="sendGuiEpsg(); document.forms[0].street.value='Z'; document.forms[0].submit();">Z</span>
+</form>
+
+<iframe name="AdrResultFrame" src="blank_adr.html" class='ResultFrame'></iframe>
+
+</body>
+</html>
Index: branches/0.7/mapbender/http/nav/blank_grd.html
===================================================================
--- branches/0.7/mapbender/http/nav/blank_grd.html	(revision 329)
+++ branches/0.7/mapbender/http/nav/blank_grd.html	(revision 329)
@@ -0,0 +1,15 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<link rel="stylesheet" type="text/css" href="alkisnav.css">
+	<title></title>
+</head>
+<body>
+<p class='start'>Suche nach Grundbuchblatt in ALKIS:<br><br>
+Schritt 1: Suche Grundbuch-Bezirk<br><br>
+Schritt 2: Auswahl Grundbuch-Blatt<br><br>
+Schritt 3: Auswahl Grundst&uuml;ck (Buchungsstelle, BVNR)<br><br>
+Schritt 4: Auswahl Flurst&uuml;ck</p>
+</body>
+</html>
Index: branches/0.7/mapbender/http/nav/alkisnav_grd.php
===================================================================
--- branches/0.7/mapbender/http/nav/alkisnav_grd.php	(revision 329)
+++ branches/0.7/mapbender/http/nav/alkisnav_grd.php	(revision 329)
@@ -0,0 +1,575 @@
+<?php
+/* Version vom
+	2013-04-16	"import_request_variables" entfÃ€llt in PHP 5.4
+	2013-04-26	Ersetzen View "gemeinde_gemarkung" durch Tabelle "pp_gemarkung"
+					Code aus _eig nach_fkt ausgelegert, hier mit nutzen. 
+					Dazu Var-Namen harmonisieren: $gblatt wird $blattgml
+					ZurÃŒck-Link, Titel der Transaktion anzeigen.
+	2013-04-29	Test mit IE
+	2013-05-07  Strukturierung des Programms, redundanten Code in Functions zusammen fassen
+	2013-05-14  Hervorhebung aktuelles Objekt. Title "Nachweis" auch auf Icon.
+	2013-12-12	Limit in EinBlatt von 200 weit hoch gesetzt (bis BlÃ€ttern mÃ¶glich wird)
+*/
+$cntget = extract($_GET);
+include("../../conf/alkisnav_conf.php"); // Konfigurations-Einstellungen
+include("alkisnav_fkt.php"); // Funktionen
+
+$con_string = "host=".$host." port=".$port." dbname=".$dbname.$dbvers.$gkz." user=".$user." password=".$password;
+$con = pg_connect ($con_string) or die ("Fehler bei der Verbindung zur Datenbank ".$dbname.$dbvers.$gkz);
+echo <<<END
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<title>ALKIS-Suche Grundbuch</title>
+	<link rel="stylesheet" type="text/css" href="alkisnav.css">
+	<script type="text/javascript">
+		function imFenster(dieURL) {
+			var link = encodeURI(dieURL);
+			window.open(link,'','left=10,top=10,width=680,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes');
+		}
+		function transtitle(trans) {
+			document.getElementById('transaktiontitle').innerHTML = trans;
+		}
+		function formular_belegung(suchMich) {
+			parent.GrdGazetteerFrame.gbkennz.value=suchMich;
+		}
+	</script>
+</head>
+<body>
+<a href='javascript:history.back()'>
+	<img src="ico/zurueck.ico" width="16" height="16" alt="&lt;&lt;" title="zur&uuml;ck">
+</a>
+<dfn class='title' id='transaktiontitle'></dfn>
+
+END;
+
+function ListAG($liste_ag, $aktuell) {
+	// Amtsgerichte (Grundbuch) auflisten, dazu als Filter eine AG-Liste
+	global $debug;
+	$linelimit=40;
+	$sql ="SELECT a.stelle, a.bezeichnung AS ag FROM ax_dienststelle a ";
+	$sql.="WHERE a.stelle IN (".$liste_ag.") AND a.stellenart = 1000 "; // Amtsgerichte aus Liste
+	$sql.="ORDER BY a.bezeichnung LIMIT $1 ;";
+	$res = pg_prepare("", $sql);
+	$res = pg_execute("", array($linelimit));
+	if (!$res) {
+		echo "\n<p class='err'>Fehler bei Amtsgerichte</p>";
+		#if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";}
+		return 0;
+	}
+	$cnt = 0;
+	while($row = pg_fetch_array($res)) { // Loop AG 
+		$anr=$row["stelle"];
+		$ag=$row["ag"];		
+		zeile_ag ($ag, $anr, $aktuell);
+		$cnt++;
+	}
+	// Foot
+	if($cnt == 0){
+		echo "\n<p class='anz'>Kein Amtsgericht aus Liste ".$$liste_ag.".</p>";
+	} elseif ($cnt >= $linelimit) {
+		echo "\n<p title='Bitte eindeutiger qualifizieren'>".$cnt." Amtsgerichte ... und weitere</p>";
+	} elseif ($cnt > 1) {
+		echo "\n<p class='anz'>".$cnt." Amtsgerichte</p>";
+	}
+	return 0;
+}
+
+function ListGBBez($agkey) {
+	// Grundbuch-Bezirke zu einem Amtsgericht auflisten.
+	// Auch wenn BlÃ€tter da sind, kann es eine Sackgasse sein. 
+	// Manchmal haben die BlÃ€tter keine FlurstÃŒcke im Filter-Bereich
+	global $debug;
+	$linelimit=100; // Bezirke/AG
+
+	// Head
+	ListAG("'".$agkey."'", true); // hier nur fÃŒr 1
+
+	// Body
+	$sql ="SELECT g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g ";
+	$sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle ";
+	$sql.="WHERE a.stelle = $1 AND a.stellenart = 1000 ";
+	// Diese Subquery stellt sicher, dass nur Bezirke aufgelistet werden, die auch BlÃ€tter enthalten:
+	$sql.="AND NOT (SELECT gml_id FROM ax_buchungsblatt b WHERE b.land=g.land and b.bezirk=g.bezirk LIMIT 1) IS NULL ";
+	$sql.="ORDER BY g.bezeichnung LIMIT $2 ;";
+	$v = array($agkey, $linelimit);
+	$res = pg_prepare("", $sql);
+	$res = pg_execute("", $v);
+	if (!$res) {
+		echo "\n<p class='err'>Fehler bei Grundbuch-Bezirk</p>";
+		#if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";}
+		return 0;
+	}
+	$cnt = 0;
+	while($row = pg_fetch_array($res)) { // Loop BEZIRK
+		$gnam=$row["bezeichnung"];
+		$gnr=$row["bezirk"];
+		zeile_gbbez($gnam, $gnr, false);
+		$cnt++;
+	}
+	// Foot
+	if($cnt == 0){
+		echo "\n<p class='anz'>Kein Bezirk mit Bl&auml;ttern.</p>";
+	} elseif ($cnt >= $linelimit) {
+		echo "\n<p class='anz' title='Bitte Name des Bezirks suchen lassen'>".$cnt." Bezirke ... und weitere</p>";
+	} elseif($cnt > 1) {
+		echo "\n<p class='anz'>".$cnt." Bezirke</p>"; // im Limit	
+	}
+	return;
+}
+
+function ag_bez_head($gbbez, $bezaktuell) {
+	// Zu einem Grundbuchbezirks-SchlÃŒssel die Zeilen AG und Bezirk ausgeben
+	// Parameter = SchlÃŒssel des Bezirks
+	#global $debug;
+	$sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezeichnung FROM ax_buchungsblattbezirk g ";
+	$sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle WHERE g.bezirk= $1 LIMIT 1;";
+	$v=array($gbbez);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {
+		echo "\n<p class='err'>Fehler bei Amtsgericht und Grundbuchbezirk.</p>";
+		#if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";}
+	}
+	$row = pg_fetch_array($res);
+	if ($row) {
+		$gnam=$row["bezeichnung"]; // GB-Bezirk Bezeichnung
+		$ag=$row["ag"]; // AG Bezeichnung
+		$anr=$row["stelle"]; // AG Key
+		zeile_ag($ag, $anr, false); // Amtsgericht
+		zeile_gbbez($gnam, $gbbez, $bezaktuell); // Bezirk
+	} else {
+  		echo "\n<div class='gk' title='Grundbuchbezirk'>";
+			echo "\n\t\t<p class='err'><img class='nwlink' src='ico/GB-Bezirk.ico' width='16' height='16' alt='Bez.'>";
+				echo  " Bezirk '".$gbbez."' ist unbekannt.</p>";
+		echo "\n</div>";
+		return;
+	}
+	return;
+}
+
+function SuchGBBezName() {
+	// Grundbuch-Bezirk suchen nach Name(-nsanfang)
+	global $gkz, $gemeinde, $debug, $gbkennz;
+	$linelimit=80;
+	$sql ="SELECT a.stelle, a.bezeichnung AS ag, g.bezirk, g.bezeichnung FROM ax_buchungsblattbezirk g ";
+	$sql.="JOIN ax_dienststelle a ON g.stelle=a.stelle ";
+	$sql.="WHERE g.bezeichnung ILIKE $1 "; //	"AND a.stellenart=1000 " // Amtsgericht
+	$sql.="ORDER BY a.bezeichnung, g.bezeichnung LIMIT $2 ;";
+	if ( $gbkennz == "") {
+		$match = "%";
+	} else {	
+		if(preg_match("/\*/",$gbkennz)){
+			$match = trim(preg_replace("/\*/i","%", strtoupper($gbkennz)));
+		} else {
+			$match = trim($gbkennz)."%";
+		}	
+	}
+	$v = array($match, $linelimit);
+	$res = pg_prepare("", $sql);
+	$res = pg_execute("", $v);
+	if (!$res) {
+		echo "\n<p class='err'>Fehler bei Grundbuch-Bezirk</p>";
+		return 1;
+	}
+	$cnt=0;
+	$gwag="";
+	while($row = pg_fetch_array($res)) { // Loop BEZIRK
+		$anr=$row["stelle"]; // Gruppierung AG
+		if ($gwag != $anr) {
+			$gwag = $anr;
+			$ag=$row["ag"];
+			zeile_ag($ag, $anr, false);
+		}
+		$gnam=$row["bezeichnung"];
+		$gnr=$row["bezirk"];
+		zeile_gbbez ($gnam, $gnr, false);
+		$cnt++;
+	}
+	// Foot
+	if($cnt == 0){ 
+		echo "\n<p class='anz'>Kein Grundbuchbezirk.</p>";
+	} elseif ($cnt >= $linelimit) {
+		echo "\n<p title='Bitte eindeutiger qualifizieren'>".$cnt." Bezirke ... und weitere</p>";
+	} elseif ($cnt == 1) {
+		return $gnr; // Wenn eindeutig, gleich weiter
+	} elseif ($cnt > 1) {
+		echo "\n<p class='anz'>".$cnt." Bezirke</p>"; // im Limit	
+	}
+	return;
+}
+ 
+function EinBezirk($showParent) {
+	// Kennzeichen bestehend nur aus GB-Bezirk-SchlÃŒssel wurde eingegeben
+	global $gemeinde, $debug, $zgbbez, $auskpath;
+	$linelimit=300; // max. Blatt je Bezirk
+	// Dies Limit ist nicht ausreichend fÃŒr alle BlÃ€tter eines Bezirks, aber ...
+	// Wenn man die Blatt-Nr nicht kennt, kommt man hier sowieso nicht weiter.
+	// Es nutzt also nichts, hier tausende Nummern aufzulisten.
+	// +++ BlÃ€tter-Funktion einfÃŒhren analog Modul _eig
+
+	// Head
+	if ($showParent) {
+		ag_bez_head($zgbbez, true); // AG und BEZ ausgeben
+	}
+	// Body
+	$sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b ";
+	$sql.="WHERE b.bezirk= $1 ORDER BY b.buchungsblattnummermitbuchstabenerweiterung LIMIT $2 ;";
+	$v=array($zgbbez, $linelimit);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {
+		echo "\n<p class='err'>Fehler bei Bezirk.</p>";
+		#if ($debug >= 3) {echo "\n<p class='err'>".$sql."</p>";}
+	}
+	$cntbl=0; // Counter Blatt/Bezirk
+	while($row = pg_fetch_array($res)) { // Loop BLATT	
+		$blatt=$row["blatt"];
+		$blattgml=$row["gml_id"];
+		zeile_blatt($zgbbez, $gnam, $blattgml, $blatt, false, "", false);
+		$cntbl++;
+	}
+	// Foot
+	if($cntbl == 0) { 
+		echo "\n<p class='anz'>Kein Blatt im Bezirk.</p>";
+	} elseif($cntbl >= $linelimit) {
+		echo "\n<p class='anz'>".$cntbl." Bl&auml;tter ... und weitere</p>";
+		// +++ Hier oft ÃŒberschritten! BlÃ€tter-Funktion einfÃŒhren
+		echo "\n<p>Geben sie ein: '".$zgbbez."-999A'<br>wobei '999A' = gesuchtes GB-Blatt</p>";
+		// Vorbelegen des Eingabefeldes fÃŒr neue Suche
+		echo "<script type='text/javascript'>parent.GrdGazetteerFrame.gbkennz.value='".$zgbbez."-?';</script>";
+	} elseif ($cntbl > 1) {
+		echo "\n<p class='anz'>".$cntbl." Bl&auml;tter</p>"; // im Limit	
+	}
+	return;
+}
+
+function gml_blatt() {
+	// Kennzeichen "Bezirk + Blatt" eingegeben. Dazu die gml_id des Blattes ermitteln.
+	global $debug, $zgbbez, $zblatt, $zblattn, $zblattz;
+	$sql ="SELECT b.gml_id, b.buchungsblattnummermitbuchstabenerweiterung AS blatt FROM ax_buchungsblatt b "; 
+	$sql.="WHERE b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung ";
+
+	if ($zblattz == "") { // Ohne Buchstabenerweiterung: Formate '123','000123 ','0000123'
+		$sql.="IN ('".$zblattn."','".str_pad($zblattn, 6, "0", STR_PAD_LEFT)." ','".str_pad($zblattn, 7, "0", STR_PAD_LEFT)."');";
+	} else { // Mit Buchstabenerweiterung: '000123A'
+		$sql.="='".str_pad($zblattn, 6, "0", STR_PAD_LEFT).$zblattz."';";
+	}
+	$v=array($zgbbez);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {
+		echo "\n<p class='err'>Fehler bei Blatt (Kennzeichen).</p>";
+		return;
+	}
+	$cntbl=0; // Counter Blatt
+	while($row = pg_fetch_array($res)) {	
+		$bl_gml=$row["gml_id"];
+		$zblatt=$row["blatt"]; // das tatsaechliche Format (mit/ohne fuehrende 0)
+		$cntbl++;
+	}
+	if($cntbl == 0) { 
+		echo "\n<p class='err'>Grundbuchblatt '".$zgbbez."-".$zblatt."' nicht gefunden.</p>";
+	} elseif ($cntbl == 1) {
+		return $bl_gml;
+	}
+	return;
+}
+
+function EinBlatt($showParent) {
+	// Kennzeichen Bezirk + Blatt wurde eingegeben oder verlinkt
+	global $debug, $gemeinde, $zgbbez, $zblatt, $blattgml, $gbbeznam;
+	// Head
+	if ($showParent) {
+		ag_bez_head($zgbbez, false); // AG + BEZ
+		zeile_blatt ($zgbbez, $gbbeznam, $blattgml, $zblatt, false, "", true);
+	}
+	// Body
+	// 2013-12-12 Limit von ursprÃŒnglich 200 weit hoch gesetzt
+	GB_Buchung_FS(1000, $zgbbez."-".$zblatt); // Blatt -> Buchung -> Flurstueck (Limitiert)
+	// ++ besser Limit wieder runter und "BlÃ€ttern"-Funktion einfÃŒhren
+	return; 
+}
+
+function gml_buchungsstelle() {
+	// Kennzeichen "Bezirk + Blatt + BVNR" wurde eingegeben.
+	// Dazu die gml_id der Buchungsstelle ermitteln, um "function EinGrundstueck" benutzen zu kÃ¶nnen.
+	global $debug, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr;
+	// Blatt ->  B u c h u n g s s t e l l e
+	$sql ="SELECT s.gml_id FROM ax_buchungsstelle s ";
+	$sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_von "; 
+	$sql.="JOIN ax_buchungsblatt b ON b.gml_id=v.beziehung_zu "; 
+	$sql.="WHERE v.beziehungsart='istBestandteilVon' ";
+	$sql.="AND b.bezirk= $1 AND b.buchungsblattnummermitbuchstabenerweiterung ";
+	if ($zblattz == "") { // Ohne Buchstabenerweiterung
+		//Formate '123','000123 ','0000123'
+		$sql.="IN ('".$zblattn."','".str_pad($zblattn, 6, "0", STR_PAD_LEFT)." ','".str_pad($zblattn, 7, "0", STR_PAD_LEFT)."')";
+	} else { // Mit Buchstabenerweiterung: '000123A'
+		$sql.="='".str_pad($zblattn, 6, "0", STR_PAD_LEFT).$zblattz."'";
+	}
+	$sql.=" AND s.laufendenummer= $2 ;";
+
+	$v=array($zgbbez, $zbvnr);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {
+		echo "\n<p class='err'>Fehler bei Buchungsstelle (Kennzeichen).</p>";
+		return;
+	}
+	$zbs=0;
+	while($row = pg_fetch_array($res)) {	
+		$bs_gml=$row["gml_id"];
+		$zbs++;
+	}
+	if($zbs == 0) { 
+		echo "\n<p class='err'>Buchung ".$zgbbez."-".$zblattn.$zblattz."-".$zbvnr." nicht gefunden.</p>";
+		return;
+	} else {
+		return $bs_gml;
+	}
+}
+
+function EinGrundstueck($showParent) {
+	// Die gml_id der Buchungsstelle (BVNR, GrundstÃŒck) ist bekannt = $buchunggml
+	// Die gebuchten FlurstÃŒcke und dienende/herrschenden Buchungen werden ausgegeben.
+	global $debug, $gemeinde, $epsg, $buchunggml, $zgbbez, $zblatt, $zblattn, $zblattz, $zbvnr, $gfilter;
+	// NoLimit?
+
+	// Head
+	if ($showParent) { // wenn Kennzeichen bekannt ist, dann auch Blatt ausgeben
+		if ($zgbbez.$zblatt != "") {
+			ag_bez_head($zgbbez, false); // AG + BEZ
+			zeile_blatt ($zgbbez, $gnam, "", $zblatt, false, "", false);
+			// $gnam leer lassen Knoten "Bezirk" steht drÃŒber
+		} else {
+			echo "<p class='err'>Kennzeichen Bezirk und Blatt nicht gesetzt</p>";
+		} // ++ suchen!
+		zeile_buchung($buchunggml, $zbvnr, $zgbbez."-".$zblattn.$zblattz, false, true);
+	}
+// SQL-Bausteine
+// dienend $1 gml_id von
+//         Buchungsstelle  <vs/an<  Buchungsstelle sh
+//         (dienend)                (herrschend)
+// direkt  $1 gml_id von 
+//         Buchungsstelle                              <vs/istGebucht< FlurstÃŒck > Gemarkung
+// Recht   $1 gml_id von 
+//         Buchungsstelle  >vs/an>  Buchungsstelle sd  <vf/istGebucht< FlurstÃŒck > Gemarkung
+//         (herrschend)             (dienend)      sd  >vd/istBestandteilVon> bd > gd
+
+	// Body
+	// Anfang (Select-Liste) gleich 
+	$sqlanf ="SELECT g.gemeinde, g.gemarkungsname, f.gml_id, f.flurnummer, f.zaehler, f.nenner, ";
+	if($epsg == "25832") { // Transform nicht notwendig
+		$sqlanf.="st_x(st_Centroid(f.wkb_geometry)) AS x, ";
+		$sqlanf.="st_y(st_Centroid(f.wkb_geometry)) AS y ";
+	} else {  
+		$sqlanf.="st_x(st_transform(st_Centroid(f.wkb_geometry),".$epsg.")) AS x, ";
+		$sqlanf.="st_y(st_transform(st_Centroid(f.wkb_geometry),".$epsg.")) AS y ";			
+	}
+	// Filter gleich
+	switch ($gfilter) { // Filter Gemeinde
+		case 1: // Einzelwert
+			$sqlfitler="AND g.gemeinde=".$gemeinde." "; break;
+		case 2: // Liste
+			$sqlfilter="AND g.gemeinde in (".$gemeinde.") "; break;
+	}
+
+	// Abfrage: Direkte Buchungen (FlurstÃŒcke)
+	$sql =$sqlanf."FROM alkis_beziehungen vs JOIN ax_flurstueck f ON vs.beziehung_von = f.gml_id ";
+	$sql.="JOIN pp_gemarkung  g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung ";
+	$sql.="WHERE vs.beziehung_zu= $1 AND vs.beziehungsart='istGebucht' ";
+	$sql.=$sqlfilter."ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
+
+	$v=array($buchunggml);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {
+		echo "\n<p class='err'>Fehler bei Buchungsstelle (gml, direkt).</p>";
+		if ($debug >= 3) {
+			echo "\n<p class='err'>'".$sql."'<br>\nmit $1 ='".$buchunggml."'</p>";
+		}
+	}
+	$zfs1=0;
+	while($row = pg_fetch_array($res)) {	
+		$fs_gml=$row["gml_id"];
+		$gemei=$row["gemeinde"];
+		$gmkg=$row["gemarkungsname"];
+		$flur=$row["flurnummer"];
+		$fskenn=$row["zaehler"];
+		if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // BruchNr
+		zeile_flurstueck ($fs_gml, $fskenn, $row["x"], $row["y"], $gmkg, $flur, false);
+		$zfs1++;
+	}
+	// Zwischen-Foot
+	if($zfs1 == 0) {
+		echo "\n<p class='anz'>Kein Flurst&uuml;ck direkt</p>";
+	} elseif($zfs1 > 1) {
+		echo "\n<p class='anz'>".$zfs1." Flurst&uuml;cke</p>";
+	}
+	if($zfs1 > 0) { // wenn's was zu trennen gibt
+		echo "<hr>"; // Trennen
+	}
+
+	// Abfrage: Rechte an (dienende Buchungen und ihre FlurstÃŒcke)
+	$sql =$sqlanf.", sd.gml_id AS diengml, sd.laufendenummer AS dienlfd, ";		// Stelle dienend
+	$sql.="bd.gml_id AS dienbltgml, bd.buchungsblattnummermitbuchstabenerweiterung AS dienblatt, "; // Blatt dienend
+	$sql.="gd.stelle, gd.gml_id AS dienbezgml, gd.bezirk, gd.bezeichnung AS diengbbez ";	// AG und Bezirk dazu
+	$sql.="FROM alkis_beziehungen vs ";
+	$sql.="JOIN ax_buchungsstelle sd ON vs.beziehung_zu=sd.gml_id ";
+	$sql.="JOIN alkis_beziehungen vf ON vf.beziehung_zu=sd.gml_id "; // sd=Stelle dienend
+	$sql.="JOIN ax_flurstueck f ON vf.beziehung_von = f.gml_id ";
+	$sql.="JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung ";
+
+	// Blatt und Bezirk (dienend)
+	$sql.="JOIN alkis_beziehungen vd ON vd.beziehung_von=sd.gml_id ";
+	$sql.="JOIN ax_buchungsblatt bd ON vd.beziehung_zu=bd.gml_id ";	// Blatt dienend
+	$sql.="JOIN ax_buchungsblattbezirk gd ON bd.land=gd.land AND bd.bezirk=gd.bezirk "; // GB-Bez. dienend
+	$sql.="WHERE vs.beziehung_von = $1 AND vs.beziehungsart='an' AND vf.beziehungsart='istGebucht' AND vd.beziehungsart='istBestandteilVon' ";
+	$sql.=$sqlfilter."ORDER BY gd.bezeichnung, bd.buchungsblattnummermitbuchstabenerweiterung, cast(sd.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
+
+	$v=array($buchunggml);
+	$res=pg_prepare("", $sql);
+	$res=pg_execute("", $v);
+	if (!$res) {
+		echo "\n<p class='err'>Fehler bei Buchungsstelle (gml, Recht an).</p>";
+		if ($debug >= 3) {
+			echo "\n<p class='err'>'".$sql."'<br>\nmit $1 ='".$buchunggml."'</p>";
+		}
+	}
+	$zfs2=0;
+	$gwblatt="";
+	while($row = pg_fetch_array($res)) {
+		$dienstelle=$row["stelle"];		// Stelle (AG) des dienenden GrundstÃŒcks
+		$dienbezgml=$row["dienbezgml"];	// Bezirks des dien. GS: gml, Nr. und Bezeichnung
+		$diengbbez=$row["diengbbez"];	// Bezeichnung
+		$dienbezirk=$row["bezirk"];	// Key
+		$dienbltgml=$row["dienbltgml"];	// dienendes Blatt, gml und Nr
+		$dienblatt=$row["dienblatt"];
+		$diengml=$row["diengml"];		// gml_id des dienenden GrundstÃŒcks
+		$dienlfd=$row["dienlfd"];		// BVNR (laufendNr) des dien. GS
+		if ($gwblatt != $dienblatt) { // Gruppierung Blatt - dienend
+			$gwblatt = $dienblatt; // Steuerg GW Blatt
+			zeile_blatt($dienbezirk, $diengbbez, $dienbltgml, $dienblatt, true, "");
+			$gwbvnr="";
+		}
+		if ($gwbvnr != $dienlfd) { // Gruppierung Buchung (BVNR) - dienend
+			$gwbvnr = $dienlfd; // Steuerg GW BVNR
+			zeile_buchung($diengml, $dienlfd, $dienbezirk."-".$dienblatt, true);
+		} // ++ Buchungsart? Welches Recht?
+		$fs_gml=$row["gml_id"];
+		$gemei=$row["gemeinde"];
+		$gmkg=$row["gemarkungsname"];
+		$flur=$row["flurnummer"];
+		$fskenn=$row["zaehler"];
+		if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // BruchNr
+		zeile_flurstueck ($fs_gml, $fskenn, $row["x"],$row["y"], $gmkg, $flur, false);
+		$zfs2++;
+	}
+
+// Teil 3
+// ++  Wenn nur 1 GrundstÃŒck untersucht wird, dann dazu auch die 
+//     berechtigten (herrschenden) GrundbÃŒcher anzeigen und verlinken (ohne FS))
+
+	// Foot
+	if($zfs2 == 0 AND $zfs1 == 0) {
+		echo "\n<p class='anz'>Kein Recht an Flst.</p>";
+	} elseif($zfs2 > 1) {
+		echo "\n<p class='anz'>".$zfs2." Rechte an Flurst.</p>";
+	}
+	return;
+}
+
+// ===========
+// Start hier!
+// ===========
+if(isset($epsg)) {
+	$epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]);	
+} else {
+	$epsg=$gui_epsg; // aus Conf
+}
+
+if ($gemeinde == "") {
+	$gfilter = 0; // ungefiltert
+} elseif(strpos($gemeinde, ",") === false) {
+	$gfilter = 1; // Einzelwert
+} else {
+	$gfilter = 2; // Liste
+}
+
+// Auch wenn redundant: Das Kennzeichen fÃŒr Anzeige und weitere Links zerlegen
+$kennztyp=ZerlegungGBKennz($gbkennz);
+
+// Wurde eine gml_id (internes Kennzeichen) aus einem Self-Link verwendet?
+// Dann hat das Prioritaet, also *nicht* nach $gbkennz suchen.
+if ($buchunggml != "") { // gml der Buchungsstelle
+	$trans="Flurst&uuml;cke zur Buchungsstelle"; // Link
+	EinGrundstueck(true);
+
+} elseif($blattgml != "") { // gml des GB-Blattes
+	$trans="GB-Blatt mit Buchungen und Flst.";
+	EinBlatt(true);
+
+} elseif($ag != "") { // Key des Amtsgerichtes
+	$trans="GB-Bezirke zum Amtsgericht";
+	ListGBBez($ag);
+
+} else { // Eingabe im Formular
+
+	switch ($kennztyp) {
+		case 0: // keine Eingabe
+			$trans="Liste der Amtsgerichte";
+			ListAG($ag_liste, false);
+			break;
+		case 1: // Eingabe Bezirk-Name (-Teil) -> gefilterte Liste der Bezirke
+			$trans="Bezirke suchen \"".$gbkennz."\"";
+			$beznr=SuchGBBezName();
+			if ($beznr > 0) {  // eindeutig
+				$zgbbez=$beznr;
+				$trans="Bezirk gefunden, Bl&auml;tter dazu";
+				EinBezirk(false); // gleich weiter
+			};
+			break;
+		case 2: // Eingabe Bezirk-Nummer -> Liste der BlÃ€tter
+			$trans="Bl&auml;tter im GB-Bezirk";
+			EinBezirk(true);
+			break;
+		case 3: // Eingabe Blatt -> Liste der Buchungen
+			$trans="Buchungen auf GB-Blatt";
+			$blattgml=gml_blatt(); // gml_id zum Blatt suchen
+			if ($blattgml != "") { // gefunden		
+				if (EinBlatt(true) == 1) { // darauf genau eine Buchung
+					$trans="GB-Blatt und 1 Buchung";
+					$buchunggml=gml_buchungsstelle(); // gml_id zum Kennzeichen
+					EinGrundstueck(false);
+				}
+			}
+			break;
+		case 4: // Eingabe Buchung (GrundstÃŒck) -> Liste der FlurstÃŒcke
+			$buchunggml=gml_buchungsstelle(); // gml_id zum Kennzeichen
+			if ($buchunggml != "") { 		// .. wurde geliefert 
+				$trans="Flurst&uuml;cke zur Buchungsstelle"; // Eingabe
+				EinGrundstueck(true);	// mit Backlink
+			} else{
+				$trans="Suche Buchungsstelle";
+			}
+			break;
+		case 9: // Fehler
+			$trans="fehlerhafte Eingabe";
+			echo "\n<p class='err'>Bitte ein g&uuml;ltiges Grundbuchkennzeichen eingegeben, Format 'gggg-999999A-llll</p>";
+			break;
+	}
+}
+// Titel im Kopf anzeigen
+echo "
+<script type='text/javascript'>
+	transtitle('".$trans."'); 
+</script>";
+
+?>
+
+</body>
+</html>
Index: branches/0.7/mapbender/http/nav/alkisnav_grd.htm
===================================================================
--- branches/0.7/mapbender/http/nav/alkisnav_grd.htm	(revision 329)
+++ branches/0.7/mapbender/http/nav/alkisnav_grd.htm	(revision 329)
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="cache-control" content="no-cache">
+	<meta http-equiv="pragma" content="no-cache">
+	<meta http-equiv="expires" content="0">
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<base target="_self">
+	<title>ALKIS-Suche Grundbuch</title>
+	<link rel="stylesheet" type="text/css" href="alkisnav.css">
+	<script type="text/javascript" language="JavaScript">
+		// Parameter fuer Mandant aus url lesen
+		// &gkz=150&gemeinde=40&test=ja
+		var parms = location.search.split("&");    // 0: "?gkz=150" 1: "gemeinde=40" 2: "test=ja"
+		var arr = parms[0].split("=", 2); // 0: "?gkz"  1: "150"
+		var gkz = "000";
+		if(arr[0] == "?gkz") {gkz = arr[1];}
+		var arr = parms[1].split("=", 2)
+		var gem = "0";
+		if(arr[0] == "gemeinde") {gem = arr[1];}
+		// aktueller EPSG-Code
+		function sendGuiEpsg () {
+			var ind = parent.parent.getMapObjIndexByName("mapframe1");
+			var epsg = parent.parent.mb_mapObj[ind].getSRS();
+			document.forms[0].epsg.value = epsg;
+		}
+		function validate(){
+			sendGuiEpsg();
+			document.forms[0].gkz.value = gkz;
+			document.forms[0].gemeinde.value = gem;
+		}
+	</script>
+</head>
+<body onload="javascript:validate();">
+
+<div id='tabs'>
+<ul>
+	<script type="text/javascript" language="JavaScript">
+		document.writeln("<li><a target='_self' href='alkisnav_adr.htm?gkz=" + gkz + "&amp;gemeinde=" + gem + "'>Adresse</a></li>");
+		document.writeln("<li><a target='_self' href='alkisnav_eig.htm?gkz=" + gkz + "&amp;gemeinde=" + gem + "'>Name</a></li>");
+		document.writeln("<li><a target='_self' href='alkisnav_fls.htm?gkz=" + gkz + "&amp;gemeinde=" + gem + "'>Flurst&uuml;ck</a></li>");
+		document.writeln("<li class='aktiveTab'>Grundb.</li>");
+	</script>
+</ul>
+</div>
+
+<form class='nav' name='GrdGazetteerFrame' onsubmit='return validate()' target='GrdResultFrame' action='alkisnav_grd.php'>
+	<input name='gkz' type='hidden'>
+	<input name='gemeinde' type='hidden'>
+	<input name='epsg' type='hidden'>
+	<input class='textfield' name='gbkennz' type='text' size='22' title='Grunbuchkennzeichen'>
+	<input class='sbutton' type='submit' value='ok'>
+</form>
+
+<iframe name="GrdResultFrame" src="blank_grd.html" class='ResultFrame'></iframe>
+
+</body>
+</html>
Index: branches/0.7/mapbender/http/nav/blank_fls.html
===================================================================
--- branches/0.7/mapbender/http/nav/blank_fls.html	(revision 329)
+++ branches/0.7/mapbender/http/nav/blank_fls.html	(revision 329)
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<link rel="stylesheet" type="text/css" href="alkisnav.css">
+	<title></title>
+</head>
+<body>
+<p class='start'>Suche nach Flurst&uuml;ckskennzeichen.<br>
+M&ouml;gliche Eingaben:<br><br>
+leer: zeigt Liste der Gemarkungen<br>
+Anfang oder Teil des Gemarkungsnamens<br>
+Flur <em>gggg-fff</em><br>
+Flurst&uuml;ck <em>gggg-fff-zzzzz</em><br>
+ oder <em>gggg-fff-zzzzz/nnn</em><br>
+Historisches Flurst. <em>gggg-fff-zzzzzH</em><br>
+Hist. Flurst. aus einer Flur <em>gggg-fffH</em></p>
+
+<p class='start'>Wobei:<br>
+<em>gggg</em> = Gemarkungsnummer<br>
+<em>fff</em> = Flurnummer<br>
+<em>zzzzz</em> = Z&auml;hler / nnn = Nenner<br>
+<em>H</em> = Buchstabe "h" f&uuml;r "Historisch"</p>
+</body>
+</html>
Index: branches/0.7/mapbender/http/nav/alkisnav.css
===================================================================
--- branches/0.7/mapbender/http/nav/alkisnav.css	(revision 329)
+++ branches/0.7/mapbender/http/nav/alkisnav.css	(revision 329)
@@ -0,0 +1,75 @@
+/* Style fuer ALKIS-Navigation 
+ Version
+  2013-04-29 Abgleich Darstellung in IE/FF
+  2013-05-15 EinrÃŒckungen vergrÃ¶Ãert
+  2014-02-06 kosmetische Ãberarbeitung 
+*/
+body,p,a,.textfield,.sbutton	{font-family: Verdana, Arial, Helvetica, sans-serif;}
+body {font-size: 11px; color: #000000; margin: 0px; border: 0px;}
+p {font-size: 10px;}
+p.hilfe 	{font-size:  9px; text-align: right; color: gray; padding-right: 3px;} /* Programmier-Hilfsfelder */
+p.start 	{font-size:  9px; color: gray; padding: 2px; margin: 2px; border: 0px;}
+p.nam {font-size: 10px; border: 1px solid navy; padding: 3px; margin: 0px; color: maroon;}
+p.err {font-size: 11px; color: red;} /* Fehler -> Anwender */
+p.dbg {font-size: 10px; color: gray;} /* Debug -> Entwickler */
+p.ein, p.anz, p.blt	{font-size: 9px; text-align: right;} /* Einleitung, Anzahl am Ende, BlÃ€ttern weitere ... */
+p.ein  {color: navy; font-weight: bold;}
+p.anz, p.blt {color: purple;}
+
+a {text-decoration: none;}
+a:hover, a:active {color: red;}
+a.hislnk {color: gray; font-style: italic; text-align: right; padding-left: 50px;} /* Link zur Historie */
+a.hsnro	{color: gray; font-style: italic;} /* HsNr ohne Haus */
+a.blt {color: maroon; background-color: yellow;} /* Link weitere ... */
+
+/* abgestuft eingerueckte Treffer in der Suche */
+div {margin: 0px; padding: 0px;}
+div.back {font-size: 10px; color: gray; border-bottom: 1px dotted gray;}
+
+div.ga {color: fuchsia; margin-left: 0px; margin-top: 6px;} /* GB-Amtsgericht */
+div.gm {color: green; margin-left: 0px; margin-top: 6px;} /* Gemeinde */
+div.gk {color: black; margin-left: 7px; margin-top: 6px;} /* Gemarkung o. GB-Bezirk */
+div.pe {color: black; margin-left: 7px; margin-top: 0px;} /* Person, Eigentuemer */
+div.fl {color: olive; margin-left: 17px; margin-top: 4px;} /* Flur ()zw. Gemarkg und Flst.) */
+div.gb {color: green; margin-left: 14px; margin-top: 3px;} /* Grundbuch */
+div.gs {color: olive; margin-left: 21px; margin-top: 2px;} /* Grundstueck, BVNR */
+div.fs {color: navy; margin-left: 28px; margin-top: 0px;} /* Flurstueck */
+div.hi {color: gray; margin-left: 28px; margin-top: 0px;} /* Historie */
+div.hn, p.hn	{color: gray; margin-left: 28px; margin-top: 0px;} /* Historie-Nachfolger */
+
+div.stu {color: maroon; font-size: 13px;} /* Strasse - Ueberschrift */
+
+div.stl {color: maroon; font-size: 11px; margin-top: 3px; margin-left: 7px} /* Strasse - Liste */
+
+td.hsnr {font-size: 11px; text-align: center; padding-left: 4px; padding-right: 4px;} /* Hausnummer */
+hr {color: silver; background-color: silver; height: 2px; border: 0px; width: 98%;}
+dfn.title {color: maroon; font-size: 10px; text-align: right; padding-left: 8px; padding-right: 4px;}
+.aktuell {background-color: #fdfbd0;}
+.textfield {border: 1px solid #990000; height: 20px; width: 140px; background: #FFFFFF;}
+.sbutton {font-size: 11px; font-weight: normal; border: solid 1px #000000; width: 22px; height: 20px; background: #6699FF;}
+img {border: 0px;} /* Icons */
+img.nwlink {border: 0px; margin: 0px; padding: 0px;} /* ..mit Link zum Buch-Nachweis */
+.letter {cursor: pointer; font-weight: bold;} /* Liste Anfangsbuchstaben */
+
+/* Registertabs: ul in einem div id='tabs' */
+div#tabs ul {position: absolute; top: 0px;
+	margin-top: 0px; margin-left: 0px; margin-bottom: 20px;
+	padding: 0px; width: 220px; text-align: left; border: 0px dashed #00aa00;}
+div#tabs li {cursor: pointer; list-style: none; /* Eintraege NEBENeinander */
+	float: left; text-align: center; background-color: #F9F9F9;
+	border: 1px solid #CCD5DE; border-bottom-width: 1px;
+	vertical-align: text-bottom; position: relative;
+	background-image: url(./img/tab_bg_grau.gif); /* inaktive Tabs grau */
+	background-repeat: repeat-x; background-position: top left;
+	margin: 0 3px 0 0; padding: 2px;}
+div#tabs li.aktiveTab {
+	background-image: url(./img/tab_bg_rot.gif);  /* aktive Tabs rot */
+	background-color: #F9F9F9;	border-bottom-color: #F9F9F9;} /* nicht sichtbar, wie Hintergrund */
+
+/* Anpassen an width des Tab in Mapbender */
+/* in alkisnav.htm */
+iframe.OuterFrame{width: 225px; height:400px; padding: 0px; margin: 0px;
+	border: 0px dotted #ff0000; overflow: hidden; background-color: white;}
+form.nav {position: absolute; top: 22px;}
+iframe.ResultFrame {position: absolute; top: 78px; width: 220px; height: 290px;
+	padding: 0px; margin: 0px; border: 0px dotted #00ff00;}
Index: branches/0.7/mapbender/http/nav/alkisnav.htm
===================================================================
--- branches/0.7/mapbender/http/nav/alkisnav.htm	(revision 329)
+++ branches/0.7/mapbender/http/nav/alkisnav.htm	(revision 329)
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<link rel="stylesheet" type="text/css" href="alkisnav.css">
+	<script type="text/javascript" language="JavaScript">
+		function showHighlight(x,y){
+			parent.mb_showHighlight("mapframe1",x,y);
+			parent.mb_showHighlight("overview",x,y);
+		}
+		function hideHighlight(){
+			parent.mb_hideHighlight("mapframe1");
+			parent.mb_hideHighlight("overview");
+		}
+		function validate(){
+			if(document.forms[0].street.value.length < 1) {return false;}
+			else {return true;}
+		}
+		// Parameter fuer Mandant aus url lesen
+		// &gkz=150&gemeinde=40&test=ja
+		var parms = location.search.split("&");	// 0: "?gkz=150" 1: "gemeinde=40" 2: "test=ja"
+		var arr = parms[0].split("=", 2);	// 0: "?gkz"  1: "150"
+		var gkz = "000";
+		if(arr[0] == "?gkz") {gkz = arr[1];}
+		var arr = parms[1].split("=", 2)
+		var gem = "0";
+		if(arr[0] == "gemeinde") {gem = arr[1];}
+	</script>
+	<title>ALKIS-Suche</title>
+</head>
+<body>
+
+<script type="text/javascript" language="JavaScript">
+	document.writeln("<!-- gkz=" + gkz + " gemeinde=" + gem + " -->");
+	// Rahmen mit Form und ResultFrame
+	document.writeln("<iframe frameborder='0' name='OuterFrame' src='alkisnav_eig.htm?gkz=" + gkz + "&gemeinde=" + gem + "' class='OuterFrame' scrolling='auto'></iframe>");
+</script>
+
+</body>
+</html>
Index: branches/0.7/mapbender/conf/alkisnav_conf.php
===================================================================
--- branches/0.7/mapbender/conf/alkisnav_conf.php	(revision 329)
+++ branches/0.7/mapbender/conf/alkisnav_conf.php	(revision 329)
@@ -0,0 +1,40 @@
+<?php
+/* Einstellungen fuer Mapbender-Navigation mit ALKIS-Daten
+	ALKIS-PostGIS-Datenbank aus Konverter PostNAS 0.7
+	krz Mi.-Ra./Li.
+	2013-04-26 ALKIS 07
+*/
+
+#	DB-Connection
+	$host="localhost";
+	$port="5432";
+	$dbname="alkis";	// .$dbvers.$gkz - Mandant
+	$dbvers="07";		// 05 oder 06 (steuert Format von .lage)
+	$user="***";
+	$password="***";
+
+#	Pfad zu den ALKIS-Auskunft-Programmen
+	$auskpath="../../../info/alkis";
+
+#	Massstab zum Positionieren auf Flurstueck, Strasse, Hausnummer
+#	in MapProxy gecachte Masstaebe verwenden
+	$scalefs=750;
+	$scalestr=2500;
+	$scalehs=500;
+
+#	default-Koordinatensystem der GUI
+	$gui_epsg=31467;
+
+#	Landes-Kennung
+	$land="05"; // NRW
+
+#	Filter:
+#	Liste der relevanten Amtsgerichts-Nummern aus ax_dienststelle.stelle
+#	Form: WHERE IN ()
+#	Bei leerer Eingabe in Tab 'Grundb.'
+	$ag_liste = "'2102','2105','2106','2107','2108','2110','2303','2307'";
+
+#	Entwicklungsumgebung
+	$debug=0; // 0=Produktion, 1=mit Fehlermeldungen, 2=mit Informationen, 3=mit SQL
+
+?>
Index: branches/0.7/mapproxy/projects/alkisrlp.yaml
===================================================================
--- branches/0.7/mapproxy/projects/alkisrlp.yaml	(revision 329)
+++ branches/0.7/mapproxy/projects/alkisrlp.yaml	(revision 329)
@@ -0,0 +1,88 @@
+base: ../base.yaml
+
+# 2012-08-28 neue GDI: MapProxy 1.4
+# 2013-01-24 neue ALKIS-grids in base.yaml, Verschiebung level +1
+# 2013-03-05 neues Mapfile "_a.map", Layernamen anpassen, Mapserver 6.2
+
+# http://map.krz.de/mapproxy/alkisrlp/service?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.1.1
+services:
+  demo:
+  #kml:
+  #tms:
+  wms:
+    srs: ['EPSG:4326', 'EPSG:25832', 'EPSG:54004']
+    #attribution:
+    #  text: "Â© Geobasisdaten Liegenschaftskataster Kreis ___"
+    md:
+      title: "c: ALKIS"
+      abstract: Liegenschaftskataster ALKIS Demokarte RLP Mustermonzel. Konverter PostNAS 0.7, Ãber MapProxy 1.4 Cache
+      online_resource: http://mapproxy.org/
+      contact:
+        person: Frank JÃ€ger
+        position: GIS-Administrator
+        organization: Kommunales Rechenzentrum Minden-Ravensberg/Lippe 
+        address: Am Lindenhaus 21
+        city: Lemgo
+        postcode: 32657
+        country: Germany
+        phone: +49(0)5261-252-185
+        fax: +49(0)5261-932-185
+        email: f.jaeger@krz.de
+      access_constraints: 'Nur fÃŒr den Dienstgebrauch'
+      fees: 'None'
+
+layers:
+  - name: alkis_nutzung
+    title: Nutzungsarten
+    sources: [alkisrlp_nua_c]
+    min_scale: 100
+    max_scale: 35000
+  - name: alkis_lieka
+    title: ALKIS
+    sources: [alkisrlp_lie_c]
+    min_scale: 100
+    max_scale: 35000
+  - name: alkis_bezirke
+    title: Bezirke
+    sources: [alkisrlp_bez_c]
+    min_res: 74.08 # 1:210.000
+    max_res: 1.76
+
+caches:
+  # Sonderversionen grid _rlp_ ausserhalb krz-Gebiet
+  alkisrlp_lie_c:
+    grids: [alkis_rlp_lie_grid]
+    sources: ["alkis:ax_gebaeude_umr,ax_bauteil,ax_besonderegebaeudelinie,ag_t_gebaeude,ag_l_gebaeude,ax_flurstueck,ax_besondereflurstuecksgrenze,ag_l_flurstueck,sk2004_zuordnungspfeil_spitze,ag_t_flurstueck,ag_p_flurstueck,ax_punktortta,ap_pto_stra,ap_pto","alkis_fi:ax_flurstueck"]
+  alkisrlp_nua_c:
+    grids: [alkis_rlp_nua_grid]
+    sources: ["alkis:nutzung_alle"]
+  alkisrlp_bez_c:
+    grids: [alkis_rlp_bez_grid]
+    sources: ["alkis:pp_flur,pp_gemarkung,pp_gemeinde"]
+
+sources:
+  # fuer Karte
+  alkis:
+    type: wms
+    wms_opts:
+      legendgraphic: true
+    # rlp, eng um das Testgebiet:
+    coverage:
+      bbox: "349550,5529460,355140,5532210"
+      bbox_srs: "EPSG:25832"
+    req:
+      url: http://10.0.100.72/cgi-bin/mapserv62?
+      map: /opt/gdi/alkis07/alkis07rlpa.map
+      transparent: true
+      format: image/png
+  # fuer Feature-Info
+  alkis_fi:
+    type: wms
+    wms_opts:
+      featureinfo: true
+      map: false
+    req:
+      url: http://10.0.100.72/cgi-bin/mapserv62?
+      map: /opt/gdi/alkis07/alkis07rlpa.map
+  debug:
+    type: debug
Index: branches/0.7/mapproxy/base.yaml
===================================================================
--- branches/0.7/mapproxy/base.yaml	(revision 329)
+++ branches/0.7/mapproxy/base.yaml	(revision 329)
@@ -0,0 +1,51 @@
+# Nur die Teile der 'base.yaml', die fuer ALKIS (PostNAS) relevant sind
+
+# 2013-03-05 grid fuer RLP (ALKIS-Demo)
+
+  # Sonderversionen fuer ALKIS RLP-DEMO, bbox auf Mustermonzel
+  alkis_rlp_lie_grid:
+    srs: "EPSG:25832"
+    bbox: "349000,5529000,356000,5533000"
+    bbox_srs: "EPSG:25832"
+    num_levels: 9
+    res: [
+      8.8194444444, # 0 25000
+      3.5277777778, # 1 10000
+      1.7638888889, # 2  5000
+      0.8819444444, # 3  2500
+      0.6173611111, # 4  1750
+      0.3527777778, # 5  1000
+      0.2645833333, # 6   750
+      0.1763888889, # 7   500
+      0.0881944444, # 8   250
+    ]
+
+  alkis_rlp_nua_grid:
+    srs: "EPSG:25832"
+    bbox: "349000,5529000,356000,5533000"
+    bbox_srs: "EPSG:25832"
+    num_levels: 7
+    res: [
+      8.8194444444, # 0 25000
+      3.5277777778, # 1 10000
+      1.7638888889, # 2  5000
+      0.8819444444, # 3  2500
+      0.3527777778, # 4  1000
+      0.1763888889, # 5   500
+      0.0881944444, # 6   250
+    ]
+
+  alkis_rlp_bez_grid:
+    srs: "EPSG:25832"
+    bbox: "349000,5529000,356000,5533000"
+    bbox_srs: "EPSG:25832"
+    num_levels: 6
+    res: [
+    #  res          level scale @72.0 DPI
+      52.9166666667, #  0 150000
+      26.4583333333, #  1  75000
+      17.6388888889, #  2  50000
+       8.8194444444, #  3  25000
+       3.5277777778, #  4  10000
+       1.7638888889, #  5   5000
+    ]
Index: branches/0.7/mapproxy/seed/alkisrlp.yaml
===================================================================
--- branches/0.7/mapproxy/seed/alkisrlp.yaml	(revision 329)
+++ branches/0.7/mapproxy/seed/alkisrlp.yaml	(revision 329)
@@ -0,0 +1,78 @@
+# MapProxy-Seeds und -Cleanups fuer ALKIS Mustermonzel
+# TESTBESTAND
+
+# Stand
+#  2011-09-19
+
+# alkis_grid:     
+# 0=10.000  1=5.000  2=2.500  3=1.750  4=1.000  5=750  6=500  7=250
+
+# alkis_nua_grid:
+# 0=10.000  1=5.000  2=2.500  3=1.000  4=500  5=250
+
+seeds:
+
+  # RLP Demo Mustermonzel
+  alkisrlp:
+    caches: [alkisrlp_c]
+    grids: [alkis_rlp_grid]
+    coverages: [alkis_rlp_demo]
+    levels:
+      from: 0
+      to: 6
+    refresh_before:
+      days: 2
+
+  alkisrlp_nutzg:
+    caches: [alkisrlp_nutzg_c]
+    grids: [alkis_rlp_nua_grid]
+    coverages: [alkis_rlp_demo]
+    levels:
+      from: 0
+      to: 4
+    refresh_before:
+      days: 2
+
+cleanups:
+
+  # grosse Masstaebe 1:1.750-1:250 aufraeumen
+  alkisrlp_g:
+    caches: [alkisrlp_c]
+    grids: [alkis_rlp_grid]
+    #coverages: [alkis_rlp_demo]
+    remove_before:
+      days: 2
+    levels:
+      from: 3
+      to: 7
+
+  # kleine Masstaebe 1:10.000-2.500 aufraeumen
+  alkisrlp_k:
+    caches: [alkisrlp_c]
+    grids: [alkis_rlp_grid]
+    #coverages: [alkis_rlp_demo]
+    remove_before:
+      days: 2
+    levels:
+      from: 0
+      to: 2
+
+  # Nutzung aufraeumen
+  alkisrlp_n:
+    caches: [alkisrlp_nutzg_c]
+    grids: [alkis_rlp_nua_grid]
+    #coverages: [alkis_rlp_demo]
+    remove_before:
+      days: 2
+    levels:
+      from: 0
+      to: 5
+
+
+coverages:
+
+  alkis_rlp_demo:
+    #box: "349000,5527000,356000,5536000" # = grid
+    # Ausschnitt eng um das Testgebiet:
+    bbox: "349550,5529460,355140,5532210"
+    bbox_srs: "EPSG:25832"
Index: branches/0.7/mapproxy/script/seed_alkisrlp.sh
===================================================================
--- branches/0.7/mapproxy/script/seed_alkisrlp.sh	(revision 329)
+++ branches/0.7/mapproxy/script/seed_alkisrlp.sh	(revision 329)
@@ -0,0 +1,18 @@
+#!/bin/bash
+# MapProxy-Kacheln auf Vorrat generieren
+# 2011-09-06
+# Doku: http://mapproxy.org/docs/1.1.1/seed.html
+# Ausfuehren mit "sudo su www-data"
+echo "MapProxy seeding ALKIS DEMO Mustermonzel"
+echo "** Bitte ausfuehren als User www-data"
+#
+  mapproxy-seed --proxy-conf=/data/mapproxy/projects/alkisrlp.yaml  \
+                --seed-conf=/data/mapproxy/seed/alkisrlp.yaml  \
+                --concurrency 1  \
+                --seed  alkisrlp 
+#
+  mapproxy-seed --proxy-conf=/data/mapproxy/projects/alkisrlp.yaml  \
+                --seed-conf=/data/mapproxy/seed/alkisrlp.yaml  \
+                --concurrency 1  \
+                --seed  alkisrlp_nutzg 
+#
Index: branches/0.7/umn/atkis/symbols/symbol_dlm.sym
===================================================================
--- branches/0.7/umn/atkis/symbols/symbol_dlm.sym	(revision 329)
+++ branches/0.7/umn/atkis/symbols/symbol_dlm.sym	(revision 329)
@@ -0,0 +1,86 @@
+SYMBOLSET
+SYMBOL
+ NAME "punkt"
+ TYPE ELLIPSE
+ POINTS
+  1 1
+ END
+ FILLED TRUE
+END
+
+
+
+
+
+SYMBOL
+ NAME "quadrat"
+ TYPE VECTOR
+ POINTS
+  0 0
+0 1
+1 1
+1 0
+0 0
+
+ END
+ FILLED false
+END
+ SYMBOL
+ NAME "quadratf"
+ TYPE VECTOR
+ POINTS
+  0 0
+0 1
+1 1
+1 0
+0 0
+
+ END
+ FILLED true
+END
+SYMBOL
+ NAME "kreis"
+ TYPE ELLIPSE
+ POINTS
+  1 1
+ END
+ FILLED false
+END
+
+SYMBOL
+ NAME "linie-gestr4"
+ TYPE ELLIPSE
+ POINTS
+  1 1
+ END
+ STYLE
+  10 10 10
+ END
+END 
+SYMBOL
+ NAME "dreieck"
+ TYPE VECTOR
+POINTS
+#0 1
+ # 0 0
+#  1 0
+ # 1 1
+ # 0 1
+
+#-0.25  0# 1
+# 1.25 0# .5 0
+# 0.5 1.25# 1 1
+# -0.25  0# 1
+0 1.5
+1.73 1.5
+0.866 0
+0 1.5
+
+#0 0
+#1 0#.5
+#0.5 1#0 1
+#0 0
+END
+#FILLED FALSE
+END
+END
Index: branches/0.7/umn/atkis/symbols/symbolsatkis.sym
===================================================================
--- branches/0.7/umn/atkis/symbols/symbolsatkis.sym	(revision 329)
+++ branches/0.7/umn/atkis/symbols/symbolsatkis.sym	(revision 329)
@@ -0,0 +1,73 @@
+SYMBOLSET
+SYMBOL
+  NAME 'schraffur'
+  TYPE HATCH
+END
+
+SYMBOL
+  NAME 'punkt'
+  TYPE ELLIPSE
+  POINTS 1 1 END
+  FILLED true
+END
+
+SYMBOL
+  NAME 'quadrat'
+  TYPE VECTOR
+  POINTS 
+   0 0
+   0 1
+   1 1
+   1 0
+   0 0 
+  END
+  FILLED true
+END
+
+SYMBOL
+  NAME "grenze"
+  TYPE ellipse
+  POINTS 2 2 END
+  FILLED TRUE
+  STYLE 2 2 2 2 END
+END
+
+SYMBOL
+  NAME 'windrad'
+  TYPE PIXMAP
+  IMAGE "windrad.gif"
+END
+
+SYMBOL
+  NAME 'baum'
+  TYPE PIXMAP
+  IMAGE "baum.gif"
+END
+
+SYMBOL
+  NAME 'turm'
+  TYPE PIXMAP
+  IMAGE "turm.gif"
+END
+
+SYMBOL
+  NAME 'denkmal'
+  TYPE PIXMAP
+  IMAGE "denkmal.gif"
+END
+
+SYMBOL
+  NAME 'felsen'
+  TYPE PIXMAP
+  IMAGE "felsen.gif"
+END
+
+SYMBOL
+  NAME 'gestrichelt'
+  TYPE ELLIPSE
+  POINTS 1 1 END
+  STYLE
+    20 20 20 20
+  END
+END
+END
Index: branches/0.7/umn/atkis/symbols/symbols.sym
===================================================================
--- branches/0.7/umn/atkis/symbols/symbols.sym	(revision 329)
+++ branches/0.7/umn/atkis/symbols/symbols.sym	(revision 329)
@@ -0,0 +1,136 @@
+SYMBOLSET
+Symbol
+Name 'tent'
+Type VECTOR
+Filled TRUE
+Points
+0 1
+.5 0
+1 1
+.75 1
+.5 .5
+.25 1
+0 1
+END
+END 
+
+SYMBOL
+  NAME 'target'
+    TYPE PIXMAP
+      IMAGE "target_small.png"
+      END
+
+
+
+
+
+Symbol
+Name 'star'
+Type VECTOR
+Filled TRUE
+Points
+0 .375
+.35 .375
+.5 0
+.65 .375
+1 .375
+.75 .625
+.875 1
+.5 .75
+.125 1
+.25 .625
+END
+END 
+
+Symbol
+Name 'triangle'
+Type VECTOR
+Filled TRUE
+Points
+0 1
+.5 0
+1 1
+0 1
+END
+END 
+
+Symbol
+Name 'square'
+Type VECTOR
+Filled TRUE
+Points
+0 1
+0 0
+1 0
+1 1
+0 1
+END
+END 
+
+Symbol
+Name 'plus'
+Type VECTOR
+Points
+.5 0
+.5 1
+-99 -99
+0 .5
+1 .5
+END
+END 
+
+Symbol
+Name 'cross'
+Type VECTOR
+Points
+0 0
+1 1
+-99 -99
+0 1
+1 0
+END
+END
+
+Symbol
+Name 'circle'
+Type ELLIPSE
+Filled TRUE
+Points
+1 1
+END
+END 
+
+
+
+Symbol
+  Name 'circle'
+  Type ELLIPSE
+  Filled TRUE
+  Points
+    1 1
+  END
+END 
+
+Symbol
+  Name 'square'
+  Type VECTOR
+  Filled TRUE
+  Points
+      0 1
+      0 0
+      1 0
+      1 1
+      0 1
+  END
+END 
+
+Symbol
+  Name 'gestrichelt'
+  Type ELLIPSE
+  Filled TRUE
+  Points
+    1 1
+  END
+  STYLE 6 10 END
+END 
+END
Index: branches/0.7/umn/atkis/symbols/symbolsatkis_neu.sym
===================================================================
--- branches/0.7/umn/atkis/symbols/symbolsatkis_neu.sym	(revision 329)
+++ branches/0.7/umn/atkis/symbols/symbolsatkis_neu.sym	(revision 329)
@@ -0,0 +1,215 @@
+SYMBOLSET
+
+SYMBOL
+    NAME 'track' 
+    TYPE ellipse 
+    FILLED true 
+    POINTS
+        1 1 
+    END 
+END
+SYMBOL
+    NAME 'tie' 
+    TYPE Ellipse 
+    FILLED TRUE 
+    POINTS 1 1 END 
+    STYLE 1 3 END 
+
+END
+
+SYMBOL
+  NAME "friedhof"
+  TYPE truetype
+  FONT "wesseling"
+  GAP 2
+  CHARACTER "A"
+  ANTIALIAS true
+  #FILLED true
+END # SYMBOL
+
+
+
+SYMBOL
+  NAME "schutzhuette"
+  TYPE truetype
+  FONT "kartosymbols"
+  #GAP 2
+  CHARACTER "C"
+ # ANTIALIAS true
+  #FILLED true
+END # SYMBOL
+
+SYMBOL
+  NAME "strommast"
+  TYPE truetype
+  FONT "natural_resources"
+  #GAP 2
+  CHARACTER "_"
+ # ANTIALIAS true
+  #FILLED true
+END # SYMBOL
+
+SYMBOL
+  NAME "bergbau"
+  TYPE truetype
+  FONT "natural_resources"
+  GAP 4
+  CHARACTER "L"
+ # ANTIALIAS true
+  #FILLED true
+END # SYMBOL
+
+
+
+SYMBOL
+  NAME "laubwald"
+  TYPE truetype
+  FONT "zvaut-folie021"
+  GAP 3
+  CHARACTER "H"
+  ANTIALIAS true
+  #FILLED true
+END # SYMBOL
+
+SYMBOL
+  NAME "nadelwald"
+  TYPE truetype
+  FONT "zvaut-folie021"
+  GAP 3
+  CHARACTER "I"
+  ANTIALIAS true
+  #FILLED true
+END # SYMBOL
+
+SYMBOL
+  NAME "mischwald"
+  TYPE truetype
+  FONT "zvaut-folie021"
+  GAP 3
+  CHARACTER "R"
+  ANTIALIAS true
+END # SYMBOL
+
+SYMBOL
+  NAME "weingarten"
+  TYPE truetype
+  FONT "zvaut-folie021"
+  GAP 1
+  CHARACTER "7"
+  ANTIALIAS true
+  #FILLED true
+END # SYMBOL
+
+SYMBOL
+  NAME "obstplantage"
+  TYPE truetype
+  FONT "zvaut-folie021"
+  GAP 3
+  CHARACTER "M"
+  ANTIALIAS true
+  #FILLED true
+END # SYMBOL
+
+
+SYMBOL
+  NAME 'schraffur'
+  TYPE HATCH
+END
+
+SYMBOL
+  NAME 'punkt'
+  TYPE ELLIPSE
+  POINTS 1 1 END
+  FILLED true
+END
+
+SYMBOL
+  NAME 'quadrat'
+  TYPE VECTOR
+  POINTS 
+   0 0
+   0 1
+   1 1
+   1 0
+   0 0 
+  END
+  FILLED true
+END
+
+SYMBOL
+  NAME "grenze"
+  TYPE ellipse
+  POINTS 2 2 END
+  FILLED TRUE
+  #STYLE 2 2 2 2 END
+END
+
+SYMBOL
+  NAME 'windrad'
+  TYPE PIXMAP
+  IMAGE "windrad.gif"
+END
+
+SYMBOL
+  NAME 'baum'
+  TYPE PIXMAP
+  IMAGE "baum.gif"
+END
+
+SYMBOL
+  NAME 'turm'
+  TYPE PIXMAP
+  IMAGE "turm.gif"
+END
+
+SYMBOL
+  NAME 'denkmal'
+  TYPE PIXMAP
+  IMAGE "denkmal.gif"
+END
+
+SYMBOL
+  NAME 'felsen'
+  TYPE PIXMAP
+  IMAGE "felsen.gif"
+END
+
+
+
+#SYMBOL
+ # NAME 'gestrichelt'
+ # TYPE ELLIPSE
+ # POINTS 1 1 END
+ # STYLE
+  #  20 20 20 20
+ # END
+#END
+
+SYMBOL
+  NAME 'gestrichelt'
+  TYPE ELLIPSE
+  POINTS 1 1 END
+  STYLE
+    4 2 4 2
+  END
+END
+
+
+
+SYMBOL
+  NAME 'bahn'
+  TYPE VECTOR
+  POINTS
+    0 0
+    0 0.6
+    1 0.6
+    1 0
+    0 0
+  END
+  FILLED TRUE
+ # STYLE
+ #   8 12 8 12
+ # END
+END
+
+END
Index: branches/0.7/umn/atkis/fonts/fonts.list
===================================================================
--- branches/0.7/umn/atkis/fonts/fonts.list	(revision 329)
+++ branches/0.7/umn/atkis/fonts/fonts.list	(revision 329)
@@ -0,0 +1,15 @@
+arial arial.ttf
+arialbold arialbd.ttf
+arialitalic ariali.ttf
+arialnarrow Arialn.ttf
+tahoma tahoma.ttf
+tahomabold tahomabd.ttf
+times times.ttf
+timesbold timesbd.ttf 
+verdana verdana.ttf
+zvaut-folie021 zvaut-folie021.ttf
+zvaut-folie082 zvaut-folie082.ttf
+kartosymbols kartosymbols.ttf
+natural_resources natural_resources.ttf
+cartographic cartographic.ttf
+
Index: branches/0.7/umn/atkis/atkis3.map
===================================================================
--- branches/0.7/umn/atkis/atkis3.map	(revision 329)
+++ branches/0.7/umn/atkis/atkis3.map	(revision 329)
@@ -0,0 +1,3839 @@
+MAP
+  NAME 'atkis1'
+  SIZE 600 600
+  UNITS meters
+  SYMBOLSET '../symbols/symbolsatkis_neu.sym'
+  FONTSET '../fonts/fonts.list'
+ # EXTENT 290000 5420000 466000 5648000
+  EXTENT 290000 5420000 466000 5648000
+  PROJECTION
+    'init=epsg:25832'
+  END
+
+  IMAGECOLOR 192 192 192
+  IMAGEQUALITY 86
+ # IMAGETYPE png24
+#  OUTPUTFORMAT
+#    NAME png
+#    DRIVER 'GD/PNG'
+#    MIMETYPE 'image/png'
+#    EXTENSION 'png'
+#  END
+#  OUTPUTFORMAT
+ #    NAME PNG24
+  #   DRIVER "GD/PNG"
+   #  MIMETYPE "image/png"
+    # EXTENSION PNG
+    # IMAGEMODE RGBA
+    # TRANSPARENT ON
+ # END
+
+#http://mgeospatial.wordpress.com/2010/01/16/how-to-produce-8bits-agg-homemade-colors-palette-with-mapserver/
+#OUTPUTFORMAT
+#   NAME "png8bitaggauto"
+#   DRIVER "AGG/PNG"
+#   MIMETYPE "image/png"
+#   IMAGEMODE "pc256"
+#   EXTENSION "png"
+#   FORMATOPTION "TRANSPARENT=ON"
+#   FORMATOPTION "INTERLACE=OFF"
+#   FORMATOPTION "QUANTIZE_FORCE=ON"
+#  FORMATOPTION "QUANTIZE_COLORS=256"
+#END
+
+
+
+#
+OUTPUTFORMAT
+  NAME png
+  DRIVER AGG/PNG
+#IMAGETYPE png24
+  MIMETYPE "image/png"
+  IMAGEMODE RGBA
+  EXTENSION "png"
+ FORMATOPTION "INTERLACE=OFF"
+END
+
+
+
+  LEGEND
+    IMAGECOLOR 255 255 255
+    STATUS ON
+    KEYSIZE 18 12
+    LABEL
+      TYPE BITMAP
+      SIZE MEDIUM
+      COLOR 0 0 0
+    END
+  END
+
+  WEB
+    IMAGEPATH '/data/umn/tmp/'
+    IMAGEURL '/data/umn/tmp/'
+    METADATA
+      'wms_title'           		'Karte RP'
+      'wms_abstract' 			'Digitales Landschaftsmodell'
+      'wms_onlineresource'  		'http://www.gdi-rp-dienste2.rlp.de/cgi-bin/mapserv.fcgi?map=/data/umn/geoportal/karte_rp/atkis3.map'
+#http://www.gdi-rp-dienste2.rlp.de/cgi-bin/mapserv.fcgi?map=/data/umn/geoportal/karte_rp/atkis3.map&REQUEST=GetCapabilities&VERSION=1.1.1&SERVICE=wms
+      'wms_srs'             		'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258 EPSG:900913'
+      'wms_extent' 			'290000 5420000 466000 5648000'
+      'ows_keywordlist' 		'DLM,Landschaftsmodell,Atkis'
+      'ows_fees' 			'none' #Gebuehren
+      'ows_accessconstraints' 		'none' #Zugriffsbeschraenkungen
+      'ows_addresstype' 		'postal'
+      'ows_address' 			'Ferdinand-Sauerbruch-Str. 15'
+      'ows_city' 			'Koblenz' 
+      'ows_stateorprovince' 		'RLP'
+      'ows_postcode' 			'56073' 
+      'ows_country' 			'Deutschland' 
+      'ows_contactperson' 		'Armin Retterath' 
+      'ows_contactinformation' 		''
+      'ows_contactorganization' 	'KGSt. GDI-RP'
+      'ows_contactposition' 		''
+      'ows_contactelectronicmailaddress''kontakt@geoportal.rlp.de'
+      'wms_contactfacsimiletelephone' 	'0261-492492'
+      'wms_contactvoicetelephone' 	'0261-492472'
+      'wms_enable_request'              '*'
+      'wms_encoding' 			'UTF-8'
+    END
+  END
+
+#----------------------------------------------------------------------
+#-- Landesflaeche NEU ab hier # GEKACHELT
+LAYER
+    NAME 'rlp_00'
+    GROUP 'Landesflaeche'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_landesflaeche_g0 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Land 0'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000'
+    END
+    STATUS ON
+    MINSCALEDENOM 10001
+    MAXSCALEDENOM 17500
+    CLASS
+       NAME 'Landesflaeche' 
+       STYLE
+         #OUTLINECOLOR 210 210 181
+         OUTLINECOLOR 255 255 225
+         COLOR 255 255 225
+      END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+LAYER
+    NAME 'rlp_01'
+    GROUP 'Landesflaeche'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_landesflaeche_g1 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Land 1'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000'
+    END
+    STATUS ON
+    MINSCALEDENOM 17501
+    MAXSCALEDENOM 50000
+    CLASS
+       NAME 'Landesflaeche' 
+       STYLE
+         #OUTLINECOLOR 210 210 181
+         OUTLINECOLOR 255 255 225
+         COLOR 255 255 225
+      END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'rlp_02'
+    GROUP 'Landesflaeche'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_landesflaeche_g2 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Land 2'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 50001
+    MAXSCALEDENOM 100000
+    CLASS
+       NAME 'Landesflaeche' 
+       STYLE
+         #OUTLINECOLOR 210 210 181
+         OUTLINECOLOR 255 255 225
+         COLOR 255 255 225
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'rlp_03'
+    GROUP 'Landesflaeche'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_landesflaeche_g3 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Land 3'
+      'wms_group_title' 'LandesflÃ€che'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 100001
+    MAXSCALEDENOM 400000
+    CLASS
+       NAME 'Landesflaeche' 
+       STYLE
+         #OUTLINECOLOR 210 210 181
+         OUTLINECOLOR 255 255 225
+         COLOR 255 255 225
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+#  LAYER
+#    NAME 'rlp_04'
+#    GROUP 'Landesflaeche'
+#    TYPE POLYGON
+#    CONNECTIONTYPE postgis
+#    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+#    DATA "wkb_geometry from map_landesflaeche_g4 USING UNIQUE gid USING SRID=25832"
+#    PROCESSING "CLOSE_CONNECTION=DEFER"
+#    METADATA
+#      'wms_title' 	'Land 4'
+#      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+#      'wms_abstract' 	'Digitales Landschaftsmodell'
+#      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+#      'wms_extent' 	'290000 5420000 466000 5648000' 
+#    END
+#    STATUS ON
+#    MINSCALEDENOM 750001
+#    CLASS
+#       NAME 'Landesflaeche' 
+#       STYLE
+#         #OUTLINECOLOR 210 210 181
+#         OUTLINECOLOR 255 255 225
+#         COLOR 255 255 225
+ #      END
+ #   END
+#  END
+
+#-- ENDE Landesflaeche
+#----------------------------------------------------------------------
+#
+# GRUENLAND - entfernt.
+#
+
+#-- WALD NEU AB HIER
+
+  LAYER
+    NAME 'wald_00'
+    GROUP 'Wald'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_wald_g0 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title'	'Wald 0'
+      'wms_srs'  	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 10000
+    MAXSCALEDENOM 12000
+   CLASS
+      NAME 'Laubwald' 
+      EXPRESSION ( [widmung] = 1100 )
+      STYLE
+        SYMBOL "laubwald"
+		SIZE 18
+        #COLOR 204 222 173
+	#COLOR 131 185 142
+	BACKGROUNDCOLOR 165 210 165
+        COLOR 1 1 1
+      END
+    END
+    CLASS
+      NAME 'Nadelwald' 
+      EXPRESSION ( [widmung] = 1200 )
+      STYLE
+	SYMBOL "nadelwald"
+	SIZE 18
+ 	OUTLINECOLOR 167 185 153
+	#COLOR 131 185 142
+	BACKGROUNDCOLOR 131 185 142
+        COLOR 1 1 1
+      END
+    END
+    CLASS
+      NAME 'Mischwald' 
+      EXPRESSION ( [widmung] = 1300 )
+      STYLE
+	SYMBOL "mischwald"
+        #OUTLINECOLOR 167 185 153
+        COLOR 1 1 1
+	SIZE 18
+	BACKGROUNDCOLOR 165 210 165
+      END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'wald_01'
+    GROUP 'Wald'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_wald_g1 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title'	'Wald 1'
+      'wms_srs'  	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 12001
+    MAXSCALEDENOM 17500
+    CLASS
+       NAME 'Wald' 
+       STYLE
+        #COLOR 204 222 173
+        #COLOR 164 202 158
+        #OUTLINECOLOR 164 202 158
+	COLOR 204 222 173
+        OUTLINECOLOR 204 222 173
+      END
+    END
+  END
+
+#----------------------------------------------------------------------  
+
+    LAYER
+    NAME 'wald_02'
+    GROUP 'Wald'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_wald_g2 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title'	'Wald 2'
+      'wms_srs'  	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 17501
+    MAXSCALEDENOM 50000
+    CLASS
+       NAME 'Wald' 
+       STYLE
+        #COLOR 164 202 158
+        #OUTLINECOLOR 164 202 158
+	COLOR 204 222 173
+        OUTLINECOLOR 204 222 173
+       END
+    END
+  END
+
+#----------------------------------------------------------------------  
+ 
+    LAYER
+    NAME 'wald_03'
+    GROUP 'Wald'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_wald_g3 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title'	'Wald 3'
+      'wms_srs'  	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END#-- WALD NEU AB HIER
+    STATUS ON
+    MINSCALEDENOM 50001
+    MAXSCALEDENOM 100000
+    CLASS
+      NAME 'Wald' 
+      STYLE
+        #COLOR 164 202 158
+        #OUTLINECOLOR 164 202 158
+	COLOR 204 222 173
+        OUTLINECOLOR 204 222 173
+      END
+    END
+  END
+
+#----------------------------------------------------------------------  
+ 
+    LAYER
+    NAME 'wald_04'
+    GROUP 'Wald'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_wald_g4 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title'	'Wald 4'
+      'wms_srs'  	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 100001
+    MAXSCALEDENOM 400000
+    CLASS
+       NAME 'Wald' 
+       STYLE
+        #COLOR 164 202 158
+        #OUTLINECOLOR 164 202 158
+	COLOR 204 222 173
+        OUTLINECOLOR 204 222 173
+       END
+    END
+  END
+
+#----------------------------------------------------------------------  
+ 
+#    LAYER
+#    NAME 'wald_05'
+#    GROUP 'Wald'
+#    TYPE POLYGON
+#    CONNECTIONTYPE postgis
+#    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+#    DATA "wkb_geometry from map_wald_g5 USING UNIQUE gid USING SRID=25832"
+#    PROCESSING "CLOSE_CONNECTION=DEFER"
+#    METADATA
+#      'wms_title'	'Wald 5'
+#      'wms_srs'  	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+#      'wms_abstract' 	'Digitales Landschaftsmodell'
+#      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+#      'wms_extent' 	'290000 5420000 466000 5648000' 
+#    END
+#    STATUS ON
+#    MINSCALEDENOM 300001
+#	MAXSCALEDENOM 750000
+#    CLASS
+#      NAME 'Wald' 
+#      STYLE
+#        #COLOR 164 202 158
+#        #OUTLINECOLOR 164 202 158
+#	COLOR 204 222 173
+#        OUTLINECOLOR 204 222 173
+#      END
+#    END
+#  END
+
+#----------------------------------------------------------------------  
+ 
+#    LAYER
+#    NAME 'wald_06'
+#    GROUP 'Wald'
+#    TYPE POLYGON
+#    CONNECTIONTYPE postgis
+#    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+#    DATA "wkb_geometry from map_wald_g6 USING UNIQUE gid USING SRID=25832"
+#    PROCESSING "CLOSE_CONNECTION=DEFER"
+#    METADATA
+#      'wms_title'	'Wald 6'
+#      'wms_srs'  	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+##      'wms_abstract' 	'Digitales Landschaftsmodell'
+#      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+#      'wms_extent' 	'290000 5420000 466000 5648000' 
+#    END
+#    STATUS ON
+#    MINSCALEDENOM 750001
+#    CLASS
+#      NAME 'Wald' 
+#      STYLE
+#        #COLOR 164 202 158
+#        #OUTLINECOLOR 164 202 158
+#	COLOR 204 222 173
+#        OUTLINECOLOR 204 222 173
+#      END
+#    END
+#  END
+#-- ENDE WALD NEU
+#----------------------------------------------------------------------  
+#-- Sonderkulturen NEU ab hier
+    LAYER
+    NAME 'sonderkultur_00'
+    GROUP 'Sonderkultur'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_sonderkultur_g0 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title'	'Sonderkultur 0'
+      'wms_srs'  	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 10000
+    MAXSCALEDENOM 12000
+#    CLASS
+#      NAME 'Hopfen' 
+#      EXPRESSION ( [widmung] = 1012 )
+#      STYLE
+#        #OUTLINECOLOR 204 222 173
+#        COLOR 255 230 240
+#      END
+#    END
+#    CLASS
+#      NAME 'Baumschule' 
+#      EXPRESSION ( [widmung] = 1031 )
+#      STYLE
+#        #OUTLINECOLOR 141 159 127
+#        COLOR 255 230 240
+#      END
+#    END
+    CLASS
+      NAME 'Weingarten' 
+      EXPRESSION ( [widmung] = 1040 )
+      STYLE
+        SYMBOL "weingarten"
+		SIZE 18
+		#OUTLINECOLOR 167 185 153
+        #COLOR 255 230 240
+		COLOR 18 165 35 
+		BACKGROUNDCOLOR 255 230 240
+      END
+    END
+	CLASS
+      NAME 'Obstplantage' 
+      EXPRESSION ( [widmung] = 1050 )
+      STYLE
+        SYMBOL "obstplantage"
+		SIZE 18
+		#OUTLINECOLOR 167 185 153
+        #COLOR 255 230 240
+		COLOR 18 18 18 
+		BACKGROUNDCOLOR 255 230 240
+      END
+    END
+    CLASS
+      NAME 'Sonstige Sonderkultur'
+      STYLE
+        COLOR 255 230 240
+      END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'sonderkultur_01'
+    GROUP 'Sonderkultur'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_sonderkultur_g1 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title'	'Sonderkultur 1'
+      'wms_srs'  	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+	MINSCALEDENOM 12001
+    MAXSCALEDENOM 17500
+    CLASS
+      NAME 'Weingarten' 
+      EXPRESSION ( [widmung] = 1040 )
+      STYLE
+        SYMBOL "weingarten"
+		SIZE 13
+		#OUTLINECOLOR 167 185 153
+        #COLOR 255 230 240
+		COLOR 18 165 35 
+		BACKGROUNDCOLOR 255 230 240
+      END
+    END
+	CLASS
+      NAME 'Obstplantage' 
+      EXPRESSION ( [widmung] = 1050 )
+      STYLE
+        SYMBOL "obstplantage"
+		SIZE 13
+		#OUTLINECOLOR 167 185 153
+        #COLOR 255 230 240
+		COLOR 18 18 18 
+		BACKGROUNDCOLOR 255 230 240
+      END
+    END
+    CLASS
+      NAME 'Sonstige Sonderkultur'
+      STYLE
+        COLOR 255 230 240
+      END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'sonderkultur_02'
+    GROUP 'Sonderkultur'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_sonderkultur_g2 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title'	'Sonderkultur 2'
+      'wms_srs'  	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+	MINSCALEDENOM 17501
+    MAXSCALEDENOM 50000
+    CLASS
+      NAME 'Weingarten' 
+      EXPRESSION ( [widmung] = 1040 )
+      STYLE
+        SYMBOL "weingarten"
+		SIZE 11
+		#OUTLINECOLOR 167 185 153
+        #COLOR 255 230 240
+		COLOR 18 165 35 
+		BACKGROUNDCOLOR 255 230 240
+      END
+    END
+	CLASS
+      NAME 'Obstplantage' 
+      EXPRESSION ( [widmung] = 1050 )
+      STYLE
+        SYMBOL "obstplantage"
+		SIZE 11
+		#OUTLINECOLOR 167 185 153
+        #COLOR 255 230 240
+		COLOR 18 18 18 
+		BACKGROUNDCOLOR 255 230 240
+      END
+    END
+    CLASS
+      NAME 'Sonstige Sonderkultur'
+      STYLE
+        COLOR 255 230 240
+      END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'sonderkultur_03'
+    GROUP 'Sonderkultur'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from  map_sonderkultur_g3 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title'	'Sonderkultur 3'
+      'wms_srs'  	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+	MINSCALEDENOM 50001
+    MAXSCALEDENOM 100000
+    CLASS
+      NAME 'Weingarten' 
+      EXPRESSION ( [widmung] = 1040 )
+      STYLE
+        SYMBOL "weingarten"
+		SIZE 9
+		#OUTLINECOLOR 167 185 153
+        #COLOR 255 230 240
+		COLOR 18 165 35 
+		BACKGROUNDCOLOR 255 230 240
+      END
+    END
+	CLASS
+      NAME 'Obstplantage' 
+      EXPRESSION ( [widmung] = 1050 )
+      STYLE
+        SYMBOL "obstplantage"
+		SIZE 9
+		#OUTLINECOLOR 167 185 153
+        #COLOR 255 230 240
+		COLOR 18 18 18 
+		BACKGROUNDCOLOR 255 230 240
+      END
+    END
+    CLASS
+      NAME 'Sonstige Sonderkultur'
+      STYLE
+        COLOR 255 230 240
+      END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'sonderkultur_04'
+    GROUP 'Sonderkultur'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_sonderkultur_g4 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title'	'Sonderkultur 4'
+      'wms_srs'  	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+	MINSCALEDENOM 100001
+    MAXSCALEDENOM 120000
+#    CLASS
+#      NAME 'Weingarten' 
+#      EXPRESSION ( [widmung] = 1040 )
+#      STYLE
+#        SYMBOL "weingarten"
+#		SIZE 6
+#		#OUTLINECOLOR 167 185 153
+#        #COLOR 255 230 240
+#		COLOR 18 165 35 
+#		BACKGROUNDCOLOR 255 230 240
+#      END
+#    END
+#	CLASS
+#      NAME 'Obstplantage' 
+#      EXPRESSION ( [widmung] = 1050 )
+#      STYLE
+#        SYMBOL "obstplantage"
+#		SIZE 6
+#		#OUTLINECOLOR 167 185 153
+#        #COLOR 255 230 240
+#		COLOR 18 18 18 
+#		BACKGROUNDCOLOR 255 230 240
+#      END
+#    END
+    CLASS
+      NAME 'Sonderkulturen'
+      STYLE
+        COLOR 255 230 240
+      END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+#  LAYER
+#    NAME 'sonderkultur_05'
+#    GROUP 'Sonderkultur'
+#    TYPE POLYGON
+#    CONNECTIONTYPE postgis
+#    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+#    DATA "wkb_geometry from map_sonderkultur_g5 USING UNIQUE gid USING SRID=25832"
+#    PROCESSING "CLOSE_CONNECTION=DEFER"
+#    METADATA
+#      'wms_title'	'Sonderkultur 5'
+#      'wms_srs'  	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+#      'wms_abstract' 	'Digitales Landschaftsmodell'
+#      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+#      'wms_extent' 	'290000 5420000 466000 5648000' 
+#    END
+#    STATUS ON
+#	MINSCALEDENOM 300001
+#    MAXSCALEDENOM 750000
+#    CLASS
+#      NAME 'Sonderkulturen'
+#      STYLE
+#        COLOR 255 230 240
+#      END
+#    END
+#  END
+
+#----------------------------------------------------------------------
+
+#  LAYER
+#    NAME 'sonderkultur_06'
+#    GROUP 'Sonderkultur'
+#    TYPE POLYGON
+#    CONNECTIONTYPE postgis
+#    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+#    DATA "wkb_geometry from map_sonderkultur_g6 USING UNIQUE gid USING SRID=25832"
+#    PROCESSING "CLOSE_CONNECTION=DEFER"
+#    METADATA
+#      'wms_title'	'Sonderkultur 6'
+#      'wms_srs'  	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+#      'wms_abstract' 	'Digitales Landschaftsmodell'
+#      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+#      'wms_extent' 	'290000 5420000 466000 5648000' 
+#    END
+#    STATUS ON
+#	MINSCALEDENOM 750001
+#    CLASS
+#      NAME 'Sonderkulturen'
+#      STYLE
+#        COLOR 255 230 240
+#      END
+#    END
+#  END
+
+#-- Ende Sonderkultur
+#----------------------------------------------------------------------
+#-- ORTSNAMEN UND ORTSLAGE NEU AB HIER
+
+LAYER
+    NAME 'ortslage_000'
+    GROUP 'Ortslage'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_ortslage_g0 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Ortslage 00'
+      'wms_group_title' 'Ortslage'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 0
+    MAXSCALEDENOM 10000
+    LABELITEM 'widmung'
+    CLASS
+       NAME 'Ortslage' 
+       #STYLE
+       #  COLOR 230 228 223
+       #END
+       LABEL
+         ENCODING 'UTF8'
+	 TYPE truetype
+         FONT timesbold
+         SIZE 12
+         COLOR 50 50 50
+         OUTLINECOLOR 255 255 254
+         POSITION cr
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+LAYER
+    NAME 'ortslage_00'
+    GROUP 'Ortslage'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_ortslage_g0 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Ortslage 0'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 10000
+    MAXSCALEDENOM 12000
+    LABELITEM 'widmung'
+    CLASS
+       NAME 'Ortslage' 
+       STYLE
+         COLOR 230 228 223
+       END
+       LABEL
+         ENCODING 'UTF8'
+	 TYPE truetype
+         FONT verdana
+         SIZE 10
+         COLOR 50 50 50
+         OUTLINECOLOR 255 255 254
+         POSITION cr
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+LAYER
+    NAME 'ortslage_01'
+    GROUP 'Ortslage'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_ortslage_g1 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Ortslage 1'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 12001
+    MAXSCALEDENOM 17500
+    LABELITEM 'widmung'
+    CLASS
+       NAME 'Ortslage' 
+       STYLE
+         COLOR 230 228 223
+       END
+       LABEL
+         ENCODING 'UTF8'
+         TYPE truetype
+         FONT verdana
+         SIZE 10
+         COLOR 50 50 50
+         OUTLINECOLOR 255 255 254
+         POSITION cr
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'ortslage_02'
+    GROUP 'Ortslage'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_ortslage_g2 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Ortslage 2'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 17501
+	MAXSCALEDENOM 50000
+    LABELITEM 'widmung'
+    CLASS
+       NAME 'Ortslage' 
+       STYLE
+         COLOR 230 228 223
+       END
+       LABEL
+         ENCODING 'UTF8'
+	 TYPE truetype
+         FONT verdana
+         SIZE 10
+         COLOR 50 50 50
+         OUTLINECOLOR 255 255 254
+         POSITION cr
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'ortslage_03'
+    GROUP 'Ortslage'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_ortslage_g3 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Ortslage 3'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 50001
+	MAXSCALEDENOM 100000
+    CLASS
+       NAME 'Ortslage' 
+       STYLE
+         COLOR 230 228 223
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'ortslage_04'
+    GROUP 'Ortslage'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_ortslage_g4 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Ortslage 4'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 100001
+	MAXSCALEDENOM 200000
+    CLASS
+       NAME 'Ortslage' 
+       STYLE
+         COLOR 230 228 223
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+#  LAYER
+#    NAME 'ortslage_05'
+#    GROUP 'Ortslage'
+#    TYPE POLYGON
+#    CONNECTIONTYPE postgis
+#    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+#    DATA "wkb_geometry from map_ortslage_g5 USING UNIQUE gid USING SRID=25832"
+#    PROCESSING "CLOSE_CONNECTION=DEFER"
+#    METADATA
+#      'wms_title' 	'Ortslage 5'
+#      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+#      'wms_abstract' 	'Digitales Landschaftsmodell'
+#      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+#      'wms_extent' 	'290000 5420000 466000 5648000' 
+#    END
+#    STATUS ON
+#    MINSCALEDENOM 300001
+#	MAXSCALEDENOM 750000
+#    CLASS
+#       NAME 'Ortslage' 
+#       STYLE
+#         COLOR 230 228 223
+#       END
+#    END
+#  END
+
+#----------------------------------------------------------------------
+
+#  LAYER
+#    NAME 'ortslage_06'
+#    GROUP 'Ortslage'
+#    TYPE POLYGON
+#    CONNECTIONTYPE postgis
+#    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+#    DATA "wkb_geometry from map_ortslage_g6 USING UNIQUE gid USING SRID=25832"
+#    PROCESSING "CLOSE_CONNECTION=DEFER"
+#    METADATA
+#      'wms_title' 	'Ortslage 6'
+#      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+#      'wms_abstract' 	'Digitales Landschaftsmodell'
+#      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+#      'wms_extent' 	'290000 5420000 466000 5648000' 
+#    END
+#    STATUS ON
+#    MINSCALEDENOM 750001
+#    MAXSCALEDENOM 1000000
+#    CLASS
+#       NAME 'Ortslage' 
+#       STYLE
+#         COLOR 230 228 223
+#       END
+#    END
+#  END
+
+#----------------------------------------------------------------------
+#-- Ende der Ortslagen
+#----------------------------------------------------------------------
+#----------------------------------------------------------------------
+#-- Industrie NEU ab hier 
+# keine Differenzierung nach Art, wg Fehler ATKIS-Datenmodell (NULL-Werte)
+
+  LAYER
+    NAME 'industrie_00'
+    GROUP 'Industrie'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_industrie_g0 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Industrie 0'
+      'wms_group_title' 'IndustrieflÃ€chen'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 10000
+    MAXSCALEDENOM 12000
+    CLASS
+       NAME 'Industrie' 
+       STYLE
+         COLOR 215 195 225
+       END
+    END
+  END
+
+#-------------------------------------------------------------------------
+
+  LAYER
+    NAME 'industrie_01'
+    GROUP 'Industrie'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_industrie_g1 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Industrie 1'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+	MINSCALEDENOM 12001
+    MAXSCALEDENOM 17500
+    CLASS
+       NAME 'Industrie' 
+       STYLE
+         COLOR 215 195 225
+       END
+    END
+  END
+
+#-------------------------------------------------------------------------
+
+  LAYER
+    NAME 'industrie_02'
+    GROUP 'Industrie'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_industrie_g2 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Industrie 2'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 17501
+    MAXSCALEDENOM 50000
+    CLASS
+       NAME 'Industrie' 
+       STYLE
+         COLOR 215 195 225
+       END
+    END
+  END
+
+#-------------------------------------------------------------------------
+
+  LAYER
+    NAME 'industrie_03'
+    GROUP 'Industrie'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_industrie_g3 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Industrie 3'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 50001
+    MAXSCALEDENOM 100000
+    CLASS
+       NAME 'Industrie' 
+       STYLE
+         COLOR 215 195 225
+       END
+    END
+  END
+
+#-------------------------------------------------------------------------
+
+  LAYER
+    NAME 'industrie_04'
+    GROUP 'Industrie'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_industrie_g4 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Industrie 4'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 100001
+    MAXSCALEDENOM 200000
+    CLASS
+       NAME 'Industrie' 
+       STYLE
+         COLOR 215 195 225
+       END
+    END
+  END
+
+#-------------------------------------------------------------------------
+
+#  LAYER
+#    NAME 'industrie_05'
+#    GROUP 'Industrie'
+#    TYPE POLYGON
+#    CONNECTIONTYPE postgis
+#    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+#    DATA "wkb_geometry from map_industrie_g5 USING UNIQUE gid USING SRID=25832"
+#    PROCESSING "CLOSE_CONNECTION=DEFER"
+#    METADATA
+#      'wms_title' 	'Industrie 5'
+#      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+#      'wms_abstract' 	'Digitales Landschaftsmodell'
+#      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+#      'wms_extent' 	'290000 5420000 466000 5648000' 
+#    END
+#    STATUS ON
+#    MINSCALEDENOM 300001
+#    MAXSCALEDENOM 750000
+#    CLASS
+#       NAME 'Industrie' 
+#       STYLE
+#         COLOR 215 195 225
+#       END
+#    END
+#  END
+
+#-------------------------------------------------------------------------
+#  LAYER
+#   NAME 'industrie_06'
+#    GROUP 'Industrie'
+#    TYPE POLYGON
+#    CONNECTIONTYPE postgis
+#    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+#    DATA "wkb_geometry from map_industrie_g6 USING UNIQUE gid USING SRID=25832"
+#    PROCESSING "CLOSE_CONNECTION=DEFER"
+#    METADATA
+#      'wms_title' 	'Industrie 6'
+#      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+#      'wms_abstract' 	'Digitales Landschaftsmodell'
+#      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+#      'wms_extent' 	'290000 5420000 466000 5648000' 
+#    END
+#    STATUS ON
+#    MINSCALEDENOM 750001
+#    MAXSCALEDENOM 1000000
+#    CLASS
+#      NAME 'Industrie' 
+#       STYLE
+#         COLOR 215 195 225
+#       END
+#    END
+#  END
+
+#-- ENDE Industrie
+#-------------------------------------------------------------------------
+  LAYER
+    NAME 'tagebau_0'
+    GROUP 'Industrie'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from ax_tagebaugrubesteinbruch USING UNIQUE ogc_fid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Tagebau 0'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    #MINSCALEDENOM 7500
+    MAXSCALEDENOM 7500
+    CLASS
+       NAME 'Tagebau/Grube/Steinbruch' 
+       STYLE
+	SYMBOL "bergbau"
+        OUTLINECOLOR 1 1 1
+        COLOR 220 220 220
+	SIZE 25
+	#BACKGROUNDCOLOR 200 200 200
+	  #OUTLINECOLOR 1 1 1
+         #COLOR 215 195 225
+       END
+       STYLE
+          OUTLINECOLOR 220 220 220
+          WIDTH 2
+       END
+       STYLE 
+          SYMBOL 'schraffur'
+          COLOR 220 220 220
+	  ANGLE 45
+	  SIZE 10
+       END
+
+    END
+  END
+
+#-------------------------------------------------------------------------
+  LAYER
+    NAME 'tagebau_1'
+    GROUP 'Industrie'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from ax_tagebaugrubesteinbruch USING UNIQUE ogc_fid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Tagebau 1'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 7500
+    MAXSCALEDENOM 120000
+    CLASS
+       NAME 'Tagebau/Grube/Steinbruch' 
+       STYLE
+	SYMBOL "bergbau"
+        #OUTLINECOLOR 1 1 1
+        COLOR 1 1 1
+	SIZE 15
+	BACKGROUNDCOLOR  251 219 136
+	  #OUTLINECOLOR 1 1 1
+         #COLOR 215 195 225
+       END
+       #STYLE
+        # COLOR 195 175 205
+       #END
+    END
+  END
+
+#-- ENDE Tagebau
+#-------------------------------------------------------------------------
+#-------------------------------------------------------------------------
+#-------------------------------------------------------------------------
+  LAYER
+    NAME 'ax_friedhof_0'
+    GROUP 'Ortslage'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from ax_friedhof USING UNIQUE ogc_fid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Friedhof 0'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    #MINSCALEDENOM 7500
+    MAXSCALEDENOM 10000
+    CLASS
+       NAME 'Friedhof' 
+       STYLE
+	SYMBOL "friedhof"
+        #OUTLINECOLOR 1 1 1
+        COLOR 220 220 220
+	SIZE 18
+	#BACKGROUNDCOLOR 200 200 200
+	  OUTLINECOLOR 1 1 1
+         #COLOR 215 195 225
+       END
+    STYLE
+      OUTLINECOLOR 220 220 220
+      WIDTH 2
+END
+#STYLE 
+#SYMBOL 'schraffur'
+#COLOR 220 220 220
+#ANGLE 45
+#SIZE 10
+#END
+
+    END
+  END
+
+#-------------------------------------------------------------------------
+  LAYER
+    NAME 'ax_friedhof_1'
+    GROUP 'Ortslage'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from ax_friedhof USING UNIQUE ogc_fid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Friedhof'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 10001
+    MAXSCALEDENOM 20000
+    CLASS
+       NAME 'Friedhof' 
+       STYLE
+	SYMBOL "friedhof"
+        #OUTLINECOLOR 1 1 1
+        COLOR 1 1 1
+	SIZE 18
+	BACKGROUNDCOLOR 200 200 200
+       END
+    END
+  END
+#
+
+#-------------------------------------------------------------------------
+#-- ENDE Industrie
+#-------------------------------------------------------------------------
+
+  LAYER
+    NAME 'baeche_0'
+    GROUP 'Fluesse'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid ,wkb_geometry, widmung FROM map_baeche_g0) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Baeche 0'
+      'wms_group_title' 'FlÃŒsse'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MAXSCALEDENOM 24500
+    LABELITEM 'widmung'
+    CLASS
+       NAME 'Fluss' 
+       STYLE
+         COLOR 101 157 185
+         WIDTH 1
+        END
+	LABEL
+         ENCODING 'UTF8'
+	 TYPE truetype
+         FONT verdana
+         SIZE 7
+         COLOR 68 121 189
+         OUTLINECOLOR 255 255 254
+	 ANGLE follow
+	 MINDISTANCE 200
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'baeche_1'
+    GROUP 'Fluesse'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid, wkb_geometry FROM map_baeche_g1) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Baeche 1'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 24500
+    MAXSCALEDENOM 50000
+    CLASS
+       NAME 'Fluss' 
+       STYLE
+         COLOR 68 121 189
+         WIDTH 1
+       END
+	LABEL
+         ENCODING 'UTF8'
+	 TYPE truetype
+         FONT verdana
+         SIZE 7
+         COLOR 68 121 189
+         OUTLINECOLOR 255 255 254
+	 ANGLE follow
+	 MINDISTANCE 200
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'fluss_00'
+    GROUP 'Fluesse'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM map_fluesse_g0 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Fluesse 0'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MAXSCALEDENOM 7500
+    LABELITEM 'widmung'
+    CLASS
+       NAME 'Fluss' 
+       STYLE
+         COLOR 164 198 238
+	 OUTLINECOLOR 164 198 238
+         WIDTH 1
+       END
+       LABEL				#VERSUCH flussnamen
+         TYPE truetype
+         FONT tahomabold
+         SIZE 8
+         COLOR 68 121 189
+         OUTLINECOLOR 255 255 254
+         POSITION auto
+	 MINDISTANCE 200 
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'fluss_01'
+    GROUP 'Fluesse'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM map_fluesse_g1 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Fluesse 1'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 7501
+    MAXSCALEDENOM 17500
+    LABELITEM 'widmung'
+    CLASS
+       NAME 'Fluss' 
+       STYLE
+         COLOR 164 198 238
+	 OUTLINECOLOR 164 198 238
+         WIDTH 1
+       END
+       LABEL				#VERSUCH flussnamen
+         TYPE truetype
+         FONT tahomabold
+         SIZE 8
+         COLOR 68 121 189
+         OUTLINECOLOR 255 255 254
+         POSITION auto
+	 MINDISTANCE 200 
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'fluss_02'
+    GROUP 'Fluesse'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM map_fluesse_g2 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Fluesse 2'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 17501
+    MAXSCALEDENOM 50000
+    LABELITEM 'widmung'
+    CLASS
+       NAME 'Fluss' 
+       STYLE
+         COLOR 164 198 238
+	 OUTLINECOLOR 164 198 238
+         WIDTH 1
+       END
+       LABEL				#VERSUCH flussnamen
+         TYPE truetype
+         FONT tahomabold
+         SIZE 8
+         COLOR 68 121 189
+         OUTLINECOLOR 255 255 254
+         POSITION auto
+	 MINDISTANCE 200 
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'fluss_03'
+    GROUP 'Fluesse'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM map_fluesse_g3 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Fluesse 3'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 50001
+    MAXSCALEDENOM 100000
+    LABELITEM 'widmung'
+    CLASS
+       NAME 'Fluss' 
+       STYLE
+         COLOR 164 198 238
+	 OUTLINECOLOR 164 198 238
+         WIDTH 1
+       END
+       LABEL				#VERSUCH flussnamen
+         TYPE truetype
+         FONT tahomabold
+         SIZE 8
+         COLOR 68 121 189
+         OUTLINECOLOR 255 255 254
+         POSITION auto
+	 MINDISTANCE 200 
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'fluss_04'
+    GROUP 'Fluesse'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM map_fluesse_g4 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Fluesse 4'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 100001
+    MAXSCALEDENOM 300000
+    #LABELITEM 'widmung'
+    CLASS
+       NAME 'Fluss' 
+       STYLE
+         COLOR 164 198 238
+         OUTLINECOLOR 164 198 238
+         WIDTH 1
+       END
+       #LABEL				#VERSUCH flussnamen
+       #  TYPE truetype
+       #  FONT tahomabold
+       #  SIZE 8
+       #  COLOR 68 121 189
+       #  OUTLINECOLOR 255 255 254
+       #  POSITION auto
+       #  MINDISTANCE 200 
+       #END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'fluss_05'
+    GROUP 'Fluesse'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM map_fluesse_g5 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Fluesse 5'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 300001
+    MAXSCALEDENOM 750000
+    #LABELITEM 'widmung'
+    CLASS
+       NAME 'Fluss' 
+       STYLE
+         COLOR 164 198 238
+         OUTLINECOLOR 164 198 238
+         WIDTH 1
+       END
+       #LABEL				#VERSUCH flussnamen
+       #  TYPE truetype
+       #  FONT tahomabold
+       #  SIZE 8
+       #  COLOR 68 121 189
+       #  OUTLINECOLOR 255 255 254
+       #  POSITION auto
+       #  MINDISTANCE 200 
+       #END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'fluss_06'
+    GROUP 'Fluesse'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM map_fluesse_g6 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Fluesse 6'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 750001
+    #LABELITEM 'widmung'
+    CLASS
+       NAME 'Fluss' 
+       STYLE
+         COLOR 164 198 238
+         OUTLINECOLOR 164 198 238
+         WIDTH 1
+       END
+       #LABEL				#VERSUCH flussnamen
+       #  TYPE truetype
+       #  FONT tahomabold
+       #  SIZE 8
+       #  COLOR 68 121 189
+       #  OUTLINECOLOR 255 255 254
+       #  POSITION auto
+       #  MINDISTANCE 200 
+       #END
+    END
+  END
+
+#----------------------------------------------------------------------
+#-- Seen NEU ab hier
+  LAYER
+    NAME 'see_00'
+    GROUP 'Seen'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_stehendesgewaesser_g0 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Seen 0'
+      'wms_group_title' 'Seen'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    
+    MAXSCALEDENOM 10000
+    LABELITEM 'widmung'
+    CLASS
+       NAME 'See' 
+      # STYLE
+         #COLOR 164 198 238			#ORIGINAL
+         #OUTLINECOLOR 68 121 189	#   "
+         #COLOR 48 166 225			#gesÃ€ttigt
+         #OUTLINECOLOR 0 100 150	#	"
+         #COLOR 124 191 225
+        # OUTLINECOLOR 101 157 185
+        # WIDTH 1
+       #END
+       LABEL				#VERSUCH seenamen
+         TYPE truetype
+         FONT verdana
+         SIZE 8
+         COLOR 68 121 189
+         OUTLINECOLOR 255 255 254
+         POSITION auto
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+#-- Seen NEU ab hier
+  LAYER
+    NAME 'see_0'
+    GROUP 'Seen'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_stehendesgewaesser_g0 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Seen 0'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MAXSCALEDENOM 12000
+    MINSCALEDENOM 10001
+    LABELITEM 'widmung'
+    CLASS
+       NAME 'See' 
+       STYLE
+         #COLOR 164 198 238			#ORIGINAL
+         #OUTLINECOLOR 68 121 189	#   "
+         #COLOR 48 166 225			#gesÃ€ttigt
+         #OUTLINECOLOR 0 100 150	#	"
+         COLOR 124 191 225
+         OUTLINECOLOR 101 157 185
+         WIDTH 1
+       END
+       LABEL				#VERSUCH seenamen
+         TYPE truetype
+         FONT verdana
+         SIZE 8
+         COLOR 68 121 189
+         OUTLINECOLOR 255 255 254
+         POSITION auto
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'see_1'
+    GROUP 'Seen'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_stehendesgewaesser_g1 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Seen 1'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 12001
+    MAXSCALEDENOM 17500
+    LABELITEM 'widmung'
+    CLASS
+       NAME 'See' 
+       STYLE
+         COLOR 124 191 225
+         OUTLINECOLOR 101 157 185
+         WIDTH 1
+       END
+       LABEL				#VERSUCH seenamen
+         TYPE truetype
+         FONT verdana
+         SIZE 8
+         COLOR 68 121 189
+         OUTLINECOLOR 255 255 254
+         POSITION auto
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'see_2'
+    GROUP 'Seen'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_stehendesgewaesser_g2 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Seen 2'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 17501
+    MAXSCALEDENOM 50000
+    LABELITEM 'widmung'
+    CLASS
+       NAME 'See' 
+       STYLE
+         COLOR 124 191 225
+         OUTLINECOLOR 101 157 185
+         WIDTH 1
+       END
+       LABEL				#VERSUCH seenamen
+         TYPE truetype
+         FONT verdana
+         SIZE 8
+         COLOR 68 121 189
+         OUTLINECOLOR 255 255 254
+         POSITION auto
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'see_3'
+    GROUP 'Seen'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_stehendesgewaesser_g3 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Seen 3'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 50001
+    MAXSCALEDENOM 100000
+    LABELITEM 'widmung'
+    
+    CLASS
+       NAME 'See' 
+       STYLE
+         COLOR 124 191 225
+         OUTLINECOLOR 101 157 185
+         WIDTH 1
+       END
+       LABEL				#VERSUCH seenamen
+         TYPE truetype
+         FONT verdana
+         SIZE 8
+         COLOR 68 121 189
+         OUTLINECOLOR 255 255 254
+         POSITION auto
+
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'see_4'
+    GROUP 'Seen'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_stehendesgewaesser_g4 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Seen 4'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 100001
+    MAXSCALEDENOM 300000
+    CLASS
+       NAME 'See' 
+       STYLE
+         COLOR 124 191 225
+         #OUTLINECOLOR 101 157 185
+         WIDTH 1
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'see_5'
+    GROUP 'Seen'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_stehendesgewaesser_g5 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Seen 5'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 300001
+    MAXSCALEDENOM 750000
+    CLASS
+       NAME 'See' 
+       STYLE
+         COLOR 124 191 225
+         #OUTLINECOLOR 101 157 185
+         WIDTH 1
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'see_6'
+    GROUP 'Seen'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_stehendesgewaesser_g6 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Seen 6'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 750001
+    LABELITEM 'widmung'
+    CLASS
+       NAME 'See' 
+       STYLE
+         COLOR 124 191 225
+         #OUTLINECOLOR 101 157 185
+         WIDTH 1
+       END
+    END
+  END
+
+#-- ENDE Seen
+#----------------------------------------------------------------------
+
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'weg_0'
+    GROUP 'Wege'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_wege_g0 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Wege 0'
+      'wms_group_title' 'Wege'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+     
+    MAXSCALEDENOM 10000
+
+    CLASS
+       NAME 'Weg' 
+       STYLE
+        COLOR 255 255 254
+        WIDTH 3
+       END
+       STYLE
+	 SYMBOL 'gestrichelt'
+         COLOR 153 103 2
+         PATTERN 5 2 END
+         WIDTH 1
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'weg_0_fuss'
+    GROUP 'Wege'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from ax_wegpfadsteig USING UNIQUE ogc_fid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Wege 0 Fuss'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+     
+    MAXSCALEDENOM 10000
+
+    CLASS
+       NAME 'FuÃweg' 
+       STYLE
+        COLOR 255 255 254
+        WIDTH 3
+       END
+       STYLE
+	 #SYMBOL 'gestrichelt'
+         COLOR 153 103 2
+         #PATTERN 5 2 END
+         WIDTH 1
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'weg_1'
+    GROUP 'Wege'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_wege_g1 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Wege 1'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 10000
+    MAXSCALEDENOM 25000
+    CLASS
+       NAME 'Weg/Pfad/Steig' 
+       STYLE
+        COLOR 255 255 254
+        WIDTH 3
+       END
+       STYLE
+	 SYMBOL 'gestrichelt'
+         COLOR 153 103 2
+         PATTERN 5 2 END
+         WIDTH 1
+       END
+    END
+  END
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Fahrbahn'
+    GROUP 'Wege'
+    TYPE LINE
+    TRANSPARENCY ALPHA
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA " wkb_geometry FROM ax_fahrbahnachse USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Fahrbahnachse'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    
+    
+    MAXSCALEDENOM 3500
+    CLASS
+       NAME 'Fahrbahnachse'
+       STYLE
+	 #OPACITY 30
+         COLOR 200 200 200
+         WIDTH 2
+       END
+      # STYLE
+	# #OPACITY 30
+       #  COLOR 250 127 113#182 85 39
+       #  WIDTH 9
+      # END
+    END
+  END
+
+#----------------------------------------------------------------------
+#-- ALKIS Gebaeude
+
+LAYER
+    NAME 'ax_gebaeude'
+    GROUP 'Bauwerke'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=alkis2 host=localhost port=5434"
+    DATA "wkb_geometry from ax_gebaeude USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'GebÃ€ude'
+      'wms_group_title' 'Bauwerke'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'Alkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 0
+    MAXSCALEDENOM 10000
+   # LABELITEM 'name'
+    CLASSITEM 'gebaeudefunktion'
+    CLASS
+       NAME 'Wohngebaeude'     
+       EXPRESSION ( [gebaeudefunktion] >= 1000)
+       STYLE
+         OUTLINECOLOR 180 180 180 
+       END
+       #STYLE 
+       ##   SYMBOL 'schraffur'
+       #   COLOR 180 180 180 
+	#  ANGLE 45
+	#  SIZE 7
+      # END
+      LABEL
+         TYPE truetype
+         FONT verdana
+         SIZE 6
+         COLOR 0 0 0
+         OUTLINECOLOR 255 255 254
+       END
+    END
+#    CLASS
+#       NAME 'Wirtschaftsgebauede' 
+#       EXPRESSION '2000'
+#       STYLE
+ #        OUTLINECOLOR 180 180 180
+ #      END
+  #     STYLE 
+  #        SYMBOL 'schraffur'
+  #        COLOR 180 180 180
+#	  ANGLE 0
+#	  SIZE 7
+ #      END
+  #     LABEL
+   #      TYPE truetype
+   #      FONT verdana
+   #      SIZE 6
+    #     COLOR 0 0 0
+    #     OUTLINECOLOR 255 255 254
+    #  END
+   # END
+   #CLASS
+      # NAME 'Gotteshaus' 
+      # EXPRESSION '3041'
+       #STYLE
+       #  OUTLINECOLOR 0 0 240
+       #END
+       #STYLE 
+       #   SYMBOL 'schraffur'
+        #  COLOR 0 0 240
+	#  ANGLE 45
+  	#  SIZE 7
+       #END
+      # LABEL
+       #  TYPE truetype
+       #  FONT verdana
+       #  SIZE 6
+        # COLOR 0 0 0
+        # OUTLINECOLOR 255 255 254
+     # END
+   # END
+  END
+
+#----------------------------------------------------------------------
+#----------------------------------------------------------------------
+#-- Turm
+
+LAYER
+    NAME 'ax_turm'
+    GROUP 'Bauwerke'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=alkis2 host=localhost port=5434"
+    DATA "wkb_geometry from ax_turm USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Turm'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Liegenschaftskataster, AX_Turm Objekte'
+      'ows_keywordlist' 'Alkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 0
+    MAXSCALEDENOM 10000
+   # LABELITEM 'widmung'
+    CLASS
+       NAME 'Turm' 
+       STYLE
+         OUTLINECOLOR 180 18 62 
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+#----------------------------------------------------------------------
+#-- VorratsbehÃ€lter
+
+LAYER
+    NAME 'ax_vorratsb'
+    GROUP 'Bauwerke'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=alkis2 host=localhost port=5434"
+    DATA "wkb_geometry from ax_vorratsbehaelterspeicherbauwerk USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'VorratsbehÃ€lter/Speicher'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Liegenschaftskataster, AX_VorratsBehaelterspeicher Objekte'
+      'ows_keywordlist' 'Alkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 0
+    MAXSCALEDENOM 10000
+   # LABELITEM 'widmung'
+    CLASS
+       NAME 'Vorratsbehaelter/Speicher' 
+       STYLE
+         OUTLINECOLOR 18 180 158
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+#----------------------------------------------------------------------
+#-- sonstigesbauwerkodersonstigeeinrichtung
+
+LAYER
+    NAME 'ax_sonstigesbw'
+    GROUP 'Bauwerke'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=alkis2 host=localhost port=5434"
+    DATA "wkb_geometry from ax_sonstigesbauwerkodersonstigeeinrichtung USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Sonstiges Bauwerk'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Liegenschaftskataster, AX_VorratsBehaelterspeicher Objekte'
+      'ows_keywordlist' 'Alkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 0
+    MAXSCALEDENOM 10000
+   # LABELITEM 'widmung'
+    CLASS
+       NAME 'Sonstiges Bauwerk' 
+       STYLE
+         OUTLINECOLOR 180 180 18 
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+#----------------------------------------------------------------------
+#-- 
+#bauwerkoderanlagefuersportfreizeitunderholung
+LAYER
+    NAME 'ax_bw_sfe'
+    GROUP 'Bauwerke'
+    TYPE POLYGON
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=alkis2 host=localhost port=5434"
+    DATA "wkb_geometry from ax_bauwerkoderanlagefuersportfreizeitunderholung USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Sport/Freizeit/Erholung'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Liegenschaftskataster, ax_bauwerkoderanlagefuersportfreizeitunderholung Objekte'
+      'ows_keywordlist' 'Alkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 0
+    MAXSCALEDENOM 10000
+   # LABELITEM 'widmung'
+    CLASS
+       NAME 'Sport/Freizeit/Erholung' 
+       STYLE
+         OUTLINECOLOR 180 95 18
+       END
+       STYLE 
+          SYMBOL 'schraffur'
+          COLOR 180 95 18
+	  ANGLE 45
+	  SIZE 7
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Gemeindestrasse_0'
+    GROUP 'Gemeindestrassen'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid, name_, bezeichnung, wkb_geometry FROM map_strasse_g0 WHERE widmung=1307) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Gemeindestrassen 0'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MAXSCALEDENOM 5000
+    LABELITEM 'name_'
+    LABELMAXSCALEDENOM 5000
+    CLASS
+       NAME 'Gemeindestrasse'
+       STYLE
+	#OPACITY 30
+        COLOR 100 100 100
+        WIDTH 7
+       END
+       STYLE
+	#OPACITY 40
+        COLOR 255 255 254
+        WIDTH 6
+       END
+       LABEL
+         TYPE truetype
+         FONT verdana
+         SIZE 8
+         COLOR 0 0 0
+         OUTLINECOLOR 255 255 254
+         ANGLE follow
+	 MINDISTANCE 150
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Gemeindestrasse_1'
+    GROUP 'Gemeindestrassen'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+   DATA "wkb_geometry FROM (SELECT gid, name_,bezeichnung, wkb_geometry FROM map_strasse_g1 where widmung=1307) AS foo USING UNIQUE gid USING SRID=25832"
+   PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Gemeindestrassen 1'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MAXSCALEDENOM 50000
+    MINSCALEDENOM 5000
+    CLASS
+       NAME 'Gemeindestrasse'
+       STYLE
+         COLOR 150 150 150
+         WIDTH 3
+       END
+       STYLE
+         COLOR 255 255 254
+         WIDTH 1
+       END
+       LABEL
+         TYPE truetype
+         FONT verdana
+         SIZE 8
+         COLOR 0 0 0
+         OUTLINECOLOR 255 255 254
+         ANGLE follow
+	 MINDISTANCE 150
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Kreisstrasse_0'
+    GROUP 'Kreisstrassen'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid, name_, bezeichnung, wkb_geometry FROM map_strasse_g0 WHERE widmung=1306) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Kreisstrassen 0'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+   # LABELITEM 'name_'
+    MAXSCALEDENOM 5000
+    CLASS
+       NAME 'Kreisstrasse'
+       STYLE
+	 #OPACITY 30
+         COLOR 150 150 150
+         WIDTH 8
+       END
+       STYLE
+	 #OPACITY 40
+         COLOR 255 255 254
+         WIDTH 7
+       END
+       LABEL
+         TYPE truetype
+         FONT verdana
+         SIZE 8
+         COLOR 0 0 0
+         OUTLINECOLOR 255 255 254
+         ANGLE follow
+	 MINDISTANCE 150
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Kreisstrasse_1'
+    GROUP 'Kreisstrassen'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid, name_, bezeichnung, wkb_geometry FROM map_strasse_g1 where widmung=1306) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Kreisstrassen 1'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+   # LABELITEM 'bezeichnung'
+   # LABELMAXSCALEDENOM 20000
+    MAXSCALEDENOM 40000
+    MINSCALEDENOM 5000
+    CLASS
+       NAME 'Kreisstrasse'
+       STYLE
+         COLOR 150 150 150
+         WIDTH 5
+       END
+       STYLE
+         COLOR 255 255 254
+         WIDTH 3
+       END
+       LABEL
+         TYPE truetype
+         FONT verdana
+         SIZE 8
+         COLOR 0 0 0
+         OUTLINECOLOR 255 255 254
+         ANGLE follow
+	 MINDISTANCE 150
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Kreisstrasse_2'
+    GROUP 'Kreisstrassen'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid, name_, bezeichnung,wkb_geometry FROM map_strasse_g3 where widmung=1306) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Kreisstrassen 2'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 40000
+    MAXSCALEDENOM 200000
+  #  LABELITEM 'bezeichnung'
+    CLASS
+       NAME 'Kreisstrasse'
+       STYLE
+         COLOR 150 150 150
+         WIDTH 4
+       END
+       STYLE
+         SYMBOL "punkt"
+         COLOR 255 255 254
+         WIDTH 2
+       END
+       LABEL
+         TYPE truetype
+         FONT verdana
+         SIZE 8
+         COLOR 0 0 0
+         OUTLINECOLOR 255 255 254
+         ANGLE follow
+	 MINDISTANCE 150
+       END
+    END
+    
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Landesstrasse_0'
+    GROUP 'Landesstrassen'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid, name_, bezeichnung, wkb_geometry FROM map_strasse_g0 WHERE widmung=1305) AS foo  USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Landesstrassen 0'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+  #  LABELITEM 'bezeichnung'
+    MAXSCALEDENOM 5000
+    CLASS
+       NAME 'Landesstrasse'
+       STYLE
+	 #OPACITY 30
+         COLOR 80 80 80
+         WIDTH 11
+       END
+       STYLE
+	 #OPACITY 40
+         COLOR 255 255 254
+         WIDTH 10
+       END
+       LABEL
+         TYPE truetype
+         FONT verdana
+         SIZE 8
+         COLOR 0 0 0
+         OUTLINECOLOR 255 255 254
+         ANGLE follow
+	 MINDISTANCE 150
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Landesstrasse_1'
+    GROUP 'Landesstrassen'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid, name_,bezeichnung, wkb_geometry FROM map_strasse_g1 where widmung=1305) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Landesstrassen 1'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+ #   LABELITEM 'bezeichnung'
+  #  LABELMAXSCALEDENOM 15000
+    MAXSCALEDENOM 50000
+    MINSCALEDENOM 5000
+    CLASS
+       NAME 'Landesstrasse'
+       STYLE
+         COLOR 80 80 80
+         WIDTH 5
+       END
+       STYLE
+         COLOR 255 255 254
+         WIDTH 3
+       END
+       LABEL
+         TYPE truetype
+         FONT verdana
+         SIZE 8
+         COLOR 0 0 0
+         OUTLINECOLOR 255 255 254
+         ANGLE follow
+         MINDISTANCE 120
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Landesstrasse_2'
+    GROUP 'Landesstrassen'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid, name_,bezeichnung, wkb_geometry FROM map_strasse_g2 where widmung=1305) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Landesstrassen 2'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 50000
+    MAXSCALEDENOM 300000
+    CLASS
+       NAME 'Landesstrasse'
+       STYLE
+         COLOR 80 80 80
+         WIDTH 4
+       END
+       STYLE
+         COLOR 255 255 254
+         WIDTH 2
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Landesstrasse_3'
+    GROUP 'Landesstrassen'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid, name_,bezeichnung, wkb_geometry FROM map_strasse_g3 where widmung=1305) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Landesstrassen 3'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 300000
+    MAXSCALEDENOM 500000
+    CLASS
+       NAME 'Landesstrasse'
+       STYLE
+         COLOR 80 80 80
+         WIDTH 4
+       END
+       STYLE
+         COLOR 255 255 254
+         WIDTH 2
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Bundesstrasse_0'
+    GROUP 'Bundesstrassen'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid, name_, bezeichnung, wkb_geometry FROM map_strasse_g0 WHERE widmung=1303) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Bundesstrassen 0'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    LABELITEM 'bezeichnung'
+    MAXSCALEDENOM 5000
+    CLASS
+       NAME 'Bundesstrasse'
+       STYLE
+	 #OPACITY 30
+         COLOR 80 80 80
+         WIDTH 11
+       END
+       STYLE
+	 #OPACITY 40
+         COLOR 246 245 125
+         WIDTH 10
+       END
+       LABEL
+         TYPE truetype
+         FONT verdana
+         SIZE 7
+         COLOR 80 80 80
+         BUFFER 1
+         ANGLE follow
+	 MINDISTANCE 200
+       END
+    END
+  END
+
+
+
+  LAYER
+    NAME 'Bundesstrasse_1'
+    GROUP 'Bundesstrassen'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid, name_, bezeichnung, wkb_geometry FROM map_strasse_g1 where widmung=1303) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Bundesstrassen 1'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+  #  LABELITEM 'bezeichnung'
+  #  LABELMAXSCALEDENOM 50000
+    MINSCALEDENOM 5000
+    MAXSCALEDENOM 50000
+    CLASS
+       NAME 'Bundesstrasse'
+       STYLE
+         COLOR 197 186 161
+         WIDTH 5
+       END
+       STYLE
+         COLOR 246 245 125
+         WIDTH 3
+       END
+       LABEL
+         TYPE truetype
+         FONT verdana
+         SIZE 7
+         COLOR 80 80 80 
+         BUFFER 1
+	 MINDISTANCE 200
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Bundesstrasse_2'
+    GROUP 'Bundesstrassen'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid, name_, bezeichnung, wkb_geometry FROM map_strasse_g2 where widmung=1303) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Bundesstrassen 2'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+ #   LABELITEM 'bezeichnung'
+ #   LABELMAXSCALEDENOM 200000
+    MINSCALEDENOM 50000
+    MAXSCALEDENOM 300000
+    CLASS
+       NAME 'Bundesstrasse'
+       STYLE
+         COLOR 197 186 161
+         WIDTH 5
+       END
+       STYLE
+         COLOR 246 245 125
+         WIDTH 3
+       END
+       LABEL
+         TYPE truetype
+         FONT verdana
+         SIZE 7
+         COLOR 80 80 80 
+         BUFFER 1
+	 MINDISTANCE 200
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Bundesstrasse_3'
+    GROUP 'Bundesstrassen'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+   # DATA "wkb_geometry FROM (SELECT gid, name_, regexp_replace(bezeichnung , '.[*:].', '') as bezeichnung, wkb_geometry FROM map_strasse_g3 where widmung=1303) AS foo USING UNIQUE gid USING SRID=25832"
+ DATA "wkb_geometry FROM (SELECT gid, name_, bezeichnung, wkb_geometry FROM map_strasse_g3 where widmung=1303) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Bundesstrassen 3'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+   # LABELITEM 'bezeichnung'
+    STATUS ON
+    MINSCALEDENOM 300000
+    MAXSCALEDENOM 1400000
+    CLASS
+       NAME 'Bundesstrasse'
+       STYLE
+         COLOR 197 186 161
+         WIDTH 4
+       END
+       STYLE
+         COLOR 246 245 125
+         WIDTH 2
+       END
+       #LABEL
+       #  TYPE truetype
+       #  FONT verdana
+       #  SIZE 6
+       #  COLOR 0 0 0
+	# BACKGROUNDCOLOR 246 245 125
+	# BACKGROUNDSHADOWCOLOR 197 186 161
+        # BUFFER 1
+	# MINDISTANCE 400
+      # END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Autobahn_0'
+    GROUP 'Autobahnen'
+    TYPE LINE
+    TRANSPARENCY ALPHA
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid, name_, bezeichnung, wkb_geometry FROM map_strasse_g0 WHERE widmung=1301) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Autobahnen 0'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    LABELITEM 'bezeichnung'
+    #LABELMAXSCALEDENOM 500000
+    MAXSCALEDENOM 5000
+    CLASS
+       NAME 'Autobahn'
+       STYLE
+	 #OPACITY 30
+         COLOR 182 85 39
+         WIDTH 10
+       END
+       STYLE
+	 #OPACITY 30
+         COLOR 250 127 113
+         WIDTH 9
+       END
+       LABEL
+         TYPE truetype
+         FONT verdana
+         SIZE 7
+         COLOR 255 255 254
+	 BACKGROUNDCOLOR 0 0 255
+	 BACKGROUNDSHADOWCOLOR 254 254 254
+         BUFFER 1
+	 MINDISTANCE 200
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Autobahn_1'
+    GROUP 'Autobahnen'
+    TYPE LINE
+    TRANSPARENCY ALPHA
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid, name_, bezeichnung, wkb_geometry FROM map_strasse_g1 WHERE widmung=1301) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Autobahnen 1'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    LABELITEM 'bezeichnung'
+  #  LABELMAXSCALEDENOM 500000
+    MINSCALEDENOM 5000
+    MAXSCALEDENOM 50000
+    CLASS
+       NAME 'Autobahn'
+       STYLE
+         COLOR 182 85 39
+         WIDTH 8
+#         ANTIALIAS true
+       END
+       STYLE
+         COLOR 250 127 113
+         WIDTH 6
+#         ANTIALIAS true
+       END
+       LABEL
+         TYPE truetype
+         FONT verdana
+         SIZE 7
+         COLOR 255 255 254
+       #  BACKGROUNDCOLOR 250 127 113 
+         BACKGROUNDCOLOR 0 0 255
+	 BACKGROUNDSHADOWCOLOR 254 254 254
+         BUFFER 1
+	 MINDISTANCE 200
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Autobahn_2'
+    GROUP 'Autobahnen'
+    TYPE LINE
+    TRANSPARENCY ALPHA
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid, name_, bezeichnung, wkb_geometry FROM map_strasse_g2 where widmung=1301) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Autobahnen 2'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    LABELITEM 'bezeichnung'
+  #  LABELMAXSCALEDENOM 500000
+    MINSCALEDENOM 50000
+    MAXSCALEDENOM 300000
+    CLASS
+       NAME 'Autobahn'
+       STYLE
+         COLOR 182 85 39
+         WIDTH 6
+#         ANTIALIAS true
+       END
+       STYLE
+         COLOR 250 127 113
+         WIDTH 4
+#         ANTIALIAS true
+       END
+       LABEL
+         TYPE truetype
+         FONT verdana
+         SIZE 7
+         COLOR 255 255 254
+	 BACKGROUNDCOLOR 0 0 255
+	 BACKGROUNDSHADOWCOLOR 254 254 254
+      #   BACKGROUNDCOLOR 250 127 113
+	 BUFFER 1
+	 MINDISTANCE 200
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'Autobahn_3'
+    GROUP 'Autobahnen'
+    TYPE LINE
+    TRANSPARENCY ALPHA
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry FROM (SELECT gid, name_, bezeichnung, wkb_geometry FROM map_strasse_g3 where widmung=1301) AS foo USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Autobahnen 3'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    LABELITEM 'bezeichnung'
+    LABELMAXSCALEDENOM 1000000
+    MINSCALEDENOM 300000
+    MAXSCALEDENOM 4000000
+    CLASS
+       NAME 'Autobahn'
+       STYLE
+         COLOR 182 85 39
+         WIDTH 4
+#         ANTIALIAS true
+       END
+       STYLE
+         COLOR 250 127 113
+         WIDTH 2
+#         ANTIALIAS true
+       END
+       LABEL
+         TYPE truetype
+         FONT verdana
+         SIZE 7
+#ANTIALIAS true
+         COLOR 255 255 254
+	 BACKGROUNDCOLOR 0 0 255
+	 BACKGROUNDSHADOWCOLOR 254 254 254
+         BUFFER 1
+	 MINDISTANCE 200
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'bahn_00'
+    GROUP 'Bahn'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_bahn_g0 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Bahn 0'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MAXSCALEDENOM 5000
+   # CLASS
+    #   NAME 'Bahn' 
+     #  STYLE
+CLASS
+NAME 'Bahn'
+  STYLE
+    #COLOR 102 102 102
+    COLOR 0 0 0
+    SYMBOL 'punkt'
+    SIZE 4
+  END
+  STYLE
+    COLOR 255 255 255
+    SYMBOL 'bahn'
+    SIZE 2
+  END
+END
+
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'bahn_01'
+    GROUP 'Bahn'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_bahn_g1 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Bahn 1'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 5000
+    MAXSCALEDENOM 50000
+   # CLASS
+   #    NAME 'Bahn' 
+    #   STYLE
+    #     SYMBOL "punkt"
+    #     SIZE 2
+     #    COLOR 50 50 50
+     #    WIDTH 2
+     #  END
+   # END
+CLASS
+NAME 'Bahn'
+  STYLE
+    #COLOR 102 102 102
+    COLOR 0 0 0
+    SYMBOL 'punkt'
+    SIZE 4
+  END
+  STYLE
+    COLOR 255 255 255
+    SYMBOL 'bahn'
+    SIZE 2
+  END
+END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'bahn_02'
+    GROUP 'Bahn'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from map_bahn_g2 USING UNIQUE gid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Bahn 2'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 50000
+    MAXSCALEDENOM 300000
+    CLASS
+      NAME 'Bahn'
+      STYLE
+        COLOR 102 102 102
+        SYMBOL 'punkt'
+        SIZE 4
+      END
+      STYLE
+        COLOR 255 255 255
+        SYMBOL 'bahn'
+        SIZE 2
+      END
+    END
+  END
+
+
+  
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'orte_1'
+    GROUP 'Ortschaften'
+    TYPE POINT
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=geoportal_latin host=localhost port=5432"
+    DATA" the_geom FROM (SELECT gid,name_gn,the_geom,att_ewz_int FROM gemeinde_punkte where att_ewz_int<1000) AS foos USING UNIQUE gid USING SRID=31466"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Orte 1'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+ PROJECTION
+    'init=epsg:31466'
+  END
+    STATUS ON
+    MINSCALEDENOM 50000
+    MAXSCALEDENOM 150000
+    LABELMINSCALEDENOM 50000
+    LABELITEM 'name_gn'
+    CLASS
+       NAME '<1000 EW' 
+       STYLE
+         SYMBOL 'punkt'
+         SIZE 7
+         COLOR 255 255 254
+         OUTLINECOLOR 0 0 0
+       END
+       LABEL
+         ENCODING 'UTF8'
+         TYPE truetype
+         FONT verdana
+         SIZE 8
+         COLOR 50 50 50
+         OUTLINECOLOR 255 255 254
+         POSITION auto
+         MINDISTANCE 80
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'orte_2'
+    GROUP 'Ortschaften'
+    TYPE POINT
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=geoportal_latin host=localhost  port=5432"
+    DATA" the_geom FROM (SELECT gid,name_gn,the_geom,att_ewz_int FROM gemeinde_punkte where att_ewz_int>999 and att_ewz_int<5000) AS foos USING UNIQUE gid USING SRID=31466"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Orte 2'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+PROJECTION
+    'init=epsg:31466'
+  END
+    STATUS ON
+    MINSCALEDENOM 50000
+    MAXSCALEDENOM 300000
+    LABELMINSCALEDENOM 50000
+    LABELITEM 'name_gn'
+    CLASS
+       NAME '1000 - <5000 EW' 
+       STYLE
+         SYMBOL 'punkt'
+         SIZE 7
+         COLOR 255 255 254
+         OUTLINECOLOR 0 0 0
+       END
+       LABEL
+	ENCODING 'UTF8'
+	 TYPE truetype
+         FONT verdana
+         SIZE 8
+
+ #ENCODING 'UTF8'
+      #   TYPE BITMAP
+      #   SIZE SMALL
+         COLOR 50 50 50
+         OUTLINECOLOR 255 255 254
+         POSITION auto
+	 MINDISTANCE 80
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'orte_3'
+    GROUP 'Ortschaften'
+    TYPE POINT
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=geoportal_latin host=localhost  port=5432" #Daten aus Postgis-Datenbank
+    DATA" the_geom FROM (SELECT gid, name_gn, the_geom, att_ewz_int FROM gemeinde_punkte where att_ewz_int>4999 and att_ewz_int<10000) AS foos USING UNIQUE gid USING SRID=31466"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Orte 3'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+PROJECTION
+    'init=epsg:31466'
+  END
+    STATUS ON
+    MINSCALEDENOM 50000
+    MAXSCALEDENOM 600000
+    LABELITEM 'name_gn'
+    LABELMINSCALEDENOM 50000
+    CLASS
+       NAME '5000 - <10000 EW' 
+       STYLE
+         SYMBOL 'punkt'
+         SIZE 7
+         COLOR 200 50 50
+         OUTLINECOLOR 0 0 0
+       END
+       LABEL
+	 ENCODING 'UTF8'
+	 TYPE truetype
+         FONT verdana
+         SIZE 9
+#ENCODING 'UTF8'
+        # TYPE BITMAP
+        # SIZE MEDIUM
+         COLOR 50 50 50
+         OUTLINECOLOR 255 255 254
+         POSITION auto
+	 MINDISTANCE 80
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'orte_4'
+    GROUP 'Ortschaften'
+    TYPE POINT
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=geoportal_latin host=localhost  port=5432"
+    DATA" the_geom FROM (SELECT gid, name_gn, the_geom, att_ewz_int FROM gemeinde_punkte where att_ewz_int>9999 and att_ewz_int<25000) AS foos USING UNIQUE gid USING SRID=31466"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Orte 4'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+PROJECTION
+    'init=epsg:31466'
+  END
+    STATUS ON
+    MINSCALEDENOM 50000
+    MAXSCALEDENOM 800000
+    LABELITEM 'name_gn'
+    LABELMINSCALEDENOM 50000
+    CLASS
+       NAME '10000 - <25000 EW' 
+       STYLE
+         SYMBOL 'punkt'
+         SIZE 10
+         COLOR 200 0 0
+         OUTLINECOLOR 0 0 0
+       END
+       LABEL
+	 ENCODING 'UTF8'
+	 TYPE truetype
+         FONT verdana
+         SIZE 10
+#ENCODING 'UTF8'
+        # TYPE BITMAP
+        # SIZE MEDIUM
+         COLOR 50 50 50
+         OUTLINECOLOR 255 255 254
+         POSITION auto
+	 ANTIALIAS true
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'orte_5'
+    GROUP 'Ortschaften'
+    TYPE POINT
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=geoportal_latin host=localhost port=5432 "
+    DATA" the_geom FROM (SELECT gid, name_gn, the_geom, att_ewz_int FROM gemeinde_punkte where att_ewz_int>24999 and att_ewz_int<50000) AS foos USING UNIQUE gid USING SRID=31466"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Orte 5'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+PROJECTION
+    'init=epsg:31466'
+  END
+    STATUS ON
+    MINSCALEDENOM 50000
+    MAXSCALEDENOM 1500000
+    LABELITEM 'name_gn'
+    LABELMINSCALEDENOM 50000
+    CLASS
+       NAME '25000 - <50000 EW' 
+       STYLE
+         SYMBOL 'punkt'
+         SIZE 12
+         COLOR 200 0 0
+         OUTLINECOLOR 0 0 0
+       END
+       STYLE
+         SYMBOL 'punkt'
+         SIZE 5
+         COLOR 0 0 0
+       END
+       LABEL
+ANTIALIAS true
+	 #ENCODING 'UTF8'
+         #TYPE BITMAP
+         #SIZE MEDIUM
+ENCODING 'UTF8'
+	 TYPE truetype
+         FONT tahomabold
+         SIZE 9
+         COLOR 50 50 50
+         OUTLINECOLOR 255 255 254
+         POSITION auto
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'orte_6'
+    GROUP 'Ortschaften'
+    TYPE POINT
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=geoportal_latin host=localhost port=5432"
+    DATA" the_geom FROM (SELECT gid, name_gn, the_geom, att_ewz_int FROM gemeinde_punkte where att_ewz_int>49999 and att_ewz_int<85000) AS foos USING UNIQUE gid USING SRID=31466"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Orte 6'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+PROJECTION
+    'init=epsg:31466'
+  END
+    STATUS ON
+    MINSCALEDENOM 40000
+    MAXSCALEDENOM 1500000
+    LABELITEM 'name_gn'
+    LABELMINSCALEDENOM 50000
+    CLASS
+       NAME '50000 - <85000 EW' 
+       STYLE
+         SYMBOL 'quadrat'
+         SIZE 10
+         COLOR 200 0 0
+         OUTLINECOLOR 0 0 0
+       END
+       LABEL
+ANTIALIAS true
+ENCODING 'UTF8'
+	 TYPE truetype
+         FONT tahomabold
+         SIZE 10
+	 #ENCODING 'UTF8'
+         #TYPE BITMAP
+         #SIZE MEDIUM
+         COLOR 50 50 50
+         OUTLINECOLOR 255 255 254
+         POSITION auto
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'orte_7'
+    GROUP 'Ortschaften'
+    TYPE POINT
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=geoportal_latin host=localhost"
+    DATA" the_geom FROM (SELECT gid,name_gn,the_geom,att_ewz_int FROM gemeinde_punkte where att_ewz_int>84999) AS foos USING UNIQUE gid USING SRID=31466"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Orte 7'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+PROJECTION
+    'init=epsg:31466'
+  END
+    STATUS ON
+    MINSCALEDENOM 50000
+    LABELITEM 'name_gn'
+    LABELMINSCALEDENOM 40000
+    CLASS
+       NAME '>85000 EW' 
+       STYLE
+         SYMBOL 'quadrat'
+         SIZE 13
+         COLOR 200 0 0
+         OUTLINECOLOR 0 0 0
+       END
+       STYLE
+         SYMBOL 'quadrat'
+         SIZE 5
+         COLOR 0 0 0
+       END
+       LABEL
+	ANTIALIAS true
+	 ENCODING 'UTF8'
+	 TYPE truetype
+         FONT tahomabold
+         SIZE 11
+         COLOR 50 50 50
+         OUTLINECOLOR 255 255 254
+         POSITION auto
+       END
+    END
+  END
+
+#----------------------------------------------------------------------
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'schutzhuette_0'
+    GROUP 'Ortschaften'
+    TYPE POINT
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from (select wkb_geometry, ogc_fid from ax_gebaeude where gebaeudefunktion=3281) as foo USING UNIQUE ogc_fid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Schutzhuetten 0'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    #MINSCALEDENOM 10001
+    MAXSCALEDENOM 10001
+    CLASS
+      NAME 'Schutzhuette'
+      STYLE
+       SYMBOL "schutzhuette"
+       COLOR 220 220 220
+       OUTLINECOLOR 1 1 1
+       #WIDTH 4
+       SIZE 25
+      END
+END
+  END
+
+
+
+#----------------------------------------------------------------------
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'schutzhuette_1'
+    GROUP 'Ortschaften'
+    TYPE POINT
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from (select wkb_geometry, ogc_fid from ax_gebaeude where gebaeudefunktion=3281) as foo USING UNIQUE ogc_fid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Schutzhuetten 1'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MINSCALEDENOM 10001
+    MAXSCALEDENOM 35000
+    CLASS
+      NAME 'Schutzhuette'
+      STYLE
+       SYMBOL "schutzhuette"
+       COLOR 1 1 1
+       #OUTLINECOLOR 1 1 1
+       #WIDTH 4
+       SIZE 18
+      END
+END
+  END
+
+
+
+#----------------------------------------------------------------------
+
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'ax_leitung'
+    GROUP 'Leitungen'
+    TYPE LINE
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from (select wkb_geometry, ogc_fid from ax_leitung) as foo USING UNIQUE ogc_fid USING SRID=25832"
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Leitungen'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+  
+    MAXSCALEDENOM 50000
+    CLASS
+      NAME 'Leitungen'
+      STYLE
+       COLOR 150 150 150
+       #OUTLINECOLOR 1 1 1
+       WIDTH 1
+      END
+END
+  END
+
+
+
+#----------------------------------------------------------------------
+#----------------------------------------------------------------------
+
+  LAYER
+    NAME 'leitungsmasten'
+    GROUP 'Leitungen'
+    TYPE POINT
+    CONNECTIONTYPE postgis
+    CONNECTION "user=postgres dbname=atkis2 host=localhost port=5434"
+    DATA "wkb_geometry from (select wkb_geometry, ogc_fid from ax_bauwerkoderanlagefuerindustrieundgewerbe where bauwerksfunktion=1251) as foo USING UNIQUE ogc_fid USING SRID=25832"
+    #TODO set index!
+    PROCESSING "CLOSE_CONNECTION=DEFER"
+    METADATA
+      'wms_title' 	'Oberleitungsmast'
+      'wms_srs'   	'EPSG:31466 EPSG:31467 EPSG:25832 EPSG:4326 EPSG:4258'
+      'wms_abstract' 	'Digitales Landschaftsmodell'
+      'ows_keywordlist' 'DLM,Landschaftsmodell,Atkis'
+      'wms_extent' 	'290000 5420000 466000 5648000' 
+    END
+    STATUS ON
+    MAXSCALEDENOM 50000
+    CLASS
+      NAME 'Leitungsmast'
+      STYLE
+       SYMBOL "strommast"
+       COLOR 150 150 150
+       #OUTLINECOLOR 1 1 1
+       #WIDTH 4
+       SIZE 10
+      END
+    END
+  END
+
+
+
+#----------------------------------------------------------------------
+
+
+#----------------------------------------------------------------------
+#----------------------------------------------------------------------
+
+END
Index: branches/0.7/umn/alkis/include/meta_contact.map
===================================================================
--- branches/0.7/umn/alkis/include/meta_contact.map	(revision 329)
+++ branches/0.7/umn/alkis/include/meta_contact.map	(revision 329)
@@ -0,0 +1,13 @@
+ows_contactperson "F. Jaeger"
+ows_contactinformation "PostNAS"
+ows_contactorganization "PostNAS"
+ows_contactposition "PostNAS"
+ows_contactelectronicmailaddress "urbi@orbi"
+#ows_contactfacsimiletelephone ""
+ows_contactvoicetelephone ""
+ows_addresstype "postal"
+ows_address "Alkisweg 99"
+ows_city "Lemgo"
+ows_stateorprovince "NRW"
+ows_postcode "32657"
+ows_country "Germany"
Index: branches/0.7/umn/alkis/cgi-bin/alkis.xml
===================================================================
--- branches/0.7/umn/alkis/cgi-bin/alkis.xml	(revision 329)
+++ branches/0.7/umn/alkis/cgi-bin/alkis.xml	(revision 329)
@@ -0,0 +1,3 @@
+#!/bin/sh
+export MS_MAPFILE=/data/umn/alkis/alkis_muster.map
+exec /data/www/cgi-bin/mapserv
Index: branches/0.7/umn/alkis/symbols/symbols_alkis.sym
===================================================================
--- branches/0.7/umn/alkis/symbols/symbols_alkis.sym	(revision 329)
+++ branches/0.7/umn/alkis/symbols/symbols_alkis.sym	(revision 329)
@@ -0,0 +1,59 @@
+SYMBOLSET
+# symbols_ALKIS.sym
+# http://www.bezreg-koeln.nrw.de/extra/33alkis/dokumente/adv_alkis_dokumentation_41/AAA_GeoInfoDok_6-0_20080411/ALKIS-SK_6-0/sk_teil_b_6_0_Signaturenbibliothek.pdf
+
+# krz 22.12.2011 - Mapserver 6.0.1 (PATTERN in Map/Class)
+
+# Mapserver 6.0: 
+# http://www.mapserver.org/de/MIGRATION_GUIDE.html#mapserver-5-6-to-6-0-migration
+
+# The following parameters/keywords have been moved from SYMBOL to STYLE:
+#  PATTERN POSITION GAP LINECAP LINEJOIN LINEJOINMAXSIZE
+# The SYMBOL TYPE cartoline has been removed.
+
+SYMBOL
+	NAME "point"
+	TYPE ellipse
+	FILLED TRUE
+	POINTS 1 1 END
+END
+
+SYMBOL
+	NAME "hatch"
+	TYPE HATCH
+END
+
+SYMBOL
+	NAME "quadrate"
+	TYPE VECTOR
+	POINTS 0 0 0 1 1 1 1 0 0 0 END
+END
+
+SYMBOL
+	NAME 'filler' # Dummy-Füllung
+	TYPE vector
+	POINTS -99 -99 15 15 -99 -99 END
+END
+
+# sn = SymbolNummer laut GeoInfoDok
+SYMBOL
+	NAME 'sn3631' # Flurbereinigung
+	TYPE vector
+	POINTS
+		-99 -99
+		14 14 15 15
+		-99 -99
+	END
+END
+
+SYMBOL
+	NAME "sn3703" # Grabloch Bodensch.
+	TYPE vector
+	POINTS
+	0 1 1 0
+	-99 -99
+	0 0 1 1
+	END
+END
+
+END
Index: branches/0.7/umn/alkis/fonts/fonts_alkis.fnt
===================================================================
--- branches/0.7/umn/alkis/fonts/fonts_alkis.fnt	(revision 329)
+++ branches/0.7/umn/alkis/fonts/fonts_alkis.fnt	(revision 329)
@@ -0,0 +1,8 @@
+arial				arial.ttf
+arialkursiv			ariali.ttf
+arialnarrow			arialn.ttf
+arialnarrowkursiv	arialni.ttf
+arialbold			arialbd.ttf
+kursivlinks			velk.ttf
+alkis_textsymbols	alkis_textsymbols.ttf
+times				times.ttf
Index: branches/0.7/umn/alkis/fskomrlp.map
===================================================================
--- branches/0.7/umn/alkis/fskomrlp.map	(revision 329)
+++ branches/0.7/umn/alkis/fskomrlp.map	(revision 329)
@@ -0,0 +1,75 @@
+MAP # 2013-11-26 FlurstÃŒcke im Kommunalen Eigentum - Ortsgemeinde Osann-Monzel
+	NAME "fskomrlp"
+	STATUS ON
+	EXTENT 349000 5529000 356000 5533000
+	PROJECTION "init=epsg:25832" END
+	MAXSIZE 2100
+	FONTSET "/opt/gdi/fonts/arial.fnt"
+	UNITS METERS
+	WEB
+		METADATA
+			wms_title "FlurstÃŒcke kommunal"
+			wms_abstract "FlurstÃŒcke der Gemeinde HÃŒllhorst aus ALKIS"
+			wms_srs "EPSG:31467 EPSG:4326 EPSG:25832 EPSG:54004"
+			wms_encoding "UTF-8"
+			wms_onlineresource "http://ows.krz.de/cgi-bin/mapserv62?map=/opt/gdi/wms/fskomrlp.map"
+			wms_feature_info_mime_type "text/html"
+			wms_keywordlist "ALKIS,FlurstÃŒck"
+			wms_fees "none"
+			wms_accessconstraints "fÃŒr den Dienstgebrauch"
+			wms_enable_request "*"
+			wms_box_extended "true"
+			include "meta600fj.map"
+		END
+	END
+	LEGEND
+		STATUS ON
+		KEYSIZE 32 16
+		KEYSPACING 5 5
+		TRANSPARENT ON
+		LABEL
+			TYPE TRUETYPE
+			FONT 'arial'
+			SIZE 9
+			COLOR 1 1 1
+		END
+	END
+	LAYER
+		NAME "st_flurst"
+		TYPE POLYGON
+		CONNECTIONTYPE POSTGIS
+		CONNECTION "host=10.0.100.73 dbname=alkis07rlp user=ms6 port=5432"
+		PROCESSING "CLOSE_CONNECTION=DEFER"
+		DATA "wkb_geometry from st_flurst using SRID=25832 using unique gml_id"
+		METADATA
+			wms_srs "EPSG:31467 EPSG:4326 EPSG:25832 EPSG:54004"
+			wms_title "FlÃ€che"
+			wms_abstract "FlÃ€chen der FlurstÃŒcke mit (Teil-) EigentÃŒmer Gemeinde oder Recht der Gemeinde am FlurstÃŒck."
+		END
+		MINSCALEDENOM 50
+		MAXSCALEDENOM 12000
+		SYMBOLSCALEDENOM 1000
+		CLASSITEM ba_dien # Buchungsart dienend
+		CLASS
+			EXPRESSION "0"
+			NAME "Eigentum"
+			STYLE
+				COLOR 250 180 0 OPACITY 20
+			END
+			STYLE
+				OUTLINECOLOR 200 60 0
+				WIDTH 1.2 MINWIDTH 0.8 MAXWIDTH 2.2
+			END
+		END
+		CLASS
+			NAME "Recht an .."
+			STYLE
+				COLOR 240 90 60 OPACITY 20
+			END
+			STYLE
+				OUTLINECOLOR 250 20 0
+				WIDTH 1.2 MINWIDTH 0.8 MAXWIDTH 2.2
+			END
+		END
+	END
+END
Index: branches/0.7/umn/alkis/ReadMe.txt
===================================================================
--- branches/0.7/umn/alkis/ReadMe.txt	(revision 329)
+++ branches/0.7/umn/alkis/ReadMe.txt	(revision 329)
@@ -0,0 +1,44 @@
+Diese ReadMe-Datei soll Sie auf die zu Ã€ndernden Parameter 
+hinweisen die umgebungsspezifisch gesetzt werden mÃŒssen.
+
+Anmerkung:
+Voraussetzung ist ein UMN MapServer ab der Version 6.2 
+
+Umgebungsanpassungen:
+
+#######################
+# /data/umn/alkis/alkis_muster.map #
+#######################
+
+1. Die ONLINERESOURCEN mÃŒssen auf das eigene System umgestellt werden. 
+- wms_onlineresource "..."
+
+2. Der EXTENT (Ausdehnung) ist auf die Geodaten anzupassen, 
+ggf. muss auch der Parameter UNIT verÃ€ndert werden.   
+- EXTENT <Xmin> <Ymin> <Xmax> <Ymax>
+- UNITS <Einheit>
+
+
+####################################################################################
+# Layer
+####################################################################################
+
+1.  Der CONNECTION-String zu der Datenbank ist anzupassen.
+- CONNECTION "host=<IP> dbname=<Datenbankname> user=<datenbankuser>"
+
+
+  
+######################################################
+# /data/umn/alkis/cgi-bin/alkis.xml #
+######################################################
+1. Die Datei ist ausfÃŒhrbar zu machen
+2. In der Datei ist der Pfad zum Mapfile und UMN-MapServer zu setzen:
+- export MS_MAPFILE=<Pfad_zum_Mapfile>
+- exec <Pfad_zum_UMN-MapServer>
+
+Test-Aufruf: http://localhost/cgi-bin/alkis.xml?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.1.1
+
+Mehr Informationen unter (u.a. Windows):
+ http://mapserver.gis.umn.edu/docs/howto/wms_server/#more-about-the-online-resource-url
+  
+  
Index: branches/0.7/umn/alkis/alkis_muster_entw.map
===================================================================
--- branches/0.7/umn/alkis/alkis_muster_entw.map	(revision 329)
+++ branches/0.7/umn/alkis/alkis_muster_entw.map	(revision 329)
@@ -0,0 +1,4459 @@
+# WMS: ALKIS PostNAS Muster mit Platzhalter *gkz* fÃŒr Mandant - Entwickler-Version
+#
+# Stand / Historie:
+# 2012-02-09 F.J. krz  Branch 0.7 aus Version 0.6
+# 2012-02-17 F.J. krz  data dbname=alkis07, Layer-Group pp_gebiete
+# 2012-03-05 F.J. krz  PROCESSING "CLOSE_CONNECTION=DEFER"
+# 2012-04-17 F.J. krz  Tabelle pp_flurstueck_nr ersetzt View s_flurstueck_nr.
+#                      Auch Standard-Position vom Flurstuecksnummern anzeigen
+# 2013-01-23 F.J. krz  ax_flurstueck bis 1:25.000 (fÃŒr MapProxy)
+# 2013-03-05 F.J. krz  Umstellung auf Mapserver 6.2
+#                      Abgleich mit SVN-Version, z.B. kein "SYMBOL 0" mehr in Pol. Grenz.
+#                      Gruppe "Recht" verschoben hinter "Flurstueck" und "Gebiete" hinter "Nutzungsarten"
+#                      Layer FlurstÃŒcksnummer hinter Zuordnungspfeil.
+#                      Logical Expression: [column] und Wert in '' einschlieÃen (Log-Meldung).
+#                      Keine Schraffur auf "GebÃ€ude, graphisch".
+#                      "Laufende Nummer NebengebÃ€ude": kein PrÃ€sentationsobjekt mehr, Anzeige mittig in Geb.-FlÃ€che 
+# 2013-03-11 F.J. krz  Neuer Layer "ax_gebaeude_txt" (Funktion und Name zum GebÃ€ude)
+# 2013-04-18 F.J. krz  Thema (Gruppe) "BodenschÃ€tzung" wurde ÃŒberarbeitet und vor Gruppe "FlurstÃŒcke" verschoben
+# 2013-06-19 F.J. krz  Layer "ax_untergeordnetesgewaesser_polygon"/"*_line" nach Geometrietyp filtern nicht nach funktion
+# 2013-10-16 F.J. krz  FS-Nr dunkler, besser sichtbar auf SW-Drucker.
+# 2013-10-24 F.J. krz  PrÃ€sentation der StraÃennamen aus der Tabelle "pp_strassenname" statt aus dem View "ap_pto_stra".
+#                      Die Tabelle wird im PostProcessing redundant befÃŒllt um schneller darstellen zu kÃ¶nnen.
+# 2014-01-08 F.J. krz  alle Arten von "sonstige Bauwerke" anzeigen (z.B. Carports), auch Linien (neuer Layer)
+# 2014-08-25 F.J. krz  StraÃennamen als P- und L-Variante, hinter "ap_pto_stra" neuer Layer "ap_lto_stra"
+
+###
+# Tipp: Verwenden sie "Map-Trimmer" http://map.krz.de/?Software:Maptrimmer um auskommentierte Bereiche zu entfernen.
+###
+
+# ToDo:
+# - Gebaeude: Layer nach "Name" und "Funktion" auftrennen.
+
+# - neuen Layer "Namen" auf View ap_pto_nam (NAM, ZNM)
+
+# - Bei PrÃ€sentation/Beschriftung die doppelten Texte unterdrÃŒcken (-> View?)
+#   FÃŒr appto_stra und appto_rest bereits erfolgt.
+
+# - Mit Status on/off die gÃ€ngigen Layer vorkonfigurieren?
+
+# - ZuordnungspfeilE FS:
+#   Linie im Druck zu dÃŒnn
+#   Ist doppelt: in "FlurstÃŒck" ("ag_l_flurstueck") und in "PrÃ€sentation/Zuordnungspfeile" ("ap_lpo")
+
+# - Zuordnungspfeile NebengebÃ€ude:
+#   entfÃ€llt? Oder auch fÃŒr Hausnummern verwendet?
+#   Was wird da eigentlich zugeordnet?  Beispiel: 140 am Quellenweg
+
+# - StraÃennamen im Cache abgeschnitten, PARTIALS TRUE?  Beispiel: 250 BrÃŒderweg
+# - Hausnummern doppelt oder mehrfach (z.B. 070: BÃŒrgermeister-Brinkmann-Weg 3)
+# - Template auf GebÃ€ude-Objekt, Auskunft aufrufen?
+
+###
+# Tipp fÃŒr Mapbender 2-Nutzer:
+# Damit bei einem bestehenden WMS nach dem Neu-Hochladen auch die geÃ€nderte Layer-Reihenfolge wirksam wird,
+# sollte in der Mapbender-Datenbank folgendes SQL ausgefÃŒhrt werden:
+#  UPDATE gui_layer g SET gui_layer_priority = (SELECT layer_pos FROM layer l 
+#   WHERE g.fkey_layer_id = l.layer_id AND g.gui_layer_wms_id = l.fkey_wms_id)
+#  WHERE g.gui_layer_wms_id = ___; -- HIER: die ID des WMS einsetzen
+###
+
+###
+# GID = Geo Info Dok
+# Farbangabe  dort "Farbe    - 0      - 0         - 0        - 20     " 
+# das bedeutet:    "Grundton - cyan % - magenta % - yellow % - black %"
+###
+
+MAP
+	NAME "alkis"
+	STATUS ON
+	EXTENT 349000 5529000 356000 5533000
+	PROJECTION "init=epsg:25832" END
+	MAXSIZE 2100
+	SYMBOLSET "symbols/symbols_alkis.sym"
+	FONTSET "fonts/fonts_alkis.fnt"
+	UNITS METERS
+	#CONFIG "MS_ERRORFILE" "/opt/gdi/log/umn.log" # Nur fuer Test
+	#DEBUG 3
+	WEB
+		METADATA
+			wms_title "ALKIS_" # TEST-Kennung im Title
+			ows_abstract "ALKIS - Konverter PostNAS Version 0.7, Mapfile Entwicklungs-Version vom August 2014"
+			ows_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+			ows_encoding "UTF-8"
+			ows_onlineresource "http://ows.krz.de/cgi-bin/mapserv6?map=/opt/gdi/alkis07/alkis07*gkz*a.map"
+			wms_feature_info_mime_type "text/html"
+			wfs_accessconstraints "none"
+			wfs_title "ALKIS"
+			wfs_feature_info_mime_type "text/html"
+			ows_schema_location ".."
+			wfs_geometry_element_name "wkb_geometry"
+			ows_keywordlist "ALKIS,FlurstÃŒck,NAS"
+			ows_fees "none"
+			ows_accessconstraints "fÃŒr den Dienstgebrauch"
+			ows_enable_request "*"
+			wms_box_extended "true"
+			include "meta_contact.map" # individuelle Datei je Katasteramt
+		END
+	END
+	LEGEND
+		STATUS ON
+		KEYSIZE 32 16
+		KEYSPACING 5 5
+		TRANSPARENT ON
+		LABEL
+			TYPE TRUETYPE
+			FONT 'arial'
+			SIZE 9
+			COLOR 1 1 1
+		END
+	END
+
+# ALKIS tatsaechliche Nutzung (Siedlung, Verkehr, GewÃ€sser, Vegetation)
+# alle Layer von GROUP "ax_nutzungen"
+## ** Siedlung **
+## 01 AX_Wohnbauflaeche
+## 02 AX_IndustrieUndGewerbeflaeche
+## 03 AX_Halde
+## 04 AX_Bergbaubetrieb
+## 05 AX_TagebauGrubeSteinbruch
+## 06 AX_FlaecheGemischterNutzung
+## 07 AX_FlaecheBesondererFunktionalerPraegung
+## 08 AX_SportFreizeitUndErholungsflaeche
+## 09 AX_Friedhof
+## ** Verkehr **
+## 10 AX_Strassenverkehr
+## 11 AX_Weg
+## 12 AX_Platz
+## 13 AX_Bahnverkehr
+## 14 AX_Flugverkehr
+## 15 AX_Schiffsverkehr
+## ** Vegetation **
+## 16 AX_Landwirtschaft
+## 17 AX_Wald
+## 18 AX_Gehoelz
+## 19 AX_Heide
+## 20 AX_Moor
+## 21 AX_Sumpf
+##    (AX_UnkultivierteFlaeche)
+## 22 AX_UnlandVegetationsloseFlaeche
+##    (AX_Vegetationsmerkmal)
+## ** GewÃ€sser **
+## 24 AX_Fliessgewaesser
+## 25 AX_Hafenbecken
+## 26 AX_StehendesGewaesser
+## 27 (AX_Meer)
+
+# Der Layer "nutzung_alle" wird gefuettert aus der Tabelle "nutzung".
+# "nutzung" wird nicht von PostNAS gefuellt sondern nach jeder Konvertierung als Optimierung aus vielen verschiedenen Tabellen zusammen gefasst.
+# Dieser Layer soll hauptsaechlich fuer das Generieren (Seeding) des NUA-Layers im MapProxy verwendet werden.
+# Dieser Layer wird als WFS konfiguriert.
+# Die WFS auf die anderen (einzelnen) NUA-Layer werden deaktiviert.
+LAYER
+	NAME "nutzung_alle"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT gml_id, nutz_id, class, wkb_geometry FROM nutzung) as foo using unique gml_id using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "alle Nutzungsarten"
+		wms_abstract "Zusammenfassung aller Nutzungsarten-FlÃ€chen"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 20000 # die Einzel-Layer bis 10T
+	CLASSITEM nutz_id
+	# ** Siedlung **
+	CLASS
+		EXPRESSION '1'
+		NAME "WohnbauflÃ€che"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '2'
+		NAME "Industrie- und GewerbeflÃ€che"
+		STYLE
+			COLOR 237 237 237
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '3'
+		NAME "Halde"
+		STYLE
+			COLOR 237 237 237
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '4'
+		NAME "Bergbaubetrieb"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '5'
+		NAME "Tagebau Grube Steinbruch"
+		STYLE
+			COLOR 227 227 227
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '6'
+		NAME "FlÃ€che gemischter Nutzung"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '7'
+		NAME "FlÃ€che besonderer funktionaler PrÃ€gung"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '8'
+		NAME "Sport-, Freizeit- und ErholungsflÃ€che"
+		STYLE
+			COLOR 224 255 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '9'
+		NAME "Friedhof"
+		STYLE
+			COLOR 201 228 201
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	# ** Verkehr ** nutzung.class = ax_Strassenverkehr.function
+	CLASS
+		NAME "FuÃgÃ€ngerzone"
+		EXPRESSION ('[nutz_id]' = '10' and '[class]' = '5130')
+		STYLE
+			COLOR 217 255 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "VerkehrsbegleitflÃ€che StraÃe"
+		EXPRESSION ('[nutz_id]' = '10' and '[class]' = '2312')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "StraÃenentwÃ€sserungsanlage"
+		EXPRESSION ('[nutz_id]' = '10' and '[class]' = '2313')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude- und FreiflÃ€che zu Verkehrsanlagen, StraÃe"
+		EXPRESSION ('[nutz_id]' = '10' and '[class]' = '2311')
+		STYLE
+			COLOR 200 200 200
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '10'
+		NAME "StraÃenverkehr"
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '11'
+		NAME "Weg"
+		STYLE
+			COLOR 250 250 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "FuÃgÃ€ngerzone (Platz)"
+		EXPRESSION ('[nutz_id]' = '12' and '[class]' = '5130')
+		STYLE
+			COLOR 217 247 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '12'
+		NAME "Platz"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '13'
+		NAME "Bahnverkehr"
+		STYLE
+			COLOR 250 250 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '14'
+		NAME "Flugverkehr"
+		STYLE
+			COLOR 221 236 197
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '15'
+		NAME "Schiffsverkehr" 
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	# ** Vegetation **
+	# AX_Landwirtschaft=16, class=vegetationsmerkmal
+	CLASS
+		NAME "Ackerland, Streuobstacker, Hopfen und Spargel"
+		EXPRESSION ('[nutz_id]' = '16' and '[class]' < '1020')
+		STYLE
+			COLOR 255 247 191
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "GrÃŒnland, Streuobstwiese, Gartenland, Baumschule, Weingarten, Obstplantage, Obstbaumplantage und Obststrauchplantage"
+		EXPRESSION ('[nutz_id]' = '16' and '1019' < '[class]' AND '[class]' < '1199')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "Brachland"
+		EXPRESSION ('[nutz_id]' = '16' and '1199' < '[class]')
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '17'
+		NAME "Wald"
+		STYLE
+			COLOR 251 255 251
+			OUTLINECOLOR 0 255 0
+		END
+	END
+	CLASS
+		EXPRESSION '18'
+		NAME "GehÃ¶lz"
+		STYLE
+			COLOR 187 222 201
+			OUTLINECOLOR  153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '19'
+		NAME "Heide"
+		STYLE
+			COLOR 230 215 207
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '20'
+		NAME "Moor"
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '21'
+		NAME "Sumpf"
+		STYLE
+			COLOR 230 215 207
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '22'
+		NAME "Unland, vegetationslose FlÃ€che"
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	#CLASS
+	#	EXPRESSION 23
+	#	NAME "Vegetationsmerkmal" ??
+	#	STYLE
+	#		OUTLINECOLOR 0 255 0
+	#	END
+	#END
+	# ** GewÃ€sser **
+	CLASS
+		EXPRESSION '24'
+		NAME "FlieÃgewÃ€sser"
+		STYLE
+			COLOR 190 233 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '25'
+		NAME "Hafenbecken"
+		STYLE
+			COLOR 230 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS
+		EXPRESSION '26'
+		NAME "stehendes GewÃ€sser"
+		STYLE
+			COLOR 190 233 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	# '27' = Meer
+END
+
+## ** Siedlung **
+LAYER
+	NAME "ax_wohnbauflaeche"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]" # nicht doppelt
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_wohnbauflaeche) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "WohnbauflÃ€che"
+		wms_abstract "'WohnbauflÃ€che' ist eine baulich geprÃ€gte FlÃ€che einschlieÃlich der mit ihr im Zusammenhang stehenden FreiflÃ€chen (z.B. VorgÃ€rten, ZiergÃ€rten, Zufahrten, StellplÃ€tze und HofraumflÃ€chen), die ausschlieÃlich oder vorwiegend dem Wohnen dient."
+		wms_group_title "Nutzung"
+		wms_group_abstract "ALKIS tatsÃ€chliche Nutzung (Siedlung, Verkehr, GewÃ€sser, Vegetation)"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "WohnbauflÃ€che"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_industrieundgewerbeflaeche"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_industrieundgewerbeflaeche) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Industrie- und GewerbeflÃ€che"
+		wms_abstract "'Industrie- und GewerbeflÃ€che' ist eine FlÃ€che, die vorwiegend industriellen oder gewerblichen Zwecken dient."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'funktion'
+	CLASS
+		NAME "Industrie- und GewerbeflÃ€che"
+		#EXPRESSION ('999' < '[funktion]')
+		STYLE
+			COLOR 237 237 237
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_halde"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry  FROM ax_halde) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Halde"
+		wms_abstract "Halde"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Halde"
+		STYLE
+			COLOR 237 237 237
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER 
+	NAME "ax_bergbaubetrieb"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_bergbaubetrieb) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bergbaubetrieb"
+		wms_abstract "'Bergbaubetrieb' ist eine FlÃ€che, die fÃŒr die FÃ¶rderung des Abbaugutes unter Tage genutzt wird."
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASS
+		NAME "Bergbaubetrieb"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_tagebaugrubesteinbruch"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_tagebaugrubesteinbruch) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Tagebau, Grube, Steinbruch"
+		wms_abstract "Tagebau, Grube, Steinbruch"
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Tagebau Grube Steinbruch"
+		STYLE
+			COLOR 227 227 227
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_flaechegemischternutzung"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_flaechegemischternutzung) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlÃ€che gemischter Nutzung"
+		wms_abstract "'FlÃ€che gemischter Nutzung' ist eine bebaute FlÃ€che einschlieÃlich der mit ihr im Zusammenhang stehenden FreiflÃ€che (HofraumflÃ€che, Hausgarten), auf der keine Art
+der baulichen Nutzung vorherrscht. Solche FlÃ€chen sind insbesondere lÃ€ndlich-dÃ¶rflich geprÃ€gte FlÃ€chen mit land- und forstwirtschaftlichen Betrieben, WohngebÃ€uden u.a.
+sowie stÃ€dtisch geprÃ€gte Kerngebiete mit Handelsbetrieben und zentralen Einrichtungen fÃŒr die Wirtschaft und die Verwaltung."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASS
+		NAME "FlÃ€che gemischter Nutzung"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_flaechebesondererfunktionalerpraegung"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_flaechebesondererfunktionalerpraegung) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlÃ€che besonderer funktionaler PrÃ€gung"
+		wms_abstract "'FlÃ€che besonderer funktionaler PrÃ€gung' ist eine baulich geprÃ€gte FlÃ€che einschlieÃlich der mit ihr im Zusammenhang stehenden FreiflÃ€che, auf denen vorwiegend GebÃ€ude und/oder Anlagen zur ErfÃŒllung Ã¶ffentlicher Zwecke oder historische Anlagen vorhanden sind."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASS
+		NAME "FlÃ€che besonderer funktionaler PrÃ€gung"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_sportfreizeitunderholungsflaeche"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_sportfreizeitunderholungsflaeche) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sport-, Freizeit- und ErholungsflÃ€che"
+		wms_abstract "'Sport-, Freizeit- und ErholungsflÃ€che' ist eine bebaute oder unbebaute FlÃ€che, die dem Sport, der Freizeitgestaltung oder der Erholung dient."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'funktion'
+	CLASS
+		NAME "Sport-, Freizeit- und ErholungsflÃ€che"
+		STYLE
+			COLOR 224 255 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_friedhof"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_friedhof) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Friedhof"
+		wms_abstract "Friedhof"
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 15000
+	#CLASSITEM 'funktion'
+	CLASS
+		NAME "Friedhof"
+		STYLE
+			COLOR 201 228 201
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+## ** Verkehr **
+LAYER
+	NAME "ax_strassenverkehr"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_strassenverkehr) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "StraÃenverkehr"
+		wms_abstract "'StraÃenverkehr' umfasst alle fÃŒr die bauliche Anlage StraÃe erforderlichen sowie dem StraÃenverkehr dienenden bebauten und unbebauten FlÃ€chen."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'funktion'
+	CLASS
+		NAME "FuÃgÃ€ngerzone"
+		EXPRESSION ('[funktion]' = '5130')
+		STYLE
+			COLOR 217 255 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "VerkehrsbegleitflÃ€che StraÃe"
+		EXPRESSION ('[funktion]' < '2312')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "StraÃenentwÃ€sserungsanlage"
+		EXPRESSION ('[funktion]' < '2313')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude- und FreiflÃ€che zu Verkehrsanlagen, StraÃe" #nicht im SK
+		EXPRESSION ('[funktion]' = '2311')
+		STYLE
+			COLOR 200 200 200
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "StraÃenverkehr" #nicht im SK
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_weg"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_weg) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Weg"
+		wms_abstract "Weg"
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Weg" #sn2515
+		STYLE
+			COLOR 250 250 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_platz"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_platz) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Platz"
+		wms_abstract " 'Platz' ist eine VerkehrsflÃ€che in Ortschaften oder eine ebene, befestigte oder unbefestigte FlÃ€che, die bestimmten Zwecken dient (z. B. fÃŒr Verkehr, MÃ€rkte, Festveranstaltungen)."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'funktion'
+	CLASS
+		NAME "FuÃgÃ€ngerzone (Platz)"
+		EXPRESSION ('[funktion]' = '5130')
+		STYLE
+			COLOR 217 247 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "Platz"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_bahnverkehr"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_bahnverkehr) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bahnverkehr"
+		wms_abstract "Bahnverkehr"
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	#CLASSITEM 'funktion'
+	CLASS
+		NAME "Bahnverkehr"
+		STYLE
+			COLOR 250 250 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_flugverkehr"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_flugverkehr) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Flugverkehr"
+		wms_abstract "Flugverkehr"
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	#CLASSITEM 'funktion'
+	CLASS
+		NAME "Flugverkehr"
+		STYLE
+			COLOR 221 236 197
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_schiffsverkehr"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_schiffsverkehr) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Schiffsverkehr"
+		wms_abstract "'Schiffsverkehr' umfasst die baulich geprÃ€gte FlÃ€che und die mit ihr in Zusammenhang stehende FreiflÃ€che, die ausschlieÃlich oder vorwiegend dem Schiffsverkehr dient."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASS
+		NAME "Schiffsverkehr" # sn1544
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+## ** Vegetation **
+LAYER
+	NAME "ax_landwirtschaft"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, vegetationsmerkmal, wkb_geometry FROM ax_landwirtschaft) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Landwirtschaft"
+		wms_abstract "'Landwirtschaft' ist eine FlÃ€che fÃŒr den Anbau von FeldfrÃŒchten sowie eine FlÃ€che,
+die beweidet und gemÃ€ht werden kann, einschlieÃlich der mit besonderen Pflanzen angebauten FlÃ€che. 
+Die Brache, die fÃŒr einen bestimmten Zeitraum (z. B. ein halbes oder ganzes Jahr) landwirtschaftlich unbebaut bleibt, ist als 'Landwirtschaft' bzw. 'Ackerland' zu erfassen."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'vegetationsmerkmal'
+	CLASS
+		NAME "Ackerland, Streuobstacker, Hopfen und Spargel"
+		EXPRESSION ('[vegetationsmerkmal]' < '1020')
+		STYLE
+			COLOR 255 247 191
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "GrÃŒnland, Streuobstwiese, Gartenland, Baumschule, Weingarten, Obstplantage, Obstbaumplantage und Obststrauchplantage"
+		EXPRESSION ('1019' < '[vegetationsmerkmal]' AND '[vegetationsmerkmal]' < '1199')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "Brachland"
+		EXPRESSION ('1199' < '[vegetationsmerkmal]')
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_wald"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_wald) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Wald"
+		wms_abstract "'Wald' ist eine FlÃ€che, die mit Forstpflanzen (WaldbÃ€ume und WaldstrÃ€ucher) bestockt ist."
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Wald"
+		STYLE
+			COLOR 251 255 251
+			OUTLINECOLOR 0 255 0
+		END
+	END
+END
+LAYER
+	NAME "ax_gehoelz"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_gehoelz) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "GehÃ¶lz"
+		wms_abstract "GehÃ¶lz"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "GehÃ¶lz"
+		STYLE
+			COLOR 187 222 201 # 217 255 217
+			OUTLINECOLOR  153 153 153 # 0 255 0
+		END
+	END
+END
+LAYER
+	NAME "ax_heide"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_heide) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Heide"
+		wms_abstract "Heide"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Heide"
+		STYLE
+			COLOR 230 215 207
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+##  AX_Moor
+LAYER
+	NAME "ax_moor"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_moor) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Moor"
+		wms_abstract "Moor ist eine unkultivierte FlÃ€che, deren obere Schicht aus vertorften oder zersetzten Pflanzenresten besteht. Torfstich bzw. TorfabbauflÃ€che wird der Objektart 41005 'Tagebau, Grube, Steinbruch' mit AGT 'Torf' zugeordnet."
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASS
+		NAME "Moor"
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_sumpf"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_sumpf) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sumpf"
+		wms_abstract "Sumpf"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Sumpf"
+		STYLE
+			COLOR 230 215 207
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_unlandvegetationsloseflaeche"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_unlandvegetationsloseflaeche) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Unland"
+		wms_abstract "Unland, vegetationslose FlÃ€che"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Unland, vegetationslose FlÃ€che"
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_vegetationsmerkmal"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_vegetationsmerkmal) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Vegetationsmerkmal"
+		wms_abstract "'Vegetationsmerkmal' beschreibt den zusÃ€tzlichen Bewuchs oder besonderen Zustand einer GrundflÃ€che."
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASS
+		NAME "Vegetationsmerkmal"
+		STYLE
+			OUTLINECOLOR 0 255 0
+		END
+	END
+END
+## ** GewÃ€sser **
+LAYER
+	NAME "ax_fliessgewaesser"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_fliessgewaesser) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlieÃgewÃ€sser"
+		wms_abstract "FlieÃgewÃ€sser"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "FlieÃgewÃ€sser"
+		STYLE
+			COLOR 190 233 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_hafenbecken"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_hafenbecken) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Hafenbecken"
+		wms_abstract "Hafenbecken' ist ein natÃŒrlicher oder kÃŒnstlich angelegter oder abgetrennter Teil eines GewÃ€ssers, in dem Schiffe be- und entladen werden."
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASS
+		NAME "Hafenbecken"
+		STYLE
+			COLOR 230 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+END
+LAYER
+	NAME "ax_stehendesgewaesser"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_stehendesgewaesser) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "stehendes GewÃ€sser"
+		wms_abstract "stehendes GewÃ€sser"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "stehendes GewÃ€sser" #sn2515
+		STYLE
+			COLOR 190 233 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+# AX_Meer fehlt
+### Der Rest gehoert wahrscheinlich nicht zu "Nutzung" sondern zu "Bauwerke & Co." ?
+# Besondere Angaben zum GewÃ€sser
+LAYER
+	NAME "ax_untergeordnetesgewaesser_polygon"
+	#GROUP "ax_untergeordnetesgewaesser"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	#DUMP TRUE
+	# REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_untergeordnetesgewaesser WHERE st_geometrytype(wkb_geometry) = 'ST_Polygon') as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Untergeordnetes GewÃ€sser (FlÃ€chen)"
+		wms_abstract "UntergeordnetesGewaesser' ist ein stehendes oder flieÃendes GewÃ€sser mit untergeordneter Bedeutung."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASSITEM funktion
+	CLASS
+		NAME "Graben"
+		EXPRESSION ('[funktion]' >= '1010' AND '[funktion]' <= '1013')
+		STYLE
+			COLOR 227 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS # ToDo: Klassen differenzieren? nach Farbe?
+		NAME "Fleet"
+		EXPRESSION '1020'
+		STYLE
+			COLOR 227 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS
+		NAME "Bach"
+		EXPRESSION '1030'
+		STYLE
+			COLOR 227 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS
+		NAME "Teich"
+		EXPRESSION '1040'
+		STYLE
+			COLOR 227 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+END
+# SQL: SELECT DISTINCT funktion, st_geometrytype(wkb_geometry) FROM ax_untergeordnetesgewaesser;
+#  "ST_Polygon"    1010;1030;1040;
+#  "ST_LineString" 1010;1030;
+# 'Funktion' ist die objektiv erkennbare Art von 'UntergeordnetesGewaesser'.
+# Graben=1010; Grabenkante,rechts=1011; Grabenkante,links=1012; Grabenmitte=1013
+# Fleet=1020
+# Bach=1030
+# Teich=1040
+LAYER
+	NAME "ax_untergeordnetesgewaesser_line"
+	GROUP "ax_nutzungen"
+	TYPE LINE
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_untergeordnetesgewaesser WHERE st_geometrytype(wkb_geometry) = 'ST_LineString') as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Untergeordnetes GewÃ€sser (Line)"
+		wms_abstract "UntergeordnetesGewaesser' ist ein stehendes oder flieÃendes GewÃ€sser mit untergeordneter Bedeutung."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASSITEM funktion
+	CLASS
+		NAME "Graben"
+		EXPRESSION ('[funktion]' >= '1010' AND '[funktion]' <= '1013')
+		STYLE
+			COLOR 0 204 204
+		END
+	END
+	CLASS # ToDo: Klassen differenzieren? nach Farbe?
+		NAME "Fleet"
+		EXPRESSION '1020'
+		STYLE
+			COLOR 0 204 204
+		END
+	END
+	CLASS
+		NAME "Bach"
+		EXPRESSION '1030'
+		STYLE
+			COLOR 0 204 204
+		END
+	END
+	#CLASS
+	#	NAME "Teich"
+	#	EXPRESSION '1040'
+	#	STYLE
+	#		COLOR 0 204 204
+	#	END
+	#END
+END
+
+# ** aus Post-Processing: Katasterbezirke
+# Die Layer dieser Gruppe nur anzeigen lassen, wenn der Inhalt der Datenbank einen ganzen Katasterbezirk enthÃ€lt.
+# Wenn ein Gebiet durch geometrische Filter im NBA ausgegeben wurde, dann gibt es Randstreifen, 
+# die zu Pseudo-Fluren zusammen gefasst werden. Fachlich falsch!
+LAYER
+	NAME "pp_flur"
+	GROUP "pp_gebiete"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "the_geom from (SELECT gid, gemarkung, flurnummer, the_geom FROM pp_flur) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_title "Flur"
+		wms_abstract "Katasterbezirk Flur, FlÃ€che durch Zusammenfassen der FlurstÃŒcke."
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		gml_include_items "all"
+		wms_group_title "Gebiete"
+		wms_group_abstract "Zusammenfassung der FlurstÃŒcke mit gleichen SchlÃŒssel: Fluren, Gemarkungen und Gemeinden. vereinfachte Geometrie. Nur fÃŒr Ãbersicht im kleinen MaÃstab."
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM  1600
+	MAXSCALEDENOM 20000
+	CLASS
+		NAME "Flur"
+		TEXT "Flur [flurnummer]"
+		STYLE
+			OUTLINECOLOR 100 150 10
+			WIDTH 3
+		END
+		LABEL
+			TYPE TRUETYPE
+			COLOR 100 150 10
+			FONT "arial"
+			SIZE 14
+			POSITION cc # FÃŒr Kachelung im Mapproxy sollte es an fixem Punkt stehen, wie?
+			PARTIALS FALSE FORCE FALSE
+			STYLE
+				GEOMTRANSFORM 'labelpoly'
+				COLOR 250 250 250
+			END
+		END
+	END
+END
+LAYER
+	NAME "pp_gemarkung"
+	GROUP "pp_gebiete"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "simple_geom from (SELECT gid, gemarkungsname, simple_geom FROM pp_gemarkung) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Gemarkung"
+		wms_abstract "Katasterbezirk Gemarkung (vereinfachte Geometrie). FlÃ€che durch Zusammenfassen der Fluren."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM  4000
+	MAXSCALEDENOM 40000
+	LABELITEM gemarkungsname
+	CLASS
+		NAME "Gemarkung"
+		STYLE
+			OUTLINECOLOR 140 80 0
+			WIDTH 5
+		END
+		LABEL
+			TYPE TRUETYPE
+			COLOR 140 80 0
+			FONT "arial"
+			SIZE 16
+			POSITION cc
+			OFFSET 0 10
+			PARTIALS FALSE FORCE FALSE
+			STYLE
+				GEOMTRANSFORM 'labelpoly'
+				COLOR 250 250 250
+			END
+		END
+	END
+END
+LAYER
+	NAME "pp_gemeinde"
+	GROUP "pp_gebiete"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "simple_geom from (SELECT gid, gemeindename, simple_geom FROM pp_gemeinde) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Gemeinde"
+		wms_abstract "GemeindeflÃ€che (vereinfachte Geometrie). FlÃ€che durch Zusammenfassen der Gemarkungen."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM   8000
+	MAXSCALEDENOM 400000
+	LABELITEM gemeindename
+	CLASS
+		NAME "Gemeinde"
+		STYLE
+			OUTLINECOLOR 10 10 200
+			WIDTH 7
+		END
+		LABEL
+			TYPE TRUETYPE
+			COLOR 10 10 200
+			FONT "arial"
+			SIZE 20
+			POSITION cc
+			OFFSET 0 -20
+			PARTIALS FALSE
+			FORCE FALSE
+			STYLE
+				GEOMTRANSFORM 'labelpoly'
+				COLOR 250 250 250
+			END
+		END
+	END
+END
+
+# ALKIS GebÃ€ude
+# Alternativ: GebÃ€ude-FlÃ€chen oder GebÃ€ude-Umring. Die FlÃ€chen sind im GIS stÃ¶rend, also unerwÃŒnscht
+
+# include "include/layer/obk_gebaeude.incl"
+# include "include/layer/obk_bauteil.incl" #ok
+# include "include/layer/obk_besonderegebaeudelinie.incl" #ok
+# include "include/layer/obk_hausnummer.incl"
+# include "include/layer/obk_gebaeude_ppo.incl"
+# include "include/layer/obk_gebaeude_pto.incl"
+LAYER
+	NAME "ax_gebaeude_fl" # GebÃ€ude - FlÃ€chen
+	GROUP "gebaeude"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, gebaeudefunktion, lagezurerdoberflaeche, hochhaus, zustand, ax_datenerhebung, wkb_geometry FROM ax_gebaeude) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "GebÃ€ude (FlÃ€che)"
+		wms_abstract "'GebÃ€ude' ist ein dauerhaft errichtetes Bauwerk, dessen Nachweis wegen seiner Bedeutung als Liegenschaft erforderlich ist sowie dem Zweck der Basisinformation des Liegenschaftskatasters dient."
+		wms_group_title "GebÃ€ude"
+		wms_group_abstract "ALKIS GebÃ€ude (FlÃ€che)"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	SYMBOLSCALEDENOM 1000
+	CLASSITEM 'gebaeudefunktion'
+	# Lage zur ErdoberflÃ€che: 1200=Unter der ErdoberflÃ€che, 1400=AufgestÃ€ndert
+	# Zustand: 1000=In behelfsmÃ€Ãigem Zustand, 2000=In ungenutztem Zustand, 2100=AuÃer Betrieb, stillgelegt, verlassen
+	#          2200=Verfallen, zerstÃ¶rt, 2300=Teilweise zerstÃ¶rt, 3000=Geplant und beantragt, 4000=Im Bau
+	# Classes ohne FlÃ€chenfÃŒllung
+	CLASS
+		NAME "GebÃ€ude, unterirdisch"
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1200')
+		STYLE # Dummy-FÃŒllung. Legende zeigt FlÃ€che, FlÃ€che bleibt transparent
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 1 2 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "Hochhaus, verfallen"
+		EXPRESSION ('[hochhaus]' = "true" AND '[zustand]' > '2199')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude, verfallen"
+		EXPRESSION ('[zustand]' > '2199')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	# Classes mit FlÃ€chenfÃŒllung
+	CLASS
+		NAME "WohngebÃ€ude, Hochhaus graphisch"
+		EXPRESSION ('[hochhaus]' = "true" AND '[ax_datenerhebung]' = '4300' AND '[gebaeudefunktion]' < '2000')
+		STYLE
+			COLOR 153 153 153
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50
+	#		SIZE 5
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 6 4 2 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "WohngebÃ€ude, Hochhaus aufgestÃ€ndert"
+		EXPRESSION ('[hochhaus]' = "true" AND '[gebaeudefunktion]' < '2000' AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 153 153 153
+		END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "Hochhaus" # "WohngebÃ€ude,Hochhaus"
+		EXPRESSION ('[gebaeudefunktion]' < '2000' AND '[hochhaus]' = "true")
+		STYLE
+			COLOR 153 153 153
+		END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "WohngebÃ€ude graphisch"
+		EXPRESSION ('[gebaeudefunktion]' < '2000' AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 153 153 153
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50 #[schrawink]
+	#		SIZE 5
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 6 4 2 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "WohngebÃ€ude aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' < '2000' AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 153 153 153
+		END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "WohngebÃ€ude"
+		EXPRESSION /^1/ #('[gebaeudefunktion]' < '2000')
+		STYLE
+			COLOR 153 153 153
+			OUTLINECOLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, Hochhaus, graphisch"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[hochhaus]' = "true" AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50 #[schrawink]
+	#		SIZE 5 
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 6 4 2 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, Hochhaus, aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[hochhaus]' = "true" AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+		END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, Hochhaus"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[hochhaus]' = "true")
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+		END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, graphisch"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50
+	#		SIZE 5
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 6 4 2 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+		END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe"
+		EXPRESSION /^2/
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+		END
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, Hochhaus, graphisch"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[hochhaus]' = "true" AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 255 128 128
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50 #[schrawink]
+	#		SIZE 5
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 6 4 2 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, Hochhaus, aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[hochhaus]' = "true" AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 255 128 128
+		END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, Hochhaus"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[hochhaus]' = "true")
+		STYLE
+			COLOR 255 128 128
+		END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, graphisch"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 255 128 128
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50 #[schrawink]
+	#		SIZE 5 
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 6 4 2 4 END
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 255 128 128
+		END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke"
+		EXPRESSION /^3/
+		STYLE
+			COLOR 255 128 128
+			OUTLINECOLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+		END
+		#LABEL = name ?
+	END
+	CLASS
+		NAME "Nach Quellenlage nicht zu spezifizieren"
+		EXPRESSION /9998/ #('[gebaeudefunktion]' = 9998)
+		STYLE
+			COLOR 190 190 190 # 204 204 204
+			OUTLINECOLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+		END
+	END
+#	CLASS
+#		#NAME "Rest"
+#		EXPRESSION /./
+#		STYLE
+#			OUTLINECOLOR 255 0 0
+#			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+#		END
+#	END
+END
+
+LAYER # Wie FlÃ€chen-Layer zuvor, aber FlÃ€chenfarbe entfernt UND CLASSes entfernt die sich nur nach FlÃ€chenfarbe unterscheiden.
+	NAME "ax_gebaeude_umr"
+	GROUP "gebaeude"
+	REQUIRES "![ax_gebaeude_fl]" # ent oder weder
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, gebaeudefunktion, lagezurerdoberflaeche, hochhaus, zustand, ax_datenerhebung, wkb_geometry FROM ax_gebaeude) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "GebÃ€ude (Umring)"
+		wms_abstract "'GebÃ€ude' ist ein dauerhaft errichtetes Bauwerk, dessen Nachweis wegen  seiner Bedeutung als Liegenschaft erforderlich ist sowie dem Zweck der Basisinformation des Liegenschaftskatasters dient.
+		Alternativer Layer ohne FlÃ€chenfÃŒllung. Hiermit ist allerdings keine Unterscheidung nach der GebÃ€udefunktion mÃ¶glich."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 7500 # Flaechen nur bis 5000
+	SYMBOLSCALEDENOM 1000
+	CLASSITEM 'gebaeudefunktion' #'zustand'
+	CLASS
+		NAME "GebÃ€ude, unterirdisch" # z.B. Tiefgarage
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1200')
+		STYLE # Dummy-FÃŒllung. Legende zeigt FlÃ€che, FlÃ€che bleibt transparent
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			PATTERN 1 2 END
+			LINECAP butt
+		END
+	END
+	#CLASS
+	#	NAME "Hochhaus, verfallen" # Theorie! kommt hier nicht vor
+	#	EXPRESSION ('[hochhaus]' = "true" AND '[zustand]' > '2199')
+	#	STYLE
+	#		COLOR 255 255 255
+	#		SYMBOL 'filler'
+	#		SIZE 15
+	#	END
+	#	STYLE
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+	#		OUTLINECOLOR 0 0 0
+	#		PATTERN 8 4 END
+	#	END
+	#END
+	CLASS
+		NAME "GebÃ€ude, verfallen"
+		EXPRESSION ('[zustand]' > '2199')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	#CLASS
+	#	NAME "Hochhaus graphisch" # Theorie! kommt hier nicht vor
+	#	EXPRESSION ('[hochhaus]' = "true" AND '[ax_datenerhebung]' = '4300')
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50
+	#		SIZE 5
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 2
+	#		COLOR 128 64 0
+	#	END
+	#	STYLE
+	#	#	SYMBOL 'point' #'sn8205'
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+	#		OUTLINECOLOR 0 0 0
+	#		PATTERN 6 4 2 4 END
+	#	END
+	#END
+	CLASS
+		NAME "Hochhaus aufgestÃ€ndert"
+		EXPRESSION ('[hochhaus]' = "true" AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE # Dummy-FÃŒllung
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "Hochhaus" 
+		EXPRESSION ('[hochhaus]' = "true")
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			SYMBOL 'quadrate'
+			SIZE 2 MINSIZE 2 MAXSIZE 4
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude graphisch"
+		EXPRESSION ('[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50
+	#		SIZE 5
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 6 4 2 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude aufgestÃ€ndert"
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude"
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+		END
+	END
+END
+# ToDo: Name und Funktion trennen.
+LAYER
+	NAME "ax_gebaeude_txt" # GebÃ€ude-Texte: Funktion und Name
+	GROUP "gebaeude"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM gebaeude_txt) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Funktion und Name"
+		wms_abstract "Funktion zum 'GebÃ€ude'. In amtlicher Karte teilweise als Symbole dargestellt, hier ersatzweise als Text."
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 2000
+	SYMBOLSCALEDENOM 1000
+	LABELITEM 'funktion'
+	CLASSITEM 'name'
+	CLASS
+		NAME "Name und Funktion"
+		EXPRESSION /./
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 9 MINSIZE 7 MAXSIZE 12
+			POSITION cc OFFSET 0 12 # tiefer
+			COLOR 0 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE false
+			WRAP " " MAXLENGTH 10
+		END
+		LABEL # 2. Label
+			TEXT '[name]'
+			TYPE TRUETYPE FONT 'arialbold'
+			SIZE 9 MINSIZE 6 MAXSIZE 10
+			POSITION cc OFFSET 0 -10 # hÃ¶her
+			COLOR 180 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE true
+		END
+	END
+	CLASS
+		NAME "Funktion" # nur ..
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 9 MINSIZE 7 MAXSIZE 12
+			POSITION auto # Kollision mit HsNr vermeiden
+			COLOR 0 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE false
+			WRAP " " MAXLENGTH 10
+		END
+	END
+END
+LAYER
+	NAME "ax_bauteil"
+	GROUP "gebaeude"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauart, lagezurerdoberflaeche, wkb_geometry FROM ax_bauteil) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauteil"
+		wms_abstract "'Bauteil' ist ein charakteristisches Merkmal eines GebÃ€udes mit gegenÃŒber dem jeweiligen Objekt 'GebÃ€ude' abweichenden bzw. besonderen Eigenschaften."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 4000
+	CLASSITEM 'bauart'
+	# ToDo: "lagezurerdoberflaeche" auswerten, Werte: null, 1200.
+	CLASS
+		NAME "Bauteil"
+		EXPRESSION ('[bauart]' = '1100' OR '[bauart]' = '1200' OR '[bauart]' = '1400' OR '[bauart]' = '2000' OR '[bauart]' = '2100' OR '[bauart]' = '2300' OR '[bauart]' = '2350' OR '[bauart]' = '2400' OR '[bauart]' = '2500' OR '[bauart]' = '2510' OR '[bauart]' = '2520' OR '[bauart]' = '2610' OR '[bauart]' = '2620' OR '[bauart]' = '9999')
+		STYLE
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "Bauteil-Schornstein"
+		EXPRESSION ('[bauart]' = '2710')
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 2
+		END
+	END
+	CLASS
+		NAME "Bauteil-Turm"
+		EXPRESSION ('[bauart]' = '2720')
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 3
+		END
+	END
+	CLASS
+		NAME "Bauteil-HochhausgebÃ€udeteil"
+		EXPRESSION ('[bauart]' = '1300')
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 4
+		END
+	END
+	CLASS
+		NAME "Beschaffenheit"
+		EXPRESSION /./ # Rest
+		STYLE
+			OUTLINECOLOR 200 0 0
+			WIDTH 1
+		END
+	END
+END
+LAYER
+	NAME "ax_besonderegebaeudelinie"
+	GROUP "gebaeude"
+	TYPE LINE
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, beschaffenheit, wkb_geometry FROM ax_besonderegebaeudelinie) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Besondere GebÃ€udelinie"
+		wms_abstract "'Besondere GebÃ€udelinie' ist der Teil der Geometrie des Objekts 'GebÃ€ude' oder des Objekts 'Bauteil', der besondere Eigenschaften besitzt."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 4000
+	CLASS
+		NAME "Besondere GebÃ€udelinie"
+		STYLE
+			COLOR 0 0 0
+		END
+		STYLE
+			COLOR 254 254 254
+			PATTERN 3 6 END
+		END
+	END
+END
+LAYER # Hausnummer
+	NAME "ag_t_gebaeude"
+	GROUP "gebaeude"
+	TYPE POINT
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid,wkb_geometry,drehwinkel,hausnummer FROM s_hausnummer_gebaeude) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Hausnummer"
+		wms_abstract "GebÃ€ude Hausnummer"
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	LABELITEM "hausnummer"
+	LABELMINSCALEDENOM 50
+	LABELMAXSCALEDENOM 2000
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		NAME "Hausnummer"
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 8 MINSIZE 5 MAXSIZE 12
+			POSITION uc
+			OFFSET 0 -3
+			ANGLE [drehwinkel] 
+			COLOR 0 0 0
+			ANTIALIAS true PARTIALS false FORCE true
+			BUFFER 1
+			OUTLINECOLOR 254 254 254
+		END
+	END
+END
+# alte Version: PrÃ€sentationsobjekt aus ap_pto mit Drehwinkel. 
+# Dies Daten sind in ALKIS bei einigen KatasterÃ€mtern nicht mehr vorhanden.
+# KlÃ€ren: Fehler in NBA?
+#LAYER # Pseudonummer = Ausgestaltung Text NebengebÃ€ude
+#	NAME "ag_t_nebengeb"
+#	GROUP "gebaeude"
+#	TYPE POINT
+#	#DUMP TRUE
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+#	PROCESSING "CLOSE_CONNECTION=DEFER"
+#	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry, drehwinkel, laufendenummer FROM s_nummer_nebengebaeude) as foo using unique ogc_fid using SRID=25832" # View
+#	# "s_nummer_nebengebaeude" = View
+#	METADATA
+#		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+#		wms_title "lfd. Nr NebengebÃ€ude"
+#		wms_abstract "laufende Nummer NebengebÃ€ude (Pseudonummer)"
+#		gml_include_items "all"
+#	END
+#	#PROJECTION "init=epsg:25832" END
+#	#EXTENT 349000 5529000 356000 5533000
+#	MINSCALEDENOM 50
+#	MAXSCALEDENOM 1500
+#	SYMBOLSCALEDENOM 1000
+#	#LABELITEM "laufendenummer"
+#	CLASS
+#		NAME "Hausnummer"
+#		TEXT '([laufendenummer])' # Die Klammern auch mit darstellen!
+#		STYLE
+#			SYMBOL 'point' SIZE 1
+#		END
+#		LABEL 
+#			TYPE TRUETYPE FONT 'arialnarrow'
+#			SIZE 7 MINSIZE 5 MAXSIZE 10
+#			POSITION uc
+#			OFFSET 0 -3
+#			ANGLE [drehwinkel] 
+#			COLOR 50 50 50
+#			ANTIALIAS true PARTIALS false FORCE true
+#			BUFFER 1
+#			OUTLINECOLOR 254 254 254			
+#		END
+#	END
+#END
+# Neue Version Text lfd-Nr. zur GebÃ€ude-Geometrie
+# Diese Version funktioniert unabhÃ€ngig von der NBA-Abgabe der Pseudonummern-PrÃ€sentationsobjekte.
+# Allerdings ohne die manuelle Positionierung und Drehwinkel.
+LAYER # Lagebezeichnung mit Pseudonummer, Anzeige der lfd-Nr.
+	NAME "ag_t_nebengeb"
+	GROUP "gebaeude"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM lfdnr_nebengebaeude) as foo using unique ogc_fid using SRID=25832" # View
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "lfd. Nr NebengebÃ€ude"
+		wms_abstract "Lagebezeichnung mit Pseudonummer, Anzeige laufende Nummer zum NebengebÃ€ude"
+		gml_include_items "all"
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 1500
+	SYMBOLSCALEDENOM 1000
+	#LABELITEM "laufendenummer"
+	CLASS
+		NAME "Hausnummer"
+		TEXT '([laufendenummer])' # Die Klammern auch mit darstellen!
+		LABEL 
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 7 MINSIZE 5 MAXSIZE 10
+			POSITION cc
+			COLOR 50 50 50
+			ANTIALIAS true PARTIALS false FORCE true
+			OUTLINECOLOR 254 254 254			
+		END
+	END
+END
+# Zuordnungspfeile GebÃ€ude
+# Der Layer entfÃ€llt zukÃŒnftig.
+# 18: Die Zuordnungspfeile der ALK wurden bei Vormigration nach ALKIS gelÃ¶scht.
+LAYER
+	NAME "ag_l_gebaeude"
+	GROUP "gebaeude"
+	REQUIRES "[ag_t_nebengeb]" # nur beides
+	TYPE LINE
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid,wkb_geometry FROM s_zuordungspfeil_gebaeude) as foo using unique ogc_fid using SRID=25832" # View gespeichert
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeile GebÃ€ude"
+		wms_abstract "GebÃ€ude Zuordnungspfeile fÃŒr Hausnummer oder NebengebÃ€ude-Nummer (nur Linie, Pfeilspitze fehlt noch)"
+		gml_include_items "all"
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 1500 # wie der zuzuordnende Text
+	CLASS
+		NAME "Zuordnungspfeile"
+		STYLE
+			COLOR 0 0 0
+		END
+	END
+END
+# ALKIS Bauwerke, Anlagen und Einrichtungen fÃŒr den Verkehr / ..in SiedlungsflÃ€chen
+# alle Layer von GROUP "bauwerk"
+LAYER
+	NAME "ax_bauwerkimverkehrsbereich_fuellung" # ToDo: Umrandung und FÃŒllung zu einem Layer zusammen fassen?
+	GROUP "bauwerk"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkimverkehrsbereich) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk im Verkehrsbereich (FÃŒllung)"
+		wms_abstract "'Bauwerk im Verkehrsbereich' ist ein Bauwerk, das dem Verkehr dient."
+		wms_group_title "Bauwerke"
+		wms_group_abstract "Bauwerke gruppiert alle Ebene zu den Themen 'Bauwerke und Einrichtungen in SiedlungsflÃ€chen' und 'Bauwerke, Anlagen und Einrichtungen fÃŒr den Verkehr'" 
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "BrÃŒcke"
+		STYLE
+			COLOR 255 255 255
+		END
+	END
+END
+LAYER
+	NAME "ax_bauwerkimverkehrsbereich_umrandung"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkimverkehrsbereich) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk im Verkehrsbereich (Umrandung)"
+		wms_abstract "'Bauwerk im Verkehrsbereich' ist ein Bauwerk, das dem Verkehr dient."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "BrÃŒcke"
+		STYLE
+			OUTLINECOLOR 128 128 128
+			PATTERN 5.67 2.85 END 
+			WIDTH 2
+		END
+	END
+END
+
+LAYER
+	NAME "ax_bauwerkimgewaesserbereich"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkimgewaesserbereich) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk im GewÃ€sserbereich"
+		wms_abstract "Bauwerk im GewÃ€sserbereich"
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "Bauwerk im GewÃ€sserbereich"
+		STYLE
+			OUTLINECOLOR 82 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_bauwerkoderanlagefuerindustrieundgewerbe"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkoderanlagefuerindustrieundgewerbe) as foo using unique ogc_fid using SRID=25832"
+	FILTER "st_geometrytype(wkb_geometry) = 'ST_Polygon'" # sonst Absturz Mapserver
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk oder Anlage fÃŒr Industrie und Gewerbe"
+		wms_abstract "'Bauwerk oder Anlage fÃŒr Industrie und Gewerbe' ist ein Bauwerk oder eine Anlage, die ÃŒberwiegend industriellen und gewerblichen Zwecken dient oder Einrichtung an Ver- und Entsorgungsleitungen ist."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "KlÃ€rbecken"
+		EXPRESSION ('[bauwerksfunktion]' = '1210')
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS
+		NAME "Bauwerk oder Anlage fÃŒr Industrie und Gewerbe"
+		EXPRESSION ('[bauwerksfunktion]' = '1215' OR '[bauwerksfunktion]' = '1220' OR '[bauwerksfunktion]' = '1250' OR '[bauwerksfunktion]' = '1260')
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	# else?
+END
+LAYER
+	NAME "ax_bauwerkoderanlagefuersportfreizeitunderholung"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkoderanlagefuersportfreizeitunderholung) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung"
+		wms_abstract "'Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung' ist ein Bauwerk oder eine Anlage in Sport-, Freizeit- und Erholungsanlagen."
+		gml_include_items "all"
+	END	
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung" # sn1520
+		STYLE
+			COLOR 217 255 217
+			OUTLINECOLOR 82 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_vorratsbehaelterspeicherbauwerk"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_vorratsbehaelterspeicherbauwerk) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "VorratsbehÃ€lter, Speicherbauwerk"
+		wms_abstract "'VorratsbehÃ€lter, Speicherbauwerk' ist ein geschlossenes Bauwerk zum Aufbewahren von festen, flÃŒssigen oder gasfÃ¶rmigen Stoffen."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "VorratsbehÃ€lter, Speicherbauwerk"
+		STYLE
+			COLOR 220 220 220
+			OUTLINECOLOR 0 0 0
+		END
+	END
+END
+# ToDo: synchron zum GebÃ€ude-Layer hier die FlÃ€chenfÃŒllung unterdrÃŒcken?
+LAYER
+	NAME "ax_sonstigesbauwerkodersonstigeeinrichtung"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+
+# Analyse (440):
+
+# SELECT DISTINCT st_geometrytype(s.wkb_geometry), s.bauwerksfunktion, f.bezeichner
+# FROM ax_sonstigesbauwerkodersonstigeeinrichtung s
+# JOIN ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion f ON s.bauwerksfunktion = f.wert
+# ORDER BY st_geometrytype(s.wkb_geometry), s.bauwerksfunktion;
+
+#ST_Point
+# 1750;"Denkmal, Denkstein, Standbild"
+#ST_LineString
+# 1620;"Treppe"
+# 1630;"Treppenunterkante"
+# 1701;"Mauerkante, rechts"
+# 1702;"Mauerkante, links"
+# 1721;"StÃŒtzmauer, rechts"
+# 1722;"StÃŒtzmauer, links"
+# 1740;"Zaun"
+# 1790;"Spundwand"
+#ST_Polygon
+# 1610;"Ãberdachung"
+# 1611;"Carport"
+# 1620;"Treppe"
+# 1650;"Rampe"
+# 1700;"Mauer"
+# 1720;"StÃŒtzmauer"
+# 1750;"Denkmal, Denkstein, Standbild"
+
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_sonstigesbauwerkodersonstigeeinrichtung WHERE st_geometrytype(wkb_geometry) = 'ST_Polygon') as foo using unique ogc_fid using SRID=25832"
+	#ILTER "bauwerksfunktion in (1610,1781) AND st_geometrytype(wkb_geometry) = 'ST_Polygon'"
+	#FILTER "st_geometrytype(wkb_geometry) = 'ST_Polygon'" # sonst Absturz Mapserver
+	# "name" ist ab und zu gefÃŒllt
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sonstiges Bauwerk/Einrichtung"
+		wms_abstract "'Sonstiges Bauwerk oder sonstige Einrichtung' ist ein Bauwerk oder eine Einrichtung, das/die nicht zu den anderen Objektarten der Objektartengruppe Bauwerke und Einrichtungen gehÃ¶rt."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'bauwerksfunktion'
+	# Name als Label rendern?
+	#CLASS
+	#	NAME "Ãberdachung"
+	#	EXPRESSION "1610" #	('[bauwerksfunktion]' = '1610')
+	#	STYLE
+	#		COLOR 220 220 220
+	#	END
+	#END
+	#CLASS
+	#	NAME "Brunnen (Trinkwasserversorgung)"
+	#	EXPRESSION "1781" # ('[bauwerksfunktion]' = '1781')
+	#	STYLE
+	#		COLOR 227 255 255
+	#		OUTLINECOLOR 0 204 204
+	#	END
+	#END
+	CLASS
+		NAME "BauwerksflÃ€che"
+		STYLE
+			COLOR 229 229 229
+			OPACITY 50 # Ersatz fÃŒr Variante mit/ohne FlÃ€chenfÃŒllung
+		END
+		STYLE
+			OUTLINECOLOR 0 0 0
+			OUTLINEWIDTH 1
+			PATTERN 5 2 END
+		END
+	END
+END
+LAYER
+	NAME "ax_sonstigesbauwerkodersonstigeeinrichtung_l"
+	GROUP "bauwerk"
+	TYPE LINE
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_sonstigesbauwerkodersonstigeeinrichtung WHERE st_geometrytype(wkb_geometry) = 'ST_LineString') as foo using unique ogc_fid using SRID=25832"
+	#FILTER "st_geometrytype(wkb_geometry) = 'ST_LineString'" # sonst Absturz Mapserver
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sonstiges Bauwerk/Einrichtung (Linien)"
+		wms_abstract "'Sonstiges Bauwerk oder sonstige Einrichtung' ist ein Bauwerk oder eine Einrichtung, das/die nicht zu den anderen Objektarten der Objektartengruppe Bauwerke und Einrichtungen gehÃ¶rt."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "Bauwerkslinie"
+		STYLE
+			COLOR 0 0 0
+			WIDTH 1
+			PATTERN 5 2 END
+		END
+	END
+END
+LAYER
+	NAME "ax_leitung"
+	GROUP "bauwerk"
+	TYPE LINE
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, spannungsebene, wkb_geometry FROM ax_leitung) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Leitung"
+		wms_abstract "'Leitung' ist eine aus DrÃ€hten oder Fasern hergestellte Leitung zum Transport von elektrischer Energie und zur Ãbertragung von elektrischen Signalen."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "Freileitung" #sn2524
+		EXPRESSION ('[bauwerksfunktion]' = '1110')
+		STYLE
+			COLOR 0 0 0
+			SIZE 0.51
+		END
+	END
+	CLASS
+		NAME "Erdkabel"
+		EXPRESSION ('[bauwerksfunktion]' = '1111')
+		STYLE
+			#SYMBOL 'point'
+			COLOR 0 0 0
+			PATTERN 1 1 END
+		END
+	END
+END
+LAYER
+	NAME "ax_transportanlage"
+	GROUP "bauwerk"
+	TYPE LINE
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, lagezurerdoberflaeche, wkb_geometry  FROM ax_transportanlage) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Transportanlage"
+		wms_abstract "'Transportanlage' ist eine Anlage zur FÃ¶rderung oder zum Transport von FlÃŒssigkeiten, Gasen und GÃŒtern."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'lagezurerdoberflaeche'
+#	CLASS
+#		NAME "Transportanlage"
+#		STYLE
+#			SYMBOL 'point'
+#			COLOR 0 0 0
+#		END
+#	END
+	CLASS
+		NAME "Pipeline unter der ErdoberflÃ€che oder WasseroberflÃ€che"
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1200' OR '[lagezurerdoberflaeche]' = '1700')
+		STYLE
+			SYMBOL 0 #sn2523
+			COLOR 0 0 0
+			PATTERN 1 1 END
+		END
+	END
+	CLASS
+		NAME "Pipeline"
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			SYMBOL 0 #'point'
+			COLOR 0 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_turm"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_turm) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Turm"
+		wms_abstract "'Turm' ist ein hoch aufragendes, auf einer verhÃ€ltnismÃ€Ãig kleinen FlÃ€che freistehendes Bauwerk."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Turm"
+		STYLE
+			COLOR 204 204 204
+			OUTLINECOLOR 0 0 0
+		END
+	END
+END
+
+# B o d e n s c h Ã€ t z u n g
+
+## Einfache Version: Den Label mittig in der FlÃ€che anzeigen
+#LAYER
+#	NAME "bodensch_klass"
+#	GROUP "bodenschaetzung"
+#	TYPE POLYGON
+#	#DUMP TRUE
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+#	PROCESSING "CLOSE_CONNECTION=DEFER"
+#	DATA "wkb_geometry from s_bodensch_wms using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_group_title "BodenschÃ€tzung"
+#		wms_group_abstract "BodenschÃ€tzung" 
+#		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+#		wms_title "KlassenflÃ€che mit Label"
+#		wms_abstract "KlassenflÃ€che der BodenschÃ€tzung. Das Ergebnis der SchÃ€tzung wird als Text zentral in der FlÃ€che angezeigt."
+#	END
+#	PROJECTION "init=epsg:25832" END
+#	#EXTENT 349000 5529000 356000 5533000
+#	MINSCALEDENOM 50
+#	MAXSCALEDENOM 3000
+#	SYMBOLSCALEDENOM 1000
+#	TOLERANCEUNITS pixels TOLERANCE 1
+#	HEADER   "/opt/gdi/templates/alkisbodenschh.html"
+#	TEMPLATE "/opt/gdi/templates/alkisbodensch.html" # (noch?) nicht an Buchauskunft angeschlosssen
+#	FOOTER   "/opt/gdi/templates/footerp.html"
+#	JOIN # VIEW s_bodensch_ent: Felder einzeln und langschriftlich entschlÃŒsselt.
+#		NAME "BOD"
+#		CONNECTIONTYPE ogr
+#		CONNECTION 'host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432'
+#		TABLE "s_bodensch_ent" FROM "ogc_fid" TO "ogc_fid" TYPE ONE-TO-ONE
+#  	END
+#	CLASSITEM kult # Kulturart, SELECT DISTINCT kult FROM s_bodensch_wms; A, AGR, Gr, GrA
+#	LABELITEM derlabel
+#	CLASS
+#		NAME "Acker"
+#		EXPRESSION  ('[kult]' = 'A' OR '[kult]' = 'AGr')
+#		STYLE
+#			OUTLINECOLOR 178 255 148 # hellgrÃŒn
+#			WIDTH 5 MINWIDTH 3 MAXWIDTH 7
+#		END
+#		LABEL
+#			TYPE TRUETYPE FONT "times" # Serifenschrift
+#			COLOR 210 150 150 # rosa
+#			OUTLINECOLOR 254 254 254 OUTLINEWIDTH 2
+#			SIZE 13 MINSIZE 10 MAXSIZE 16
+#			POSITION cc
+#			PARTIALS FALSE FORCE TRUE
+#			WRAP ' ' MAXLENGTH 3
+#		END
+#	END
+#	CLASS
+#		NAME "GrÃŒnland"
+#		EXPRESSION ('[kult]' = 'Gr' OR '[kult]' = 'GrA')
+#		STYLE
+#			OUTLINECOLOR 178 255 148 # hellgrÃŒn
+#			WIDTH 5 MINWIDTH 3 MAXWIDTH 7
+#		END
+#		LABEL
+#			TYPE TRUETYPE FONT "times"
+#			COLOR 130 210 120 # GrÃŒn
+#			OUTLINECOLOR 254 254 254 OUTLINEWIDTH 2
+#			SIZE 13 MINSIZE 10 MAXSIZE 16
+#			POSITION cc
+#			PARTIALS FALSE FORCE TRUE
+#			WRAP ' ' MAXLENGTH 3
+#		END
+#	END
+#END
+
+LAYER
+	NAME "bodensch_po"
+	GROUP "bodenschaetzung"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from s_bodensch_po using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_group_title "BodenschÃ€tzung"
+		wms_group_abstract "BodenschÃ€tzung" 
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "KlassenflÃ€che"
+		wms_abstract "FlÃ€che der BodenschÃ€tzung, das Ergebnis der SchÃ€tzung kann abgefragt werden."
+	END
+	PROJECTION "init=epsg:25832" END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 3500
+	SYMBOLSCALEDENOM 1000
+	TOLERANCEUNITS pixels TOLERANCE 1
+	HEADER   "/opt/gdi/templates/alkisbodenschh.html"
+	TEMPLATE "/opt/gdi/templates/alkisbodensch.html" # (noch?) nicht an Buchauskunft angeschlosssen
+	FOOTER   "/opt/gdi/templates/footerp.html"
+	JOIN # VIEW s_bodensch_ent: Felder einzeln und langschriftlich entschlÃŒsselt.
+		NAME "BOD"
+		CONNECTIONTYPE ogr
+		CONNECTION 'host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432'
+		TABLE "s_bodensch_ent" FROM "ogc_fid" TO "ogc_fid" TYPE ONE-TO-ONE
+  	END
+	CLASS
+		NAME "KlassenflÃ€chengrenze" # SignaturNr: 2703
+		STYLE
+			OUTLINECOLOR 144 197 140 # GID (CMYK %): GrÃŒnâ30â0â42â0
+			WIDTH 3.6 MINWIDTH 2.6 MAXWIDTH 5.2
+		END
+	END
+END
+
+LAYER
+	NAME "bodensch_tx"
+	GROUP "bodenschaetzung"
+	REQUIRES "[bodensch_po]" # Grenzen aufzeigen?
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from s_bodensch_tx using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "SchÃ€tzungsergebnis"
+		wms_abstract "Kompakte Anzeige von: (1. Zeile) Bodenart, Zustandsstufe, Entstehungsart oder Klimastufe/WasserverhÃ€ltnisse und (2. Zeile) Bodenzahl oder GrÃŒnlandgrundzahl / Ackerzahl oder GrÃŒnlandzahl."
+	END
+	PROJECTION "init=epsg:25832" END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 3500
+	SYMBOLSCALEDENOM 1000
+	CLASSITEM kult # Kulturart, SELECT DISTINCT kult FROM s_bodensch_wms; A, AGR, Gr, GrA
+	LABELITEM derlabel
+	CLASS
+		NAME "Acker"
+		EXPRESSION  ('[kult]' = 'A' OR '[kult]' = 'AGr')
+		LABEL
+			TYPE TRUETYPE FONT "times" # Serifenschrift
+			COLOR 211 147 135 # rosa
+			OUTLINECOLOR 254 254 254 OUTLINEWIDTH 2
+			SIZE 13 MINSIZE 10 MAXSIZE 16
+			POSITION uc  # hor/ver = zentrisch/basis
+			PARTIALS FALSE FORCE TRUE
+			WRAP ' ' MAXLENGTH 3
+		END
+	END
+	CLASS
+		NAME "GrÃŒnland"
+		EXPRESSION ('[kult]' = 'Gr' OR '[kult]' = 'GrA')
+		LABEL
+			TYPE TRUETYPE FONT "times"
+			COLOR 144 197 140
+			OUTLINECOLOR 254 254 254 OUTLINEWIDTH 2
+			SIZE 13 MINSIZE 10 MAXSIZE 16
+			POSITION uc  # hor/ver = zentrisch/basis
+			PARTIALS FALSE FORCE TRUE
+			WRAP ' ' MAXLENGTH 3
+		END
+	END
+END
+
+# Signaturen:
+#  Signaturnummer 2703 = KlassenflÃ€chengrenze
+#  Signaturnummer 2705 = Klassenabschnittsgrenze  gestrichelt 400 - 200
+#  Signaturnummer 2707 = SonderflÃ€chengrenze      strich-punktiert 400 500 900 500
+
+# Objektearten:
+#  72001 'BodenschÃ€tzung'  -> 'Kulturart' und 'Bodenart'
+#  72002 'Muster-, Landesmuster- und VergleichsstÃŒck'
+#  72003 'Grabloch der BodenschÃ€tzung'
+#  72004 'Bewertung'
+#  72005 'AX_KennzifferGrabloch' (Datentyp).
+#  72006 'Tagesabschnitt'
+
+# ToDo: Ãberhaken zu den KlassenflÃ€chen
+
+# Zuordnungspfeile BodenschÃ€tzung
+# Neu 2013-04-16
+# Dieser Pfeil ist nur notwendig bzw. sinnvoll, wenn der Label nicht mitten in der KlassenflÃ€che angezeigt wird,
+# sondern an einer manuell festgelegten Textposition. Woher?
+LAYER
+	NAME "ag_l_bodsch"
+	GROUP "bodenschaetzung"
+	REQUIRES "[bodensch_tx]" # WMS-Einstellung im Mapbender: Sel = aus (versteckt) aber sel_default = an. Ebene geht dann mit 'bodensch_tx' automatisch an
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM s_zuordungspfeil_bodensch) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeile" # Linie
+		wms_abstract "Zuordnungspfeil BodenschÃ€tzung" # Linie
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 3500
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		#NAME "Zuordnungspfeil"
+		STYLE
+			COLOR 144 197 140
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+		END
+	END
+END
+LAYER
+	NAME "ag_l_bodsch_sp"
+	GROUP "bodenschaetzung"
+	STATUS ON
+	REQUIRES "[ag_l_bodsch]" # WMS-Einstellung im Mapbender: Sel = aus (versteckt) aber sel_default = an. Ebene geht dann mit 'bodensch_tx' automatisch an
+	TYPE Annotation
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM s_zuordungspfeilspitze_bodensch) as foo using unique ogc_fid using SRID=25832" # View berechnet Winkel
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeil Spitze"
+		wms_abstract "Zuordnungspfeil BodenschÃ€tzung Spitze"
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 3500
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		#NAME "Zuordnungspfeilspitze"
+		TEXT 'E'
+		LABEL
+			TYPE TRUETYPE
+			FONT "alkis_textsymbols"
+			SIZE 3 MINSIZE 2 MAXSIZE 6
+			POSITION cc
+			ANGLE [winkel]
+			COLOR 144 197 140
+			ANTIALIAS TRUE PARTIALS FALSE FORCE TRUE
+		END
+	END
+END
+
+#LAYER
+#	NAME "ax_grablochderbodenschaetzung"
+#	GROUP "bodenschaetzung"
+#	TYPE POINT
+#	#DUMP TRUE
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+#	PROCESSING "CLOSE_CONNECTION=DEFER"
+#	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_grablochderbodenschaetzung) as foo using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+#		wms_title "Grabloch der BodenschÃ€tzung"
+#		wms_abstract "Grabloch der BodenschÃ€tzung"
+#		gml_include_items "all"
+#	END
+#	#PROJECTION "init=epsg:25832" END
+#	#EXTENT 349000 5529000 356000 5533000
+#	MINSCALEDENOM 50
+#	MAXSCALEDENOM 5000
+#	CLASS
+#		NAME "Grabloch der BodenschÃ€tzung"
+#		STYLE
+#			SYMBOL "sn3703"
+#			COLOR 255 128 128
+#			SIZE 1
+#		END
+#	END
+#END
+#LAYER
+#	NAME "ax_musterlandesmusterundvergleichsstueck"
+#	GROUP "bodenschaetzung"
+#	TYPE POLYGON
+#	#DUMP TRUE
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+#	PROCESSING "CLOSE_CONNECTION=DEFER"
+#	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_musterlandesmusterundvergleichsstueck) as foo using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+#		wms_title "Muster Landesmuster und VergleichsstÃŒck"
+#		wms_abstract "Muster-, Landesmuster- und VergleichsstÃŒck der BodenschÃ€tzung"
+#		gml_include_items "all"
+#	END
+#	#PROJECTION "init=epsg:25832" END
+#	#EXTENT 349000 5529000 356000 5533000
+#	MINSCALEDENOM 50
+#	MAXSCALEDENOM 5000
+#	CLASS
+#		NAME "Muster Landesmuster und VergleichsstÃŒck"
+#		STYLE
+#			OUTLINECOLOR 255 128 128
+#		END
+#	END
+#END
+
+# ALKIS  F l u r s t ÃŒ c k
+LAYER
+	NAME "ax_flurstueck"
+	GROUP "flurstueck"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	# mit Feldern fuer klassisches Template:
+	#  DATA "wkb_geometry from (SELECT ogc_fid, gml_id, flurstueckskennzeichen, amtlicheflaeche, wkb_geometry FROM ax_flurstueck) as foo using unique ogc_fid using SRID=25832"
+	# reduzierte Felder: nur 'gml_id' fuer Inlay, und geometry fuer Karte
+	DATA "wkb_geometry from (SELECT ogc_fid, gml_id, wkb_geometry FROM ax_flurstueck) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlurstÃŒck"
+		wms_abstract "'FlurstÃŒck' ist ein Teil der ErdoberflÃ€che, der von einer im Liegenschaftskataster festgelegten Grenzlinie umschlossen und mit einer Nummer bezeichnet ist. Es ist die Buchungseinheit des Liegenschaftskatasters."
+		wms_group_title "FlurstÃŒck"
+		wms_group_abstract "ALKIS FlurstÃŒck"
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 25000
+	SYMBOLSCALEDENOM 1000
+	TOLERANCEUNITS pixels
+	TOLERANCE 1
+	# klassische Variante mit Schaltflaeche fuer Weiterleitung zur Auskunft
+#	HEADER   "/opt/gdi/templates/alkis*gkz*fsh.html" # gkz = mandant
+#	TEMPLATE "/opt/gdi/templates/alkis_fs.html"
+	# Variante mit Inlay (ein iframe enthaelt einen php-Aufruf) 
+	HEADER   "/opt/gdi/templates/alkisausk_inlh.html" 
+	TEMPLATE "/opt/gdi/templates/alkisausk_inl*gkz*.html" # gkz = mandant
+	FOOTER   "/opt/gdi/templates/footer.html"
+	CLASS
+		NAME "FlurstÃŒck"
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 1.2 MINWIDTH 0.8 MAXWIDTH 2.2
+		END
+	END
+END
+LAYER
+	NAME "ax_besondereflurstuecksgrenze" # Kennung: 11002
+	GROUP "flurstueck"
+	TYPE LINE
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, artderflurstuecksgrenze, wkb_geometry FROM ax_besondereflurstuecksgrenze) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Besondere FlurstÃŒcksgrenze"
+		wms_abstract "'Besondere FlurstÃŒcksgrenze' ist ein Teil der Grenzlinie eines FlurstÃŒcks, der von genau zwei benachbarten Grenzpunkten begrenzt wird und fÃŒr den besondere Informationen vorliegen."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 7000
+	SYMBOLSCALE 1000
+	CLASSITEM "artderflurstuecksgrenze" # ist ein ARRAY!
+	# ToDo: FILTER oder VIEW - Werte fÃŒr den Layer "Grenzen" hier ausschlieÃen
+	CLASS
+		EXPRESSION /1000/ # reg. Expression, weil Teil eines ARRAY
+		NAME "Strittige Grenze"
+		STYLE
+			COLOR 254 254 254 # heller Hintergrund, weiss, nicht transparent, bedeckt die FlurstÃŒcksgrenze
+			WIDTH 2.4 MINWIDTH 1.5 MAXWIDTH 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+			PATTERN 20 10 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2001/
+		NAME "Nicht festgestellte Grenze"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 2.4 MINWIDTH 1.5 MAXWIDTH 3.5
+		END
+		STYLE
+			#SYMBOL 0 #SN2008
+			COLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+			PATTERN 17 2.85 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2002/
+		NAME "Verwaltungsstreitverfahren (Grenze)"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 2.4 MINWIDTH 1.5 MAXWIDTH 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+			PATTERN 17 2.85 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2003/
+		NAME "Mittellinie in GewÃ€ssern"
+		STYLE
+			COLOR 254 254 254 # Hintergrund
+			WIDTH 2.4 MINWIDTH 1.5 MAXWIDTH 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2004/
+		NAME "FlurstÃŒcksgrenze nicht feststellbar"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 2.4 MINWIDTH 1.5 MAXWIDTH 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2010/
+		NAME "Topographische Grenzeinrichtung"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 2.4 MINWIDTH 1.5 MAXWIDTH 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+			PATTERN 17 2.85 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2100/
+		NAME "Topographische GewÃ€sserbegrenzung"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 2.4 MINWIDTH 1.5 MAXWIDTH 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+			PATTERN 17 2.85 END
+			LINECAP butt
+		END
+	END
+	# EXPRESSION /./ # Else - NEIN z.B. politische Grenzen
+	# Weitere Bedeutungen siehe Layer "grenzen"
+END
+
+### OBK START - alternative "amtliche" Darstellung
+#LAYER
+#	NAME "sk4111_Bruchstrich_Z"
+#	GROUP "ALKIS" 
+#	TYPE ANNOTATION
+#	#DUMP TRUE
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=obk user=alkis"
+#	DATA "wkb_geometry from (SELECT * FROM alkis.obk_sk4111_flurstuecksnummer) as foo using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_srs "epsg:25832"
+#		wms_title "FlurstÃŒcksnummer BruchstrichzÃ€hler"
+#	END
+#	MINSCALEDENOM 0
+#	MAXSCALEDENOM 2600
+#	LABELITEM "bruchstrich_z"  
+#	SYMBOLSCALEDENOM 1000
+#	CLASSITEM "bruchstrich_n"
+#	CLASS
+#		EXPRESSION /^F/
+#		LABEL
+#			SIZE 9 MINSIZE 6 MAXSIZE 12
+#			TYPE TRUETYPE
+#			FONT "alkis_textsymbols"
+#			POSITION cc
+#			FORCE True
+#			COLOR 0 0 0
+#			BACKGROUNDCOLOR 255 255 255
+#		END
+#	END
+#END
+#LAYER
+#	NAME "sk4111_Bruchstrich_N"
+#	GROUP "ALKIS" 
+#	TYPE ANNOTATION
+#	#DUMP TRUE
+#	DATA "wkb_geometry from (SELECT * FROM alkis.obk_sk4111_flurstuecksnummer) as foo using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_srs "epsg:25832"
+#		wms_title "FlurstÃŒcksnummer Bruchstrichnenner"
+#	END
+#	MINSCALEDENOM 0
+#	MAXSCALEDENOM 2600
+#	LABELITEM "bruchstrich_n"
+#	SYMBOLSCALEDENOM 1000
+#	CLASSITEM "bruchstrich_n"
+#	CLASS
+#		EXPRESSION /^F/
+#		LABEL
+#			SIZE 9 MINSIZE 6 MAXSIZE 12
+#			TYPE TRUETYPE
+#			FONT "alkis_textsymbols"
+#			POSITION cc
+#			FORCE True
+#			COLOR 0 0 0
+#			BACKGROUNDCOLOR 255 255 255
+#		END
+#	END
+#END
+#LAYER
+#	NAME "sk4111_flurstuecksnummer_z"
+#	GROUP "ALKIS" 
+#	TYPE ANNOTATION
+#	#DUMP TRUE
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=obk user=alkis"
+#	DATA "wkb_geometry from (SELECT * FROM alkis.obk_sk4111_flurstuecksnummer) as foo using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_srs "epsg:25832"
+#		wms_title "FlurstÃŒcksnummer ZÃ€hler"
+#	END
+#	MINSCALEDENOM 0
+#	MAXSCALEDENOM 2600
+#	LABELITEM "zaehler" 
+#	SYMBOLSCALEDENOM 1000
+#	CLASS
+#	LABEL
+#		FONT "arialkursiv"
+#		TYPE TRUETYPE
+#		SIZE 9 MINSIZE 6 MAXSIZE 12
+#		ANGLE auto 
+#		POSITION uc
+#		FORCE True
+#		COLOR 0 0 0
+#		BACKGROUNDCOLOR 254 254 254 #255 255 255
+#	END
+#END
+#LAYER
+#	NAME "sk4111_flurstuecksnummer_n"
+#	GROUP "ALKIS" 
+#	TYPE ANNOTATION
+#	#DUMP TRUE
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=obk user=alkis"
+#	DATA "wkb_geometry from (SELECT * FROM alkis.obk_sk4111_flurstuecksnummer) as foo using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_srs "epsg:25832"
+#		wms_title "FlurstÃŒcksnummer Nenner"
+#	END
+#	MINSCALEDENOM 0
+#	MAXSCALEDENOM 2600
+#	LABELITEM "nenner"
+#	SYMBOLSCALEDENOM 1000
+#	CLASSITEM "bruchstrich_n"
+#	CLASS
+#	EXPRESSION /^F/
+#	LABEL
+#		FONT "arialkursiv"
+#		TYPE TRUETYPE
+#		SIZE 9 MINSIZE 6 MAXSIZE 12
+#		ANGLE auto 
+#		POSITION lc
+#		FORCE True
+#		COLOR 0 0 0
+#		BACKGROUNDCOLOR 254 254 254 #255 255 255
+#	END
+#END
+### OBK ENDE
+
+# Zuordnungspfeile FlurstÃŒck
+LAYER
+	NAME "ag_l_flurstueck" # Ausgestaltung Linie zum FlurstÃŒck
+	GROUP "flurstueck"
+	REQUIRES "[ag_t_flurstueck]" # WMS-Einstellung im Mapbender: Sel = aus (versteckt) aber sel_default = an. Ebene geht dann mit 'ag_t_flurstueck' automatisch an
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid,wkb_geometry FROM s_zuordungspfeil_flurstueck) as foo using unique ogc_fid using SRID=25832" # View gespeichert
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeil Linie"
+		wms_abstract "Zuordnungspfeil FlurstÃŒcksnummer Linie"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 3500
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		#NAME "Zuordnungspfeil"
+		STYLE
+			COLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+		END
+	END
+END
+LAYER
+	NAME "sk2004_zuordnungspfeil_spitze"
+	GROUP "flurstueck"
+	REQUIRES "[ag_l_flurstueck]" # WMS-Einstellung im Mapbender: Sel = aus (versteckt) aber sel_default = an. Ebene geht dann mit 'ag_l_flurstueck' automatisch an
+	TYPE Annotation
+	STATUS ON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM s_zuordungspfeilspitze_flurstueck) as foo using unique ogc_fid using SRID=25832" # View berechnet Winkel
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeil Spitze"
+		wms_abstract "Zuordnungspfeil FlurstÃŒcksnummer Spitze"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 3500
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		#NAME "Zuordnungspfeilspitze"
+		TEXT 'E'
+		LABEL
+			TYPE TRUETYPE
+			FONT "alkis_textsymbols"
+			SIZE 3 MINSIZE 2 MAXSIZE 6
+			POSITION cc
+			ANGLE [winkel]
+			COLOR 0 0 0
+			ANTIALIAS TRUE PARTIALS FALSE FORCE TRUE
+		END
+	END
+END
+
+# Flurstuecksnummer
+# Muster RLP: zaehler-nenner steht auch in Feld "ap_pto.schriftinhalt"
+# NRW: Feld "ap_pto.schriftinhalt" ist leer. Label aus Tabelle "ax_flurstueck" entnehmen
+# 2013-03-05: Nummer hinter Pfeil, damit der nicht quer durch die Nummer gezeichnet wird.
+LAYER
+	NAME "ag_t_flurstueck"
+	GROUP "flurstueck"
+	TYPE POINT
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "the_geom from (SELECT * FROM pp_flurstueck_nr) as foo using unique gid using SRID=25832" # Tabelle aus PostProcessing
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlurstÃŒcksnummer"
+		wms_abstract "FlurstÃŒck FlurstÃŒcksnummer"
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 4000
+	LABELITEM "fsnum"
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		NAME "FlurstÃŒcknummer"
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrowkursiv'
+			SIZE 9 MINSIZE 7 MAXSIZE 14
+			POSITION cc
+			OFFSET 0 -3.5433
+			COLOR 100 0 0 # 200 0 0
+			OUTLINECOLOR 254 254 254
+			OUTLINEWIDTH 2
+			FORCE True
+		END
+	END
+END
+# Zugehoerigkeitshaken Flurstueck
+LAYER
+	NAME "ag_p_flurstueck"
+	GROUP "flurstueck"
+	REQUIRES "[ax_flurstueck]" # WMS-Einstellung im Mapbender: Sel = aus (versteckt) aber sel_default = an. Ebene geht dann mit 'ax_flurstueck' automatisch an
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry, drehwinkel FROM s_zugehoerigkeitshaken_flurstueck) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "ZugehÃ¶rigkeitshaken" # Flurstueck
+		wms_abstract "FlurstÃŒck ZugehÃ¶rigkeitshaken"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 4000
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		TEXT 'B'
+		LABEL 
+		# In Mapserver 6.0 war der Ankerpunkt noch auf der FlurstÃŒcksgrenze
+		# Ab 6.2 etwas verschoben (falsch!), Haken ragt in das FS hinein. Nun Offset notwendig.
+			TYPE TRUETYPE FONT "alkis_textsymbols"
+			SIZE 14 MINSIZE 7 MAXSIZE 24
+			POSITION cc OFFSET 0 -3
+			COLOR 0 0 0
+			ANGLE [drehwinkel]
+			ANTIALIAS TRUE PARTIALS FALSE FORCE TRUE
+		END
+		#STYLE # Test 6.0 / 6.2
+		#	SYMBOL 'point' SIZE 3 COLOR 200 0 0
+		#END
+	END
+END
+# ALKIS Recht (Klassifizierungen, ges. Festlegungen)
+# alle Layer von GROUP "recht" (2013-03-01 verschoben hinter FS)
+LAYER
+	NAME "ax_klassifizierungnachstrassenrecht"
+	GROUP "recht"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, artderfestlegung, wkb_geometry FROM ax_klassifizierungnachstrassenrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Klassifizierung nach Strassenrecht"
+		wms_abstract "Klassifizierung nach StraÃenrecht' ist die auf den Grund und Boden bezogene BeschrÃ€nkung, Belastung oder andere Eigenschaft einer FlÃ€che nach Ã¶ffentlichen, straÃenrechtlichen Vorschriften."
+		wms_group_title "Recht"
+		wms_group_abstract "'Recht' gruppiert die Ebenen zur Klassifizierung und der auf den Grund und Boden bezogene BeschrÃ€nkung, Belastung oder andere Eigenschaft einer FlÃ€che."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'artderfestlegung'
+	CLASS
+		NAME "Bundesautobahn, Bundesstrasse"
+		EXPRESSION ('[artderfestlegung]' = '1110' OR '[artderfestlegung]' = '1120')
+		STYLE
+			COLOR 255 230 128
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "Landes- oder Staatsstrasse"
+		EXPRESSION ('[artderfestlegung]' = '1130')
+		STYLE
+			COLOR 255 255 178
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	# sn7858 GemeindeverbindungsstraÃe erhÃ€lt Schriftsatz
+END
+# ax_klassifizierungnachwasserrecht
+# Tabelle leer
+LAYER
+	NAME "ax_naturumweltoderbodenschutzrecht"
+	GROUP "recht"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry  FROM ax_naturumweltoderbodenschutzrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Natur, Umwelt oder Bodenschutzrecht"
+		wms_abstract "'Natur-, Umwelt- oder Bodenschutzrecht' ist die auf den Grund und Boden bezogene BeschrÃ€nkung, Belastung oder andere Eigenschaft einer FlÃ€che oder eines Gegenstandes nach Ã¶ffentlichen, natur-, umwelt- oder bodenschutzrechtlichen Vorschriften."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Natur, Umwelt oder Bodenschutzrecht"
+		STYLE
+			OUTLINECOLOR 128 255 128
+			WIDTH 3 # MINWIDTH 3 MAXWIDTH 3
+			PATTERN 11.34 2.85 END
+		END
+	END
+END
+LAYER
+	NAME "ax_anderefestlegungnachwasserrecht"
+	GROUP "recht"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry  FROM ax_anderefestlegungnachwasserrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Andere Festlegung nach Wasserrecht"
+		wms_abstract "Die auf den Grund und Boden bezogene BeschrÃ€nkung, Belastung oder andere Eigenschaft einer FlÃ€che nach Ã¶ffentlichen, wasserrechtlichen Vorschriften."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+#	CLASSITEM 'artderfestlegung'
+	CLASS
+		NAME "Andere Festlegung nach Wasserrecht"
+		STYLE 
+			OUTLINECOLOR 178 255 255
+			WIDTH 3
+			PATTERN 11.34 2.85 END
+		END
+	END
+#	CLASS
+#		NAME "Festgesetztes Ãberschwemmungsgebiet"
+#		EXPRESSION ('[artderfestlegung]' = '1441')
+#			COLOR 178 255 255
+#	END
+END
+LAYER
+	NAME "ax_bauraumoderbodenordnungsrecht_umrandung"
+	GROUP "recht"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+
+	# Tabelle (Standard-Template)
+	#DATA "wkb_geometry from (SELECT ogc_fid, gml_id, artderfestlegung, name, bezeichnung, stelle, wkb_geometry FROM ax_bauraumoderbodenordnungsrecht) as foo using unique ogc_fid using SRID=25832"
+
+	# Tabelle (Template mit Inlay, gkz als Parameter fuer DB-Zugriff uebergeben)
+	#DATA "wkb_geometry from (SELECT ogc_fid, gml_id, artderfestlegung, wkb_geometry, *gkz* as gkz FROM ax_bauraumoderbodenordnungsrecht) as foo using unique ogc_fid using SRID=25832"
+
+	# Tabelle (Template mit Inlay, gkz im Namen des Templat)
+	DATA "wkb_geometry from (SELECT ogc_fid, gml_id, artderfestlegung, wkb_geometry FROM ax_bauraumoderbodenordnungsrecht) as foo using unique ogc_fid using SRID=25832"
+
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bau-, Raum- oder Bodenordnungsrecht"
+		wms_abstract "'Bau-, Raum- oder Bodenordnungsrecht' ist ein fachlich ÃŒbergeordnetes Gebiet von FlÃ€chen mit bodenbezogenen BeschrÃ€nkungen, Belastungen oder anderen Eigenschaften nach Ã¶ffentlichen Vorschriften."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	SYMBOLSCALEDENOM 1000
+	TOLERANCEUNITS pixels TOLERANCE 1
+	HEADER   "/opt/gdi/templates/alkisrechtbauh.html"
+	#TEMPLATE "/opt/gdi/templates/alkisrechtbau.html" # konventionell
+	TEMPLATE "/opt/gdi/templates/alkisrechtbau_inl*gkz*.html" # mit Inlay, gkz-spezifisch
+	FOOTER   "/opt/gdi/templates/footer.html"
+	CLASSITEM "artderfestlegung" # integer
+
+	# Inhalte "Art der Festlegung"
+	#1700 - Festlegung nach Baugesetzbuch - Allgemeines StÃ€dtebaurecht
+	#1710   Bebauungsplan
+	#1720   VerÃ€nderungssperre nach Baugesetzbuch
+	#1730   Vorkaufrechtssatzung
+	#1740   Enteignungsverfahren
+	#1750 * Umlegung nach dem BauGB
+	#1760 * Bauland
+	#1770 * Vereinfachte Umlegung
+	#1780   Vorhaben- und ErschlieÃungsplan
+	#1790   FlÃ€chennutzungsplan
+	
+	#1800 - Festlegung nach Baugesetzbuch - Besonderes StÃ€dtebaurecht
+	#1810   StÃ€dtebauliche EntwicklungsmaÃnahme
+	#1811   StÃ€dtebauliche EntwicklungsmaÃnahme (Beschluss zu vorbereitenden Untersuchungen gefasst)
+	#1820   Erhaltungssatzung
+	#1821   StÃ€dtebauliches Erhaltungsgebiet
+	#1822   Soziales Erhaltungsgebiet
+	#1823   Erhaltungsgebiet zur stÃ€dtebaulichen Umstrukturierung
+	#1824   Soziales Erhaltungsgebiet (Aufstellungsbeschluss gefasst)
+	#1830   StÃ€dtebauliche Gebote
+	#1840   Sanierung
+	#1841   Sanierung (Beschluss zu vorbereitenden Untersuchungen gefasst)
+
+	#1900 - Wohnungsbauerleichterungsgesetz
+
+	#2100 - Flurbereinigungsgesetz
+	#2110 * Flurbereinigung (Par. 1, 37 FlurbG)
+	#2120   Vereinfachtes Flurbereinigungsverfahren (Par. 86 FlurbG)
+	#2130 * Unternehmensflurbereinigung (nach Par. 87 oder 90 FlurbG)
+	#2140 * Beschleunigtes Zusammenlegungsverfahren (Par. 91 FlurbG)
+	#2150   Freiwilliger Landtausch (Par. 103a FlurbG)
+	#2160   Verfahren nach dem Gemeinheitsteilungsgesetz
+	#2170   Verfahren nach dem Gemeinschaftswaldgesetz
+	#2180   Freiwilliger Nutzungstausch
+
+	#2200 - Verfahren nach dem Landwirtschaftsanpassungsgesetz
+	#2210   Flurneuordnung
+	#2220   Freiwilliger Landtausch (Par. 54 LwAnpG)
+	#2230   Bodenordnungsverfahren (Par. 56 LwAnpG)
+	#2240   ZusammenfÃŒhrung von Boden- und GebÃ€udeeigentum (Par. 64 LwAnpG)
+
+	#2300 - Bodensonderungsgesetz
+	#2310   Unvermessenes Eigentum
+	#2320   Unvermessenes Nutzungsrecht
+	#2330   ErgÃ€nzende Bodenneuordnung
+	#2340   Komplexe Bodenneuordnung
+
+	#2400 - VermÃ¶genszuordnungsgesetz
+	#2410   VermÃ¶genszuordnung nach Plan
+	#2411   VermÃ¶genszuordnung nach dem Aufteilungsplan
+	#2412   VermÃ¶genszuordnung nach dem Zuordnungsplan
+
+	#2500 - Landesraumordnungsgesetz
+	#2510   Wasservorranggebiete
+
+	#2600 - Bauordnung
+	#2610 * Baulast
+	#2611   BegÃŒnstigende Baulast
+	#2612   Belastende Baulast
+
+	#2700 - Grenzfeststellungsverfahren nach Hamb. Wassergesetz
+
+	#2800 - VerkehrsflÃ€chenbereinigung
+	
+	# Auswertung: Vorkommen in der Praxis
+
+	#	SELECT artderfestlegung, count(gml_id) as anzahl
+	#	FROM ax_bauraumoderbodenordnungsrecht
+	#	GROUP BY artderfestlegung
+	#	ORDER BY count(gml_id) desc;
+	
+	# key	HBM		LEO 	LAGE	RLP
+	# ----  ----	----	----	---
+	# 1750	0		0		0		1
+	# 1760	0		0		0		29
+	# 1770	0		0		0		1
+	# 2610	888		1327	203		7
+	# 2100	0		0		0		2
+	# 2110	4		8		2		0
+	# 2130	0		0		0		1
+	# 2140	0		0		10		0
+
+	# Gruppe 26**
+	CLASS
+		EXPRESSION "2610" # hÃ€ufig vorkommender Einzelwert
+		NAME "Baulast"
+		TEXT "Baulast"
+		STYLE
+			OUTLINECOLOR 255 128 128
+			WIDTH 3 MINWIDTH 2 MAXWIDTH 5
+			PATTERN 11 3 END
+		END
+		LABEL
+			TYPE TRUETYPE FONT "arial"
+			COLOR 255 128 128
+			OUTLINECOLOR 255 255 255
+			SIZE 14
+			MINSIZE 8
+			MAXSIZE 16
+			POSITION cc
+			PARTIALS FALSE FORCE FALSE
+		END
+	END
+	CLASS
+		EXPRESSION ('[artderfestlegung] ge '2100' and '[artderfestlegung] le '2199') # Rest der Gruppe
+		NAME "Flurbereinigung"
+		STYLE # FlÃ€chenfÃŒllung mit Punkt-Raster
+			COLOR 100 100 100
+			SYMBOL "sn3631"
+			SIZE 15 MINSIZE 10 MAXSIZE 25
+		END
+		STYLE
+			OUTLINECOLOR 255 128 128
+			WIDTH 3 MINWIDTH 2 MAXWIDTH 5
+			PATTERN 12 3 END
+		END
+	END
+	CLASS
+		EXPRESSION ('[artderfestlegung]' = '1750' OR '[artderfestlegung]' = '1770')
+		NAME "Umlegung"
+		TEXT "Umlegung"
+		STYLE
+			OUTLINECOLOR 255 128 128
+			WIDTH 3 MINWIDTH 2 MAXWIDTH 5
+			PATTERN 11 3 END
+		END
+		STYLE
+			COLOR 100 100 100
+			SYMBOL "sn3631"
+			SIZE 15 MINSIZE 10 MAXSIZE 20
+		END
+		LABEL
+			TYPE TRUETYPE
+			COLOR 255 0 255
+			FONT "arial"
+			SIZE 10 MINSIZE 8 MAXSIZE 14
+			POSITION cc
+			PARTIALS FALSE FORCE FALSE
+		END
+	END
+#	CLASS
+#		EXPRESSION "1760"
+#		NAME "Bauland"
+#		STYLE
+#			OUTLINECOLOR 255 128 128
+#			SYMBOL "sn1704"
+#			SIZE 2.835
+#		END
+#	END
+	CLASS
+		EXPRESSION /./
+		NAME "Bau-, Raum- oder Bodenordnungsrecht"
+		STYLE
+			OUTLINECOLOR 255 128 128
+			WIDTH 3 MINWIDTH 2 MAXWIDTH 5
+			PATTERN 11 3 END
+		END
+	END
+END
+LAYER
+	NAME "ax_denkmalschutzrecht"
+	GROUP "recht"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_denkmalschutzrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Denkmalschutzrecht"
+		wms_abstract "'Denkmalschutzrecht' ist die auf den Grund und Boden bezogene BeschrÃ€nkung, Belastung oder andere Eigenschaft einer FlÃ€che oder Gegenstand nach Ã¶ffentlichen, denkmalschutzrechtlichen Vorschriften."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Denkmalschutzrecht"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_sonstigesrecht"
+	GROUP "recht"
+	TYPE LINE
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, artderfestlegung, wkb_geometry FROM ax_sonstigesrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sonstiges Recht"
+		wms_abstract "'Sonstiges Recht' sind die auf den Grund und Boden bezogenen BeschrÃ€nkungen, Belastungen oder anderen Eigenschaften einer FlÃ€che nach weiteren, nicht unter die Objektarten 71001 bis 71010 zu subsumierenden Ã¶ffentlich - rechtlichen Vorschriften."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'artderfestlegung'
+	CLASS
+		NAME "Freileitung"
+		EXPRESSION ('[artderfestlegung]' = '4720')
+		STYLE
+			PATTERN 11.34 2.85 END
+			OUTLINECOLOR 255 128 128
+		END
+	END
+END
+
+# ALKIS Punktort (Vermessungspunkte)
+LAYER
+	NAME "ax_punktortta"
+	GROUP "punktort" # Der Layer kÃ¶nnte auch zur Gruppe FlurstÃŒck
+	TYPE POINT
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM grenzpunkt) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Grenzpunkt"
+		wms_abstract "Grenzpunkt in einer FlurstÃŒcksgrenze."
+		wms_group_title "Vermessungspunkte"
+		wms_group_abstract "ALKIS Punktorte"
+		gml_include_items "all"
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 2000
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		NAME "vermarkt"
+		EXPRESSION ('[abmarkung_marke]' < '9000') # 1000 bis 3845 = Abmarkung 
+		STYLE # Kringel
+			SYMBOL 'point'
+			COLOR 255 255 255
+			SIZE 4 MINSIZE 2 MAXSIZE 7 # FÃŒllung
+			OUTLINECOLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2 # Rand
+		END
+	END
+	CLASS # 9500=Ohne Marke, 9600=Abmarkung zeitweilig ausgesetzt, 9998=Nach Quellenlage nicht zu spezifizieren
+		NAME "unvermarkt"
+		STYLE
+			SYMBOL 'point'
+			SIZE 4 MINSIZE 2 MAXSIZE 6 # Freistellung
+			COLOR 255 255 255
+		END
+		STYLE
+			SYMBOL 'point'
+			SIZE 1.25 MINSIZE 1 MAXSIZE 3 # PÃŒnktchen
+			COLOR 0 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_punktortag"
+	GROUP "punktort" # kÃ¶nnte auch zu Gruppe GebÃ€ude
+	TYPE POINT
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_punktortag) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bes. GebÃ€udepunkt"
+		wms_abstract "'Punktort AG' ist ein Punktort mit redundanzfreier Geometrie (Besonderer GebÃ€udepunkt, Besonderer Bauwerkspunkt) innerhalb eines Geometriethemas."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 2000
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		NAME "GebÃ€udepunkt"
+		STYLE
+			SYMBOL "point"
+			SIZE 4 MINSIZE 3 MAXSIZE 8
+			COLOR 0 0 0 # voll
+		END
+	END
+END
+LAYER
+	NAME "ax_punktortau"
+	GROUP "punktort"
+	TYPE POINT
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_punktortau) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Punktort AU"
+		wms_abstract "'Punktort AU' ist ein Punktort mit unabhÃ€ngiger Geometrie ohne ZugehÃ¶rigkeit zu einem Geometriethema. 
+Er kann zu ZUSOs der folgenden Objektarten gehÃ¶ren: Grenzpunkt, Besonderer GebÃ€udepunkt, Besonderer Bauwerkspunkt, Aufnahmepunkt, Sicherungspunkt,
+Sonstiger Vermessungspunkt, Besonderer topographischer Punkt, Lagefestpunkt, HÃ¶henfestpunkt, Schwerefestpunkt, Referenzstationspunkt."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 2000
+	CLASS
+		NAME "PunktortAU"
+		STYLE
+			SYMBOL "point"
+			SIZE 5
+			COLOR 0 0 0
+		END
+	END
+END
+# ALKIS  AAA-PrÃ€sentationsobjekte
+# ToDo: Welche Texte sollen zu anderen Layern angezeigt werden?
+LAYER
+	NAME "ap_pto_stra"
+	GROUP "praesentation"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "the_geom from (SELECT * FROM pp_strassenname_p) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "StraÃen ."
+		wms_abstract "Beschriftung mit Art = StraÃe, Weg, Platz, Klassifizierung (Punkt)"
+		wms_group_title "PrÃ€sentation"
+		wms_group_abstract "Gruppierung der Ebenen mit ALKIS PrÃ€sentationsobjekten"
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	#MINSCALEDENOM 50
+	MAXSCALEDENOM 4000
+	SYMBOLSCALEDENOM 1000
+	LABELITEM schriftinhalt
+	
+	# Strasse
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse' AND '[hor]' eq 'linksbÃŒndig' AND '[ver]' eq 'Basis')
+		#NAME 'StraÃe'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 6 MAXSIZE 20
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse' AND '[hor]' eq 'zentrisch' AND '[ver]' eq 'Mitte')
+		#NAME 'StraÃe'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 6 MAXSIZE 20
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION cc # zentrisch/Mitte
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse') 
+		NAME 'StraÃe'
+		STYLE
+			SYMBOL "point" SIZE 1 MINSIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 6 MAXSIZE 20
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION uc # zentrisch/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+
+	# Weg
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg' AND '[hor]' eq 'linksbÃŒndig' AND '[ver]' eq 'Basis')
+		#NAME 'Weg'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 8 MINSIZE 5 MAXSIZE 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel] 
+			POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg' AND '[hor]' eq 'zentrisch' AND '[ver]' eq 'Mitte')
+		#NAME 'Weg'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 8 MINSIZE 5 MAXSIZE 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel] POSITION cc # zentrisch/Mitte
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg')
+		NAME 'Weg'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 8 MINSIZE 5 MAXSIZE 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel] POSITION uc # zentrisch/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+
+	# Platz 
+	CLASS
+		#EXPRESSION 'Platz'
+		EXPRESSION ('[art]' eq 'Platz' AND '[ver]' eq 'Mitte')
+		#NAME 'Platz'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 7 MAXSIZE 22
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION cc # zentrisch/Mitte
+			COLOR 0 0 90
+			FORCE true
+		END
+	END
+	CLASS
+		#EXPRESSION 'Platz'
+		EXPRESSION ('[art]' eq 'Platz')
+		NAME 'Platz'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 7 MAXSIZE 22
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION uc # zentrisch/Basis
+			COLOR 0 0 90
+			FORCE true
+		END
+	END
+
+	# Klassifikation
+	CLASS
+		#EXPRESSION 'BezKlassifizierungStrasse'
+		EXPRESSION ('[art]' eq 'BezKlassifizierungStrasse' AND '[hor]' eq 'linksbÃŒndig')
+		#NAME 'Klassifizierung'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 11 MINSIZE 8 MAXSIZE 22
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 90 0
+			FORCE true
+		END
+	END
+	CLASS
+		#EXPRESSION 'BezKlassifizierungStrasse'
+		EXPRESSION ('[art]' eq 'BezKlassifizierungStrasse')
+		NAME 'Klassifizierung'
+		STYLE
+			SYMBOL "point" SIZE 1 MINSIZE 1
+		END
+		LABEL
+			SIZE 11 MINSIZE 8 MAXSIZE 22
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION uc # zentrisch/Basis
+			COLOR 0 90 0
+			FORCE true
+		END
+	END
+END
+
+LAYER # 2014-08-25 Neu: wie zuvor, aber positioniert ÃŒber Linie
+	NAME "ap_lto_stra"
+	GROUP "praesentation"
+	TYPE LINE
+	REQUIRES "[ap_pto_stra]" # P- und L gemeinsam
+	STATUS DEFAULT # automatisch mit
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "the_geom from (SELECT * FROM pp_strassenname_l) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "StraÃen _"
+		wms_abstract "Beschriftung mit Art = StraÃe, Weg, Platz, Klassifizierung (Linie)"
+	END
+	MAXSCALEDENOM 4000
+	SYMBOLSCALEDENOM 1000
+	LABELITEM schriftinhalt
+
+## SELECT DISTINCT art, hor, ver FROM pp_strassenname_l ORDER BY art, hor, ver;
+# "BezKlassifizierungStrasse"; "linksbÃŒndig"; "Basis"
+# "Strasse"; "linksbÃŒndig"; "Basis"
+# "Strasse"; "zentrisch";   "Mitte"
+# "Weg";     "linksbÃŒndig"; "Basis"
+
+	# Strasse
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse' AND '[hor]' eq 'linksbÃŒndig' AND '[ver]' eq 'Basis')
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 6 MAXSIZE 20
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse' AND '[hor]' eq 'zentrisch' AND '[ver]' eq 'Mitte')
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 6 MAXSIZE 20
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION cc # zentrisch/Mitte
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse') 
+		NAME 'StraÃe'
+		STYLE
+			SYMBOL "point" SIZE 1 MINSIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 6 MAXSIZE 20
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION uc # zentrisch/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+
+	# Weg
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg' AND '[hor]' eq 'linksbÃŒndig' AND '[ver]' eq 'Basis')
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 8 MINSIZE 5 MAXSIZE 16
+			TYPE TRUETYPE FONT "arial"
+			POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	#CLASS
+	#	EXPRESSION ('[art]' eq 'Weg' AND '[hor]' eq 'zentrisch' AND '[ver]' eq 'Mitte')
+	#	STYLE
+	#		SYMBOL "point" SIZE 1
+	#	END
+	#	LABEL
+	#		SIZE 8 MINSIZE 5 MAXSIZE 16
+	#		TYPE TRUETYPE FONT "arial"
+	#		POSITION cc # zentrisch/Mitte
+	#		COLOR 0 0 0
+	#		FORCE true
+	#	END
+	#END
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg')
+		NAME 'Weg'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 8 MINSIZE 5 MAXSIZE 16
+			TYPE TRUETYPE FONT "arial"
+			POSITION uc # zentrisch/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+
+	# Platz 
+#	CLASS
+#		EXPRESSION ('[art]' eq 'Platz' AND '[ver]' eq 'Mitte')
+#		STYLE
+#			SYMBOL "point" SIZE 1
+#		END
+#		LABEL
+#			SIZE 10 MINSIZE 7 MAXSIZE 22
+#			TYPE TRUETYPE FONT "arialbold"
+#			POSITION cc # zentrisch/Mitte
+#			COLOR 0 0 90
+#			FORCE true
+#		END
+#	END
+#	CLASS
+#		EXPRESSION ('[art]' eq 'Platz')
+#		NAME 'Platz'
+#		STYLE
+#			SYMBOL "point" SIZE 1
+#		END
+#		LABEL
+#			SIZE 10 MINSIZE 7 MAXSIZE 22
+#			TYPE TRUETYPE FONT "arialbold"
+#			POSITION uc # zentrisch/Basis
+#			COLOR 0 0 90
+#			FORCE true
+#		END
+#	END
+
+	# Klassifikation
+	CLASS
+		EXPRESSION ('[art]' eq 'BezKlassifizierungStrasse' AND '[hor]' eq 'linksbÃŒndig')
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 11 MINSIZE 8 MAXSIZE 22
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 90 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'BezKlassifizierungStrasse')
+		NAME 'Klassifizierung'
+		STYLE
+			SYMBOL "point" SIZE 1 MINSIZE 1
+		END
+		LABEL
+			SIZE 11 MINSIZE 8 MAXSIZE 22
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION uc # zentrisch/Basis
+			COLOR 0 90 0
+			FORCE true
+		END
+	END
+END
+
+## ToDo: neuen Layer Namen auf View ap_pto_nam (NAM, ZNM)
+##  Unterscheidung horizontale/vertikale Position.
+##  Namen von GebÃ€ude wieder wegnehmen? - Oder ALLE Namen jeweils auch einer fachlichen Ebene/Gruppe zuordnen?
+LAYER
+	NAME "ap_pto" # Rest
+	GROUP "praesentation"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM ap_pto_rest) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Beschriftung"
+		wms_abstract "TextfÃ¶rmiges PrÃ€sentationsobjekt mit punktfÃ¶rmiger Textgeometrie PTO, sonstige"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	SYMBOLSCALEDENOM 1000
+	LABELITEM schriftinhalt
+	CLASSITEM art 
+	CLASS
+		NAME "Gewanne"
+		EXPRESSION 'Gewanne'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL # waagerecht
+			SIZE 11 MINSIZE 9 MAXSIZE 18
+			TYPE TRUETYPE FONT "arial"
+			POSITION cc
+			COLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "freier Text"
+		EXPRESSION 'FreierText'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 8 MAXSIZE 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel]
+			POSITION cc
+			COLOR 0 0 0
+			WRAP "/n" MAXLENGTH 15
+		END
+	END
+	CLASS
+		NAME "sonst. Beschriftung" # Rest
+		EXPRESSION /./
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 8 MAXSIZE 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel]
+			POSITION cc
+			COLOR 0 0 0
+			WRAP "/n" # z.b. "Schwimm-/nbecken", Fehler: das "n" bleibt im Label!
+			MAXLENGTH 15
+		END
+	END
+END
+
+# ap_ppo fehlt noch (PunktfÃ¶rmiges PrÃ€sentationsobjekt)
+
+## Gruppe  G r e n z e n
+# Politische Grenzen:
+# Grenze der Bundesrepublik Deutschland 7101 (G)
+# ..des Bundeslandes 7102 (G)
+# ..des Regierungsbezirks 7103 (G)
+# ..des Landkreises 7104 (G)
+# ..der Gemeinde 7106
+# ..des Gemeindeteils 7107
+# ..der Verwaltungsgemeinschaft 7108
+LAYER
+	NAME 'pol_Grenze'
+	GROUP 'grenzen'
+	TYPE LINE
+	STATUS ON
+	METADATA
+		wms_group_title "Grenzen"
+		wms_group_abstract "Grenzen von Katasterbezirken und politische Grenzen"
+		wms_title "Politische Grenze"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_abstract "Grenzen von Bundesland, Regierungsbezirk, Kreis und Stadt oder Gemeinde"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 250
+	MAXSCALEDENOM 12000
+	#SYMBOLSCALEDENOM 1000
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA 'wkb_geometry from (SELECT * FROM sk201x_politische_grenze) as foo using unique ogc_fid using SRID=25832'
+	CLASSITEM 'art' # Art der besonderen Grundstuecksgrenze  IST EIN ARRAY! z.B. {3000,7106}
+	CLASS
+		NAME 'Bundeslandgrenze'
+		EXPRESSION /7102/ # reg. Expr.
+		STYLE
+			COLOR 255 255 255
+			WIDTH 7 MINWIDTH 7 MAXWIDTH 7
+		END
+		STYLE
+			COLOR 242 128 255
+			WIDTH 7 MINWIDTH 7 MAXWIDTH 7
+			PATTERN 5 15 5 15 27 12 27 15 END
+			LINECAP butt
+			LINEJOINMAXSIZE 20
+			LINEJOIN miter					
+		END
+	END
+	CLASS
+		NAME 'Regierungsbezirksgrenze'
+		EXPRESSION /7103/
+		STYLE
+			COLOR 255 255 255
+			WIDTH 5 MINWIDTH 5 MAXWIDTH 5
+		END
+		STYLE
+			COLOR 242 128 255
+			WIDTH 5 MINWIDTH 5 MAXWIDTH 5
+			PATTERN 4 15 4 15 25 10 25 13 END
+			LINECAP butt
+			LINEJOINMAXSIZE 20
+			LINEJOIN miter					
+		END
+	END
+	CLASS
+		NAME 'Kreisgrenze'
+		EXPRESSION /7104/
+		STYLE
+			COLOR 255 255 255
+			WIDTH 5 MINWIDTH 5 MAXWIDTH 5
+		END
+		STYLE
+			COLOR 242 128 255 
+			WIDTH 5 MINWIDTH 5 MAXWIDTH 5
+			PATTERN 23.33 12.5 5 15 5 12.5 END
+			LINECAP butt
+			LINEJOINMAXSIZE 20
+			LINEJOIN miter					
+		END
+	END
+	CLASS
+		NAME 'Gemeindegrenze'
+		EXPRESSION /7106/
+		STYLE
+			COLOR 255 255 255
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 4
+		END
+		STYLE 
+			COLOR 242 128 255
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 4
+			PATTERN 16.67 8.33 3.33 8.33 END
+			LINECAP butt
+			LINEJOINMAXSIZE 20
+			LINEJOIN miter					
+		END
+	END
+END
+LAYER
+	NAME 'gemarkungsrenze'
+	GROUP 'grenzen'
+	TYPE LINE
+	STATUS ON
+	METADATA
+		wms_title "Gemarkungsrenze"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_abstract "Grenze der Gemarkung (Ortsteil)"
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 200
+	MAXSCALEDENOM 10000
+	SYMBOLSCALEDENOM 1000
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA 'wkb_geometry from (SELECT * FROM sk2014_gemarkungsgrenze) as foo using unique ogc_fid using SRID=25832'
+	CLASS
+		NAME 'Gemarkungsgrenze'
+		STYLE
+			COLOR 254 254 254 # heller Untergrund (FlurstÃŒcksgrenze ÃŒbermalen)
+			WIDTH 4 MINWIDTH 3 MAXWIDTH 6
+		END
+		STYLE 
+			COLOR 242 128 255
+			WIDTH 4 MINWIDTH 3 MAXWIDTH 6
+			PATTERN 16.67 8.33 3.33 10 3.33 8.33 END
+			LINECAP butt
+			LINEJOINMAXSIZE 20
+		END
+	END
+END
+LAYER
+	NAME 'flurgrenze'
+	GROUP 'grenzen'
+	TYPE LINE
+	METADATA
+		wms_title "Flurgrenze"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_abstract "Grenze der Flur (Katasterbezirk)"
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	SYMBOLSCALEDENOM 1000
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA 'wkb_geometry from (SELECT * FROM sk2012_flurgrenze) as foo using unique ogc_fid using SRID=25832'
+	CLASS
+		NAME 'Flurgrenze'
+		#STYLE
+		#	COLOR 254 254 254 # heller Untergrund
+		#	WIDTH 3 MINWIDTH 2 MAXWIDTH 4
+		#END
+		STYLE 
+			COLOR 242 128 255
+			WIDTH 3 MINWIDTH 2 MAXWIDTH 4
+			PATTERN 16.67 8.33 3.33 10 3.33 10 3.33 8.33 END
+			LINECAP butt
+			LINEJOINMAXSIZE 20
+			LINEJOIN miter			
+		END
+	END
+END
+
+LAYER
+	NAME "copyright"
+	STATUS ON # DEFAULT
+	TYPE annotation
+	TRANSFORM lr
+	METADATA
+		wms_title "Copyright"
+		wms_abstract "In der Karte sichtbare Angabe auf die Herkunft der Daten"
+		WMS_KEYWORDLIST "Katasteramt, Copyright, Quellenangabe"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+	END
+	FEATURE
+		POINTS 0 0 END
+		# individuelle Vertragsnummer einsetzen
+		TEXT 'Copyright Geobasisdaten Liegenschaftskataster Kreis __'
+	END
+	CLASS
+		LABEL
+			SIZE small
+			POSITION ul
+			COLOR 50 50 50
+			FORCE TRUE
+			STYLE
+				GEOMTRANSFORM 'labelpoly'
+				COLOR 250 250 250
+			END
+		END
+	END
+END
+END
Index: branches/0.7/umn/alkis/fskomrlp_4.map
===================================================================
--- branches/0.7/umn/alkis/fskomrlp_4.map	(revision 329)
+++ branches/0.7/umn/alkis/fskomrlp_4.map	(revision 329)
@@ -0,0 +1,68 @@
+MAP # 2013-11-26 FlurstÃŒcke im Kommunalen Eigentum - Ortsgemeinde Osann-Monzel
+	NAME "fskomrlp"
+	STATUS ON
+	EXTENT 349000 5529000 356000 5533000
+	PROJECTION "init=epsg:25832" END
+	MAXSIZE 8200
+	FONTSET "/opt/gdi/fonts/arial.fnt"
+	UNITS METERS
+	WEB
+		METADATA
+			wms_title "FlurstÃŒcke kommunal"
+			wms_srs "EPSG:31467 EPSG:4326 EPSG:25832 EPSG:54004"
+			wms_encoding "UTF-8"
+			wms_onlineresource "http://ows.krz.de/cgi-bin/mapserv62?map=/opt/gdi/wms/fskomrlp_4.map"
+			wms_enable_request "getmap"
+			wms_box_extended "true"
+		END
+	END
+	LEGEND
+		STATUS ON
+		KEYSIZE 32 16
+		KEYSPACING 5 5
+		TRANSPARENT ON
+		LABEL
+			TYPE TRUETYPE
+			FONT 'arial'
+			SIZE 9
+			COLOR 1 1 1
+		END
+	END
+	LAYER
+		NAME "st_flurst"
+		TYPE POLYGON
+		CONNECTIONTYPE POSTGIS
+		CONNECTION "host=10.0.100.73 dbname=alkis07rlp user=ms6 port=5432"
+		PROCESSING "CLOSE_CONNECTION=DEFER"
+		DATA "wkb_geometry from st_flurst using SRID=25832 using unique gml_id"
+		METADATA
+			wms_srs "EPSG:31467 EPSG:4326 EPSG:25832 EPSG:54004"
+			wms_title "FlÃ€che"
+		END
+		MINSCALEDENOM 12 #50
+		MAXSCALEDENOM 3000 #12000
+		SYMBOLSCALEDENOM 250 #1000
+		CLASSITEM ba_dien
+		CLASS
+			EXPRESSION "0"
+			NAME "Eigentum"
+			STYLE
+				COLOR 250 180 0 OPACITY 20
+			END
+			STYLE
+				OUTLINECOLOR 200 60 0
+				WIDTH 4.8 MINWIDTH 3.2 MAXWIDTH 8.8 # 1.2 0.8 2.2
+			END
+		END
+		CLASS
+			NAME "Recht an .."
+			STYLE
+				COLOR 240 90 60 OPACITY 20
+			END
+			STYLE
+				OUTLINECOLOR 250 20 0
+				WIDTH 4.8 MINWIDTH 3.2 MAXWIDTH 8.8
+			END
+		END
+	END
+END
Index: branches/0.7/umn/alkis/alkis_muster.map
===================================================================
--- branches/0.7/umn/alkis/alkis_muster.map	(revision 329)
+++ branches/0.7/umn/alkis/alkis_muster.map	(revision 329)
@@ -0,0 +1,4459 @@
+# WMS: ALKIS PostNAS Muster mit Platzhalter *gkz* fÃŒr Mandant - Entwickler-Version
+#
+# Stand / Historie:
+# 2012-02-09 F.J. krz  Branch 0.7 aus Version 0.6
+# 2012-02-17 F.J. krz  data dbname=alkis07, Layer-Group pp_gebiete
+# 2012-03-05 F.J. krz  PROCESSING "CLOSE_CONNECTION=DEFER"
+# 2012-04-17 F.J. krz  Tabelle pp_flurstueck_nr ersetzt View s_flurstueck_nr.
+#                      Auch Standard-Position vom Flurstuecksnummern anzeigen
+# 2013-01-23 F.J. krz  ax_flurstueck bis 1:25.000 (fÃŒr MapProxy)
+# 2013-03-05 F.J. krz  Umstellung auf Mapserver 6.2
+#                      Abgleich mit SVN-Version, z.B. kein "SYMBOL 0" mehr in Pol. Grenz.
+#                      Gruppe "Recht" verschoben hinter "Flurstueck" und "Gebiete" hinter "Nutzungsarten"
+#                      Layer FlurstÃŒcksnummer hinter Zuordnungspfeil.
+#                      Logical Expression: [column] und Wert in '' einschlieÃen (Log-Meldung).
+#                      Keine Schraffur auf "GebÃ€ude, graphisch".
+#                      "Laufende Nummer NebengebÃ€ude": kein PrÃ€sentationsobjekt mehr, Anzeige mittig in Geb.-FlÃ€che 
+# 2013-03-11 F.J. krz  Neuer Layer "ax_gebaeude_txt" (Funktion und Name zum GebÃ€ude)
+# 2013-04-18 F.J. krz  Thema (Gruppe) "BodenschÃ€tzung" wurde ÃŒberarbeitet und vor Gruppe "FlurstÃŒcke" verschoben
+# 2013-06-19 F.J. krz  Layer "ax_untergeordnetesgewaesser_polygon"/"*_line" nach Geometrietyp filtern nicht nach funktion
+# 2013-10-16 F.J. krz  FS-Nr dunkler, besser sichtbar auf SW-Drucker.
+# 2013-10-24 F.J. krz  PrÃ€sentation der StraÃennamen aus der Tabelle "pp_strassenname" statt aus dem View "ap_pto_stra".
+#                      Die Tabelle wird im PostProcessing redundant befÃŒllt um schneller darstellen zu kÃ¶nnen.
+# 2014-01-08 F.J. krz  alle Arten von "sonstige Bauwerke" anzeigen (z.B. Carports), auch Linien (neuer Layer)
+# 2014-08-25 F.J. krz  StraÃennamen als P- und L-Variante, hinter "ap_pto_stra" neuer Layer "ap_lto_stra"
+
+###
+# Tipp: Verwenden sie "Map-Trimmer" http://map.krz.de/?Software:Maptrimmer um auskommentierte Bereiche zu entfernen.
+###
+
+# ToDo:
+# - Gebaeude: Layer nach "Name" und "Funktion" auftrennen.
+
+# - neuen Layer "Namen" auf View ap_pto_nam (NAM, ZNM)
+
+# - Bei PrÃ€sentation/Beschriftung die doppelten Texte unterdrÃŒcken (-> View?)
+#   FÃŒr appto_stra und appto_rest bereits erfolgt.
+
+# - Mit Status on/off die gÃ€ngigen Layer vorkonfigurieren?
+
+# - Zuordnungspfeile FS:
+#   Linie im Druck zu dÃŒnn
+#   Ist doppelt: in "FlurstÃŒck" ("ag_l_flurstueck") und in "PrÃ€sentation/Zuordnungspfeile" ("ap_lpo")
+
+# - Zuordnungspfeile NebengebÃ€ude:
+#   entfÃ€llt? Oder auch fÃŒr Hausnummern verwendet?
+#   Was wird da eigentlich zugeordnet?  Beispiel: 140 am Quellenweg
+
+# - StraÃennamen im Cache abgeschnitten, PARTIALS TRUE?  Beispiel: 250 BrÃŒderweg
+# - Hausnummern doppelt oder mehrfach (z.B. 070: BÃŒrgermeister-Brinkmann-Weg 3)
+# - Template auf GebÃ€ude-Objekt, Auskunft aufrufen?
+
+###
+# Tipp fÃŒr Mapbender 2-Nutzer:
+# Damit bei einem bestehenden WMS nach dem Neu-Hochladen auch die geÃ€nderte Layer-Reihenfolge wirksam wird,
+# sollte in der Mapbender-Datenbank folgendes SQL ausgefÃŒhrt werden:
+#  UPDATE gui_layer g SET gui_layer_priority = (SELECT layer_pos FROM layer l 
+#   WHERE g.fkey_layer_id = l.layer_id AND g.gui_layer_wms_id = l.fkey_wms_id)
+#  WHERE g.gui_layer_wms_id = ___; -- HIER: die ID des WMS einsetzen
+###
+
+###
+# GID = Geo Info Dok
+# Farbangabe  dort "Farbe    - 0      - 0         - 0        - 20     " 
+# das bedeutet:    "Grundton - cyan % - magenta % - yellow % - black %"
+###
+
+MAP
+	NAME "alkis"
+	STATUS ON
+	EXTENT 349000 5529000 356000 5533000
+	PROJECTION "init=epsg:25832" END
+	MAXSIZE 2100
+	SYMBOLSET "symbols/symbols_alkis.sym"
+	FONTSET "fonts/fonts_alkis.fnt"
+	UNITS METERS
+	#CONFIG "MS_ERRORFILE" "/opt/gdi/log/umn.log" # Nur fuer Test
+	#DEBUG 3
+	WEB
+		METADATA
+			wms_title "ALKIS" # TEST-Kennung im Title
+			ows_abstract "ALKIS - Konverter PostNAS Version 0.7, Mapfile, Version vom August 2014"
+			ows_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+			ows_encoding "UTF-8"
+			ows_onlineresource "http://ows.krz.de/cgi-bin/mapserv6?map=/opt/gdi/alkis07/alkis07*gkz*.map"
+			wms_feature_info_mime_type "text/html"
+			wfs_accessconstraints "none"
+			wfs_title "ALKIS"
+			wfs_feature_info_mime_type "text/html"
+			ows_schema_location ".."
+			wfs_geometry_element_name "wkb_geometry"
+			ows_keywordlist "ALKIS,FlurstÃŒck,NAS"
+			ows_fees "none"
+			ows_accessconstraints "fÃŒr den Dienstgebrauch"
+			ows_enable_request "*"
+			wms_box_extended "true"
+			include "meta_contact.map" # individuelle Datei je Katasteramt
+		END
+	END
+	LEGEND
+		STATUS ON
+		KEYSIZE 32 16
+		KEYSPACING 5 5
+		TRANSPARENT ON
+		LABEL
+			TYPE TRUETYPE
+			FONT 'arial'
+			SIZE 9
+			COLOR 1 1 1
+		END
+	END
+
+# ALKIS tatsaechliche Nutzung (Siedlung, Verkehr, GewÃ€sser, Vegetation)
+# alle Layer von GROUP "ax_nutzungen"
+## ** Siedlung **
+## 01 AX_Wohnbauflaeche
+## 02 AX_IndustrieUndGewerbeflaeche
+## 03 AX_Halde
+## 04 AX_Bergbaubetrieb
+## 05 AX_TagebauGrubeSteinbruch
+## 06 AX_FlaecheGemischterNutzung
+## 07 AX_FlaecheBesondererFunktionalerPraegung
+## 08 AX_SportFreizeitUndErholungsflaeche
+## 09 AX_Friedhof
+## ** Verkehr **
+## 10 AX_Strassenverkehr
+## 11 AX_Weg
+## 12 AX_Platz
+## 13 AX_Bahnverkehr
+## 14 AX_Flugverkehr
+## 15 AX_Schiffsverkehr
+## ** Vegetation **
+## 16 AX_Landwirtschaft
+## 17 AX_Wald
+## 18 AX_Gehoelz
+## 19 AX_Heide
+## 20 AX_Moor
+## 21 AX_Sumpf
+##    (AX_UnkultivierteFlaeche)
+## 22 AX_UnlandVegetationsloseFlaeche
+##    (AX_Vegetationsmerkmal)
+## ** GewÃ€sser **
+## 24 AX_Fliessgewaesser
+## 25 AX_Hafenbecken
+## 26 AX_StehendesGewaesser
+## 27 (AX_Meer)
+
+# Der Layer "nutzung_alle" wird gefuettert aus der Tabelle "nutzung".
+# "nutzung" wird nicht von PostNAS gefuellt sondern nach jeder Konvertierung als Optimierung aus vielen verschiedenen Tabellen zusammen gefasst.
+# Dieser Layer soll hauptsaechlich fuer das Generieren (Seeding) des NUA-Layers im MapProxy verwendet werden.
+# Dieser Layer wird als WFS konfiguriert.
+# Die WFS auf die anderen (einzelnen) NUA-Layer werden deaktiviert.
+LAYER
+	NAME "nutzung_alle"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT gml_id, nutz_id, class, wkb_geometry FROM nutzung) as foo using unique gml_id using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "alle Nutzungsarten"
+		wms_abstract "Zusammenfassung aller Nutzungsarten-FlÃ€chen"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 20000 # die Einzel-Layer bis 10T
+	CLASSITEM nutz_id
+	# ** Siedlung **
+	CLASS
+		EXPRESSION '1'
+		NAME "WohnbauflÃ€che"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '2'
+		NAME "Industrie- und GewerbeflÃ€che"
+		STYLE
+			COLOR 237 237 237
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '3'
+		NAME "Halde"
+		STYLE
+			COLOR 237 237 237
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '4'
+		NAME "Bergbaubetrieb"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '5'
+		NAME "Tagebau Grube Steinbruch"
+		STYLE
+			COLOR 227 227 227
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '6'
+		NAME "FlÃ€che gemischter Nutzung"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '7'
+		NAME "FlÃ€che besonderer funktionaler PrÃ€gung"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '8'
+		NAME "Sport-, Freizeit- und ErholungsflÃ€che"
+		STYLE
+			COLOR 224 255 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '9'
+		NAME "Friedhof"
+		STYLE
+			COLOR 201 228 201
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	# ** Verkehr ** nutzung.class = ax_Strassenverkehr.function
+	CLASS
+		NAME "FuÃgÃ€ngerzone"
+		EXPRESSION ('[nutz_id]' = '10' and '[class]' = '5130')
+		STYLE
+			COLOR 217 255 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "VerkehrsbegleitflÃ€che StraÃe"
+		EXPRESSION ('[nutz_id]' = '10' and '[class]' = '2312')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "StraÃenentwÃ€sserungsanlage"
+		EXPRESSION ('[nutz_id]' = '10' and '[class]' = '2313')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude- und FreiflÃ€che zu Verkehrsanlagen, StraÃe"
+		EXPRESSION ('[nutz_id]' = '10' and '[class]' = '2311')
+		STYLE
+			COLOR 200 200 200
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '10'
+		NAME "StraÃenverkehr"
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '11'
+		NAME "Weg"
+		STYLE
+			COLOR 250 250 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "FuÃgÃ€ngerzone (Platz)"
+		EXPRESSION ('[nutz_id]' = '12' and '[class]' = '5130')
+		STYLE
+			COLOR 217 247 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '12'
+		NAME "Platz"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '13'
+		NAME "Bahnverkehr"
+		STYLE
+			COLOR 250 250 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '14'
+		NAME "Flugverkehr"
+		STYLE
+			COLOR 221 236 197
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '15'
+		NAME "Schiffsverkehr" 
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	# ** Vegetation **
+	# AX_Landwirtschaft=16, class=vegetationsmerkmal
+	CLASS
+		NAME "Ackerland, Streuobstacker, Hopfen und Spargel"
+		EXPRESSION ('[nutz_id]' = '16' and '[class]' < '1020')
+		STYLE
+			COLOR 255 247 191
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "GrÃŒnland, Streuobstwiese, Gartenland, Baumschule, Weingarten, Obstplantage, Obstbaumplantage und Obststrauchplantage"
+		EXPRESSION ('[nutz_id]' = '16' and '1019' < '[class]' AND '[class]' < '1199')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "Brachland"
+		EXPRESSION ('[nutz_id]' = '16' and '1199' < '[class]')
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '17'
+		NAME "Wald"
+		STYLE
+			COLOR 251 255 251
+			OUTLINECOLOR 0 255 0
+		END
+	END
+	CLASS
+		EXPRESSION '18'
+		NAME "GehÃ¶lz"
+		STYLE
+			COLOR 187 222 201
+			OUTLINECOLOR  153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '19'
+		NAME "Heide"
+		STYLE
+			COLOR 230 215 207
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '20'
+		NAME "Moor"
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '21'
+		NAME "Sumpf"
+		STYLE
+			COLOR 230 215 207
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '22'
+		NAME "Unland, vegetationslose FlÃ€che"
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	#CLASS
+	#	EXPRESSION 23
+	#	NAME "Vegetationsmerkmal" ??
+	#	STYLE
+	#		OUTLINECOLOR 0 255 0
+	#	END
+	#END
+	# ** GewÃ€sser **
+	CLASS
+		EXPRESSION '24'
+		NAME "FlieÃgewÃ€sser"
+		STYLE
+			COLOR 190 233 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '25'
+		NAME "Hafenbecken"
+		STYLE
+			COLOR 230 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS
+		EXPRESSION '26'
+		NAME "stehendes GewÃ€sser"
+		STYLE
+			COLOR 190 233 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	# '27' = Meer
+END
+
+## ** Siedlung **
+LAYER
+	NAME "ax_wohnbauflaeche"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]" # nicht doppelt
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_wohnbauflaeche) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "WohnbauflÃ€che"
+		wms_abstract "'WohnbauflÃ€che' ist eine baulich geprÃ€gte FlÃ€che einschlieÃlich der mit ihr im Zusammenhang stehenden FreiflÃ€chen (z.B. VorgÃ€rten, ZiergÃ€rten, Zufahrten, StellplÃ€tze und HofraumflÃ€chen), die ausschlieÃlich oder vorwiegend dem Wohnen dient."
+		wms_group_title "Nutzung"
+		wms_group_abstract "ALKIS tatsÃ€chliche Nutzung (Siedlung, Verkehr, GewÃ€sser, Vegetation)"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "WohnbauflÃ€che"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_industrieundgewerbeflaeche"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_industrieundgewerbeflaeche) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Industrie- und GewerbeflÃ€che"
+		wms_abstract "'Industrie- und GewerbeflÃ€che' ist eine FlÃ€che, die vorwiegend industriellen oder gewerblichen Zwecken dient."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'funktion'
+	CLASS
+		NAME "Industrie- und GewerbeflÃ€che"
+		#EXPRESSION ('999' < '[funktion]')
+		STYLE
+			COLOR 237 237 237
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_halde"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry  FROM ax_halde) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Halde"
+		wms_abstract "Halde"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Halde"
+		STYLE
+			COLOR 237 237 237
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER 
+	NAME "ax_bergbaubetrieb"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_bergbaubetrieb) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bergbaubetrieb"
+		wms_abstract "'Bergbaubetrieb' ist eine FlÃ€che, die fÃŒr die FÃ¶rderung des Abbaugutes unter Tage genutzt wird."
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASS
+		NAME "Bergbaubetrieb"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_tagebaugrubesteinbruch"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_tagebaugrubesteinbruch) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Tagebau, Grube, Steinbruch"
+		wms_abstract "Tagebau, Grube, Steinbruch"
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Tagebau Grube Steinbruch"
+		STYLE
+			COLOR 227 227 227
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_flaechegemischternutzung"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_flaechegemischternutzung) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlÃ€che gemischter Nutzung"
+		wms_abstract "'FlÃ€che gemischter Nutzung' ist eine bebaute FlÃ€che einschlieÃlich der mit ihr im Zusammenhang stehenden FreiflÃ€che (HofraumflÃ€che, Hausgarten), auf der keine Art
+der baulichen Nutzung vorherrscht. Solche FlÃ€chen sind insbesondere lÃ€ndlich-dÃ¶rflich geprÃ€gte FlÃ€chen mit land- und forstwirtschaftlichen Betrieben, WohngebÃ€uden u.a.
+sowie stÃ€dtisch geprÃ€gte Kerngebiete mit Handelsbetrieben und zentralen Einrichtungen fÃŒr die Wirtschaft und die Verwaltung."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASS
+		NAME "FlÃ€che gemischter Nutzung"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_flaechebesondererfunktionalerpraegung"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_flaechebesondererfunktionalerpraegung) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlÃ€che besonderer funktionaler PrÃ€gung"
+		wms_abstract "'FlÃ€che besonderer funktionaler PrÃ€gung' ist eine baulich geprÃ€gte FlÃ€che einschlieÃlich der mit ihr im Zusammenhang stehenden FreiflÃ€che, auf denen vorwiegend GebÃ€ude und/oder Anlagen zur ErfÃŒllung Ã¶ffentlicher Zwecke oder historische Anlagen vorhanden sind."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASS
+		NAME "FlÃ€che besonderer funktionaler PrÃ€gung"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_sportfreizeitunderholungsflaeche"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_sportfreizeitunderholungsflaeche) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sport-, Freizeit- und ErholungsflÃ€che"
+		wms_abstract "'Sport-, Freizeit- und ErholungsflÃ€che' ist eine bebaute oder unbebaute FlÃ€che, die dem Sport, der Freizeitgestaltung oder der Erholung dient."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'funktion'
+	CLASS
+		NAME "Sport-, Freizeit- und ErholungsflÃ€che"
+		STYLE
+			COLOR 224 255 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_friedhof"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_friedhof) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Friedhof"
+		wms_abstract "Friedhof"
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 15000
+	#CLASSITEM 'funktion'
+	CLASS
+		NAME "Friedhof"
+		STYLE
+			COLOR 201 228 201
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+## ** Verkehr **
+LAYER
+	NAME "ax_strassenverkehr"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_strassenverkehr) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "StraÃenverkehr"
+		wms_abstract "'StraÃenverkehr' umfasst alle fÃŒr die bauliche Anlage StraÃe erforderlichen sowie dem StraÃenverkehr dienenden bebauten und unbebauten FlÃ€chen."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'funktion'
+	CLASS
+		NAME "FuÃgÃ€ngerzone"
+		EXPRESSION ('[funktion]' = '5130')
+		STYLE
+			COLOR 217 255 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "VerkehrsbegleitflÃ€che StraÃe"
+		EXPRESSION ('[funktion]' < '2312')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "StraÃenentwÃ€sserungsanlage"
+		EXPRESSION ('[funktion]' < '2313')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude- und FreiflÃ€che zu Verkehrsanlagen, StraÃe" #nicht im SK
+		EXPRESSION ('[funktion]' = '2311')
+		STYLE
+			COLOR 200 200 200
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "StraÃenverkehr" #nicht im SK
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_weg"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_weg) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Weg"
+		wms_abstract "Weg"
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Weg" #sn2515
+		STYLE
+			COLOR 250 250 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_platz"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_platz) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Platz"
+		wms_abstract " 'Platz' ist eine VerkehrsflÃ€che in Ortschaften oder eine ebene, befestigte oder unbefestigte FlÃ€che, die bestimmten Zwecken dient (z. B. fÃŒr Verkehr, MÃ€rkte, Festveranstaltungen)."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'funktion'
+	CLASS
+		NAME "FuÃgÃ€ngerzone (Platz)"
+		EXPRESSION ('[funktion]' = '5130')
+		STYLE
+			COLOR 217 247 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "Platz"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_bahnverkehr"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_bahnverkehr) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bahnverkehr"
+		wms_abstract "Bahnverkehr"
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	#CLASSITEM 'funktion'
+	CLASS
+		NAME "Bahnverkehr"
+		STYLE
+			COLOR 250 250 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_flugverkehr"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_flugverkehr) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Flugverkehr"
+		wms_abstract "Flugverkehr"
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	#CLASSITEM 'funktion'
+	CLASS
+		NAME "Flugverkehr"
+		STYLE
+			COLOR 221 236 197
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_schiffsverkehr"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_schiffsverkehr) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Schiffsverkehr"
+		wms_abstract "'Schiffsverkehr' umfasst die baulich geprÃ€gte FlÃ€che und die mit ihr in Zusammenhang stehende FreiflÃ€che, die ausschlieÃlich oder vorwiegend dem Schiffsverkehr dient."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASS
+		NAME "Schiffsverkehr" # sn1544
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+## ** Vegetation **
+LAYER
+	NAME "ax_landwirtschaft"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, vegetationsmerkmal, wkb_geometry FROM ax_landwirtschaft) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Landwirtschaft"
+		wms_abstract "'Landwirtschaft' ist eine FlÃ€che fÃŒr den Anbau von FeldfrÃŒchten sowie eine FlÃ€che,
+die beweidet und gemÃ€ht werden kann, einschlieÃlich der mit besonderen Pflanzen angebauten FlÃ€che. 
+Die Brache, die fÃŒr einen bestimmten Zeitraum (z. B. ein halbes oder ganzes Jahr) landwirtschaftlich unbebaut bleibt, ist als 'Landwirtschaft' bzw. 'Ackerland' zu erfassen."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'vegetationsmerkmal'
+	CLASS
+		NAME "Ackerland, Streuobstacker, Hopfen und Spargel"
+		EXPRESSION ('[vegetationsmerkmal]' < '1020')
+		STYLE
+			COLOR 255 247 191
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "GrÃŒnland, Streuobstwiese, Gartenland, Baumschule, Weingarten, Obstplantage, Obstbaumplantage und Obststrauchplantage"
+		EXPRESSION ('1019' < '[vegetationsmerkmal]' AND '[vegetationsmerkmal]' < '1199')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "Brachland"
+		EXPRESSION ('1199' < '[vegetationsmerkmal]')
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_wald"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_wald) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Wald"
+		wms_abstract "'Wald' ist eine FlÃ€che, die mit Forstpflanzen (WaldbÃ€ume und WaldstrÃ€ucher) bestockt ist."
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Wald"
+		STYLE
+			COLOR 251 255 251
+			OUTLINECOLOR 0 255 0
+		END
+	END
+END
+LAYER
+	NAME "ax_gehoelz"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_gehoelz) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "GehÃ¶lz"
+		wms_abstract "GehÃ¶lz"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "GehÃ¶lz"
+		STYLE
+			COLOR 187 222 201 # 217 255 217
+			OUTLINECOLOR  153 153 153 # 0 255 0
+		END
+	END
+END
+LAYER
+	NAME "ax_heide"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_heide) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Heide"
+		wms_abstract "Heide"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Heide"
+		STYLE
+			COLOR 230 215 207
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+##  AX_Moor
+LAYER
+	NAME "ax_moor"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_moor) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Moor"
+		wms_abstract "Moor ist eine unkultivierte FlÃ€che, deren obere Schicht aus vertorften oder zersetzten Pflanzenresten besteht. Torfstich bzw. TorfabbauflÃ€che wird der Objektart 41005 'Tagebau, Grube, Steinbruch' mit AGT 'Torf' zugeordnet."
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASS
+		NAME "Moor"
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_sumpf"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_sumpf) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sumpf"
+		wms_abstract "Sumpf"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Sumpf"
+		STYLE
+			COLOR 230 215 207
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_unlandvegetationsloseflaeche"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_unlandvegetationsloseflaeche) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Unland"
+		wms_abstract "Unland, vegetationslose FlÃ€che"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Unland, vegetationslose FlÃ€che"
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_vegetationsmerkmal"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_vegetationsmerkmal) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Vegetationsmerkmal"
+		wms_abstract "'Vegetationsmerkmal' beschreibt den zusÃ€tzlichen Bewuchs oder besonderen Zustand einer GrundflÃ€che."
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASS
+		NAME "Vegetationsmerkmal"
+		STYLE
+			OUTLINECOLOR 0 255 0
+		END
+	END
+END
+## ** GewÃ€sser **
+LAYER
+	NAME "ax_fliessgewaesser"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_fliessgewaesser) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlieÃgewÃ€sser"
+		wms_abstract "FlieÃgewÃ€sser"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "FlieÃgewÃ€sser"
+		STYLE
+			COLOR 190 233 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_hafenbecken"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_hafenbecken) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Hafenbecken"
+		wms_abstract "Hafenbecken' ist ein natÃŒrlicher oder kÃŒnstlich angelegter oder abgetrennter Teil eines GewÃ€ssers, in dem Schiffe be- und entladen werden."
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASS
+		NAME "Hafenbecken"
+		STYLE
+			COLOR 230 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+END
+LAYER
+	NAME "ax_stehendesgewaesser"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_stehendesgewaesser) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "stehendes GewÃ€sser"
+		wms_abstract "stehendes GewÃ€sser"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "stehendes GewÃ€sser" #sn2515
+		STYLE
+			COLOR 190 233 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+# AX_Meer fehlt
+### Der Rest gehoert wahrscheinlich nicht zu "Nutzung" sondern zu "Bauwerke & Co." ?
+# Besondere Angaben zum GewÃ€sser
+LAYER
+	NAME "ax_untergeordnetesgewaesser_polygon"
+	#GROUP "ax_untergeordnetesgewaesser"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	#DUMP TRUE
+	# REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_untergeordnetesgewaesser WHERE st_geometrytype(wkb_geometry) = 'ST_Polygon') as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Untergeordnetes GewÃ€sser (FlÃ€chen)"
+		wms_abstract "UntergeordnetesGewaesser' ist ein stehendes oder flieÃendes GewÃ€sser mit untergeordneter Bedeutung."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASSITEM funktion
+	CLASS
+		NAME "Graben"
+		EXPRESSION ('[funktion]' >= '1010' AND '[funktion]' <= '1013')
+		STYLE
+			COLOR 227 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS # ToDo: Klassen differenzieren? nach Farbe?
+		NAME "Fleet"
+		EXPRESSION '1020'
+		STYLE
+			COLOR 227 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS
+		NAME "Bach"
+		EXPRESSION '1030'
+		STYLE
+			COLOR 227 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS
+		NAME "Teich"
+		EXPRESSION '1040'
+		STYLE
+			COLOR 227 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+END
+# SQL: SELECT DISTINCT funktion, st_geometrytype(wkb_geometry) FROM ax_untergeordnetesgewaesser;
+#  "ST_Polygon"    1010;1030;1040;
+#  "ST_LineString" 1010;1030;
+# 'Funktion' ist die objektiv erkennbare Art von 'UntergeordnetesGewaesser'.
+# Graben=1010; Grabenkante,rechts=1011; Grabenkante,links=1012; Grabenmitte=1013
+# Fleet=1020
+# Bach=1030
+# Teich=1040
+LAYER
+	NAME "ax_untergeordnetesgewaesser_line"
+	GROUP "ax_nutzungen"
+	TYPE LINE
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_untergeordnetesgewaesser WHERE st_geometrytype(wkb_geometry) = 'ST_LineString') as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Untergeordnetes GewÃ€sser (Line)"
+		wms_abstract "UntergeordnetesGewaesser' ist ein stehendes oder flieÃendes GewÃ€sser mit untergeordneter Bedeutung."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	CLASSITEM funktion
+	CLASS
+		NAME "Graben"
+		EXPRESSION ('[funktion]' >= '1010' AND '[funktion]' <= '1013')
+		STYLE
+			COLOR 0 204 204
+		END
+	END
+	CLASS # ToDo: Klassen differenzieren? nach Farbe?
+		NAME "Fleet"
+		EXPRESSION '1020'
+		STYLE
+			COLOR 0 204 204
+		END
+	END
+	CLASS
+		NAME "Bach"
+		EXPRESSION '1030'
+		STYLE
+			COLOR 0 204 204
+		END
+	END
+	#CLASS
+	#	NAME "Teich"
+	#	EXPRESSION '1040'
+	#	STYLE
+	#		COLOR 0 204 204
+	#	END
+	#END
+END
+
+# ** aus Post-Processing: Katasterbezirke
+# Die Layer dieser Gruppe nur anzeigen lassen, wenn der Inhalt der Datenbank einen ganzen Katasterbezirk enthÃ€lt.
+# Wenn ein Gebiet durch geometrische Filter im NBA ausgegeben wurde, dann gibt es Randstreifen, 
+# die zu Pseudo-Fluren zusammen gefasst werden. Fachlich falsch!
+LAYER
+	NAME "pp_flur"
+	GROUP "pp_gebiete"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "the_geom from (SELECT gid, gemarkung, flurnummer, the_geom FROM pp_flur) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_title "Flur"
+		wms_abstract "Katasterbezirk Flur, FlÃ€che durch Zusammenfassen der FlurstÃŒcke."
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		gml_include_items "all"
+		wms_group_title "Gebiete"
+		wms_group_abstract "Zusammenfassung der FlurstÃŒcke mit gleichen SchlÃŒssel: Fluren, Gemarkungen und Gemeinden. vereinfachte Geometrie. Nur fÃŒr Ãbersicht im kleinen MaÃstab."
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM  1600
+	MAXSCALEDENOM 20000
+	CLASS
+		NAME "Flur"
+		TEXT "Flur [flurnummer]"
+		STYLE
+			OUTLINECOLOR 100 150 10
+			WIDTH 3
+		END
+		LABEL
+			TYPE TRUETYPE
+			COLOR 100 150 10
+			FONT "arial"
+			SIZE 14
+			POSITION cc # FÃŒr Kachelung im Mapproxy sollte es an fixem Punkt stehen, wie?
+			PARTIALS FALSE FORCE FALSE
+			STYLE
+				GEOMTRANSFORM 'labelpoly'
+				COLOR 250 250 250
+			END
+		END
+	END
+END
+LAYER
+	NAME "pp_gemarkung"
+	GROUP "pp_gebiete"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "simple_geom from (SELECT gid, gemarkungsname, simple_geom FROM pp_gemarkung) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Gemarkung"
+		wms_abstract "Katasterbezirk Gemarkung (vereinfachte Geometrie). FlÃ€che durch Zusammenfassen der Fluren."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM  4000
+	MAXSCALEDENOM 40000
+	LABELITEM gemarkungsname
+	CLASS
+		NAME "Gemarkung"
+		STYLE
+			OUTLINECOLOR 140 80 0
+			WIDTH 5
+		END
+		LABEL
+			TYPE TRUETYPE
+			COLOR 140 80 0
+			FONT "arial"
+			SIZE 16
+			POSITION cc
+			OFFSET 0 10
+			PARTIALS FALSE FORCE FALSE
+			STYLE
+				GEOMTRANSFORM 'labelpoly'
+				COLOR 250 250 250
+			END
+		END
+	END
+END
+LAYER
+	NAME "pp_gemeinde"
+	GROUP "pp_gebiete"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "simple_geom from (SELECT gid, gemeindename, simple_geom FROM pp_gemeinde) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Gemeinde"
+		wms_abstract "GemeindeflÃ€che (vereinfachte Geometrie). FlÃ€che durch Zusammenfassen der Gemarkungen."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM   8000
+	MAXSCALEDENOM 400000
+	LABELITEM gemeindename
+	CLASS
+		NAME "Gemeinde"
+		STYLE
+			OUTLINECOLOR 10 10 200
+			WIDTH 7
+		END
+		LABEL
+			TYPE TRUETYPE
+			COLOR 10 10 200
+			FONT "arial"
+			SIZE 20
+			POSITION cc
+			OFFSET 0 -20
+			PARTIALS FALSE
+			FORCE FALSE
+			STYLE
+				GEOMTRANSFORM 'labelpoly'
+				COLOR 250 250 250
+			END
+		END
+	END
+END
+
+# ALKIS GebÃ€ude
+# Alternativ: GebÃ€ude-FlÃ€chen oder GebÃ€ude-Umring. Die FlÃ€chen sind im GIS stÃ¶rend, also unerwÃŒnscht
+
+# include "include/layer/obk_gebaeude.incl"
+# include "include/layer/obk_bauteil.incl" #ok
+# include "include/layer/obk_besonderegebaeudelinie.incl" #ok
+# include "include/layer/obk_hausnummer.incl"
+# include "include/layer/obk_gebaeude_ppo.incl"
+# include "include/layer/obk_gebaeude_pto.incl"
+LAYER
+	NAME "ax_gebaeude_fl" # GebÃ€ude - FlÃ€chen
+	GROUP "gebaeude"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, gebaeudefunktion, lagezurerdoberflaeche, hochhaus, zustand, ax_datenerhebung, wkb_geometry FROM ax_gebaeude) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "GebÃ€ude (FlÃ€che)"
+		wms_abstract "'GebÃ€ude' ist ein dauerhaft errichtetes Bauwerk, dessen Nachweis wegen seiner Bedeutung als Liegenschaft erforderlich ist sowie dem Zweck der Basisinformation des Liegenschaftskatasters dient."
+		wms_group_title "GebÃ€ude"
+		wms_group_abstract "ALKIS GebÃ€ude (FlÃ€che)"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	SYMBOLSCALEDENOM 1000
+	CLASSITEM 'gebaeudefunktion'
+	# Lage zur ErdoberflÃ€che: 1200=Unter der ErdoberflÃ€che, 1400=AufgestÃ€ndert
+	# Zustand: 1000=In behelfsmÃ€Ãigem Zustand, 2000=In ungenutztem Zustand, 2100=AuÃer Betrieb, stillgelegt, verlassen
+	#          2200=Verfallen, zerstÃ¶rt, 2300=Teilweise zerstÃ¶rt, 3000=Geplant und beantragt, 4000=Im Bau
+	# Classes ohne FlÃ€chenfÃŒllung
+	CLASS
+		NAME "GebÃ€ude, unterirdisch"
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1200')
+		STYLE # Dummy-FÃŒllung. Legende zeigt FlÃ€che, FlÃ€che bleibt transparent
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 1 2 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "Hochhaus, verfallen"
+		EXPRESSION ('[hochhaus]' = "true" AND '[zustand]' > '2199')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude, verfallen"
+		EXPRESSION ('[zustand]' > '2199')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	# Classes mit FlÃ€chenfÃŒllung
+	CLASS
+		NAME "WohngebÃ€ude, Hochhaus graphisch"
+		EXPRESSION ('[hochhaus]' = "true" AND '[ax_datenerhebung]' = '4300' AND '[gebaeudefunktion]' < '2000')
+		STYLE
+			COLOR 153 153 153
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50
+	#		SIZE 5
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 6 4 2 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "WohngebÃ€ude, Hochhaus aufgestÃ€ndert"
+		EXPRESSION ('[hochhaus]' = "true" AND '[gebaeudefunktion]' < '2000' AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 153 153 153
+		END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "Hochhaus" # "WohngebÃ€ude,Hochhaus"
+		EXPRESSION ('[gebaeudefunktion]' < '2000' AND '[hochhaus]' = "true")
+		STYLE
+			COLOR 153 153 153
+		END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "WohngebÃ€ude graphisch"
+		EXPRESSION ('[gebaeudefunktion]' < '2000' AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 153 153 153
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50 #[schrawink]
+	#		SIZE 5
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 6 4 2 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "WohngebÃ€ude aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' < '2000' AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 153 153 153
+		END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "WohngebÃ€ude"
+		EXPRESSION /^1/ #('[gebaeudefunktion]' < '2000')
+		STYLE
+			COLOR 153 153 153
+			OUTLINECOLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, Hochhaus, graphisch"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[hochhaus]' = "true" AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50 #[schrawink]
+	#		SIZE 5 
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 6 4 2 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, Hochhaus, aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[hochhaus]' = "true" AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+		END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, Hochhaus"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[hochhaus]' = "true")
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+		END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, graphisch"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50
+	#		SIZE 5
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 6 4 2 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+		END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe"
+		EXPRESSION /^2/
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+		END
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, Hochhaus, graphisch"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[hochhaus]' = "true" AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 255 128 128
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50 #[schrawink]
+	#		SIZE 5
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 6 4 2 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, Hochhaus, aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[hochhaus]' = "true" AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 255 128 128
+		END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, Hochhaus"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[hochhaus]' = "true")
+		STYLE
+			COLOR 255 128 128
+		END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, graphisch"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 255 128 128
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50 #[schrawink]
+	#		SIZE 5 
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 6 4 2 4 END
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 255 128 128
+		END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke"
+		EXPRESSION /^3/
+		STYLE
+			COLOR 255 128 128
+			OUTLINECOLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+		END
+		#LABEL = name ?
+	END
+	CLASS
+		NAME "Nach Quellenlage nicht zu spezifizieren"
+		EXPRESSION /9998/ #('[gebaeudefunktion]' = 9998)
+		STYLE
+			COLOR 190 190 190 # 204 204 204
+			OUTLINECOLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+		END
+	END
+#	CLASS
+#		#NAME "Rest"
+#		EXPRESSION /./
+#		STYLE
+#			OUTLINECOLOR 255 0 0
+#			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+#		END
+#	END
+END
+
+LAYER # Wie FlÃ€chen-Layer zuvor, aber FlÃ€chenfarbe entfernt UND CLASSes entfernt die sich nur nach FlÃ€chenfarbe unterscheiden.
+	NAME "ax_gebaeude_umr"
+	GROUP "gebaeude"
+	REQUIRES "![ax_gebaeude_fl]" # ent oder weder
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, gebaeudefunktion, lagezurerdoberflaeche, hochhaus, zustand, ax_datenerhebung, wkb_geometry FROM ax_gebaeude) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "GebÃ€ude (Umring)"
+		wms_abstract "'GebÃ€ude' ist ein dauerhaft errichtetes Bauwerk, dessen Nachweis wegen  seiner Bedeutung als Liegenschaft erforderlich ist sowie dem Zweck der Basisinformation des Liegenschaftskatasters dient.
+		Alternativer Layer ohne FlÃ€chenfÃŒllung. Hiermit ist allerdings keine Unterscheidung nach der GebÃ€udefunktion mÃ¶glich."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 7500 # Flaechen nur bis 5000
+	SYMBOLSCALEDENOM 1000
+	CLASSITEM 'gebaeudefunktion' #'zustand'
+	CLASS
+		NAME "GebÃ€ude, unterirdisch" # z.B. Tiefgarage
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1200')
+		STYLE # Dummy-FÃŒllung. Legende zeigt FlÃ€che, FlÃ€che bleibt transparent
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			PATTERN 1 2 END
+			LINECAP butt
+		END
+	END
+	#CLASS
+	#	NAME "Hochhaus, verfallen" # Theorie! kommt hier nicht vor
+	#	EXPRESSION ('[hochhaus]' = "true" AND '[zustand]' > '2199')
+	#	STYLE
+	#		COLOR 255 255 255
+	#		SYMBOL 'filler'
+	#		SIZE 15
+	#	END
+	#	STYLE
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+	#		OUTLINECOLOR 0 0 0
+	#		PATTERN 8 4 END
+	#	END
+	#END
+	CLASS
+		NAME "GebÃ€ude, verfallen"
+		EXPRESSION ('[zustand]' > '2199')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	#CLASS
+	#	NAME "Hochhaus graphisch" # Theorie! kommt hier nicht vor
+	#	EXPRESSION ('[hochhaus]' = "true" AND '[ax_datenerhebung]' = '4300')
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50
+	#		SIZE 5
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 2
+	#		COLOR 128 64 0
+	#	END
+	#	STYLE
+	#	#	SYMBOL 'point' #'sn8205'
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+	#		OUTLINECOLOR 0 0 0
+	#		PATTERN 6 4 2 4 END
+	#	END
+	#END
+	CLASS
+		NAME "Hochhaus aufgestÃ€ndert"
+		EXPRESSION ('[hochhaus]' = "true" AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE # Dummy-FÃŒllung
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "Hochhaus" 
+		EXPRESSION ('[hochhaus]' = "true")
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			SYMBOL 'quadrate'
+			SIZE 2 MINSIZE 2 MAXSIZE 4
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude graphisch"
+		EXPRESSION ('[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50
+	#		SIZE 5
+	#		WIDTH 2 MINWIDTH 2 MAXWIDTH 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 6 4 2 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude aufgestÃ€ndert"
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude"
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 15
+		END
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
+		END
+	END
+END
+# ToDo: Name und Funktion trennen.
+LAYER
+	NAME "ax_gebaeude_txt" # GebÃ€ude-Texte: Funktion und Name
+	GROUP "gebaeude"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM gebaeude_txt) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Funktion und Name"
+		wms_abstract "Funktion zum 'GebÃ€ude'. In amtlicher Karte teilweise als Symbole dargestellt, hier ersatzweise als Text."
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 2000
+	SYMBOLSCALEDENOM 1000
+	LABELITEM 'funktion'
+	CLASSITEM 'name'
+	CLASS
+		NAME "Name und Funktion"
+		EXPRESSION /./
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 9 MINSIZE 7 MAXSIZE 12
+			POSITION cc OFFSET 0 12 # tiefer
+			COLOR 0 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE false
+			WRAP " " MAXLENGTH 10
+		END
+		LABEL # 2. Label
+			TEXT '[name]'
+			TYPE TRUETYPE FONT 'arialbold'
+			SIZE 9 MINSIZE 6 MAXSIZE 10
+			POSITION cc OFFSET 0 -10 # hÃ¶her
+			COLOR 180 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE true
+		END
+	END
+	CLASS
+		NAME "Funktion" # nur ..
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 9 MINSIZE 7 MAXSIZE 12
+			POSITION auto # Kollision mit HsNr vermeiden
+			COLOR 0 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE false
+			WRAP " " MAXLENGTH 10
+		END
+	END
+END
+LAYER
+	NAME "ax_bauteil"
+	GROUP "gebaeude"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauart, lagezurerdoberflaeche, wkb_geometry FROM ax_bauteil) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauteil"
+		wms_abstract "'Bauteil' ist ein charakteristisches Merkmal eines GebÃ€udes mit gegenÃŒber dem jeweiligen Objekt 'GebÃ€ude' abweichenden bzw. besonderen Eigenschaften."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 4000
+	CLASSITEM 'bauart'
+	# ToDo: "lagezurerdoberflaeche" auswerten, Werte: null, 1200.
+	CLASS
+		NAME "Bauteil"
+		EXPRESSION ('[bauart]' = '1100' OR '[bauart]' = '1200' OR '[bauart]' = '1400' OR '[bauart]' = '2000' OR '[bauart]' = '2100' OR '[bauart]' = '2300' OR '[bauart]' = '2350' OR '[bauart]' = '2400' OR '[bauart]' = '2500' OR '[bauart]' = '2510' OR '[bauart]' = '2520' OR '[bauart]' = '2610' OR '[bauart]' = '2620' OR '[bauart]' = '9999')
+		STYLE
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "Bauteil-Schornstein"
+		EXPRESSION ('[bauart]' = '2710')
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 2
+		END
+	END
+	CLASS
+		NAME "Bauteil-Turm"
+		EXPRESSION ('[bauart]' = '2720')
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 3
+		END
+	END
+	CLASS
+		NAME "Bauteil-HochhausgebÃ€udeteil"
+		EXPRESSION ('[bauart]' = '1300')
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 4
+		END
+	END
+	CLASS
+		NAME "Beschaffenheit"
+		EXPRESSION /./ # Rest
+		STYLE
+			OUTLINECOLOR 200 0 0
+			WIDTH 1
+		END
+	END
+END
+LAYER
+	NAME "ax_besonderegebaeudelinie"
+	GROUP "gebaeude"
+	TYPE LINE
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, beschaffenheit, wkb_geometry FROM ax_besonderegebaeudelinie) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Besondere GebÃ€udelinie"
+		wms_abstract "'Besondere GebÃ€udelinie' ist der Teil der Geometrie des Objekts 'GebÃ€ude' oder des Objekts 'Bauteil', der besondere Eigenschaften besitzt."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 4000
+	CLASS
+		NAME "Besondere GebÃ€udelinie"
+		STYLE
+			COLOR 0 0 0
+		END
+		STYLE
+			COLOR 254 254 254
+			PATTERN 3 6 END
+		END
+	END
+END
+LAYER # Hausnummer
+	NAME "ag_t_gebaeude"
+	GROUP "gebaeude"
+	TYPE POINT
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid,wkb_geometry,drehwinkel,hausnummer FROM s_hausnummer_gebaeude) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Hausnummer"
+		wms_abstract "GebÃ€ude Hausnummer"
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	LABELITEM "hausnummer"
+	LABELMINSCALEDENOM 50
+	LABELMAXSCALEDENOM 2000
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		NAME "Hausnummer"
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 8 MINSIZE 5 MAXSIZE 12
+			POSITION uc
+			OFFSET 0 -3
+			ANGLE [drehwinkel] 
+			COLOR 0 0 0
+			ANTIALIAS true PARTIALS false FORCE true
+			BUFFER 1
+			OUTLINECOLOR 254 254 254
+		END
+	END
+END
+# alte Version: PrÃ€sentationsobjekt aus ap_pto mit Drehwinkel. 
+# Dies Daten sind in ALKIS bei einigen KatasterÃ€mtern nicht mehr vorhanden.
+# KlÃ€ren: Fehler in NBA?
+#LAYER # Pseudonummer = Ausgestaltung Text NebengebÃ€ude
+#	NAME "ag_t_nebengeb"
+#	GROUP "gebaeude"
+#	TYPE POINT
+#	#DUMP TRUE
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+#	PROCESSING "CLOSE_CONNECTION=DEFER"
+#	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry, drehwinkel, laufendenummer FROM s_nummer_nebengebaeude) as foo using unique ogc_fid using SRID=25832" # View
+#	# "s_nummer_nebengebaeude" = View
+#	METADATA
+#		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+#		wms_title "lfd. Nr NebengebÃ€ude"
+#		wms_abstract "laufende Nummer NebengebÃ€ude (Pseudonummer)"
+#		gml_include_items "all"
+#	END
+#	#PROJECTION "init=epsg:25832" END
+#	#EXTENT 349000 5529000 356000 5533000
+#	MINSCALEDENOM 50
+#	MAXSCALEDENOM 1500
+#	SYMBOLSCALEDENOM 1000
+#	#LABELITEM "laufendenummer"
+#	CLASS
+#		NAME "Hausnummer"
+#		TEXT '([laufendenummer])' # Die Klammern auch mit darstellen!
+#		STYLE
+#			SYMBOL 'point' SIZE 1
+#		END
+#		LABEL 
+#			TYPE TRUETYPE FONT 'arialnarrow'
+#			SIZE 7 MINSIZE 5 MAXSIZE 10
+#			POSITION uc
+#			OFFSET 0 -3
+#			ANGLE [drehwinkel] 
+#			COLOR 50 50 50
+#			ANTIALIAS true PARTIALS false FORCE true
+#			BUFFER 1
+#			OUTLINECOLOR 254 254 254			
+#		END
+#	END
+#END
+# Neue Version Text lfd-Nr. zur GebÃ€ude-Geometrie
+# Diese Version funktioniert unabhÃ€ngig von der NBA-Abgabe der Pseudonummern-PrÃ€sentationsobjekte.
+# Allerdings ohne die manuelle Positionierung und Drehwinkel.
+LAYER # Lagebezeichnung mit Pseudonummer, Anzeige der lfd-Nr.
+	NAME "ag_t_nebengeb"
+	GROUP "gebaeude"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM lfdnr_nebengebaeude) as foo using unique ogc_fid using SRID=25832" # View
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "lfd. Nr NebengebÃ€ude"
+		wms_abstract "Lagebezeichnung mit Pseudonummer, Anzeige laufende Nummer zum NebengebÃ€ude"
+		gml_include_items "all"
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 1500
+	SYMBOLSCALEDENOM 1000
+	#LABELITEM "laufendenummer"
+	CLASS
+		NAME "Hausnummer"
+		TEXT '([laufendenummer])' # Die Klammern auch mit darstellen!
+		LABEL 
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 7 MINSIZE 5 MAXSIZE 10
+			POSITION cc
+			COLOR 50 50 50
+			ANTIALIAS true PARTIALS false FORCE true
+			OUTLINECOLOR 254 254 254			
+		END
+	END
+END
+# Zuordnungspfeile GebÃ€ude
+# Der Layer entfÃ€llt zukÃŒnftig.
+# 18: Die Zuordnungspfeile der ALK wurden bei Vormigration nach ALKIS gelÃ¶scht.
+LAYER
+	NAME "ag_l_gebaeude"
+	GROUP "gebaeude"
+	REQUIRES "[ag_t_nebengeb]" # nur beides
+	TYPE LINE
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid,wkb_geometry FROM s_zuordungspfeil_gebaeude) as foo using unique ogc_fid using SRID=25832" # View gespeichert
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeile GebÃ€ude"
+		wms_abstract "GebÃ€ude Zuordnungspfeile fÃŒr Hausnummer oder NebengebÃ€ude-Nummer (nur Linie, Pfeilspitze fehlt noch)"
+		gml_include_items "all"
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 1500 # wie der zuzuordnende Text
+	CLASS
+		NAME "Zuordnungspfeile"
+		STYLE
+			COLOR 0 0 0
+		END
+	END
+END
+# ALKIS Bauwerke, Anlagen und Einrichtungen fÃŒr den Verkehr / ..in SiedlungsflÃ€chen
+# alle Layer von GROUP "bauwerk"
+LAYER
+	NAME "ax_bauwerkimverkehrsbereich_fuellung" # ToDo: Umrandung und FÃŒllung zu einem Layer zusammen fassen?
+	GROUP "bauwerk"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkimverkehrsbereich) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk im Verkehrsbereich (FÃŒllung)"
+		wms_abstract "'Bauwerk im Verkehrsbereich' ist ein Bauwerk, das dem Verkehr dient."
+		wms_group_title "Bauwerke"
+		wms_group_abstract "Bauwerke gruppiert alle Ebene zu den Themen 'Bauwerke und Einrichtungen in SiedlungsflÃ€chen' und 'Bauwerke, Anlagen und Einrichtungen fÃŒr den Verkehr'" 
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "BrÃŒcke"
+		STYLE
+			COLOR 255 255 255
+		END
+	END
+END
+LAYER
+	NAME "ax_bauwerkimverkehrsbereich_umrandung"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkimverkehrsbereich) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk im Verkehrsbereich (Umrandung)"
+		wms_abstract "'Bauwerk im Verkehrsbereich' ist ein Bauwerk, das dem Verkehr dient."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "BrÃŒcke"
+		STYLE
+			OUTLINECOLOR 128 128 128
+			PATTERN 5.67 2.85 END 
+			WIDTH 2
+		END
+	END
+END
+
+LAYER
+	NAME "ax_bauwerkimgewaesserbereich"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkimgewaesserbereich) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk im GewÃ€sserbereich"
+		wms_abstract "Bauwerk im GewÃ€sserbereich"
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "Bauwerk im GewÃ€sserbereich"
+		STYLE
+			OUTLINECOLOR 82 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_bauwerkoderanlagefuerindustrieundgewerbe"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkoderanlagefuerindustrieundgewerbe) as foo using unique ogc_fid using SRID=25832"
+	FILTER "st_geometrytype(wkb_geometry) = 'ST_Polygon'" # sonst Absturz Mapserver
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk oder Anlage fÃŒr Industrie und Gewerbe"
+		wms_abstract "'Bauwerk oder Anlage fÃŒr Industrie und Gewerbe' ist ein Bauwerk oder eine Anlage, die ÃŒberwiegend industriellen und gewerblichen Zwecken dient oder Einrichtung an Ver- und Entsorgungsleitungen ist."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "KlÃ€rbecken"
+		EXPRESSION ('[bauwerksfunktion]' = '1210')
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS
+		NAME "Bauwerk oder Anlage fÃŒr Industrie und Gewerbe"
+		EXPRESSION ('[bauwerksfunktion]' = '1215' OR '[bauwerksfunktion]' = '1220' OR '[bauwerksfunktion]' = '1250' OR '[bauwerksfunktion]' = '1260')
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	# else?
+END
+LAYER
+	NAME "ax_bauwerkoderanlagefuersportfreizeitunderholung"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkoderanlagefuersportfreizeitunderholung) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung"
+		wms_abstract "'Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung' ist ein Bauwerk oder eine Anlage in Sport-, Freizeit- und Erholungsanlagen."
+		gml_include_items "all"
+	END	
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung" # sn1520
+		STYLE
+			COLOR 217 255 217
+			OUTLINECOLOR 82 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_vorratsbehaelterspeicherbauwerk"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_vorratsbehaelterspeicherbauwerk) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "VorratsbehÃ€lter, Speicherbauwerk"
+		wms_abstract "'VorratsbehÃ€lter, Speicherbauwerk' ist ein geschlossenes Bauwerk zum Aufbewahren von festen, flÃŒssigen oder gasfÃ¶rmigen Stoffen."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "VorratsbehÃ€lter, Speicherbauwerk"
+		STYLE
+			COLOR 220 220 220
+			OUTLINECOLOR 0 0 0
+		END
+	END
+END
+# ToDo: synchron zum GebÃ€ude-Layer hier die FlÃ€chenfÃŒllung unterdrÃŒcken?
+LAYER
+	NAME "ax_sonstigesbauwerkodersonstigeeinrichtung"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+
+# Analyse (440):
+
+# SELECT DISTINCT st_geometrytype(s.wkb_geometry), s.bauwerksfunktion, f.bezeichner
+# FROM ax_sonstigesbauwerkodersonstigeeinrichtung s
+# JOIN ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion f ON s.bauwerksfunktion = f.wert
+# ORDER BY st_geometrytype(s.wkb_geometry), s.bauwerksfunktion;
+
+#ST_Point
+# 1750;"Denkmal, Denkstein, Standbild"
+#ST_LineString
+# 1620;"Treppe"
+# 1630;"Treppenunterkante"
+# 1701;"Mauerkante, rechts"
+# 1702;"Mauerkante, links"
+# 1721;"StÃŒtzmauer, rechts"
+# 1722;"StÃŒtzmauer, links"
+# 1740;"Zaun"
+# 1790;"Spundwand"
+#ST_Polygon
+# 1610;"Ãberdachung"
+# 1611;"Carport"
+# 1620;"Treppe"
+# 1650;"Rampe"
+# 1700;"Mauer"
+# 1720;"StÃŒtzmauer"
+# 1750;"Denkmal, Denkstein, Standbild"
+
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_sonstigesbauwerkodersonstigeeinrichtung WHERE st_geometrytype(wkb_geometry) = 'ST_Polygon') as foo using unique ogc_fid using SRID=25832"
+	#ILTER "bauwerksfunktion in (1610,1781) AND st_geometrytype(wkb_geometry) = 'ST_Polygon'"
+	#FILTER "st_geometrytype(wkb_geometry) = 'ST_Polygon'" # sonst Absturz Mapserver
+	# "name" ist ab und zu gefÃŒllt
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sonstiges Bauwerk/Einrichtung"
+		wms_abstract "'Sonstiges Bauwerk oder sonstige Einrichtung' ist ein Bauwerk oder eine Einrichtung, das/die nicht zu den anderen Objektarten der Objektartengruppe Bauwerke und Einrichtungen gehÃ¶rt."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'bauwerksfunktion'
+	# Name als Label rendern?
+	#CLASS
+	#	NAME "Ãberdachung"
+	#	EXPRESSION "1610" #	('[bauwerksfunktion]' = '1610')
+	#	STYLE
+	#		COLOR 220 220 220
+	#	END
+	#END
+	#CLASS
+	#	NAME "Brunnen (Trinkwasserversorgung)"
+	#	EXPRESSION "1781" # ('[bauwerksfunktion]' = '1781')
+	#	STYLE
+	#		COLOR 227 255 255
+	#		OUTLINECOLOR 0 204 204
+	#	END
+	#END
+	CLASS
+		NAME "BauwerksflÃ€che"
+		STYLE
+			COLOR 229 229 229
+			OPACITY 50 # Ersatz fÃŒr Variante mit/ohne FlÃ€chenfÃŒllung
+		END
+		STYLE
+			OUTLINECOLOR 0 0 0
+			OUTLINEWIDTH 1
+			PATTERN 5 2 END
+		END
+	END
+END
+LAYER
+	NAME "ax_sonstigesbauwerkodersonstigeeinrichtung_l"
+	GROUP "bauwerk"
+	TYPE LINE
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_sonstigesbauwerkodersonstigeeinrichtung WHERE st_geometrytype(wkb_geometry) = 'ST_LineString') as foo using unique ogc_fid using SRID=25832"
+	#FILTER "st_geometrytype(wkb_geometry) = 'ST_LineString'" # sonst Absturz Mapserver
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sonstiges Bauwerk/Einrichtung (Linien)"
+		wms_abstract "'Sonstiges Bauwerk oder sonstige Einrichtung' ist ein Bauwerk oder eine Einrichtung, das/die nicht zu den anderen Objektarten der Objektartengruppe Bauwerke und Einrichtungen gehÃ¶rt."
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "Bauwerkslinie"
+		STYLE
+			COLOR 0 0 0
+			WIDTH 1
+			PATTERN 5 2 END
+		END
+	END
+END
+LAYER
+	NAME "ax_leitung"
+	GROUP "bauwerk"
+	TYPE LINE
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, spannungsebene, wkb_geometry FROM ax_leitung) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Leitung"
+		wms_abstract "'Leitung' ist eine aus DrÃ€hten oder Fasern hergestellte Leitung zum Transport von elektrischer Energie und zur Ãbertragung von elektrischen Signalen."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "Freileitung" #sn2524
+		EXPRESSION ('[bauwerksfunktion]' = '1110')
+		STYLE
+			COLOR 0 0 0
+			SIZE 0.51
+		END
+	END
+	CLASS
+		NAME "Erdkabel"
+		EXPRESSION ('[bauwerksfunktion]' = '1111')
+		STYLE
+			#SYMBOL 'point'
+			COLOR 0 0 0
+			PATTERN 1 1 END
+		END
+	END
+END
+LAYER
+	NAME "ax_transportanlage"
+	GROUP "bauwerk"
+	TYPE LINE
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, lagezurerdoberflaeche, wkb_geometry  FROM ax_transportanlage) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Transportanlage"
+		wms_abstract "'Transportanlage' ist eine Anlage zur FÃ¶rderung oder zum Transport von FlÃŒssigkeiten, Gasen und GÃŒtern."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'lagezurerdoberflaeche'
+#	CLASS
+#		NAME "Transportanlage"
+#		STYLE
+#			SYMBOL 'point'
+#			COLOR 0 0 0
+#		END
+#	END
+	CLASS
+		NAME "Pipeline unter der ErdoberflÃ€che oder WasseroberflÃ€che"
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1200' OR '[lagezurerdoberflaeche]' = '1700')
+		STYLE
+			SYMBOL 0 #sn2523
+			COLOR 0 0 0
+			PATTERN 1 1 END
+		END
+	END
+	CLASS
+		NAME "Pipeline"
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			SYMBOL 0 #'point'
+			COLOR 0 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_turm"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_turm) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Turm"
+		wms_abstract "'Turm' ist ein hoch aufragendes, auf einer verhÃ€ltnismÃ€Ãig kleinen FlÃ€che freistehendes Bauwerk."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Turm"
+		STYLE
+			COLOR 204 204 204
+			OUTLINECOLOR 0 0 0
+		END
+	END
+END
+
+# B o d e n s c h Ã€ t z u n g
+
+## Einfache Version: Den Label mittig in der FlÃ€che anzeigen
+#LAYER
+#	NAME "bodensch_klass"
+#	GROUP "bodenschaetzung"
+#	TYPE POLYGON
+#	#DUMP TRUE
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+#	PROCESSING "CLOSE_CONNECTION=DEFER"
+#	DATA "wkb_geometry from s_bodensch_wms using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_group_title "BodenschÃ€tzung"
+#		wms_group_abstract "BodenschÃ€tzung" 
+#		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+#		wms_title "KlassenflÃ€che mit Label"
+#		wms_abstract "KlassenflÃ€che der BodenschÃ€tzung. Das Ergebnis der SchÃ€tzung wird als Text zentral in der FlÃ€che angezeigt."
+#	END
+#	PROJECTION "init=epsg:25832" END
+#	#EXTENT 349000 5529000 356000 5533000
+#	MINSCALEDENOM 50
+#	MAXSCALEDENOM 3000
+#	SYMBOLSCALEDENOM 1000
+#	TOLERANCEUNITS pixels TOLERANCE 1
+#	HEADER   "/opt/gdi/templates/alkisbodenschh.html"
+#	TEMPLATE "/opt/gdi/templates/alkisbodensch.html" # (noch?) nicht an Buchauskunft angeschlosssen
+#	FOOTER   "/opt/gdi/templates/footerp.html"
+#	JOIN # VIEW s_bodensch_ent: Felder einzeln und langschriftlich entschlÃŒsselt.
+#		NAME "BOD"
+#		CONNECTIONTYPE ogr
+#		CONNECTION 'host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432'
+#		TABLE "s_bodensch_ent" FROM "ogc_fid" TO "ogc_fid" TYPE ONE-TO-ONE
+#  	END
+#	CLASSITEM kult # Kulturart, SELECT DISTINCT kult FROM s_bodensch_wms; A, AGR, Gr, GrA
+#	LABELITEM derlabel
+#	CLASS
+#		NAME "Acker"
+#		EXPRESSION  ('[kult]' = 'A' OR '[kult]' = 'AGr')
+#		STYLE
+#			OUTLINECOLOR 178 255 148 # hellgrÃŒn
+#			WIDTH 5 MINWIDTH 3 MAXWIDTH 7
+#		END
+#		LABEL
+#			TYPE TRUETYPE FONT "times" # Serifenschrift
+#			COLOR 210 150 150 # rosa
+#			OUTLINECOLOR 254 254 254 OUTLINEWIDTH 2
+#			SIZE 13 MINSIZE 10 MAXSIZE 16
+#			POSITION cc
+#			PARTIALS FALSE FORCE TRUE
+#			WRAP ' ' MAXLENGTH 3
+#		END
+#	END
+#	CLASS
+#		NAME "GrÃŒnland"
+#		EXPRESSION ('[kult]' = 'Gr' OR '[kult]' = 'GrA')
+#		STYLE
+#			OUTLINECOLOR 178 255 148 # hellgrÃŒn
+#			WIDTH 5 MINWIDTH 3 MAXWIDTH 7
+#		END
+#		LABEL
+#			TYPE TRUETYPE FONT "times"
+#			COLOR 130 210 120 # GrÃŒn
+#			OUTLINECOLOR 254 254 254 OUTLINEWIDTH 2
+#			SIZE 13 MINSIZE 10 MAXSIZE 16
+#			POSITION cc
+#			PARTIALS FALSE FORCE TRUE
+#			WRAP ' ' MAXLENGTH 3
+#		END
+#	END
+#END
+
+LAYER
+	NAME "bodensch_po"
+	GROUP "bodenschaetzung"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from s_bodensch_po using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_group_title "BodenschÃ€tzung"
+		wms_group_abstract "BodenschÃ€tzung" 
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "KlassenflÃ€che"
+		wms_abstract "FlÃ€che der BodenschÃ€tzung, das Ergebnis der SchÃ€tzung kann abgefragt werden."
+	END
+	PROJECTION "init=epsg:25832" END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 3500
+	SYMBOLSCALEDENOM 1000
+	TOLERANCEUNITS pixels TOLERANCE 1
+	HEADER   "/opt/gdi/templates/alkisbodenschh.html"
+	TEMPLATE "/opt/gdi/templates/alkisbodensch.html" # (noch?) nicht an Buchauskunft angeschlosssen
+	FOOTER   "/opt/gdi/templates/footerp.html"
+	JOIN # VIEW s_bodensch_ent: Felder einzeln und langschriftlich entschlÃŒsselt.
+		NAME "BOD"
+		CONNECTIONTYPE ogr
+		CONNECTION 'host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432'
+		TABLE "s_bodensch_ent" FROM "ogc_fid" TO "ogc_fid" TYPE ONE-TO-ONE
+  	END
+	CLASS
+		NAME "KlassenflÃ€chengrenze" # SignaturNr: 2703
+		STYLE
+			OUTLINECOLOR 144 197 140 # GID (CMYK %): GrÃŒnâ30â0â42â0
+			WIDTH 3.6 MINWIDTH 2.6 MAXWIDTH 5.2
+		END
+	END
+END
+
+LAYER
+	NAME "bodensch_tx"
+	GROUP "bodenschaetzung"
+	REQUIRES "[bodensch_po]" # Grenzen aufzeigen?
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from s_bodensch_tx using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "SchÃ€tzungsergebnis"
+		wms_abstract "Kompakte Anzeige von: (1. Zeile) Bodenart, Zustandsstufe, Entstehungsart oder Klimastufe/WasserverhÃ€ltnisse und (2. Zeile) Bodenzahl oder GrÃŒnlandgrundzahl / Ackerzahl oder GrÃŒnlandzahl."
+	END
+	PROJECTION "init=epsg:25832" END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 3500
+	SYMBOLSCALEDENOM 1000
+	CLASSITEM kult # Kulturart, SELECT DISTINCT kult FROM s_bodensch_wms; A, AGR, Gr, GrA
+	LABELITEM derlabel
+	CLASS
+		NAME "Acker"
+		EXPRESSION  ('[kult]' = 'A' OR '[kult]' = 'AGr')
+		LABEL
+			TYPE TRUETYPE FONT "times" # Serifenschrift
+			COLOR 211 147 135 # rosa
+			OUTLINECOLOR 254 254 254 OUTLINEWIDTH 2
+			SIZE 13 MINSIZE 10 MAXSIZE 16
+			POSITION uc  # hor/ver = zentrisch/basis
+			PARTIALS FALSE FORCE TRUE
+			WRAP ' ' MAXLENGTH 3
+		END
+	END
+	CLASS
+		NAME "GrÃŒnland"
+		EXPRESSION ('[kult]' = 'Gr' OR '[kult]' = 'GrA')
+		LABEL
+			TYPE TRUETYPE FONT "times"
+			COLOR 144 197 140
+			OUTLINECOLOR 254 254 254 OUTLINEWIDTH 2
+			SIZE 13 MINSIZE 10 MAXSIZE 16
+			POSITION uc  # hor/ver = zentrisch/basis
+			PARTIALS FALSE FORCE TRUE
+			WRAP ' ' MAXLENGTH 3
+		END
+	END
+END
+
+# Signaturen:
+#  Signaturnummer 2703 = KlassenflÃ€chengrenze
+#  Signaturnummer 2705 = Klassenabschnittsgrenze  gestrichelt 400 - 200
+#  Signaturnummer 2707 = SonderflÃ€chengrenze      strich-punktiert 400 500 900 500
+
+# Objektearten:
+#  72001 'BodenschÃ€tzung'  -> 'Kulturart' und 'Bodenart'
+#  72002 'Muster-, Landesmuster- und VergleichsstÃŒck'
+#  72003 'Grabloch der BodenschÃ€tzung'
+#  72004 'Bewertung'
+#  72005 'AX_KennzifferGrabloch' (Datentyp).
+#  72006 'Tagesabschnitt'
+
+# ToDo: Ãberhaken zu den KlassenflÃ€chen
+
+# Zuordnungspfeile BodenschÃ€tzung
+# Neu 2013-04-16
+# Dieser Pfeil ist nur notwendig bzw. sinnvoll, wenn der Label nicht mitten in der KlassenflÃ€che angezeigt wird,
+# sondern an einer manuell festgelegten Textposition. Woher?
+LAYER
+	NAME "ag_l_bodsch"
+	GROUP "bodenschaetzung"
+	REQUIRES "[bodensch_tx]" # WMS-Einstellung im Mapbender: Sel = aus (versteckt) aber sel_default = an. Ebene geht dann mit 'bodensch_tx' automatisch an
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM s_zuordungspfeil_bodensch) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeile" # Linie
+		wms_abstract "Zuordnungspfeil BodenschÃ€tzung" # Linie
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 3500
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		#NAME "Zuordnungspfeil"
+		STYLE
+			COLOR 144 197 140
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+		END
+	END
+END
+LAYER
+	NAME "ag_l_bodsch_sp"
+	GROUP "bodenschaetzung"
+	STATUS ON
+	REQUIRES "[ag_l_bodsch]" # WMS-Einstellung im Mapbender: Sel = aus (versteckt) aber sel_default = an. Ebene geht dann mit 'bodensch_tx' automatisch an
+	TYPE Annotation
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM s_zuordungspfeilspitze_bodensch) as foo using unique ogc_fid using SRID=25832" # View berechnet Winkel
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeil Spitze"
+		wms_abstract "Zuordnungspfeil BodenschÃ€tzung Spitze"
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 3500
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		#NAME "Zuordnungspfeilspitze"
+		TEXT 'E'
+		LABEL
+			TYPE TRUETYPE
+			FONT "alkis_textsymbols"
+			SIZE 3 MINSIZE 2 MAXSIZE 6
+			POSITION cc
+			ANGLE [winkel]
+			COLOR 144 197 140
+			ANTIALIAS TRUE PARTIALS FALSE FORCE TRUE
+		END
+	END
+END
+
+#LAYER
+#	NAME "ax_grablochderbodenschaetzung"
+#	GROUP "bodenschaetzung"
+#	TYPE POINT
+#	#DUMP TRUE
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+#	PROCESSING "CLOSE_CONNECTION=DEFER"
+#	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_grablochderbodenschaetzung) as foo using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+#		wms_title "Grabloch der BodenschÃ€tzung"
+#		wms_abstract "Grabloch der BodenschÃ€tzung"
+#		gml_include_items "all"
+#	END
+#	#PROJECTION "init=epsg:25832" END
+#	#EXTENT 349000 5529000 356000 5533000
+#	MINSCALEDENOM 50
+#	MAXSCALEDENOM 5000
+#	CLASS
+#		NAME "Grabloch der BodenschÃ€tzung"
+#		STYLE
+#			SYMBOL "sn3703"
+#			COLOR 255 128 128
+#			SIZE 1
+#		END
+#	END
+#END
+#LAYER
+#	NAME "ax_musterlandesmusterundvergleichsstueck"
+#	GROUP "bodenschaetzung"
+#	TYPE POLYGON
+#	#DUMP TRUE
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+#	PROCESSING "CLOSE_CONNECTION=DEFER"
+#	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_musterlandesmusterundvergleichsstueck) as foo using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+#		wms_title "Muster Landesmuster und VergleichsstÃŒck"
+#		wms_abstract "Muster-, Landesmuster- und VergleichsstÃŒck der BodenschÃ€tzung"
+#		gml_include_items "all"
+#	END
+#	#PROJECTION "init=epsg:25832" END
+#	#EXTENT 349000 5529000 356000 5533000
+#	MINSCALEDENOM 50
+#	MAXSCALEDENOM 5000
+#	CLASS
+#		NAME "Muster Landesmuster und VergleichsstÃŒck"
+#		STYLE
+#			OUTLINECOLOR 255 128 128
+#		END
+#	END
+#END
+
+# ALKIS  F l u r s t ÃŒ c k
+LAYER
+	NAME "ax_flurstueck"
+	GROUP "flurstueck"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	# mit Feldern fuer klassisches Template:
+	#  DATA "wkb_geometry from (SELECT ogc_fid, gml_id, flurstueckskennzeichen, amtlicheflaeche, wkb_geometry FROM ax_flurstueck) as foo using unique ogc_fid using SRID=25832"
+	# reduzierte Felder: nur 'gml_id' fuer Inlay, und geometry fuer Karte
+	DATA "wkb_geometry from (SELECT ogc_fid, gml_id, wkb_geometry FROM ax_flurstueck) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlurstÃŒck"
+		wms_abstract "'FlurstÃŒck' ist ein Teil der ErdoberflÃ€che, der von einer im Liegenschaftskataster festgelegten Grenzlinie umschlossen und mit einer Nummer bezeichnet ist. Es ist die Buchungseinheit des Liegenschaftskatasters."
+		wms_group_title "FlurstÃŒck"
+		wms_group_abstract "ALKIS FlurstÃŒck"
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 25000
+	SYMBOLSCALEDENOM 1000
+	TOLERANCEUNITS pixels
+	TOLERANCE 1
+	# klassische Variante mit Schaltflaeche fuer Weiterleitung zur Auskunft
+#	HEADER   "/opt/gdi/templates/alkis*gkz*fsh.html" # gkz = mandant
+#	TEMPLATE "/opt/gdi/templates/alkis_fs.html"
+	# Variante mit Inlay (ein iframe enthaelt einen php-Aufruf) 
+	HEADER   "/opt/gdi/templates/alkisausk_inlh.html" 
+	TEMPLATE "/opt/gdi/templates/alkisausk_inl*gkz*.html" # gkz = mandant
+	FOOTER   "/opt/gdi/templates/footer.html"
+	CLASS
+		NAME "FlurstÃŒck"
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 1.2 MINWIDTH 0.8 MAXWIDTH 2.2
+		END
+	END
+END
+LAYER
+	NAME "ax_besondereflurstuecksgrenze" # Kennung: 11002
+	GROUP "flurstueck"
+	TYPE LINE
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, artderflurstuecksgrenze, wkb_geometry FROM ax_besondereflurstuecksgrenze) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Besondere FlurstÃŒcksgrenze"
+		wms_abstract "'Besondere FlurstÃŒcksgrenze' ist ein Teil der Grenzlinie eines FlurstÃŒcks, der von genau zwei benachbarten Grenzpunkten begrenzt wird und fÃŒr den besondere Informationen vorliegen."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 7000
+	SYMBOLSCALE 1000
+	CLASSITEM "artderflurstuecksgrenze" # ist ein ARRAY!
+	# ToDo: FILTER oder VIEW - Werte fÃŒr den Layer "Grenzen" hier ausschlieÃen
+	CLASS
+		EXPRESSION /1000/ # reg. Expression, weil Teil eines ARRAY
+		NAME "Strittige Grenze"
+		STYLE
+			COLOR 254 254 254 # heller Hintergrund, weiss, nicht transparent, bedeckt die FlurstÃŒcksgrenze
+			WIDTH 2.4 MINWIDTH 1.5 MAXWIDTH 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+			PATTERN 20 10 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2001/
+		NAME "Nicht festgestellte Grenze"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 2.4 MINWIDTH 1.5 MAXWIDTH 3.5
+		END
+		STYLE
+			#SYMBOL 0 #SN2008
+			COLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+			PATTERN 17 2.85 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2002/
+		NAME "Verwaltungsstreitverfahren (Grenze)"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 2.4 MINWIDTH 1.5 MAXWIDTH 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+			PATTERN 17 2.85 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2003/
+		NAME "Mittellinie in GewÃ€ssern"
+		STYLE
+			COLOR 254 254 254 # Hintergrund
+			WIDTH 2.4 MINWIDTH 1.5 MAXWIDTH 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2004/
+		NAME "FlurstÃŒcksgrenze nicht feststellbar"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 2.4 MINWIDTH 1.5 MAXWIDTH 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+			PATTERN 8 4 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2010/
+		NAME "Topographische Grenzeinrichtung"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 2.4 MINWIDTH 1.5 MAXWIDTH 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+			PATTERN 17 2.85 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2100/
+		NAME "Topographische GewÃ€sserbegrenzung"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 2.4 MINWIDTH 1.5 MAXWIDTH 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+			PATTERN 17 2.85 END
+			LINECAP butt
+		END
+	END
+	# EXPRESSION /./ # Else - NEIN z.B. politische Grenzen
+	# Weitere Bedeutungen siehe Layer "grenzen"
+END
+
+### OBK START - alternative "amtliche" Darstellung
+#LAYER
+#	NAME "sk4111_Bruchstrich_Z"
+#	GROUP "ALKIS" 
+#	TYPE ANNOTATION
+#	#DUMP TRUE
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=obk user=alkis"
+#	DATA "wkb_geometry from (SELECT * FROM alkis.obk_sk4111_flurstuecksnummer) as foo using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_srs "epsg:25832"
+#		wms_title "FlurstÃŒcksnummer BruchstrichzÃ€hler"
+#	END
+#	MINSCALEDENOM 0
+#	MAXSCALEDENOM 2600
+#	LABELITEM "bruchstrich_z"  
+#	SYMBOLSCALEDENOM 1000
+#	CLASSITEM "bruchstrich_n"
+#	CLASS
+#		EXPRESSION /^F/
+#		LABEL
+#			SIZE 9 MINSIZE 6 MAXSIZE 12
+#			TYPE TRUETYPE
+#			FONT "alkis_textsymbols"
+#			POSITION cc
+#			FORCE True
+#			COLOR 0 0 0
+#			BACKGROUNDCOLOR 255 255 255
+#		END
+#	END
+#END
+#LAYER
+#	NAME "sk4111_Bruchstrich_N"
+#	GROUP "ALKIS" 
+#	TYPE ANNOTATION
+#	#DUMP TRUE
+#	DATA "wkb_geometry from (SELECT * FROM alkis.obk_sk4111_flurstuecksnummer) as foo using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_srs "epsg:25832"
+#		wms_title "FlurstÃŒcksnummer Bruchstrichnenner"
+#	END
+#	MINSCALEDENOM 0
+#	MAXSCALEDENOM 2600
+#	LABELITEM "bruchstrich_n"
+#	SYMBOLSCALEDENOM 1000
+#	CLASSITEM "bruchstrich_n"
+#	CLASS
+#		EXPRESSION /^F/
+#		LABEL
+#			SIZE 9 MINSIZE 6 MAXSIZE 12
+#			TYPE TRUETYPE
+#			FONT "alkis_textsymbols"
+#			POSITION cc
+#			FORCE True
+#			COLOR 0 0 0
+#			BACKGROUNDCOLOR 255 255 255
+#		END
+#	END
+#END
+#LAYER
+#	NAME "sk4111_flurstuecksnummer_z"
+#	GROUP "ALKIS" 
+#	TYPE ANNOTATION
+#	#DUMP TRUE
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=obk user=alkis"
+#	DATA "wkb_geometry from (SELECT * FROM alkis.obk_sk4111_flurstuecksnummer) as foo using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_srs "epsg:25832"
+#		wms_title "FlurstÃŒcksnummer ZÃ€hler"
+#	END
+#	MINSCALEDENOM 0
+#	MAXSCALEDENOM 2600
+#	LABELITEM "zaehler" 
+#	SYMBOLSCALEDENOM 1000
+#	CLASS
+#	LABEL
+#		FONT "arialkursiv"
+#		TYPE TRUETYPE
+#		SIZE 9 MINSIZE 6 MAXSIZE 12
+#		ANGLE auto 
+#		POSITION uc
+#		FORCE True
+#		COLOR 0 0 0
+#		BACKGROUNDCOLOR 254 254 254 #255 255 255
+#	END
+#END
+#LAYER
+#	NAME "sk4111_flurstuecksnummer_n"
+#	GROUP "ALKIS" 
+#	TYPE ANNOTATION
+#	#DUMP TRUE
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=obk user=alkis"
+#	DATA "wkb_geometry from (SELECT * FROM alkis.obk_sk4111_flurstuecksnummer) as foo using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_srs "epsg:25832"
+#		wms_title "FlurstÃŒcksnummer Nenner"
+#	END
+#	MINSCALEDENOM 0
+#	MAXSCALEDENOM 2600
+#	LABELITEM "nenner"
+#	SYMBOLSCALEDENOM 1000
+#	CLASSITEM "bruchstrich_n"
+#	CLASS
+#	EXPRESSION /^F/
+#	LABEL
+#		FONT "arialkursiv"
+#		TYPE TRUETYPE
+#		SIZE 9 MINSIZE 6 MAXSIZE 12
+#		ANGLE auto 
+#		POSITION lc
+#		FORCE True
+#		COLOR 0 0 0
+#		BACKGROUNDCOLOR 254 254 254 #255 255 255
+#	END
+#END
+### OBK ENDE
+
+# Zuordnungspfeile FlurstÃŒck
+LAYER
+	NAME "ag_l_flurstueck" # Ausgestaltung Linie zum FlurstÃŒck
+	GROUP "flurstueck"
+	REQUIRES "[ag_t_flurstueck]" # WMS-Einstellung im Mapbender: Sel = aus (versteckt) aber sel_default = an. Ebene geht dann mit 'ag_t_flurstueck' automatisch an
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid,wkb_geometry FROM s_zuordungspfeil_flurstueck) as foo using unique ogc_fid using SRID=25832" # View gespeichert
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeil Linie"
+		wms_abstract "Zuordnungspfeil FlurstÃŒcksnummer Linie"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 3500
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		#NAME "Zuordnungspfeil"
+		STYLE
+			COLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
+		END
+	END
+END
+LAYER
+	NAME "sk2004_zuordnungspfeil_spitze"
+	GROUP "flurstueck"
+	REQUIRES "[ag_l_flurstueck]" # WMS-Einstellung im Mapbender: Sel = aus (versteckt) aber sel_default = an. Ebene geht dann mit 'ag_l_flurstueck' automatisch an
+	TYPE Annotation
+	STATUS ON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM s_zuordungspfeilspitze_flurstueck) as foo using unique ogc_fid using SRID=25832" # View berechnet Winkel
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeil Spitze"
+		wms_abstract "Zuordnungspfeil FlurstÃŒcksnummer Spitze"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 3500
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		#NAME "Zuordnungspfeilspitze"
+		TEXT 'E'
+		LABEL
+			TYPE TRUETYPE
+			FONT "alkis_textsymbols"
+			SIZE 3 MINSIZE 2 MAXSIZE 6
+			POSITION cc
+			ANGLE [winkel]
+			COLOR 0 0 0
+			ANTIALIAS TRUE PARTIALS FALSE FORCE TRUE
+		END
+	END
+END
+
+# Flurstuecksnummer
+# Muster RLP: zaehler-nenner steht auch in Feld "ap_pto.schriftinhalt"
+# NRW: Feld "ap_pto.schriftinhalt" ist leer. Label aus Tabelle "ax_flurstueck" entnehmen
+# 2013-03-05: Nummer hinter Pfeil, damit der nicht quer durch die Nummer gezeichnet wird.
+LAYER
+	NAME "ag_t_flurstueck"
+	GROUP "flurstueck"
+	TYPE POINT
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "the_geom from (SELECT * FROM pp_flurstueck_nr) as foo using unique gid using SRID=25832" # Tabelle aus PostProcessing
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlurstÃŒcksnummer"
+		wms_abstract "FlurstÃŒck FlurstÃŒcksnummer"
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 4000
+	LABELITEM "fsnum"
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		NAME "FlurstÃŒcknummer"
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrowkursiv'
+			SIZE 9 MINSIZE 7 MAXSIZE 14
+			POSITION cc
+			OFFSET 0 -3.5433
+			COLOR 100 0 0 # 200 0 0
+			OUTLINECOLOR 254 254 254
+			OUTLINEWIDTH 2
+			FORCE True
+		END
+	END
+END
+# Zugehoerigkeitshaken Flurstueck
+LAYER
+	NAME "ag_p_flurstueck"
+	GROUP "flurstueck"
+	REQUIRES "[ax_flurstueck]" # WMS-Einstellung im Mapbender: Sel = aus (versteckt) aber sel_default = an. Ebene geht dann mit 'ax_flurstueck' automatisch an
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry, drehwinkel FROM s_zugehoerigkeitshaken_flurstueck) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "ZugehÃ¶rigkeitshaken" # Flurstueck
+		wms_abstract "FlurstÃŒck ZugehÃ¶rigkeitshaken"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 4000
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		TEXT 'B'
+		LABEL 
+		# In Mapserver 6.0 war der Ankerpunkt noch auf der FlurstÃŒcksgrenze
+		# Ab 6.2 etwas verschoben (falsch!), Haken ragt in das FS hinein. Nun Offset notwendig.
+			TYPE TRUETYPE FONT "alkis_textsymbols"
+			SIZE 14 MINSIZE 7 MAXSIZE 24
+			POSITION cc OFFSET 0 -3
+			COLOR 0 0 0
+			ANGLE [drehwinkel]
+			ANTIALIAS TRUE PARTIALS FALSE FORCE TRUE
+		END
+		#STYLE # Test 6.0 / 6.2
+		#	SYMBOL 'point' SIZE 3 COLOR 200 0 0
+		#END
+	END
+END
+# ALKIS Recht (Klassifizierungen, ges. Festlegungen)
+# alle Layer von GROUP "recht" (2013-03-01 verschoben hinter FS)
+LAYER
+	NAME "ax_klassifizierungnachstrassenrecht"
+	GROUP "recht"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, artderfestlegung, wkb_geometry FROM ax_klassifizierungnachstrassenrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Klassifizierung nach Strassenrecht"
+		wms_abstract "Klassifizierung nach StraÃenrecht' ist die auf den Grund und Boden bezogene BeschrÃ€nkung, Belastung oder andere Eigenschaft einer FlÃ€che nach Ã¶ffentlichen, straÃenrechtlichen Vorschriften."
+		wms_group_title "Recht"
+		wms_group_abstract "'Recht' gruppiert die Ebenen zur Klassifizierung und der auf den Grund und Boden bezogene BeschrÃ€nkung, Belastung oder andere Eigenschaft einer FlÃ€che."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'artderfestlegung'
+	CLASS
+		NAME "Bundesautobahn, Bundesstrasse"
+		EXPRESSION ('[artderfestlegung]' = '1110' OR '[artderfestlegung]' = '1120')
+		STYLE
+			COLOR 255 230 128
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "Landes- oder Staatsstrasse"
+		EXPRESSION ('[artderfestlegung]' = '1130')
+		STYLE
+			COLOR 255 255 178
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	# sn7858 GemeindeverbindungsstraÃe erhÃ€lt Schriftsatz
+END
+# ax_klassifizierungnachwasserrecht
+# Tabelle leer
+LAYER
+	NAME "ax_naturumweltoderbodenschutzrecht"
+	GROUP "recht"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry  FROM ax_naturumweltoderbodenschutzrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Natur, Umwelt oder Bodenschutzrecht"
+		wms_abstract "'Natur-, Umwelt- oder Bodenschutzrecht' ist die auf den Grund und Boden bezogene BeschrÃ€nkung, Belastung oder andere Eigenschaft einer FlÃ€che oder eines Gegenstandes nach Ã¶ffentlichen, natur-, umwelt- oder bodenschutzrechtlichen Vorschriften."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Natur, Umwelt oder Bodenschutzrecht"
+		STYLE
+			OUTLINECOLOR 128 255 128
+			WIDTH 3 # MINWIDTH 3 MAXWIDTH 3
+			PATTERN 11.34 2.85 END
+		END
+	END
+END
+LAYER
+	NAME "ax_anderefestlegungnachwasserrecht"
+	GROUP "recht"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry  FROM ax_anderefestlegungnachwasserrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Andere Festlegung nach Wasserrecht"
+		wms_abstract "Die auf den Grund und Boden bezogene BeschrÃ€nkung, Belastung oder andere Eigenschaft einer FlÃ€che nach Ã¶ffentlichen, wasserrechtlichen Vorschriften."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+#	CLASSITEM 'artderfestlegung'
+	CLASS
+		NAME "Andere Festlegung nach Wasserrecht"
+		STYLE 
+			OUTLINECOLOR 178 255 255
+			WIDTH 3
+			PATTERN 11.34 2.85 END
+		END
+	END
+#	CLASS
+#		NAME "Festgesetztes Ãberschwemmungsgebiet"
+#		EXPRESSION ('[artderfestlegung]' = '1441')
+#			COLOR 178 255 255
+#	END
+END
+LAYER
+	NAME "ax_bauraumoderbodenordnungsrecht_umrandung"
+	GROUP "recht"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+
+	# Tabelle (Standard-Template)
+	#DATA "wkb_geometry from (SELECT ogc_fid, gml_id, artderfestlegung, name, bezeichnung, stelle, wkb_geometry FROM ax_bauraumoderbodenordnungsrecht) as foo using unique ogc_fid using SRID=25832"
+
+	# Tabelle (Template mit Inlay, gkz als Parameter fuer DB-Zugriff uebergeben)
+	#DATA "wkb_geometry from (SELECT ogc_fid, gml_id, artderfestlegung, wkb_geometry, *gkz* as gkz FROM ax_bauraumoderbodenordnungsrecht) as foo using unique ogc_fid using SRID=25832"
+
+	# Tabelle (Template mit Inlay, gkz im Namen des Templat)
+	DATA "wkb_geometry from (SELECT ogc_fid, gml_id, artderfestlegung, wkb_geometry FROM ax_bauraumoderbodenordnungsrecht) as foo using unique ogc_fid using SRID=25832"
+
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bau-, Raum- oder Bodenordnungsrecht"
+		wms_abstract "'Bau-, Raum- oder Bodenordnungsrecht' ist ein fachlich ÃŒbergeordnetes Gebiet von FlÃ€chen mit bodenbezogenen BeschrÃ€nkungen, Belastungen oder anderen Eigenschaften nach Ã¶ffentlichen Vorschriften."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	SYMBOLSCALEDENOM 1000
+	TOLERANCEUNITS pixels TOLERANCE 1
+	HEADER   "/opt/gdi/templates/alkisrechtbauh.html"
+	#TEMPLATE "/opt/gdi/templates/alkisrechtbau.html" # konventionell
+	TEMPLATE "/opt/gdi/templates/alkisrechtbau_inl*gkz*.html" # mit Inlay, gkz-spezifisch
+	FOOTER   "/opt/gdi/templates/footer.html"
+	CLASSITEM "artderfestlegung" # integer
+
+	# Inhalte "Art der Festlegung"
+	#1700 - Festlegung nach Baugesetzbuch - Allgemeines StÃ€dtebaurecht
+	#1710   Bebauungsplan
+	#1720   VerÃ€nderungssperre nach Baugesetzbuch
+	#1730   Vorkaufrechtssatzung
+	#1740   Enteignungsverfahren
+	#1750 * Umlegung nach dem BauGB
+	#1760 * Bauland
+	#1770 * Vereinfachte Umlegung
+	#1780   Vorhaben- und ErschlieÃungsplan
+	#1790   FlÃ€chennutzungsplan
+	
+	#1800 - Festlegung nach Baugesetzbuch - Besonderes StÃ€dtebaurecht
+	#1810   StÃ€dtebauliche EntwicklungsmaÃnahme
+	#1811   StÃ€dtebauliche EntwicklungsmaÃnahme (Beschluss zu vorbereitenden Untersuchungen gefasst)
+	#1820   Erhaltungssatzung
+	#1821   StÃ€dtebauliches Erhaltungsgebiet
+	#1822   Soziales Erhaltungsgebiet
+	#1823   Erhaltungsgebiet zur stÃ€dtebaulichen Umstrukturierung
+	#1824   Soziales Erhaltungsgebiet (Aufstellungsbeschluss gefasst)
+	#1830   StÃ€dtebauliche Gebote
+	#1840   Sanierung
+	#1841   Sanierung (Beschluss zu vorbereitenden Untersuchungen gefasst)
+
+	#1900 - Wohnungsbauerleichterungsgesetz
+
+	#2100 - Flurbereinigungsgesetz
+	#2110 * Flurbereinigung (Par. 1, 37 FlurbG)
+	#2120   Vereinfachtes Flurbereinigungsverfahren (Par. 86 FlurbG)
+	#2130 * Unternehmensflurbereinigung (nach Par. 87 oder 90 FlurbG)
+	#2140 * Beschleunigtes Zusammenlegungsverfahren (Par. 91 FlurbG)
+	#2150   Freiwilliger Landtausch (Par. 103a FlurbG)
+	#2160   Verfahren nach dem Gemeinheitsteilungsgesetz
+	#2170   Verfahren nach dem Gemeinschaftswaldgesetz
+	#2180   Freiwilliger Nutzungstausch
+
+	#2200 - Verfahren nach dem Landwirtschaftsanpassungsgesetz
+	#2210   Flurneuordnung
+	#2220   Freiwilliger Landtausch (Par. 54 LwAnpG)
+	#2230   Bodenordnungsverfahren (Par. 56 LwAnpG)
+	#2240   ZusammenfÃŒhrung von Boden- und GebÃ€udeeigentum (Par. 64 LwAnpG)
+
+	#2300 - Bodensonderungsgesetz
+	#2310   Unvermessenes Eigentum
+	#2320   Unvermessenes Nutzungsrecht
+	#2330   ErgÃ€nzende Bodenneuordnung
+	#2340   Komplexe Bodenneuordnung
+
+	#2400 - VermÃ¶genszuordnungsgesetz
+	#2410   VermÃ¶genszuordnung nach Plan
+	#2411   VermÃ¶genszuordnung nach dem Aufteilungsplan
+	#2412   VermÃ¶genszuordnung nach dem Zuordnungsplan
+
+	#2500 - Landesraumordnungsgesetz
+	#2510   Wasservorranggebiete
+
+	#2600 - Bauordnung
+	#2610 * Baulast
+	#2611   BegÃŒnstigende Baulast
+	#2612   Belastende Baulast
+
+	#2700 - Grenzfeststellungsverfahren nach Hamb. Wassergesetz
+
+	#2800 - VerkehrsflÃ€chenbereinigung
+	
+	# Auswertung: Vorkommen in der Praxis
+
+	#	SELECT artderfestlegung, count(gml_id) as anzahl
+	#	FROM ax_bauraumoderbodenordnungsrecht
+	#	GROUP BY artderfestlegung
+	#	ORDER BY count(gml_id) desc;
+	
+	# key	HBM		LEO 	LAGE	RLP
+	# ----  ----	----	----	---
+	# 1750	0		0		0		1
+	# 1760	0		0		0		29
+	# 1770	0		0		0		1
+	# 2610	888		1327	203		7
+	# 2100	0		0		0		2
+	# 2110	4		8		2		0
+	# 2130	0		0		0		1
+	# 2140	0		0		10		0
+
+	# Gruppe 26**
+	CLASS
+		EXPRESSION "2610" # hÃ€ufig vorkommender Einzelwert
+		NAME "Baulast"
+		TEXT "Baulast"
+		STYLE
+			OUTLINECOLOR 255 128 128
+			WIDTH 3 MINWIDTH 2 MAXWIDTH 5
+			PATTERN 11 3 END
+		END
+		LABEL
+			TYPE TRUETYPE FONT "arial"
+			COLOR 255 128 128
+			OUTLINECOLOR 255 255 255
+			SIZE 14
+			MINSIZE 8
+			MAXSIZE 16
+			POSITION cc
+			PARTIALS FALSE FORCE FALSE
+		END
+	END
+	CLASS
+		EXPRESSION ('[artderfestlegung] ge '2100' and '[artderfestlegung] le '2199') # Rest der Gruppe
+		NAME "Flurbereinigung"
+		STYLE # FlÃ€chenfÃŒllung mit Punkt-Raster
+			COLOR 100 100 100
+			SYMBOL "sn3631"
+			SIZE 15 MINSIZE 10 MAXSIZE 25
+		END
+		STYLE
+			OUTLINECOLOR 255 128 128
+			WIDTH 3 MINWIDTH 2 MAXWIDTH 5
+			PATTERN 12 3 END
+		END
+	END
+	CLASS
+		EXPRESSION ('[artderfestlegung]' = '1750' OR '[artderfestlegung]' = '1770')
+		NAME "Umlegung"
+		TEXT "Umlegung"
+		STYLE
+			OUTLINECOLOR 255 128 128
+			WIDTH 3 MINWIDTH 2 MAXWIDTH 5
+			PATTERN 11 3 END
+		END
+		STYLE
+			COLOR 100 100 100
+			SYMBOL "sn3631"
+			SIZE 15 MINSIZE 10 MAXSIZE 20
+		END
+		LABEL
+			TYPE TRUETYPE
+			COLOR 255 0 255
+			FONT "arial"
+			SIZE 10 MINSIZE 8 MAXSIZE 14
+			POSITION cc
+			PARTIALS FALSE FORCE FALSE
+		END
+	END
+#	CLASS
+#		EXPRESSION "1760"
+#		NAME "Bauland"
+#		STYLE
+#			OUTLINECOLOR 255 128 128
+#			SYMBOL "sn1704"
+#			SIZE 2.835
+#		END
+#	END
+	CLASS
+		EXPRESSION /./
+		NAME "Bau-, Raum- oder Bodenordnungsrecht"
+		STYLE
+			OUTLINECOLOR 255 128 128
+			WIDTH 3 MINWIDTH 2 MAXWIDTH 5
+			PATTERN 11 3 END
+		END
+	END
+END
+LAYER
+	NAME "ax_denkmalschutzrecht"
+	GROUP "recht"
+	TYPE POLYGON
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_denkmalschutzrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Denkmalschutzrecht"
+		wms_abstract "'Denkmalschutzrecht' ist die auf den Grund und Boden bezogene BeschrÃ€nkung, Belastung oder andere Eigenschaft einer FlÃ€che oder Gegenstand nach Ã¶ffentlichen, denkmalschutzrechtlichen Vorschriften."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASS
+		NAME "Denkmalschutzrecht"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_sonstigesrecht"
+	GROUP "recht"
+	TYPE LINE
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, artderfestlegung, wkb_geometry FROM ax_sonstigesrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sonstiges Recht"
+		wms_abstract "'Sonstiges Recht' sind die auf den Grund und Boden bezogenen BeschrÃ€nkungen, Belastungen oder anderen Eigenschaften einer FlÃ€che nach weiteren, nicht unter die Objektarten 71001 bis 71010 zu subsumierenden Ã¶ffentlich - rechtlichen Vorschriften."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 10000
+	CLASSITEM 'artderfestlegung'
+	CLASS
+		NAME "Freileitung"
+		EXPRESSION ('[artderfestlegung]' = '4720')
+		STYLE
+			PATTERN 11.34 2.85 END
+			OUTLINECOLOR 255 128 128
+		END
+	END
+END
+
+# ALKIS Punktort (Vermessungspunkte)
+LAYER
+	NAME "ax_punktortta"
+	GROUP "punktort" # Der Layer kÃ¶nnte auch zur Gruppe FlurstÃŒck
+	TYPE POINT
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM grenzpunkt) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Grenzpunkt"
+		wms_abstract "Grenzpunkt in einer FlurstÃŒcksgrenze."
+		wms_group_title "Vermessungspunkte"
+		wms_group_abstract "ALKIS Punktorte"
+		gml_include_items "all"
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 2000
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		NAME "vermarkt"
+		EXPRESSION ('[abmarkung_marke]' < '9000') # 1000 bis 3845 = Abmarkung 
+		STYLE # Kringel
+			SYMBOL 'point'
+			COLOR 255 255 255
+			SIZE 4 MINSIZE 2 MAXSIZE 7 # FÃŒllung
+			OUTLINECOLOR 0 0 0
+			WIDTH 1 MINWIDTH 1 MAXWIDTH 2 # Rand
+		END
+	END
+	CLASS # 9500=Ohne Marke, 9600=Abmarkung zeitweilig ausgesetzt, 9998=Nach Quellenlage nicht zu spezifizieren
+		NAME "unvermarkt"
+		STYLE
+			SYMBOL 'point'
+			SIZE 4 MINSIZE 2 MAXSIZE 6 # Freistellung
+			COLOR 255 255 255
+		END
+		STYLE
+			SYMBOL 'point'
+			SIZE 1.25 MINSIZE 1 MAXSIZE 3 # PÃŒnktchen
+			COLOR 0 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_punktortag"
+	GROUP "punktort" # kÃ¶nnte auch zu Gruppe GebÃ€ude
+	TYPE POINT
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_punktortag) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bes. GebÃ€udepunkt"
+		wms_abstract "'Punktort AG' ist ein Punktort mit redundanzfreier Geometrie (Besonderer GebÃ€udepunkt, Besonderer Bauwerkspunkt) innerhalb eines Geometriethemas."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 2000
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		NAME "GebÃ€udepunkt"
+		STYLE
+			SYMBOL "point"
+			SIZE 4 MINSIZE 3 MAXSIZE 8
+			COLOR 0 0 0 # voll
+		END
+	END
+END
+LAYER
+	NAME "ax_punktortau"
+	GROUP "punktort"
+	TYPE POINT
+	#DUMP TRUE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_punktortau) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Punktort AU"
+		wms_abstract "'Punktort AU' ist ein Punktort mit unabhÃ€ngiger Geometrie ohne ZugehÃ¶rigkeit zu einem Geometriethema. 
+Er kann zu ZUSOs der folgenden Objektarten gehÃ¶ren: Grenzpunkt, Besonderer GebÃ€udepunkt, Besonderer Bauwerkspunkt, Aufnahmepunkt, Sicherungspunkt,
+Sonstiger Vermessungspunkt, Besonderer topographischer Punkt, Lagefestpunkt, HÃ¶henfestpunkt, Schwerefestpunkt, Referenzstationspunkt."
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 2000
+	CLASS
+		NAME "PunktortAU"
+		STYLE
+			SYMBOL "point"
+			SIZE 5
+			COLOR 0 0 0
+		END
+	END
+END
+# ALKIS  AAA-PrÃ€sentationsobjekte
+# ToDo: Welche Texte sollen zu anderen Layern angezeigt werden?
+LAYER
+	NAME "ap_pto_stra"
+	GROUP "praesentation"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "the_geom from (SELECT * FROM pp_strassenname_p) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "StraÃen ."
+		wms_abstract "Beschriftung mit Art = StraÃe, Weg, Platz, Klassifizierung (Punkt)"
+		wms_group_title "PrÃ€sentation"
+		wms_group_abstract "Gruppierung der Ebenen mit ALKIS PrÃ€sentationsobjekten"
+		gml_include_items "all"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	#MINSCALEDENOM 50
+	MAXSCALEDENOM 4000
+	SYMBOLSCALEDENOM 1000
+	LABELITEM schriftinhalt
+	
+	# Strasse
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse' AND '[hor]' eq 'linksbÃŒndig' AND '[ver]' eq 'Basis')
+		#NAME 'StraÃe'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 6 MAXSIZE 20
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse' AND '[hor]' eq 'zentrisch' AND '[ver]' eq 'Mitte')
+		#NAME 'StraÃe'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 6 MAXSIZE 20
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION cc # zentrisch/Mitte
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse') 
+		NAME 'StraÃe'
+		STYLE
+			SYMBOL "point" SIZE 1 MINSIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 6 MAXSIZE 20
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION uc # zentrisch/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+
+	# Weg
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg' AND '[hor]' eq 'linksbÃŒndig' AND '[ver]' eq 'Basis')
+		#NAME 'Weg'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 8 MINSIZE 5 MAXSIZE 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel] 
+			POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg' AND '[hor]' eq 'zentrisch' AND '[ver]' eq 'Mitte')
+		#NAME 'Weg'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 8 MINSIZE 5 MAXSIZE 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel] POSITION cc # zentrisch/Mitte
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg')
+		NAME 'Weg'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 8 MINSIZE 5 MAXSIZE 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel] POSITION uc # zentrisch/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+
+	# Platz 
+	CLASS
+		#EXPRESSION 'Platz'
+		EXPRESSION ('[art]' eq 'Platz' AND '[ver]' eq 'Mitte')
+		#NAME 'Platz'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 7 MAXSIZE 22
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION cc # zentrisch/Mitte
+			COLOR 0 0 90
+			FORCE true
+		END
+	END
+	CLASS
+		#EXPRESSION 'Platz'
+		EXPRESSION ('[art]' eq 'Platz')
+		NAME 'Platz'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 7 MAXSIZE 22
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION uc # zentrisch/Basis
+			COLOR 0 0 90
+			FORCE true
+		END
+	END
+
+	# Klassifikation
+	CLASS
+		#EXPRESSION 'BezKlassifizierungStrasse'
+		EXPRESSION ('[art]' eq 'BezKlassifizierungStrasse' AND '[hor]' eq 'linksbÃŒndig')
+		#NAME 'Klassifizierung'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 11 MINSIZE 8 MAXSIZE 22
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 90 0
+			FORCE true
+		END
+	END
+	CLASS
+		#EXPRESSION 'BezKlassifizierungStrasse'
+		EXPRESSION ('[art]' eq 'BezKlassifizierungStrasse')
+		NAME 'Klassifizierung'
+		STYLE
+			SYMBOL "point" SIZE 1 MINSIZE 1
+		END
+		LABEL
+			SIZE 11 MINSIZE 8 MAXSIZE 22
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION uc # zentrisch/Basis
+			COLOR 0 90 0
+			FORCE true
+		END
+	END
+END
+
+LAYER # 2014-08-25 Neu: wie zuvor, aber positioniert ÃŒber Linie
+	NAME "ap_lto_stra"
+	GROUP "praesentation"
+	TYPE LINE
+	REQUIRES "[ap_pto_stra]" # P- und L gemeinsam
+	STATUS DEFAULT # automatisch mit
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "the_geom from (SELECT * FROM pp_strassenname_l) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "StraÃen _"
+		wms_abstract "Beschriftung mit Art = StraÃe, Weg, Platz, Klassifizierung (Linie)"
+	END
+	MAXSCALEDENOM 4000
+	SYMBOLSCALEDENOM 1000
+	LABELITEM schriftinhalt
+
+## SELECT DISTINCT art, hor, ver FROM pp_strassenname_l ORDER BY art, hor, ver;
+# "BezKlassifizierungStrasse"; "linksbÃŒndig"; "Basis"
+# "Strasse"; "linksbÃŒndig"; "Basis"
+# "Strasse"; "zentrisch";   "Mitte"
+# "Weg";     "linksbÃŒndig"; "Basis"
+
+	# Strasse
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse' AND '[hor]' eq 'linksbÃŒndig' AND '[ver]' eq 'Basis')
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 6 MAXSIZE 20
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse' AND '[hor]' eq 'zentrisch' AND '[ver]' eq 'Mitte')
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 6 MAXSIZE 20
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION cc # zentrisch/Mitte
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse') 
+		NAME 'StraÃe'
+		STYLE
+			SYMBOL "point" SIZE 1 MINSIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 6 MAXSIZE 20
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION uc # zentrisch/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+
+	# Weg
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg' AND '[hor]' eq 'linksbÃŒndig' AND '[ver]' eq 'Basis')
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 8 MINSIZE 5 MAXSIZE 16
+			TYPE TRUETYPE FONT "arial"
+			POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	#CLASS
+	#	EXPRESSION ('[art]' eq 'Weg' AND '[hor]' eq 'zentrisch' AND '[ver]' eq 'Mitte')
+	#	STYLE
+	#		SYMBOL "point" SIZE 1
+	#	END
+	#	LABEL
+	#		SIZE 8 MINSIZE 5 MAXSIZE 16
+	#		TYPE TRUETYPE FONT "arial"
+	#		POSITION cc # zentrisch/Mitte
+	#		COLOR 0 0 0
+	#		FORCE true
+	#	END
+	#END
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg')
+		NAME 'Weg'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 8 MINSIZE 5 MAXSIZE 16
+			TYPE TRUETYPE FONT "arial"
+			POSITION uc # zentrisch/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+
+	# Platz 
+#	CLASS
+#		EXPRESSION ('[art]' eq 'Platz' AND '[ver]' eq 'Mitte')
+#		STYLE
+#			SYMBOL "point" SIZE 1
+#		END
+#		LABEL
+#			SIZE 10 MINSIZE 7 MAXSIZE 22
+#			TYPE TRUETYPE FONT "arialbold"
+#			POSITION cc # zentrisch/Mitte
+#			COLOR 0 0 90
+#			FORCE true
+#		END
+#	END
+#	CLASS
+#		EXPRESSION ('[art]' eq 'Platz')
+#		NAME 'Platz'
+#		STYLE
+#			SYMBOL "point" SIZE 1
+#		END
+#		LABEL
+#			SIZE 10 MINSIZE 7 MAXSIZE 22
+#			TYPE TRUETYPE FONT "arialbold"
+#			POSITION uc # zentrisch/Basis
+#			COLOR 0 0 90
+#			FORCE true
+#		END
+#	END
+
+	# Klassifikation
+	CLASS
+		EXPRESSION ('[art]' eq 'BezKlassifizierungStrasse' AND '[hor]' eq 'linksbÃŒndig')
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 11 MINSIZE 8 MAXSIZE 22
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 90 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'BezKlassifizierungStrasse')
+		NAME 'Klassifizierung'
+		STYLE
+			SYMBOL "point" SIZE 1 MINSIZE 1
+		END
+		LABEL
+			SIZE 11 MINSIZE 8 MAXSIZE 22
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION uc # zentrisch/Basis
+			COLOR 0 90 0
+			FORCE true
+		END
+	END
+END
+
+## ToDo: neuen Layer Namen auf View ap_pto_nam (NAM, ZNM)
+##  Unterscheidung horizontale/vertikale Position.
+##  Namen von GebÃ€ude wieder wegnehmen? - Oder ALLE Namen jeweils auch einer fachlichen Ebene/Gruppe zuordnen?
+LAYER
+	NAME "ap_pto" # Rest
+	GROUP "praesentation"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM ap_pto_rest) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Beschriftung"
+		wms_abstract "TextfÃ¶rmiges PrÃ€sentationsobjekt mit punktfÃ¶rmiger Textgeometrie PTO, sonstige"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	SYMBOLSCALEDENOM 1000
+	LABELITEM schriftinhalt
+	CLASSITEM art 
+	CLASS
+		NAME "Gewanne"
+		EXPRESSION 'Gewanne'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL # waagerecht
+			SIZE 11 MINSIZE 9 MAXSIZE 18
+			TYPE TRUETYPE FONT "arial"
+			POSITION cc
+			COLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "freier Text"
+		EXPRESSION 'FreierText'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 8 MAXSIZE 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel]
+			POSITION cc
+			COLOR 0 0 0
+			WRAP "/n" MAXLENGTH 15
+		END
+	END
+	CLASS
+		NAME "sonst. Beschriftung" # Rest
+		EXPRESSION /./
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 8 MAXSIZE 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel]
+			POSITION cc
+			COLOR 0 0 0
+			WRAP "/n" # z.b. "Schwimm-/nbecken", Fehler: das "n" bleibt im Label!
+			MAXLENGTH 15
+		END
+	END
+END
+
+# ap_ppo fehlt noch (PunktfÃ¶rmiges PrÃ€sentationsobjekt)
+
+## Gruppe  G r e n z e n
+# Politische Grenzen:
+# Grenze der Bundesrepublik Deutschland 7101 (G)
+# ..des Bundeslandes 7102 (G)
+# ..des Regierungsbezirks 7103 (G)
+# ..des Landkreises 7104 (G)
+# ..der Gemeinde 7106
+# ..des Gemeindeteils 7107
+# ..der Verwaltungsgemeinschaft 7108
+LAYER
+	NAME 'pol_Grenze'
+	GROUP 'grenzen'
+	TYPE LINE
+	STATUS ON
+	METADATA
+		wms_group_title "Grenzen"
+		wms_group_abstract "Grenzen von Katasterbezirken und politische Grenzen"
+		wms_title "Politische Grenze"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_abstract "Grenzen von Bundesland, Regierungsbezirk, Kreis und Stadt oder Gemeinde"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 250
+	MAXSCALEDENOM 12000
+	#SYMBOLSCALEDENOM 1000
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA 'wkb_geometry from (SELECT * FROM sk201x_politische_grenze) as foo using unique ogc_fid using SRID=25832'
+	CLASSITEM 'art' # Art der besonderen Grundstuecksgrenze  IST EIN ARRAY! z.B. {3000,7106}
+	CLASS
+		NAME 'Bundeslandgrenze'
+		EXPRESSION /7102/ # reg. Expr.
+		STYLE
+			COLOR 255 255 255
+			WIDTH 7 MINWIDTH 7 MAXWIDTH 7
+		END
+		STYLE
+			COLOR 242 128 255
+			WIDTH 7 MINWIDTH 7 MAXWIDTH 7
+			PATTERN 5 15 5 15 27 12 27 15 END
+			LINECAP butt
+			LINEJOINMAXSIZE 20
+			LINEJOIN miter					
+		END
+	END
+	CLASS
+		NAME 'Regierungsbezirksgrenze'
+		EXPRESSION /7103/
+		STYLE
+			COLOR 255 255 255
+			WIDTH 5 MINWIDTH 5 MAXWIDTH 5
+		END
+		STYLE
+			COLOR 242 128 255
+			WIDTH 5 MINWIDTH 5 MAXWIDTH 5
+			PATTERN 4 15 4 15 25 10 25 13 END
+			LINECAP butt
+			LINEJOINMAXSIZE 20
+			LINEJOIN miter					
+		END
+	END
+	CLASS
+		NAME 'Kreisgrenze'
+		EXPRESSION /7104/
+		STYLE
+			COLOR 255 255 255
+			WIDTH 5 MINWIDTH 5 MAXWIDTH 5
+		END
+		STYLE
+			COLOR 242 128 255 
+			WIDTH 5 MINWIDTH 5 MAXWIDTH 5
+			PATTERN 23.33 12.5 5 15 5 12.5 END
+			LINECAP butt
+			LINEJOINMAXSIZE 20
+			LINEJOIN miter					
+		END
+	END
+	CLASS
+		NAME 'Gemeindegrenze'
+		EXPRESSION /7106/
+		STYLE
+			COLOR 255 255 255
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 4
+		END
+		STYLE 
+			COLOR 242 128 255
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 4
+			PATTERN 16.67 8.33 3.33 8.33 END
+			LINECAP butt
+			LINEJOINMAXSIZE 20
+			LINEJOIN miter					
+		END
+	END
+END
+LAYER
+	NAME 'gemarkungsrenze'
+	GROUP 'grenzen'
+	TYPE LINE
+	STATUS ON
+	METADATA
+		wms_title "Gemarkungsrenze"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_abstract "Grenze der Gemarkung (Ortsteil)"
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 200
+	MAXSCALEDENOM 10000
+	SYMBOLSCALEDENOM 1000
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA 'wkb_geometry from (SELECT * FROM sk2014_gemarkungsgrenze) as foo using unique ogc_fid using SRID=25832'
+	CLASS
+		NAME 'Gemarkungsgrenze'
+		STYLE
+			COLOR 254 254 254 # heller Untergrund (FlurstÃŒcksgrenze ÃŒbermalen)
+			WIDTH 4 MINWIDTH 3 MAXWIDTH 6
+		END
+		STYLE 
+			COLOR 242 128 255
+			WIDTH 4 MINWIDTH 3 MAXWIDTH 6
+			PATTERN 16.67 8.33 3.33 10 3.33 8.33 END
+			LINECAP butt
+			LINEJOINMAXSIZE 20
+		END
+	END
+END
+LAYER
+	NAME 'flurgrenze'
+	GROUP 'grenzen'
+	TYPE LINE
+	METADATA
+		wms_title "Flurgrenze"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_abstract "Grenze der Flur (Katasterbezirk)"
+
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 5000
+	SYMBOLSCALEDENOM 1000
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA 'wkb_geometry from (SELECT * FROM sk2012_flurgrenze) as foo using unique ogc_fid using SRID=25832'
+	CLASS
+		NAME 'Flurgrenze'
+		#STYLE
+		#	COLOR 254 254 254 # heller Untergrund
+		#	WIDTH 3 MINWIDTH 2 MAXWIDTH 4
+		#END
+		STYLE 
+			COLOR 242 128 255
+			WIDTH 3 MINWIDTH 2 MAXWIDTH 4
+			PATTERN 16.67 8.33 3.33 10 3.33 10 3.33 8.33 END
+			LINECAP butt
+			LINEJOINMAXSIZE 20
+			LINEJOIN miter			
+		END
+	END
+END
+
+LAYER
+	NAME "copyright"
+	STATUS ON # DEFAULT
+	TYPE annotation
+	TRANSFORM lr
+	METADATA
+		wms_title "Copyright"
+		wms_abstract "In der Karte sichtbare Angabe auf die Herkunft der Daten"
+		WMS_KEYWORDLIST "Katasteramt, Copyright, Quellenangabe"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+	END
+	FEATURE
+		POINTS 0 0 END
+		# individuelle Vertragsnummer einsetzen
+		TEXT 'Copyright Geobasisdaten Liegenschaftskataster Kreis __'
+	END
+	CLASS
+		LABEL
+			SIZE small
+			POSITION ul
+			COLOR 50 50 50
+			FORCE TRUE
+			STYLE
+				GEOMTRANSFORM 'labelpoly'
+				COLOR 250 250 250
+			END
+		END
+	END
+END
+END
Index: branches/0.7/umn/alkis/alkis_muster_entw_4.map
===================================================================
--- branches/0.7/umn/alkis/alkis_muster_entw_4.map	(revision 329)
+++ branches/0.7/umn/alkis/alkis_muster_entw_4.map	(revision 329)
@@ -0,0 +1,3651 @@
+# WMS: ALKIS PostNAS Muster mit Platzhalter *gkz* fÃŒr Mandant - Druckversion zur Entwickler-Version
+# Ãnderungen: siehe Bildschirm-Version, letzte:
+# 2014-08-25 F.J. krz  StraÃennamen als P- und L-Variante, hinter "ap_pto_stra" neuer Layer "ap_lto_stra"
+MAP
+	NAME "alkis"
+	STATUS ON
+	EXTENT 349000 5529000 356000 5533000
+	PROJECTION "init=epsg:25832" END
+	MAXSIZE 8400 # Druck
+	SYMBOLSET "symbols/symbols_alkis.sym"
+	FONTSET "fonts/fonts_alkis.fnt"	
+	UNITS METERS
+	WEB
+		METADATA
+			wms_title "ALKIS_"
+			wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+			wms_encoding "UTF-8"
+			wms_onlineresource "http://ows.krz.de/cgi-bin/mapserv6?map=/opt/gdi/alkis07/alkis07*gkz*a_4.map"
+			ows_schema_location ".."
+			wms_enable_request "getmap"
+			wms_box_extended "true"
+			#include "meta_contact.map"
+		END
+	END
+	LEGEND
+		STATUS ON
+		KEYSIZE 32 16
+		KEYSPACING 5 5
+		TRANSPARENT ON
+		LABEL
+			TYPE TRUETYPE
+			FONT 'arial'
+			SIZE 9
+			COLOR 1 1 1
+		END
+	END
+
+LAYER
+	NAME "nutzung_alle"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT gml_id, nutz_id, class, wkb_geometry FROM nutzung) as foo using unique gml_id using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "alle Nutzungsarten"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 10000
+	CLASSITEM nutz_id
+	# ** Siedlung **
+	CLASS
+		EXPRESSION '1'
+		NAME "WohnbauflÃ€che"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '2'
+		NAME "Industrie- und GewerbeflÃ€che"
+		STYLE
+			COLOR 237 237 237
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '3'
+		NAME "Halde"
+		STYLE
+			COLOR 237 237 237
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '4'
+		NAME "Bergbaubetrieb"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '5'
+		NAME "Tagebau Grube Steinbruch"
+		STYLE
+			COLOR 227 227 227
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '6'
+		NAME "FlÃ€che gemischter Nutzung"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '7'
+		NAME "FlÃ€che besonderer funktionaler PrÃ€gung"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '8'
+		NAME "Sport-, Freizeit- und ErholungsflÃ€che"
+		STYLE
+			COLOR 224 255 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '9'
+		NAME "Friedhof"
+		STYLE
+			COLOR 201 228 201
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	# ** Verkehr **  nutzung.class = ax_Strassenverkehr.function
+	CLASS
+		NAME "FuÃgÃ€ngerzone"
+		EXPRESSION ('[nutz_id]' = '10' and '[class]' = '5130')
+		STYLE
+			COLOR 217 255 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "VerkehrsbegleitflÃ€che StraÃe"
+		EXPRESSION ('[nutz_id]' = '10' and '[class]' = '2312')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "StraÃenentwÃ€sserungsanlage"
+		EXPRESSION ('[nutz_id]' = '10' and '[class]' = '2313')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude- und FreiflÃ€che zu Verkehrsanlagen, StraÃe"
+		EXPRESSION ('[nutz_id]' = '10' and '[class]' = '2311')
+		STYLE
+			COLOR 200 200 200
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '10'
+		NAME "StraÃenverkehr"
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '11'
+		NAME "Weg"
+		STYLE
+			COLOR 250 250 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "FuÃgÃ€ngerzone (Platz)"
+		EXPRESSION ('[nutz_id]' = '12' and '[class]' = '5130')
+		STYLE
+			COLOR 217 247 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '12'
+		NAME "Platz"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '13'
+		NAME "Bahnverkehr"
+		STYLE
+			COLOR 250 250 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '14'
+		NAME "Flugverkehr"
+		STYLE
+			COLOR 221 236 197
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '15'
+		NAME "Schiffsverkehr" 
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	# ** Vegetation **
+	#  AX_Landwirtschaft=16, class=vegetationsmerkmal
+	CLASS
+		NAME "Ackerland, Streuobstacker, Hopfen und Spargel"
+		EXPRESSION ('[nutz_id]' = '16' and '[class]' < '1020')
+		STYLE
+			COLOR 255 247 191
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "GrÃŒnland, Streuobstwiese, Gartenland, Baumschule, Weingarten, Obstplantage, Obstbaumplantage und Obststrauchplantage"
+		EXPRESSION ('[nutz_id]' = '16' and '1019' < '[class]' AND '[class]' < '1199')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "Brachland"
+		EXPRESSION ('[nutz_id]' = '16 and '1199' < '[class]')
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '17'
+		NAME "Wald"
+		STYLE
+			COLOR 251 255 251
+			OUTLINECOLOR 0 255 0
+		END
+	END
+	CLASS
+		EXPRESSION '18'
+		NAME "GehÃ¶lz"
+		STYLE
+			COLOR 187 222 201
+			OUTLINECOLOR  153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '19'
+		NAME "Heide"
+		STYLE
+			COLOR 230 215 207
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '20'
+		NAME "Moor"
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '21'
+		NAME "Sumpf"
+		STYLE
+			COLOR 230 215 207
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '22'
+		NAME "Unland, vegetationslose FlÃ€che"
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	#CLASS
+	#	EXPRESSION 23
+	#	NAME "Vegetationsmerkmal" ????
+	#	STYLE
+	#		OUTLINECOLOR 0 255 0
+	#	END
+	#END
+	# ** GewÃ€sser **
+	CLASS
+		EXPRESSION '24'
+		NAME "FlieÃgewÃ€sser"
+		STYLE
+			COLOR 190 233 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '25'
+		NAME "Hafenbecken"
+		STYLE
+			COLOR 230 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS
+		EXPRESSION '26'
+		NAME "stehendes GewÃ€sser"
+		STYLE
+			COLOR 190 233 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	# '27' = Meer
+END
+## ** Siedlung **
+LAYER
+	NAME "ax_wohnbauflaeche"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_wohnbauflaeche) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "WohnbauflÃ€che"
+		wms_group_title "Nutzung " # nur im ersten Layer der Gruppe
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "WohnbauflÃ€che"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_industrieundgewerbeflaeche"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_industrieundgewerbeflaeche) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Industrie- und GewerbeflÃ€che"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'funktion'
+	CLASS
+		NAME "Industrie- und GewerbeflÃ€che"
+		#EXPRESSION ('999' < '[funktion]')
+		STYLE
+			COLOR 237 237 237
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_halde"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry  FROM ax_halde) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Halde"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 # 50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Halde"
+		STYLE
+			COLOR 237 237 237
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER 
+	NAME "ax_bergbaubetrieb"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_bergbaubetrieb) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bergbaubetrieb"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1250 #5000
+	CLASS
+		NAME "Bergbaubetrieb"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_tagebaugrubesteinbruch"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_tagebaugrubesteinbruch) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Tagebau, Grube, Steinbruch"
+		#wms_abstract "Tagebau, Grube, Steinbruch"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Tagebau Grube Steinbruch"
+		STYLE
+			COLOR 227 227 227
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_flaechegemischternutzung"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_flaechegemischternutzung) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlÃ€che gemischter Nutzung"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1250 #5000
+	CLASS
+		NAME "FlÃ€che gemischter Nutzung"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_flaechebesondererfunktionalerpraegung"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_flaechebesondererfunktionalerpraegung) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlÃ€che besonderer funktionaler PrÃ€gung"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1250 #5000
+	CLASS
+		NAME "FlÃ€che besonderer funktionaler PrÃ€gung"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_sportfreizeitunderholungsflaeche"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_sportfreizeitunderholungsflaeche) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sport-, Freizeit- und ErholungsflÃ€che"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'funktion'
+	CLASS
+		NAME "Sport-, Freizeit- und ErholungsflÃ€che"
+		STYLE
+			COLOR 224 255 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_friedhof"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_friedhof) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Friedhof"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 3750 #15000
+	#CLASSITEM 'funktion'
+	CLASS
+		NAME "Friedhof"
+		STYLE
+			COLOR 201 228 201
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+## ** Verkehr **
+LAYER
+	NAME "ax_strassenverkehr"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_strassenverkehr) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "StraÃenverkehr"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'funktion'
+	CLASS
+		NAME "FuÃgÃ€ngerzone"
+		EXPRESSION ('[funktion]' = '5130')
+		STYLE
+			COLOR 217 255 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "VerkehrsbegleitflÃ€che StraÃe"
+		EXPRESSION ('[funktion]' < '2312')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "StraÃenentwÃ€sserungsanlage"
+		EXPRESSION ('[funktion]' < '2313')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude- und FreiflÃ€che zu Verkehrsanlagen, StraÃe" #nicht im SK
+		EXPRESSION ('[funktion]' = '2311')
+		STYLE
+			COLOR 200 200 200
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "StraÃenverkehr" #nicht im SK
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_weg"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_weg) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Weg"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Weg" #sn2515
+		STYLE
+			COLOR 250 250 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_platz"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_platz) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Platz"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'funktion'
+	CLASS
+		NAME "FuÃgÃ€ngerzone (Platz)"
+		EXPRESSION ('[funktion]' = '5130')
+		STYLE
+			COLOR 217 247 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "Platz"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_bahnverkehr"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_bahnverkehr) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bahnverkehr"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1250 #5000
+	#CLASSITEM 'funktion'
+	CLASS
+		NAME "Bahnverkehr"
+		STYLE
+			COLOR 250 250 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_flugverkehr"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_flugverkehr) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Flugverkehr"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	#CLASSITEM 'funktion'
+	CLASS
+		NAME "Flugverkehr"
+		STYLE
+			COLOR 221 236 197
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_schiffsverkehr"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_schiffsverkehr) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Schiffsverkehr"
+		#wms_abstract "'Schiffsverkehr' umfasst die baulich geprÃ€gte FlÃ€che und die mit ihr in Zusammenhang stehende FreiflÃ€che, die ausschlieÃlich oder vorwiegend dem Schiffsverkehr dient."
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1250 #5000
+	CLASS
+		NAME "Schiffsverkehr" # sn1544
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+## ** Vegetation **
+LAYER
+	NAME "ax_landwirtschaft"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, vegetationsmerkmal, wkb_geometry FROM ax_landwirtschaft) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Landwirtschaft"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'vegetationsmerkmal'
+	CLASS
+		NAME "Ackerland, Streuobstacker, Hopfen und Spargel"
+		EXPRESSION ('[vegetationsmerkmal]' < '1020')
+		STYLE
+			COLOR 255 247 191
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "GrÃŒnland, Streuobstwiese, Gartenland, Baumschule, Weingarten, Obstplantage, Obstbaumplantage und Obststrauchplantage"
+		EXPRESSION ('1019' < '[vegetationsmerkmal]' AND '[vegetationsmerkmal]' < '1199')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "Brachland"
+		EXPRESSION ('1199' < '[vegetationsmerkmal]')
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_wald"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_wald) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Wald"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Wald"
+		STYLE
+			COLOR 251 255 251
+			OUTLINECOLOR 0 255 0
+		END
+	END
+END
+LAYER
+	NAME "ax_gehoelz"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_gehoelz) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "GehÃ¶lz"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Gehoelz" #sn1414_sn2517
+		STYLE
+			COLOR 187 222 201
+			OUTLINECOLOR  153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_heide"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_heide) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Heide"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Heide"
+		STYLE
+			COLOR 230 215 207
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_moor"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_moor) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Moor"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1250 #5000
+	CLASS
+		NAME "Moor"
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_sumpf"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_sumpf) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sumpf"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Sumpf"
+		STYLE
+			COLOR 230 215 207
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_unlandvegetationsloseflaeche"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_unlandvegetationsloseflaeche) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Unland"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Unland, vegetationslose FlÃ€che"
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_vegetationsmerkmal"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_vegetationsmerkmal) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Vegetationsmerkmal"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1250 #5000
+	CLASS
+		NAME "Vegetationsmerkmal"
+		STYLE
+			OUTLINECOLOR 0 255 0
+		END
+	END
+END
+## ** GewÃ€sser **
+LAYER
+	NAME "ax_fliessgewaesser"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_fliessgewaesser) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlieÃgewÃ€sser"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "FlieÃgewÃ€sser"
+		STYLE
+			COLOR 190 233 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_hafenbecken"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_hafenbecken) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Hafenbecken"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1250 #5000
+	CLASS
+		NAME "Hafenbecken"
+		STYLE
+			COLOR 230 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+END
+LAYER
+	NAME "ax_stehendesgewaesser"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_stehendesgewaesser) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "stehendes GewÃ€sser"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "stehendes GewÃ€sser" #sn2515
+		STYLE
+			COLOR 190 233 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+# AX_Meer fehlt
+# Besondere Angaben zum GewÃ€sser
+LAYER
+	NAME "ax_untergeordnetesgewaesser_polygon"
+	#GROUP "ax_untergeordnetesgewaesser"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_untergeordnetesgewaesser WHERE st_geometrytype(wkb_geometry) = 'ST_Polygon') as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Untergeordnetes GewÃ€sser (FlÃ€chen)"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1250 #5000
+	CLASSITEM funktion
+	CLASS
+		NAME "Graben"
+		EXPRESSION ('[funktion]' >= '1010' AND '[funktion]' <= '1013')
+		STYLE
+			COLOR 227 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS # ToDo: Klassen differenzieren? nach Farbe?
+		NAME "Fleet"
+		EXPRESSION '1020'
+		STYLE
+			COLOR 227 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS
+		NAME "Bach"
+		EXPRESSION '1030'
+		STYLE
+			COLOR 227 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS
+		NAME "Teich"
+		EXPRESSION '1040'
+		STYLE
+			COLOR 227 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+END
+LAYER
+	NAME "ax_untergeordnetesgewaesser_line"
+	GROUP "ax_nutzungen"
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_untergeordnetesgewaesser WHERE st_geometrytype(wkb_geometry) = 'ST_LineString') as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Untergeordnetes GewÃ€sser (Line)"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1250 #5000
+	CLASSITEM funktion
+	CLASS
+		NAME "Graben"
+		EXPRESSION ('[funktion]' >= '1010' AND '[funktion]' <= '1013')
+		STYLE
+			COLOR 0 204 204
+		END
+	END
+	CLASS # ToDo: Klassen differenzieren? nach Farbe?
+		NAME "Fleet"
+		EXPRESSION '1020'
+		STYLE
+			COLOR 0 204 204
+		END
+	END
+	CLASS
+		NAME "Bach"
+		EXPRESSION '1030'
+		STYLE
+			COLOR 0 204 204
+		END
+	END
+	#CLASS
+	#	NAME "Teich"
+	#	EXPRESSION '1040'
+	#	STYLE
+	#		COLOR 0 204 204
+	#	END
+	#END
+END
+
+# ** aus Post-Processing: Katasterbezirke
+LAYER
+	NAME "pp_flur"
+	GROUP "pp_gebiete"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "the_geom from (SELECT gid, gemarkung, flurnummer, the_geom FROM pp_flur) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_title "Flur"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_group_title "Gebiete"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 400 #1600
+	MAXSCALEDENOM 5000 #20000
+	LABELITEM flurnummer
+	CLASS
+		NAME "Flur"
+		TEXT "Flur [flurnummer]"
+		STYLE
+			OUTLINECOLOR 100 150 10
+			WIDTH 12 #3
+		END
+		LABEL
+			TYPE TRUETYPE
+			COLOR 100 150 10
+			FONT "arial"
+			SIZE 56 #14
+			POSITION cc
+			PARTIALS FALSE FORCE FALSE
+			STYLE
+				GEOMTRANSFORM 'labelpoly'
+				COLOR 250 250 250
+			END
+		END
+	END
+END
+LAYER
+	NAME "pp_gemarkung"
+	GROUP "pp_gebiete"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "simple_geom from (SELECT gid, gemarkungsname, simple_geom FROM pp_gemarkung) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Gemarkung"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 1000 #4000
+	MAXSCALEDENOM 10000 #40000
+	LABELITEM gemarkungsname
+	CLASS
+		NAME "Gemarkung"
+		STYLE
+			OUTLINECOLOR 140 80 0
+			WIDTH 20 #5
+		END
+		LABEL
+			TYPE TRUETYPE
+			COLOR 140 80 0
+			FONT "arial"
+			SIZE 64 #16
+			POSITION cc
+			OFFSET 0 40 # 0 10
+			PARTIALS FALSE FORCE FALSE
+			STYLE
+				GEOMTRANSFORM 'labelpoly'
+				COLOR 250 250 250
+			END
+		END
+	END
+END
+LAYER
+	NAME "pp_gemeinde"
+	GROUP "pp_gebiete"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "simple_geom from (SELECT gid, gemeindename, simple_geom FROM pp_gemeinde) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Gemeinde"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 2000 #8000
+	MAXSCALEDENOM 100000 #400000
+	LABELITEM gemeindename
+	CLASS
+		NAME "Gemeinde"
+		STYLE
+			OUTLINECOLOR 10 10 200
+			WIDTH 28 #7
+		END
+		LABEL
+			TYPE TRUETYPE
+			COLOR 10 10 200
+			FONT "arial"
+			SIZE 80 # 20
+			POSITION cc
+			OFFSET 0 -80 # 0 -20
+			PARTIALS FALSE
+			FORCE FALSE
+			STYLE
+				GEOMTRANSFORM 'labelpoly'
+				COLOR 250 250 250
+			END
+		END
+	END
+END
+
+# ALKIS GebÃ€ude
+LAYER
+	NAME "ax_gebaeude_fl"
+	GROUP "gebaeude"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, gebaeudefunktion, lagezurerdoberflaeche, hochhaus, zustand, ax_datenerhebung, wkb_geometry FROM ax_gebaeude) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "GebÃ€ude (FlÃ€che)"
+		wms_group_title "GebÃ€ude"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1250 #5000
+	SYMBOLSCALEDENOM 250 #1000
+	CLASSITEM 'gebaeudefunktion'
+	# Classes ohne FlÃ€chenfÃŒllung
+	CLASS
+		NAME "GebÃ€ude, unterirdisch"
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1200')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 #1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 4 8 END # 1 2
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "Hochhaus, verfallen"
+		EXPRESSION ('[hochhaus]' = "true" AND '[zustand]' > '2199')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 12 # 2 2 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude, verfallen"
+		EXPRESSION ('[zustand]' > '2199')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	# Classes mit FlÃ€chenfÃŒllung
+	CLASS
+		NAME "WohngebÃ€ude, Hochhaus graphisch"
+		EXPRESSION ('[hochhaus]' = "true" AND '[ax_datenerhebung]' = '4300' AND '[gebaeudefunktion]' < '2000')
+		STYLE
+			COLOR 153 153 153
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50
+	#		SIZE 20 # 5
+	#		WIDTH 8 MINWIDTH 8 MAXWIDTH 8 # 2 2 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 24 16 8 16 END # 6 4 2 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "WohngebÃ€ude, Hochhaus aufgestÃ€ndert" # sn2030_sn1301
+		EXPRESSION ('[hochhaus]' = "true" AND '[gebaeudefunktion]' < '2000' AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 153 153 153
+		END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "Hochhaus" # "WohngebÃ€ude, Hochhaus"
+		EXPRESSION ('[gebaeudefunktion]' < '2000' AND '[hochhaus]' = "true")
+		STYLE
+			COLOR 153 153 153
+		END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "WohngebÃ€ude graphisch"
+		EXPRESSION ('[gebaeudefunktion]' < '2000' AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 153 153 153
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50
+	#		SIZE 20 # 5
+	#		WIDTH 8 MINWIDTH 8 MAXWIDTH 8 # 2 2 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 #1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 24 16 8 16 END # 6 4 2 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "WohngebÃ€ude aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' < '2000' AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 153 153 153
+		END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "WohngebÃ€ude"
+		EXPRESSION /^1/ #('[gebaeudefunktion]' < '2000')
+		STYLE
+			COLOR 153 153 153
+			OUTLINECOLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 #1 1 3
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, Hochhaus, graphisch"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[hochhaus]' = "true" AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 220 220 220
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50 #[schrawink]
+	#		SIZE 20 # 5 
+	#		WIDTH 8 MINWIDTH 8 MAXWIDTH 8 # 2 2 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 24 16 8 16 END # 6 4 2 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, Hochhaus, aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[hochhaus]' = "true" AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 220 220 220
+		END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, Hochhaus"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[hochhaus]' = "true")
+		STYLE
+			COLOR 220 220 220
+		END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, graphisch"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 220 220 220
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50 #[schrawink]
+	#		SIZE 20 # 5
+	#		WIDTH 8 MINWIDTH 8 MAXWIDTH 8 # 2 2 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 24 16 8 16 END # 6 4 2 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 220 220 220
+		END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 #1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe"
+		EXPRESSION /^2/
+		STYLE
+			COLOR 220 220 220
+			OUTLINECOLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, Hochhaus, graphisch"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[hochhaus]' = "true" AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 255 128 128
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50 #[schrawink]
+	#		SIZE 20 # 5
+	#		WIDTH 8 MINWIDTH 8 MAXWIDTH 8 # 2 2 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 24 16 8 16 END # 6 4 2 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, Hochhaus, aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' > 2999 AND '[gebaeudefunktion]' < 4000 AND '[hochhaus]' = "true" AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 255 128 128
+		END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, Hochhaus"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[hochhaus]' = "true")
+		STYLE
+			COLOR 255 128 128
+		END
+		STYLE
+			SYMBOL 'quadrate'
+			SIZE 8 MINSIZE 8 MAXSIZE 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, graphisch"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 255 128 128
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50 #[schrawink]
+	#		SIZE 20 # 5
+	#		WIDTH 8 MINWIDTH 8 MAXWIDTH 8 # 2 2 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 24 16 8 16 END # 6 4 2 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 255 128 128
+		END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke"
+		EXPRESSION /^3/
+		STYLE
+			COLOR 255 128 128
+			OUTLINECOLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+		END
+	END
+	CLASS
+		NAME "Nach Quellenlage nicht zu spezifizieren"
+		EXPRESSION /9998/ #('[gebaeudefunktion]' = 9998)
+		STYLE
+			COLOR 190 190 190 # 204 204 204
+			OUTLINECOLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+		END
+	END
+#	CLASS
+#		#NAME "Rest"
+#		EXPRESSION /./
+#		STYLE
+#			#COLOR 255 128 128
+#			OUTLINECOLOR 255 0 0
+#			WIDTH 8 MINWIDTH 8 MAXWIDTH 12 #2 2 3
+#		END
+#	END
+END
+LAYER
+	NAME "ax_gebaeude_umr"
+	GROUP "gebaeude"
+	REQUIRES "![ax_gebaeude_fl]" # ent oder weder
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, gebaeudefunktion, lagezurerdoberflaeche, hochhaus, zustand, ax_datenerhebung, wkb_geometry FROM ax_gebaeude) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "GebÃ€ude (Umring)"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1500
+	CLASSITEM 'gebaeudefunktion' #'zustand'
+	CLASS
+		NAME "GebÃ€ude, unterirdisch" # z.B. Tiefgarage
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1200')
+		STYLE # Dummy-FÃŒllung. Legende zeigt FlÃ€che, FlÃ€che bleibt aber transparent
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+			PATTERN 4 8 END # 1 2
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude, verfallen"
+		EXPRESSION ('[zustand]' > '2199')
+		STYLE # Dummy-FÃŒllung
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "Hochhaus aufgestÃ€ndert"
+		EXPRESSION ('[hochhaus]' = "true" AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+		END
+	END
+	CLASS
+		NAME "Hochhaus" 
+		EXPRESSION ('[hochhaus]' = "true")
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			SYMBOL 'quadrate'
+			SIZE 8 MINSIZE 8 MAXSIZE 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude graphisch"
+		EXPRESSION ('[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50
+	#		SIZE 20 # 5
+	#		WIDTH 8 MINWIDTH 8 MAXWIDTH 8 # 2 2 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 24 16 8 16 END # 6 4 2 4 
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude aufgestÃ€ndert"
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude"
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+		END
+	END
+END
+LAYER
+	NAME "ax_gebaeude_txt" # GebÃ€ude - Texte
+	GROUP "gebaeude"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM gebaeude_txt) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Funktion und Name)"
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 2000
+	SYMBOLSCALEDENOM 1000
+	LABELITEM 'funktion'
+	CLASSITEM 'name'
+	CLASS
+		NAME "Name und Funktion"
+		EXPRESSION /./
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 24 MINSIZE 20 MAXSIZE 36 # 9 7 12
+			POSITION cc OFFSET 0 40 # 0 12
+			COLOR 0 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE false
+			WRAP " " MAXLENGTH 10
+		END
+		LABEL # 2. Label
+			TEXT '[name]'
+			TYPE TRUETYPE FONT 'arialbold'
+			SIZE 34 MINSIZE 22 MAXSIZE 40 # 9 6 10
+			POSITION cc OFFSET 0 -36 # 0 -10
+			COLOR 180 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE true
+		END
+	END
+	CLASS
+		NAME "Funktion" # nur ..
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 24 MINSIZE 20 MAXSIZE 36 # 9 7 12
+			POSITION auto #cc
+			COLOR 0 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE false
+			WRAP " " MAXLENGTH 10
+		END
+	END
+END
+LAYER
+	NAME "ax_bauteil"
+	GROUP "gebaeude"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauart, lagezurerdoberflaeche, wkb_geometry FROM ax_bauteil) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauteil"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1000 #4000
+	CLASSITEM 'bauart'
+	# ToDo: "lagezurerdoberflaeche" auswerten, Werte: null, 1200.
+	CLASS
+		NAME "Bauteil"
+		EXPRESSION ('[bauart]' = '1100' OR '[bauart]' = '1200' OR '[bauart]' = '1400' OR '[bauart]' = '2000' OR '[bauart]' = '2100' OR '[bauart]' = '2300' OR '[bauart]' = '2350' OR '[bauart]' = '2400' OR '[bauart]' = '2500' OR '[bauart]' = '2510' OR '[bauart]' = '2520' OR '[bauart]' = '2610' OR '[bauart]' = '2620' OR '[bauart]' = '9999')
+		STYLE
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "Bauteil-Schornstein"
+		EXPRESSION ('[bauart]' = '2710')
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 8 #2
+		END
+	END
+	CLASS
+		NAME "Bauteil-Turm"
+		EXPRESSION ('[bauart]' = '2720')
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 12 #3
+		END
+	END
+	CLASS
+		NAME "Bauteil-HochhausgebÃ€udeteil"
+		EXPRESSION ('[bauart]' = '1300')
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 16 #4
+		END
+	END
+	CLASS
+		NAME "Beschaffenheit"
+		EXPRESSION /./
+		STYLE
+			OUTLINECOLOR 200 0 0
+			WIDTH 4 #1
+		END
+	END
+END
+LAYER
+	NAME "ax_besonderegebaeudelinie"
+	GROUP "gebaeude"
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, beschaffenheit, wkb_geometry FROM ax_besonderegebaeudelinie) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Besondere GebÃ€udelinie"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1000 #4000
+	CLASS
+		NAME "Besondere GebÃ€udelinie"
+		STYLE
+			COLOR 0 0 0
+		END
+		STYLE
+			COLOR 254 254 254
+			PATTERN 12 24 END # 3 6 
+		END
+	END
+END
+LAYER # Hausnummer
+	NAME "ag_t_gebaeude"
+	GROUP "gebaeude"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid,wkb_geometry,drehwinkel,hausnummer FROM s_hausnummer_gebaeude) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Hausnummer"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1250 #5000
+	LABELITEM "hausnummer"
+	LABELMINSCALEDENOM 0
+	LABELMAXSCALEDENOM 500 #2000
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		NAME "Hausnummer"
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 28 MINSIZE 16 MAXSIZE 40 # (8 5 12) *4 = (32 20 48) also nicht proportional zur Bildscheirm-Version
+			POSITION uc
+			OFFSET 0 -12 # 0 -3
+			ANGLE [drehwinkel] 
+			COLOR 0 0 0
+			ANTIALIAS true PARTIALS false FORCE true
+			BUFFER 1
+			OUTLINECOLOR 254 254 254
+		END
+	END
+END
+
+LAYER # Lagebezeichnung mit Pseudonummer, Anzeige der lfd-Nr.
+	NAME "ag_t_nebengeb"
+	GROUP "gebaeude"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM lfdnr_nebengebaeude) as foo using unique ogc_fid using SRID=25832" # View
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "lfd. Nr NebengebÃ€ude"
+	END
+	MINSCALEDENOM 12 # 50
+	MAXSCALEDENOM 325 # 1500
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		NAME "Hausnummer"
+		TEXT '([laufendenummer])' # Die Klammern auch mit darstellen!
+		LABEL 
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 28 MINSIZE 20 MAXSIZE 40 # 7 5 10
+			POSITION cc
+			COLOR 50 50 50
+			ANTIALIAS true PARTIALS false FORCE true
+			OUTLINECOLOR 254 254 254			
+		END
+	END
+END
+# Zuordnungspfeile GebÃ€ude
+# siehe auch Layer "ap_lpo"
+LAYER
+	NAME "ag_l_gebaeude"
+	GROUP "gebaeude"
+	REQUIRES "[ag_t_nebengeb]" # nur beides
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid,wkb_geometry FROM s_zuordungspfeil_gebaeude) as foo using unique ogc_fid using SRID=25832" # View gespeichert
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeile GebÃ€ude"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 # 50
+	MAXSCALEDENOM 325 # 1500
+	CLASS
+		NAME "Zuordnungspfeile"
+		STYLE
+			COLOR 0 0 0
+		END
+	END
+END
+# ALKIS Bauwerke
+LAYER
+	NAME "ax_bauwerkimverkehrsbereich_fuellung"
+	GROUP "bauwerk"
+	#GROUP "ax_bauwerkimverkehrsbereich"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkimverkehrsbereich) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk im Verkehrsbereich (FÃŒllung)"
+		wms_group_title "Bauwerke"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "BrÃŒcke"
+		STYLE
+			COLOR 255 255 255
+		END
+	END
+END
+LAYER
+	NAME "ax_bauwerkimverkehrsbereich_umrandung"
+	GROUP "bauwerk" # "ax_bauwerkimverkehrsbereich"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkimverkehrsbereich) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk im Verkehrsbereich (Umrandung)"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "BrÃŒcke"
+		STYLE
+			OUTLINECOLOR 128 128 128
+			PATTERN 22.7 11.4 END # 5.67 2.85
+			WIDTH 8# 2
+		END
+	END
+END
+LAYER
+	NAME "ax_bauwerkimgewaesserbereich"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkimgewaesserbereich) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk im GewÃ€sserbereich"
+		#wms_abstract "Bauwerk im GewÃ€sserbereich"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "Bauwerk im GewÃ€sserbereich"
+		STYLE
+			OUTLINECOLOR 82 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_bauwerkoderanlagefuerindustrieundgewerbe"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkoderanlagefuerindustrieundgewerbe) as foo using unique ogc_fid using SRID=25832"
+	FILTER "st_geometrytype(wkb_geometry) = 'ST_Polygon'" # sonst Absturz Mapserver
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk oder Anlage fÃŒr Industrie und Gewerbe"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "KlÃ€rbecken"
+		EXPRESSION ('[bauwerksfunktion]' = '1210')
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS
+		NAME "Bauwerk oder Anlage fÃŒr Industrie und Gewerbe"
+		EXPRESSION ('[bauwerksfunktion]' = '1215' OR '[bauwerksfunktion]' = '1220' OR '[bauwerksfunktion]' = '1250' OR '[bauwerksfunktion]' = '1260')
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	# else?
+END
+LAYER
+	NAME "ax_bauwerkoderanlagefuersportfreizeitunderholung"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkoderanlagefuersportfreizeitunderholung) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung"
+	END	
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung" # sn1520
+		STYLE
+			COLOR 217 255 217
+			OUTLINECOLOR 82 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_vorratsbehaelterspeicherbauwerk"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_vorratsbehaelterspeicherbauwerk) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "VorratsbehÃ€lter, Speicherbauwerk"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "VorratsbehÃ€lter, Speicherbauwerk"
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+			OUTLINECOLOR 0 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_sonstigesbauwerkodersonstigeeinrichtung"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_sonstigesbauwerkodersonstigeeinrichtung WHERE st_geometrytype(wkb_geometry) = 'ST_Polygon') as foo using unique ogc_fid using SRID=25832"
+	#FILTER "st_geometrytype(wkb_geometry) = 'ST_Polygon'"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sonstiges Bauwerk/Einrichtung"
+	END
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+#	CLASSITEM 'bauwerksfunktion'
+	#CLASS
+	#	NAME "Ãberdachung"
+	#	EXPRESSION "1610"
+	#	STYLE
+	#		COLOR 220 220 220
+	#	END
+	#END
+	#CLASS
+	#	NAME "Brunnen (Trinkwasserversorgung)"
+	#	EXPRESSION "1781"
+	#	STYLE
+	#		COLOR 227 255 255
+	#		OUTLINECOLOR 0 204 204
+	#	END
+	#END
+	CLASS
+		NAME "BauwerksflÃ€che"
+		STYLE
+			COLOR 229 229 229
+			OPACITY 50
+		END
+		STYLE
+			OUTLINECOLOR 0 0 0
+			OUTLINEWIDTH 3
+			PATTERN 20 8 END # 5 2
+		END
+	END
+END
+LAYER
+	NAME "ax_sonstigesbauwerkodersonstigeeinrichtung_l"
+	GROUP "bauwerk"
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_sonstigesbauwerkodersonstigeeinrichtung WHERE st_geometrytype(wkb_geometry) = 'ST_LineString') as foo using unique ogc_fid using SRID=25832"
+	#FILTER "st_geometrytype(wkb_geometry) = 'ST_LineString'"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sonstiges Bauwerk/Einrichtung (Linien)"
+	END
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'bauwerksfunktion'
+	CLASS 
+		NAME "Bauwerkslinie"
+		STYLE
+			COLOR 0 0 0
+			WIDTH 3 #1
+			PATTERN 20 8 END # 5 2
+		END
+	END
+END
+LAYER
+	NAME "ax_leitung"
+	GROUP "bauwerk"
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, spannungsebene, wkb_geometry FROM ax_leitung) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Leitung"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Freileitung"
+		EXPRESSION ('[bauwerksfunktion]' = '1110')
+		STYLE
+			COLOR 0 0 0
+			SIZE 2.04 #0.51
+		END
+	END
+	CLASS
+		NAME "Erdkabel" # sn2523
+		EXPRESSION ('[bauwerksfunktion]' = '1111')
+		STYLE
+			SYMBOL 'point'
+			COLOR 0 0 0
+			PATTERN 4 4 END # 1 1
+		END
+	END
+END
+LAYER
+	NAME "ax_transportanlage"
+	GROUP "bauwerk"
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, lagezurerdoberflaeche, wkb_geometry  FROM ax_transportanlage) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Transportanlage"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'lagezurerdoberflaeche'
+#	CLASS
+#		NAME "Transportanlage"
+#		STYLE
+#			SYMBOL 'point'
+#			COLOR 0 0 0
+#		END
+#	END
+	CLASS
+		NAME "Pipeline unter der ErdoberflÃ€che oder WasseroberflÃ€che" # sn2523
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1200' OR '[lagezurerdoberflaeche]' = '1700')
+		SYMBOL 0 #SYMBOL 'sn2523'
+		STYLE
+			COLOR 0 0 0
+			PATTERN 4 4 END # 1 1
+		END
+	END
+	CLASS
+		NAME "Pipeline"
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			SYMBOL 0
+			COLOR 0 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_turm"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_turm) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Turm"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Turm"
+		STYLE
+			COLOR 204 204 204
+			OUTLINECOLOR 0 0 0
+		END
+	END
+END
+
+# B o d e n s c h Ã€ t z u n g
+## Einfache Version: Den Label mittig in der FlÃ€che anzeigen
+#LAYER
+#	NAME "bodensch_klass"
+
+LAYER
+	NAME "bodensch_po"
+	GROUP "bodenschaetzung"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from s_bodensch_po using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_group_title "BodenschÃ€tzung"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "KlassenflÃ€che"
+	END
+	PROJECTION "init=epsg:25832" END
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 875 #3500
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		NAME "KlassenflÃ€chengrenze"
+		STYLE
+			OUTLINECOLOR 144 197 140
+			WIDTH 14 MINWIDTH 10 MAXWIDTH 20 # 3.5  2.5  5
+		END
+	END
+END
+
+LAYER
+	NAME "bodensch_tx"
+	GROUP "bodenschaetzung"
+	REQUIRES "[bodensch_po]" # Grenzen aufzeigen?
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from s_bodensch_tx using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "SchÃ€tzungsergebnis"
+	END
+	PROJECTION "init=epsg:25832" END
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 875 #3500
+	SYMBOLSCALEDENOM 250 #1000
+	CLASSITEM kult # Kulturart, SELECT DISTINCT kult FROM s_bodensch_wms; A, AGR, Gr, GrA
+	LABELITEM derlabel
+	CLASS
+		NAME "Acker"
+		EXPRESSION  ('[kult]' = 'A' OR '[kult]' = 'AGr')
+		LABEL
+			TYPE TRUETYPE FONT "times" # Serifenschrift
+			COLOR 211 147 135 # rosa
+			OUTLINECOLOR 254 254 254 OUTLINEWIDTH 8 #2
+			SIZE 44 MINSIZE 34 MAXSIZE 56 # 13 10 16
+			POSITION uc  # hor/ver = zentrisch/basis
+			PARTIALS FALSE FORCE TRUE
+			WRAP ' ' MAXLENGTH 3
+		END
+	END
+	CLASS
+		NAME "GrÃŒnland"
+		EXPRESSION ('[kult]' = 'Gr' OR '[kult]' = 'GrA')
+		LABEL
+			TYPE TRUETYPE FONT "times"
+			COLOR 144 197 140 # GrÃŒn
+			OUTLINECOLOR 254 254 254 OUTLINEWIDTH 8 #2
+			SIZE 44 MINSIZE 34 MAXSIZE 56 # 13 10 16
+			POSITION uc  # hor/ver = zentrisch/basis
+			PARTIALS FALSE FORCE TRUE
+			WRAP ' ' MAXLENGTH 3
+		END
+	END
+END
+
+# Zuordnungspfeile BodenschÃ€tzung
+LAYER
+	NAME "ag_l_bodsch"
+	GROUP "bodenschaetzung"
+	#REQUIRES "[ag_t_flurstueck]" # zur Nummer
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM s_zuordungspfeil_bodensch) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeile" # Linie
+	END
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 875 #3500
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		#NAME "Zuordnungspfeil"
+		STYLE
+			COLOR 144 197 140
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+		END
+	END
+END
+LAYER
+	NAME "ag_l_bodsch_sp"
+	GROUP "bodenschaetzung"
+	REQUIRES "[ag_l_bodsch]" # nur beides
+	TYPE Annotation
+	STATUS ON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM s_zuordungspfeilspitze_bodensch) as foo using unique ogc_fid using SRID=25832" # View berechnet Winkel
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeil Spitze"
+	END
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 875 #3500
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		#NAME "Zuordnungspfeilspitze"
+		TEXT 'E'
+		LABEL
+			TYPE TRUETYPE
+			FONT "alkis_textsymbols"
+			SIZE 12 MINSIZE 8 MAXSIZE 24 # 3 2 6
+			POSITION cc
+			ANGLE [winkel]
+			COLOR 144 197 140
+			ANTIALIAS TRUE PARTIALS FALSE FORCE TRUE
+		END
+	END
+END
+
+#LAYER
+#	NAME "ax_grablochderbodenschaetzung"
+#	GROUP "bodenschaetzung"
+#	TYPE POINT
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+#	PROCESSING "CLOSE_CONNECTION=DEFER"
+#	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_grablochderbodenschaetzung) as foo using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+#		wms_title "Grabloch der BodenschÃ€tzung"
+#		#wms_abstract "Grabloch der BodenschÃ€tzung"
+#		wms_group_title "BodenschÃ€tzung"
+#		wms_group_abstract "BodenschÃ€tzung" 
+#	END
+#	#PROJECTION "init=epsg:25832" END
+#	#EXTENT 349000 5529000 356000 5533000
+#	MINSCALEDENOM 0
+#	MAXSCALEDENOM 1250 #5000
+#	CLASS
+#		NAME "Grabloch der BodenschÃ€tzung"
+#		STYLE
+#			SYMBOL "sn3703"
+#			COLOR 255 128 128
+#			SIZE 4 #1
+#		END
+#	END
+#END
+
+#LAYER
+#	NAME "ax_musterlandesmusterundvergleichsstueck"
+#	GROUP "bodenschaetzung"
+#	TYPE POLYGON
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+#	PROCESSING "CLOSE_CONNECTION=DEFER"
+#	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_musterlandesmusterundvergleichsstueck) as foo using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+#		wms_title "Muster Landesmuster und VergleichsstÃŒck"
+#		#wms_abstract "Muster-, Landesmuster- und VergleichsstÃŒck der BodenschÃ€tzung"
+#	END
+#	#PROJECTION "init=epsg:25832" END
+#	#EXTENT 349000 5529000 356000 5533000
+#	MINSCALEDENOM 12 #0
+#	MAXSCALEDENOM 1250 #5000
+#	CLASS
+#		NAME "Muster Landesmuster und VergleichsstÃŒck"
+#		STYLE
+#			OUTLINECOLOR 255 128 128
+#		END
+#	END
+#END
+
+# ALKIS  F l u r s t ÃŒ c k
+LAYER
+	NAME "ax_flurstueck"
+	GROUP "flurstueck"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, gml_id, wkb_geometry FROM ax_flurstueck) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlurstÃŒck"
+		wms_group_title "FlurstÃŒck"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 # 50
+	MAXSCALEDENOM 6250 #25000
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		NAME "FlurstÃŒck"
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 6 MINWIDTH 4 MAXWIDTH 10 # 1.5 1 2.5
+		END
+	END
+END
+LAYER
+	NAME "ax_besondereflurstuecksgrenze"
+	GROUP "flurstueck"
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, artderflurstuecksgrenze, wkb_geometry FROM ax_besondereflurstuecksgrenze) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Besondere FlurstÃŒcksgrenze"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	SYMBOLSCALEDENOM 250 #1000
+	CLASSITEM "artderflurstuecksgrenze"
+	CLASS
+		EXPRESSION /1000/ # reg. Expression, weil Teil eines ARRAY
+		NAME "Strittige Grenze"
+		STYLE
+			COLOR 254 254 254 # heller Hintergrund, weiss, nicht transparent, bedeckt die FlurstÃŒcksgrenze
+			WIDTH 9.6 MINWIDTH 6 MAXWIDTH 14 # 2.4 / 1.5 / 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+			PATTERN 80 40 END # 20 10
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2001/
+		NAME "Nicht festgestellte Grenze"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 9.6 MINWIDTH 6 MAXWIDTH 14 # 2.4 / 1.5 / 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+			PATTERN 68 11.4 END # 17 2.85
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2002/
+		NAME "Verwaltungsstreitverfahren (Grenze)"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 9.6 MINWIDTH 6 MAXWIDTH 14 # 2.4 / 1.5 / 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+			PATTERN 68 11.4 END # 17 2.85
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2003/
+		NAME "Mittellinie in GewÃ€ssern"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 9.6 MINWIDTH 6 MAXWIDTH 14 # 2.4 / 1.5 / 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2004/
+		NAME "FlurstÃŒcksgrenze nicht feststellbar"
+		STYLE
+			COLOR 254 254 254 
+			WIDTH 9.6 MINWIDTH 6 MAXWIDTH 14 # 2.4 / 1.5 / 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2010/
+		NAME "Topographische Grenzeinrichtung"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 9.6 MINWIDTH 6 MAXWIDTH 14 # 2.4 / 1.5 / 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+			PATTERN 17 2.85 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2100/
+		NAME "Topographische GewÃ€sserbegrenzung"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 9.6 MINWIDTH 6 MAXWIDTH 14 # 2.4 / 1.5 / 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+			PATTERN 68 11.4 END # 17 2.85
+		END
+	END
+END
+
+# Zuordnungspfeile FlurstÃŒck
+LAYER
+	NAME "ag_l_flurstueck"
+	GROUP "flurstueck"
+	REQUIRES "[ag_t_flurstueck]" # zur Nummer
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid,wkb_geometry FROM s_zuordungspfeil_flurstueck) as foo using unique ogc_fid using SRID=25832" # View gespeichert
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeil Linie"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 875 #3500
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		#NAME "Zuordnungspfeile"
+		STYLE
+			COLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8
+		END
+	END
+END
+LAYER
+	NAME "sk2004_zuordnungspfeil_spitze"
+	GROUP "flurstueck"
+	REQUIRES "[ag_l_flurstueck]" # nur beides
+	TYPE Annotation
+	STATUS ON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM s_zuordungspfeilspitze_flurstueck) as foo using unique ogc_fid using SRID=25832" # View berechnet Winkel
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeil Spitze"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 875 #3500
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		#NAME "Zuordnungspfeilspitze"
+		TEXT 'E'
+		LABEL
+			TYPE TRUETYPE
+			FONT "alkis_textsymbols"
+			SIZE 12 MINSIZE 8 MAXSIZE 24 # 3 2 6
+			POSITION cc
+			ANGLE [winkel]
+			COLOR 0 0 0
+			ANTIALIAS TRUE PARTIALS FALSE FORCE TRUE
+		END
+	END
+END
+
+# Flurstuecksnummer
+LAYER
+	NAME "ag_t_flurstueck"
+	GROUP "flurstueck"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "the_geom from (SELECT * FROM pp_flurstueck_nr) as foo using unique gid using SRID=25832" # Tabelle aus PostProcessing
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Flurstuecksnummer"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1000 #4000
+	LABELITEM "fsnum"
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		NAME "Flurstuecknummer"
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrowkursiv'
+			SIZE 28 MINSIZE 20 MAXSIZE 48 # kleiner als 4x Bildschirm. Im Druck "dezentere" Darstellung
+			POSITION cc
+			OFFSET 0 -14 # -3.5433
+			COLOR 100 0 0 # 200 0 0
+			OUTLINECOLOR 254 254 254
+			OUTLINEWIDTH 6 # 2
+			FORCE True
+		END
+	END
+END
+# Zugehoerigkeitshaken Flurstueck
+LAYER
+	NAME "ag_p_flurstueck"
+	GROUP "flurstueck"
+	TYPE ANNOTATION
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid,wkb_geometry,drehwinkel FROM s_zugehoerigkeitshaken_flurstueck) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "ZugehÃ¶rigkeitshaken Flurstueck"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1000 #4000
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		TEXT 'B'
+		LABEL
+			TYPE TRUETYPE FONT "alkis_textsymbols"
+			SIZE 56 MINSIZE 28 MAXSIZE 96 # 14 7 24
+			POSITION cc OFFSET 0 -12
+			COLOR 0 0 0
+			ANGLE [drehwinkel]
+			ANTIALIAS TRUE PARTIALS FALSE FORCE True
+		END
+	END
+END
+# ALKIS Recht (Klassifizierungen, ges. Festlegungen)
+LAYER
+	NAME "ax_klassifizierungnachstrassenrecht"
+	GROUP "recht"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, artderfestlegung, wkb_geometry FROM ax_klassifizierungnachstrassenrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Klassifizierung nach Strassenrecht"
+		wms_group_title "Recht"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'artderfestlegung'
+	CLASS
+		NAME "Bundesautobahn, Bundesstrasse"
+		EXPRESSION ('[artderfestlegung]' = '1110' OR '[artderfestlegung]' = '1120')
+		STYLE
+			COLOR 255 230 128
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "Landes- oder Staatsstrasse"
+		EXPRESSION ('[artderfestlegung]' = '1130')
+		STYLE
+			COLOR 255 255 178
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	# sn7858 GemeindeverbindungsstraÃe erhÃ€lt Schriftsatz
+END
+# ax_klassifizierungnachwasserrecht
+# Tabelle leer
+LAYER
+	NAME "ax_naturumweltoderbodenschutzrecht"
+	GROUP "recht"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry  FROM ax_naturumweltoderbodenschutzrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Natur, Umwelt oder Bodenschutzrecht"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Natur, Umwelt oder Bodenschutzrecht"
+		STYLE
+			OUTLINECOLOR 128 255 128
+			WIDTH 12 # 3
+			PATTERN 45 11.4 END # 11.34 2.85
+		END
+	END
+END
+LAYER
+	NAME "ax_anderefestlegungnachwasserrecht"
+	GROUP "recht"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry  FROM ax_anderefestlegungnachwasserrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Andere Festlegung nach Wasserrecht"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 # 50
+	MAXSCALEDENOM 2500 #10000
+#	CLASSITEM 'artderfestlegung'
+	CLASS #sn1705
+		NAME "Andere Festlegung nach Wasserrecht" 
+		STYLE
+			OUTLINECOLOR 178 255 255
+			WIDTH 12 #3
+			PATTERN 45 11.4 END # 11.34 2.85
+		END
+	END
+#	CLASS
+#		NAME "Festgesetztes Ãberschwemmungsgebiet"
+#		EXPRESSION ('[artderfestlegung]' = '1441')
+#			COLOR 178 255 255
+#	END
+END
+LAYER
+	NAME "ax_bauraumoderbodenordnungsrecht_umrandung"
+	GROUP "recht"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, gml_id, artderfestlegung, wkb_geometry FROM ax_bauraumoderbodenordnungsrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bau-, Raum- oder Bodenordnungsrecht"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	SYMBOLSCALEDENOM 250 # 1000
+	CLASSITEM "artderfestlegung"
+	CLASS
+		EXPRESSION "2610"
+		NAME "Baulast"
+		TEXT "Baulast"
+		STYLE
+			OUTLINECOLOR 255 128 128
+			WIDTH 12 MINWIDTH 8 MAXWIDTH 20 # 3 2 5
+			PATTERN 44 12 END # 11 3
+		END
+		LABEL
+			TYPE TRUETYPE FONT "arial"
+			COLOR 255 128 128
+			OUTLINECOLOR 255 255 255
+			SIZE 56 # 14
+			MINSIZE 32 # 8
+			MAXSIZE 64 # 16
+			POSITION cc
+			PARTIALS FALSE FORCE FALSE
+		END
+	END
+	CLASS
+		EXPRESSION ('[artderfestlegung]' ge '2100' and '[artderfestlegung]' le '2199') # Rest der Gruppe
+		NAME "Flurbereinigung"
+		STYLE
+			COLOR 100 100 100
+			SYMBOL "sn3631"
+			SIZE 60 MINSIZE 40 MAXSIZE 100 #15 10 25
+		END
+		STYLE
+			OUTLINECOLOR 255 128 128
+			WIDTH 12 MINWIDTH 8 MAXWIDTH 20 # 3 2 5
+			PATTERN 48 12 END # 12 3
+		END
+	END
+	CLASS
+		EXPRESSION ('[artderfestlegung]' = '1750' OR '[artderfestlegung]' = '1770')
+		NAME "Umlegung"
+		TEXT "Umlegung"
+		STYLE
+			OUTLINECOLOR 255 128 128
+			WIDTH 12 MINWIDTH 8 MAXWIDTH 20 # 3 2 5
+			PATTERN 44 12 END # 11 3
+		END
+		STYLE
+			COLOR 100 100 100
+			SYMBOL "sn3631"
+			SIZE 60 MINSIZE 40 MAXSIZE 80 #15 10 20
+		END
+		LABEL
+			TYPE TRUETYPE
+			COLOR 255 0 255
+			FONT "arial"
+			SIZE 40 MINSIZE 32 MAXSIZE 56 # 10 8 14
+			POSITION cc
+			PARTIALS FALSE FORCE FALSE
+		END
+	END
+	CLASS
+		EXPRESSION /./
+		NAME "Bau-, Raum oder Bodenordnungsrecht"
+		STYLE # sn1704
+			OUTLINECOLOR 255 128 128
+			WIDTH 12 MINWIDTH 8 MAXWIDTH 15 # 3 2 5
+			PATTERN 44 12 END # 11 3
+		END
+	END
+END
+LAYER
+	NAME "ax_denkmalschutzrecht"
+	GROUP "recht"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_denkmalschutzrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Denkmalschutzrecht"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Denkmalschutzrecht"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_sonstigesrecht"
+	GROUP "recht"
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, artderfestlegung, wkb_geometry FROM ax_sonstigesrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sonstiges Recht"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'artderfestlegung'
+	CLASS
+		NAME "Freileitung"
+		EXPRESSION ('[artderfestlegung]' = '4720')
+		STYLE
+			PATTERN 45.3 11.4 END # 11.34 2.85
+			OUTLINECOLOR 255 128 128
+		END
+	END
+END
+
+# ALKIS Punktort (Vermessungspunkte)
+LAYER
+	NAME "ax_punktortta"
+	GROUP "punktort"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM grenzpunkt) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Grenzpunkt"
+		wms_group_title "Vermessungspunkte"
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 2000
+	SYMBOLSCALEDENOM 1000
+	# Die folgenden Grenzpunkt-Symbole sind nicht genau 4mal so groÃ wie in der Bildschirm-Map.
+	# Druck und Bildschirm getrennt optimieren! Auf Bildschirm vergrÃ¶Ãern zur besseren Erkennbarkeit.
+	CLASS
+		NAME "vermarkt"
+		EXPRESSION ('[abmarkung_marke]' < '9000') # 1000 bis 3845 = Abmarkung 
+		STYLE # Kringel
+			SYMBOL 'point'
+			COLOR 255 255 255
+			SIZE 11 MINSIZE 7 MAXSIZE 20 # FÃŒllung 4 2 7 
+			OUTLINECOLOR 0 0 0
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 5 # Rand 1 1 2
+		END
+	END
+	CLASS # 9500=Ohne Marke, 9600=Abmarkung zeitweilig ausgesetzt, 9998=Nach Quellenlage nicht zu spezifizieren
+		NAME "unvermarkt"
+		STYLE
+			SYMBOL 'point'
+			SIZE 10 MINSIZE 6 MAXSIZE 18 # Freistellung 4 2 6
+			COLOR 255 255 255
+		END
+		STYLE
+			SYMBOL 'point'
+			SIZE 4 MINSIZE 2 MAXSIZE 8 # PÃŒnktchen 1.25 1 3
+			COLOR 0 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_punktortag"
+	GROUP "punktort"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_punktortag) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bes. GebÃ€udepunkt"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 500 #2000
+	CLASS
+		NAME "GebÃ€udepunkt"
+		STYLE
+			SYMBOL "point"
+			SIZE 16 MINSIZE 12 MAXSIZE 32 # 4 3 8
+			COLOR 0 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_punktortau"
+	GROUP "punktort"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_punktortau) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Punktort AU"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 500 #2000
+	CLASS
+		NAME "PunktortAU"
+		STYLE
+			SYMBOL "point"
+			SIZE 20 # 5
+			COLOR 0 0 0
+		END
+	END
+END
+# ALKIS  AAA-PrÃ€sentationsobjekte
+LAYER
+	NAME "ap_pto_stra"
+	GROUP "praesentation"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "the_geom from (SELECT * FROM pp_strassenname_p) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "StraÃen ."
+		wms_group_title "PrÃ€sentation"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1000 #4000
+	LABELITEM "schriftinhalt"
+
+	# Strasse
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse' AND '[hor]' eq 'linksbÃŒndig' AND '[ver]' eq 'Basis')
+		#NAME 'StraÃe'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 24 MAXSIZE 80 # 10 6 20
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse' AND '[hor]' eq 'zentrisch' AND '[ver]' eq 'Mitte')
+		#NAME 'StraÃe'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 24 MAXSIZE 80 # 10 6 20
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION cc # zentrisch/Mitte
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse') 
+		NAME 'StraÃe'
+		STYLE
+			SYMBOL "point" SIZE 1 MINSIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 24 MAXSIZE 80 # 10 6 20
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION uc # zentrisch/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+
+	# Weg
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg' AND '[hor]' eq 'linksbÃŒndig' AND '[ver]' eq 'Basis')
+		#NAME 'Weg'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 32 MINSIZE 20 MAXSIZE 64 # 8 5 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel] 
+			POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg' AND '[hor]' eq 'zentrisch' AND '[ver]' eq 'Mitte')
+		#NAME 'Weg'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 32 MINSIZE 20 MAXSIZE 64 # 8 5 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel] POSITION cc # zentrisch/Mitte
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg')
+		NAME 'Weg'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 32 MINSIZE 20 MAXSIZE 64 # 8 5 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel] POSITION uc # zentrisch/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+
+	# Platz 
+	CLASS
+		#EXPRESSION 'Platz'
+		EXPRESSION ('[art]' eq 'Platz' AND '[ver]' eq 'Mitte')
+		#NAME 'Platz'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 28 MAXSIZE 88 # 10 7 22
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION cc # zentrisch/Mitte
+			COLOR 0 0 90
+			FORCE true
+		END
+	END
+	CLASS
+		#EXPRESSION 'Platz'
+		EXPRESSION ('[art]' eq 'Platz')
+		NAME 'Platz'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 28 MAXSIZE 88 # 10 7 22
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION uc # zentrisch/Basis
+			COLOR 0 0 90
+			FORCE true
+		END
+	END
+
+	# Klassifikation
+	CLASS
+		#EXPRESSION 'BezKlassifizierungStrasse'
+		EXPRESSION ('[art]' eq 'BezKlassifizierungStrasse' AND '[hor]' eq 'linksbÃŒndig')
+		#NAME 'Klassifizierung'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 44 MINSIZE 32 MAXSIZE 88 # 11 8 22
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 90 0
+			FORCE true
+		END
+	END
+	CLASS
+		#EXPRESSION 'BezKlassifizierungStrasse'
+		EXPRESSION ('[art]' eq 'BezKlassifizierungStrasse')
+		NAME 'Klassifizierung'
+		STYLE
+			SYMBOL "point" SIZE 1 MINSIZE 1
+		END
+		LABEL
+			SIZE 44 MINSIZE 32 MAXSIZE 88 # 11 8 22
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION uc # zentrisch/Basis
+			COLOR 0 90 0
+			FORCE true
+		END
+	END
+END
+LAYER
+	NAME "ap_lto_stra"
+	GROUP "praesentation"
+	TYPE LINE
+	REQUIRES "[ap_pto_stra]" # P- und L gemeinsam
+	STATUS DEFAULT # automatisch mit
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "the_geom from (SELECT * FROM pp_strassenname_l) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "StraÃen _"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1000 #4000
+	LABELITEM "schriftinhalt"
+
+	# Strasse
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse' AND '[hor]' eq 'linksbÃŒndig' AND '[ver]' eq 'Basis')
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 24 MAXSIZE 80 # 10 6 20
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse' AND '[hor]' eq 'zentrisch' AND '[ver]' eq 'Mitte')
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 24 MAXSIZE 80 # 10 6 20
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION cc # zentrisch/Mitte
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse') 
+		NAME 'StraÃe'
+		STYLE
+			SYMBOL "point" SIZE 1 MINSIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 24 MAXSIZE 80 # 10 6 20
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION uc # zentrisch/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+
+	# Weg
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg' AND '[hor]' eq 'linksbÃŒndig' AND '[ver]' eq 'Basis')
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 32 MINSIZE 20 MAXSIZE 64 # 8 5 16
+			TYPE TRUETYPE FONT "arial"
+			POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	#CLASS
+	#	EXPRESSION ('[art]' eq 'Weg' AND '[hor]' eq 'zentrisch' AND '[ver]' eq 'Mitte')
+	#	STYLE
+	#		SYMBOL "point" SIZE 1
+	#	END
+	#	LABEL
+	#		SIZE 32 MINSIZE 20 MAXSIZE 64 # 8 5 16
+	#		TYPE TRUETYPE FONT "arial"
+	#		POSITION cc # zentrisch/Mitte
+	#		COLOR 0 0 0
+	#		FORCE true
+	#	END
+	#END
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg')
+		NAME 'Weg'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 32 MINSIZE 20 MAXSIZE 64 # 8 5 16
+			TYPE TRUETYPE FONT "arial"
+			POSITION uc # zentrisch/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+
+	# Platz 
+#	CLASS
+#		EXPRESSION ('[art]' eq 'Platz' AND '[ver]' eq 'Mitte')
+#		STYLE
+#			SYMBOL "point" SIZE 1
+#		END
+#		LABEL
+#			SIZE 40 MINSIZE 28 MAXSIZE 88 # 10 7 22
+#			TYPE TRUETYPE FONT "arialbold"
+#			POSITION cc # zentrisch/Mitte
+#			COLOR 0 0 90
+#			FORCE true
+#		END
+#	END
+#	CLASS
+#		EXPRESSION ('[art]' eq 'Platz')
+#		NAME 'Platz'
+#		STYLE
+#			SYMBOL "point" SIZE 1
+#		END
+#		LABEL
+#			SIZE 40 MINSIZE 28 MAXSIZE 88 # 10 7 22
+#			TYPE TRUETYPE FONT "arialbold"
+#			POSITION uc # zentrisch/Basis
+#			COLOR 0 0 90
+#			FORCE true
+#		END
+#	END
+
+	# Klassifikation
+	CLASS
+		EXPRESSION ('[art]' eq 'BezKlassifizierungStrasse' AND '[hor]' eq 'linksbÃŒndig')
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 44 MINSIZE 32 MAXSIZE 88 # 11 8 22
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 90 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'BezKlassifizierungStrasse')
+		NAME 'Klassifizierung'
+		STYLE
+			SYMBOL "point" SIZE 1 MINSIZE 1
+		END
+		LABEL
+			SIZE 44 MINSIZE 32 MAXSIZE 88 # 11 8 22
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION uc # zentrisch/Basis
+			COLOR 0 90 0
+			FORCE true
+		END
+	END
+END
+
+LAYER
+	NAME "ap_pto" # Rest
+	GROUP "praesentation"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM ap_pto_rest) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Beschriftung"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1250 #5000
+	LABELITEM "schriftinhalt"
+	CLASSITEM "art"
+	CLASS
+		NAME "Gewanne"
+		EXPRESSION 'Gewanne'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL # waagerecht
+			SIZE 44 MINSIZE 36 MAXSIZE 72 # 11 9 18
+			TYPE TRUETYPE FONT "arial"
+			POSITION cc
+			COLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "freier Text"
+		EXPRESSION 'FreierText'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 8 MAXSIZE 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel]
+			POSITION cc
+			COLOR 0 0 0
+			WRAP "/n" MAXLENGTH 15
+		END
+	END
+	CLASS
+		NAME "sonst. Beschriftung" # Rest
+		EXPRESSION /./
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 32 MAXSIZE 64 # 10 8 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel]
+			POSITION cc
+			COLOR 0 0 0
+			WRAP "/n" MAXLENGTH 15
+		END
+	END
+END
+
+# ap_ppo fehlt noch
+
+## Gruppe  G r e n z e n
+LAYER
+	NAME 'pol_Grenze'
+	GROUP 'grenzen'
+	TYPE LINE
+	STATUS ON
+	METADATA
+		wms_group_title "Grenzen"
+		wms_title "Politische Grenze"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 62 # 250
+	MAXSCALEDENOM 3000 #12000
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA 'wkb_geometry from (SELECT * FROM sk201x_politische_grenze) as foo using unique ogc_fid using SRID=25832'
+	CLASSITEM 'art' # Art der besonderen Grundstuecksgrenze  IST EIN ARRAY! z.B. {3000,7106}
+	CLASS
+		NAME 'Bundeslandgrenze'
+		EXPRESSION /7102/
+		STYLE
+			COLOR 255 255 255
+			WIDTH 28 MINWIDTH 28 MAXWIDTH 28 # 7 7 7
+		END
+		STYLE
+			COLOR 242 128 255
+			WIDTH 28 MINWIDTH 28 MAXWIDTH 28 # 7 7 7
+			PATTERN 10 60 20 60 108 48 108 60 END #5 15 5 15 27 12 27 15
+			LINECAP butt
+			LINEJOINMAXSIZE 80 #20
+			LINEJOIN miter	
+		END
+	END
+	CLASS
+		NAME 'Regierungsbezirksgrenze'
+		EXPRESSION /7103/
+		STYLE
+			COLOR 255 255 255
+			WIDTH 5 MINWIDTH 5 MAXWIDTH 5
+		END
+		STYLE
+			COLOR 242 128 255
+			WIDTH 5 MINWIDTH 5 MAXWIDTH 5 # 5 5 5
+			PATTERN 16 60 16 60 100 40 100 52 END #4 15 4 15 25 10 25 13
+			LINECAP butt
+			LINEJOINMAXSIZE 80 #20
+			LINEJOIN miter	
+		END
+	END
+	CLASS
+		NAME 'Kreisgrenze'
+		EXPRESSION /7104/
+		STYLE
+			COLOR 255 255 255
+			WIDTH 20 MINWIDTH 20 MAXWIDTH 20 # 5 5 5
+		END
+		STYLE
+			COLOR 242 128 255 
+			WIDTH 20 MINWIDTH 20 MAXWIDTH 20 # 5 5 5
+			PATTERN 93 50 20 60 20 50 END # 23.33 12.5 5 15 5 12.5
+			LINECAP butt
+			LINEJOINMAXSIZE 80 #20
+			LINEJOIN miter	
+		END
+	END
+	CLASS
+		NAME 'Gemeindegrenze'
+		EXPRESSION /7106/
+		STYLE
+			COLOR 255 255 255
+			WIDTH 16 MINWIDTH 16 MAXWIDTH 16 #4 4 4
+		END
+		STYLE
+			COLOR 242 128 255
+			WIDTH 16 MINWIDTH 16 MAXWIDTH 16 # 4 4 4
+			PATTERN 67 33 13.3 33 END # 16.67 8.33 3.33 8.33
+			LINECAP butt
+			LINEJOINMAXSIZE 80 #20
+			LINEJOIN miter	
+		END
+	END
+END
+LAYER
+	NAME 'gemarkungsrenze'
+	GROUP 'grenzen'
+	TYPE LINE
+	STATUS ON
+	METADATA
+		wms_title "Gemarkungsrenze"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50 # 200
+	MAXSCALEDENOM 2500 # 10000
+	SYMBOLSCALEDENOM 250 # 1000
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA 'wkb_geometry from (SELECT * FROM sk2014_gemarkungsgrenze) as foo using unique ogc_fid using SRID=25832'
+	CLASS
+		NAME 'Gemarkungsgrenze'
+		STYLE
+			COLOR 254 254 254 # heller Untergrund (FlurstÃŒcksgrenze ÃŒbermalen)
+			WIDTH 16 MINWIDTH 12 MAXWIDTH 24 # 4 3 6
+		END
+		STYLE
+			COLOR 242 128 255
+			WIDTH 16 MINWIDTH 12 MAXWIDTH 24 # 4 3 6
+			PATTERN 67 33 13.3 33 END # 16.67 8.33 3.33 8.33
+			LINECAP butt
+			LINEJOINMAXSIZE 80 #20
+			LINEJOIN miter
+		END
+	END
+END
+LAYER
+	NAME 'flurgrenze'
+	GROUP 'grenzen'
+	TYPE LINE
+	METADATA
+		wms_title "Flurgrenze"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 # 50
+	MAXSCALEDENOM 1250 #5000
+	SYMBOLSCALEDENOM 250 #1000
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz*_neu user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA 'wkb_geometry from (SELECT * FROM sk2012_flurgrenze) as foo using unique ogc_fid using SRID=25832'
+	CLASS
+		NAME 'Flurgrenze'
+		#STYLE
+		#	COLOR 254 254 254
+		#	WIDTH 12 MINWIDTH 8 MAXWIDTH 16 # 3 2 4
+		#END
+		STYLE
+			COLOR 242 128 255
+			WIDTH 12 MINWIDTH 8 MAXWIDTH 16 # 3 2 4
+			PATTERN 67 33 13 40 13 40 13 33 END #16.67 8.33 3.33 10 3.33 10 3.33 8.33
+			LINECAP butt
+			LINEJOINMAXSIZE 80 #20
+			LINEJOIN miter
+		END
+	END
+END
+
+LAYER
+	NAME "copyright"
+	STATUS ON # DEFAULT
+	TYPE annotation
+	TRANSFORM lr
+	METADATA
+		wms_title "Copyright"
+		#wms_abstract "In der Karte sichtbare Angabe auf die Herkunft der Daten"
+		WMS_KEYWORDLIST "Katasteramt, Copyright, Quellenangabe"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+	END
+	FEATURE
+		POINTS 0 0 END
+		# hier die individuelle Vertragsnummer einsetzen
+		TEXT 'Copyright Geobasisdaten Liegenschaftskataster Kreis __'
+	END
+	CLASS
+		LABEL
+			SIZE small # x4 ?
+			POSITION ul
+			COLOR 50 50 50
+			FORCE TRUE
+			STYLE # bbox ms 6.0
+				GEOMTRANSFORM 'labelpoly'
+				COLOR 250 250 250
+			END
+		END
+	END
+END
+END
Index: branches/0.7/umn/alkis/templates/alkisausk_inlrlp.html
===================================================================
--- branches/0.7/umn/alkis/templates/alkisausk_inlrlp.html	(revision 329)
+++ branches/0.7/umn/alkis/templates/alkisausk_inlrlp.html	(revision 329)
@@ -0,0 +1,5 @@
+<!-- MapServer Template -->
+<iframe class='inlay' name='flurstueckinlay'
+	src='../info/alkis/alkisinlayausk.php?gkz=rlp&amp;gmlid=[gml_id]'>
+	Weitere Informationen zum ALKIS Flurst&uuml;ck [gml_id]
+</iframe>
Index: branches/0.7/umn/alkis/templates/alkisbodensch.html
===================================================================
--- branches/0.7/umn/alkis/templates/alkisbodensch.html	(revision 329)
+++ branches/0.7/umn/alkis/templates/alkisbodensch.html	(revision 329)
@@ -0,0 +1,36 @@
+<!-- MapServer Template -->
+<table>
+<tr>
+	<td class='li'>Kulturart:</td>
+	<td title='"Kulturart" ist die bestandskrÃ€ftig festgesetzte landwirtschaftliche Nutzungsart entsprechend dem Acker- oder GrÃŒnlandschÃ€tzungsrahmen.'>[BOD_kulturart_e]</td>
+</tr>
+<tr>
+	<td class='li'>Bodenart:</td>
+	<td title='"Bodenart" ist die nach den DurchfÃŒhrungsbestimmungen zum BodenschÃ€tzungsgesetz (SchÃ€tzungsrahmen) festgelegte Bezeichnung der Bodenart.'>[BOD_bodenart_e]</td>
+</tr>
+<tr>
+	<td class='li'>Zustandsstufe:</td>
+	<td title='"Zustandsstufe oder Bodenstufe" ist die nach den SchÃ€tzungsrahmen festgelegte Bezeichnung der Zustands- oder Bodenstufe.'>[BOD_zustandsstufe_e]</td>
+</tr>
+<tr>
+	<td class='li'>Entstehungsart oder<br>Klimastufe/WasserverhÃ€ltnisse:</td>
+	<td title='"Entstehungsart oder Klimastufe/WasserverhÃ€ltnisse" ist die nach den SchÃ€tzungsrahmen festgelegte Bezeichnung der Entstehungsart oder der Klimastufe und der WasserverhÃ€ltnisse.'>[BOD_entstehart1] [BOD_entstehart2]</td>
+</tr>
+<tr>
+	<td class='li'>Bodenzahl oder<br>GrÃŒnlandgrundzahl:</td>
+	<td title='"Bodenzahl oder GrÃŒnlandgrundzahl" ist die Wertzahl nach dem Acker- oder GrÃŒnlandschÃ€tzungsrahmen'>[BOD_grundz]</td>
+</tr>
+<tr>
+	<td class='li'>Ackerzahl oder<br>GrÃŒnlandzahl:</td>
+	<td title='"Ackerzahl oder GrÃŒnlandzahl" ist die "Bodenzahl oder GrÃŒnlandgrundzahl" einschlieÃlich Ab- und Zurechnungen nach dem BodenschÃ€tzungsgesetz.'>[BOD_agzahl]</td>
+</tr>
+<tr>
+	<td class='li'>Sonstige Angaben:</td>
+	<td title='"Sonstige Angaben" ist der Nachweis von Besonderheiten einer bodengeschÃ€tzten FlÃ€che.'>[BOD_sonstigeangaben]&nbsp;</td>
+</tr>
+<tr>
+	<td class='li'>Jahreszahl:</td>
+	<td title='"Jahreszahl" ist das Jahr, in dem eine Neukultur oder Tiefkultur angelegt worden ist.'>[BOD_jahreszahl]&nbsp;</td>
+</tr>
+</table>
+<hr>
Index: branches/0.7/umn/alkis/templates/alkisrechtbauh.html
===================================================================
--- branches/0.7/umn/alkis/templates/alkisrechtbauh.html	(revision 329)
+++ branches/0.7/umn/alkis/templates/alkisrechtbauh.html	(revision 329)
@@ -0,0 +1,10 @@
+<!-- MapServer Template -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<title>ALKIS</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<link rel="stylesheet" type="text/css" href="../info/featureinfo.css">
+</head>
+<body onLoad="window.resizeTo(480, 560)">
+<hr>
Index: branches/0.7/umn/alkis/templates/alkis_fs.html
===================================================================
--- branches/0.7/umn/alkis/templates/alkis_fs.html	(revision 329)
+++ branches/0.7/umn/alkis/templates/alkis_fs.html	(revision 329)
@@ -0,0 +1,17 @@
+<!-- MapServer Template -->
+<table>
+<tr>
+	<td class='li'>Flurst&uuml;ckskennzeichen:</td>
+	<td>[flurstueckskennzeichen]</td>
+</tr>
+<tr>
+	<td class='li'>amtliche Fl&auml;che:</td>
+	<td>[amtlicheflaeche] m&#178;</td>
+</tr>
+<tr>
+	<td class='li'>globale ID:</td>
+	<td title='gml_id'>[gml_id]</td>
+</tr>
+</table>
+<br>
+<input type='button' value='Auskunft' onclick="initALKIS('[gml_id]')">
Index: branches/0.7/umn/alkis/templates/alkis_fs_mb3.html
===================================================================
--- branches/0.7/umn/alkis/templates/alkis_fs_mb3.html	(revision 329)
+++ branches/0.7/umn/alkis/templates/alkis_fs_mb3.html	(revision 329)
@@ -0,0 +1,15 @@
+<!-- MapServer Template -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<SCRIPT>
+
+(function() {
+	var selParcel = "[gml_id]";
+	var link = "http://alkis.mapbender3.org/mapbender3/web/info/alkis/alkisausk.php?gkz=xxx&gmlid=" + encodeURI(selParcel);
+	window.open(link,'','left=0,top=20,width=600,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbar=yes');
+})();
+</SCRIPT>
+</head>
+<body></body>
+</html>
Index: branches/0.7/umn/alkis/templates/footer.html
===================================================================
--- branches/0.7/umn/alkis/templates/footer.html	(revision 329)
+++ branches/0.7/umn/alkis/templates/footer.html	(revision 329)
@@ -0,0 +1,3 @@
+<!-- MapServer Template Footer -->
+</body>
+</html>
Index: branches/0.7/umn/alkis/templates/footerp.html
===================================================================
--- branches/0.7/umn/alkis/templates/footerp.html	(revision 329)
+++ branches/0.7/umn/alkis/templates/footerp.html	(revision 329)
@@ -0,0 +1,8 @@
+<!-- MapServer Template footer print -->
+<div class='noprint'>
+<center>
+	<input type='button' value='Drucken' onClick='javascript:print(this.document);'>
+</center>
+</div>
+</body>
+</html>
Index: branches/0.7/umn/alkis/templates/alkisausk_inlh.html
===================================================================
--- branches/0.7/umn/alkis/templates/alkisausk_inlh.html	(revision 329)
+++ branches/0.7/umn/alkis/templates/alkisausk_inlh.html	(revision 329)
@@ -0,0 +1,11 @@
+<!-- MapServer Template -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<title>ALKIS</title>
+	<!-- ALKIS Auskunft mit Inlay, Header -->
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<link rel="stylesheet" type="text/css" href="../info/featureinfo.css">
+</head>
+<body onLoad="window.resizeTo(550, 600)">
+<h1>ALKIS Flurst&uuml;ck</h1>
Index: branches/0.7/umn/alkis/templates/alkisbodenschh.html
===================================================================
--- branches/0.7/umn/alkis/templates/alkisbodenschh.html	(revision 329)
+++ branches/0.7/umn/alkis/templates/alkisbodenschh.html	(revision 329)
@@ -0,0 +1,11 @@
+<!-- MapServer Template -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<title>ALKIS Bodensch&auml;tzung</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<link rel="stylesheet" type="text/css" href="http://mapserver.krz.de/featureinfo.css">
+</head>
+<body>
+<h1>Bodensch&auml;tzung</h1>
+<h2>Klassenfl&auml;che</h2>
Index: branches/0.7/umn/alkis/templates/alkisrechtbau_inlrlp.html
===================================================================
--- branches/0.7/umn/alkis/templates/alkisrechtbau_inlrlp.html	(revision 329)
+++ branches/0.7/umn/alkis/templates/alkisrechtbau_inlrlp.html	(revision 329)
@@ -0,0 +1,5 @@
+<!-- MapServer Template -->
+<iframe class='inlay' name='baurechtinlay'
+	src='http://map.krz.de/info/alkis/alkisinlaybaurecht.php?gkz=rlp&amp;gmlid=[gml_id]'>
+	Weitere Informationen zum ALKIS Bau-, Raum- oder Bodenordnungsrecht [gml_id]
+</iframe>
Index: branches/0.7/umn/alkis/templates/alkisrlpfsh.html
===================================================================
--- branches/0.7/umn/alkis/templates/alkisrlpfsh.html	(revision 329)
+++ branches/0.7/umn/alkis/templates/alkisrlpfsh.html	(revision 329)
@@ -0,0 +1,18 @@
+<!-- MapServer Template -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+	<title>ALKIS</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<link rel="stylesheet" type="text/css" href="../info/featureinfo.css">
+</head>
+<body onLoad="window.resizeTo(460, 300)">
+<script type="text/javascript">
+function initALKIS(selParcel){
+	var link = "http://map.krz.de/info/alkis/alkisausk.php?gkz=rlp&gmlid=" + encodeURI(selParcel);
+	window.open(link,'','left=0,top=0,width=660,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes');
+	window.close("_self");
+}
+</script>
+<h1>ALKIS Flurst&uuml;ck</h1>
+<p class='datum'>Musterkarte Rheinland-Pfalz<p>
Index: branches/0.7/umn/alkis/alkis_muster_4.map
===================================================================
--- branches/0.7/umn/alkis/alkis_muster_4.map	(revision 329)
+++ branches/0.7/umn/alkis/alkis_muster_4.map	(revision 329)
@@ -0,0 +1,3650 @@
+# WMS: ALKIS PostNAS Muster mit Platzhalter *gkz* fÃŒr Mandant - Druckversion zur Entwickler-Version
+# Ãnderungen: siehe Bildschirm-Version, letzte:
+# 2014-08-25 F.J. krz  StraÃennamen als P- und L-Variante, hinter "ap_pto_stra" neuer Layer "ap_lto_stra"
+MAP
+	NAME "alkis"
+	STATUS ON
+	EXTENT 349000 5529000 356000 5533000
+	PROJECTION "init=epsg:25832" END
+	MAXSIZE 8400 # Druck
+	SYMBOLSET "symbols/symbols_alkis.sym"
+	FONTSET "fonts/fonts_alkis.fnt"	
+	UNITS METERS
+	WEB
+		METADATA
+			wms_title "ALKIS"
+			wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+			wms_encoding "UTF-8"
+			wms_onlineresource "http://ows.krz.de/cgi-bin/mapserv6?map=/opt/gdi/alkis07/alkis07*gkz*_4.map"
+			ows_schema_location ".."
+			wms_enable_request "getmap"
+			wms_box_extended "true"
+		END
+	END
+	LEGEND
+		STATUS ON
+		KEYSIZE 32 16
+		KEYSPACING 5 5
+		TRANSPARENT ON
+		LABEL
+			TYPE TRUETYPE
+			FONT 'arial'
+			SIZE 9
+			COLOR 1 1 1
+		END
+	END
+
+LAYER
+	NAME "nutzung_alle"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT gml_id, nutz_id, class, wkb_geometry FROM nutzung) as foo using unique gml_id using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "alle Nutzungsarten"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 10000
+	CLASSITEM nutz_id
+	# ** Siedlung **
+	CLASS
+		EXPRESSION '1'
+		NAME "WohnbauflÃ€che"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '2'
+		NAME "Industrie- und GewerbeflÃ€che"
+		STYLE
+			COLOR 237 237 237
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '3'
+		NAME "Halde"
+		STYLE
+			COLOR 237 237 237
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '4'
+		NAME "Bergbaubetrieb"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '5'
+		NAME "Tagebau Grube Steinbruch"
+		STYLE
+			COLOR 227 227 227
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '6'
+		NAME "FlÃ€che gemischter Nutzung"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '7'
+		NAME "FlÃ€che besonderer funktionaler PrÃ€gung"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '8'
+		NAME "Sport-, Freizeit- und ErholungsflÃ€che"
+		STYLE
+			COLOR 224 255 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '9'
+		NAME "Friedhof"
+		STYLE
+			COLOR 201 228 201
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	# ** Verkehr **  nutzung.class = ax_Strassenverkehr.function
+	CLASS
+		NAME "FuÃgÃ€ngerzone"
+		EXPRESSION ('[nutz_id]' = '10' and '[class]' = '5130')
+		STYLE
+			COLOR 217 255 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "VerkehrsbegleitflÃ€che StraÃe"
+		EXPRESSION ('[nutz_id]' = '10' and '[class]' = '2312')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "StraÃenentwÃ€sserungsanlage"
+		EXPRESSION ('[nutz_id]' = '10' and '[class]' = '2313')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude- und FreiflÃ€che zu Verkehrsanlagen, StraÃe"
+		EXPRESSION ('[nutz_id]' = '10' and '[class]' = '2311')
+		STYLE
+			COLOR 200 200 200
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '10'
+		NAME "StraÃenverkehr"
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '11'
+		NAME "Weg"
+		STYLE
+			COLOR 250 250 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "FuÃgÃ€ngerzone (Platz)"
+		EXPRESSION ('[nutz_id]' = '12' and '[class]' = '5130')
+		STYLE
+			COLOR 217 247 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '12'
+		NAME "Platz"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '13'
+		NAME "Bahnverkehr"
+		STYLE
+			COLOR 250 250 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '14'
+		NAME "Flugverkehr"
+		STYLE
+			COLOR 221 236 197
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '15'
+		NAME "Schiffsverkehr" 
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	# ** Vegetation **
+	#  AX_Landwirtschaft=16, class=vegetationsmerkmal
+	CLASS
+		NAME "Ackerland, Streuobstacker, Hopfen und Spargel"
+		EXPRESSION ('[nutz_id]' = '16' and '[class]' < '1020')
+		STYLE
+			COLOR 255 247 191
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "GrÃŒnland, Streuobstwiese, Gartenland, Baumschule, Weingarten, Obstplantage, Obstbaumplantage und Obststrauchplantage"
+		EXPRESSION ('[nutz_id]' = '16' and '1019' < '[class]' AND '[class]' < '1199')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "Brachland"
+		EXPRESSION ('[nutz_id]' = '16 and '1199' < '[class]')
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '17'
+		NAME "Wald"
+		STYLE
+			COLOR 251 255 251
+			OUTLINECOLOR 0 255 0
+		END
+	END
+	CLASS
+		EXPRESSION '18'
+		NAME "GehÃ¶lz"
+		STYLE
+			COLOR 187 222 201
+			OUTLINECOLOR  153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '19'
+		NAME "Heide"
+		STYLE
+			COLOR 230 215 207
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '20'
+		NAME "Moor"
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '21'
+		NAME "Sumpf"
+		STYLE
+			COLOR 230 215 207
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '22'
+		NAME "Unland, vegetationslose FlÃ€che"
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	#CLASS
+	#	EXPRESSION 23
+	#	NAME "Vegetationsmerkmal" ????
+	#	STYLE
+	#		OUTLINECOLOR 0 255 0
+	#	END
+	#END
+	# ** GewÃ€sser **
+	CLASS
+		EXPRESSION '24'
+		NAME "FlieÃgewÃ€sser"
+		STYLE
+			COLOR 190 233 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		EXPRESSION '25'
+		NAME "Hafenbecken"
+		STYLE
+			COLOR 230 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS
+		EXPRESSION '26'
+		NAME "stehendes GewÃ€sser"
+		STYLE
+			COLOR 190 233 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	# '27' = Meer
+END
+## ** Siedlung **
+LAYER
+	NAME "ax_wohnbauflaeche"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_wohnbauflaeche) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "WohnbauflÃ€che"
+		wms_group_title "Nutzung " # nur im ersten Layer der Gruppe
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "WohnbauflÃ€che"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_industrieundgewerbeflaeche"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_industrieundgewerbeflaeche) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Industrie- und GewerbeflÃ€che"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'funktion'
+	CLASS
+		NAME "Industrie- und GewerbeflÃ€che"
+		#EXPRESSION ('999' < '[funktion]')
+		STYLE
+			COLOR 237 237 237
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_halde"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry  FROM ax_halde) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Halde"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 # 50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Halde"
+		STYLE
+			COLOR 237 237 237
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER 
+	NAME "ax_bergbaubetrieb"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_bergbaubetrieb) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bergbaubetrieb"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1250 #5000
+	CLASS
+		NAME "Bergbaubetrieb"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_tagebaugrubesteinbruch"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_tagebaugrubesteinbruch) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Tagebau, Grube, Steinbruch"
+		#wms_abstract "Tagebau, Grube, Steinbruch"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Tagebau Grube Steinbruch"
+		STYLE
+			COLOR 227 227 227
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_flaechegemischternutzung"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_flaechegemischternutzung) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlÃ€che gemischter Nutzung"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1250 #5000
+	CLASS
+		NAME "FlÃ€che gemischter Nutzung"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_flaechebesondererfunktionalerpraegung"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_flaechebesondererfunktionalerpraegung) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlÃ€che besonderer funktionaler PrÃ€gung"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1250 #5000
+	CLASS
+		NAME "FlÃ€che besonderer funktionaler PrÃ€gung"
+		STYLE
+			COLOR 255 235 245
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_sportfreizeitunderholungsflaeche"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_sportfreizeitunderholungsflaeche) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sport-, Freizeit- und ErholungsflÃ€che"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'funktion'
+	CLASS
+		NAME "Sport-, Freizeit- und ErholungsflÃ€che"
+		STYLE
+			COLOR 224 255 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_friedhof"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_friedhof) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Friedhof"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 3750 #15000
+	#CLASSITEM 'funktion'
+	CLASS
+		NAME "Friedhof"
+		STYLE
+			COLOR 201 228 201
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+## ** Verkehr **
+LAYER
+	NAME "ax_strassenverkehr"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_strassenverkehr) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "StraÃenverkehr"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'funktion'
+	CLASS
+		NAME "FuÃgÃ€ngerzone"
+		EXPRESSION ('[funktion]' = '5130')
+		STYLE
+			COLOR 217 255 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "VerkehrsbegleitflÃ€che StraÃe"
+		EXPRESSION ('[funktion]' < '2312')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "StraÃenentwÃ€sserungsanlage"
+		EXPRESSION ('[funktion]' < '2313')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude- und FreiflÃ€che zu Verkehrsanlagen, StraÃe" #nicht im SK
+		EXPRESSION ('[funktion]' = '2311')
+		STYLE
+			COLOR 200 200 200
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "StraÃenverkehr" #nicht im SK
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_weg"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_weg) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Weg"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Weg" #sn2515
+		STYLE
+			COLOR 250 250 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_platz"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_platz) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Platz"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'funktion'
+	CLASS
+		NAME "FuÃgÃ€ngerzone (Platz)"
+		EXPRESSION ('[funktion]' = '5130')
+		STYLE
+			COLOR 217 247 217
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "Platz"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_bahnverkehr"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_bahnverkehr) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bahnverkehr"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1250 #5000
+	#CLASSITEM 'funktion'
+	CLASS
+		NAME "Bahnverkehr"
+		STYLE
+			COLOR 250 250 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_flugverkehr"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_flugverkehr) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Flugverkehr"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	#CLASSITEM 'funktion'
+	CLASS
+		NAME "Flugverkehr"
+		STYLE
+			COLOR 221 236 197
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_schiffsverkehr"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_schiffsverkehr) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Schiffsverkehr"
+		#wms_abstract "'Schiffsverkehr' umfasst die baulich geprÃ€gte FlÃ€che und die mit ihr in Zusammenhang stehende FreiflÃ€che, die ausschlieÃlich oder vorwiegend dem Schiffsverkehr dient."
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1250 #5000
+	CLASS
+		NAME "Schiffsverkehr" # sn1544
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+## ** Vegetation **
+LAYER
+	NAME "ax_landwirtschaft"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, vegetationsmerkmal, wkb_geometry FROM ax_landwirtschaft) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Landwirtschaft"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'vegetationsmerkmal'
+	CLASS
+		NAME "Ackerland, Streuobstacker, Hopfen und Spargel"
+		EXPRESSION ('[vegetationsmerkmal]' < '1020')
+		STYLE
+			COLOR 255 247 191
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "GrÃŒnland, Streuobstwiese, Gartenland, Baumschule, Weingarten, Obstplantage, Obstbaumplantage und Obststrauchplantage"
+		EXPRESSION ('1019' < '[vegetationsmerkmal]' AND '[vegetationsmerkmal]' < '1199')
+		STYLE
+			COLOR 235 255 212
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "Brachland"
+		EXPRESSION ('1199' < '[vegetationsmerkmal]')
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_wald"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_wald) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Wald"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Wald"
+		STYLE
+			COLOR 251 255 251
+			OUTLINECOLOR 0 255 0
+		END
+	END
+END
+LAYER
+	NAME "ax_gehoelz"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_gehoelz) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "GehÃ¶lz"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Gehoelz" #sn1414_sn2517
+		STYLE
+			COLOR 187 222 201
+			OUTLINECOLOR  153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_heide"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_heide) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Heide"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Heide"
+		STYLE
+			COLOR 230 215 207
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_moor"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_moor) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Moor"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1250 #5000
+	CLASS
+		NAME "Moor"
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_sumpf"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_sumpf) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sumpf"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Sumpf"
+		STYLE
+			COLOR 230 215 207
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_unlandvegetationsloseflaeche"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_unlandvegetationsloseflaeche) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Unland"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Unland, vegetationslose FlÃ€che"
+		STYLE
+			COLOR 255 255 255
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_vegetationsmerkmal"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_vegetationsmerkmal) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Vegetationsmerkmal"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1250 #5000
+	CLASS
+		NAME "Vegetationsmerkmal"
+		STYLE
+			OUTLINECOLOR 0 255 0
+		END
+	END
+END
+## ** GewÃ€sser **
+LAYER
+	NAME "ax_fliessgewaesser"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_fliessgewaesser) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlieÃgewÃ€sser"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "FlieÃgewÃ€sser"
+		STYLE
+			COLOR 190 233 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_hafenbecken"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_hafenbecken) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Hafenbecken"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1250 #5000
+	CLASS
+		NAME "Hafenbecken"
+		STYLE
+			COLOR 230 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+END
+LAYER
+	NAME "ax_stehendesgewaesser"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	REQUIRES "![nutzung_alle]"
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_stehendesgewaesser) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "stehendes GewÃ€sser"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "stehendes GewÃ€sser" #sn2515
+		STYLE
+			COLOR 190 233 250
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+# AX_Meer fehlt
+# Besondere Angaben zum GewÃ€sser
+LAYER
+	NAME "ax_untergeordnetesgewaesser_polygon"
+	#GROUP "ax_untergeordnetesgewaesser"
+	GROUP "ax_nutzungen"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_untergeordnetesgewaesser WHERE st_geometrytype(wkb_geometry) = 'ST_Polygon') as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Untergeordnetes GewÃ€sser (FlÃ€chen)"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1250 #5000
+	CLASSITEM funktion
+	CLASS
+		NAME "Graben"
+		EXPRESSION ('[funktion]' >= '1010' AND '[funktion]' <= '1013')
+		STYLE
+			COLOR 227 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS # ToDo: Klassen differenzieren? nach Farbe?
+		NAME "Fleet"
+		EXPRESSION '1020'
+		STYLE
+			COLOR 227 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS
+		NAME "Bach"
+		EXPRESSION '1030'
+		STYLE
+			COLOR 227 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS
+		NAME "Teich"
+		EXPRESSION '1040'
+		STYLE
+			COLOR 227 255 255
+			OUTLINECOLOR 0 204 204
+		END
+	END
+END
+LAYER
+	NAME "ax_untergeordnetesgewaesser_line"
+	GROUP "ax_nutzungen"
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, funktion, wkb_geometry FROM ax_untergeordnetesgewaesser WHERE st_geometrytype(wkb_geometry) = 'ST_LineString') as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Untergeordnetes GewÃ€sser (Line)"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1250 #5000
+	CLASSITEM funktion
+	CLASS
+		NAME "Graben"
+		EXPRESSION ('[funktion]' >= '1010' AND '[funktion]' <= '1013')
+		STYLE
+			COLOR 0 204 204
+		END
+	END
+	CLASS # ToDo: Klassen differenzieren? nach Farbe?
+		NAME "Fleet"
+		EXPRESSION '1020'
+		STYLE
+			COLOR 0 204 204
+		END
+	END
+	CLASS
+		NAME "Bach"
+		EXPRESSION '1030'
+		STYLE
+			COLOR 0 204 204
+		END
+	END
+	#CLASS
+	#	NAME "Teich"
+	#	EXPRESSION '1040'
+	#	STYLE
+	#		COLOR 0 204 204
+	#	END
+	#END
+END
+
+# ** aus Post-Processing: Katasterbezirke
+LAYER
+	NAME "pp_flur"
+	GROUP "pp_gebiete"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "the_geom from (SELECT gid, gemarkung, flurnummer, the_geom FROM pp_flur) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_title "Flur"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_group_title "Gebiete"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 400 #1600
+	MAXSCALEDENOM 5000 #20000
+	LABELITEM flurnummer
+	CLASS
+		NAME "Flur"
+		TEXT "Flur [flurnummer]"
+		STYLE
+			OUTLINECOLOR 100 150 10
+			WIDTH 12 #3
+		END
+		LABEL
+			TYPE TRUETYPE
+			COLOR 100 150 10
+			FONT "arial"
+			SIZE 56 #14
+			POSITION cc
+			PARTIALS FALSE FORCE FALSE
+			STYLE
+				GEOMTRANSFORM 'labelpoly'
+				COLOR 250 250 250
+			END
+		END
+	END
+END
+LAYER
+	NAME "pp_gemarkung"
+	GROUP "pp_gebiete"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "simple_geom from (SELECT gid, gemarkungsname, simple_geom FROM pp_gemarkung) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Gemarkung"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 1000 #4000
+	MAXSCALEDENOM 10000 #40000
+	LABELITEM gemarkungsname
+	CLASS
+		NAME "Gemarkung"
+		STYLE
+			OUTLINECOLOR 140 80 0
+			WIDTH 20 #5
+		END
+		LABEL
+			TYPE TRUETYPE
+			COLOR 140 80 0
+			FONT "arial"
+			SIZE 64 #16
+			POSITION cc
+			OFFSET 0 40 # 0 10
+			PARTIALS FALSE FORCE FALSE
+			STYLE
+				GEOMTRANSFORM 'labelpoly'
+				COLOR 250 250 250
+			END
+		END
+	END
+END
+LAYER
+	NAME "pp_gemeinde"
+	GROUP "pp_gebiete"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "simple_geom from (SELECT gid, gemeindename, simple_geom FROM pp_gemeinde) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Gemeinde"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 2000 #8000
+	MAXSCALEDENOM 100000 #400000
+	LABELITEM gemeindename
+	CLASS
+		NAME "Gemeinde"
+		STYLE
+			OUTLINECOLOR 10 10 200
+			WIDTH 28 #7
+		END
+		LABEL
+			TYPE TRUETYPE
+			COLOR 10 10 200
+			FONT "arial"
+			SIZE 80 # 20
+			POSITION cc
+			OFFSET 0 -80 # 0 -20
+			PARTIALS FALSE
+			FORCE FALSE
+			STYLE
+				GEOMTRANSFORM 'labelpoly'
+				COLOR 250 250 250
+			END
+		END
+	END
+END
+
+# ALKIS GebÃ€ude
+LAYER
+	NAME "ax_gebaeude_fl"
+	GROUP "gebaeude"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, gebaeudefunktion, lagezurerdoberflaeche, hochhaus, zustand, ax_datenerhebung, wkb_geometry FROM ax_gebaeude) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "GebÃ€ude (FlÃ€che)"
+		wms_group_title "GebÃ€ude"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1250 #5000
+	SYMBOLSCALEDENOM 250 #1000
+	CLASSITEM 'gebaeudefunktion'
+	# Classes ohne FlÃ€chenfÃŒllung
+	CLASS
+		NAME "GebÃ€ude, unterirdisch"
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1200')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 #1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 4 8 END # 1 2
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "Hochhaus, verfallen"
+		EXPRESSION ('[hochhaus]' = "true" AND '[zustand]' > '2199')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 12 # 2 2 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude, verfallen"
+		EXPRESSION ('[zustand]' > '2199')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	# Classes mit FlÃ€chenfÃŒllung
+	CLASS
+		NAME "WohngebÃ€ude, Hochhaus graphisch"
+		EXPRESSION ('[hochhaus]' = "true" AND '[ax_datenerhebung]' = '4300' AND '[gebaeudefunktion]' < '2000')
+		STYLE
+			COLOR 153 153 153
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50
+	#		SIZE 20 # 5
+	#		WIDTH 8 MINWIDTH 8 MAXWIDTH 8 # 2 2 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 24 16 8 16 END # 6 4 2 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "WohngebÃ€ude, Hochhaus aufgestÃ€ndert" # sn2030_sn1301
+		EXPRESSION ('[hochhaus]' = "true" AND '[gebaeudefunktion]' < '2000' AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 153 153 153
+		END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "Hochhaus" # "WohngebÃ€ude, Hochhaus"
+		EXPRESSION ('[gebaeudefunktion]' < '2000' AND '[hochhaus]' = "true")
+		STYLE
+			COLOR 153 153 153
+		END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "WohngebÃ€ude graphisch"
+		EXPRESSION ('[gebaeudefunktion]' < '2000' AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 153 153 153
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50
+	#		SIZE 20 # 5
+	#		WIDTH 8 MINWIDTH 8 MAXWIDTH 8 # 2 2 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 #1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 24 16 8 16 END # 6 4 2 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "WohngebÃ€ude aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' < '2000' AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 153 153 153
+		END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "WohngebÃ€ude"
+		EXPRESSION /^1/ #('[gebaeudefunktion]' < '2000')
+		STYLE
+			COLOR 153 153 153
+			OUTLINECOLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 #1 1 3
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, Hochhaus, graphisch"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[hochhaus]' = "true" AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 220 220 220
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50 #[schrawink]
+	#		SIZE 20 # 5 
+	#		WIDTH 8 MINWIDTH 8 MAXWIDTH 8 # 2 2 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 24 16 8 16 END # 6 4 2 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, Hochhaus, aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[hochhaus]' = "true" AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 220 220 220
+		END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, Hochhaus"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[hochhaus]' = "true")
+		STYLE
+			COLOR 220 220 220
+		END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, graphisch"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 220 220 220
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50 #[schrawink]
+	#		SIZE 20 # 5
+	#		WIDTH 8 MINWIDTH 8 MAXWIDTH 8 # 2 2 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 24 16 8 16 END # 6 4 2 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe, aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' > '1999' AND '[gebaeudefunktion]' < '3000' AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 220 220 220
+		END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 #1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Wirtschaft oder Gewerbe"
+		EXPRESSION /^2/
+		STYLE
+			COLOR 220 220 220
+			OUTLINECOLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, Hochhaus, graphisch"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[hochhaus]' = "true" AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 255 128 128
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50 #[schrawink]
+	#		SIZE 20 # 5
+	#		WIDTH 8 MINWIDTH 8 MAXWIDTH 8 # 2 2 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 24 16 8 16 END # 6 4 2 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, Hochhaus, aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' > 2999 AND '[gebaeudefunktion]' < 4000 AND '[hochhaus]' = "true" AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 255 128 128
+		END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, Hochhaus"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[hochhaus]' = "true")
+		STYLE
+			COLOR 255 128 128
+		END
+		STYLE
+			SYMBOL 'quadrate'
+			SIZE 8 MINSIZE 8 MAXSIZE 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, graphisch"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 255 128 128
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50 #[schrawink]
+	#		SIZE 20 # 5
+	#		WIDTH 8 MINWIDTH 8 MAXWIDTH 8 # 2 2 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 24 16 8 16 END # 6 4 2 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke, aufgestÃ€ndert"
+		EXPRESSION ('[gebaeudefunktion]' > '2999' AND '[gebaeudefunktion]' < '4000' AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 255 128 128
+		END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude fÃŒr Ã¶ffentliche Zwecke"
+		EXPRESSION /^3/
+		STYLE
+			COLOR 255 128 128
+			OUTLINECOLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+		END
+	END
+	CLASS
+		NAME "Nach Quellenlage nicht zu spezifizieren"
+		EXPRESSION /9998/ #('[gebaeudefunktion]' = 9998)
+		STYLE
+			COLOR 190 190 190 # 204 204 204
+			OUTLINECOLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+		END
+	END
+#	CLASS
+#		#NAME "Rest"
+#		EXPRESSION /./
+#		STYLE
+#			#COLOR 255 128 128
+#			OUTLINECOLOR 255 0 0
+#			WIDTH 8 MINWIDTH 8 MAXWIDTH 12 #2 2 3
+#		END
+#	END
+END
+LAYER
+	NAME "ax_gebaeude_umr"
+	GROUP "gebaeude"
+	REQUIRES "![ax_gebaeude_fl]" # ent oder weder
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, gebaeudefunktion, lagezurerdoberflaeche, hochhaus, zustand, ax_datenerhebung, wkb_geometry FROM ax_gebaeude) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "GebÃ€ude (Umring)"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1500
+	CLASSITEM 'gebaeudefunktion' #'zustand'
+	CLASS
+		NAME "GebÃ€ude, unterirdisch" # z.B. Tiefgarage
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1200')
+		STYLE # Dummy-FÃŒllung. Legende zeigt FlÃ€che, FlÃ€che bleibt aber transparent
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+			PATTERN 4 8 END # 1 2
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude, verfallen"
+		EXPRESSION ('[zustand]' > '2199')
+		STYLE # Dummy-FÃŒllung
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "Hochhaus aufgestÃ€ndert"
+		EXPRESSION ('[hochhaus]' = "true" AND '[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			WIDTH 8 MINWIDTH 8 MAXWIDTH 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+		END
+	END
+	CLASS
+		NAME "Hochhaus" 
+		EXPRESSION ('[hochhaus]' = "true")
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			SYMBOL 'quadrate'
+			SIZE 8 MINSIZE 8 MAXSIZE 16 # 2 2 4
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude graphisch"
+		EXPRESSION ('[ax_datenerhebung]' = '4300')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+	#	STYLE
+	#		SYMBOL 'hatch'
+	#		ANGLE 50
+	#		SIZE 20 # 5
+	#		WIDTH 8 MINWIDTH 8 MAXWIDTH 8 # 2 2 2
+	#		COLOR 128 64 0
+	#	END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 24 16 8 16 END # 6 4 2 4 
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude aufgestÃ€ndert"
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+			OUTLINECOLOR 0 0 0
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		NAME "GebÃ€ude"
+		STYLE
+			COLOR 255 255 255
+			SYMBOL 'filler'
+			SIZE 60 # 15
+		END
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 12 # 1 1 3
+		END
+	END
+END
+LAYER
+	NAME "ax_gebaeude_txt" # GebÃ€ude - Texte
+	GROUP "gebaeude"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM gebaeude_txt) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Funktion und Name)"
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 2000
+	SYMBOLSCALEDENOM 1000
+	LABELITEM 'funktion'
+	CLASSITEM 'name'
+	CLASS
+		NAME "Name und Funktion"
+		EXPRESSION /./
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 24 MINSIZE 20 MAXSIZE 36 # 9 7 12
+			POSITION cc OFFSET 0 40 # 0 12
+			COLOR 0 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE false
+			WRAP " " MAXLENGTH 10
+		END
+		LABEL # 2. Label
+			TEXT '[name]'
+			TYPE TRUETYPE FONT 'arialbold'
+			SIZE 34 MINSIZE 22 MAXSIZE 40 # 9 6 10
+			POSITION cc OFFSET 0 -36 # 0 -10
+			COLOR 180 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE true
+		END
+	END
+	CLASS
+		NAME "Funktion" # nur ..
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 24 MINSIZE 20 MAXSIZE 36 # 9 7 12
+			POSITION auto #cc
+			COLOR 0 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE false
+			WRAP " " MAXLENGTH 10
+		END
+	END
+END
+LAYER
+	NAME "ax_bauteil"
+	GROUP "gebaeude"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauart, lagezurerdoberflaeche, wkb_geometry FROM ax_bauteil) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauteil"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1000 #4000
+	CLASSITEM 'bauart'
+	# ToDo: "lagezurerdoberflaeche" auswerten, Werte: null, 1200.
+	CLASS
+		NAME "Bauteil"
+		EXPRESSION ('[bauart]' = '1100' OR '[bauart]' = '1200' OR '[bauart]' = '1400' OR '[bauart]' = '2000' OR '[bauart]' = '2100' OR '[bauart]' = '2300' OR '[bauart]' = '2350' OR '[bauart]' = '2400' OR '[bauart]' = '2500' OR '[bauart]' = '2510' OR '[bauart]' = '2520' OR '[bauart]' = '2610' OR '[bauart]' = '2620' OR '[bauart]' = '9999')
+		STYLE
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "Bauteil-Schornstein"
+		EXPRESSION ('[bauart]' = '2710')
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 8 #2
+		END
+	END
+	CLASS
+		NAME "Bauteil-Turm"
+		EXPRESSION ('[bauart]' = '2720')
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 12 #3
+		END
+	END
+	CLASS
+		NAME "Bauteil-HochhausgebÃ€udeteil"
+		EXPRESSION ('[bauart]' = '1300')
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 16 #4
+		END
+	END
+	CLASS
+		NAME "Beschaffenheit"
+		EXPRESSION /./
+		STYLE
+			OUTLINECOLOR 200 0 0
+			WIDTH 4 #1
+		END
+	END
+END
+LAYER
+	NAME "ax_besonderegebaeudelinie"
+	GROUP "gebaeude"
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, beschaffenheit, wkb_geometry FROM ax_besonderegebaeudelinie) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Besondere GebÃ€udelinie"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1000 #4000
+	CLASS
+		NAME "Besondere GebÃ€udelinie"
+		STYLE
+			COLOR 0 0 0
+		END
+		STYLE
+			COLOR 254 254 254
+			PATTERN 12 24 END # 3 6 
+		END
+	END
+END
+LAYER # Hausnummer
+	NAME "ag_t_gebaeude"
+	GROUP "gebaeude"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid,wkb_geometry,drehwinkel,hausnummer FROM s_hausnummer_gebaeude) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Hausnummer"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1250 #5000
+	LABELITEM "hausnummer"
+	LABELMINSCALEDENOM 0
+	LABELMAXSCALEDENOM 500 #2000
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		NAME "Hausnummer"
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 28 MINSIZE 16 MAXSIZE 40 # (8 5 12) *4 = (32 20 48) also nicht proportional zur Bildscheirm-Version
+			POSITION uc
+			OFFSET 0 -12 # 0 -3
+			ANGLE [drehwinkel] 
+			COLOR 0 0 0
+			ANTIALIAS true PARTIALS false FORCE true
+			BUFFER 1
+			OUTLINECOLOR 254 254 254
+		END
+	END
+END
+
+LAYER # Lagebezeichnung mit Pseudonummer, Anzeige der lfd-Nr.
+	NAME "ag_t_nebengeb"
+	GROUP "gebaeude"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM lfdnr_nebengebaeude) as foo using unique ogc_fid using SRID=25832" # View
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "lfd. Nr NebengebÃ€ude"
+	END
+	MINSCALEDENOM 12 # 50
+	MAXSCALEDENOM 325 # 1500
+	SYMBOLSCALEDENOM 1000
+	CLASS
+		NAME "Hausnummer"
+		TEXT '([laufendenummer])' # Die Klammern auch mit darstellen!
+		LABEL 
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 28 MINSIZE 20 MAXSIZE 40 # 7 5 10
+			POSITION cc
+			COLOR 50 50 50
+			ANTIALIAS true PARTIALS false FORCE true
+			OUTLINECOLOR 254 254 254			
+		END
+	END
+END
+# Zuordnungspfeile GebÃ€ude
+# siehe auch Layer "ap_lpo"
+LAYER
+	NAME "ag_l_gebaeude"
+	GROUP "gebaeude"
+	REQUIRES "[ag_t_nebengeb]" # nur beides
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid,wkb_geometry FROM s_zuordungspfeil_gebaeude) as foo using unique ogc_fid using SRID=25832" # View gespeichert
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeile GebÃ€ude"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 # 50
+	MAXSCALEDENOM 325 # 1500
+	CLASS
+		NAME "Zuordnungspfeile"
+		STYLE
+			COLOR 0 0 0
+		END
+	END
+END
+# ALKIS Bauwerke
+LAYER
+	NAME "ax_bauwerkimverkehrsbereich_fuellung"
+	GROUP "bauwerk"
+	#GROUP "ax_bauwerkimverkehrsbereich"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkimverkehrsbereich) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk im Verkehrsbereich (FÃŒllung)"
+		wms_group_title "Bauwerke"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "BrÃŒcke"
+		STYLE
+			COLOR 255 255 255
+		END
+	END
+END
+LAYER
+	NAME "ax_bauwerkimverkehrsbereich_umrandung"
+	GROUP "bauwerk" # "ax_bauwerkimverkehrsbereich"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkimverkehrsbereich) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk im Verkehrsbereich (Umrandung)"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "BrÃŒcke"
+		STYLE
+			OUTLINECOLOR 128 128 128
+			PATTERN 22.7 11.4 END # 5.67 2.85
+			WIDTH 8# 2
+		END
+	END
+END
+LAYER
+	NAME "ax_bauwerkimgewaesserbereich"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkimgewaesserbereich) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk im GewÃ€sserbereich"
+		#wms_abstract "Bauwerk im GewÃ€sserbereich"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "Bauwerk im GewÃ€sserbereich"
+		STYLE
+			OUTLINECOLOR 82 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_bauwerkoderanlagefuerindustrieundgewerbe"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkoderanlagefuerindustrieundgewerbe) as foo using unique ogc_fid using SRID=25832"
+	FILTER "st_geometrytype(wkb_geometry) = 'ST_Polygon'" # sonst Absturz Mapserver
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk oder Anlage fÃŒr Industrie und Gewerbe"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "KlÃ€rbecken"
+		EXPRESSION ('[bauwerksfunktion]' = '1210')
+		STYLE
+			COLOR 242 235 232
+			OUTLINECOLOR 0 204 204
+		END
+	END
+	CLASS
+		NAME "Bauwerk oder Anlage fÃŒr Industrie und Gewerbe"
+		EXPRESSION ('[bauwerksfunktion]' = '1215' OR '[bauwerksfunktion]' = '1220' OR '[bauwerksfunktion]' = '1250' OR '[bauwerksfunktion]' = '1260')
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+			OUTLINECOLOR 0 0 0
+		END
+	END
+	# else?
+END
+LAYER
+	NAME "ax_bauwerkoderanlagefuersportfreizeitunderholung"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_bauwerkoderanlagefuersportfreizeitunderholung) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung"
+	END	
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "Bauwerk oder Anlage fÃŒr Sport, Freizeit und Erholung" # sn1520
+		STYLE
+			COLOR 217 255 217
+			OUTLINECOLOR 82 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_vorratsbehaelterspeicherbauwerk"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_vorratsbehaelterspeicherbauwerk) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "VorratsbehÃ€lter, Speicherbauwerk"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	#CLASSITEM 'bauwerksfunktion'
+	CLASS
+		NAME "VorratsbehÃ€lter, Speicherbauwerk"
+		STYLE
+			COLOR 220 220 220 # 204 204 204
+			OUTLINECOLOR 0 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_sonstigesbauwerkodersonstigeeinrichtung"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_sonstigesbauwerkodersonstigeeinrichtung WHERE st_geometrytype(wkb_geometry) = 'ST_Polygon') as foo using unique ogc_fid using SRID=25832"
+	#FILTER "st_geometrytype(wkb_geometry) = 'ST_Polygon'"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sonstiges Bauwerk/Einrichtung"
+	END
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+#	CLASSITEM 'bauwerksfunktion'
+	#CLASS
+	#	NAME "Ãberdachung"
+	#	EXPRESSION "1610"
+	#	STYLE
+	#		COLOR 220 220 220
+	#	END
+	#END
+	#CLASS
+	#	NAME "Brunnen (Trinkwasserversorgung)"
+	#	EXPRESSION "1781"
+	#	STYLE
+	#		COLOR 227 255 255
+	#		OUTLINECOLOR 0 204 204
+	#	END
+	#END
+	CLASS
+		NAME "BauwerksflÃ€che"
+		STYLE
+			COLOR 229 229 229
+			OPACITY 50
+		END
+		STYLE
+			OUTLINECOLOR 0 0 0
+			OUTLINEWIDTH 3
+			PATTERN 20 8 END # 5 2
+		END
+	END
+END
+LAYER
+	NAME "ax_sonstigesbauwerkodersonstigeeinrichtung_l"
+	GROUP "bauwerk"
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_sonstigesbauwerkodersonstigeeinrichtung WHERE st_geometrytype(wkb_geometry) = 'ST_LineString') as foo using unique ogc_fid using SRID=25832"
+	#FILTER "st_geometrytype(wkb_geometry) = 'ST_LineString'"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sonstiges Bauwerk/Einrichtung (Linien)"
+	END
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'bauwerksfunktion'
+	CLASS 
+		NAME "Bauwerkslinie"
+		STYLE
+			COLOR 0 0 0
+			WIDTH 3 #1
+			PATTERN 20 8 END # 5 2
+		END
+	END
+END
+LAYER
+	NAME "ax_leitung"
+	GROUP "bauwerk"
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, spannungsebene, wkb_geometry FROM ax_leitung) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Leitung"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Freileitung"
+		EXPRESSION ('[bauwerksfunktion]' = '1110')
+		STYLE
+			COLOR 0 0 0
+			SIZE 2.04 #0.51
+		END
+	END
+	CLASS
+		NAME "Erdkabel" # sn2523
+		EXPRESSION ('[bauwerksfunktion]' = '1111')
+		STYLE
+			SYMBOL 'point'
+			COLOR 0 0 0
+			PATTERN 4 4 END # 1 1
+		END
+	END
+END
+LAYER
+	NAME "ax_transportanlage"
+	GROUP "bauwerk"
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, lagezurerdoberflaeche, wkb_geometry  FROM ax_transportanlage) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Transportanlage"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'lagezurerdoberflaeche'
+#	CLASS
+#		NAME "Transportanlage"
+#		STYLE
+#			SYMBOL 'point'
+#			COLOR 0 0 0
+#		END
+#	END
+	CLASS
+		NAME "Pipeline unter der ErdoberflÃ€che oder WasseroberflÃ€che" # sn2523
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1200' OR '[lagezurerdoberflaeche]' = '1700')
+		SYMBOL 0 #SYMBOL 'sn2523'
+		STYLE
+			COLOR 0 0 0
+			PATTERN 4 4 END # 1 1
+		END
+	END
+	CLASS
+		NAME "Pipeline"
+		EXPRESSION ('[lagezurerdoberflaeche]' = '1400')
+		STYLE
+			SYMBOL 0
+			COLOR 0 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_turm"
+	GROUP "bauwerk"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, bauwerksfunktion, wkb_geometry FROM ax_turm) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Turm"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Turm"
+		STYLE
+			COLOR 204 204 204
+			OUTLINECOLOR 0 0 0
+		END
+	END
+END
+
+# B o d e n s c h Ã€ t z u n g
+## Einfache Version: Den Label mittig in der FlÃ€che anzeigen
+#LAYER
+#	NAME "bodensch_klass"
+
+LAYER
+	NAME "bodensch_po"
+	GROUP "bodenschaetzung"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from s_bodensch_po using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_group_title "BodenschÃ€tzung"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "KlassenflÃ€che"
+	END
+	PROJECTION "init=epsg:25832" END
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 875 #3500
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		NAME "KlassenflÃ€chengrenze"
+		STYLE
+			OUTLINECOLOR 144 197 140
+			WIDTH 14 MINWIDTH 10 MAXWIDTH 20 # 3.5  2.5  5
+		END
+	END
+END
+
+LAYER
+	NAME "bodensch_tx"
+	GROUP "bodenschaetzung"
+	REQUIRES "[bodensch_po]" # Grenzen aufzeigen?
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from s_bodensch_tx using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "SchÃ€tzungsergebnis"
+	END
+	PROJECTION "init=epsg:25832" END
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 875 #3500
+	SYMBOLSCALEDENOM 250 #1000
+	CLASSITEM kult # Kulturart, SELECT DISTINCT kult FROM s_bodensch_wms; A, AGR, Gr, GrA
+	LABELITEM derlabel
+	CLASS
+		NAME "Acker"
+		EXPRESSION  ('[kult]' = 'A' OR '[kult]' = 'AGr')
+		LABEL
+			TYPE TRUETYPE FONT "times" # Serifenschrift
+			COLOR 211 147 135 # rosa
+			OUTLINECOLOR 254 254 254 OUTLINEWIDTH 8 #2
+			SIZE 44 MINSIZE 34 MAXSIZE 56 # 13 10 16
+			POSITION uc  # hor/ver = zentrisch/basis
+			PARTIALS FALSE FORCE TRUE
+			WRAP ' ' MAXLENGTH 3
+		END
+	END
+	CLASS
+		NAME "GrÃŒnland"
+		EXPRESSION ('[kult]' = 'Gr' OR '[kult]' = 'GrA')
+		LABEL
+			TYPE TRUETYPE FONT "times"
+			COLOR 144 197 140 # GrÃŒn
+			OUTLINECOLOR 254 254 254 OUTLINEWIDTH 8 #2
+			SIZE 44 MINSIZE 34 MAXSIZE 56 # 13 10 16
+			POSITION uc  # hor/ver = zentrisch/basis
+			PARTIALS FALSE FORCE TRUE
+			WRAP ' ' MAXLENGTH 3
+		END
+	END
+END
+
+# Zuordnungspfeile BodenschÃ€tzung
+LAYER
+	NAME "ag_l_bodsch"
+	GROUP "bodenschaetzung"
+	#REQUIRES "[ag_t_flurstueck]" # zur Nummer
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM s_zuordungspfeil_bodensch) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeile" # Linie
+	END
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 875 #3500
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		#NAME "Zuordnungspfeil"
+		STYLE
+			COLOR 144 197 140
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+		END
+	END
+END
+LAYER
+	NAME "ag_l_bodsch_sp"
+	GROUP "bodenschaetzung"
+	REQUIRES "[ag_l_bodsch]" # nur beides
+	TYPE Annotation
+	STATUS ON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM s_zuordungspfeilspitze_bodensch) as foo using unique ogc_fid using SRID=25832" # View berechnet Winkel
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeil Spitze"
+	END
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 875 #3500
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		#NAME "Zuordnungspfeilspitze"
+		TEXT 'E'
+		LABEL
+			TYPE TRUETYPE
+			FONT "alkis_textsymbols"
+			SIZE 12 MINSIZE 8 MAXSIZE 24 # 3 2 6
+			POSITION cc
+			ANGLE [winkel]
+			COLOR 144 197 140
+			ANTIALIAS TRUE PARTIALS FALSE FORCE TRUE
+		END
+	END
+END
+
+#LAYER
+#	NAME "ax_grablochderbodenschaetzung"
+#	GROUP "bodenschaetzung"
+#	TYPE POINT
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+#	PROCESSING "CLOSE_CONNECTION=DEFER"
+#	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_grablochderbodenschaetzung) as foo using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+#		wms_title "Grabloch der BodenschÃ€tzung"
+#		#wms_abstract "Grabloch der BodenschÃ€tzung"
+#		wms_group_title "BodenschÃ€tzung"
+#		wms_group_abstract "BodenschÃ€tzung" 
+#	END
+#	#PROJECTION "init=epsg:25832" END
+#	#EXTENT 349000 5529000 356000 5533000
+#	MINSCALEDENOM 0
+#	MAXSCALEDENOM 1250 #5000
+#	CLASS
+#		NAME "Grabloch der BodenschÃ€tzung"
+#		STYLE
+#			SYMBOL "sn3703"
+#			COLOR 255 128 128
+#			SIZE 4 #1
+#		END
+#	END
+#END
+
+#LAYER
+#	NAME "ax_musterlandesmusterundvergleichsstueck"
+#	GROUP "bodenschaetzung"
+#	TYPE POLYGON
+#	CONNECTIONTYPE POSTGIS
+#	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+#	PROCESSING "CLOSE_CONNECTION=DEFER"
+#	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_musterlandesmusterundvergleichsstueck) as foo using unique ogc_fid using SRID=25832"
+#	METADATA
+#		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+#		wms_title "Muster Landesmuster und VergleichsstÃŒck"
+#		#wms_abstract "Muster-, Landesmuster- und VergleichsstÃŒck der BodenschÃ€tzung"
+#	END
+#	#PROJECTION "init=epsg:25832" END
+#	#EXTENT 349000 5529000 356000 5533000
+#	MINSCALEDENOM 12 #0
+#	MAXSCALEDENOM 1250 #5000
+#	CLASS
+#		NAME "Muster Landesmuster und VergleichsstÃŒck"
+#		STYLE
+#			OUTLINECOLOR 255 128 128
+#		END
+#	END
+#END
+
+# ALKIS  F l u r s t ÃŒ c k
+LAYER
+	NAME "ax_flurstueck"
+	GROUP "flurstueck"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, gml_id, wkb_geometry FROM ax_flurstueck) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "FlurstÃŒck"
+		wms_group_title "FlurstÃŒck"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 # 50
+	MAXSCALEDENOM 6250 #25000
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		NAME "FlurstÃŒck"
+		STYLE
+			OUTLINECOLOR 0 0 0
+			WIDTH 6 MINWIDTH 4 MAXWIDTH 10 # 1.5 1 2.5
+		END
+	END
+END
+LAYER
+	NAME "ax_besondereflurstuecksgrenze"
+	GROUP "flurstueck"
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, artderflurstuecksgrenze, wkb_geometry FROM ax_besondereflurstuecksgrenze) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Besondere FlurstÃŒcksgrenze"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	SYMBOLSCALEDENOM 250 #1000
+	CLASSITEM "artderflurstuecksgrenze"
+	CLASS
+		EXPRESSION /1000/ # reg. Expression, weil Teil eines ARRAY
+		NAME "Strittige Grenze"
+		STYLE
+			COLOR 254 254 254 # heller Hintergrund, weiss, nicht transparent, bedeckt die FlurstÃŒcksgrenze
+			WIDTH 9.6 MINWIDTH 6 MAXWIDTH 14 # 2.4 / 1.5 / 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+			PATTERN 80 40 END # 20 10
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2001/
+		NAME "Nicht festgestellte Grenze"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 9.6 MINWIDTH 6 MAXWIDTH 14 # 2.4 / 1.5 / 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+			PATTERN 68 11.4 END # 17 2.85
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2002/
+		NAME "Verwaltungsstreitverfahren (Grenze)"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 9.6 MINWIDTH 6 MAXWIDTH 14 # 2.4 / 1.5 / 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+			PATTERN 68 11.4 END # 17 2.85
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2003/
+		NAME "Mittellinie in GewÃ€ssern"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 9.6 MINWIDTH 6 MAXWIDTH 14 # 2.4 / 1.5 / 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2004/
+		NAME "FlurstÃŒcksgrenze nicht feststellbar"
+		STYLE
+			COLOR 254 254 254 
+			WIDTH 9.6 MINWIDTH 6 MAXWIDTH 14 # 2.4 / 1.5 / 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+			PATTERN 32 16 END # 8 4
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2010/
+		NAME "Topographische Grenzeinrichtung"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 9.6 MINWIDTH 6 MAXWIDTH 14 # 2.4 / 1.5 / 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+			PATTERN 17 2.85 END
+			LINECAP butt
+		END
+	END
+	CLASS
+		EXPRESSION /2100/
+		NAME "Topographische GewÃ€sserbegrenzung"
+		STYLE
+			COLOR 254 254 254
+			WIDTH 9.6 MINWIDTH 6 MAXWIDTH 14 # 2.4 / 1.5 / 3.5
+		END
+		STYLE
+			COLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
+			PATTERN 68 11.4 END # 17 2.85
+		END
+	END
+END
+
+# Zuordnungspfeile FlurstÃŒck
+LAYER
+	NAME "ag_l_flurstueck"
+	GROUP "flurstueck"
+	REQUIRES "[ag_t_flurstueck]" # zur Nummer
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid,wkb_geometry FROM s_zuordungspfeil_flurstueck) as foo using unique ogc_fid using SRID=25832" # View gespeichert
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeil Linie"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 875 #3500
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		#NAME "Zuordnungspfeile"
+		STYLE
+			COLOR 0 0 0
+			WIDTH 4 MINWIDTH 4 MAXWIDTH 8
+		END
+	END
+END
+LAYER
+	NAME "sk2004_zuordnungspfeil_spitze"
+	GROUP "flurstueck"
+	REQUIRES "[ag_l_flurstueck]" # nur beides
+	TYPE Annotation
+	STATUS ON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM s_zuordungspfeilspitze_flurstueck) as foo using unique ogc_fid using SRID=25832" # View berechnet Winkel
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Zuordnungspfeil Spitze"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 875 #3500
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		#NAME "Zuordnungspfeilspitze"
+		TEXT 'E'
+		LABEL
+			TYPE TRUETYPE
+			FONT "alkis_textsymbols"
+			SIZE 12 MINSIZE 8 MAXSIZE 24 # 3 2 6
+			POSITION cc
+			ANGLE [winkel]
+			COLOR 0 0 0
+			ANTIALIAS TRUE PARTIALS FALSE FORCE TRUE
+		END
+	END
+END
+
+# Flurstuecksnummer
+LAYER
+	NAME "ag_t_flurstueck"
+	GROUP "flurstueck"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "the_geom from (SELECT * FROM pp_flurstueck_nr) as foo using unique gid using SRID=25832" # Tabelle aus PostProcessing
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Flurstuecksnummer"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1000 #4000
+	LABELITEM "fsnum"
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		NAME "Flurstuecknummer"
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrowkursiv'
+			SIZE 28 MINSIZE 20 MAXSIZE 48 # kleiner als 4x Bildschirm. Im Druck "dezentere" Darstellung
+			POSITION cc
+			OFFSET 0 -14 # -3.5433
+			COLOR 100 0 0 # 200 0 0
+			OUTLINECOLOR 254 254 254
+			OUTLINEWIDTH 6 # 2
+			FORCE True
+		END
+	END
+END
+# Zugehoerigkeitshaken Flurstueck
+LAYER
+	NAME "ag_p_flurstueck"
+	GROUP "flurstueck"
+	TYPE ANNOTATION
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid,wkb_geometry,drehwinkel FROM s_zugehoerigkeitshaken_flurstueck) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "ZugehÃ¶rigkeitshaken Flurstueck"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1000 #4000
+	SYMBOLSCALEDENOM 250 #1000
+	CLASS
+		TEXT 'B'
+		LABEL
+			TYPE TRUETYPE FONT "alkis_textsymbols"
+			SIZE 56 MINSIZE 28 MAXSIZE 96 # 14 7 24
+			POSITION cc OFFSET 0 -12
+			COLOR 0 0 0
+			ANGLE [drehwinkel]
+			ANTIALIAS TRUE PARTIALS FALSE FORCE True
+		END
+	END
+END
+# ALKIS Recht (Klassifizierungen, ges. Festlegungen)
+LAYER
+	NAME "ax_klassifizierungnachstrassenrecht"
+	GROUP "recht"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, artderfestlegung, wkb_geometry FROM ax_klassifizierungnachstrassenrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Klassifizierung nach Strassenrecht"
+		wms_group_title "Recht"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'artderfestlegung'
+	CLASS
+		NAME "Bundesautobahn, Bundesstrasse"
+		EXPRESSION ('[artderfestlegung]' = '1110' OR '[artderfestlegung]' = '1120')
+		STYLE
+			COLOR 255 230 128
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	CLASS
+		NAME "Landes- oder Staatsstrasse"
+		EXPRESSION ('[artderfestlegung]' = '1130')
+		STYLE
+			COLOR 255 255 178
+			OUTLINECOLOR 153 153 153
+		END
+	END
+	# sn7858 GemeindeverbindungsstraÃe erhÃ€lt Schriftsatz
+END
+# ax_klassifizierungnachwasserrecht
+# Tabelle leer
+LAYER
+	NAME "ax_naturumweltoderbodenschutzrecht"
+	GROUP "recht"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry  FROM ax_naturumweltoderbodenschutzrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Natur, Umwelt oder Bodenschutzrecht"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Natur, Umwelt oder Bodenschutzrecht"
+		STYLE
+			OUTLINECOLOR 128 255 128
+			WIDTH 12 # 3
+			PATTERN 45 11.4 END # 11.34 2.85
+		END
+	END
+END
+LAYER
+	NAME "ax_anderefestlegungnachwasserrecht"
+	GROUP "recht"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry  FROM ax_anderefestlegungnachwasserrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Andere Festlegung nach Wasserrecht"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 # 50
+	MAXSCALEDENOM 2500 #10000
+#	CLASSITEM 'artderfestlegung'
+	CLASS #sn1705
+		NAME "Andere Festlegung nach Wasserrecht" 
+		STYLE
+			OUTLINECOLOR 178 255 255
+			WIDTH 12 #3
+			PATTERN 45 11.4 END # 11.34 2.85
+		END
+	END
+#	CLASS
+#		NAME "Festgesetztes Ãberschwemmungsgebiet"
+#		EXPRESSION ('[artderfestlegung]' = '1441')
+#			COLOR 178 255 255
+#	END
+END
+LAYER
+	NAME "ax_bauraumoderbodenordnungsrecht_umrandung"
+	GROUP "recht"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, gml_id, artderfestlegung, wkb_geometry FROM ax_bauraumoderbodenordnungsrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bau-, Raum- oder Bodenordnungsrecht"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 2500 #10000
+	SYMBOLSCALEDENOM 250 # 1000
+	CLASSITEM "artderfestlegung"
+	CLASS
+		EXPRESSION "2610"
+		NAME "Baulast"
+		TEXT "Baulast"
+		STYLE
+			OUTLINECOLOR 255 128 128
+			WIDTH 12 MINWIDTH 8 MAXWIDTH 20 # 3 2 5
+			PATTERN 44 12 END # 11 3
+		END
+		LABEL
+			TYPE TRUETYPE FONT "arial"
+			COLOR 255 128 128
+			OUTLINECOLOR 255 255 255
+			SIZE 56 # 14
+			MINSIZE 32 # 8
+			MAXSIZE 64 # 16
+			POSITION cc
+			PARTIALS FALSE FORCE FALSE
+		END
+	END
+	CLASS
+		EXPRESSION ('[artderfestlegung]' ge '2100' and '[artderfestlegung]' le '2199') # Rest der Gruppe
+		NAME "Flurbereinigung"
+		STYLE
+			COLOR 100 100 100
+			SYMBOL "sn3631"
+			SIZE 60 MINSIZE 40 MAXSIZE 100 #15 10 25
+		END
+		STYLE
+			OUTLINECOLOR 255 128 128
+			WIDTH 12 MINWIDTH 8 MAXWIDTH 20 # 3 2 5
+			PATTERN 48 12 END # 12 3
+		END
+	END
+	CLASS
+		EXPRESSION ('[artderfestlegung]' = '1750' OR '[artderfestlegung]' = '1770')
+		NAME "Umlegung"
+		TEXT "Umlegung"
+		STYLE
+			OUTLINECOLOR 255 128 128
+			WIDTH 12 MINWIDTH 8 MAXWIDTH 20 # 3 2 5
+			PATTERN 44 12 END # 11 3
+		END
+		STYLE
+			COLOR 100 100 100
+			SYMBOL "sn3631"
+			SIZE 60 MINSIZE 40 MAXSIZE 80 #15 10 20
+		END
+		LABEL
+			TYPE TRUETYPE
+			COLOR 255 0 255
+			FONT "arial"
+			SIZE 40 MINSIZE 32 MAXSIZE 56 # 10 8 14
+			POSITION cc
+			PARTIALS FALSE FORCE FALSE
+		END
+	END
+	CLASS
+		EXPRESSION /./
+		NAME "Bau-, Raum oder Bodenordnungsrecht"
+		STYLE # sn1704
+			OUTLINECOLOR 255 128 128
+			WIDTH 12 MINWIDTH 8 MAXWIDTH 15 # 3 2 5
+			PATTERN 44 12 END # 11 3
+		END
+	END
+END
+LAYER
+	NAME "ax_denkmalschutzrecht"
+	GROUP "recht"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_denkmalschutzrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Denkmalschutzrecht"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASS
+		NAME "Denkmalschutzrecht"
+		STYLE
+			OUTLINECOLOR 153 153 153
+		END
+	END
+END
+LAYER
+	NAME "ax_sonstigesrecht"
+	GROUP "recht"
+	TYPE LINE
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, artderfestlegung, wkb_geometry FROM ax_sonstigesrecht) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Sonstiges Recht"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 2500 #10000
+	CLASSITEM 'artderfestlegung'
+	CLASS
+		NAME "Freileitung"
+		EXPRESSION ('[artderfestlegung]' = '4720')
+		STYLE
+			PATTERN 45.3 11.4 END # 11.34 2.85
+			OUTLINECOLOR 255 128 128
+		END
+	END
+END
+
+# ALKIS Punktort (Vermessungspunkte)
+LAYER
+	NAME "ax_punktortta"
+	GROUP "punktort"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM grenzpunkt) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Grenzpunkt"
+		wms_group_title "Vermessungspunkte"
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 2000
+	SYMBOLSCALEDENOM 1000
+	# Die folgenden Grenzpunkt-Symbole sind nicht genau 4mal so groÃ wie in der Bildschirm-Map.
+	# Druck und Bildschirm getrennt optimieren! Auf Bildschirm vergrÃ¶Ãern zur besseren Erkennbarkeit.
+	CLASS
+		NAME "vermarkt"
+		EXPRESSION ('[abmarkung_marke]' < '9000') # 1000 bis 3845 = Abmarkung 
+		STYLE # Kringel
+			SYMBOL 'point'
+			COLOR 255 255 255
+			SIZE 11 MINSIZE 7 MAXSIZE 20 # FÃŒllung 4 2 7 
+			OUTLINECOLOR 0 0 0
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 5 # Rand 1 1 2
+		END
+	END
+	CLASS # 9500=Ohne Marke, 9600=Abmarkung zeitweilig ausgesetzt, 9998=Nach Quellenlage nicht zu spezifizieren
+		NAME "unvermarkt"
+		STYLE
+			SYMBOL 'point'
+			SIZE 10 MINSIZE 6 MAXSIZE 18 # Freistellung 4 2 6
+			COLOR 255 255 255
+		END
+		STYLE
+			SYMBOL 'point'
+			SIZE 4 MINSIZE 2 MAXSIZE 8 # PÃŒnktchen 1.25 1 3
+			COLOR 0 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_punktortag"
+	GROUP "punktort"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_punktortag) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Bes. GebÃ€udepunkt"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 500 #2000
+	CLASS
+		NAME "GebÃ€udepunkt"
+		STYLE
+			SYMBOL "point"
+			SIZE 16 MINSIZE 12 MAXSIZE 32 # 4 3 8
+			COLOR 0 0 0
+		END
+	END
+END
+LAYER
+	NAME "ax_punktortau"
+	GROUP "punktort"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_punktortau) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Punktort AU"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 500 #2000
+	CLASS
+		NAME "PunktortAU"
+		STYLE
+			SYMBOL "point"
+			SIZE 20 # 5
+			COLOR 0 0 0
+		END
+	END
+END
+# ALKIS  AAA-PrÃ€sentationsobjekte
+LAYER
+	NAME "ap_pto_stra"
+	GROUP "praesentation"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "the_geom from (SELECT * FROM pp_strassenname_p) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "StraÃen ."
+		wms_group_title "PrÃ€sentation"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1000 #4000
+	LABELITEM "schriftinhalt"
+
+	# Strasse
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse' AND '[hor]' eq 'linksbÃŒndig' AND '[ver]' eq 'Basis')
+		#NAME 'StraÃe'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 24 MAXSIZE 80 # 10 6 20
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse' AND '[hor]' eq 'zentrisch' AND '[ver]' eq 'Mitte')
+		#NAME 'StraÃe'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 24 MAXSIZE 80 # 10 6 20
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION cc # zentrisch/Mitte
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse') 
+		NAME 'StraÃe'
+		STYLE
+			SYMBOL "point" SIZE 1 MINSIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 24 MAXSIZE 80 # 10 6 20
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION uc # zentrisch/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+
+	# Weg
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg' AND '[hor]' eq 'linksbÃŒndig' AND '[ver]' eq 'Basis')
+		#NAME 'Weg'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 32 MINSIZE 20 MAXSIZE 64 # 8 5 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel] 
+			POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg' AND '[hor]' eq 'zentrisch' AND '[ver]' eq 'Mitte')
+		#NAME 'Weg'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 32 MINSIZE 20 MAXSIZE 64 # 8 5 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel] POSITION cc # zentrisch/Mitte
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg')
+		NAME 'Weg'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 32 MINSIZE 20 MAXSIZE 64 # 8 5 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel] POSITION uc # zentrisch/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+
+	# Platz 
+	CLASS
+		#EXPRESSION 'Platz'
+		EXPRESSION ('[art]' eq 'Platz' AND '[ver]' eq 'Mitte')
+		#NAME 'Platz'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 28 MAXSIZE 88 # 10 7 22
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION cc # zentrisch/Mitte
+			COLOR 0 0 90
+			FORCE true
+		END
+	END
+	CLASS
+		#EXPRESSION 'Platz'
+		EXPRESSION ('[art]' eq 'Platz')
+		NAME 'Platz'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 28 MAXSIZE 88 # 10 7 22
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION uc # zentrisch/Basis
+			COLOR 0 0 90
+			FORCE true
+		END
+	END
+
+	# Klassifikation
+	CLASS
+		#EXPRESSION 'BezKlassifizierungStrasse'
+		EXPRESSION ('[art]' eq 'BezKlassifizierungStrasse' AND '[hor]' eq 'linksbÃŒndig')
+		#NAME 'Klassifizierung'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 44 MINSIZE 32 MAXSIZE 88 # 11 8 22
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 90 0
+			FORCE true
+		END
+	END
+	CLASS
+		#EXPRESSION 'BezKlassifizierungStrasse'
+		EXPRESSION ('[art]' eq 'BezKlassifizierungStrasse')
+		NAME 'Klassifizierung'
+		STYLE
+			SYMBOL "point" SIZE 1 MINSIZE 1
+		END
+		LABEL
+			SIZE 44 MINSIZE 32 MAXSIZE 88 # 11 8 22
+			TYPE TRUETYPE FONT "arialbold"
+			ANGLE [winkel] POSITION uc # zentrisch/Basis
+			COLOR 0 90 0
+			FORCE true
+		END
+	END
+END
+LAYER
+	NAME "ap_lto_stra"
+	GROUP "praesentation"
+	TYPE LINE
+	REQUIRES "[ap_pto_stra]" # P- und L gemeinsam
+	STATUS DEFAULT # automatisch mit
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "the_geom from (SELECT * FROM pp_strassenname_l) as foo using unique gid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "StraÃen _"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 #50
+	MAXSCALEDENOM 1000 #4000
+	LABELITEM "schriftinhalt"
+
+	# Strasse
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse' AND '[hor]' eq 'linksbÃŒndig' AND '[ver]' eq 'Basis')
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 24 MAXSIZE 80 # 10 6 20
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse' AND '[hor]' eq 'zentrisch' AND '[ver]' eq 'Mitte')
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 24 MAXSIZE 80 # 10 6 20
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION cc # zentrisch/Mitte
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'Strasse') 
+		NAME 'StraÃe'
+		STYLE
+			SYMBOL "point" SIZE 1 MINSIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 24 MAXSIZE 80 # 10 6 20
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION uc # zentrisch/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+
+	# Weg
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg' AND '[hor]' eq 'linksbÃŒndig' AND '[ver]' eq 'Basis')
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 32 MINSIZE 20 MAXSIZE 64 # 8 5 16
+			TYPE TRUETYPE FONT "arial"
+			POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+	#CLASS
+	#	EXPRESSION ('[art]' eq 'Weg' AND '[hor]' eq 'zentrisch' AND '[ver]' eq 'Mitte')
+	#	STYLE
+	#		SYMBOL "point" SIZE 1
+	#	END
+	#	LABEL
+	#		SIZE 32 MINSIZE 20 MAXSIZE 64 # 8 5 16
+	#		TYPE TRUETYPE FONT "arial"
+	#		POSITION cc # zentrisch/Mitte
+	#		COLOR 0 0 0
+	#		FORCE true
+	#	END
+	#END
+	CLASS
+		EXPRESSION ('[art]' eq 'Weg')
+		NAME 'Weg'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 32 MINSIZE 20 MAXSIZE 64 # 8 5 16
+			TYPE TRUETYPE FONT "arial"
+			POSITION uc # zentrisch/Basis
+			COLOR 0 0 0
+			FORCE true
+		END
+	END
+
+	# Platz 
+#	CLASS
+#		EXPRESSION ('[art]' eq 'Platz' AND '[ver]' eq 'Mitte')
+#		STYLE
+#			SYMBOL "point" SIZE 1
+#		END
+#		LABEL
+#			SIZE 40 MINSIZE 28 MAXSIZE 88 # 10 7 22
+#			TYPE TRUETYPE FONT "arialbold"
+#			POSITION cc # zentrisch/Mitte
+#			COLOR 0 0 90
+#			FORCE true
+#		END
+#	END
+#	CLASS
+#		EXPRESSION ('[art]' eq 'Platz')
+#		NAME 'Platz'
+#		STYLE
+#			SYMBOL "point" SIZE 1
+#		END
+#		LABEL
+#			SIZE 40 MINSIZE 28 MAXSIZE 88 # 10 7 22
+#			TYPE TRUETYPE FONT "arialbold"
+#			POSITION uc # zentrisch/Basis
+#			COLOR 0 0 90
+#			FORCE true
+#		END
+#	END
+
+	# Klassifikation
+	CLASS
+		EXPRESSION ('[art]' eq 'BezKlassifizierungStrasse' AND '[hor]' eq 'linksbÃŒndig')
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 44 MINSIZE 32 MAXSIZE 88 # 11 8 22
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION ur # linksbÃŒndig/Basis
+			COLOR 0 90 0
+			FORCE true
+		END
+	END
+	CLASS
+		EXPRESSION ('[art]' eq 'BezKlassifizierungStrasse')
+		NAME 'Klassifizierung'
+		STYLE
+			SYMBOL "point" SIZE 1 MINSIZE 1
+		END
+		LABEL
+			SIZE 44 MINSIZE 32 MAXSIZE 88 # 11 8 22
+			TYPE TRUETYPE FONT "arialbold"
+			POSITION uc # zentrisch/Basis
+			COLOR 0 90 0
+			FORCE true
+		END
+	END
+END
+
+LAYER
+	NAME "ap_pto" # Rest
+	GROUP "praesentation"
+	TYPE POINT
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM ap_pto_rest) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+		wms_title "Beschriftung"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 0
+	MAXSCALEDENOM 1250 #5000
+	LABELITEM "schriftinhalt"
+	CLASSITEM "art"
+	CLASS
+		NAME "Gewanne"
+		EXPRESSION 'Gewanne'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL # waagerecht
+			SIZE 44 MINSIZE 36 MAXSIZE 72 # 11 9 18
+			TYPE TRUETYPE FONT "arial"
+			POSITION cc
+			COLOR 0 0 0
+		END
+	END
+	CLASS
+		NAME "freier Text"
+		EXPRESSION 'FreierText'
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 10 MINSIZE 8 MAXSIZE 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel]
+			POSITION cc
+			COLOR 0 0 0
+			WRAP "/n" MAXLENGTH 15
+		END
+	END
+	CLASS
+		NAME "sonst. Beschriftung" # Rest
+		EXPRESSION /./
+		STYLE
+			SYMBOL "point" SIZE 1
+		END
+		LABEL
+			SIZE 40 MINSIZE 32 MAXSIZE 64 # 10 8 16
+			TYPE TRUETYPE FONT "arial"
+			ANGLE [winkel]
+			POSITION cc
+			COLOR 0 0 0
+			WRAP "/n" MAXLENGTH 15
+		END
+	END
+END
+
+# ap_ppo fehlt noch
+
+## Gruppe  G r e n z e n
+LAYER
+	NAME 'pol_Grenze'
+	GROUP 'grenzen'
+	TYPE LINE
+	STATUS ON
+	METADATA
+		wms_group_title "Grenzen"
+		wms_title "Politische Grenze"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 62 # 250
+	MAXSCALEDENOM 3000 #12000
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA 'wkb_geometry from (SELECT * FROM sk201x_politische_grenze) as foo using unique ogc_fid using SRID=25832'
+	CLASSITEM 'art' # Art der besonderen Grundstuecksgrenze  IST EIN ARRAY! z.B. {3000,7106}
+	CLASS
+		NAME 'Bundeslandgrenze'
+		EXPRESSION /7102/
+		STYLE
+			COLOR 255 255 255
+			WIDTH 28 MINWIDTH 28 MAXWIDTH 28 # 7 7 7
+		END
+		STYLE
+			COLOR 242 128 255
+			WIDTH 28 MINWIDTH 28 MAXWIDTH 28 # 7 7 7
+			PATTERN 10 60 20 60 108 48 108 60 END #5 15 5 15 27 12 27 15
+			LINECAP butt
+			LINEJOINMAXSIZE 80 #20
+			LINEJOIN miter	
+		END
+	END
+	CLASS
+		NAME 'Regierungsbezirksgrenze'
+		EXPRESSION /7103/
+		STYLE
+			COLOR 255 255 255
+			WIDTH 5 MINWIDTH 5 MAXWIDTH 5
+		END
+		STYLE
+			COLOR 242 128 255
+			WIDTH 5 MINWIDTH 5 MAXWIDTH 5 # 5 5 5
+			PATTERN 16 60 16 60 100 40 100 52 END #4 15 4 15 25 10 25 13
+			LINECAP butt
+			LINEJOINMAXSIZE 80 #20
+			LINEJOIN miter	
+		END
+	END
+	CLASS
+		NAME 'Kreisgrenze'
+		EXPRESSION /7104/
+		STYLE
+			COLOR 255 255 255
+			WIDTH 20 MINWIDTH 20 MAXWIDTH 20 # 5 5 5
+		END
+		STYLE
+			COLOR 242 128 255 
+			WIDTH 20 MINWIDTH 20 MAXWIDTH 20 # 5 5 5
+			PATTERN 93 50 20 60 20 50 END # 23.33 12.5 5 15 5 12.5
+			LINECAP butt
+			LINEJOINMAXSIZE 80 #20
+			LINEJOIN miter	
+		END
+	END
+	CLASS
+		NAME 'Gemeindegrenze'
+		EXPRESSION /7106/
+		STYLE
+			COLOR 255 255 255
+			WIDTH 16 MINWIDTH 16 MAXWIDTH 16 #4 4 4
+		END
+		STYLE
+			COLOR 242 128 255
+			WIDTH 16 MINWIDTH 16 MAXWIDTH 16 # 4 4 4
+			PATTERN 67 33 13.3 33 END # 16.67 8.33 3.33 8.33
+			LINECAP butt
+			LINEJOINMAXSIZE 80 #20
+			LINEJOIN miter	
+		END
+	END
+END
+LAYER
+	NAME 'gemarkungsrenze'
+	GROUP 'grenzen'
+	TYPE LINE
+	STATUS ON
+	METADATA
+		wms_title "Gemarkungsrenze"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 50 # 200
+	MAXSCALEDENOM 2500 # 10000
+	SYMBOLSCALEDENOM 250 # 1000
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA 'wkb_geometry from (SELECT * FROM sk2014_gemarkungsgrenze) as foo using unique ogc_fid using SRID=25832'
+	CLASS
+		NAME 'Gemarkungsgrenze'
+		STYLE
+			COLOR 254 254 254 # heller Untergrund (FlurstÃŒcksgrenze ÃŒbermalen)
+			WIDTH 16 MINWIDTH 12 MAXWIDTH 24 # 4 3 6
+		END
+		STYLE
+			COLOR 242 128 255
+			WIDTH 16 MINWIDTH 12 MAXWIDTH 24 # 4 3 6
+			PATTERN 67 33 13.3 33 END # 16.67 8.33 3.33 8.33
+			LINECAP butt
+			LINEJOINMAXSIZE 80 #20
+			LINEJOIN miter
+		END
+	END
+END
+LAYER
+	NAME 'flurgrenze'
+	GROUP 'grenzen'
+	TYPE LINE
+	METADATA
+		wms_title "Flurgrenze"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+	END
+	#PROJECTION "init=epsg:25832" END
+	#EXTENT 349000 5529000 356000 5533000
+	MINSCALEDENOM 12 # 50
+	MAXSCALEDENOM 1250 #5000
+	SYMBOLSCALEDENOM 250 #1000
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA 'wkb_geometry from (SELECT * FROM sk2012_flurgrenze) as foo using unique ogc_fid using SRID=25832'
+	CLASS
+		NAME 'Flurgrenze'
+		#STYLE
+		#	COLOR 254 254 254
+		#	WIDTH 12 MINWIDTH 8 MAXWIDTH 16 # 3 2 4
+		#END
+		STYLE
+			COLOR 242 128 255
+			WIDTH 12 MINWIDTH 8 MAXWIDTH 16 # 3 2 4
+			PATTERN 67 33 13 40 13 40 13 33 END #16.67 8.33 3.33 10 3.33 10 3.33 8.33
+			LINECAP butt
+			LINEJOINMAXSIZE 80 #20
+			LINEJOIN miter
+		END
+	END
+END
+
+LAYER
+	NAME "copyright"
+	STATUS ON # DEFAULT
+	TYPE annotation
+	TRANSFORM lr
+	METADATA
+		wms_title "Copyright"
+		#wms_abstract "In der Karte sichtbare Angabe auf die Herkunft der Daten"
+		WMS_KEYWORDLIST "Katasteramt, Copyright, Quellenangabe"
+		wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:54004"
+	END
+	FEATURE
+		POINTS 0 0 END
+		# hier die individuelle Vertragsnummer einsetzen
+		TEXT 'Copyright Geobasisdaten Liegenschaftskataster Kreis __'
+	END
+	CLASS
+		LABEL
+			SIZE small # x4 ?
+			POSITION ul
+			COLOR 50 50 50
+			FORCE TRUE
+			STYLE # bbox ms 6.0
+				GEOMTRANSFORM 'labelpoly'
+				COLOR 250 250 250
+			END
+		END
+	END
+END
+END
