Index: /trunk/umn/alkis/alkis_muster_entw_4.map
===================================================================
--- /trunk/umn/alkis/alkis_muster_entw_4.map	(revision 268)
+++ /trunk/umn/alkis/alkis_muster_entw_4.map	(revision 269)
@@ -1,4 +1,4 @@
-# WMS: ALKIS PostNAS 0.7 Muster mit Platzhalter *gkz* fÃŒr Mandant - Druckversion
-# 2013-03-04 F.J. krz  manueller Abgleich mit .map ohne _4
+# WMS: ALKIS PostNAS 0.7 Muster mit Platzhalter *gkz* fÃŒr Mandant - Druckversion zur Entwickler-Version
+# 2013-03-11 F.J. krz  manueller Abgleich mit .map ohne _4
 MAP
 	NAME "alkis"
@@ -1726,4 +1726,54 @@
 END
 LAYER
+	NAME "ax_gebaeude_txt" # GebÃ€ude - Texte
+	GROUP "gebaeude"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM gebaeude_txt) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:31467 EPSG:4326 EPSG:25832 EPSG:54004"
+		wms_title "Funktion und Name)"
+		wms_abstract "Funktion zum 'GebÃ€ude'. In amtlicher Karte teilweise als Symbole dargestellt, hier ersatzweise als Text."
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 2000
+	SYMBOLSCALEDENOM 1000
+	LABELITEM 'funktion'
+	CLASSITEM 'name'
+	CLASS
+		NAME "Name und Funktion"
+		EXPRESSION /./
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 24 MINSIZE 20 MAXSIZE 36 # 9 7 12
+			POSITION cc OFFSET 0 40 # 0 12
+			COLOR 0 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE false
+			WRAP " " MAXLENGTH 10
+		END
+		LABEL # 2. Label
+			TEXT '[name]'
+			TYPE TRUETYPE FONT 'arialbold'
+			SIZE 34 MINSIZE 22 MAXSIZE 40 # 9 6 10
+			POSITION cc OFFSET 0 -36 # 0 -10
+			COLOR 180 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE true
+		END
+	END
+	CLASS
+		NAME "Funktion" # nur ..
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 24 MINSIZE 20 MAXSIZE 36 # 9 7 12
+			POSITION auto #cc
+			COLOR 0 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE false
+			WRAP " " MAXLENGTH 10
+		END
+	END
+END
+LAYER
 	NAME "ax_bauteil"
 	GROUP "gebaeude"
@@ -1838,9 +1888,9 @@
 		NAME "Hausnummer"
 		STYLE
-			SYMBOL "point" SIZE 4 #1
+			SYMBOL "point" SIZE 1
 		END
 		LABEL
 			TYPE TRUETYPE FONT 'arialnarrow'
-			SIZE 32 MINSIZE 20 MAXSIZE 48 # 8 5 12
+			SIZE 28 MINSIZE 16 MAXSIZE 40 # (8 5 12) *4 = (32 20 48) also nicht proportional zur Bildscheirm-Version
 			POSITION uc
 			OFFSET 0 -12 # 0 -3
@@ -1928,4 +1978,5 @@
 	NAME "ag_l_gebaeude"
 	GROUP "gebaeude"
+	REQUIRES "[ag_t_nebengeb]" # nur beides
 	TYPE LINE
 	CONNECTIONTYPE POSTGIS
@@ -2491,5 +2542,5 @@
 		NAME "Flurstuecknummer"
 		STYLE
-			SYMBOL "point" SIZE 4 #1
+			SYMBOL "point" SIZE 1
 		END
 		LABEL
@@ -2826,35 +2877,4 @@
 END
 # ALKIS Punktort (Vermessungspunkte)
-#LAYER
-#	NAME "ax_punktortta"
-#	GROUP "punktort"
-#	TYPE POINT
-#	CONNECTIONTYPE POSTGIS
-#	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
-#	PROCESSING "CLOSE_CONNECTION=DEFER"
-#	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_punktortta) as foo using unique ogc_fid using SRID=25832"
-#	METADATA
-#		wms_srs "EPSG:31467 EPSG:4326 EPSG:25832 EPSG:54004"
-#		wms_title "Grenzpunkt"
-#		wms_abstract "'PunktortTA' ist ein Punktort, der in der FlurstÃŒcksgrenze liegt und einen Grenzpunkt verortet."
-#		wms_group_title "Vermessungspunkte"
-#		wms_group_abstract "ALKIS Punktorte"
-#	END
-#	#PROJECTION "init=epsg:25832" END
-#	#EXTENT 349000 5529000 356000 5533000
-#	MINSCALEDENOM 12 # 50
-#	MAXSCALEDENOM 500 # 2000
-#	SYMBOLSCALEDENOM 250 # 1000
-#	CLASS
-#		NAME "Grenzpunkt"
-#		STYLE
-#			SYMBOL 'point'
-#			SIZE 20 MINSIZE 16 MAXSIZE 40 # 5 4 10
-#			WIDTH 4 MINWIDTH 4 MAXWIDTH 8 # 1 1 2
-#			COLOR 255 255 255
-#			OUTLINECOLOR 0 0 0
-#		END
-#	END
-#END
 LAYER
 	NAME "ax_punktortta"
@@ -2885,7 +2905,7 @@
 			SYMBOL 'point'
 			COLOR 255 255 255
-			SIZE 12 MINSIZE 8 MAXSIZE 24
-			OUTLINECOLOR 0 0 0
-			WIDTH 3 MINWIDTH 3 MAXWIDTH 6
+			SIZE 11 MINSIZE 7 MAXSIZE 20 # FÃŒllung 4 2 7 
+			OUTLINECOLOR 0 0 0
+			WIDTH 2 MINWIDTH 2 MAXWIDTH 5 # Rand 1 1 2
 		END
 	END
@@ -2894,10 +2914,10 @@
 		STYLE
 			SYMBOL 'point'
-			SIZE 12 MINSIZE 8 MAXSIZE 24 
+			SIZE 10 MINSIZE 6 MAXSIZE 18 # Freistellung 4 2 6
 			COLOR 255 255 255
 		END
 		STYLE
 			SYMBOL 'point'
-			SIZE 5 MINSIZE 2 MAXSIZE 10
+			SIZE 4 MINSIZE 2 MAXSIZE 8 # PÃŒnktchen 1.25 1 3
 			COLOR 0 0 0
 		END
@@ -3079,5 +3099,5 @@
 		END
 		LABEL
-			SIZE 48 MINSIZE 32 MAXSIZE 96 # 12 8 24
+			SIZE 40 MINSIZE 28 MAXSIZE 88 # 10 7 22
 			TYPE TRUETYPE FONT "arialbold"
 			ANGLE [winkel] POSITION cc # zentrisch/Mitte
@@ -3094,5 +3114,5 @@
 		END
 		LABEL
-			SIZE 48 MINSIZE 32 MAXSIZE 96 # 12 8 24
+			SIZE 40 MINSIZE 28 MAXSIZE 88 # 10 7 22
 			TYPE TRUETYPE FONT "arialbold"
 			ANGLE [winkel] POSITION uc # zentrisch/Basis
Index: /trunk/umn/alkis/alkis_muster_entw.map
===================================================================
--- /trunk/umn/alkis/alkis_muster_entw.map	(revision 268)
+++ /trunk/umn/alkis/alkis_muster_entw.map	(revision 269)
@@ -1,3 +1,3 @@
-# WMS: ALKIS PostNAS 0.7 Muster mit Platzhalter *gkz* fÃŒr Mandant
+# WMS: ALKIS PostNAS 0.7 Muster mit Platzhalter *gkz* fÃŒr Mandant - Entwickler-Version
 #
 # Stand / Historie:
@@ -8,15 +8,12 @@
 #                      Auch Standard-Position vom Flurstuecksnummern anzeigen
 # 2013-01-23 F.J. krz  ax_flurstueck bis 1:25.000 (fÃŒr MapProxy)
-# 2013-03-05 F.J. krz  Abgleich mit SVN-Version, z.B. kein "SYMBOL 0" mehr in Pol. Grenz.
+# 2013-03-05 F.J. krz  Umstellung auf Mapserver 6.2
+#                      Abgleich mit SVN-Version, z.B. kein "SYMBOL 0" mehr in Pol. Grenz.
 #                      Gruppe "Recht" verschoben hinter "Flurstueck" und "Gebiete" hinter "Nutzungsarten"
+#                      Layer FlurstÃŒcksnummer hinter Zuordnungspfeil.
 #                      Logical Expression: [column] und Wert in '' einschlieÃen (Log-Meldung).
 #                      Keine Schraffur auf "GebÃ€ude, graphisch".
 #                      "Laufende Nummer NebengebÃ€ude": kein PrÃ€sentationsobjekt mehr, Anzeige mittig in Geb.-FlÃ€che 
-#
-# ToDo:
-# - StraÃennamen doppelt/fehlend je nach Filter im View
-# - Hausnummern doppelt oder mehrfach (z.B. 070: BÃŒrgermeister-Brinkmann-Weg 3)
-# - Template auf GebÃ€ude-Objekt, Auskunft aufrufen?
-# - Zuordnungspfeil Flurstueck ist doppelt: in "FlurstÃŒck" und in "PrÃ€sentation/Zuordnungspfeile"
+# 2013-03-11 F.J. krz  Neuer Layer "ax_gebaeude_txt" (Funktion und Name zum GebÃ€ude)
 MAP
 	NAME "alkis"
@@ -1794,4 +1791,5 @@
 			WIDTH 1 MINWIDTH 1 MAXWIDTH 3
 		END
+		#LABEL = name ?
 	END
 	CLASS
@@ -1978,4 +1976,55 @@
 	END
 END
+# ToDo: evtl. getrennt schaltbare Layer?
+LAYER
+	NAME "ax_gebaeude_txt" # GebÃ€ude-Texte: Funktion und Name
+	GROUP "gebaeude"
+	TYPE POLYGON
+	CONNECTIONTYPE POSTGIS
+	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
+	PROCESSING "CLOSE_CONNECTION=DEFER"
+	DATA "wkb_geometry from (SELECT * FROM gebaeude_txt) as foo using unique ogc_fid using SRID=25832"
+	METADATA
+		wms_srs "EPSG:31467 EPSG:4326 EPSG:25832 EPSG:54004"
+		wms_title "Funktion und Name"
+		wms_abstract "Funktion zum 'GebÃ€ude'. In amtlicher Karte teilweise als Symbole dargestellt, hier ersatzweise als Text."
+	END
+	MINSCALEDENOM 50
+	MAXSCALEDENOM 2000
+	SYMBOLSCALEDENOM 1000
+	LABELITEM 'funktion'
+	CLASSITEM 'name'
+	CLASS
+		NAME "Name und Funktion"
+		EXPRESSION /./
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 9 MINSIZE 7 MAXSIZE 12
+			POSITION cc OFFSET 0 12 # tiefer
+			COLOR 0 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE false
+			WRAP " " MAXLENGTH 10
+		END
+		LABEL # 2. Label
+			TEXT '[name]'
+			TYPE TRUETYPE FONT 'arialbold'
+			SIZE 9 MINSIZE 6 MAXSIZE 10
+			POSITION cc OFFSET 0 -10 # hÃ¶her
+			COLOR 180 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE true
+		END
+	END
+	CLASS
+		NAME "Funktion" # nur ..
+		LABEL
+			TYPE TRUETYPE FONT 'arialnarrow'
+			SIZE 9 MINSIZE 7 MAXSIZE 12
+			POSITION auto # Kollision mit HsNr vermeiden
+			COLOR 0 0 0 OUTLINECOLOR 254 254 254
+			ANTIALIAS true PARTIALS false FORCE false
+			WRAP " " MAXLENGTH 10
+		END
+	END
+END
 LAYER
 	NAME "ax_bauteil"
@@ -2061,9 +2110,7 @@
 		NAME "Besondere GebÃ€udelinie"
 		STYLE
-		#	SYMBOL 0
 			COLOR 0 0 0
 		END
 		STYLE
-		#	SYMBOL 'point'
 			COLOR 254 254 254
 			PATTERN 3 6 END
@@ -2112,5 +2159,7 @@
 	END
 END
-# alte Version: PrÃ€sentationsobjekt aus ap_pto mit Drehwinkel. Dies Daten sind in ALKIS nicht mehr vorhanden.
+# alte Version: PrÃ€sentationsobjekt aus ap_pto mit Drehwinkel. 
+# Dies Daten sind in ALKIS bei einigen KatasterÃ€mtern nicht mehr vorhanden.
+# KlÃ€ren: Fehler in NBA?
 #LAYER # Pseudonummer = Ausgestaltung Text NebengebÃ€ude
 #	NAME "ag_t_nebengeb"
@@ -2155,4 +2204,6 @@
 #END
 # Neue Version Text lfd-Nr. zur GebÃ€ude-Geometrie
+# Diese Version funktioniert unabhÃ€ngig von der NBA-Abgabe der Pseudonummern-PrÃ€sentationsobjekte.
+# Allerdings ohne die manuelle Positionierung und Drehwinkel.
 LAYER # Lagebezeichnung mit Pseudonummer, Anzeige der lfd-Nr.
 	NAME "ag_t_nebengeb"
@@ -2187,10 +2238,11 @@
 	END
 END
-
 # Zuordnungspfeile GebÃ€ude
-# siehe auch Layer "ap_lpo"
+# Der Layer entfÃ€llt zukÃŒnftig.
+# 18: Die Zuordnungspfeile der ALK wurden bei Vormigration nach ALKIS gelÃ¶scht.
 LAYER
 	NAME "ag_l_gebaeude"
 	GROUP "gebaeude"
+	REQUIRES "[ag_t_nebengeb]" # nur beides
 	TYPE LINE
 	DUMP TRUE
@@ -2205,6 +2257,4 @@
 		gml_include_items "all"
 	END
-	#PROJECTION "init=epsg:25832" END
-	#EXTENT 349000 5529000 356000 5533000
 	MINSCALEDENOM 50
 	MAXSCALEDENOM 2500
@@ -3394,39 +3444,4 @@
 END
 # ALKIS Punktort (Vermessungspunkte)
-# Grenzpunkt: alte Version. AusschlieÃlich aus Punktort, keine Info ÃŒber Vermarkung
-#LAYER
-#	NAME "ax_punktortta"
-#	GROUP "punktort" # Der Layer kÃ¶nnte auch zur Gruppe FlurstÃŒck
-#	TYPE POINT
-#	DUMP TRUE
-#	CONNECTIONTYPE POSTGIS
-#	CONNECTION "host=10.0.100.73 dbname=alkis07*gkz* user=ms6 port=5432"
-#	PROCESSING "CLOSE_CONNECTION=DEFER"
-#	DATA "wkb_geometry from (SELECT ogc_fid, wkb_geometry FROM ax_punktortta) as foo using unique ogc_fid using SRID=25832"
-#	METADATA
-#		wms_srs "EPSG:31467 EPSG:4326 EPSG:25832 EPSG:54004"
-#		wms_title "Grenzpunkt"
-#		wms_abstract "'PunktortTA' ist ein Punktort, der in der FlurstÃŒcksgrenze liegt und einen Grenzpunkt verortet."
-#		wms_group_title "Vermessungspunkte"
-#		wms_group_abstract "ALKIS Punktorte"
-#		gml_include_items "all"
-#	END
-#	#PROJECTION "init=epsg:25832" END
-#	#EXTENT 349000 5529000 356000 5533000
-#	MINSCALEDENOM 50
-#	MAXSCALEDENOM 2000
-#	SYMBOLSCALEDENOM 1000
-#	CLASS
-#		NAME "Grenzpunkt"
-#		STYLE
-#			SYMBOL 'point'
-#			SIZE 5 MINSIZE 4 MAXSIZE 10
-#			WIDTH 1 MINWIDTH 1 MAXWIDTH 2
-#			COLOR 255 255 255
-#			OUTLINECOLOR 0 0 0
-#		END
-#	END
-#END
-# Grenzpunkt: alte Version. AusschlieÃlich aus Punktort, keine Info ÃŒber Vermarkung
 LAYER
 	NAME "ax_punktortta"
@@ -3658,5 +3673,5 @@
 		END
 		LABEL
-			SIZE 12 MINSIZE 8 MAXSIZE 24
+			SIZE 10 MINSIZE 7 MAXSIZE 22
 			TYPE TRUETYPE FONT "arialbold"
 			ANGLE [winkel] POSITION cc # zentrisch/Mitte
@@ -3673,5 +3688,5 @@
 		END
 		LABEL
-			SIZE 12 MINSIZE 8 MAXSIZE 24
+			SIZE 10 MINSIZE 7 MAXSIZE 22
 			TYPE TRUETYPE FONT "arialbold"
 			ANGLE [winkel] POSITION uc # zentrisch/Basis
Index: /trunk/import/sichten.sql
===================================================================
--- /trunk/import/sichten.sql	(revision 268)
+++ /trunk/import/sichten.sql	(revision 269)
@@ -11,4 +11,5 @@
 --  2013-02-20 Mehrfache Buchungsstellen zum FS suchen, dies sind Auswirkungen eines Fehlers bei Replace
 --  2013-03-05 Beschriftungen aus ap_pto auseinander sortieren, neuer View "grenzpunkt"
+--  2013-03-12 Optimierung Hausnummern, View "gebaeude_txt" (Funktion und Name)
 
 --  -----------------------------------------
@@ -73,24 +74,72 @@
 -- Diese unterscheiden sich im Feld ap_pto.advstandardmodell
 -- z.B. 3 verschiedene EintrÃ€ge mit <NULL>, {DKKM500}, {DKKM1000}, (Beispiel; Lage, Lange StraÃe 15 c)
+
+ --   DROP VIEW s_hausnummer_gebaeude;
+ --	CREATE OR REPLACE VIEW s_hausnummer_gebaeude 
+ --	AS 
+ --	 SELECT p.ogc_fid, 
+ --			p.wkb_geometry,				         -- Point
+ --			p.drehwinkel * 57.296 AS drehwinkel, -- umn: ANGLE [drehwinkel]
+ --			l.hausnummer				         -- umn: LABELITEM
+ --	   FROM ap_pto p
+ --	   JOIN alkis_beziehungen v
+ --		 ON p.gml_id = v.beziehung_von
+ --	   JOIN ax_lagebezeichnungmithausnummer l
+ --		 ON v.beziehung_zu  = l.gml_id
+ --	  WHERE v.beziehungsart = 'dientZurDarstellungVon'
+ --		AND p.endet IS NULL
+ --		AND l.endet IS NULL;
+ --	COMMENT ON VIEW s_hausnummer_gebaeude IS 'fuer Kartendarstellung: Hausnummern HauptgebÃ€ude';
+
+-- Verbesserte Version 2013-03-07
+-- Nimmt nun vorzugsweise den Text der Darstellung aus ap_pto (bei ibR immer gefÃŒllt).
+-- Wenn der nicht gefÃŒllt ist, wird statt dessen die Nummer aus der verknÃŒpften Labebezeichnung 
+-- verwendet (der hÃ€ufigste Fall bei AED). 
+DROP VIEW s_hausnummer_gebaeude;
 CREATE OR REPLACE VIEW s_hausnummer_gebaeude 
 AS 
  SELECT p.ogc_fid, 
-        p.wkb_geometry,				-- Point
-        p.drehwinkel * 57.296 AS drehwinkel,	-- umn: ANGLE [drehwinkel]
-        l.hausnummer				-- umn: LABELITEM
+        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 v.beziehungsart = 'dientZurDarstellungVon'
-    AND p.endet IS NULL
-    AND l.endet IS NULL;
-
+	 ON v.beziehung_zu  = l.gml_id
+  WHERE p.art = 'HNR'
+    AND 'DKKM1000' = ANY (p.advstandardmodell) -- erste NÃ€herungslÃ¶sung um Redundanzen zu unterdrÃŒcken
+    AND v.beziehungsart = 'dientZurDarstellungVon'
+	AND p.endet IS NULL
+	AND l.endet IS NULL
+-- LIMIT 200 -- TEST
+;
 COMMENT ON VIEW s_hausnummer_gebaeude IS 'fuer Kartendarstellung: Hausnummern HauptgebÃ€ude';
+
+-- Welche Karten-Typen ?
+--   SELECT DISTINCT advstandardmodell FROM ap_pto p WHERE p.art = 'HNR';
+-- Liefert:
+--   "{DKKM1000}"
+--   "{DKKM1000,DKKM500}"
+--   "{DKKM500}"
+--   ""    (IS NULL)
+
+-- ibR (Mi-Lk): darzustellender Text steht immer in ap_pto.schriftinhalt 
+-- AED (Lippe): ap_pto.schriftinhalt ist meist leer, nur selten ein Eintrag
+
+-- ToDo: Wie bei ap_pto_stra von mehren ap_pto zu einer Hausnummer die geeignete auswÃ€hlen
+
+-- ToDo: In PostProcessing die Hausnummer von l.hausnummer in p.schriftinhalt kopieren, wenn leer
+--   Das wÃŒrde die COALESCE-Trickserei ersparen
 
 -- Layer "ag_t_nebengeb"
 -- ---------------------
--- 2013-03-05: Diese Abfrage liefert keine Daten mehr (PostNAS 0.7)
+-- 2013-03-05: Diese Abfrage liefert keine Daten mehr??
 --	CREATE OR REPLACE VIEW s_nummer_nebengebaeude 
 --	AS 
@@ -127,5 +176,20 @@
      AND g.endet IS NULL;
 COMMENT ON VIEW lfdnr_nebengebaeude IS 'Laufende Nummer des NebengebÃ€udes zu einer Lagebezeichnung mit der FlÃ€chengeometrie des GebÃ€udes';
---GRANT SELECT ON TABLE lfdnr_nebengebaeude TO ms6;
+
+
+-- GebÃ€ude-Text
+-- ------------
+CREATE OR REPLACE VIEW gebaeude_txt 
+AS 
+ SELECT g.ogc_fid, 
+        g.wkb_geometry,
+        g.name,                    -- selten gefÃŒllt 
+        f.bezeichner AS funktion   -- umn: LABELITEM
+   FROM ax_gebaeude g
+   JOIN ax_gebaeude_funktion f 
+     ON g.gebaeudefunktion = f.wert
+  WHERE g.endet IS NULL 
+    AND g.gebaeudefunktion < 9998; -- "Nach Quellenlage nicht zu spezifizieren" braucht man nicht anzeigen
+COMMENT ON VIEW gebaeude_txt IS 'EntschlÃŒsselung der GebÃ€ude-Funktion (Ersatz fÃŒr Symbole)';
 
 -- Layer "ag_p_flurstueck"
@@ -188,120 +252,13 @@
 COMMENT ON VIEW s_zuordungspfeilspitze_flurstueck IS 'fuer Kartendarstellung: Zuordnungspfeil FlurstÃŒcksnummer, Spitze';
 
-
--- Zur Steuerung der nachfolgenden Views
-
--- Ermittlung der vorkommenden Arten
--- ersetzt "ap_pto_arten"
-CREATE OR REPLACE VIEW beschriftung_was_kommt_vor 
-AS 
-  SELECT DISTINCT art, horizontaleausrichtung, vertikaleausrichtung 
-    FROM ap_pto 
-   WHERE not schriftinhalt is null 
-  ORDER BY art;
-COMMENT ON VIEW beschriftung_was_kommt_vor IS 'Analyse der vorkommenden Kombinationen in ap_pto (Beschriftung)';
-
--- 2013: PostNAS 0.7  (aus 150,260,340)
--- ------------------
---	"AOG_AUG"				"zentrisch";"Basis"  - Schriftinhalkt immer nur "I" ?
---	"BWF"					"zentrisch";"Basis"/"zentrisch";"Mitte"
---	"BWF_ZUS"				"zentrisch";"Basis"
---	"FKT"					"zentrisch";"Basis"/"linksbÃŒndig";"Basis"/"zentrisch";"Mitte"
---	"FKT_TEXT"				"zentrisch";"Mitte"
---	"FreierText"			"zentrisch";"Basis"/"zentrisch";"Mitte"/"linksbÃŒndig";"Basis"
---	"FreierTextHHO"			"zentrisch";"Mitte"
---	"Friedhof"				"zentrisch";"Basis"
---	"Gewanne"				"zentrisch";"Basis"/"zentrisch";"Mitte"
---	"GFK"					"zentrisch";"Basis"/"zentrisch";"Mitte"
---	"HNR"					"zentrisch";"Basis"/"linksbÃŒndig";"Basis"/"zentrisch";"Mitte"  --> Hausnummer, group gebaeude
---	"HHO"					"zentrisch";"Mitte"  -- HHO = objekthoehe zu ax_gebaeude?
---	"NAM"					"zentrisch";"Basis"/"zentrisch";"Mitte"/"linksbÃŒndig";"Basis"
---	"SPO"					"zentrisch";"Basis"/
---	"Vorratsbehaelter"		"zentrisch";"Basis"
---	"WeitereHoehe"			"zentrisch";"Mitte"
---	"ZAE_NEN"				"zentrisch";"Basis"
---	"ZNM"					"zentrisch";"Basis"/"linksbÃŒndig";"Basis"
-
---* Layer "ap_pto_stra"
---                          hor ; ver / hor ; ver 
---	"BezKlassifizierungStrasse" "zent.";"Basis"	/ "linksbÃŒndig";"Basis"
---	"Platz"					"zentrisch";"Basis" / "zentrisch";"Mitte"
---	"Strasse"				"zentrisch";"Basis" / "zentrisch";"Mitte" / "linksbÃŒndig";"Basis"
---	"Weg"					"zentrisch";"Basis" / "zentrisch";"Mitte" / "linksbÃŒndig";"Basis"
-
---* geplanter layer "ap_pto_wasser"
---	"StehendesGewaesser"	"zentrisch";"Basis"
---	"Fliessgewaesser"		"zentrisch";"Basis"/"linksbÃŒndig";"Basis"
-
-
 -- Drehwinkel in Bogenmass, wird vom mapserver in Grad benÃ¶tigt.
 -- Umrechnung durch Faktor (180 / Pi)
 
+
 -- Layer NAME "ap_pto_stra" (StraÃe) GROUP "praesentation"
 -- -------------------------------------------------------
--- NEU 2013-03-01
--- Problem: Wenn ein Text paarweise auftritt mit verschiedenen Inhalten im 
--- Feld "advstandardmodell", dann wird das mehrfach gezeichnet.
---	CREATE OR REPLACE VIEW ap_pto_stra 
---	AS 
---	  SELECT ogc_fid, 
---			 schriftinhalt, 
---			 art,
---			 horizontaleausrichtung AS hor,    -- Verfeinern der Text-Position 
---			 vertikaleausrichtung   AS ver,    -- Durch Klassifizierung hor/ver
---			 drehwinkel * 57.296    AS winkel, -- * 180 / Pi
---			 wkb_geometry 
---		FROM ap_pto 
---	   WHERE not schriftinhalt IS NULL 
---		 AND endet IS NULL
---	  -- Je nach Vorlieben des Katasteramtes die folgende Zeile auskommentieren:
---	  -- AND advstandardmodell IS NULL -- doppelte Darstellungen unterdrÃŒcken (simple ZwischenlÃ¶sung)
---		 AND art IN ('Strasse','Weg','Platz','BezKlassifizierungStrasse');
---	COMMENT ON VIEW ap_pto_stra IS 'Beschriftung fÃŒr ap_pto mit Art "StraÃe","Weg","Platz"';
---	GRANT SELECT ON TABLE ap_pto_stra TO ms6;
-
--- Verbesserte Version: von doppelten Textpositionen nur das passendere Modell Anzeigen.
--- FÃŒr den folgenden View einen neuen Index definieren: ap_pto_txt_idx (siehe Schema)
-
---	CREATE OR REPLACE VIEW ap_pto_stra 
---	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
---	   WHERE not p.schriftinhalt IS NULL 
---		 AND  p.endet IS NULL                        -- nichts historisches
---		 AND  p.art   IN ('Strasse','Weg','Platz','BezKlassifizierungStrasse') -- CLASSES in LAYER
---		 AND ('DKKM1000' = ANY (p.advstandardmodell) -- "Lika 1000" bevorzugen
---			   -- Ersatzweise auch "keine Angabe", aber nur wenn es keine weitere gibt
---			   OR (     p.advstandardmodell IS NULL
---				   AND (SELECT ogc_fid FROM ap_pto s
---						WHERE p.schriftinhalt = s.schriftinhalt
---						  AND p.art = s.art
---						  AND NOT s.advstandardmodell IS NULL LIMIT 1
---						) IS NULL
---				  )
---			 )
---	;
-
--- ToDo: Diese Version gruppiert alle gleichen StraÃennamen (p.schriftinhalt = s.schriftinhalt).
--- In einer kreisweiten Datenbank kÃ¶nnen verschiedene StraÃen mit gleichem Namen vorkommen.
--- Um die Vermischung zu verhindern sollte man die Texte noch ÃŒber ihre Lage "in der NÃ€he" verpaaren.
--- Wenn der View dann Subquery UND Entfernungsberechnung enthÃ€lt, kÃ¶nnte man ÃŒberlegen,
--- diesen nicht zur Laufzeit abzuarbeiten sondern im PostProzessing als Tabelle zu speichern.
-
--- Auch noch fehlerhaft sind die FÃ€lle, wo fÃŒr unterschiedliche Kartentypen unterschiedliche
--- Schreibweisen benutzt werden, z.B. die AbkÃŒrzung "_str.".
-
--- Layer NAME "ap_pto_stra" (StraÃe) GROUP "praesentation"
--- -------------------------------------------------------
--- NEU 2013-03-06
--- Noch mals verbesserte Version: von doppelten Textpositionen nur das passendere Modell Anzeigen.
--- Statt "Namensgleichheit" im textfeld wird nun eine Relation fuer die Gruppierung verwendet.
--- * ap_pto >dientZurDarstellungVon> ax_lagebezeichnungohnehausnummer *
+-- Von doppelten Textpositionen nur das passendere Modell anzeigen.
+-- Eine Relation wird fuer die Gruppierung verwendet:
+--  ap_pto >dientZurDarstellungVon> ax_lagebezeichnungohnehausnummer
 CREATE OR REPLACE VIEW ap_pto_stra 
 AS 
@@ -343,8 +300,9 @@
 COMMENT ON VIEW ap_pto_stra IS 'Beschriftung fÃŒr ap_pto mit Art "StraÃe", "Weg", "Platz" oder Klassifizierung. Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe';
 
+
 -- Layer NAME "ap_pto" GROUP "praesentation"
 -- ----------------------------------------
 -- REST: Texte, die nicht schon in einem anderen Layer ausgegeben werden
--- NEU 2013-03-01
+-- Ersetzt den View "s_beschriftung"
 CREATE OR REPLACE VIEW ap_pto_rest 
 AS 
@@ -359,23 +317,6 @@
      AND p.art NOT IN ('HNR','Strasse','Weg','Platz','BezKlassifizierungStrasse','AOG_AUG');
      -- Diese 'IN'-Liste fortschreiben bei Erweiterungen des Mapfiles
--- 'PNR' kommt nicht mehr vor?
+-- 'PNR' (Pseudonummer, lfd.-Nr.-NebengebÃ€ude) kommt nicht mehr vor?
 COMMENT ON VIEW ap_pto_rest IS 'Beschriftungen aus "ap_pto", die noch nicht in anderen Layern angezeigt werden';
-
--- Layer NAME "ap_pto" GROUP "praesentation"
--- ----------------------------------------
--- 2013-03: Wird ersetzt durch ap_pto_rest 
--- CREATE OR REPLACE VIEW s_beschriftung 
--- AS 
---   SELECT p.ogc_fid, 
---          p.schriftinhalt, 
---          p.art, 
---          p.drehwinkel * 57.296 AS winkel, -- * 180 / Pi
---          p.wkb_geometry 
---     FROM ap_pto p
---    WHERE not p.schriftinhalt IS NULL 
---      AND p.endet IS NULL
---      AND p.art NOT IN ('HNR','AOG_AUG');  -- 'PNR' kommt nicht mehr vor?
--- COMMENT ON VIEW s_beschriftung IS 'Beschriftungen aus "ap_pto", die noch nicht in anderen Layern angezeigt werden';
--- GRANT SELECT ON TABLE s_beschriftung  TO ms6;
 
 -- ENDE BESCHRIFTUNG
@@ -401,4 +342,5 @@
 
 -- Grenzpunkte
+-- -----------
 --  ax_punktortta  >zeigtAuf?> AX_Grenzpunkt
 -- Zum Punktort des Grenzpunktes auch eine Information zur Vermarkung holen
@@ -665,4 +607,47 @@
            f.zaehler,
            f.nenner;
+
+-- PunktfÃ¶rmige  P r Ã€ s e n t a t i o n s o b j k t e  (ap_pto)
+-- Ermittlung der vorkommenden Arten
+CREATE OR REPLACE VIEW beschriftung_was_kommt_vor 
+AS 
+  SELECT DISTINCT art, horizontaleausrichtung, vertikaleausrichtung 
+    FROM ap_pto 
+   WHERE not schriftinhalt is null 
+  ORDER BY art;
+COMMENT ON VIEW beschriftung_was_kommt_vor IS 'Analyse der vorkommenden Kombinationen in ap_pto (Beschriftung)';
+
+-- Ergebnis:
+-- 2013: PostNAS 0.7  (aus 150,260,340)
+-- ------------------
+--	"AOG_AUG"				"zentrisch";"Basis"  - Schriftinhalkt immer nur "I" ?
+--	"BWF"					"zentrisch";"Basis"/"zentrisch";"Mitte"
+--	"BWF_ZUS"				"zentrisch";"Basis"
+--	"FKT"					"zentrisch";"Basis"/"linksbÃŒndig";"Basis"/"zentrisch";"Mitte"
+--	"FKT_TEXT"				"zentrisch";"Mitte"
+--	"FreierText"			"zentrisch";"Basis"/"zentrisch";"Mitte"/"linksbÃŒndig";"Basis"
+--	"FreierTextHHO"			"zentrisch";"Mitte"
+--	"Friedhof"				"zentrisch";"Basis"
+--	"Gewanne"				"zentrisch";"Basis"/"zentrisch";"Mitte"
+--	"GFK"					"zentrisch";"Basis"/"zentrisch";"Mitte"
+--	"HNR"					"zentrisch";"Basis"/"linksbÃŒndig";"Basis"/"zentrisch";"Mitte"  --> Hausnummer, group gebaeude
+--	"HHO"					"zentrisch";"Mitte"  -- HHO = objekthoehe zu ax_gebaeude?
+--	"NAM"					"zentrisch";"Basis"/"zentrisch";"Mitte"/"linksbÃŒndig";"Basis"
+--	"SPO"					"zentrisch";"Basis"/
+--	"Vorratsbehaelter"		"zentrisch";"Basis"
+--	"WeitereHoehe"			"zentrisch";"Mitte"
+--	"ZAE_NEN"				"zentrisch";"Basis"
+--	"ZNM"					"zentrisch";"Basis"/"linksbÃŒndig";"Basis"
+
+--* Layer "ap_pto_stra"
+--                          hor ; ver / hor ; ver 
+--	"BezKlassifizierungStrasse" "zent.";"Basis"	/ "linksbÃŒndig";"Basis"
+--	"Platz"					"zentrisch";"Basis" / "zentrisch";"Mitte"
+--	"Strasse"				"zentrisch";"Basis" / "zentrisch";"Mitte" / "linksbÃŒndig";"Basis"
+--	"Weg"					"zentrisch";"Basis" / "zentrisch";"Mitte" / "linksbÃŒndig";"Basis"
+
+--* geplanter layer "ap_pto_wasser"
+--	"StehendesGewaesser"	"zentrisch";"Basis"
+--	"Fliessgewaesser"		"zentrisch";"Basis"/"linksbÃŒndig";"Basis"
 
 
@@ -747,5 +732,4 @@
 -- Rechte eines EigentÃŒmers
 -- ------------------------
-
 -- Dieser View sucht speziell die FÃ€lle wo eine Buchungsstelle ein Recht "an" einer anderen Buchungsstelle hat.
 --  - "Erbbaurecht *an* GrundstÃŒck" 
@@ -759,5 +743,4 @@
 --
 -- Person <benennt< NamNum. >istBestandteilVon> Blatt <istBestandteilVon< Stelle-h >an> Stelle-d >istGebucht> Flurstueck
--- 
 
 -- Wobei ">xxx>" = JOIN ÃŒber die Verbindungs-Tabelle "alkis_beziehungen" mit der Beziehungsart "xxx".
@@ -892,4 +875,3 @@
 COMMENT ON VIEW mehrfache_buchung_zu_fs IS 'Nach replace von ax_flurtstueck mit einer neuen ax_buchungsstelle bleibt die alte Verbindung in alkis_beziehungen';
 
-
 -- END --
