Index: trunk/import/grant.sql
===================================================================
--- trunk/import/grant.sql	(revision 275)
+++ trunk/import/grant.sql	(revision 276)
@@ -12,4 +12,8 @@
 --  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-16  Views zum Thema Bodenscätzung
 
 -- Tabellen
@@ -292,8 +296,15 @@
 GRANT SELECT ON TABLE ax_bodenschaetzung_zustandsstufe     TO ms6;
 GRANT SELECT ON TABLE ax_bodenschaetzung_zustandsstufe     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_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;
+-- 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
@@ -308,10 +319,10 @@
 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_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;
@@ -327,11 +338,18 @@
 -- =====
   GRANT SELECT ON TABLE s_hausnummer_gebaeude              TO ms6;
-  GRANT SELECT ON TABLE s_nummer_nebengebaeude             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 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;
Index: trunk/import/alkis_PostNAS_keytables.sql
===================================================================
--- trunk/import/alkis_PostNAS_keytables.sql	(revision 275)
+++ trunk/import/alkis_PostNAS_keytables.sql	(revision 276)
@@ -22,8 +22,10 @@
 --  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
+--  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-16  F.J. Kurzbezeichnungen der BodenschÃ€ttung fÃŒr die Kartendarstellung
 
   SET client_encoding = 'UTF8';
-
 
 -- G e b a e u d e - B a u w e i s e
@@ -510,16 +512,12 @@
 -- 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,
- --kennung     integer,   -- konstant 71008, entfernt 21.11.2011
- --objektart   character varying,  -- konstant ax_bauraumoderbodenordnungsrecht, entfernt 21.11.2011
-   CONSTRAINT pk_ax_brecht_artfest_wert PRIMARY KEY (wert)
+CREATE TABLE ax_bauraumoderbodenordnungsrecht_artderfestlegung (
+	wert        integer, 
+	bezeichner  character varying,
+	CONSTRAINT pk_ax_brecht_artfest_wert PRIMARY KEY (wert)
   );
 
@@ -584,27 +582,31 @@
 -- 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.';
 
-
-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)');
+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)
@@ -614,79 +616,83 @@
 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)');
+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)');
 
 
@@ -696,4 +702,5 @@
 CREATE TABLE ax_bodenschaetzung_zustandsstufe (
     wert integer,
+    kurz character varying,
     bezeichner character varying,
     CONSTRAINT pk_ax_bodenschaetzung_zustandsstufe  PRIMARY KEY (wert)
@@ -703,20 +710,24 @@
 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
 
-
-INSERT INTO ax_bodenschaetzung_zustandsstufe (bezeichner,wert) VALUES ('Zustandsstufe (1)',1100);
-INSERT INTO ax_bodenschaetzung_zustandsstufe (bezeichner,wert) VALUES ('Zustandsstufe (2)',1200);
-INSERT INTO ax_bodenschaetzung_zustandsstufe (bezeichner,wert) VALUES ('Zustandsstufe (3)',1300);
-INSERT INTO ax_bodenschaetzung_zustandsstufe (bezeichner,wert) VALUES ('Zustandsstufe (4)',1400);
-INSERT INTO ax_bodenschaetzung_zustandsstufe (bezeichner,wert) VALUES ('Zustandsstufe (5)',1500);
-INSERT INTO ax_bodenschaetzung_zustandsstufe (bezeichner,wert) VALUES ('Zustandsstufe (6)',1600);
-INSERT INTO ax_bodenschaetzung_zustandsstufe (bezeichner,wert) VALUES ('Zustandsstufe (7)',1700);
-INSERT INTO ax_bodenschaetzung_zustandsstufe (bezeichner,wert) VALUES ('Zustandsstufe Misch- und SchichtbÃ¶den sowie kÃŒnstlichverÃ€nderte BÃ¶den (-)',1800);
-INSERT INTO ax_bodenschaetzung_zustandsstufe (bezeichner,wert) VALUES ('Bodenstufe (I)',2100);
-INSERT INTO ax_bodenschaetzung_zustandsstufe (bezeichner,wert) VALUES ('Bodenstufe (II)',2200);
-INSERT INTO ax_bodenschaetzung_zustandsstufe (bezeichner,wert) VALUES ('Bodenstufe (III)',2300);
-INSERT INTO ax_bodenschaetzung_zustandsstufe (bezeichner,wert) VALUES ('Bodenstufe Misch- und SchichtbÃ¶den sowie kÃŒnstlich verÃ€nderte BÃ¶den (-)',2400);
-INSERT INTO ax_bodenschaetzung_zustandsstufe (bezeichner,wert) VALUES ('Bodenstufe (II+III)',3100);
-INSERT INTO ax_bodenschaetzung_zustandsstufe (bezeichner,wert) VALUES ('Bodenstufe ("(III)")',3200);
-INSERT INTO ax_bodenschaetzung_zustandsstufe (bezeichner,wert) VALUES ('Bodenstufe (IV)',3300);
+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)');
 
 
@@ -725,4 +736,5 @@
 CREATE TABLE ax_musterlandesmusterundvergleichsstueck_merkmal (
     wert integer,
+    kurz character varying,
     bezeichner character varying,
     CONSTRAINT pk_ax_musterlandesmusterundvergleichsstueck_merkmal  PRIMARY KEY (wert)
@@ -732,7 +744,11 @@
 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
 
-INSERT INTO ax_musterlandesmusterundvergleichsstueck_merkmal (wert,bezeichner) VALUES (1000,'MusterstÃŒck (M)');
-INSERT INTO ax_musterlandesmusterundvergleichsstueck_merkmal (wert,bezeichner) VALUES (2000,'LandesmusterstÃŒck (L)');
-INSERT INTO ax_musterlandesmusterundvergleichsstueck_merkmal (wert,bezeichner) VALUES (3000,'VergleichsstÃŒck (V)');
+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)');
 
 
@@ -749,5 +765,4 @@
 IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
 
-
 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)');
@@ -757,8 +772,82 @@
 
 
+-- 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_entstehungsartoderklimastufe PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE ax_bodenschaetzung_entstehungsartoderklimastufe
+IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
+
+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)');
+
+
+
 -- 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(
+CREATE TABLE ax_forstrecht_artderfestlegung (
     wert integer,
     bezeichner character varying,
@@ -808,68 +897,4 @@
 INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Nichtholzboden',9010);
 INSERT INTO ax_forstrecht_besonderefunktion (bezeichner, wert) VALUES('Sonstiges',9999);
-
-
-
--- B o d e n s c h a e t z u n g   -  Entstehungsart oder Klimastufe / Wasserverhaeltnisse
--- ----------------------------------------------------------------------------------------
-
-CREATE TABLE ax_bodenschaetzung_entstehungsartoderklimastufe(
-    wert integer,
-    bezeichner character varying,
-    CONSTRAINT pk_ax_bodenschaetzung_entstehungsartoderklimastufe PRIMARY KEY (wert)
-  );
-
-COMMENT ON TABLE ax_bodenschaetzung_entstehungsartoderklimastufe
-IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
-
-
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Diluvium (D)',1000);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Diluvium ÃŒber Alluvium (DAl)',1100);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Diluvium ÃŒber LÃ¶Ã (DLÃ¶)',1200);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Diluvium ÃŒber Verwitterung (DV)',1300);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Diluvium, gesteinig (Dg)',1400);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Diluvium, gesteinig ÃŒber Alluvium (DgAl)',1410);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Diluvium, gesteinig ÃŒber LÃ¶Ã (DgLÃ¶)',1420);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Diluvium, gesteinig ÃŒber Verwitterung (DgV)',1430);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('LÃ¶Ã (LÃ¶)',2000);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('LÃ¶Ã ÃŒber Diluvium (LÃ¶D)',2100);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('LÃ¶Ã, Diluvium, GesteinsbÃ¶den (LÃ¶Dg)',2110);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('LÃ¶Ã, Diluvium, Verwitterung (LÃ¶DV)',2120);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('LÃ¶Ã ÃŒber Alluvium (LÃ¶Al)',2200);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('LÃ¶Ã ÃŒber Verwitterung (LÃ¶V)',2300);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('LÃ¶Ã, Verwitterung, GesteinsbÃ¶den (LÃ¶Vg)',2310);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('LÃ¶Ã ÃŒber Verwitterung, gesteinig (LÃ¶Vg)',2400);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Alluvium (Al)',3000);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Alluvium ÃŒber Diluvium (AlD)',3100);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Alluvium ÃŒber LÃ¶Ã (AlLÃ¶)',3200);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Alluvium ÃŒber Verwitterung (AlV)',3300);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Alluvium, gesteinig (Alg)',3400);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Alluvium, gesteinig ÃŒber Diluvium (AlgD)',3410);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Alluvium, gesteinig ÃŒber LÃ¶Ã (AlgLÃ¶)',3420);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Alluvium, gesteinig ÃŒber Verwitterung (AlgV)',3430);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Alluvium, Marsch (AlMa)',3500);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Alluvium, Moor (AlMo)',3610);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Moor, Alluvium (MoAI)',3620);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Mergel (Me)',3700);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Verwitterung (V)',4000);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Verwitterung ÃŒber Diluvium (VD)',4100);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Verwitterung ÃŒber Alluvium (VAl)',4200);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Verwitterung ÃŒber LÃ¶Ã (VLÃ¶)',4300);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Verwitterung, GesteinsbÃ¶den (Vg)',4400);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Verwitterung, GesteinsbÃ¶den ÃŒber Diluvium (VgD)',4410);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Entstehungsart nicht erkennbar (-)',5000);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Klimastufe 8Â° C und darÃŒber (a)',6100);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Klimastufe 7,9Â° - 7,0Â° C (b)',6200);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Klimastufe 6,9Â° - 5,7Â° C (c)',6300);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Klimastufe 5,6Â° C und darunter (d)',6400);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Wasserstufe (1)',7100);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Wasserstufe (2)',7200);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Wasserstufe (3)',7300);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Wasserstufe (4)',7400);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Wasserstufe (4-)',7410);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Wasserstufe (5)',7500);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Wasserstufe (5-)',7510);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Wasserstufe (3-)',7520);
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (bezeichner, wert) VALUES('Wasserstufe (3+4)',7530);
 
 
Index: trunk/import/alkis_Patch.sql
===================================================================
--- trunk/import/alkis_Patch.sql	(revision 276)
+++ trunk/import/alkis_Patch.sql	(revision 276)
@@ -0,0 +1,430 @@
+
+-- ALKIS-Datenbank aus dem Konverter PostNAS 0.7
+
+-- Gezielte Aktualisierung der Datenbank durch die "letzten Ãnderungen"
+
+--  2013-04-16  F.J. Kurzbezeichnungen der BodenschÃ€tzung fÃŒr die Kartendarstellung
+
+  SET client_encoding = 'UTF8';
+
+-- AbhÃ€ngigkeiten:
+DROP VIEW s_bodensch_wms;
+DROP VIEW s_bodensch_ent;
+DROP VIEW s_bodensch_po;
+DROP VIEW s_bodensch_tx;
+DROP VIEW s_zuordungspfeil_bodensch;
+DROP VIEW s_zuordungspfeilspitze_bodensch;
+
+
+-- 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.';
+
+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.';
+
+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
+-- ------------------------------------------------------------
+DROP TABLE ax_bodenschaetzung_zustandsstufe;
+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.';
+
+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
+-- ------------------------------------------------------------------------------
+DROP TABLE ax_musterlandesmusterundvergleichsstueck_merkmal;
+CREATE TABLE ax_musterlandesmusterundvergleichsstueck_merkmal (
+    wert integer,
+    kurz character varying,
+    bezeichner character varying,
+    CONSTRAINT pk_ax_musterlandesmusterundvergleichsstueck_merkmal  PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE ax_musterlandesmusterundvergleichsstueck_merkmal 
+IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
+
+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   -  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_entstehungsartoderklimastufe PRIMARY KEY (wert)
+  );
+
+COMMENT ON TABLE ax_bodenschaetzung_entstehungsartoderklimastufe
+IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script.';
+
+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)');
+
+
+-- 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?
+        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
+   WHERE bs.endet IS NULL;
+COMMENT ON VIEW s_bodensch_ent IS 'Sicht fÃŒr Feature-Info: BodenschÃ€tzung, mit Langtexten entschlÃŒsselt';
+
+
+-- 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.';
+
+
+-- 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.';
+
+
+-- 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 fuer Kartendarstellung: Zuordnungspfeil BodenschÃ€tzung, Linie';
+
+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;
+COMMENT ON VIEW s_zuordungspfeilspitze_flurstueck IS 'Sicht fuer Kartendarstellung: Zuordnungspfeil FlurstÃŒcksnummer, Spitze';
+
+
+-- GRANT
+-- 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_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;
+-- 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;
+
+-- ENDE --
Index: trunk/import/sichten_wms.sql
===================================================================
--- trunk/import/sichten_wms.sql	(revision 276)
+++ trunk/import/sichten_wms.sql	(revision 276)
@@ -0,0 +1,676 @@
+-- =====
+-- 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"
+
+
+-- 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
+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"
+
+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). 
+DROP VIEW s_hausnummer_gebaeude;
+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)
+-- -----------------------------------
+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.';
+
+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,
+	  -- p.advstandardmodell       AS modell,    -- TEST
+      -- l.gml_id, l.unverschluesselt, l.lage AS schluessel, -- zur Lage  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   -- Relation zur Lagebezeichnung o. HsNr.
+      ON p.gml_id = v.beziehung_von
+    JOIN ax_lagebezeichnungohnehausnummer l
+      ON v.beziehung_zu = l.gml_id
+   WHERE NOT p.schriftinhalt IS NULL 
+     AND  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
+           -- 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';
+-- ToDo: Im PostProcessing in einer Tabelle speichern.
+
+
+-- 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 ('HNR','Strasse','Weg','Platz','BezKlassifizierungStrasse','AOG_AUG')
+     -- Diese 'IN'-Liste fortschreiben bei Erweiterungen des Mapfiles
+     -- 'PNR' (Pseudonummer, lfd.-Nr.-NebengebÃ€ude) kommt nicht mehr vor?
+    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.
+
+-- 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?
+        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
+   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: trunk/import/alkis_PostNAS_schema.sql
===================================================================
--- trunk/import/alkis_PostNAS_schema.sql	(revision 275)
+++ trunk/import/alkis_PostNAS_schema.sql	(revision 276)
@@ -959,14 +959,14 @@
 -- ----------------------------------------------
 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,		-- (37)
+	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,		-- (37)
 	darstellungsprioritaet  integer,
-	signaturnummer		varchar,
+	signaturnummer			varchar,
 	positionierungsregel    integer,
 	CONSTRAINT ap_darstellung_pk PRIMARY KEY (ogc_fid)
@@ -1001,42 +1001,35 @@
 	-- 'FlurstÃŒck_Kerndaten' enthÃ€lt Eigenschaften des FlurstÃŒcks, die auch fÃŒr andere FlurstÃŒcksobjektarten gelten (z.B. Historisches FlurstÃŒck).
 
-	land 				integer,         --
+	land 					integer,         --
 	gemarkungsnummer 		integer,            --
-	flurnummer			integer,               -- Teile des FlurstÃŒckskennzeichens
-	zaehler 			integer,            --    (redundant zu flurstueckskennzeichen)
-	nenner				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
+	amtlicheflaeche				double precision,      -- AFL
 	abweichenderrechtszustand	varchar default 'false', -- ARZ
 	zweifelhafterFlurstuecksnachweis varchar default 'false',-- ZFM Boolean
 	rechtsbehelfsverfahren		varchar default 'false', -- RBV
 	zeitpunktderentstehung		character(10),         -- ZDE  Inhalt jjjj-mm-tt  besser Format date ?
-
-	gemeinde			integer,
+	gemeinde				integer,
 	-- GID: ENDE AX_Flurstueck_Kerndaten
 
-	identifier			character(44),         -- global eindeutige Objektnummer
-	beginnt				character(20),         -- Timestamp der Entstehung
-	endet 				character(20),         -- Timestamp des Untergangs
+	identifier				character(44),         -- global eindeutige Objektnummer
+	beginnt					character(20),         -- Timestamp der Entstehung
+	endet 					character(20),         -- Timestamp des Untergangs
 	advstandardmodell 		varchar,               -- steuert die Darstellung nach Kartentyp
-	anlass				varchar,
---	art				varchar[],   -- Wozu braucht man das? Weglassen?
-	name				varchar[],   -- 03.11.2011: array, Buchauskunft anpassen!
+	anlass					varchar,
+--	art						varchar[],   -- Wozu braucht man das? Weglassen?
+	name					varchar[],   -- 03.11.2011: array, Buchauskunft anpassen!
 	regierungsbezirk		integer,
-	kreis				integer,
-	stelle				varchar[],
-
--- neu aus SVN-Version 28.02.2012 hinzugefuegt
--- Dies ist noch zu ueberpruefen
+	kreis					integer,
+	stelle					varchar[],
 	angabenzumabschnittflurstueck	varchar[],
---	"gemeindezugehoerigkeit|ax_gemeindekennzeichen|land" integer, -- siehe "land"
 	kennungschluessel		varchar[],
 	flaechedesabschnitts		double precision[],
-
 	angabenzumabschnittnummeraktenzeichen integer[],
 	angabenzumabschnittbemerkung	varchar[],
-
 	CONSTRAINT ax_flurstueck_pk PRIMARY KEY (ogc_fid)
 );
@@ -1119,22 +1112,22 @@
 -- ----------------------------------------------
 CREATE TABLE ax_grenzpunkt (
-	ogc_fid				serial NOT NULL,
-	gml_id				character(16),
-	identifier			character(44),
-	beginnt				character(20),
-	endet 				character(20),
+	ogc_fid					serial NOT NULL,
+	gml_id					character(16),
+	identifier				character(44),
+	beginnt					character(20),
+	endet 					character(20),
 	advstandardmodell		varchar,
-	anlass				varchar,
+	anlass					varchar,
 	punktkennung			varchar, -- integer,
-	land				integer,
-	stelle				integer,
+	land					integer,
+	stelle					integer,
 	abmarkung_marke			integer,
 	festgestelltergrenzpunkt	varchar,
-	besonderepunktnummer		varchar,
-	bemerkungzurabmarkung		integer,
+	besonderepunktnummer	varchar,
+	bemerkungzurabmarkung	integer,
 	sonstigeeigenschaft		varchar[],
-	art				varchar, --(37)
-	name				varchar[],
-	zeitpunktderentstehung		integer,
+	art						varchar, --(37)
+	name					varchar[],
+	zeitpunktderentstehung	integer,
 	relativehoehe			double precision,
 	CONSTRAINT ax_grenzpunkt_pk PRIMARY KEY (ogc_fid)
@@ -1218,16 +1211,16 @@
 -- 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,
+	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
+	kreis				integer,
+	gemeinde			integer,
+	lage				varchar, -- Strassenschluessel
 	pseudonummer		varchar,
 	laufendenummer		varchar, -- leer, Zahl, "P2"
@@ -1252,14 +1245,14 @@
 -- ----------------------------------------------
 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,
+	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,
+	land				integer,
+	stelle				integer,
 	sonstigeeigenschaft	varchar[],
 	vermarkung_marke	integer,
@@ -1349,5 +1342,5 @@
 	advstandardmodell	varchar,
 	anlass			varchar,
-	art			varchar[],
+	art				varchar[],
 	name			varchar[],
 	kartendarstellung	varchar,	-- boolean
@@ -1371,14 +1364,14 @@
 -- ----------------------------------------------
 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,
+	ogc_fid				serial NOT NULL,
+	gml_id				character(16),
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
+	advstandardmodell	varchar,
+	anlass				varchar,
 	kartendarstellung	varchar,	-- boolean
---	art			varchar, -- entbehrlich
-	name			varchar[],
+--	art					varchar, -- entbehrlich
+	name				varchar[],
 --	"qualitaetsangaben|ax_dqpunktort|herkunft|li_lineage|processstep" integer,  --varchar[],
 --	datetime		character(24)[],
@@ -1402,15 +1395,15 @@
 -- ----------------------------------------------
 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,
+	ogc_fid				serial NOT NULL,
+	gml_id				character(16),
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
+	advstandardmodell	varchar,
+	anlass				varchar,
 	kartendarstellung	varchar, -- boolean
-	description		integer,
-	art			varchar[],
-	name			varchar[],
+	description			integer,
+	art					varchar[],
+	name				varchar[],
 	genauigkeitsstufe	integer,
 	vertrauenswuerdigkeit	integer,
@@ -1440,18 +1433,18 @@
 	beginnt				character(20),
 	endet				character(20),
-	advstandardmodell		varchar,
+	advstandardmodell	varchar,
 	anlass				varchar,
---	art				varchar,		-- entbehrlich
-	uri				varchar,
+--	art					varchar,		-- entbehrlich
+	uri					varchar,
 	fortfuehrungsfallnummernbereich	varchar,
-	land				integer, -- ingemarkung|ax_gemarkung_schluessel
-	gemarkungsnummer		integer, -- ingemarkung|ax_gemarkung_schluessel
-	laufendenummer			integer,
+	land				integer,
+	gemarkungsnummer	integer,
+	laufendenummer		integer,
 	titel				varchar,
 	erstelltam			varchar,		-- Datum jjjj-mm-tt
-	fortfuehrungsentscheidungam	varchar,
-	fortfuehrungsentscheidungvon	varchar,		-- Bearbeiter-Name und -Titel
+	fortfuehrungsentscheidungam		varchar,
+	fortfuehrungsentscheidungvon	varchar,	-- Bearbeiter-Name und -Titel
 	bemerkung			varchar,
-	beziehtsichauf			varchar,
+	beziehtsichauf		varchar,
 	CONSTRAINT ax_fortfuehrungsnachweisdeckblatt_pk PRIMARY KEY (ogc_fid)
 );
@@ -1466,20 +1459,20 @@
 -- ---------------------------------
 CREATE TABLE ax_fortfuehrungsfall (
-	ogc_fid					serial NOT NULL,
-	gml_id					character(16),
-	identifier				character(44),
-	beginnt					character(20),
-	endet					character(20),
+	ogc_fid						serial NOT NULL,
+	gml_id						character(16),
+	identifier					character(44),
+	beginnt						character(20),
+	endet						character(20),
 	advstandardmodell			varchar,
-	anlass					varchar,
---	art					varchar,  -- entbehrlich
-	uri					varchar,
-	fortfuehrungsfallnummer			integer,
+	anlass						varchar,
+--	art							varchar,  -- entbehrlich
+	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,
+	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)
 );
@@ -3270,14 +3263,14 @@
 -- --------------------------------------
 CREATE TABLE ax_seilbahnschwebebahn (
-	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
-	identifier		character(44),
-	beginnt			character(20),
-	endet 			character(20),
+	ogc_fid				serial NOT NULL,
+	gml_id				character(16),
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
 	advstandardmodell	varchar,
 	sonstigesmodell		varchar[],
-	anlass			varchar,
+	anlass				varchar,
 	bahnkategorie		integer,
-	name			varchar,
+	name				varchar,
 	CONSTRAINT ax_seilbahnschwebebahn_pk PRIMARY KEY (ogc_fid)
 );
@@ -3296,16 +3289,16 @@
 -- ----------------------------------------------
 CREATE TABLE ax_gleis (
-	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
-	identifier		character(44),
-	beginnt			character(20),
-	endet 			character(20),
+	ogc_fid				serial NOT NULL,
+	gml_id				character(16),
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
 	advstandardmodell	varchar,
 	sonstigesmodell		varchar[],
-	anlass			varchar,
+	anlass				varchar,
 	bahnkategorie		integer,
-	art			integer,
-	lagezuroberflaeche      integer,
-	name			varchar,
+	art					integer,
+	lagezuroberflaeche	integer,
+	name				varchar,
 	CONSTRAINT ax_gleis_pk PRIMARY KEY (ogc_fid)
 );
@@ -3323,15 +3316,15 @@
 -- -----------------------------------
 CREATE TABLE ax_flugverkehrsanlage (
-	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
-	identifier		character(44),
-	beginnt			character(20),
-	endet			character(20),
+	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,
+	anlass				varchar,
+	art					integer,
 	oberflaechenmaterial	integer,
-	name			varchar,
+	name				varchar,
 	CONSTRAINT ax_flugverkehrsanlage_pk PRIMARY KEY (ogc_fid)
 );
@@ -3353,14 +3346,14 @@
 -- -----------------------------------------------------
 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,
+	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,
+	name				varchar,
+	zustand				integer,
 	CONSTRAINT ax_bauwerkimgewaesserbereich_pk PRIMARY KEY (ogc_fid)
 );
@@ -3409,13 +3402,13 @@
 -- ----------------------------------------------
 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,
+	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)
 );
@@ -3433,15 +3426,15 @@
 -- -------------------------------------------------
 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,
+	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,
+	name					varchar,
 	CONSTRAINT ax_untergeordnetesgewaesser_pk PRIMARY KEY (ogc_fid)
 );
@@ -3465,11 +3458,11 @@
 -- ---------------------------------
 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,
+	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)
@@ -3487,12 +3480,12 @@
 -- -----------------------------------------------------------
 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,
+	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)
 );
@@ -3516,13 +3509,13 @@
 -- -----------------------------
 CREATE TABLE ax_boeschungkliff (
-	ogc_fid			serial NOT NULL,
-	gml_id			character(16),
-	identifier		character(44),
-	beginnt			character(20),
-	endet 			character(20),
+	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,
+	anlass				varchar,
+	objekthoehe			double precision,
 	CONSTRAINT ax_boeschungkliff_pk PRIMARY KEY (ogc_fid)
 );
@@ -3540,12 +3533,12 @@
 --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),
+	ogc_fid				serial NOT NULL,
+	gml_id				character(16),
+	identifier			character(44),
+	beginnt				character(20),
+	endet 				character(20),
 	advstandardmodell	varchar,
 	sonstigesmodell		varchar[],
-	anlass			varchar,
+	anlass				varchar,
 	CONSTRAINT ax_boeschungsflaeche_pk PRIMARY KEY (ogc_fid)
 );
@@ -3563,14 +3556,14 @@
 -- ----------------------------------------------
 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,
+	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)
 );
@@ -3588,12 +3581,12 @@
 -- ------------------------- 
 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,
+	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)
@@ -3613,12 +3606,12 @@
 -- 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,
+	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)
 );
@@ -3636,12 +3629,12 @@
 -- -------
 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,
+	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)
 );
@@ -3657,11 +3650,11 @@
 -- --------------------
 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,
+	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)
@@ -3689,17 +3682,17 @@
 -- ----------------------------------------------
 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,
+	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,
+	identifikation			integer,
+	art						integer,
 	CONSTRAINT ax_gelaendekante_pk PRIMARY KEY (ogc_fid)
 );
@@ -3721,12 +3714,12 @@
 -- -------------------------------------------------------------
 CREATE TABLE ax_besondererhoehenpunkt (
-	ogc_fid			serial NOT NULL,
-	gml_id 			character(16),
-	identifier 		character(44),
-	beginnt 		character(20),
-	endet  			character(20),
+	ogc_fid				serial NOT NULL,
+	gml_id 				character(16),
+	identifier 			character(44),
+	beginnt 			character(20),
+	endet  				character(20),
 	advstandardmodell	varchar,
 	sonstigesmodell		varchar,
-	anlass			varchar,
+	anlass				varchar,
 	besonderebedeutung	integer,
 	CONSTRAINT ax_besondererhoehenpunkt_pk PRIMARY KEY (ogc_fid)
@@ -3757,15 +3750,15 @@
 -- -------------------------------------------------------------------
 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,
+	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,
+	land				integer,
+	stelle				varchar,
+	bezeichnung			varchar,
 	CONSTRAINT ax_klassifizierungnachstrassenrecht_pk PRIMARY KEY (ogc_fid)
 );
@@ -3784,14 +3777,14 @@
 -- ---------------------------------------------------------------
 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,
+	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,
+	land				integer,
+	stelle				varchar,
 	CONSTRAINT ax_klassifizierungnachwasserrecht_pk PRIMARY KEY (ogc_fid)
 );
@@ -3811,71 +3804,4 @@
 -- 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, -- (15)
-	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,  --(15)
-	name			varchar,
-	funktion		integer,
---	"qualitaetsangaben|ax_dqmitdatenerhebung|herkunft|li_lineage|pro" varchar,
---	datetime		varchar,
-	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),
@@ -3883,10 +3809,76 @@
 	beginnt				character(20),
 	endet 				character(20),
+	advstandardmodell	varchar,
+	anlass				varchar,
+	art					varchar, -- (15)
+	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,  --(15)
+	name				varchar,
+	funktion			integer,
+--	datetime			varchar,
+	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,
-	art				varchar, -- (15)
-	name				varchar,
-	kulturart			integer,
-	bodenart			integer,
+	anlass					varchar,
+--	art						varchar, -- (15)
+--	name					varchar,
+	kulturart				integer,
+	bodenart				integer,
 	zustandsstufeoderbodenstufe	integer,
 	entstehungsartoderklimastufewasserverhaeltnisse	integer[], -- veraendert [] 2012-02-03
@@ -3894,5 +3886,5 @@
 	ackerzahlodergruenlandzahl	integer,
 	sonstigeangaben			integer[],
-	jahreszahl			integer,
+	jahreszahl				integer,
 	CONSTRAINT ax_bodenschaetzung_pk PRIMARY KEY (ogc_fid)
 );
@@ -3903,6 +3895,14 @@
 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';
-COMMENT ON COLUMN ax_bodenschaetzung.gml_id IS 'Identifikator, global eindeutig';
+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';
+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.';
 
 
@@ -3910,32 +3910,41 @@
 -- -----------------------------------------------------------------------------------
 CREATE TABLE ax_musterlandesmusterundvergleichsstueck (
-	ogc_fid				serial NOT NULL,
-	gml_id				character(16),
-	identifier			character(44),
-	beginnt				character(20),
-	endet 				character(20),
+	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,
+	anlass					varchar,
+--	art						varchar,  -- (15)
+--	name					varchar,
+	merkmal					integer,
+	nummer					integer,
+	kulturart				integer,
+	bodenart				integer,
 	zustandsstufeoderbodenstufe	integer,
 	entstehungsartoderklimastufewasserverhaeltnisse	integer,
 	bodenzahlodergruenlandgrundzahl	integer,
 	ackerzahlodergruenlandzahl	integer,
-	art				varchar,  -- (15)
-	name				varchar,
+	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 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 Vergleichsstueck';
-COMMENT ON COLUMN ax_musterlandesmusterundvergleichsstueck.gml_id IS 'Identifikator, global eindeutig';
+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.';
 
 
Index: trunk/import/datenbank_anlegen.sh
===================================================================
--- trunk/import/datenbank_anlegen.sh	(revision 275)
+++ trunk/import/datenbank_anlegen.sh	(revision 276)
@@ -7,5 +7,6 @@
 ## Stand:
 ##  2012-02-10 PostNAS 07, Umbenennung
-##  2013-01-15 Zwischenstopp um Meldungen lesen zu kï¿œnnen bevor, sie aus dem Scrollbereich verschwinden
+##  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
 
 POSTNAS_HOME=$(dirname $0)
@@ -106,6 +107,6 @@
 psql $con -U ${DBUSER} -f pp_definition.sql >$MANDANT_HOME/log/pp_definition.log
 echo " "
-echo "** Definition von Views (sichten.sql)"
-psql $con -U ${DBUSER} -f sichten.sql >$MANDANT_HOME/log/sichten.log
+echo "** Definition von Views (sichten_wms.sql)"
+psql $con -U ${DBUSER} -f sichten_wms.sql >$MANDANT_HOME/log/sichten_wms.log
 echo " "
 echo  "COMMENT ON DATABASE ${DBNAME} IS 'ALKIS - Konverter PostNAS 0.7';" | psql -p 5432 -d ${DBNAME} -U ${DBUSER} 
@@ -113,6 +114,7 @@
 echo "** Berechtigung (grant.sql) Protokoll siehe log"
 psql $con -U ${DBUSER} -f grant.sql >$MANDANT_HOME/log/log_grant.log
-echo " "
-echo "***************************"
-echo "**  Ende Neue Datenbank  **"
-echo "***************************"
+echo " 
+***************************
+**  Ende Neue Datenbank  **
+***************************
+"
Index: trunk/import/sichten.sql
===================================================================
--- trunk/import/sichten.sql	(revision 275)
+++ trunk/import/sichten.sql	(revision 276)
@@ -3,7 +3,13 @@
 -- =====
 
+--  -----------------------------------------
+--  Sichten fÃŒr Fehlersuche und Daten-Analyse
+--  -----------------------------------------
+
+--  Dieses SQL braucht nur bei Bedarf in einer PostNAS-DB verarbeitet werden.
+--  Es werden zusÃ€tzliche Views einegerichtet, die nur bei Fehlersuche und Analys (vom Entwickler) benÃ¶tigt werden.
+
 --  PostNAS 0.7
 
---  2012-02-25 PostNAS 07, Umbenennung
 --  2012-04-17 flstnr_ohne_position
 --  2012-04-24 pauschal Filter 'endet IS NULL' um historische Objekte auszublenden
@@ -13,397 +19,22 @@
 --  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'
-
---  -----------------------------------------
---  Sichten fuer Verwendung im mapfiles (wms)
---  -----------------------------------------
-
--- 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
-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 'fuer Kartendarstellung: 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"
-
-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,  -- Flaechenmitte 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 '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,				         -- Point
- --			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). 
-DROP VIEW s_hausnummer_gebaeude;
-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
--- LIMIT 200 -- TEST
-;
-COMMENT ON VIEW s_hausnummer_gebaeude IS 'fuer Kartendarstellung: Hausnummern HauptgebÃ€ude';
+--  2013-04-16 Thema "BodenschÃ€tzung" und fehlernde Kommentare zum Views ergÃ€nzt.
+--             Diese Datei aufgeteilt in "sichten.sql" und "sichten_wms.sql"
+
 
 -- Welche Karten-Typen ?
---   SELECT DISTINCT advstandardmodell FROM ap_pto p WHERE p.art = 'HNR';
--- Liefert:
---   "{DKKM1000}"
---   "{DKKM1000,DKKM500}"
---   "{DKKM500}"
---   ""    (IS NULL)
-
--- ibR (Mi-Lk): darzustellender Text steht immer in ap_pto.schriftinhalt 
--- AED (Lippe): ap_pto.schriftinhalt ist meist leer, nur selten ein Eintrag
-
--- ToDo: Wie bei ap_pto_stra von mehren ap_pto zu einer Hausnummer die geeignete auswÃ€hlen
-
--- 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 'fuer Kartendarstellung: Hausnummern NebengebÃ€ude';
-
--- 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 '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 '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 'fuer Kartendarstellung';
-
--- Layer "s_zuordungspfeil_flurstueck"
--- -----------------------------------
-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;
-
-COMMENT ON VIEW s_zuordungspfeil_flurstueck IS 'fuer Kartendarstellung: Zuordnungspfeil FlurstÃŒcksnummer';
-
-
-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;
-
-COMMENT ON VIEW s_zuordungspfeilspitze_flurstueck IS 'fuer Kartendarstellung: Zuordnungspfeil FlurstÃŒcksnummer, Spitze';
-
--- Drehwinkel in Bogenmass, wird vom mapserver in Grad benÃ¶tigt.
--- Umrechnung durch Faktor (180 / Pi)
-
-
--- 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,
-	  -- p.advstandardmodell       AS modell,    -- TEST
-      -- l.gml_id, l.unverschluesselt, l.lage AS schluessel, -- zur Lage  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   -- Relation zur Lagebezeichnung o. HsNr.
-      ON p.gml_id = v.beziehung_von
-    JOIN ax_lagebezeichnungohnehausnummer l
-      ON v.beziehung_zu = l.gml_id
-   WHERE NOT p.schriftinhalt IS NULL 
-     AND  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
-           -- 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 'Beschriftung aus ap_pto fÃŒr Lagebezeichnung mit Art "StraÃe", "Weg", "Platz" oder Klassifizierung. Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe';
-
-
--- 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 'Beschriftung mit Art = Name/Zweitname. Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe';
-
-
--- 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 ('HNR','Strasse','Weg','Platz','BezKlassifizierungStrasse','AOG_AUG')
-     -- Diese 'IN'-Liste fortschreiben bei Erweiterungen des Mapfiles
-     -- 'PNR' (Pseudonummer, lfd.-Nr.-NebengebÃ€ude) kommt nicht mehr vor?
-    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 'Beschriftungen aus "ap_pto", die noch nicht in anderen Layern angezeigt werden';
-
+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.
@@ -421,139 +52,6 @@
      AND p.endet IS NULL
      AND p.art IN ('AOG_AUG','PNR');
-COMMENT ON VIEW ap_pto_muell IS 'Beschriftungen aus "ap_pto", die NICHT dargestellt werden sollen.';
-
--- ENDE BESCHRIFTUNG
-
--- 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 'fuer Kartendarstellung: Zuordnungspfeil fÃŒr GebÃ€ude-Nummer';
-
--- 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 '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[])));
--- krz: ap.signaturnummer is NULL in allen SÃ€tzen
-
-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 'fuer 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 'fuer 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 'fuer 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 'fuer 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 'fuer 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 'fuer 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
-
-
---  ------------------------------------------
---  Sichten fuer Fehlersuche und Daten-Analyse
---  ------------------------------------------
+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"
@@ -580,5 +78,5 @@
 --ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler
   ;
-COMMENT ON VIEW flstnr_ohne_position IS 'FlurstÃŒcke ohne manuell gesetzte Position fÃŒr die PrÃ€sentation der FS-Nr';
+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"
@@ -590,5 +88,5 @@
   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
@@ -600,5 +98,5 @@
    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';
+COMMENT ON VIEW flurstuecks_minmax IS 'Sicht fÃŒr Datenanalyse: Maximale Ausdehnung von ax_flurstueck fuer EXTENT-Angabe im Mapfile.';
 
 -- Nach Laden der Keytables:
@@ -621,6 +119,6 @@
       ON r.land   = d.land 
      AND r.stelle = d.stelle 
-  WHERE r.endet IS NULL
-    AND d.endet IS NULL ;
+  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
@@ -631,7 +129,5 @@
   FROM            ax_flurstueck
   WHERE           endet IS NULL
-  ORDER BY        land, regierungsbezirk, kreis, gemeinde, gemarkungsnummer
-;
-
+  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.';
 
@@ -645,4 +141,5 @@
  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.';
 
 
@@ -651,19 +148,15 @@
 -- Verschluesselte Lagebezeichnung (Strasse und Hausnummer) fuer eine Gemeinde
 -- Schluessel der Gemeinde nach Bedarf anpassen!
-
---  FEHLER: Funktion to_char(character varying, unknown) existiert nicht
-
-
 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 
+        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 
@@ -673,11 +166,10 @@
       ON l.kreis=s.kreis 
      AND l.gemeinde=s.gemeinde 
-     AND l.lage = s.lage        -- ab PostNAS 0.6
-    WHERE     l.gemeinde = 40;  -- "40" = Stadt Lage
-
+     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
@@ -702,12 +194,9 @@
         ON l.kreis=s.kreis 
        AND l.gemeinde=s.gemeinde 
-       AND l.lage = s.lage   -- ab PostNAS 0.6
+       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;
+     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 k t e  (ap_pto)
@@ -815,21 +304,8 @@
      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 
-;
-
+     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
@@ -844,9 +320,6 @@
 
 -- Ã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 
@@ -896,60 +369,46 @@
      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 
-;
-
-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 'alkis_beziehungen zu denen es eine identische neue Version gibt.';
-
-
-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 Delet-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 'alkis_beziehungen zu denen es eine identische neue Version gibt und wo das Objekt noch in der delete-Tabelle vorkommt.';
+     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.';
 
 
@@ -970,9 +429,9 @@
 -- 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;
+--   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 'Nach replace von ax_flurtstueck mit einer neuen ax_buchungsstelle bleibt die alte Verbindung in alkis_beziehungen';
