Index: trunk/import/pp_definition.sql
===================================================================
--- trunk/import/pp_definition.sql	(revision 323)
+++ trunk/import/pp_definition.sql	(revision 325)
@@ -3,8 +3,4 @@
 
 -- Post Processing (pp_) Teil 1: Anlegen der Tabellen und Views
-
--- ACHTUNG!
--- Systemvariable vorher setzen fÃŒr das Koordinatensystem, z.B.
--- EPSG=25832
 
 -- Stand 
@@ -19,5 +15,5 @@
 --  2013-04-18 Kommentare.
 --  2012-10-24 Neue Tabelle fÃŒr die PrÃ€sentation von StraÃennamen und -Klassifikationen
-
+--  2014-08-25 StraÃennamen aufteilen in _P und L
 
 -- ============================
@@ -69,9 +65,9 @@
 
 -- Gesamtflaeche
-SELECT AddGeometryColumn('pp_gemeinde','the_geom',:alkis_epsg,'MULTIPOLYGON',2);
+SELECT AddGeometryColumn('pp_gemeinde','the_geom','25832','MULTIPOLYGON',2);
 CREATE INDEX pp_gemeinde_gidx ON pp_gemeinde USING gist(the_geom);
 
 -- vereinfachte Gesamtflaeche
-SELECT AddGeometryColumn('pp_gemeinde','simple_geom',:alkis_epsg,'MULTIPOLYGON',2);
+SELECT AddGeometryColumn('pp_gemeinde','simple_geom','25832','MULTIPOLYGON',2);
 CREATE INDEX pp_gemeinde_sgidx ON pp_gemeinde USING gist(simple_geom);
 
@@ -109,9 +105,9 @@
 
 -- GesamtflÃ€che
-SELECT AddGeometryColumn('pp_gemarkung','the_geom',:alkis_epsg,'MULTIPOLYGON',2);
+SELECT AddGeometryColumn('pp_gemarkung','the_geom','25832','MULTIPOLYGON',2);
 CREATE INDEX pp_gemarkung_gidx ON pp_gemarkung USING gist(the_geom);
 
 -- vereinfachte GesamtflÃ€che
-SELECT AddGeometryColumn('pp_gemarkung','simple_geom',:alkis_epsg,'MULTIPOLYGON',2);
+SELECT AddGeometryColumn('pp_gemarkung','simple_geom','25832','MULTIPOLYGON',2);
 CREATE INDEX pp_gemarkung_sgidx ON pp_gemarkung USING gist(simple_geom);
 
@@ -142,9 +138,9 @@
 
 -- GesamtflÃ€che
-SELECT AddGeometryColumn('pp_flur','the_geom',:alkis_epsg,'MULTIPOLYGON',2);
+SELECT AddGeometryColumn('pp_flur','the_geom','25832','MULTIPOLYGON',2);
 CREATE INDEX pp_flur_gidx ON pp_flur USING gist(the_geom);
 
 -- vereinfachte Gesamtflaeche
-SELECT AddGeometryColumn('pp_flur','simple_geom',:alkis_epsg,'MULTIPOLYGON',2);
+SELECT AddGeometryColumn('pp_flur','simple_geom','25832','MULTIPOLYGON',2);
 CREATE INDEX pp_flur_sgidx ON pp_flur USING gist(simple_geom);
 
@@ -209,5 +205,5 @@
   );
 
-SELECT AddGeometryColumn('pp_flurstueck_nr','the_geom',:alkis_epsg,'POINT',2);
+SELECT AddGeometryColumn('pp_flurstueck_nr','the_geom','25832','POINT',2);
 
 -- Geometrischer Index
@@ -364,36 +360,62 @@
 
 
--- NEU 2013-10-24
--- Tabelle fÃŒr die PrÃ€sentation von StraÃen-Namen und -Klassifikationen
--- Tabelle "pp_strassenname" speichert den VIEW "ap_pto_stra".
-
---DROP TABLE pp_strassenname;
-CREATE TABLE pp_strassenname 
-(   gid		serial NOT NULL,
-    gml_id character(16),
- -- advstandardmodell character varying[],
-    schriftinhalt character varying, -- Label: anzuzeigender Text
-    hor character varying,
-    ver character varying,
- -- signaturnummer character varying,
+-- Variante fÃŒr Punkt-Geometrie
+-- Tabelle "pp_strassenname_p" speichert den VIEW "ap_pto_stra".
+CREATE TABLE pp_strassenname_p 
+(   gid                    serial NOT NULL,
+    gml_id                 character(16),
+ -- advstandardmodell      character varying[],
+    schriftinhalt          character varying,      -- Label: anzuzeigender Text
+    hor                    character varying,
+    ver                    character varying,
+ -- signaturnummer         character varying,
  -- darstellungsprioritaet integer,
-    art character varying,
-    winkel double precision,
-    CONSTRAINT pp_snam_pk  PRIMARY KEY (gid)
+    art                    character varying,
+    winkel                 double precision,
+    CONSTRAINT pp_snamp_pk  PRIMARY KEY (gid)
 ) WITH (OIDS=FALSE);
 
-SELECT AddGeometryColumn('pp_strassenname','the_geom',:alkis_epsg,'POINT',2);
-CREATE INDEX pp_snam_gidx ON pp_strassenname USING gist(the_geom); 
-
-  COMMENT ON TABLE  pp_strassenname                IS 'Post-Processing: Label der StraÃennamen in der Karte. Auszug aus ap_pto.';
-
-  COMMENT ON COLUMN pp_strassenname.gid            IS 'EditierschlÃŒssel der Tabelle';
-  COMMENT ON COLUMN pp_strassenname.gml_id         IS 'ObjektschlÃŒssel des PrÃ€sentationsobjektes aus ap_pto. Zur Verbindung mit Katalog.';
-  COMMENT ON COLUMN pp_strassenname.schriftinhalt  IS 'Label, darzustellender Name der StraÃe oder Klassifikation';
-  COMMENT ON COLUMN pp_strassenname.hor            IS 'Horizontale Ausrichtung des Textes zur Punkt-Koordinate: linksbÃŒndig, zentrisch, ...';
-  COMMENT ON COLUMN pp_strassenname.ver            IS 'Vertikale   Ausrichtung des Textes zur Punkt-Koordinate: Basis, ..';
-  COMMENT ON COLUMN pp_strassenname.art            IS 'Klasse der StraÃe: StraÃe, Weg, .. , BezKlassifizierungStrasse';
-  COMMENT ON COLUMN pp_strassenname.winkel         IS 'Drehung des Textes';
-  COMMENT ON COLUMN pp_strassenname.the_geom       IS 'Position (Punkt) der Labels in der Karte';
+-- :alkis_epsg = 25832
+SELECT AddGeometryColumn('pp_strassenname_p','the_geom',25832,'POINT',2);
+CREATE INDEX pp_snamp_gidx ON pp_strassenname_p USING gist(the_geom); 
+
+  COMMENT ON TABLE  pp_strassenname_p                IS 'Post-Processing: Label der StraÃennamen in der Karte, Punktgeometrie. Auszug aus ap_pto.';
+
+  COMMENT ON COLUMN pp_strassenname_p.gid            IS 'EditierschlÃŒssel der Tabelle';
+--COMMENT ON COLUMN pp_strassenname_p.gml_id         IS 'ObjektschlÃŒssel des PrÃ€sentationsobjektes aus ap_pto. Zur Verbindung mit Katalog.';
+  COMMENT ON COLUMN pp_strassenname_p.gml_id         IS 'ObjektschlÃŒssel des PrÃ€sentationsobjektes aus "ax_lagebezeichnungohnehausnummer". Zur Verbindung mit Katalog beim Nachladen leerer Felder.';
+  COMMENT ON COLUMN pp_strassenname_p.schriftinhalt  IS 'Label, darzustellender Name der StraÃe oder Klassifikation';
+  COMMENT ON COLUMN pp_strassenname_p.hor            IS 'Horizontale Ausrichtung des Textes zur Punkt-Koordinate: linksbÃŒndig, zentrisch, ...';
+  COMMENT ON COLUMN pp_strassenname_p.ver            IS 'Vertikale   Ausrichtung des Textes zur Punkt-Koordinate: Basis, ..';
+  COMMENT ON COLUMN pp_strassenname_p.art            IS 'Klasse der StraÃe: StraÃe, Weg, .. , BezKlassifizierungStrasse';
+  COMMENT ON COLUMN pp_strassenname_p.winkel         IS 'Drehung des Textes';
+  COMMENT ON COLUMN pp_strassenname_p.the_geom       IS 'Position (Punkt) der Labels in der Karte';
+
+-- Variante fÃŒr Linien-Geometrie
+-- Tabelle "pp_strassenname_l" speichert den VIEW "ap_lto_stra".
+CREATE TABLE pp_strassenname_l 
+(   gid                    serial NOT NULL,
+    gml_id                 character(16),
+    schriftinhalt          character varying,      -- Label: anzuzeigender Text
+    hor                    character varying,
+    ver                    character varying,
+    art                    character varying,
+ -- winkel                 double precision,       -- bei Linien-Variante nicht benÃ¶tigt
+    CONSTRAINT pp_snaml_pk  PRIMARY KEY (gid)
+) WITH (OIDS=FALSE);
+
+-- :alkis_epsg = 25832
+SELECT AddGeometryColumn('pp_strassenname_l','the_geom',25832,'LINESTRING',2); -- Hier liegt der Unterschied
+CREATE INDEX pp_snaml_gidx ON pp_strassenname USING gist(the_geom); 
+
+  COMMENT ON TABLE  pp_strassenname_l                IS 'Post-Processing: Label der StraÃennamen in der Karte, Liniengeometrie. Auszug aus ap_lto.';
+
+  COMMENT ON COLUMN pp_strassenname_l.gid            IS 'EditierschlÃŒssel der Tabelle';
+  COMMENT ON COLUMN pp_strassenname_l.gml_id         IS 'ObjektschlÃŒssel des PrÃ€sentationsobjektes aus "ax_lagebezeichnungohnehausnummer". Zur Verbindung mit Katalog beim Nachladen leerer Felder.';
+  COMMENT ON COLUMN pp_strassenname_l.schriftinhalt  IS 'Label, darzustellender Name der StraÃe oder Klassifikation';
+  COMMENT ON COLUMN pp_strassenname_l.hor            IS 'Horizontale Ausrichtung des Textes: linksbÃŒndig, zentrisch, ...';
+  COMMENT ON COLUMN pp_strassenname_l.ver            IS 'Vertikale   Ausrichtung des Textes: Basis, ..';
+  COMMENT ON COLUMN pp_strassenname_l.art            IS 'Klasse der StraÃe: StraÃe, Weg, .. , BezKlassifizierungStrasse';
+  COMMENT ON COLUMN pp_strassenname_l.the_geom       IS 'Position (Punkt) der Labels in der Karte';
 
 -- ENDE --
Index: trunk/import/grant.sql
===================================================================
--- trunk/import/grant.sql	(revision 323)
+++ trunk/import/grant.sql	(revision 325)
@@ -18,4 +18,5 @@
 --  2013-10-24  Table "pp_strassenname" ersetzt View "ap_pto_stra" im WMS (ms6)
 --  2014-01-22  Neue Views für CSV-Export, neue Schlüsseltabelle "ax_namensnummer_eigentuemerart"
+--  2014-08-25  Straßennamen aufteilen in _P und L
 
 
@@ -270,5 +271,6 @@
   GRANT SELECT ON TABLE  pp_flur                           TO mb27;
   GRANT SELECT ON TABLE  pp_flurstueck_nr                  TO ms6;
-  GRANT SELECT ON TABLE  pp_strassenname                   TO ms6;
+  GRANT SELECT ON TABLE  pp_strassenname_p                 TO ms6;
+  GRANT SELECT ON TABLE  pp_strassenname_l                 TO ms6;
   GRANT SELECT ON TABLE  gemeinde_person                   TO ms6;
   GRANT SELECT ON TABLE  gemeinde_person                   TO mb27;
@@ -374,5 +376,4 @@
   GRANT SELECT ON TABLE doppelverbindung                   TO mb27;
   GRANT SELECT ON TABLE exp_csv                            TO mb27;
-  GRANT SELECT ON TABLE exp_csv_str                        TO mb27;
 
 -- END --
Index: trunk/import/pp_laden.sql
===================================================================
--- trunk/import/pp_laden.sql	(revision 323)
+++ trunk/import/pp_laden.sql	(revision 325)
@@ -16,6 +16,7 @@
 --  2013-07-10 F.J. Bereinigen der alkis_beziehungen auskommentiert, wird jetzt im Trigger gelöst.
 --  2012-10-24 Neue Tabelle für die Präsentation von Straßennamen und -Klassifikationen
---  2014-02-05 Bereits auskommentierte Aktionen gelöscht für die Beseitigung von Rdundanzen aus fehlerhaften Triggern
+--  2014-02-05 Bereits auskommentierte Aktionen gelöscht für die Beseitigung von Redundanzen aus fehlerhaften Triggern
 --  2014-02-12 Zusammen fassen Flur->Gemarkung->Gemeinde nicht aus simple_geom weil dadurch Löscher entstehen können.
+--  2014-08-25 Straßennamen aufteilen in _P und L
 
 -- ============================
@@ -84,27 +85,60 @@
 -- In der Tabelle werden dann die leer gebliebenen Label aus dem Katalog noch ergänzt. 
 
--- Tabelle aus View befüllen
-TRUNCATE pp_strassenname;
-INSERT INTO pp_strassenname (schriftinhalt, hor, ver, art, winkel, the_geom)
-       SELECT schriftinhalt, hor, ver, art, winkel, wkb_geometry
-       FROM ap_pto_stra; -- View sucht das passende advstandardmodell
+-- Alles auf Anfang
+TRUNCATE pp_strassenname_p;
+
+-- Zunächst die Sonderschreibweisen (Abkürzungen) und die Standardschreibweisen, 
+-- die von der Migration redundant abgelegt wurden.
+INSERT INTO pp_strassenname_p (gml_id, schriftinhalt, hor, ver, art, winkel, the_geom)
+       SELECT gml_id, schriftinhalt, hor, ver, art, winkel, wkb_geometry
+       FROM ap_pto_stra; -- Der View sucht das passende advstandardmodell
 
 -- Schriftinhalt ergänzen
---DATE ap_pto           p  -- Präsentationsobjekte Punktförmig
-UPDATE pp_strassenname  p
-   SET schriftinhalt =     -- Hier fehlt der Label
+-- Das sind die Standardschreibweisen aus dem Katalog, die nicht mehr redundant in ap_pto sind.
+UPDATE pp_strassenname_p  p
+   SET schriftinhalt =     -- Hier ist der Label noch leer
    -- Subquery "Gib mir den Straßennamen":
-   ( SELECT k.bezeichnung                       -- Straßenname ..
-       FROM ax_lagebezeichnungkatalogeintrag k  --  .. aus Katalog
-       JOIN ax_lagebezeichnungohnehausnummer l  -- verwendet als Lage o.H.
-         ON (k.land=l.land AND k.regierungsbezirk=l.regierungsbezirk 
-             AND k.kreis=l.kreis AND k.gemeinde=l.gemeinde AND k.lage=l.lage )
-       JOIN alkis_beziehungen x ON l.gml_id = x.beziehung_zu  -- Relation zum Präsentationsobjekt
-      WHERE p.gml_id = x.beziehung_von
-        AND x.beziehungsart = 'dientZurDarstellungVon'
-      -- LIMIT 1 -- war in einem Fall notwendig, wo 2mal der gleiche Text zugeordnet war, Ursache?
-   )
+   ( SELECT k.bezeichnung                         -- Straßenname ..
+       FROM ax_lagebezeichnungkatalogeintrag k    --  .. aus Katalog
+       JOIN ax_lagebezeichnungohnehausnummer l    -- verwendet als Lage o.H.
+         ON (k.land=l.land AND k.regierungsbezirk=l.regierungsbezirk AND k.kreis=l.kreis AND k.gemeinde=l.gemeinde AND k.lage=l.lage )
+      WHERE p.gml_id = l.gml_id                   -- die gml_id wurde aus View importiert
+    )
  WHERE     p.schriftinhalt IS NULL
    AND NOT p.the_geom      IS NULL;
+
+-- Die immer noch leeren Texte sind nun sinnlos.
+-- Die finden sich ggf. in der Variante "_l" mit Liniengeometrie.
+DELETE FROM pp_strassenname_p WHERE schriftinhalt IS NULL;
+
+-- Nun das Gleiche noch einmal für Linien-Geometrie
+
+-- Auf Anfang
+TRUNCATE pp_strassenname_l;
+
+-- Zunächst die Sonderschreibweisen (Abkürzungen) und die Standardschreibweisen, 
+-- die von der Migration redundant abgelegt wurden.
+INSERT INTO pp_strassenname_l (gml_id, schriftinhalt, hor, ver, art, the_geom)
+       SELECT gml_id, schriftinhalt, hor, ver, art, wkb_geometry
+       FROM ap_lto_stra; -- Der View sucht das passende advstandardmodell
+
+-- Schriftinhalt ergänzen (korrigiert 2014-08-25)
+-- Das sind die Standardschreibweisen aus dem Katalog, die nicht mehr redundant in ap_pto sind.
+-- Der Satz mit der passenen gml_id (Lage o.H.) ist aus dem View bereits importiert.
+-- Jetzt noch den dazu passenen Schriftinhalt aus dem Katalog holen.
+UPDATE pp_strassenname_l  p
+   SET schriftinhalt =     -- Hier ist der Label noch leer
+   -- Subquery "Gib mir den Straßennamen":
+   ( SELECT k.bezeichnung                         -- Straßenname ..
+       FROM ax_lagebezeichnungkatalogeintrag k    --  .. aus Katalog
+       JOIN ax_lagebezeichnungohnehausnummer l    -- verwendet als Lage o.H.
+         ON (k.land=l.land AND k.regierungsbezirk=l.regierungsbezirk AND k.kreis=l.kreis AND k.gemeinde=l.gemeinde AND k.lage=l.lage )
+      WHERE p.gml_id = l.gml_id                   -- die gml_id wurde aus View importiert
+    )
+ WHERE     p.schriftinhalt IS NULL
+   AND NOT p.the_geom      IS NULL;
+
+-- Die immer noch leeren Texte sind sinnlos.
+DELETE FROM pp_strassenname_l WHERE schriftinhalt IS NULL;
 
 
Index: trunk/import/sichten_wms.sql
===================================================================
--- trunk/import/sichten_wms.sql	(revision 323)
+++ trunk/import/sichten_wms.sql	(revision 325)
@@ -22,5 +22,6 @@
 --  2013-04-22 art="PNR" (Pseudonummer)
 --  2013-10-24 View ap_pto_stra wird ersetzt durch die Tabellen "pp_strassenname" und "pp_strassenklas", die im postProcessing gefÃŒllt werden.
-
+--  2014-02-24 Kein Filter auf advstandardmodell bei FlurstÃŒcks-Zuordnungspfeil
+--  2014-08-25 StraÃennamen aufteilen in _P und L
 
 -- WMS-Layer "ag_t_flurstueck"
@@ -207,4 +208,5 @@
 -- Layer "s_zuordungspfeil_flurstueck" (Signaturnummer 2004)
 -- -----------------------------------
+-- geÃ€.: 2014-02-24: Kein Filter auf advstandardmodell
 CREATE OR REPLACE VIEW s_zuordungspfeil_flurstueck 
 AS 
@@ -218,5 +220,5 @@
   WHERE l.art = 'Pfeil'
     AND v.beziehungsart = 'dientZurDarstellungVon'
-    AND ('DKKM1000' ~~ ANY (l.advstandardmodell))
+  --AND ('DKKM1000' ~~ ANY (l.advstandardmodell))
     AND f.endet IS NULL
     AND l.endet IS NULL;
@@ -225,5 +227,5 @@
   IS 'Sicht fÃŒr Kartendarstellung: Zuordnungspfeil zur FlurstÃŒcksnummer, Liniengeometrie.';
 
-
+-- geÃ€.: 2014-02-24: Kein Filter auf advstandardmodell
 CREATE OR REPLACE VIEW s_zuordungspfeilspitze_flurstueck 
 AS 
@@ -239,5 +241,5 @@
   WHERE l.art = 'Pfeil'
     AND v.beziehungsart = 'dientZurDarstellungVon'
-    AND ('DKKM1000' ~~ ANY (l.advstandardmodell))
+  --AND ('DKKM1000' ~~ ANY (l.advstandardmodell))
     AND f.endet IS NULL
     AND l.endet IS NULL;
@@ -296,6 +298,5 @@
 AS 
   SELECT p.ogc_fid,
-	  -- p.advstandardmodell       AS modell,    -- TEST
-      -- l.gml_id, l.unverschluesselt, l.lage AS schluessel, -- zur Lage  TEST
+         l.gml_id,                               -- wird im PP zum Nachladen aus Katalog gebraucht
          p.schriftinhalt,                        -- WMS: LABELITEM
          p.art,                                  -- WMS: CLASSITEM
@@ -309,13 +310,14 @@
     JOIN ax_lagebezeichnungohnehausnummer l
       ON v.beziehung_zu = l.gml_id
-   WHERE NOT p.schriftinhalt IS NULL 
-     AND  p.endet IS NULL                            -- nichts historisches
+   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
+     AND (   'DKKM1000' = ANY (p.advstandardmodell)  -- "Lika 1000" bevorzugen
+          OR 'DLKM'     = ANY (p.advstandardmodell)   
+     -- LeopoldshÃ¶he, HeinestraÃe: 'DLKM'
            -- Ersatzweise auch "keine Angabe", aber nur wenn es keinen besseren Text zur Lage gibt
            OR (p.advstandardmodell IS NULL
                AND (SELECT s.ogc_fid                -- irgend ein Feld
-					  FROM ap_pto s                 -- eines anderen Textes (suchen)
+                      FROM ap_pto s                 -- eines anderen Textes (suchen)
                       JOIN alkis_beziehungen vs     -- zur gleichen Lage o.HsNr
                         ON s.gml_id = vs.beziehung_von
@@ -326,14 +328,68 @@
                        AND NOT s.advstandardmodell IS NULL 
                      LIMIT 1  -- einer reicht als Beweis
-					) IS NULL 
+                   ) IS NULL 
               ) -- "Subquery IS NULL" liefert true wenn kein weiterer Text gefunden wird
          )
 ;
+
 COMMENT ON VIEW ap_pto_stra 
-  IS 'Sicht fÃŒr Kartendarstellung: Beschriftung aus ap_pto fÃŒr Lagebezeichnung mit Art "StraÃe", "Weg", "Platz" oder Klassifizierung. Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe. Siehe auch pp_strassenname und pp_strassenklas';
-
--- 2013-10-24: Daten aus dem View "ap_pto_stra" werden im PostProcessing gespeichert in den Tabellen "pp_strassenname" und "pp_strassenklas".
+  IS 'Sicht fÃŒr Kartendarstellung: Beschriftung aus "ap_pto" fÃŒr Lagebezeichnung mit Art "StraÃe", "Weg", "Platz" oder Klassifizierung.
+ Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe. Dient im Script pp_laden.sql zum ersten FÃŒllen der Tabelle "pp_strassenname_p".';
+
+
+-- Daten aus dem View "ap_pto_stra" werden im PostProcessing gespeichert in der Tabelle "pp_strassenname_p".
 -- Der View ÃŒbernimmt die Auswahl des passenden advstandardmodell und rechnet den Winkel passend um,
 -- In der Tabelle werden dann die leer gebliebenen Label aus dem Katalog noch ergÃ€nzt.
+
+DROP VIEW ap_lto_stra;
+
+CREATE OR REPLACE VIEW ap_lto_stra 
+AS 
+  SELECT p.ogc_fid,
+         l.gml_id,                               -- wird im PP zum Nachladen aus Katalog gebraucht
+         p.schriftinhalt,                        -- WMS: LABELITEM
+         p.art,                                  -- WMS: CLASSITEM
+         p.horizontaleausrichtung  AS hor,       -- Verfeinern der Text-Position ..
+         p.vertikaleausrichtung    AS ver,       --  .. durch Klassifizierung hor/ver
+         p.wkb_geometry
+    FROM ap_lto p
+    JOIN alkis_beziehungen v   -- Relation zur Lagebezeichnung o. HsNr.
+      ON p.gml_id = v.beziehung_von
+    JOIN ax_lagebezeichnungohnehausnummer l
+      ON v.beziehung_zu = l.gml_id
+   WHERE  p.endet IS NULL                            -- nichts historisches
+     AND  p.art   IN ('Strasse','Weg','Platz','BezKlassifizierungStrasse') -- Diese Werte als CLASSES in LAYER behandeln. 
+     AND  v.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
+
+--   AND (   ('DKKM1000' = ANY (p.advstandardmodell)     -- "Lika 1000" bevorzugen
+--        OR ('DLKM'     = ANY (p.advstandardmodell)  ) 
+
+     -- ++ Muss als Array angelegt sein!!
+     AND ( NOT p.advstandardmodell  IS NULL          -- ++ ZwischenlÃ¶sung bis DB mit neuem Schema (2014-08-22) angelegt und geladen wurde ++
+
+           -- Ersatzweise auch "keine Angabe", aber nur wenn es keinen besseren Text zur Lage gibt
+           OR (p.advstandardmodell IS NULL
+               AND (SELECT s.ogc_fid                -- irgend ein Feld
+                      FROM ap_lto s                 -- eines anderen Textes (suchen)
+                      JOIN alkis_beziehungen vs     -- zur gleichen Lage o.HsNr
+                        ON s.gml_id = vs.beziehung_von
+                      JOIN ax_lagebezeichnungohnehausnummer ls
+                        ON vs.beziehung_zu = ls.gml_id
+                     WHERE ls.gml_id = l.gml_id
+                       AND vs.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht
+                       AND NOT s.advstandardmodell IS NULL 
+                     LIMIT 1  -- einer reicht als Beweis
+                   ) IS NULL 
+              ) -- "Subquery IS NULL" liefert true wenn kein weiterer Text gefunden wird
+         )
+;
+COMMENT ON VIEW ap_lto_stra 
+  IS 'Sicht fÃŒr Kartendarstellung: Beschriftung aus "ap_lto" fÃŒr Lagebezeichnung mit Art "StraÃe", "Weg", "Platz" oder Klassifizierung.
+ Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe. Dient im Script pp_laden.sql zum ersten FÃŒllen der Tabelle "pp_strassenname_l".';
+
+-- 2014-08-22: Daten aus dem View "ap_lto_stra" werden im PostProcessing gespeichert in den Tabellen "pp_strassenname_l".
+-- Der View ÃŒbernimmt die Auswahl des passenden advstandardmodell.
+-- In der Tabelle werden dann die leer gebliebenen Label aus dem Katalog noch ergÃ€nzt.
+
 
 -- Layer NAME "ap_pto_nam" GROUP "praesentation"
