Index: Version-0.8/import/alkis-functions.sql
===================================================================
--- Version-0.8/import/alkis-functions.sql	(revision 324)
+++ Version-0.8/import/alkis-functions.sql	(revision 326)
@@ -180,7 +180,4 @@
 	EXECUTE sql;
 
---	CREATE UNIQUE INDEX vobjekte_gmlid ON vobjekte(gml_id,beginnt);
---	CREATE INDEX vobjekte_table ON vobjekte(table_name);
-
 	CREATE VIEW vbeziehungen AS
 		SELECT	beziehung_von,(SELECT table_name FROM vobjekte WHERE gml_id=beziehung_von) AS typ_von
@@ -188,10 +185,4 @@
 			,beziehung_zu,(SELECT table_name FROM vobjekte WHERE gml_id=beziehung_zu) AS typ_zu
 		FROM alkis_beziehungen;
-
---	CREATE INDEX vbeziehungen_von    ON vbeziehungen(beziehung_von);
---	CREATE INDEX vbeziehungen_vontyp ON vbeziehungen(typ_von);
---	CREATE INDEX vbeziehungen_art    ON vbeziehungen(beziehungsart);
---	CREATE INDEX vbeziehungen_zu     ON vbeziehungen(beziehung_zu);
---	CREATE INDEX vbeziehungen_zutyp  ON vbeziehungen(typ_zu);
 
 	RETURN 'ALKIS-Views erzeugt.';
@@ -384,48 +375,4 @@
 -- Geaendert 2014-02-03 auf Vorschlag M.B. Krs. Unna
 
-/*
-
--- Diese Version arbeitet nur korrekt, wenn die Spalte gml_id im Format "character(16)" angelegt ist.
-
-CREATE OR REPLACE FUNCTION delete_feature_kill() RETURNS TRIGGER AS $$
-DECLARE
-	query TEXT;
-	begsql TEXT;
-	aktbeg TEXT;
-	gml_id TEXT;
-	query_bez TEXT;
-BEGIN
-	NEW.typename := lower(NEW.typename);
-	NEW.context := lower(NEW.context);
-	gml_id      := substr(NEW.featureid, 1, 16);
-
-	IF NEW.context IS NULL THEN
-		NEW.context := 'delete';
-	END IF;
-
-	IF NEW.context='delete' THEN -- Ersatzloses Loeschen des Objektes
-          -- In der Objekt-Tabelle
-		EXECUTE 'DELETE FROM ' || NEW.typename || ' WHERE gml_id = ''' || gml_id || '''';
-          -- Beziehungen von und zu dem Objekt sind hinfaellig
-		EXECUTE 'DELETE FROM alkis_beziehungen WHERE beziehung_von = ''' || gml_id || ''' OR beziehung_zu = ''' || gml_id || '''';
-		--RAISE NOTICE 'LÃ¶sche gml_id % in % und Beziehungen', gml_id, NEW.typename;
-
-	ELSE -- Ersetzen eines Objektes (Replace). In der Objekt-Tabelle sind jetzt bereits 2 Objekte vorhanden (alt und neu).
-		-- beginnt-Wert des aktuellen Objektes ermitteln
-		begsql := 'SELECT max(beginnt) FROM ' || NEW.typename || ' WHERE gml_id = ''' || substr(NEW.replacedBy, 1, 16) || ''' AND endet IS NULL';
-		EXECUTE begsql INTO aktbeg;
-		-- Alte Objekte entfernen
-		EXECUTE 'DELETE FROM ' || NEW.typename || ' WHERE gml_id = ''' || gml_id || ''' AND beginnt < ''' || aktbeg || '''';
-		-- Beziehungen vom alten Objekt entfernen, die aus frueheren Importen stammen
-		EXECUTE 'DELETE FROM alkis_beziehungen WHERE beziehung_von = ''' || gml_id || ''' AND import_id < (SELECT max(id) FROM import)';
-	END IF;
-
-	NEW.ignored := false;
-	RETURN NEW;
-END;
-$$ LANGUAGE plpgsql;
-
-*/
-
 -- 2014-08-27: Anpassung an vereinheitlichtes Datenbank-Schema.
 -- Wenn die Spalte gml_id im Format "character varying" (ohne LÃ€ngenbegrenzung) angelegt wird,
Index: Version-0.8/import/konv_batch.sh
===================================================================
--- Version-0.8/import/konv_batch.sh	(revision 324)
+++ Version-0.8/import/konv_batch.sh	(revision 326)
@@ -27,12 +27,18 @@
 ##   2012-10-30 Umgebungsvariable setzen, delete-Tabelle am Ende fuer Analyse gefuellt lassen.
 ##              Test als 0.7a mit gepatchter gdal-Version (noch 2.0dev)
-##   2013-10-16 F.J. krz: Neues Script "pp_praesentation_action.sql" für Reparatur der 
-##              Präsentationsobjekte Straßenname im Post-Processing
-##   2013-10-24 F.J. krz: Zwischenlösung "praesentation_action.sql" wieder deaktiviert.
+##   2013-10-16 F.J. krz: Neues Script "pp_praesentation_action.sql" fÃŒr Reparatur der 
+##              PrÃ€sentationsobjekte StraÃenname im Post-Processing
+##   2013-10-24 F.J. krz: ZwischenlÃ¶sung "praesentation_action.sql" wieder deaktiviert.
 ##   2014-01-31 F.J. krz: Import Eintrag erzeugen (nach Vorschlag Marvin Brandt, Unna)
 ##   2014-02-13 A.Emde WhereGroup: EinfÃŒhrung DBUSER, damit im Skript der Datenbankbenutzer angegeben werden kann
-##
+##   2014-05-12 F.J. krz: Unterschiedliche Pfade in Test (TRUNK) und Produktion (Rel. 1.11.0)
+##   2014-06-18 F.J. DB-User nicht "postgres" (in $con). 
+##                   Konverter ind Nacharbeiten sonst mit unterschiedlichem User.
+##                   Abgleich Test/Prod-Version.
+##                   Entfernen der historischen Objekte nach Konvertierung.
+##   2014-08-28 F.J. krz: Parameter "--config PG_USE_COPY YES" zur Beschleunigung 
+
 ## ToDo: Option "-skipfailures" nach Test entfernen ?
-##
+
 ## Koordinaten: EPSG:25832  UTM, Zone 32
 ##              -a_srs EPSG:25832   - bleibt im UTM-System (korrigierte Werte)
@@ -42,7 +48,15 @@
 
 # Konverterpfad
-PATH=/opt/gdal-2.0/bin:$PATH
+
+# TRUNK-Version (immer letzter Stand der Entwicklung)
+  PATH=/opt/gdal-2.0/bin:$PATH
+
+# Release GDAL 1.11.0 vom April 2014
+# PATH=/opt/gdal-1.11/bin:$PATH
+
 EPSG=25832
-DBUSER=postgres
+ 
+#DBUSER=postgres
+DBUSER=b600352
 
 if [ $DBUSER == "" ]
@@ -59,8 +73,8 @@
   OGRPGUSER=" user=${DBUSER}"
 fi
-
-echo "**************************************************"
-echo "**   K o n v e r t i e r u n g     PostNAS 0.7a **"
-echo "**************************************************"
+ 
+echo "**********************************************"
+echo "**   K o n v e r t i e r u n g     PostNAS  **"
+echo "**********************************************"
 ## Parameter:
 ORDNER=$1
@@ -104,7 +118,13 @@
 	fi
 fi
+
+#
 # Fehlerprotokoll:
+#
   errprot=${POSTNAS_HOME}'/log/postnas_err_'$DBNAME'.prot'
-#
+
+  echo "GDAL/PostNAS Konverter-Version:" >> $errprot
+  ogr2ogr --version >> $errprot
+
 # DB-Connection
   con="${PGUSER} -p 5432 -d ${DBNAME} "
@@ -118,5 +138,6 @@
   echo "POSTNAS_HOME ${POSTNAS_HOME}"
   echo " "
-# noch alte delete-Eintraege in DB?
+
+  # noch alte delete-Eintraege in DB?
   echo "Leeren der delete-Tabelle"
   echo 'TRUNCATE table "delete";' | psql $con 
@@ -125,5 +146,5 @@
 # Import Eintrag erzeugen
 #
-# Die dadurch erzeugte Import-ID dient zur Steuerung des Löschens alter Relationen im Trigger. 
+# Die dadurch erzeugte Import-ID dient zur Steuerung des LÃ¶schens alter Relationen im Trigger. 
 # Wird die Datenbank MIT Historie geladen, muss die folgende Zeile auskommentiert werden.
 echo "INSERT INTO import (datum,verzeichnis,importart) VALUES ('"$(date '+%Y-%m-%d %H:%M:%S')"','"${ORDNER}"','"${verarb}"');" | psql $con
@@ -166,4 +187,5 @@
   echo " "
   echo "** Ende Konvertierung Ordner ${ORDNER}"
+
 #
 # Post-Processing / Nacharbeiten
@@ -174,37 +196,41 @@
     # Dies kann sinnvoll sein, wenn mehrere kleine Aktualisierungen hintereinander auf einem grossen Bestand laufen
     # Der Aufwand fuer das Post-Processing ist dann nur bei der LETZTEN Aktualisierung notwendig.
+
   else
+
     echo "** Post-Processing (Nacharbeiten zur Konvertierung)"
 
     echo "** - Optimierte Nutzungsarten neu Laden:"
     (cd $POSTNAS_HOME; psql $con -f nutzungsart_laden.sql)
+ 
     echo "-----------" 
-
-    echo "** - Fluren / Gemarkungen / Gemeinden neu Laden:"
+ 
+    echo "** - Fluren, Gemarkungen, Gemeinden und StraÃen-Namen neu Laden:"
     (cd $POSTNAS_HOME; psql $con -f pp_laden.sql)
 
-
-    # echo "** - Präsentationsobjekte generieren:"
+    # echo "** - PrÃ€sentationsobjekte generieren:"
     # (cd $POSTNAS_HOME; psql $con -f pp_praesentation_action.sql)
 
   fi
-#
+
   if [ "$(readlink $POSTNAS_HOME/alkis-trigger.sql)" = "alkis-trigger-kill.sql" ]; then
-# Durch Einfuegen in Tabelle 'delete' werden Loeschungen anderer Tabellen getriggert
-    echo "** delete-Tabelle enthaelt:"
-    echo 'SELECT COUNT(featureid) AS delete_zeilen FROM "delete";' | psql $con
-    #echo "   delete-Tabelle loeschen:"
-    #echo 'TRUNCATE table "delete";' | psql $con
- # Fuer Analyse-Zwecke sollten die Delete-Eintraege erhalten bleiben bis zum naechsten Lauf.
- # TRUNCATE erfolgt VOR der Konnvertierung.
-#
-# Wenn die Datenbank MIT Historie angelegt wurde, man diese aber gar nicht braucht,
-# dann hinterher aufraeumen der historischen Objekte 
-    #echo "** geendete Objekte entfernen:"
-# Function:
-    #echo 'SELECT alkis_delete_all_endet();' | psql $con
-    #echo "  ... geendete Objekte entfernen wurde fuer Test dektiviert."
-    #echo "  Bitte manuell ausfuehren:  SELECT alkis_delete_all_endet(); "
+
+     # Durch Einfuegen in Tabelle 'delete' werden Loeschungen anderer Tabellen getriggert
+     echo "** delete-Tabelle enthaelt:"
+     psql $con -c 'SELECT COUNT(featureid) AS delete_zeilen FROM "delete";'
+
+     echo "   delete-Tabelle loeschen:"
+     psql $con -c 'TRUNCATE table "delete";'
+
+    # Wenn die Datenbank MIT Historie geladen wurde, man diese aber gar nicht braucht,
+    # dann hinterher aufraeumen der historischen Objekte 
+    echo "** geendete Objekte entfernen:"
+
+    # Function:
+    psql $con -c "SELECT alkis_delete_all_endet();"
+
   fi
+
   echo "Das Fehler-Protokoll wurde ausgegeben in die Datei $errprot"
   #echo "HINWEIS: -skipfailures  fuer Produktion wieder einschalten."
+ 
Index: Version-0.8/import/sichten_wms.sql
===================================================================
--- Version-0.8/import/sichten_wms.sql	(revision 324)
+++ Version-0.8/import/sichten_wms.sql	(revision 326)
@@ -3,5 +3,5 @@
 -- =====
 
---  PostNAS
+--  PostNAS 0.8
 
 --  -----------------------------------------
@@ -24,6 +24,5 @@
 --  2014-02-24 Kein Filter auf advstandardmodell bei FlurstÃŒcks-Zuordnungspfeil
 --  2014-08-26 View "ap_lto_stra" analog "ap_pto_stra" fÃŒr StraÃennamen auf Linien-Geometrie
-
---  2014-08-27 Die Tabelle "alkis_beziehungen" ÃŒberflÃŒssig machen.
+--  2014-08-28 Die Tabelle "alkis_beziehungen" ÃŒberflÃŒssig machen.
 --             Relationen nun direkt ÃŒber neue Spalten in den Objekttabellen. 
 
@@ -38,34 +37,6 @@
 -- Wenn der nicht gefÃŒllt ist, wird statt dessen die Nummer aus der verknÃŒpften Labebezeichnung verwendet.
 
-
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-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;
-
-*/
-
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+-- DROP VIEW IF EXISTS s_hausnummer_gebaeude;
+
 CREATE OR REPLACE VIEW s_hausnummer_gebaeude 
 AS 
@@ -96,24 +67,6 @@
 -- ax_gebaeude  >hat>  ax_lagebezeichnungmitpseudonummer, kein Drehwinkel.
 
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-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 l.endet IS NULL;
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+-- DROP VIEW IF EXISTS lfdnr_nebengebaeude;
+
 CREATE OR REPLACE VIEW lfdnr_nebengebaeude 
 AS 
@@ -131,4 +84,7 @@
 -- GebÃ€ude-Text
 -- ------------
+
+-- DROP VIEW IF EXISTS gebaeude_txt;
+
 CREATE OR REPLACE VIEW gebaeude_txt 
 AS 
@@ -149,25 +105,6 @@
 -- -----------------------
 
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-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;
-
-*/
-
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+-- DROP VIEW IF EXISTS s_zugehoerigkeitshaken_flurstueck;
+
 CREATE OR REPLACE VIEW s_zugehoerigkeitshaken_flurstueck 
 AS 
@@ -188,23 +125,6 @@
 -- -----------------------------------
 
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-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 f.endet IS NULL
-    AND l.endet IS NULL;
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+-- DROP VIEW IF EXISTS s_zuordungspfeil_flurstueck;
+
 CREATE OR REPLACE VIEW s_zuordungspfeil_flurstueck 
 AS 
@@ -221,24 +141,7 @@
   IS 'Sicht fÃŒr Kartendarstellung: Zuordnungspfeil zur FlurstÃŒcksnummer, Liniengeometrie.';
 
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-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 f.endet IS NULL
-    AND l.endet IS NULL;
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+
+-- DROP VIEW IF EXISTS s_zuordungspfeilspitze_flurstueck;
+
 CREATE OR REPLACE VIEW s_zuordungspfeilspitze_flurstueck 
 AS 
@@ -263,24 +166,4 @@
 -- ----------------------------------------------------
 
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-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;
-
-*/
-
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
 CREATE OR REPLACE VIEW s_zuordungspfeil_bodensch
 AS 
@@ -299,27 +182,6 @@
 
 
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-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;
-
-*/
-
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+-- DROP VIEW IF EXISTS s_zuordungspfeilspitze_bodensch;
+ 
 CREATE OR REPLACE VIEW s_zuordungspfeilspitze_bodensch 
 AS 
@@ -348,53 +210,6 @@
 -- Auch Zeilen mit leerem Schriftinhalt verwenden. Das wird im PostProcessing noch ergÃ€nzt. 
 
--- DROP VIEW ap_pto_stra;
-
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-CREATE OR REPLACE VIEW ap_pto_stra 
-AS 
-  SELECT p.ogc_fid,
-         l.gml_id,                               -- wird im PP zum Nachladen aus Katalog gebraucht
-      -- p.advstandardmodell       AS modell,    -- TEST
-      -- 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
-          OR 'DLKM'     = ANY (p.advstandardmodell) -- oder auch Kataster allgemein 
-           -- 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
-         )
-;
-
-*/
-
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+-- DROP VIEW IF EXISTS ap_pto_stra;
+
 CREATE OR REPLACE VIEW ap_pto_stra 
 AS 
@@ -434,51 +249,10 @@
  Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe. Dient im Script pp_laden.sql zum ersten FÃŒllen der Tabelle "pp_strassenname_p".';
 
--- 2013-10-26: Daten aus dem View "ap_pto_stra" werden im PostProcessing gespeichert in den Tabellen "pp_strassenname" und "pp_strassenklas".
+-- Daten aus dem View "ap_pto_stra" werden im PostProcessing gespeichert in den Tabellen "pp_strassenname" und "pp_strassenklas".
 -- Der View ÃŒbernimmt die Auswahl des passenden advstandardmodell und rechnet den Winkel passend um,
 -- In der Tabelle werden dann die leer gebliebenen Label aus dem Katalog noch ergÃ€nzt.
 
--- DROP VIEW ap_lto_stra;
-
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-CREATE OR REPLACE VIEW ap_lto_stra 
-AS 
-  SELECT p.ogc_fid,
-         l.gml_id,                               -- wird im PP zum Nachladen aus Katalog gebraucht
-         p.schriftinhalt,                        -- WMS: LABELITEM
-         p.art,                                  -- WMS: CLASSITEM
-         p.horizontaleausrichtung  AS hor,       -- Verfeinern der Text-Position ..
-         p.vertikaleausrichtung    AS ver,       --  .. durch Klassifizierung hor/ver
-         p.wkb_geometry
-    FROM ap_lto p
-    JOIN alkis_beziehungen v   -- Relation zur Lagebezeichnung o. HsNr.
-      ON p.gml_id = v.beziehung_von
-    JOIN ax_lagebezeichnungohnehausnummer l
-      ON v.beziehung_zu = l.gml_id
-   WHERE  p.endet IS NULL                            -- nichts historisches
-     AND  p.art   IN ('Strasse','Weg','Platz','BezKlassifizierungStrasse') -- Diese Werte als CLASSES in LAYER behandeln. 
-     AND  v.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
-     AND (    'DKKM1000' = ANY (p.advstandardmodell) -- "Lika 1000" bevorzugen
-           OR 'DLKM'     = ANY (p.advstandardmodell) -- oder auch Kataster allgemein?
-           -- Ersatzweise auch "keine Angabe", aber nur wenn es keinen besseren Text zur Lage gibt
-           OR (p.advstandardmodell IS NULL
-               AND (SELECT s.ogc_fid                 -- irgend ein Feld
-                      FROM ap_lto s                  -- eines anderen Textes (suchen)
-                      JOIN alkis_beziehungen vs      -- zur gleichen Lage o.HsNr
-                        ON s.gml_id = vs.beziehung_von
-                      JOIN ax_lagebezeichnungohnehausnummer ls
-                        ON vs.beziehung_zu = ls.gml_id
-                     WHERE ls.gml_id = l.gml_id
-                       AND vs.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
-                       AND NOT s.advstandardmodell IS NULL 
-                     LIMIT 1  -- einer reicht als Beweis
-                   ) IS NULL 
-              ) -- "Subquery IS NULL" liefert true wenn kein weiterer Text gefunden wird
-         )
-;
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+-- DROP VIEW IF EXISTS ap_lto_stra;
+
 CREATE OR REPLACE VIEW ap_lto_stra 
 AS 
@@ -532,45 +306,6 @@
 -- ODER           trennen nach fachlichen Ebenen wie "Nutzung" und "GebÃ€ude" und ....
 
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-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
-         )
-;
-
-*/
-
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+-- DROP VIEW IF EXISTS ap_pto_nam;
+
 CREATE OR REPLACE VIEW ap_pto_nam 
 AS 
@@ -613,14 +348,7 @@
 -- Doppelte Darstellung aufgrund verschiedener "advstandardmodell" zum Objekt unterdrÃŒcken analog ap_pto_stra und ap_pto_nam
 
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-    +++ HIER HIN KOPIEREN  +++
-
-*/
-
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
--- ToDo
-CREATE OR REPLACE VIEW ap_pto_rest 
+-- DROP VIEW IF EXISTS ap_pto_rest;
+
+CREATE OR REPLACE VIEW ap_pto_rest
 AS 
   SELECT p.ogc_fid, 
@@ -630,28 +358,22 @@
          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 
+   WHERE NOT p.schriftinhalt IS NULL
+     AND NOT p.dientzurdarstellungvon IS NULL
      AND p.endet IS NULL
      AND p.art   NOT IN ('PNR','HNR','Strasse','Weg','Platz','BezKlassifizierungStrasse','AOG_AUG') -- 'PNR',
      -- Diese 'IN'-Liste fortschreiben bei Erweiterungen des Mapfiles
      -- 'PNR' = Pseudonummer (lfd.-Nr.-NebengebÃ€ude), Inhalte wie "(1)" oder "P50" - kommt nicht mehr vor, oder?
-    AND  v.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
     AND ('DKKM1000' = ANY (p.advstandardmodell)     -- "Lika 1000" bevorzugen
-           -- Ersatzweise auch "keine Angabe" (nul) akzeptieren, aber nur wenn es keinen besseren Text zu ?irgendwas? gibt
-           -- Es wird hier nur bis zur Verbindungstabelle "alkis_beziehungen" gesucht, ob am anderen Ende die gleiche gml_id verlinkt ist.
-           -- Diese gml_id kÃ¶nnen dann zu verschiedenen, unbekannten Objekttabellen linken.
+           -- Ersatzweise auch "keine Angabe" (null) akzeptieren, aber nur wenn ...
            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 
+               AND ( SELECT s.ogc_fid               -- irgend ein Feld
+                      FROM ap_pto s
+                     WHERE p.dientzurdarstellungvon = s.dientzurdarstellungvon -- gleiches PrÃ€sentationsobj.
+                       AND NOT s.advstandardmodell IS NULL -- Irgend eine Angabe
                      LIMIT 1  -- einer reicht als AusschluÃkriterium
-					) IS NULL 
+                    ) 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.';
@@ -664,29 +386,18 @@
 -- Layer "s_zuordungspfeil_gebaeude"
 -- -----------------------------------
-
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-    +++ HIER HIN KOPIEREN  +++
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
--- ToDo
-
-CREATE OR REPLACE VIEW s_zuordungspfeil_gebaeude 
+-- DROP VIEW IF EXISTS 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
+     ON g.gml_id = ANY(l.dientzurdarstellungvon)
   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.';
@@ -695,15 +406,6 @@
 -- Grenzpunkte
 -- -----------
---  ax_punktortta  >zeigtAuf?> AX_Grenzpunkt
 -- Zum Punktort des Grenzpunktes auch eine Information zur Vermarkung holen
-
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-    +++ HIER HIN KOPIEREN  +++
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
--- ToDo
+-- DROP VIEW IF EXISTS grenzpunkt;
 
 CREATE OR REPLACE VIEW grenzpunkt 
@@ -712,14 +414,11 @@
         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
+        g.abmarkung_marke  -- steuert die Darstellung >9000 = unvermarkt
    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
+     ON o.istteilvon = g.gml_id
+   WHERE 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)';
@@ -735,4 +434,5 @@
   WHERE 3000   = ANY (fg.artderflurstuecksgrenze)
     AND 'DLKM' = ANY (fg.advstandardmodell);
+
 COMMENT ON VIEW sk2012_flurgrenze IS 'Sicht fÃŒr Kartendarstellung: besondere FlurstÃŒcksgrenze "Flurgrenze"';
 
@@ -743,4 +443,5 @@
   WHERE 7003   = ANY (gemag.artderflurstuecksgrenze)
     AND 'DLKM' = ANY (gemag.advstandardmodell);
+
 COMMENT ON VIEW sk2014_gemarkungsgrenze IS 'Sicht fÃŒr Kartendarstellung: besondere FlurstÃŒcksgrenze "Gemarkungsgrenze"';
 
@@ -751,4 +452,5 @@
   WHERE 7102   = ANY (blg.artderflurstuecksgrenze)
     AND 'DLKM' = ANY (blg.advstandardmodell);
+
 COMMENT ON VIEW sk2018_bundeslandgrenze IS 'Sicht fÃŒr Kartendarstellung: besondere FlurstÃŒcksgrenze "Bundeslandgrenze"';
 
@@ -759,4 +461,5 @@
   WHERE 7103   = ANY (rbg.artderflurstuecksgrenze) 
     AND 'DLKM' = ANY (rbg.advstandardmodell);
+
 COMMENT ON VIEW sk2020_regierungsbezirksgrenze IS 'Sicht fÃŒr Kartendarstellung: besondere FlurstÃŒcksgrenze "Regierungsbezirksgrenze"';
 
@@ -767,4 +470,5 @@
   WHERE 7106   = ANY (gemg.artderflurstuecksgrenze) 
     AND 'DLKM' = ANY (gemg.advstandardmodell);
+
 COMMENT ON VIEW sk2022_gemeindegrenze IS 'Sicht fÃŒr Kartendarstellung: besondere FlurstÃŒcksgrenze "Gemeindegrenze"';
 
@@ -817,5 +521,5 @@
      -- so2.bezeichner                     AS sonst2, -- immer leer?
         bs.jahreszahl                                 -- integer
-   FROM ax_bodenschaetzung bs
+   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
@@ -828,4 +532,5 @@
  --LEFT JOIN ax_bodenschaetzung_sonstigeangaben so2 ON bs.sonstigeangaben[2] = so2.wert -- [2] fast nie
    WHERE bs.endet IS NULL;
+
 COMMENT ON VIEW s_bodensch_ent IS 'Sicht fÃŒr Feature-Info: BodenschÃ€tzung, mit Langtexten entschlÃŒsselt';
 
@@ -838,17 +543,17 @@
  SELECT bs.ogc_fid,
         bs.wkb_geometry,
-     -- bs.advstandardmodell,   -- NUR TEST
+     -- 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
+          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)
+          || ' ' ||               -- Zeilenwechsel im Label (UMN: WRAP)
           bs.bodenzahlodergruenlandgrundzahl || '/' ||
           bs.ackerzahlodergruenlandzahl 
-        AS derlabel              -- LABELITEM Umbruch am Blank
-   FROM ax_bodenschaetzung bs
+        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
@@ -859,4 +564,5 @@
           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.';
 
@@ -873,4 +579,5 @@
    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.';
 
@@ -896,7 +603,6 @@
           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
+   FROM ap_pto                                 p
+   JOIN ax_bodenschaetzung                     bs ON bs.gml_id = ANY(p.dientzurdarstellungvon)
    LEFT JOIN ax_bodenschaetzung_kulturart      ka ON bs.kulturart = ka.wert
    LEFT JOIN ax_bodenschaetzung_bodenart       ba ON bs.bodenart  = ba.wert
@@ -906,8 +612,9 @@
    LEFT JOIN ax_bodenschaetzung_entstehungsartoderklimastufe ea2 
           ON bs.entstehungsartoderklimastufewasserverhaeltnisse[2] = ea2.wert 
-  WHERE -- v.beziehungsart = 'dientZurDarstellungVon' AND 
-         p.endet  IS NULL
+  WHERE  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.';
+
+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:
Index: Version-0.8/import/alkis_PostNAS_schema_ohneHist.sql
===================================================================
--- Version-0.8/import/alkis_PostNAS_schema_ohneHist.sql	(revision 324)
+++ Version-0.8/import/alkis_PostNAS_schema_ohneHist.sql	(revision 326)
@@ -4,5 +4,5 @@
 -- *****************************
 --
--- Datenbankstruktur PostNAS 0.7
+-- Datenbankstruktur PostNAS 0.8
 --
 
@@ -14,15 +14,20 @@
 --                Dies setzt voraus, dass als Trigger-Function die Version "kill" eingerichtet wurde.
 
+-- 2014-08-28 FJ: Version 0.8 - zunÃ€chst ÃŒbernommen, aber ...
+--                Mittelfristig ÃŒberlegen, ob "delete_feature_hist" ohne "identifier" auskommt.
+--                Der gleiche SchlÃŒssel steht auch in "gml_id". Dann gnz aus dem Schema entfernen.
 
 -- Die Spalte identifier aus allen Tabellen entfernen.
 -- Dies erledigt eine Function aus "alkis-functions.sql".
--- Diese Spalte wird (ausschlieÃlich?) vom Trigger fÃŒr Historie verwendet.
+-- Diese Spalte wird (ausschlieÃlich) vom Trigger fÃŒr Historie verwendet.
+
 SELECT alkis_drop_all_identifier();
 
 
--- Diese Function kann nun nicht mehr ausgefÃŒhrt werden.
+-- Die Function "delete_feature_hist" kann nun nicht mehr ausgefÃŒhrt werden.
+
 DROP FUNCTION delete_feature_hist();
 
 --
---          THE  (happy)  END
+--      THE  (happy)  END
 --
Index: Version-0.8/import/datenbank_anlegen.sh
===================================================================
--- Version-0.8/import/datenbank_anlegen.sh	(revision 324)
+++ Version-0.8/import/datenbank_anlegen.sh	(revision 326)
@@ -6,11 +6,11 @@
 ##
 ## Stand:
-##  2012-02-10 PostNAS 07, Umbenennung
-##  2013-01-15 Zwischenstopp um Meldungen lesen zu kÃ¶nnen bevor, sie aus dem Scrollbereich verschwinden
-##  2013-04-16 Vers.-Nr. "0.7" aus dem Dateinamen von Schema und Keytable entfernt, sichten_wms.sql
+##  2012-02-10 F.J. krz: PostNAS 07, Umbenennung
+##  2013-01-15 F.J. krz: Zwischenstopp um Meldungen lesen zu kÃ¶nnen bevor, sie aus dem Scrollbereich verschwinden
+##  2013-04-16 F.J. krz: Vers.-Nr. "0.7" aus dem Dateinamen von Schema und Keytable entfernt, sichten_wms.sql
 ##  2013-10-16 F.J. krz: Neues Sript "pp_praesentation_sichten.sql" fÃŒr Reparatur PrÃ€sentationsobjekte StraÃennamen
 ##  2013-12-03 F.J. krz: Script "sichten.sql" einbeziehen. Darin View "doppelverbindung" fuer WMS FS-Kommunal.
 ##  2014-01-31 F.J. krz: Unterschiede der Datenbank-Struktur fÃŒr die Varianten MIT/OHNE Historie.
-##  2014-08-26 F.J. krz: Feinheiten, Kommentare
+##  2014-08-28 F.J. krz: PostNAS 08 - Umbenennung, Feinheiten, Kommentare
 
 POSTNAS_HOME=$(dirname $0)
@@ -48,5 +48,5 @@
 	done
 }
-#
+
 ## aller Laster  ANFANG
 get_db_config;
@@ -88,5 +88,5 @@
 
 echo " 
-** Anlegen der Datenbank-Struktur fuer PostNAS (alkis_PostNAS_0.7_schema.sql)"
+** Anlegen der Datenbank-Struktur fuer PostNAS 0.8 (alkis_PostNAS_schema.sql)"
 psql $con -v alkis_epsg=$EPSG -U ${DBUSER} -f alkis_PostNAS_schema.sql >$MANDANT_HOME/log/schema.log
 
@@ -105,5 +105,5 @@
 
 ## Kommentar zur Datenbank (allgemein)
-psql $con -U ${DBUSER} -c "COMMENT ON DATABASE ${DBNAME} IS 'ALKIS - Konverter PostNAS 0.7';"
+psql $con -U ${DBUSER} -c "COMMENT ON DATABASE ${DBNAME} IS 'ALKIS - Konverter PostNAS 0.8';"
 
 ## Kann man das Ziel des Symlinks abfragen? Wenn Kill, dann ...
@@ -115,6 +115,6 @@
 	## Import-ID: Tabelle und Spalte in "alkis_beziehungen" anlegen
 
-	# psql $con -U ${DBUSER} -f alkis_PostNAS_schema_ohneHist.sql >$MANDANT_HOME/log/schema.log
-	# psql $con -U ${DBUSER} -c "COMMENT ON DATABASE ${DBNAME} IS 'ALKIS - Konverter PostNAS 0.7 - Ohne Historie';"
+	psql $con -U ${DBUSER} -f alkis_PostNAS_schema_ohneHist.sql >$MANDANT_HOME/log/schema.log
+	psql $con -U ${DBUSER} -c "COMMENT ON DATABASE ${DBNAME} IS 'ALKIS - Konverter PostNAS 0.8 - Ohne Historie';"
 
 ## fi
Index: Version-0.8/import/sichten.sql
===================================================================
--- Version-0.8/import/sichten.sql	(revision 324)
+++ Version-0.8/import/sichten.sql	(revision 326)
@@ -30,6 +30,8 @@
 --  2014-01-31 Kommentar
 --  2014-02-06 nachmigration_aehnliche_anschriften
---  2014-08-27 Die Tabelle "alkis_beziehungen" ÃŒberflÃŒssig machen.
+--  2014-08-28 Die Tabelle "alkis_beziehungen" ÃŒberflÃŒssig machen.
 --             Relationen nun direkt ÃŒber neue Spalten in den Objekttabellen. 
+
+     -- IN ARBEIT +++ erst teilweise umgestellt
 
 
@@ -50,30 +52,5 @@
 
 --           DROP VIEW public.doppelverbindung;
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-CREATE OR REPLACE VIEW public.doppelverbindung
-AS
-  SELECT v1.beziehung_von AS fsgml,       -- gml_id auf FlurstÃŒck - Seite
-         v1.beziehung_zu  AS bsgml,       -- gml_id auf Buchungs  - Seite
-      --'direkt' AS fall,
-         0 AS ba_dien
-    FROM alkis_beziehungen v1
-   WHERE v1.beziehungsart = 'istGebucht'  -- FS --> Buchung
- UNION
-  -- Buchungstelle  >an>  Buchungstelle  >istBestandteilVon>  BLATT 
-  SELECT v2.beziehung_von AS fsgml,        -- gml_id auf FlurstÃŒck - Seite
-         an.beziehung_von AS bsgml,        -- gml_id auf Buchungs  - Seite (herrschendes GB)
-      --'Recht an' AS fall,
-         dien.buchungsart AS ba_dien       -- Ein Feld aus der Zwischen-Buchung zur Fall-Unterscheidung
-    FROM alkis_beziehungen v2
-    JOIN ax_buchungsstelle dien
-      ON  v2.beziehung_zu = dien.gml_id
-    JOIN alkis_beziehungen an
-      ON dien.gml_id = an.beziehung_zu
-   WHERE v2.beziehungsart = 'istGebucht'   -- FS --> Buchung
-     AND an.beziehungsart = 'an';
-*/
-
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+
 CREATE OR REPLACE VIEW public.doppelverbindung
 AS
@@ -101,5 +78,4 @@
 
 
-
 -- Ein View, der die Verbindung von FlurstÃŒck zur StraÃentabelle fÃŒr zwei verschiedene FÃ€lle herstellt.
 -- Einmal ÃŒber die Lagebezeichnung MIT Hausnummer und einmal OHNE.
@@ -107,42 +83,5 @@
 
 --           DROP VIEW public.flst_an_strasse;
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-CREATE OR REPLACE VIEW public.flst_an_strasse
-AS
-  SELECT vm.beziehung_von AS fsgml,          -- Join auf "gml_id" aus "ax_flurstÃŒck"
-         sm.gml_id AS stgml,                 -- Filter: gml_id der StraÃe
-      -- sm.gemeinde, sm.lage,               -- Gemeinde- und StraÃenschluessel als Filter?
-         'm' AS fall                         -- SÃ€tze unterschieden: Mit HsNr
-    FROM alkis_beziehungen vm                -- Verbindung Mit
-    JOIN ax_lagebezeichnungmithausnummer lm  -- Lage MIT
-      ON lm.gml_id=vm.beziehung_zu
-     AND vm.beziehungsart= 'weistAuf' 
-    JOIN ax_lagebezeichnungkatalogeintrag sm -- Ausnahmsweise mal direkt und nicht ÃŒber die "alkis_beziehungen"
-      ON lm.land=sm.land 
-     AND lm.regierungsbezirk=sm.regierungsbezirk 
-     AND lm.kreis=sm.kreis 
-     AND lm.gemeinde=sm.gemeinde 
-     AND lm.lage=sm.lage 
- UNION
-  SELECT vo.beziehung_von AS fsgml,          -- Join auf gml_id aus ax_flurstÃŒck
-         so.gml_id AS stgml,                 -- Filter: gml_id der StraÃe
-      -- so.gemeinde, so.lage                -- Gemeinde- und StraÃenschluessel als Filter?
-         'o' AS fall                         -- SÃ€tze unterschieden: Ohne HsNr
-    FROM alkis_beziehungen vo                -- Verbindung OHNE
-    JOIN ax_lagebezeichnungohnehausnummer lo -- Lage OHNE
-      ON lo.gml_id=vo.beziehung_zu
-     AND vo.beziehungsart= 'zeigtAuf' 
-    JOIN ax_lagebezeichnungkatalogeintrag so -- StraÃe OHNE
-      ON lo.land=so.land 
-     AND lo.regierungsbezirk=so.regierungsbezirk 
-     AND lo.kreis=so.kreis 
-     AND lo.gemeinde=so.gemeinde 
-     AND lo.lage=so.lage;
-
-*/
-
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+
 CREATE OR REPLACE VIEW public.flst_an_strasse
 AS
@@ -200,12 +139,4 @@
 /* 
 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-    +++ HIER HIN KOPPIEREN ++++
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
--- +++ ToDo
-
-
 CREATE OR REPLACE VIEW exp_csv
 AS
@@ -311,4 +242,99 @@
            nn.laufendenummernachdin1421;
 
+*/
+-- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+-- +++ ToDo
+
+
+CREATE OR REPLACE VIEW exp_csv
+AS
+ SELECT
+  -- FlurstÃŒck
+    f.gml_id                             AS fsgml,       -- mÃ¶glicher Filter FlurstÃŒcks-GML-ID
+    f.flurstueckskennzeichen             AS fs_kennz,
+    f.gemarkungsnummer,                                  -- Teile des FS-Kennz. noch mal einzeln
+    f.flurnummer, f.zaehler, f.nenner, 
+    f.amtlicheflaeche                    AS fs_flae,
+    g.bezeichnung                        AS gemarkung,
+
+  -- Grundbuch
+    gb.gml_id                            AS gbgml,       -- mÃ¶glicher Filter Grundbuch-GML-ID
+    gb.bezirk                            AS gb_bezirk,
+    gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt,
+    z.bezeichnung                        AS beznam,      -- GB-Bezirks-Name
+
+  -- Buchungsstelle (GrundstÃŒck)
+    s.laufendenummer                     AS bu_lfd,      -- BVNR
+    --s.zaehler, s.nenner,                                -- Anteil des GB am FS, einzelne Felder
+    '=' || s.zaehler || '/' || s.nenner  AS bu_ant,      -- als Excel-Formel (nur bei Wohnungsgrundbuch JOIN ÃŒber 'Recht an')
+    s.buchungsart,                                       -- verschlÃŒsselt
+    b.bezeichner                         AS bu_art,      -- Buchungsart entschlÃŒsselt
+
+  -- NamensNummer (Normalfall mit Person)
+    nn.laufendenummernachdin1421         AS nam_lfd, 
+    '=' || nn.zaehler|| '/' || nn.nenner AS nam_ant,         -- als Excel-Formel
+
+  -- Rechtsgemeinsachaft (Sonderfall von Namensnummer, ohne Person, ohne Nummer)
+    rg.artderrechtsgemeinschaft          AS nam_adr,
+    rg.beschriebderrechtsgemeinschaft    AS nam_bes,
+
+  -- Person
+    p.gml_id                             AS psgml,           -- mÃ¶glicher Filter Personen-GML-ID
+    p.anrede,
+    p.vorname,
+    p.namensbestandteil,
+    p.nachnameoderfirma,                                     -- Familienname
+    p.geburtsdatum,
+    --p.geburtsname, p.akademischergrad 
+ 
+  -- Adresse der Person
+    a.postleitzahlpostzustellung         AS plz,
+    a.ort_post                           AS ort,             -- Anschreifenzeile 1: PLZ+Ort
+    a.strasse,  a.hausnummer,                                -- Anschriftenzeile 2: StraÃe+HsNr
+    a.bestimmungsland                    AS land
+
+  FROM ax_flurstueck    f               -- FlurstÃŒck
+  JOIN doppelverbindung d               -- beide FÃ€lle ÃŒber Union-View: direkt und ÃŒber Recht von Buchung an Buchung
+    ON d.fsgml = f.gml_id 
+  JOIN ax_gemarkung g                   -- entschlÃŒsseln
+    ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 
+  JOIN ax_buchungsstelle s              -- Buchungs-Stelle
+    ON d.bsgml = s.gml_id 
+  JOIN ax_buchungsstelle_buchungsart b  -- EnstschlÃŒsselung der Buchungsart
+    ON s.buchungsart = b.wert 
+  JOIN ax_buchungsblatt  gb             -- Buchung >istBestandteilVon> Grundbuchblatt
+    ON gb.gml_id = s.istbestandteilvon
+  JOIN ax_buchungsblattbezirk z 
+    ON gb.land=z.land AND gb.bezirk=z.bezirk 
+  JOIN ax_namensnummer nn               -- Blatt <istBestandteilVon< NamNum
+    ON gb.gml_id = nn.istbestandteilvon
+  JOIN ax_person p                      -- NamNum >benennt> Person 
+    ON p.gml_id = nn.benennt
+  LEFT JOIN ax_anschrift a 
+    ON a.gml_id = ANY (p.hat)
+
+
+-- +++++ BIS HIER BEARBEITET (28.08.) - "alkis_beziehungen" entfernt - HIER Weiter !!!!
+
+
+  -- 2mal "LEFT JOIN" verdoppelt die Zeile in der Ausgabe. Darum als Subquery:
+  -- Noch mal "GB -> NamNum", aber dieses Mal fÃŒr "Rechtsgemeinschaft".
+  -- Kommt max. 1 mal je GB vor und hat keine Relation auf Person.
+  LEFT JOIN
+   ( SELECT v7.beziehung_zu,
+            rg.artderrechtsgemeinschaft, 
+            rg.beschriebderrechtsgemeinschaft 
+       FROM ax_namensnummer rg 
+       JOIN alkis_beziehungen v7              -- Blatt  --> NamNum (Rechtsgemeinschaft) 
+         ON v7.beziehung_von = rg.gml_id
+      WHERE v7.beziehungsart = 'istBestandteilVon'
+        AND NOT rg.artderrechtsgemeinschaft IS NULL
+   ) AS rg                         -- Rechtsgemeinschaft
+   ON rg.beziehung_zu = gb.gml_id  -- zum GB
+
+  ORDER BY f.flurstueckskennzeichen, 
+           gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer,
+           nn.laufendenummernachdin1421;
+
 COMMENT ON VIEW exp_csv 
  IS 'View fÃŒr einen CSV-Export aus der Buchauskunft mit alkisexport.php. Generelle Struktur. FÃŒr eine bestimmte gml_id noch den Filter setzen.';
@@ -326,11 +352,4 @@
 /* 
 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-    +++ HIER HIN KOPPIEREN ++++
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
--- +++ ToDo
-
 
 CREATE OR REPLACE VIEW exp_csv_str
@@ -443,4 +462,118 @@
            nn.laufendenummernachdin1421;
 
+*/
+-- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+-- +++ ToDo
+
+
+CREATE OR REPLACE VIEW exp_csv_str
+AS
+ SELECT
+    l.stgml,                                             -- Filter: StraÃen-GML-ID
+
+  -- FlurstÃŒck
+    f.gml_id                             AS fsgml,       -- Gruppenwechsel fÃŒr "function lage_zum_fs" in alkisexport.php
+    f.flurstueckskennzeichen             AS fs_kennz,
+    f.gemarkungsnummer,                                  -- Teile des FS-Kennz. noch mal einzeln
+    f.flurnummer, f.zaehler, f.nenner, 
+    f.amtlicheflaeche                    AS fs_flae,
+    g.bezeichnung                        AS gemarkung,
+
+  -- Grundbuch
+  --gb.gml_id                            AS gbgml,       -- mÃ¶glicher Filter Grundbuch-GML-ID
+    gb.bezirk                            AS gb_bezirk,
+    gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt,
+    z.bezeichnung                        AS beznam,      -- GB-Bezirks-Name
+
+  -- Buchungsstelle (GrundstÃŒck)
+    s.laufendenummer                     AS bu_lfd,      -- BVNR
+    --s.zaehler, s.nenner,                                -- Anteil des GB am FS, einzelne Felder
+    '=' || s.zaehler || '/' || s.nenner  AS bu_ant,      -- als Excel-Formel (nur bei Wohnungsgrundbuch JOIN ÃŒber 'Recht an')
+    s.buchungsart,                                       -- verschlÃŒsselt
+    b.bezeichner                         AS bu_art,      -- Buchungsart entschlÃŒsselt
+
+  -- NamensNummer (Normalfall mit Person)
+    nn.laufendenummernachdin1421         AS nam_lfd, 
+    '=' || nn.zaehler|| '/' || nn.nenner AS nam_ant,         -- als Excel-Formel
+
+  -- Rechtsgemeinsachaft (Sonderfall von Namensnummer, ohne Person, ohne Nummer)
+    rg.artderrechtsgemeinschaft          AS nam_adr,
+    rg.beschriebderrechtsgemeinschaft    AS nam_bes,
+
+  -- Person
+  --p.gml_id                             AS psgml,           -- mÃ¶glicher Filter Personen-GML-ID
+    p.anrede,
+    p.vorname,
+    p.namensbestandteil,
+    p.nachnameoderfirma,                                     -- Familienname
+    p.geburtsdatum,
+    --p.geburtsname, p.akademischergrad 
+ 
+  -- Adresse der Person
+    a.postleitzahlpostzustellung         AS plz,
+    a.ort_post                           AS ort,             -- Anschreifenzeile 1: PLZ+Ort
+    a.strasse,  a.hausnummer,                                -- Anschriftenzeile 2: StraÃe+HsNr
+    a.bestimmungsland                    AS land
+
+  FROM ax_flurstueck    f               -- FlurstÃŒck
+
+  JOIN flst_an_strasse  l               -- Lage (hier zusÃ€tzlicher JOIN gegenÃŒber Version "exp_csv") 
+	ON l.fsgml = f.gml_id 
+
+  JOIN doppelverbindung d               -- beide FÃ€lle ÃŒber Union-View: direkt und ÃŒber Recht von Buchung an Buchung
+    ON d.fsgml = f.gml_id 
+
+  JOIN ax_gemarkung g                   -- entschlÃŒsseln
+    ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 
+
+  JOIN ax_buchungsstelle s              -- Buchungs-Stelle
+    ON d.bsgml = s.gml_id 
+  JOIN ax_buchungsstelle_buchungsart b  -- EnstschlÃŒsselung der Buchungsart
+    ON s.buchungsart = b.wert 
+
+  JOIN alkis_beziehungen v3             -- Buchung --> Grundbuchblatt
+    ON s.gml_id = v3.beziehung_von AND v3.beziehungsart = 'istBestandteilVon'
+  JOIN ax_buchungsblatt  gb 
+    ON v3.beziehung_zu = gb.gml_id 
+
+  JOIN ax_buchungsblattbezirk z 
+    ON gb.land=z.land AND gb.bezirk=z.bezirk 
+
+  JOIN alkis_beziehungen v4             -- Blatt  --> NamNum
+    ON v4.beziehung_zu = gb.gml_id AND v4.beziehungsart = 'istBestandteilVon'  
+  JOIN ax_namensnummer nn 
+    ON v4.beziehung_von = nn.gml_id
+
+  JOIN alkis_beziehungen v5             -- NamNum --> Person 
+   -- 2014-01-20: Mit LEFT ab hier werden auch NumNum-Zeilen mit "Beschreibung der Rechtsgemeinschaft" geliefert (ohne Person)
+    ON v5.beziehung_von = nn.gml_id AND v5.beziehungsart = 'benennt'
+  JOIN ax_person p
+    ON v5.beziehung_zu = p.gml_id
+
+  LEFT JOIN alkis_beziehungen v6        -- Person --> Anschrift
+    ON v6.beziehung_von = p.gml_id AND v6.beziehungsart = 'hat' 
+  LEFT JOIN ax_anschrift a 
+    ON v6.beziehung_zu = a.gml_id
+
+  -- 2mal "LEFT JOIN" verdoppelt die Zeile in der Ausgabe. Darum als Subquery:
+
+  -- Noch mal "GB -> NamNum", aber dieses Mal fÃŒr "Rechtsgemeinschaft".
+  -- Kommt max. 1 mal je GB vor und hat keine Relation auf Person.
+  LEFT JOIN
+   ( SELECT v7.beziehung_zu,
+            rg.artderrechtsgemeinschaft, 
+            rg.beschriebderrechtsgemeinschaft 
+       FROM ax_namensnummer rg 
+       JOIN alkis_beziehungen v7              -- Blatt  --> NamNum (Rechtsgemeinschaft) 
+         ON v7.beziehung_von = rg.gml_id
+      WHERE v7.beziehungsart = 'istBestandteilVon'
+        AND NOT rg.artderrechtsgemeinschaft IS NULL
+   ) AS rg                         -- Rechtsgemeinschaft
+   ON rg.beziehung_zu = gb.gml_id  -- zum GB
+
+  ORDER BY f.flurstueckskennzeichen, 
+           gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer,
+           nn.laufendenummernachdin1421;
+
 COMMENT ON VIEW exp_csv_str 
  IS 'View fÃŒr einen CSV-Export aus der Buchauskunft mit alkisexport.php. Liefert nur FlurstÃŒcke, die eine Lagebezeichnung MIT/OHNE Hausnummer haben. Dazu noch den Filter auf GML-ID der StraÃentabelle setzen.';
@@ -460,11 +593,4 @@
 /* 
 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-    +++ HIER HIN KOPPIEREN ++++
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
--- +++ ToDo
-
 
 CREATE OR REPLACE VIEW rechtsgemeinschaften_zum_grundbuch
@@ -485,18 +611,30 @@
            nn.laufendenummernachdin1421;
 
-COMMENT ON VIEW rechtsgemeinschaften_zum_grundbuch 
- IS 'Rechtsgemeinschaften zum Grundbuchblatt.';
-
--- Schritt 2: Wo gibt es mehrere zu einem GB-Blatt
-
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-    +++ HIER HIN KOPPIEREN ++++
-
 */
 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
 -- +++ ToDo
 
+
+CREATE OR REPLACE VIEW rechtsgemeinschaften_zum_grundbuch
+AS
+ SELECT
+     gb.gml_id,
+     gb.bezirk,
+     gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt,
+     nn.artderrechtsgemeinschaft,
+     nn.beschriebderrechtsgemeinschaft
+  FROM ax_buchungsblatt  gb 
+  JOIN alkis_beziehungen v
+    ON v.beziehung_zu = gb.gml_id AND v.beziehungsart = 'istBestandteilVon'  
+  JOIN ax_namensnummer nn 
+    ON v.beziehung_von = nn.gml_id
+  WHERE NOT nn.artderrechtsgemeinschaft IS NULL
+  ORDER BY gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung,
+           nn.laufendenummernachdin1421;
+
+COMMENT ON VIEW rechtsgemeinschaften_zum_grundbuch 
+ IS 'Rechtsgemeinschaften zum Grundbuchblatt.';
+
+-- Schritt 2: Wo gibt es mehrere zu einem GB-Blatt
 CREATE OR REPLACE VIEW rechtsgemeinschaften_zaehlen
 AS
@@ -512,14 +650,4 @@
 
 -- Schritt 3: alle vorhandenen Zeilen anzeigen zu den GB-BlÃ€ttern, bei denen es mehrere gibt.
-
-/* 
--- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-    +++ HIER HIN KOPPIEREN ++++
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
--- +++ ToDo
-
 CREATE OR REPLACE VIEW rechtsgemeinschaften_mehrfachzeilen
 AS
@@ -565,4 +693,5 @@
      AND p.endet IS NULL
      AND p.art IN ('AOG_AUG','PNR');
+
 COMMENT ON VIEW ap_pto_muell 
  IS 'Datenanalyse: Beschriftungen aus "ap_pto", die NICHT dargestellt werden sollen.';
@@ -584,11 +713,4 @@
 /* 
 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-    +++ HIER HIN KOPPIEREN ++++
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
--- +++ ToDo
-
 
 CREATE OR REPLACE VIEW flstnr_ohne_position
@@ -603,5 +725,24 @@
 --ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler
   ;
+
+*/
+-- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+-- +++ ToDo
+
+
+CREATE OR REPLACE VIEW flstnr_ohne_position
+AS 
+ SELECT f.gml_id, 
+        f.gemarkungsnummer || '-' || f.flurnummer || '-' || f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS such -- Suchstring fÃŒr ALKIS-Navigation nach FS-Kennzeichen
+ FROM        ax_flurstueck     f 
+   LEFT JOIN alkis_beziehungen v  ON v.beziehung_zu = f.gml_id
+ --LEFT JOIN ap_pto            p  ON p.gml_id       = v.beziehung_von
+  WHERE v.beziehungsart is NULL
+    AND f.endet IS NULL
+--ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler
+  ;
+
 COMMENT ON VIEW flstnr_ohne_position IS 'Sicht fÃŒr Datenanalyse: FlurstÃŒcke ohne manuell gesetzte Position fÃŒr die PrÃ€sentation der FS-Nr';
+
 
 -- Umbruch im Label? z.B. "Schwimm-/nbecken"
@@ -613,4 +754,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.';
@@ -624,4 +766,5 @@
    FROM ax_flurstueck f
    WHERE f.endet IS NULL;
+
 COMMENT ON VIEW flurstuecks_minmax 
  IS 'Sicht fÃŒr Datenanalyse: Maximale Ausdehnung von ax_flurstueck fuer EXTENT-Angabe im Mapfile.';
@@ -647,4 +790,5 @@
      AND r.stelle = d.stelle 
   WHERE r.endet IS NULL AND d.endet IS NULL ;
+
 COMMENT ON VIEW baurecht 
  IS 'Datenanalyse: EnstschlÃŒsselte Felder zu einer FlÃ€che des Baurechts.';
@@ -658,4 +802,5 @@
   WHERE           endet IS NULL
   ORDER BY        land, regierungsbezirk, kreis, gemeinde, gemarkungsnummer;
+
 COMMENT ON VIEW gemarkung_in_gemeinde 
  IS 'Welche Gemarkung liegt in welcher Gemeinde? Durch Verweise aus FlurstÃŒck.';
@@ -670,4 +815,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.';
 
@@ -697,4 +843,5 @@
      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.';
 
@@ -704,10 +851,4 @@
 /* 
 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-    +++ HIER HIN KOPPIEREN ++++
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
--- +++ ToDo
 
 CREATE OR REPLACE VIEW adressen_zum_flurstueck
@@ -737,4 +878,36 @@
        AND l.gemeinde = 40  -- "40" = Stadt Lage
      ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;
+
+*/
+-- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+-- +++ ToDo
+
+CREATE OR REPLACE VIEW adressen_zum_flurstueck
+AS
+    SELECT
+           f.gemarkungsnummer, 
+           f.flurnummer, 
+           f.zaehler, 
+           f.nenner,
+           g.bezeichnung AS gemeindename, 
+           s.bezeichnung AS strassenname, 
+           l.lage        AS strassenschluessel, 
+           l.hausnummer 
+      FROM   ax_flurstueck f 
+      JOIN   alkis_beziehungen v 
+        ON f.gml_id=v.beziehung_von
+      JOIN   ax_lagebezeichnungmithausnummer l  
+        ON l.gml_id=v.beziehung_zu
+      JOIN   ax_gemeinde g 
+        ON l.kreis=g.kreis 
+       AND l.gemeinde=g.gemeinde 
+      JOIN   ax_lagebezeichnungkatalogeintrag s 
+        ON l.kreis=s.kreis 
+       AND l.gemeinde=s.gemeinde 
+       AND l.lage = s.lage
+     WHERE v.beziehungsart='weistAuf'
+       AND l.gemeinde = 40  -- "40" = Stadt Lage
+     ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;
+
 COMMENT ON VIEW adressen_zum_flurstueck IS 'Datenanalyse: Zuordnung von Adressen zu Flurstuecken. SchlÃŒssel der Gemeinde nach Bedarf anpassen.';
 
@@ -809,10 +982,4 @@
 /* 
 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-    +++ HIER HIB KOPIEREN +++
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
--- +++ ToDo
 
 CREATE OR REPLACE VIEW flurstuecke_eines_eigentuemers 
@@ -857,4 +1024,52 @@
      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;
+
+
+*/
+-- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+-- +++ ToDo
+
+CREATE OR REPLACE VIEW flurstuecke_eines_eigentuemers 
+AS 
+   SELECT 
+      k.bezeichnung                AS gemarkung, 
+      k.gemarkungsnummer           AS gemkg_nr, 
+      f.flurnummer                 AS flur, 
+      f.zaehler                    AS fs_zaehler, 
+      f.nenner                     AS fs_nenner, 
+      f.amtlicheflaeche            AS flaeche, 
+      f.wkb_geometry               AS geom,  -- fuer Export als Shape
+   -- g.bezirk, 
+      b.bezeichnung                AS bezirkname,
+      g.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt, 
+      g.blattart, 
+      s.laufendenummer             AS bvnr, 
+      art.bezeichner               AS buchgsart, 
+   -- s.zaehler || '/' || s.nenner AS buchg_anteil, 
+      n.laufendenummernachdin1421  AS name_num, 
+   -- n.zaehler || '/' || n.nenner AS nam_anteil, 
+      p.nachnameoderfirma          AS nachname --, 
+   -- p.vorname 
+   FROM       ax_person              p
+        JOIN  alkis_beziehungen      bpn  ON bpn.beziehung_zu  = p.gml_id 
+        JOIN  ax_namensnummer        n    ON bpn.beziehung_von =n.gml_id 
+        JOIN  alkis_beziehungen      bng  ON n.gml_id = bng.beziehung_von 
+        JOIN  ax_buchungsblatt       g    ON bng.beziehung_zu = g.gml_id 
+        JOIN  ax_buchungsblattbezirk b    ON g.land = b.land AND g.bezirk = b.bezirk 
+        JOIN  alkis_beziehungen      bgs  ON bgs.beziehung_zu = g.gml_id 
+        JOIN  ax_buchungsstelle      s    ON s.gml_id = bgs.beziehung_von 
+        JOIN  ax_buchungsstelle_buchungsart art ON s.buchungsart = art.wert 
+        JOIN  alkis_beziehungen      bsf  ON bsf.beziehung_zu = s.gml_id
+        JOIN  ax_flurstueck          f    ON f.gml_id = bsf.beziehung_von 
+        JOIN  ax_gemarkung           k    ON f.land = k.land AND f.gemarkungsnummer = k.gemarkungsnummer 
+   WHERE p.nachnameoderfirma LIKE 'Gemeinde %'   -- ** Bei Bedarf anpassen!
+     AND bpn.beziehungsart = 'benennt'           -- Namennummer     >> Person
+     AND bng.beziehungsart = 'istBestandteilVon' -- Namensnummer    >> Grundbuch
+     AND bgs.beziehungsart = 'istBestandteilVon' -- Buchungs-Stelle >> Grundbuch
+     AND bsf.beziehungsart = 'istGebucht'        -- Flurstueck      >> Buchungs-Stelle
+     AND p.endet IS NULL AND n.endet IS NULL AND g.endet IS NULL AND b.endet IS NULL
+     AND s.endet IS NULL AND f.endet IS NULL AND k.endet IS NULL
+   ORDER BY k.bezeichnung, f.flurnummer, f.zaehler, f.nenner, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;
+
 COMMENT ON VIEW flurstuecke_eines_eigentuemers IS 'Muster fÃŒr Export: Suchkriteriumnach Bedarf anpassen.';
 
@@ -876,10 +1091,4 @@
 /* 
 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-
-    +++ HIER HIN KOIEREN
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
 
 CREATE OR REPLACE VIEW rechte_eines_eigentuemers 
@@ -932,4 +1141,59 @@
      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;
+
+
+*/
+-- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+
+CREATE OR REPLACE VIEW rechte_eines_eigentuemers 
+AS
+   SELECT 
+      k.bezeichnung                AS gemarkung, 
+      k.gemarkungsnummer           AS gemkg_nr, 
+      f.flurnummer                 AS flur, 
+      f.zaehler                    AS fs_zaehler, 
+      f.nenner                     AS fs_nenner, 
+      f.amtlicheflaeche            AS flaeche, 
+      f.wkb_geometry               AS geom,  -- fuer Export als Shape
+   -- g.bezirk, 
+      b.bezeichnung                AS bezirkname,
+      g.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt, 
+   -- g.blattart, 
+      sh.laufendenummer            AS bvnr_herr, 
+      sh.zaehler || '/' || sh.nenner AS buchg_anteil_herr, 
+      arth.bezeichner              AS buchgsa_herr, 
+      bss.beziehungsart            AS bez_art,
+      artd.bezeichner              AS buchgsa_dien, 
+      sd.laufendenummer            AS bvnr_dien, 
+   -- sd.zaehler || '/' || sd.nenner AS buchg_anteil_dien,
+      n.laufendenummernachdin1421  AS name_num, 
+   -- n.zaehler || '/' || n.nenner AS nam_anteil, 
+      p.nachnameoderfirma          AS nachname --,  
+   -- p.vorname 
+   FROM       ax_person              p
+        JOIN  alkis_beziehungen      bpn  ON bpn.beziehung_zu  = p.gml_id 
+        JOIN  ax_namensnummer        n    ON bpn.beziehung_von =n.gml_id 
+        JOIN  alkis_beziehungen      bng  ON n.gml_id = bng.beziehung_von 
+        JOIN  ax_buchungsblatt       g    ON bng.beziehung_zu = g.gml_id 
+        JOIN  ax_buchungsblattbezirk b    ON g.land = b.land AND g.bezirk = b.bezirk 
+        JOIN  alkis_beziehungen      bgs  ON bgs.beziehung_zu = g.gml_id 
+        JOIN  ax_buchungsstelle      sh   ON sh.gml_id = bgs.beziehung_von  -- herrschende Buchung
+        JOIN  ax_buchungsstelle_buchungsart arth ON sh.buchungsart = arth.wert 
+        JOIN  alkis_beziehungen      bss  ON sh.gml_id = bss.beziehung_von
+        JOIN  ax_buchungsstelle      sd   ON sd.gml_id = bss.beziehung_zu   -- dienende Buchung
+        JOIN  ax_buchungsstelle_buchungsart artd ON sd.buchungsart = artd.wert 
+        JOIN  alkis_beziehungen      bsf  ON bsf.beziehung_zu = sd.gml_id
+        JOIN  ax_flurstueck          f    ON f.gml_id = bsf.beziehung_von 
+        JOIN  ax_gemarkung           k    ON f.land = k.land AND f.gemarkungsnummer = k.gemarkungsnummer 
+   WHERE p.nachnameoderfirma LIKE 'Stadt %'   -- ** Bei Bedarf anpassen!
+     AND bpn.beziehungsart = 'benennt'           -- Namennummer     >> Person
+     AND bng.beziehungsart = 'istBestandteilVon' -- Namensnummer    >> Grundbuch
+     AND bgs.beziehungsart = 'istBestandteilVon' -- B-Stelle herr   >> Grundbuch
+     AND bss.beziehungsart in ('an','zu')        -- B-Stelle herr.  >> B-Stelle dien.
+     AND bsf.beziehungsart = 'istGebucht'        -- Flurstueck      >> B-Stelle dien
+     AND p.endet IS NULL AND n.endet IS NULL AND g.endet IS NULL AND b.endet IS NULL
+     AND sh.endet IS NULL AND sd.endet IS NULL AND f.endet IS NULL AND k.endet IS NULL
+   ORDER BY k.bezeichnung, f.flurnummer, f.zaehler, f.nenner, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung, sh.laufendenummer;
+
 COMMENT ON VIEW rechte_eines_eigentuemers IS 'Muster fÃŒr Export: Suchkriteriumnach Bedarf anpassen. Dies ergÃ€nzt "flurstuecke_eines_eigentuemers" um die FÃ€lle mit besonderen Buchungen.';
 
@@ -981,10 +1245,4 @@
 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
 
-    +++ HIER HIN KOPPIEREN ++++
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
--- +++ ToDo
-
 CREATE OR REPLACE VIEW mehrfache_buchung_zu_fs
 AS
@@ -997,4 +1255,18 @@
   HAVING count(b.ogc_fid) > 1;
 
+*/
+-- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+-- +++ ToDo
+
+CREATE OR REPLACE VIEW mehrfache_buchung_zu_fs
+AS
+  SELECT f.gml_id, count(b.ogc_fid) AS anzahl
+    FROM ax_flurstueck f
+    JOIN alkis_beziehungen b
+      ON f.gml_id = b.beziehung_von 
+  WHERE b.beziehungsart = 'istGebucht'
+  GROUP BY f.gml_id
+  HAVING count(b.ogc_fid) > 1;
+
 -- Noch einfacher? - Auch ohne JOIN wird das selbe Ergebnis geliefert.
 -- Doppelte Verweise zÃ€hlen ohne zu prÃŒfen, ob die gml_id in ax_flurstueck existiert.
@@ -1043,9 +1315,4 @@
 /* 
 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-    +++ HIER HIN +++
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
 
 CREATE OR REPLACE VIEW adressen_zu_gebauede_mit_mehreren_hausnummern
@@ -1064,4 +1331,22 @@
    HAVING count(l.gml_id) > 1);
 
+*/
+-- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+
+CREATE OR REPLACE VIEW adressen_zu_gebauede_mit_mehreren_hausnummern
+AS
+ SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer -- Anzeige der Adressfelder
+ FROM ax_gebaeude g1
+   JOIN alkis_beziehungen b ON b.beziehung_von = g1.gml_id
+   JOIN ax_lagebezeichnungmithausnummer l ON b.beziehung_zu = l.gml_id
+  WHERE b.beziehungsart = 'zeigtAuf' AND g1.gml_id IN -- Subquery sucht GebÃ€ude mit meherern Hausnummen
+   (SELECT g2.gml_id 
+    FROM ax_gebaeude g2
+    JOIN alkis_beziehungen b ON b.beziehung_von = g2.gml_id
+    JOIN ax_lagebezeichnungmithausnummer l ON b.beziehung_zu = l.gml_id
+   WHERE b.beziehungsart = 'zeigtAuf'
+   GROUP BY g2.gml_id 
+   HAVING count(l.gml_id) > 1);
+
 COMMENT ON VIEW adressen_zu_gebauede_mit_mehreren_hausnummern
  IS 'GebÃ€ude mit mehreren Hausnummern suchen (ist erlaubt) und dazu die Adressen anzeigen.';
@@ -1135,9 +1420,4 @@
 /* 
 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-    +++ HIER HIN KOPIEREN  +++
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
 
 CREATE OR REPLACE VIEW strasse_als_gewanne
@@ -1162,4 +1442,28 @@
   ;
 
+*/
+-- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+
+CREATE OR REPLACE VIEW strasse_als_gewanne
+AS
+  SELECT k.gemeinde, k.lage AS strassenschluessel,
+      -- k.bezeichnung      AS strassenname,
+         o.unverschluesselt AS gewanne,
+         count(fo.gml_id) AS anzahl_fs_gewanne
+  FROM ax_lagebezeichnungkatalogeintrag k   -- StraÃentabelle
+  JOIN ax_lagebezeichnungohnehausnummer o   -- Gewanne
+    ON k.bezeichnung = o.unverschluesselt   -- Gleiche Namen
+  -- Join Gewanne auf FlurstÃŒcke um nur solche FÃ€lle anzuzeigen, die verwendet werden 
+  -- UND die auch in der gleichen Gemeinde liegen.
+  -- Sonst kÃ¶nnte zufÃ€llige Namensgleichheiten aus verschiedenen Gemeinden geben. 
+  JOIN alkis_beziehungen vo
+    ON o.gml_id=vo.beziehung_zu AND vo.beziehungsart= 'zeigtAuf' 
+  JOIN ax_flurstueck fo
+    ON fo.gml_id=vo.beziehung_von
+ WHERE fo.gemeinde = k.gemeinde  -- Gewanne wird fÃŒr ein Flst. in gleicher Gemeinde verwendet, wie der StraÃenschlÃŒssel
+  GROUP BY k.gemeinde, k.lage, o.unverschluesselt --, k.bezeichnung
+  ORDER BY k.gemeinde, k.lage, o.unverschluesselt --, k.bezeichnung
+  ;
+
 COMMENT ON VIEW strasse_als_gewanne
  IS 'Gewannenbezeichnungen, die auch als StraÃenname verwendet werden. Mit FlurstÃŒcks-ZÃ€hler.';
@@ -1171,9 +1475,4 @@
 /* 
 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-    +++ HIER HIN KOPIEREN  +++
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
 
 CREATE OR REPLACE VIEW strasse_als_gewanne_flst
@@ -1195,4 +1494,25 @@
   ORDER BY fo.gemarkungsnummer, fo.flurnummer, fo.zaehler, k.gemeinde, k.bezeichnung;
 
+*/
+-- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+
+CREATE OR REPLACE VIEW strasse_als_gewanne_flst
+AS
+  SELECT -- fo.gml_id, 
+         fo.gemarkungsnummer || '-' || fo.flurnummer || '-' || fo.zaehler::text || COALESCE ('/' || fo.nenner::text, '') AS flstkennz,
+         k.gemeinde, 
+         o.unverschluesselt AS gewanne,
+      -- k.bezeichnung AS strassenname,
+         k.lage        -- AS strassen_schluessel
+  FROM ax_lagebezeichnungkatalogeintrag k   -- StraÃentabelle
+  JOIN ax_lagebezeichnungohnehausnummer o   -- Gewanne
+    ON k.bezeichnung = o.unverschluesselt   -- Gleiche Namen 
+  JOIN alkis_beziehungen vo
+    ON o.gml_id=vo.beziehung_zu AND vo.beziehungsart= 'zeigtAuf' 
+  JOIN ax_flurstueck fo
+    ON fo.gml_id=vo.beziehung_von
+ WHERE fo.gemeinde = k.gemeinde  -- Gewanne wird fÃŒr ein Flst. in gleicher Gemeinde verwendet, wie der StraÃenschlÃŒssel
+  ORDER BY fo.gemarkungsnummer, fo.flurnummer, fo.zaehler, k.gemeinde, k.bezeichnung;
+
 COMMENT ON VIEW strasse_als_gewanne_flst
  IS 'FlurstÃŒcke mit Gewannenbezeichnungen, die auch als StraÃenname verwendet werden.';
@@ -1206,9 +1526,4 @@
 /* 
 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":
-
-    +++ HIER HIN KOPIEREN  +++
-
-*/
--- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
 
 CREATE OR REPLACE VIEW nachmigration_aehnliche_anschriften
@@ -1230,4 +1545,25 @@
     ORDER BY p.nachnameoderfirma, p.vorname;
 
+*/
+-- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":
+
+CREATE OR REPLACE VIEW nachmigration_aehnliche_anschriften
+AS
+  SELECT DISTINCT p.gml_id, p.nachnameoderfirma, p.vorname, 
+        a1.ort_post, a1.strasse AS strasse1, a2.strasse AS strasse2, a1.hausnummer
+     -- , b1.import_id AS import1, b2.import_id AS import2
+    FROM ax_person         p
+    JOIN alkis_beziehungen b1 ON b1.beziehung_von=p.gml_id
+    JOIN ax_anschrift      a1 ON a1.gml_id=b1.beziehung_zu
+    JOIN alkis_beziehungen b2 ON b2.beziehung_von=p.gml_id
+    JOIN ax_anschrift      a2 ON a2.gml_id=b2.beziehung_zu
+    WHERE b1.beziehungsart='hat' 
+      AND b2.beziehungsart='hat'
+      AND a1.gml_id    <>  a2.gml_id
+      AND a1.ort_post   =  a2.ort_post
+      AND a1.strasse    like trim(a2.strasse, '.') || '%'
+      AND a1.hausnummer =  a2.hausnummer
+    ORDER BY p.nachnameoderfirma, p.vorname;
+
 COMMENT ON VIEW nachmigration_aehnliche_anschriften
  IS 'Zu einer Person gibt es mehrere Anschriften, die in Ort und Hausnummer identisch sind und beim StraÃennemen entweder auch identisch sind oder eine AbkÃŒrzung mit Punkt enthalten.';
Index: Version-0.8/import/alkis_Patch.sql
===================================================================
--- Version-0.8/import/alkis_Patch.sql	(revision 324)
+++ 	(revision )
@@ -1,539 +1,0 @@
-
--- ALKIS-Datenbank aus dem Konverter PostNAS 0.7
-
--- Gezielte Aktualisierung der Datenbank durch die "letzten Ãnderungen"
-
---  2013-04-17  F.J. Kurzbezeichnungen der BodenschÃ€tzung fÃŒr die Kartendarstellung
-
-  SET client_encoding = 'UTF8';
-
--- AbhÃ€ngigkeiten / bei Wiederholung:
--- 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_entstehung PRIMARY KEY (wert)
-  );
-
-COMMENT ON TABLE ax_bodenschaetzung_entstehungsartoderklimastufe
- IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bodenschaetzung", Feld "entstehungsartoderklimastufe".';
-
-COMMENT ON COLUMN ax_bodenschaetzung_entstehungsartoderklimastufe.wert       IS 'numerischer SchlÃŒssel';
-COMMENT ON COLUMN ax_bodenschaetzung_entstehungsartoderklimastufe.kurz       IS 'KÃŒrzel, Kartenanzeige';
-COMMENT ON COLUMN ax_bodenschaetzung_entstehungsartoderklimastufe.bezeichner IS 'Lange Bezeichnung';
-
-
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(1000,'D',   'Diluvium (D)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(1100,'DAl', 'Diluvium ÃŒber Alluvium (DAl)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(1200,'DLÃ¶', 'Diluvium ÃŒber LÃ¶Ã (DLÃ¶)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(1300,'DV',  'Diluvium ÃŒber Verwitterung (DV)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(1400,'Dg',  'Diluvium, gesteinig (Dg)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(1410,'DgAl','Diluvium, gesteinig ÃŒber Alluvium (DgAl)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(1420,'DgLÃ¶','Diluvium, gesteinig ÃŒber LÃ¶Ã (DgLÃ¶)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(1430,'DgV', 'Diluvium, gesteinig ÃŒber Verwitterung (DgV)');
-
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(2000,'LÃ¶',  'LÃ¶Ã (LÃ¶)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(2100,'LÃ¶D', 'LÃ¶Ã ÃŒber Diluvium (LÃ¶D)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(2110,'LÃ¶Dg','LÃ¶Ã, Diluvium, GesteinsbÃ¶den (LÃ¶Dg)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(2120,'LÃ¶DV','LÃ¶Ã, Diluvium, Verwitterung (LÃ¶DV)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(2200,'LÃ¶Al','LÃ¶Ã ÃŒber Alluvium (LÃ¶Al)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(2300,'LÃ¶V', 'LÃ¶Ã ÃŒber Verwitterung (LÃ¶V)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(2310,'LÃ¶Vg','LÃ¶Ã, Verwitterung, GesteinsbÃ¶den (LÃ¶Vg)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(2400,'LÃ¶Vg','LÃ¶Ã ÃŒber Verwitterung, gesteinig (LÃ¶Vg)');
-
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3000,'Al',  'Alluvium (Al)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3100,'AlD', 'Alluvium ÃŒber Diluvium (AlD)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3200,'AlLÃ¶','Alluvium ÃŒber LÃ¶Ã (AlLÃ¶)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3300,'AlV', 'Alluvium ÃŒber Verwitterung (AlV)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3400,'Alg', 'Alluvium, gesteinig (Alg)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3410,'AlgD','Alluvium, gesteinig ÃŒber Diluvium (AlgD)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3420,'AlgLÃ¶','Alluvium, gesteinig ÃŒber LÃ¶Ã (AlgLÃ¶)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3430,'AlgV','Alluvium, gesteinig ÃŒber Verwitterung (AlgV)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3500,'AlMa','Alluvium, Marsch (AlMa)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3610,'AlMo','Alluvium, Moor (AlMo)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3620,'MoAI','Moor, Alluvium (MoAI)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(3700,'Me',  'Mergel (Me)');
-
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(4000,'V',   'Verwitterung (V)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(4100,'VD',  'Verwitterung ÃŒber Diluvium (VD)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(4200,'VAl', 'Verwitterung ÃŒber Alluvium (VAl)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(4300,'VLÃ¶', 'Verwitterung ÃŒber LÃ¶Ã (VLÃ¶)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(4400,'Vg',  'Verwitterung, GesteinsbÃ¶den (Vg)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(4410,'VgD', 'Verwitterung, GesteinsbÃ¶den ÃŒber Diluvium (VgD)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(5000,'-',   'Entstehungsart nicht erkennbar (-)');
-
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(6100,'a',   'Klimastufe 8Â° C und darÃŒber (a)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(6200,'b',   'Klimastufe 7,9Â° - 7,0Â° C (b)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(6300,'c',   'Klimastufe 6,9Â° - 5,7Â° C (c)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(6400,'d',   'Klimastufe 5,6Â° C und darunter (d)');
-
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7100,'1',   'Wasserstufe (1)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7200,'2',   'Wasserstufe (2)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7300,'3',   'Wasserstufe (3)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7400,'4',   'Wasserstufe (4)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7410,'4-',  'Wasserstufe (4-)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7500,'5',   'Wasserstufe (5)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7510,'5-',  'Wasserstufe (5-)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7520,'3-',  'Wasserstufe (3-)');
-INSERT INTO ax_bodenschaetzung_entstehungsartoderklimastufe (wert, kurz, bezeichner) VALUES(7530,'3+4', 'Wasserstufe (3+4)');
-
-
--- B o d e n s c h a e t z u n g   -  sonstige Angaben
--- ----------------------------------------------------------------------------------------
---DROP TABLE ax_bodenschaetzung_sonstigeangaben;
-CREATE TABLE ax_bodenschaetzung_sonstigeangaben (
-    wert integer,
-    kurz character varying,
-    bezeichner character varying,
-    CONSTRAINT pk_ax_bodenschaetzung_sonst PRIMARY KEY (wert)
-  );
-
-COMMENT ON TABLE ax_bodenschaetzung_sonstigeangaben
- IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bodenschaetzung", Feld "sonstigeangaben".';
-
-COMMENT ON COLUMN ax_bodenschaetzung_sonstigeangaben.wert       IS 'numerischer SchlÃŒssel';
-COMMENT ON COLUMN ax_bodenschaetzung_sonstigeangaben.kurz       IS 'KÃŒrzel, Kartenanzeige';
-COMMENT ON COLUMN ax_bodenschaetzung_sonstigeangaben.bezeichner IS 'Lange Bezeichnung';
-
-INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(1100,'Wa+',   'Nass, zu viel Wasser (Wa+) ');
-INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(1200,'Wa-',   'Trocken, zu wenig Wasser (Wa-)');
-INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(1300,'Wa gt', 'Besonders gÃŒnstige WasserverhÃ€ltnisse (Wa gt)');
-INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(1400,'RiWa',  'Rieselwasser, kÃŒnstliche BewÃ€sserung (RiWa)');
-INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2100,'W',     'Unbedingtes Wiesenland (W)');
-INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2200,'Str',   'Streuwiese (Str) ');
-INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2300,'Hu',    'Hutung (Hu)');
-INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2400,'A-Hack','Acker-Hackrain (A-Hack)');
-INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2500,'Gr-Hack','GrÃŒnland-Hackrain (Gr-Hack)');
-INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(2600,'G',     'Garten (G)');
-INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(3000,'N',     'Neukultur (N)');
-INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(4000,'T',     'Tiefkultur (T) ');
-INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(5000,'Ger',   'Geringstland (Ger)');
-INSERT INTO ax_bodenschaetzung_sonstigeangaben (wert, kurz, bezeichner) VALUES(9000,'',      'NachschÃ€tzung erforderlich ');
-
-
---DROP TABLE ax_bewertung_klassifizierung;
-CREATE TABLE ax_bewertung_klassifizierung (
-    wert integer,
-    bezeichner character varying,
-	erklaer character varying,
-    CONSTRAINT pk_ax_bewertung_klass PRIMARY KEY (wert)
-  );
-
-COMMENT ON TABLE ax_bewertung_klassifizierung
-IS 'SchlÃŒsseltabelle mit Werten aus GeoInfoDok NW, geladen mit SQL-Script. Zu Tabelle "ax_bewertung", Feld "klassifizierung".';
-
-COMMENT ON COLUMN ax_bewertung_klassifizierung.wert       IS 'numerischer SchlÃŒssel';
-COMMENT ON COLUMN ax_bewertung_klassifizierung.bezeichner IS 'Lange Bezeichnung';
-COMMENT ON COLUMN ax_bewertung_klassifizierung.erklaer    IS 'ggf. weitere ErlÃ€rung';
-
-
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1100, 'Unbebautes GrundstÃŒck', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1120, 'Unbebautes GrundstÃŒck mit GebÃ€ude von untergeordneter Bedeutung ', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1130, 'Unbebautes GrundstÃŒck mit einem dem Verfall preisgegebenen GebÃ€ude', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1140, 'Unbebautes GrundstÃŒck fÃŒr Erholungs- und Freizeitzwecke', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1210, 'EinfamilienhausgrundstÃŒck', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1220, 'ZweifamilienhausgrundstÃŒck', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1230, 'MietwohngrundstÃŒck', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1240, 'Gemischtgenutztes GrundstÃŒck', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1250, 'GeschÃ€ftsgrundstÃŒck', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1260, 'Sonstiges bebautes GrundstÃŒck', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1310, 'Einfamilienhaus auf fremdem Grund und Boden', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1320, 'Zweifamilienhaus auf fremdem Grund und Boden', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1330, 'MietwohngrundstÃŒck, MietwohngebÃ€ude auf fremdem Grund und Boden', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1340, 'Gemischtgenutztes GrundstÃŒck, gemischtgenutztes GebÃ€ude auf fremdem Grund und Boden ', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1350, 'GeschÃ€ftsgrundstÃŒck, GeschÃ€ftsgebÃ€ude auf fremdem Grund und Boden', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(1360, 'Sonstige bebaute GrundstÃŒcke, sonstige GebÃ€ude auf fremdem Grund und Boden', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2110, 'Landwirtschaftliche Nutzung', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2120, 'Hopfen', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2130, 'Spargel', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2190, 'Sonstige Sonderkulturen', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2200, 'Holzung', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2300, 'Weingarten (allgemein)', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2310, 'Weingarten 1', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2320, 'Weingarten 2', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2330, 'Weingarten 3', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2340, 'Weingarten 4', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2350, 'Weingarten 5', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2360, 'Weingarten 6', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2370, 'Weingarten 7', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2380, 'Weingarten 8', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2390, 'Weingarten 9', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2410, 'Gartenland', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2420, 'Obstplantage', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2430, 'Baumschule', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2440, 'AnbauflÃ€che unter Glas ', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2450, 'Kleingarten', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2510, 'Weihnachtsbaumkultur', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2520, 'Saatzucht', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2530, 'Teichwirtschaft', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2610, 'Abbauland der Land- und Forstwirtschaft ', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2620, 'Geringstland', '"Geringstland" sind FlÃ€chen geringster ErtragsfÃ€higkeit ohne Wertzahlen nach dem BodenschÃ€tzungsgesetz, das sind unkultivierte Moor- und HeideflÃ€chen (sofern nicht gesondert gefÃŒhrt), ehemals bodengeschÃ€tzte FlÃ€chen und ehemalige WeinbauflÃ€chen, die ihren Kulturzustand verloren haben.');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2630, 'Unland',   '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2640, 'Moor',     '"Moor" ist eine unkultivierte FlÃ€che mit einer (mindestens 20 cm starken) Auflage aus vertorften und vermoorten Pflanzenresten, soweit sie nicht als Torfstich benutzt wird.');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2650, 'Heide',    '"Heide" ist eine unkultivierte, sandige, ÃŒberwiegend mit Heidekraut oder Ginster bewachsene FlÃ€che.');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2700, 'Reet',     '"Reet" ist eine stÃ€ndig oder zeitweise unter Wasser stehende und mit Reet bewachsene FlÃ€che.');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2710, 'Reet I',   'ReetflÃ€che, deren Nutzung eingestuft ist in GÃŒteklasse I (gut).');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2720, 'Reet II',  'ReetflÃ€che, deren Nutzung eingestuft ist in GÃŒteklasse II (mittel).');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2730, 'Reet III', 'ReetflÃ€che, deren Nutzung eingestuft ist in GÃŒteklasse III (gering).');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2800, 'NebenflÃ€che des Betriebs der Land- und Forstwirtschaft', '');
-INSERT INTO ax_bewertung_klassifizierung (wert, bezeichner, erklaer) VALUES(2899, 'Noch nicht klassifiziert', '');
-
--- BodenschÃ€tzung
-
--- FÃŒr Nachschlagen bei Feature-Info: EntschlÃŒsselung in Langform zu einer KlassenflÃ€che, ohne Geometrie.
---DROP VIEW s_bodensch_ent;
-CREATE OR REPLACE VIEW s_bodensch_ent
-AS 
- SELECT bs.ogc_fid,
-      --bs.advstandardmodell,   -- NUR TEST
-        ka.bezeichner                      AS kulturart_e,
-        ba.bezeichner                      AS bodenart_e,
-        zs.bezeichner                      AS zustandsstufe_e,
-        bs.bodenzahlodergruenlandgrundzahl AS grundz,
-        bs.ackerzahlodergruenlandzahl      AS agzahl,
-        ea1.bezeichner                     AS entstehart1,
-        ea2.bezeichner                     AS entstehart2,
-        -- entstehungsartoderklimastufewasserverhaeltnisse ist array!
-        bs.sonstigeangaben, 		-- integer array  - EntschlÃŒsseln?
-        so1.bezeichner                     AS sonst1, -- EnstschlÃŒsselung 
-        so2.bezeichner                     AS sonst2,
-        bs.jahreszahl				-- integer
-   FROM ax_bodenschaetzung bs
-   LEFT JOIN ax_bodenschaetzung_kulturart      ka ON bs.kulturart = ka.wert
-   LEFT JOIN ax_bodenschaetzung_bodenart       ba ON bs.bodenart  = ba.wert
-   LEFT JOIN ax_bodenschaetzung_zustandsstufe  zs ON bs.zustandsstufeoderbodenstufe = zs.wert
-   LEFT JOIN ax_bodenschaetzung_entstehungsartoderklimastufe ea1 
-          ON bs.entstehungsartoderklimastufewasserverhaeltnisse[1] = ea1.wert   -- [1] fast immer gefÃŒllt
-   LEFT JOIN ax_bodenschaetzung_entstehungsartoderklimastufe ea2 
-          ON bs.entstehungsartoderklimastufewasserverhaeltnisse[2] = ea2.wert   -- [2] manchmal gefÃŒllt
-   LEFT JOIN ax_bodenschaetzung_sonstigeangaben so1 ON bs.sonstigeangaben[1] = so1.wert -- [1] selten gefÃŒllt
-   LEFT JOIN ax_bodenschaetzung_sonstigeangaben so2 ON bs.sonstigeangaben[2] = so2.wert -- [2] noch seltener
-   WHERE bs.endet IS NULL;
-COMMENT ON VIEW s_bodensch_ent IS 'Sicht fÃŒr Feature-Info: BodenschÃ€tzung, mit Langtexten entschlÃŒsselt';
-GRANT SELECT ON TABLE s_bodensch_ent TO ms6;
-
--- 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_bodenschaetzung_sonstigeangaben   TO ms6;
-GRANT SELECT ON TABLE ax_bodenschaetzung_sonstigeangaben   TO mb27;
-GRANT SELECT ON TABLE ax_grablochderbodenschaetzung_bedeutung  TO ms6;
-GRANT SELECT ON TABLE ax_grablochderbodenschaetzung_bedeutung  TO mb27;
-GRANT SELECT ON TABLE ax_musterlandesmusterundvergleichsstueck_merkmal TO ms6;
-GRANT SELECT ON TABLE ax_musterlandesmusterundvergleichsstueck_merkmal TO mb27;
-GRANT SELECT ON TABLE ax_bewertung_klassifizierung         TO ms6;
-GRANT SELECT ON TABLE ax_bewertung_klassifizierung         TO mb27;
-
--- BodenschÃ€tzung Views
-GRANT SELECT ON TABLE s_bodensch_wms TO ms6;
-GRANT SELECT ON TABLE s_bodensch_ent TO ms6;
-GRANT SELECT ON TABLE s_bodensch_po  TO ms6;
-GRANT SELECT ON TABLE s_bodensch_tx  TO ms6;
-GRANT SELECT ON TABLE s_zuordungspfeilspitze_bodensch TO ms6;
-GRANT SELECT ON TABLE s_zuordungspfeil_bodensch       TO ms6;
-
--- ENDE --
