-- ===== -- ALKIS -- ===== -- PostNAS 0.3, 24.02.2009 R. Segsa, DT -- PostNAS 0.4, 02.04.2009 -- PostNAS 0.5, -- 06.01.2010 F, Jaeger, KRZ -- 21.01.2010 ap-pto.art -- Verbindungen werden seit PostNAS 0.5 nicht mehr nachträglich mit einem Script generiert -- sondern vom Konverter PostNAS gesetzt. -- Jetzt zentrale Tabelle "alkis_beziehungen" statt der Felder (ForeignKey) in den einzelnen Tabellen. -- ----------------------------------------- -- Sichten fuer Verwendung im mapfiles (wms) -- ----------------------------------------- -- Layer "ag_t_flurstueck" in ag_flurstueck.map -- -------------------------------------------- -- Die Geometrie befindet sich in "ap_pto", der Label in "ax_flurstueck" -- Die Verbindung erfolgt über "alkis_beziehungen" -- bis 13.01.2010: --CREATE OR REPLACE VIEW s_flurstuecksnummer_flurstueck --AS -- SELECT ap_pto.ogc_fid, -- ap_pto.wkb_geometry, -- ax_flurstueck.flurstueckskennzeichen, -- ax_flurstueck.zaehler, -- umn: LABELITEM -- ax_flurstueck.nenner -- FROM ap_pto -- JOIN alkis_beziehungen -- ON ap_pto.gml_id = alkis_beziehungen.beziehung_von -- JOIN ax_flurstueck -- ON alkis_beziehungen.beziehung_zu = ax_flurstueck.gml_id -- WHERE ap_pto.art = 'ZAE_NEN' -- Zähler / Nenner -- AND alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon'; -- In einigen Gebieten enthält das Feld "ap_pto.art" -- nicht den Wert 'ZAE_NEN' sondern 'urn:adv:fachdatenverbindung'. -- Die Flurstücksnummer fehlt dann im WMS. -- Die Bedingung vorübergehend heraus nehmen. Ursache klären! CREATE OR REPLACE VIEW s_flurstuecksnummer_flurstueck AS SELECT ap_pto.ogc_fid, ap_pto.wkb_geometry, ax_flurstueck.flurstueckskennzeichen, ax_flurstueck.zaehler, -- umn: LABELITEM ax_flurstueck.nenner FROM ap_pto JOIN alkis_beziehungen ON ap_pto.gml_id = alkis_beziehungen.beziehung_von JOIN ax_flurstueck ON alkis_beziehungen.beziehung_zu = ax_flurstueck.gml_id WHERE alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon'; GRANT SELECT ON TABLE s_flurstuecksnummer_flurstueck TO ms5; -- Layer "ag_t_gebaeude" in ag_gebaeude.map -- ----------------------------------------- --CREATE OR REPLACE VIEW s_hausnummer_gebaeude --AS -- SELECT ap_pto.ogc_fid, -- ap_pto.wkb_geometry, -- ap_pto.drehwinkel * 57.296 AS drehwinkel, -- umn: ANGLE [drehwinkel] -- ax_lagebezeichnungmithausnummer.hausnummer -- umn: LABELITEM -- FROM ap_pto -- JOIN alkis_beziehungen -- ON ap_pto.gml_id = alkis_beziehungen.beziehung_von -- JOIN ax_lagebezeichnungmithausnummer -- ON alkis_beziehungen.beziehung_zu = ax_lagebezeichnungmithausnummer.gml_id -- WHERE ap_pto.art = 'HNR' -- Hausnummer -- AND alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon'; -- In einigen Gebieten enthält das Feld "ap_pto.art" -- nicht den Wert 'HNR'. -- Die Hausnummer fehlt dann im WMS. -- Die Bedingung vorübergehend heraus nehmen. Ursache klären! CREATE OR REPLACE VIEW s_hausnummer_gebaeude AS SELECT ap_pto.ogc_fid, ap_pto.wkb_geometry, ap_pto.drehwinkel * 57.296 AS drehwinkel, -- umn: ANGLE [drehwinkel] ax_lagebezeichnungmithausnummer.hausnummer -- umn: LABELITEM FROM ap_pto JOIN alkis_beziehungen ON ap_pto.gml_id = alkis_beziehungen.beziehung_von JOIN ax_lagebezeichnungmithausnummer ON alkis_beziehungen.beziehung_zu = ax_lagebezeichnungmithausnummer.gml_id WHERE alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon'; GRANT SELECT ON TABLE s_hausnummer_gebaeude TO ms5; -- Layer "ag_p_flurstueck" in ag_flurstueck.map -- -------------------------------------------- CREATE OR REPLACE VIEW s_zugehoerigkeitshaken_flurstueck AS SELECT ap_ppo.ogc_fid, ap_ppo.wkb_geometry, ap_ppo.drehwinkel * 57.296 + 90 AS drehwinkel, ax_flurstueck.flurstueckskennzeichen FROM ap_ppo JOIN alkis_beziehungen ON ap_ppo.gml_id = alkis_beziehungen.beziehung_von JOIN ax_flurstueck ON alkis_beziehungen.beziehung_zu = ax_flurstueck.gml_id WHERE ap_ppo.art = 'Haken' AND alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon'; GRANT SELECT ON TABLE s_zugehoerigkeitshaken_flurstueck TO ms5; -- Layer "ag_l_flurstueck" in ag_flurstueck.map -- -------------------------------------------- CREATE OR REPLACE VIEW s_zuordungspfeil_flurstueck AS SELECT ap_lpo.ogc_fid, ap_lpo.wkb_geometry FROM ap_lpo JOIN alkis_beziehungen ON ap_lpo.gml_id = alkis_beziehungen.beziehung_von JOIN ax_flurstueck ON alkis_beziehungen.beziehung_zu = ax_flurstueck.gml_id WHERE ap_lpo.art = 'Pfeil' AND alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon'; GRANT SELECT ON TABLE s_zuordungspfeil_flurstueck TO ms5; -- ------------------------------------------ -- Sichten fuer Fehlersuche und Daten-Analyse -- ------------------------------------------ -- Zeigt die Texte an, die nicht in einem der Mapfile-Views verarbeitet werden CREATE OR REPLACE VIEW s_allgemeine_texte AS SELECT ap_pto.ogc_fid, --ap_pto.wkb_geometry, --ap_pto.gml_id, ap_pto.art, ap_pto.drehwinkel * 57.296 AS drehwinkel, -- * 180 / Pi ap_pto.schriftinhalt FROM ap_pto WHERE NOT ap_pto.art = 'ZAE_NEN' AND NOT ap_pto.art = 'HNR' AND NOT ap_pto.art = 'FKT' AND NOT ap_pto.art = 'Friedhof' AND ap_pto.schriftinhalt IS NOT NULL; -- Analyse zu o.g. Fehler: -- Welche Inhalte kommen im Feld ap_pto.art vor? CREATE OR REPLACE VIEW ap_pto_arten AS SELECT DISTINCT art FROM ap_pto; -- Umbruch im Label? -- z.B. "Schwimm-/nbecken" -- Sind 2 Buchstaben in Mapfile bei "WRAP" möglich? CREATE OR REPLACE VIEW texte_mit_umbruch AS SELECT ogc_fid, schriftinhalt, art FROM ap_pto WHERE not schriftinhalt is null AND schriftinhalt like '%/n%'; -- ... schriftinhalt like '%/%'; -- RLP: Flurstücks-Bruchnummer art='ZAE_NEN' als Schriftinhalt (2 Fälle) CREATE OR REPLACE VIEW s_allgemeine_texte_arten AS SELECT DISTINCT art FROM s_allgemeine_texte; -- dies liefert die Werte: -- Bahnverkehr, BWF, FKT_LGT, Fliessgewaesser, FreierText, Gewanne, NAM, Platz, -- StehendesGewaesser, Strasse, urn:adv:fachdatenv, Weg, ZNM --GRANT SELECT ON TABLE s_allgemeine_texte TO ms5; -- nicht im WMS -- EXTENT für Mapfile eines Mandenten ermitteln CREATE OR REPLACE VIEW flurstuecks_minmax AS SELECT min(st_xmin(wkb_geometry)) AS r_min, min(st_ymin(wkb_geometry)) AS h_min, max(st_xmax(wkb_geometry)) AS r_max, max(st_ymax(wkb_geometry)) AS h_max FROM public.ax_flurstueck; COMMENT ON VIEW flurstuecks_minmax IS 'Maximale Ausdehnung von ax_flurstueck fuer EXTENT-Angabe im Mapfile'; -- END --