source: trunk/data/konvert/postnas_0.5/alkis_sichten.sql @ 26

Revision 26, 6.9 KB checked in by frank.jaeger, 14 years ago (diff)
Line 
1-- =====
2-- ALKIS
3-- =====
4
5--  PostNAS 0.3, 24.02.2009  R. Segsa, DT
6
7--  PostNAS 0.4, 02.04.2009
8
9--  PostNAS 0.5,
10--   06.01.2010  F, Jaeger, KRZ
11--   21.01.2010  ap-pto.art
12
13--   Verbindungen werden seit PostNAS 0.5 nicht mehr nachtrÀglich mit einem Script generiert
14--   sondern vom Konverter PostNAS gesetzt.
15--   Jetzt zentrale Tabelle "alkis_beziehungen" statt der Felder (ForeignKey) in den einzelnen Tabellen.
16
17
18--  -----------------------------------------
19--  Sichten fuer Verwendung im mapfiles (wms)
20--  -----------------------------------------
21
22
23-- Layer "ag_t_flurstueck" in ag_flurstueck.map
24-- --------------------------------------------
25
26-- Die Geometrie befindet sich in "ap_pto", der Label in "ax_flurstueck"
27-- Die Verbindung erfolgt ÃŒber "alkis_beziehungen"
28
29-- bis 13.01.2010:
30--CREATE OR REPLACE VIEW s_flurstuecksnummer_flurstueck
31--AS
32-- SELECT ap_pto.ogc_fid,
33--        ap_pto.wkb_geometry,
34--        ax_flurstueck.flurstueckskennzeichen,
35--        ax_flurstueck.zaehler,                 -- umn: LABELITEM
36--        ax_flurstueck.nenner
37--   FROM ap_pto
38--   JOIN alkis_beziehungen
39--     ON ap_pto.gml_id = alkis_beziehungen.beziehung_von
40--   JOIN ax_flurstueck
41--     ON alkis_beziehungen.beziehung_zu = ax_flurstueck.gml_id
42--  WHERE ap_pto.art = 'ZAE_NEN'                 -- ZÀhler / Nenner
43--    AND alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon';
44
45-- In einigen Gebieten enthÀlt das Feld "ap_pto.art"
46-- nicht den Wert 'ZAE_NEN' sondern 'urn:adv:fachdatenverbindung'.
47-- Die FlurstÃŒcksnummer fehlt dann im WMS.
48-- Die Bedingung vorÌbergehend heraus nehmen. Ursache klÀren!
49
50CREATE OR REPLACE VIEW s_flurstuecksnummer_flurstueck
51AS
52 SELECT ap_pto.ogc_fid,
53        ap_pto.wkb_geometry,
54        ax_flurstueck.flurstueckskennzeichen,
55        ax_flurstueck.zaehler,                 -- umn: LABELITEM
56        ax_flurstueck.nenner
57   FROM ap_pto
58   JOIN alkis_beziehungen
59     ON ap_pto.gml_id = alkis_beziehungen.beziehung_von
60   JOIN ax_flurstueck
61     ON alkis_beziehungen.beziehung_zu = ax_flurstueck.gml_id
62  WHERE alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon';
63
64  GRANT SELECT ON TABLE s_flurstuecksnummer_flurstueck TO ms5;
65
66
67-- Layer "ag_t_gebaeude" in ag_gebaeude.map
68-- -----------------------------------------
69
70--CREATE OR REPLACE VIEW s_hausnummer_gebaeude
71--AS
72-- SELECT ap_pto.ogc_fid,
73--        ap_pto.wkb_geometry,
74--        ap_pto.drehwinkel * 57.296 AS drehwinkel,   -- umn: ANGLE [drehwinkel]
75--        ax_lagebezeichnungmithausnummer.hausnummer  -- umn: LABELITEM
76--   FROM ap_pto
77--   JOIN alkis_beziehungen
78--     ON ap_pto.gml_id = alkis_beziehungen.beziehung_von
79--   JOIN ax_lagebezeichnungmithausnummer
80--     ON alkis_beziehungen.beziehung_zu  = ax_lagebezeichnungmithausnummer.gml_id
81--  WHERE ap_pto.art = 'HNR'  -- Hausnummer
82--     AND alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon';
83
84
85-- In einigen Gebieten enthÀlt das Feld "ap_pto.art"
86-- nicht den Wert 'HNR'.
87-- Die Hausnummer fehlt dann im WMS.
88-- Die Bedingung vorÌbergehend heraus nehmen. Ursache klÀren!
89
90
91CREATE OR REPLACE VIEW s_hausnummer_gebaeude
92AS
93 SELECT ap_pto.ogc_fid,
94        ap_pto.wkb_geometry,
95        ap_pto.drehwinkel * 57.296 AS drehwinkel,   -- umn: ANGLE [drehwinkel]
96        ax_lagebezeichnungmithausnummer.hausnummer  -- umn: LABELITEM
97   FROM ap_pto
98   JOIN alkis_beziehungen
99     ON ap_pto.gml_id = alkis_beziehungen.beziehung_von
100   JOIN ax_lagebezeichnungmithausnummer
101     ON alkis_beziehungen.beziehung_zu  = ax_lagebezeichnungmithausnummer.gml_id
102  WHERE alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon';
103
104GRANT SELECT ON TABLE s_hausnummer_gebaeude TO ms5;
105 
106
107-- Layer "ag_p_flurstueck" in ag_flurstueck.map
108-- --------------------------------------------
109
110CREATE OR REPLACE VIEW s_zugehoerigkeitshaken_flurstueck
111AS
112 SELECT ap_ppo.ogc_fid,
113        ap_ppo.wkb_geometry,
114        ap_ppo.drehwinkel * 57.296 + 90 AS drehwinkel,
115        ax_flurstueck.flurstueckskennzeichen
116   FROM ap_ppo
117   JOIN alkis_beziehungen
118     ON ap_ppo.gml_id = alkis_beziehungen.beziehung_von
119   JOIN ax_flurstueck
120     ON alkis_beziehungen.beziehung_zu = ax_flurstueck.gml_id
121  WHERE ap_ppo.art = 'Haken'
122    AND alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon';
123
124GRANT SELECT ON TABLE s_zugehoerigkeitshaken_flurstueck TO ms5;
125
126
127
128-- Layer "ag_l_flurstueck" in ag_flurstueck.map
129-- --------------------------------------------
130
131CREATE OR REPLACE VIEW s_zuordungspfeil_flurstueck
132AS
133 SELECT ap_lpo.ogc_fid,
134        ap_lpo.wkb_geometry
135   FROM ap_lpo
136   JOIN alkis_beziehungen
137     ON ap_lpo.gml_id = alkis_beziehungen.beziehung_von
138   JOIN ax_flurstueck
139     ON alkis_beziehungen.beziehung_zu = ax_flurstueck.gml_id
140  WHERE ap_lpo.art = 'Pfeil'
141    AND alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon';
142
143GRANT SELECT ON TABLE s_zuordungspfeil_flurstueck TO ms5;
144
145
146--  ------------------------------------------
147--  Sichten fuer Fehlersuche und Daten-Analyse
148--  ------------------------------------------
149
150
151-- Zeigt die Texte an, die nicht in einem der Mapfile-Views verarbeitet werden
152CREATE OR REPLACE VIEW s_allgemeine_texte
153AS
154 SELECT ap_pto.ogc_fid,
155      --ap_pto.wkb_geometry,
156      --ap_pto.gml_id,
157        ap_pto.art,
158        ap_pto.drehwinkel * 57.296 AS drehwinkel,   -- * 180 / Pi
159        ap_pto.schriftinhalt
160   FROM ap_pto
161  WHERE NOT ap_pto.art = 'ZAE_NEN'
162    AND NOT ap_pto.art = 'HNR'
163    AND NOT ap_pto.art = 'FKT'
164    AND NOT ap_pto.art = 'Friedhof'
165    AND ap_pto.schriftinhalt IS NOT NULL;
166
167
168
169-- Analyse zu o.g. Fehler:
170--  Welche Inhalte kommen im Feld ap_pto.art vor?
171CREATE OR REPLACE VIEW ap_pto_arten
172AS
173  SELECT DISTINCT art
174    FROM ap_pto;
175
176
177-- Umbruch im Label?
178-- z.B. "Schwimm-/nbecken"
179-- Sind 2 Buchstaben in Mapfile bei "WRAP" möglich?
180CREATE OR REPLACE VIEW texte_mit_umbruch
181AS
182 SELECT ogc_fid, schriftinhalt, art
183   FROM ap_pto
184  WHERE not schriftinhalt is null
185    AND schriftinhalt like '%/n%';
186
187-- ... schriftinhalt like '%/%';
188-- RLP: FlurstÌcks-Bruchnummer art='ZAE_NEN' als Schriftinhalt (2 FÀlle)
189
190
191
192CREATE OR REPLACE VIEW s_allgemeine_texte_arten
193AS
194 SELECT DISTINCT art
195   FROM s_allgemeine_texte;
196
197-- dies liefert die Werte:
198--  Bahnverkehr, BWF, FKT_LGT, Fliessgewaesser, FreierText, Gewanne, NAM, Platz,
199--  StehendesGewaesser, Strasse, urn:adv:fachdatenv, Weg, ZNM
200
201--GRANT SELECT ON TABLE s_allgemeine_texte  TO ms5; -- nicht im WMS
202
203
204-- EXTENT fÃŒr Mapfile eines Mandenten ermitteln
205
206CREATE OR REPLACE VIEW flurstuecks_minmax AS
207 SELECT min(st_xmin(wkb_geometry)) AS r_min,
208        min(st_ymin(wkb_geometry)) AS h_min,
209        max(st_xmax(wkb_geometry)) AS r_max,
210        max(st_ymax(wkb_geometry)) AS h_max
211   FROM public.ax_flurstueck;
212
213COMMENT ON VIEW flurstuecks_minmax IS 'Maximale Ausdehnung von ax_flurstueck fuer EXTENT-Angabe im Mapfile';
214
215
216-- END --
Note: See TracBrowser for help on using the repository browser.