Changeset 325 for trunk/import


Ignore:
Timestamp:
08/28/14 14:12:07 (10 years ago)
Author:
frank.jaeger
Message:

Im PostProzessing? der Straßennamen-Label:

  1. Fehlerkorrektur.
  2. Neben Punkt- nun auch Liniengeometrie
Location:
trunk/import
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/import/grant.sql

    r320 r325  
    1818--  2013-10-24  Table "pp_strassenname" ersetzt View "ap_pto_stra" im WMS (ms6) 
    1919--  2014-01-22  Neue Views für CSV-Export, neue Schlüsseltabelle "ax_namensnummer_eigentuemerart" 
     20--  2014-08-25  Straßennamen aufteilen in _P und L 
    2021 
    2122 
     
    270271  GRANT SELECT ON TABLE  pp_flur                           TO mb27; 
    271272  GRANT SELECT ON TABLE  pp_flurstueck_nr                  TO ms6; 
    272   GRANT SELECT ON TABLE  pp_strassenname                   TO ms6; 
     273  GRANT SELECT ON TABLE  pp_strassenname_p                 TO ms6; 
     274  GRANT SELECT ON TABLE  pp_strassenname_l                 TO ms6; 
    273275  GRANT SELECT ON TABLE  gemeinde_person                   TO ms6; 
    274276  GRANT SELECT ON TABLE  gemeinde_person                   TO mb27; 
     
    374376  GRANT SELECT ON TABLE doppelverbindung                   TO mb27; 
    375377  GRANT SELECT ON TABLE exp_csv                            TO mb27; 
    376   GRANT SELECT ON TABLE exp_csv_str                        TO mb27; 
    377378 
    378379-- END -- 
  • trunk/import/pp_definition.sql

    r316 r325  
    33 
    44-- Post Processing (pp_) Teil 1: Anlegen der Tabellen und Views 
    5  
    6 -- ACHTUNG! 
    7 -- Systemvariable vorher setzen fÃŒr das Koordinatensystem, z.B. 
    8 -- EPSG=25832 
    95 
    106-- Stand  
     
    1915--  2013-04-18 Kommentare. 
    2016--  2012-10-24 Neue Tabelle fÃŒr die PrÀsentation von Straßennamen und -Klassifikationen 
    21  
     17--  2014-08-25 Straßennamen aufteilen in _P und L 
    2218 
    2319-- ============================ 
     
    6965 
    7066-- Gesamtflaeche 
    71 SELECT AddGeometryColumn('pp_gemeinde','the_geom',:alkis_epsg,'MULTIPOLYGON',2); 
     67SELECT AddGeometryColumn('pp_gemeinde','the_geom','25832','MULTIPOLYGON',2); 
    7268CREATE INDEX pp_gemeinde_gidx ON pp_gemeinde USING gist(the_geom); 
    7369 
    7470-- vereinfachte Gesamtflaeche 
    75 SELECT AddGeometryColumn('pp_gemeinde','simple_geom',:alkis_epsg,'MULTIPOLYGON',2); 
     71SELECT AddGeometryColumn('pp_gemeinde','simple_geom','25832','MULTIPOLYGON',2); 
    7672CREATE INDEX pp_gemeinde_sgidx ON pp_gemeinde USING gist(simple_geom); 
    7773 
     
    109105 
    110106-- GesamtflÀche 
    111 SELECT AddGeometryColumn('pp_gemarkung','the_geom',:alkis_epsg,'MULTIPOLYGON',2); 
     107SELECT AddGeometryColumn('pp_gemarkung','the_geom','25832','MULTIPOLYGON',2); 
    112108CREATE INDEX pp_gemarkung_gidx ON pp_gemarkung USING gist(the_geom); 
    113109 
    114110-- vereinfachte GesamtflÀche 
    115 SELECT AddGeometryColumn('pp_gemarkung','simple_geom',:alkis_epsg,'MULTIPOLYGON',2); 
     111SELECT AddGeometryColumn('pp_gemarkung','simple_geom','25832','MULTIPOLYGON',2); 
    116112CREATE INDEX pp_gemarkung_sgidx ON pp_gemarkung USING gist(simple_geom); 
    117113 
     
    142138 
    143139-- GesamtflÀche 
    144 SELECT AddGeometryColumn('pp_flur','the_geom',:alkis_epsg,'MULTIPOLYGON',2); 
     140SELECT AddGeometryColumn('pp_flur','the_geom','25832','MULTIPOLYGON',2); 
    145141CREATE INDEX pp_flur_gidx ON pp_flur USING gist(the_geom); 
    146142 
    147143-- vereinfachte Gesamtflaeche 
    148 SELECT AddGeometryColumn('pp_flur','simple_geom',:alkis_epsg,'MULTIPOLYGON',2); 
     144SELECT AddGeometryColumn('pp_flur','simple_geom','25832','MULTIPOLYGON',2); 
    149145CREATE INDEX pp_flur_sgidx ON pp_flur USING gist(simple_geom); 
    150146 
     
    209205  ); 
    210206 
    211 SELECT AddGeometryColumn('pp_flurstueck_nr','the_geom',:alkis_epsg,'POINT',2); 
     207SELECT AddGeometryColumn('pp_flurstueck_nr','the_geom','25832','POINT',2); 
    212208 
    213209-- Geometrischer Index 
     
    364360 
    365361 
    366 -- NEU 2013-10-24 
    367 -- Tabelle fÃŒr die PrÀsentation von Straßen-Namen und -Klassifikationen 
    368 -- Tabelle "pp_strassenname" speichert den VIEW "ap_pto_stra". 
    369  
    370 --DROP TABLE pp_strassenname; 
    371 CREATE TABLE pp_strassenname  
    372 (   gid         serial NOT NULL, 
    373     gml_id character(16), 
    374  -- advstandardmodell character varying[], 
    375     schriftinhalt character varying, -- Label: anzuzeigender Text 
    376     hor character varying, 
    377     ver character varying, 
    378  -- signaturnummer character varying, 
     362-- Variante fÃŒr Punkt-Geometrie 
     363-- Tabelle "pp_strassenname_p" speichert den VIEW "ap_pto_stra". 
     364CREATE TABLE pp_strassenname_p  
     365(   gid                    serial NOT NULL, 
     366    gml_id                 character(16), 
     367 -- advstandardmodell      character varying[], 
     368    schriftinhalt          character varying,      -- Label: anzuzeigender Text 
     369    hor                    character varying, 
     370    ver                    character varying, 
     371 -- signaturnummer         character varying, 
    379372 -- darstellungsprioritaet integer, 
    380     art character varying, 
    381     winkel double precision, 
    382     CONSTRAINT pp_snam_pk  PRIMARY KEY (gid) 
     373    art                    character varying, 
     374    winkel                 double precision, 
     375    CONSTRAINT pp_snamp_pk  PRIMARY KEY (gid) 
    383376) WITH (OIDS=FALSE); 
    384377 
    385 SELECT AddGeometryColumn('pp_strassenname','the_geom',:alkis_epsg,'POINT',2); 
    386 CREATE INDEX pp_snam_gidx ON pp_strassenname USING gist(the_geom);  
    387  
    388   COMMENT ON TABLE  pp_strassenname                IS 'Post-Processing: Label der Straßennamen in der Karte. Auszug aus ap_pto.'; 
    389  
    390   COMMENT ON COLUMN pp_strassenname.gid            IS 'EditierschlÃŒssel der Tabelle'; 
    391   COMMENT ON COLUMN pp_strassenname.gml_id         IS 'ObjektschlÃŒssel des PrÀsentationsobjektes aus ap_pto. Zur Verbindung mit Katalog.'; 
    392   COMMENT ON COLUMN pp_strassenname.schriftinhalt  IS 'Label, darzustellender Name der Straße oder Klassifikation'; 
    393   COMMENT ON COLUMN pp_strassenname.hor            IS 'Horizontale Ausrichtung des Textes zur Punkt-Koordinate: linksbÃŒndig, zentrisch, ...'; 
    394   COMMENT ON COLUMN pp_strassenname.ver            IS 'Vertikale   Ausrichtung des Textes zur Punkt-Koordinate: Basis, ..'; 
    395   COMMENT ON COLUMN pp_strassenname.art            IS 'Klasse der Straße: Straße, Weg, .. , BezKlassifizierungStrasse'; 
    396   COMMENT ON COLUMN pp_strassenname.winkel         IS 'Drehung des Textes'; 
    397   COMMENT ON COLUMN pp_strassenname.the_geom       IS 'Position (Punkt) der Labels in der Karte'; 
     378-- :alkis_epsg = 25832 
     379SELECT AddGeometryColumn('pp_strassenname_p','the_geom',25832,'POINT',2); 
     380CREATE INDEX pp_snamp_gidx ON pp_strassenname_p USING gist(the_geom);  
     381 
     382  COMMENT ON TABLE  pp_strassenname_p                IS 'Post-Processing: Label der Straßennamen in der Karte, Punktgeometrie. Auszug aus ap_pto.'; 
     383 
     384  COMMENT ON COLUMN pp_strassenname_p.gid            IS 'EditierschlÃŒssel der Tabelle'; 
     385--COMMENT ON COLUMN pp_strassenname_p.gml_id         IS 'ObjektschlÃŒssel des PrÀsentationsobjektes aus ap_pto. Zur Verbindung mit Katalog.'; 
     386  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.'; 
     387  COMMENT ON COLUMN pp_strassenname_p.schriftinhalt  IS 'Label, darzustellender Name der Straße oder Klassifikation'; 
     388  COMMENT ON COLUMN pp_strassenname_p.hor            IS 'Horizontale Ausrichtung des Textes zur Punkt-Koordinate: linksbÃŒndig, zentrisch, ...'; 
     389  COMMENT ON COLUMN pp_strassenname_p.ver            IS 'Vertikale   Ausrichtung des Textes zur Punkt-Koordinate: Basis, ..'; 
     390  COMMENT ON COLUMN pp_strassenname_p.art            IS 'Klasse der Straße: Straße, Weg, .. , BezKlassifizierungStrasse'; 
     391  COMMENT ON COLUMN pp_strassenname_p.winkel         IS 'Drehung des Textes'; 
     392  COMMENT ON COLUMN pp_strassenname_p.the_geom       IS 'Position (Punkt) der Labels in der Karte'; 
     393 
     394-- Variante fÃŒr Linien-Geometrie 
     395-- Tabelle "pp_strassenname_l" speichert den VIEW "ap_lto_stra". 
     396CREATE TABLE pp_strassenname_l  
     397(   gid                    serial NOT NULL, 
     398    gml_id                 character(16), 
     399    schriftinhalt          character varying,      -- Label: anzuzeigender Text 
     400    hor                    character varying, 
     401    ver                    character varying, 
     402    art                    character varying, 
     403 -- winkel                 double precision,       -- bei Linien-Variante nicht benötigt 
     404    CONSTRAINT pp_snaml_pk  PRIMARY KEY (gid) 
     405) WITH (OIDS=FALSE); 
     406 
     407-- :alkis_epsg = 25832 
     408SELECT AddGeometryColumn('pp_strassenname_l','the_geom',25832,'LINESTRING',2); -- Hier liegt der Unterschied 
     409CREATE INDEX pp_snaml_gidx ON pp_strassenname USING gist(the_geom);  
     410 
     411  COMMENT ON TABLE  pp_strassenname_l                IS 'Post-Processing: Label der Straßennamen in der Karte, Liniengeometrie. Auszug aus ap_lto.'; 
     412 
     413  COMMENT ON COLUMN pp_strassenname_l.gid            IS 'EditierschlÃŒssel der Tabelle'; 
     414  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.'; 
     415  COMMENT ON COLUMN pp_strassenname_l.schriftinhalt  IS 'Label, darzustellender Name der Straße oder Klassifikation'; 
     416  COMMENT ON COLUMN pp_strassenname_l.hor            IS 'Horizontale Ausrichtung des Textes: linksbÃŒndig, zentrisch, ...'; 
     417  COMMENT ON COLUMN pp_strassenname_l.ver            IS 'Vertikale   Ausrichtung des Textes: Basis, ..'; 
     418  COMMENT ON COLUMN pp_strassenname_l.art            IS 'Klasse der Straße: Straße, Weg, .. , BezKlassifizierungStrasse'; 
     419  COMMENT ON COLUMN pp_strassenname_l.the_geom       IS 'Position (Punkt) der Labels in der Karte'; 
    398420 
    399421-- ENDE -- 
  • trunk/import/pp_laden.sql

    r319 r325  
    1616--  2013-07-10 F.J. Bereinigen der alkis_beziehungen auskommentiert, wird jetzt im Trigger gelöst. 
    1717--  2012-10-24 Neue Tabelle für die Präsentation von Straßennamen und -Klassifikationen 
    18 --  2014-02-05 Bereits auskommentierte Aktionen gelöscht für die Beseitigung von Rdundanzen aus fehlerhaften Triggern 
     18--  2014-02-05 Bereits auskommentierte Aktionen gelöscht für die Beseitigung von Redundanzen aus fehlerhaften Triggern 
    1919--  2014-02-12 Zusammen fassen Flur->Gemarkung->Gemeinde nicht aus simple_geom weil dadurch Löscher entstehen können. 
     20--  2014-08-25 Straßennamen aufteilen in _P und L 
    2021 
    2122-- ============================ 
     
    8485-- In der Tabelle werden dann die leer gebliebenen Label aus dem Katalog noch ergänzt.  
    8586 
    86 -- Tabelle aus View befüllen 
    87 TRUNCATE pp_strassenname; 
    88 INSERT INTO pp_strassenname (schriftinhalt, hor, ver, art, winkel, the_geom) 
    89        SELECT schriftinhalt, hor, ver, art, winkel, wkb_geometry 
    90        FROM ap_pto_stra; -- View sucht das passende advstandardmodell 
     87-- Alles auf Anfang 
     88TRUNCATE pp_strassenname_p; 
     89 
     90-- Zunächst die Sonderschreibweisen (Abkürzungen) und die Standardschreibweisen,  
     91-- die von der Migration redundant abgelegt wurden. 
     92INSERT INTO pp_strassenname_p (gml_id, schriftinhalt, hor, ver, art, winkel, the_geom) 
     93       SELECT gml_id, schriftinhalt, hor, ver, art, winkel, wkb_geometry 
     94       FROM ap_pto_stra; -- Der View sucht das passende advstandardmodell 
    9195 
    9296-- Schriftinhalt ergänzen 
    93 --DATE ap_pto           p  -- Präsentationsobjekte Punktförmig 
    94 UPDATE pp_strassenname  p 
    95    SET schriftinhalt =     -- Hier fehlt der Label 
     97-- Das sind die Standardschreibweisen aus dem Katalog, die nicht mehr redundant in ap_pto sind. 
     98UPDATE pp_strassenname_p  p 
     99   SET schriftinhalt =     -- Hier ist der Label noch leer 
    96100   -- Subquery "Gib mir den Straßennamen": 
    97    ( SELECT k.bezeichnung                       -- Straßenname .. 
    98        FROM ax_lagebezeichnungkatalogeintrag k  --  .. aus Katalog 
    99        JOIN ax_lagebezeichnungohnehausnummer l  -- verwendet als Lage o.H. 
    100          ON (k.land=l.land AND k.regierungsbezirk=l.regierungsbezirk  
    101              AND k.kreis=l.kreis AND k.gemeinde=l.gemeinde AND k.lage=l.lage ) 
    102        JOIN alkis_beziehungen x ON l.gml_id = x.beziehung_zu  -- Relation zum Präsentationsobjekt 
    103       WHERE p.gml_id = x.beziehung_von 
    104         AND x.beziehungsart = 'dientZurDarstellungVon' 
    105       -- LIMIT 1 -- war in einem Fall notwendig, wo 2mal der gleiche Text zugeordnet war, Ursache? 
    106    ) 
     101   ( SELECT k.bezeichnung                         -- Straßenname .. 
     102       FROM ax_lagebezeichnungkatalogeintrag k    --  .. aus Katalog 
     103       JOIN ax_lagebezeichnungohnehausnummer l    -- verwendet als Lage o.H. 
     104         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 ) 
     105      WHERE p.gml_id = l.gml_id                   -- die gml_id wurde aus View importiert 
     106    ) 
    107107 WHERE     p.schriftinhalt IS NULL 
    108108   AND NOT p.the_geom      IS NULL; 
     109 
     110-- Die immer noch leeren Texte sind nun sinnlos. 
     111-- Die finden sich ggf. in der Variante "_l" mit Liniengeometrie. 
     112DELETE FROM pp_strassenname_p WHERE schriftinhalt IS NULL; 
     113 
     114-- Nun das Gleiche noch einmal für Linien-Geometrie 
     115 
     116-- Auf Anfang 
     117TRUNCATE pp_strassenname_l; 
     118 
     119-- Zunächst die Sonderschreibweisen (Abkürzungen) und die Standardschreibweisen,  
     120-- die von der Migration redundant abgelegt wurden. 
     121INSERT INTO pp_strassenname_l (gml_id, schriftinhalt, hor, ver, art, the_geom) 
     122       SELECT gml_id, schriftinhalt, hor, ver, art, wkb_geometry 
     123       FROM ap_lto_stra; -- Der View sucht das passende advstandardmodell 
     124 
     125-- Schriftinhalt ergänzen (korrigiert 2014-08-25) 
     126-- Das sind die Standardschreibweisen aus dem Katalog, die nicht mehr redundant in ap_pto sind. 
     127-- Der Satz mit der passenen gml_id (Lage o.H.) ist aus dem View bereits importiert. 
     128-- Jetzt noch den dazu passenen Schriftinhalt aus dem Katalog holen. 
     129UPDATE pp_strassenname_l  p 
     130   SET schriftinhalt =     -- Hier ist der Label noch leer 
     131   -- Subquery "Gib mir den Straßennamen": 
     132   ( SELECT k.bezeichnung                         -- Straßenname .. 
     133       FROM ax_lagebezeichnungkatalogeintrag k    --  .. aus Katalog 
     134       JOIN ax_lagebezeichnungohnehausnummer l    -- verwendet als Lage o.H. 
     135         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 ) 
     136      WHERE p.gml_id = l.gml_id                   -- die gml_id wurde aus View importiert 
     137    ) 
     138 WHERE     p.schriftinhalt IS NULL 
     139   AND NOT p.the_geom      IS NULL; 
     140 
     141-- Die immer noch leeren Texte sind sinnlos. 
     142DELETE FROM pp_strassenname_l WHERE schriftinhalt IS NULL; 
    109143 
    110144 
  • trunk/import/sichten_wms.sql

    r296 r325  
    2222--  2013-04-22 art="PNR" (Pseudonummer) 
    2323--  2013-10-24 View ap_pto_stra wird ersetzt durch die Tabellen "pp_strassenname" und "pp_strassenklas", die im postProcessing gefÃŒllt werden. 
    24  
     24--  2014-02-24 Kein Filter auf advstandardmodell bei FlurstÃŒcks-Zuordnungspfeil 
     25--  2014-08-25 Straßennamen aufteilen in _P und L 
    2526 
    2627-- WMS-Layer "ag_t_flurstueck" 
     
    207208-- Layer "s_zuordungspfeil_flurstueck" (Signaturnummer 2004) 
    208209-- ----------------------------------- 
     210-- geÀ.: 2014-02-24: Kein Filter auf advstandardmodell 
    209211CREATE OR REPLACE VIEW s_zuordungspfeil_flurstueck  
    210212AS  
     
    218220  WHERE l.art = 'Pfeil' 
    219221    AND v.beziehungsart = 'dientZurDarstellungVon' 
    220     AND ('DKKM1000' ~~ ANY (l.advstandardmodell)) 
     222  --AND ('DKKM1000' ~~ ANY (l.advstandardmodell)) 
    221223    AND f.endet IS NULL 
    222224    AND l.endet IS NULL; 
     
    225227  IS 'Sicht fÃŒr Kartendarstellung: Zuordnungspfeil zur FlurstÃŒcksnummer, Liniengeometrie.'; 
    226228 
    227  
     229-- geÀ.: 2014-02-24: Kein Filter auf advstandardmodell 
    228230CREATE OR REPLACE VIEW s_zuordungspfeilspitze_flurstueck  
    229231AS  
     
    239241  WHERE l.art = 'Pfeil' 
    240242    AND v.beziehungsart = 'dientZurDarstellungVon' 
    241     AND ('DKKM1000' ~~ ANY (l.advstandardmodell)) 
     243  --AND ('DKKM1000' ~~ ANY (l.advstandardmodell)) 
    242244    AND f.endet IS NULL 
    243245    AND l.endet IS NULL; 
     
    296298AS  
    297299  SELECT p.ogc_fid, 
    298           -- p.advstandardmodell       AS modell,    -- TEST 
    299       -- l.gml_id, l.unverschluesselt, l.lage AS schluessel, -- zur Lage  TEST 
     300         l.gml_id,                               -- wird im PP zum Nachladen aus Katalog gebraucht 
    300301         p.schriftinhalt,                        -- WMS: LABELITEM 
    301302         p.art,                                  -- WMS: CLASSITEM 
     
    309310    JOIN ax_lagebezeichnungohnehausnummer l 
    310311      ON v.beziehung_zu = l.gml_id 
    311    WHERE NOT p.schriftinhalt IS NULL  
    312      AND  p.endet IS NULL                            -- nichts historisches 
     312   WHERE  p.endet IS NULL                            -- nichts historisches 
    313313     AND  p.art   IN ('Strasse','Weg','Platz','BezKlassifizierungStrasse') -- Diese Werte als CLASSES in LAYER behandeln.  
    314314     AND  v.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht 
    315      AND ('DKKM1000' = ANY (p.advstandardmodell)     -- "Lika 1000" bevorzugen 
     315     AND (   'DKKM1000' = ANY (p.advstandardmodell)  -- "Lika 1000" bevorzugen 
     316          OR 'DLKM'     = ANY (p.advstandardmodell)    
     317     -- Leopoldshöhe, Heinestraße: 'DLKM' 
    316318           -- Ersatzweise auch "keine Angabe", aber nur wenn es keinen besseren Text zur Lage gibt 
    317319           OR (p.advstandardmodell IS NULL 
    318320               AND (SELECT s.ogc_fid                -- irgend ein Feld 
    319                                           FROM ap_pto s                 -- eines anderen Textes (suchen) 
     321                      FROM ap_pto s                 -- eines anderen Textes (suchen) 
    320322                      JOIN alkis_beziehungen vs     -- zur gleichen Lage o.HsNr 
    321323                        ON s.gml_id = vs.beziehung_von 
     
    326328                       AND NOT s.advstandardmodell IS NULL  
    327329                     LIMIT 1  -- einer reicht als Beweis 
    328                                         ) IS NULL  
     330                   ) IS NULL  
    329331              ) -- "Subquery IS NULL" liefert true wenn kein weiterer Text gefunden wird 
    330332         ) 
    331333; 
     334 
    332335COMMENT ON VIEW ap_pto_stra  
    333   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'; 
    334  
    335 -- 2013-10-24: Daten aus dem View "ap_pto_stra" werden im PostProcessing gespeichert in den Tabellen "pp_strassenname" und "pp_strassenklas". 
     336  IS 'Sicht fÃŒr Kartendarstellung: Beschriftung aus "ap_pto" fÃŒr Lagebezeichnung mit Art "Straße", "Weg", "Platz" oder Klassifizierung. 
     337 Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe. Dient im Script pp_laden.sql zum ersten FÃŒllen der Tabelle "pp_strassenname_p".'; 
     338 
     339 
     340-- Daten aus dem View "ap_pto_stra" werden im PostProcessing gespeichert in der Tabelle "pp_strassenname_p". 
    336341-- Der View ÃŒbernimmt die Auswahl des passenden advstandardmodell und rechnet den Winkel passend um, 
    337342-- In der Tabelle werden dann die leer gebliebenen Label aus dem Katalog noch ergÀnzt. 
     343 
     344DROP VIEW ap_lto_stra; 
     345 
     346CREATE OR REPLACE VIEW ap_lto_stra  
     347AS  
     348  SELECT p.ogc_fid, 
     349         l.gml_id,                               -- wird im PP zum Nachladen aus Katalog gebraucht 
     350         p.schriftinhalt,                        -- WMS: LABELITEM 
     351         p.art,                                  -- WMS: CLASSITEM 
     352         p.horizontaleausrichtung  AS hor,       -- Verfeinern der Text-Position .. 
     353         p.vertikaleausrichtung    AS ver,       --  .. durch Klassifizierung hor/ver 
     354         p.wkb_geometry 
     355    FROM ap_lto p 
     356    JOIN alkis_beziehungen v   -- Relation zur Lagebezeichnung o. HsNr. 
     357      ON p.gml_id = v.beziehung_von 
     358    JOIN ax_lagebezeichnungohnehausnummer l 
     359      ON v.beziehung_zu = l.gml_id 
     360   WHERE  p.endet IS NULL                            -- nichts historisches 
     361     AND  p.art   IN ('Strasse','Weg','Platz','BezKlassifizierungStrasse') -- Diese Werte als CLASSES in LAYER behandeln.  
     362     AND  v.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht 
     363 
     364--   AND (   ('DKKM1000' = ANY (p.advstandardmodell)     -- "Lika 1000" bevorzugen 
     365--        OR ('DLKM'     = ANY (p.advstandardmodell)  )  
     366 
     367     -- ++ Muss als Array angelegt sein!! 
     368     AND ( NOT p.advstandardmodell  IS NULL          -- ++ Zwischenlösung bis DB mit neuem Schema (2014-08-22) angelegt und geladen wurde ++ 
     369 
     370           -- Ersatzweise auch "keine Angabe", aber nur wenn es keinen besseren Text zur Lage gibt 
     371           OR (p.advstandardmodell IS NULL 
     372               AND (SELECT s.ogc_fid                -- irgend ein Feld 
     373                      FROM ap_lto s                 -- eines anderen Textes (suchen) 
     374                      JOIN alkis_beziehungen vs     -- zur gleichen Lage o.HsNr 
     375                        ON s.gml_id = vs.beziehung_von 
     376                      JOIN ax_lagebezeichnungohnehausnummer ls 
     377                        ON vs.beziehung_zu = ls.gml_id 
     378                     WHERE ls.gml_id = l.gml_id 
     379                       AND vs.beziehungsart = 'dientZurDarstellungVon' -- kann, muss aber nicht 
     380                       AND NOT s.advstandardmodell IS NULL  
     381                     LIMIT 1  -- einer reicht als Beweis 
     382                   ) IS NULL  
     383              ) -- "Subquery IS NULL" liefert true wenn kein weiterer Text gefunden wird 
     384         ) 
     385; 
     386COMMENT ON VIEW ap_lto_stra  
     387  IS 'Sicht fÃŒr Kartendarstellung: Beschriftung aus "ap_lto" fÃŒr Lagebezeichnung mit Art "Straße", "Weg", "Platz" oder Klassifizierung. 
     388 Vorzugsweise mit advstandardmodell="DKKM1000", ersatzweise ohne Angabe. Dient im Script pp_laden.sql zum ersten FÃŒllen der Tabelle "pp_strassenname_l".'; 
     389 
     390-- 2014-08-22: Daten aus dem View "ap_lto_stra" werden im PostProcessing gespeichert in den Tabellen "pp_strassenname_l". 
     391-- Der View ÃŒbernimmt die Auswahl des passenden advstandardmodell. 
     392-- In der Tabelle werden dann die leer gebliebenen Label aus dem Katalog noch ergÀnzt. 
     393 
    338394 
    339395-- Layer NAME "ap_pto_nam" GROUP "praesentation" 
Note: See TracChangeset for help on using the changeset viewer.