source: trunk/data/konvert/postnas_0.6/sichten.sql @ 145

Revision 140, 21.0 KB checked in by frank.jaeger, 12 years ago (diff)

Filter auf Gemeinde bei Navigation bei Suche nach Eigentümer. Dazu Hilfstabelle aufbauen.

Line 
1-- =====
2-- ALKIS
3-- =====
4
5--  PostNAS 0.6
6
7--  2011-07-25 PostNAS 06, Umbenennung
8--  2011-10-20 Nummer NebengebÀude und Zuordnungspfeile fuer GebÀude   ##### IN ARBEIT
9--  2011-12-08 umbenannt "gemeinde_in_gemarkung" -> "gemarkung_in_gemeinde"
10
11--  -----------------------------------------
12--  Sichten fuer Verwendung im mapfiles (wms)
13--  -----------------------------------------
14
15
16-- Layer "ag_t_flurstueck"
17-- -----------------------
18
19-- Die Geometrie befindet sich in "ap_pto", der Label in "ax_flurstueck"
20-- Die Verbindung erfolgt ÃŒber "alkis_beziehungen"
21
22-- PostNAS 0.5, September 2010:
23--   Musterdaten RLP: zaehler-nenner steht auch in Feld "ap_pto.schriftinhalt"
24--   Lippe NRW:       Feld "ap_pto.schriftinhalt" ist leer. Label aus Tabelle "ax_flurstueck" entnehmen
25
26
27-- In einigen Gebieten enthÀlt das Feld "ap_pto.art"
28-- nicht den Wert 'ZAE_NEN' sondern 'urn:adv:fachdatenverbindung'.
29-- Die FlurstÃŒcksnummer fehlt dann im WMS.
30-- Die Bedingung vorÌbergehend heraus nehmen. Ursache klÀren!
31
32
33-- Bruchnummerierung erzeugen
34
35CREATE OR REPLACE VIEW s_flurstueck_nr
36AS
37 SELECT ap_pto.ogc_fid,
38        ap_pto.wkb_geometry,   -- Position des Textes
39    --  ax_flurstueck.flurstueckskennzeichen,   -- am Stueck, aufgefuellt, unpraktisch
40    --  ax_flurstueck.gemarkungsnummer,  -- integer
41    --  ax_flurstueck.flurnummer,        -- integer
42    --  ax_flurstueck.zaehler,           -- integer
43    --  ax_flurstueck.nenner,            -- integer oder NULL
44        ax_flurstueck.zaehler::text || COALESCE ('/' || ax_flurstueck.nenner::text, '') AS fsnum
45   FROM ap_pto
46   JOIN alkis_beziehungen
47     ON ap_pto.gml_id = alkis_beziehungen.beziehung_von
48   JOIN ax_flurstueck
49     ON alkis_beziehungen.beziehung_zu = ax_flurstueck.gml_id
50  WHERE alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon'
51  --AND ap_pto.art = 'ZAE_NEN'
52  ;
53
54COMMENT ON VIEW s_flurstueck_nr IS 'fuer Kartendarstellung: Bruchnummerierung FlurstÃŒck';
55
56
57-- Layer "ag_t_gebaeude"
58-- ---------------------
59
60-- In einigen Gebieten in Lippe enthÀlt das Feld "ap_pto.art"
61-- nicht den Wert 'HNR'. Die Hausnummer fehlt dann im WMS.
62-- Die Bedingung vorÌbergehend heraus nehmen. Ursache klÀren!
63
64CREATE OR REPLACE VIEW s_hausnummer_gebaeude
65AS
66 SELECT ap_pto.ogc_fid,
67        ap_pto.wkb_geometry,
68        ap_pto.drehwinkel * 57.296 AS drehwinkel,   -- umn: ANGLE [drehwinkel]
69        ax_lagebezeichnungmithausnummer.hausnummer  -- umn: LABELITEM
70   FROM ap_pto
71   JOIN alkis_beziehungen
72     ON ap_pto.gml_id = alkis_beziehungen.beziehung_von
73   JOIN ax_lagebezeichnungmithausnummer
74     ON alkis_beziehungen.beziehung_zu  = ax_lagebezeichnungmithausnummer.gml_id
75  WHERE alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon';
76
77COMMENT ON VIEW s_hausnummer_gebaeude IS 'fuer Kartendarstellung: Hausnummern HauptgebÀude';
78
79
80-- Layer "ag_t_nebengeb"
81-- ---------------------
82
83CREATE OR REPLACE VIEW s_nummer_nebengebaeude
84AS
85 SELECT ap_pto.ogc_fid,
86        ap_pto.wkb_geometry,
87        ap_pto.drehwinkel * 57.296 AS drehwinkel,        -- umn: ANGLE [drehwinkel]
88     -- alkis_beziehungen.beziehungsart,                 -- TEST
89     -- ax_lagebezeichnungmitpseudonummer.pseudonummer,  -- die HsNr des zugehoerigen Hauptgebaeudes
90        ax_lagebezeichnungmitpseudonummer.laufendenummer -- umn: LABELITEM - die laufende Nummer des Nebengebaeudes
91   FROM ap_pto
92   JOIN alkis_beziehungen
93     ON ap_pto.gml_id = alkis_beziehungen.beziehung_von
94   JOIN ax_lagebezeichnungmitpseudonummer
95     ON alkis_beziehungen.beziehung_zu  = ax_lagebezeichnungmitpseudonummer.gml_id
96  WHERE alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon'
97;
98
99COMMENT ON VIEW s_nummer_nebengebaeude IS 'fuer Kartendarstellung: Hausnummern NebengebÀude';
100
101-- ToDo: Die Zahl in Klammern setzen ?  (in Map oder View?)
102
103
104-- Layer "ag_p_flurstueck"
105-- -----------------------
106
107CREATE OR REPLACE VIEW s_zugehoerigkeitshaken_flurstueck
108AS
109 SELECT ap_ppo.ogc_fid,
110        ap_ppo.wkb_geometry,
111        ap_ppo.drehwinkel * 57.296 + 90 AS drehwinkel,
112        ax_flurstueck.flurstueckskennzeichen
113   FROM ap_ppo
114   JOIN alkis_beziehungen
115     ON ap_ppo.gml_id = alkis_beziehungen.beziehung_von
116   JOIN ax_flurstueck
117     ON alkis_beziehungen.beziehung_zu = ax_flurstueck.gml_id
118  WHERE ap_ppo.art = 'Haken'
119    AND alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon';
120
121COMMENT ON VIEW s_zugehoerigkeitshaken_flurstueck IS 'fuer Kartendarstellung';
122
123
124-- Layer "s_zuordungspfeil_flurstueck"
125-- -----------------------------------
126
127CREATE OR REPLACE VIEW s_zuordungspfeil_flurstueck
128AS
129 SELECT ap_lpo.ogc_fid,
130        ap_lpo.wkb_geometry
131   FROM ap_lpo
132   JOIN alkis_beziehungen
133     ON ap_lpo.gml_id = alkis_beziehungen.beziehung_von
134   JOIN ax_flurstueck
135     ON alkis_beziehungen.beziehung_zu = ax_flurstueck.gml_id
136  WHERE ap_lpo.art = 'Pfeil'
137    AND alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon';
138
139COMMENT ON VIEW s_zuordungspfeil_flurstueck IS 'fuer Kartendarstellung';
140
141
142-- Layer NAME "ap_pto" GROUP "praesentation"
143-- ----------------------------------------
144-- Texte, die nicht schon in einem anderen Layer ausgegeben werden
145
146CREATE OR REPLACE VIEW s_beschriftung
147AS
148  SELECT ap_pto.ogc_fid,
149      -- ap_pto.gml_id,
150         ap_pto.schriftinhalt,
151         ap_pto.art,
152         ap_pto.drehwinkel * 57.296 AS winkel, -- * 180 / Pi
153         ap_pto.wkb_geometry
154    FROM ap_pto
155   WHERE not ap_pto.schriftinhalt IS NULL
156     AND art NOT IN ('ZAE_NEN', 'HNR')
157   ;
158--  IN ('FKT', 'Friedhof', 'urn:adv:fachdatenv')
159
160-- Diese IN-Liste fortschreiben bei Erweiterungen des Mapfiles
161
162-- Lippe: Der Wert 'ZAE_NEN' fehlt. Diese FÀlle anders identifizieren?
163
164COMMENT ON VIEW s_beschriftung IS 'ap_pto, die noch nicht in anderen Layern angezeigt werden';
165
166
167BAUSTELLE
168
169
170-- Layer "s_zuordungspfeil_gebaeude"
171-- -----------------------------------
172
173CREATE OR REPLACE VIEW s_zuordungspfeil_gebaeude
174AS
175 SELECT ap_lpo.ogc_fid,
176     -- alkis_beziehungen.beziehungsart, -- TEST
177     -- ap_lpo.art, -- TEST
178        ap_lpo.wkb_geometry
179   FROM ap_lpo
180   JOIN alkis_beziehungen
181     ON ap_lpo.gml_id = alkis_beziehungen.beziehung_von
182   JOIN ax_gebaeude
183     ON alkis_beziehungen.beziehung_zu = ax_gebaeude.gml_id
184  WHERE ap_lpo.art = 'Pfeil'
185    AND alkis_beziehungen.beziehungsart = 'dientZurDarstellungVon';
186
187COMMENT ON VIEW s_zuordungspfeil_gebaeude IS 'fuer Kartendarstellung';
188
189
190-- Sichten vom OBK (Oberbergischer Kreis) zu "Grenzen"
191-- ---------------------------------------------------
192-- Schema "alkis" daraus entfernt.
193
194-- Feld "ax_besondereflurstuecksgrenze.artderflurstuecksgrenze" als Array "integer[]" !
195-- Anpassung Schema 18.09.2011
196
197CREATE OR REPLACE VIEW sk2022_gemeindegrenze
198AS
199 SELECT gemg.ogc_fid, gemg.wkb_geometry
200   FROM ax_besondereflurstuecksgrenze gemg
201  WHERE (7106 = ANY (gemg.artderflurstuecksgrenze))
202    AND gemg.advstandardmodell ~~ 'DLKM'::text;
203
204
205CREATE OR REPLACE VIEW sk2020_regierungsbezirksgrenze
206AS
207 SELECT rbg.ogc_fid, rbg.wkb_geometry
208   FROM ax_besondereflurstuecksgrenze rbg
209  WHERE (7103 = ANY (rbg.artderflurstuecksgrenze))
210    AND rbg.advstandardmodell ~~ 'DLKM'::text;
211
212
213CREATE OR REPLACE VIEW sk2018_bundeslandgrenze
214AS
215 SELECT blg.ogc_fid, blg.wkb_geometry
216   FROM ax_besondereflurstuecksgrenze blg
217  WHERE (7102 = ANY (blg.artderflurstuecksgrenze))
218    AND blg.advstandardmodell ~~ 'DLKM'::text;
219
220
221CREATE OR REPLACE VIEW sk2014_gemarkungsgrenze
222AS
223 SELECT gemag.ogc_fid, gemag.wkb_geometry
224   FROM ax_besondereflurstuecksgrenze gemag
225  WHERE (7003 = ANY (gemag.artderflurstuecksgrenze))
226    AND gemag.advstandardmodell ~~ 'DLKM'::text;
227
228
229--CREATE OR REPLACE VIEW sk2012_flurgrenze
230--AS
231-- SELECT fg.ogc_fid, fg.wkb_geometry
232--   FROM ax_besondereflurstuecksgrenze fg
233--  WHERE (3000 = ANY (fg.artderflurstuecksgrenze))
234--    AND fg.advstandardmodell ~~ 'DLKM'::text;
235
236-- Vorlaeufig, bis Schema umgestellt ist
237
238CREATE OR REPLACE VIEW sk2012_flurgrenze
239AS
240 SELECT fg.ogc_fid, fg.wkb_geometry
241   FROM ax_besondereflurstuecksgrenze fg
242  WHERE (3000 = fg.artderflurstuecksgrenze)
243    AND fg.advstandardmodell ~~ 'DLKM'::text;
244
245-- comment ....
246
247
248--  ------------------------------------------
249--  Sichten fuer Fehlersuche und Daten-Analyse
250--  ------------------------------------------
251
252-- Zeigt die Texte an, die nicht in einem der Mapfile-Views verarbeitet werden
253CREATE OR REPLACE VIEW s_allgemeine_texte
254AS
255 SELECT ap_pto.ogc_fid,
256      --ap_pto.wkb_geometry,
257      --ap_pto.gml_id,
258        ap_pto.art,
259        ap_pto.drehwinkel * 57.296 AS drehwinkel,   -- * 180 / Pi
260        ap_pto.schriftinhalt
261   FROM ap_pto
262  WHERE NOT ap_pto.art = 'ZAE_NEN'
263    AND NOT ap_pto.art = 'HNR'
264    AND NOT ap_pto.art = 'FKT'
265    AND NOT ap_pto.art = 'Friedhof'
266    AND ap_pto.schriftinhalt IS NOT NULL;
267
268
269-- Analyse zu o.g. Fehler:
270--  Welche Inhalte kommen im Feld ap_pto.art vor?
271CREATE OR REPLACE VIEW ap_pto_arten
272AS
273  SELECT DISTINCT art
274    FROM ap_pto;
275
276
277-- Umbruch im Label?
278-- z.B. "Schwimm-/nbecken"
279-- Sind 2 Buchstaben in Mapfile bei "WRAP" möglich?
280CREATE OR REPLACE VIEW texte_mit_umbruch
281AS
282 SELECT ogc_fid, schriftinhalt, art
283   FROM ap_pto
284  WHERE not schriftinhalt is null
285    AND schriftinhalt like '%/n%';
286
287-- ... schriftinhalt like '%/%';
288-- RLP: FlurstÌcks-Bruchnummer art='ZAE_NEN' als Schriftinhalt (2 FÀlle)
289
290
291
292CREATE OR REPLACE VIEW s_allgemeine_texte_arten
293AS
294 SELECT DISTINCT art
295   FROM s_allgemeine_texte;
296
297-- dies liefert die Werte:
298--  Bahnverkehr, BWF, FKT_LGT, Fliessgewaesser, FreierText, Gewanne, NAM, Platz,
299--  StehendesGewaesser, Strasse, urn:adv:fachdatenv, Weg, ZNM
300
301
302
303-- EXTENT fÃŒr Mapfile eines Mandenten ermitteln
304
305CREATE OR REPLACE VIEW flurstuecks_minmax AS
306 SELECT min(st_xmin(wkb_geometry)) AS r_min,
307        min(st_ymin(wkb_geometry)) AS h_min,
308        max(st_xmax(wkb_geometry)) AS r_max,
309        max(st_ymax(wkb_geometry)) AS h_max
310   FROM public.ax_flurstueck;
311
312COMMENT ON VIEW flurstuecks_minmax IS 'Maximale Ausdehnung von ax_flurstueck fuer EXTENT-Angabe im Mapfile';
313
314
315
316-- Nach Laden der Keytables:
317
318-- MAP ALT:
319-- DATA "wkb_geometry from (SELECT ogc_fid, gml_id, artderfestlegung, name, bezeichnung, stelle, wkb_geometry FROM ax_bauraumoderbodenordnungsrecht) as foo using unique ogc_fid using SRID=25832"
320
321CREATE OR REPLACE VIEW baurecht
322AS
323  SELECT r.ogc_fid,
324         r.wkb_geometry,
325         r.gml_id,
326         r.artderfestlegung as adfkey, -- Art der Festlegung - Key
327         r."name",                     -- Eigenname des Gebietes
328         r.stelle,                     -- Stelle Key
329         r.bezeichnung AS rechtbez,    -- Verfahrensnummer
330         a.bezeichner  AS adfbez,      -- Art der Festlegung - Bezeichnung
331         d.bezeichnung AS stellbez     -- Stelle Bezeichnung
332      -- , d.stellenart                -- weiter entschluesseln?
333    FROM ax_bauraumoderbodenordnungsrecht r
334    LEFT JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a
335      ON r.artderfestlegung = a.wert
336    LEFT JOIN ax_dienststelle d
337      ON r.land = d.land AND r.stelle = d.stelle
338 ;
339
340-- MAP NEU:
341-- DATA "wkb_geometry from (SELECT ogc_fid, gml_id, adfkey, name, stelle, rechtbez, adfbez, stellbez, wkb_geometry FROM baurecht) as foo using unique ogc_fid using SRID=25832" # gespeicherter View
342
343
344-- Man glaubt es kaum, aber im ALKIS haben Gemeinde und Gemarkung keinerlei Beziehung miteinander
345-- Nur durch Auswertung der FlurstÃŒcke kann man ermitteln, in welcher Gemeinde eine Gemarkung liegt.
346
347-- 2011-12-08 umbenannt
348
349CREATE OR REPLACE VIEW gemarkung_in_gemeinde
350AS
351  SELECT DISTINCT land, regierungsbezirk, kreis, gemeinde, gemarkungsnummer
352  FROM            ax_flurstueck
353  ORDER BY        land, regierungsbezirk, kreis, gemeinde, gemarkungsnummer
354;
355
356COMMENT ON VIEW gemarkung_in_gemeinde IS 'Welche Gemarkung liegt in welcher Gemeinde? Durch Verweise aus FlurstÃŒck.';
357
358
359-- Untersuchen, welche Geometrie-Typen vorkommen
360
361CREATE OR REPLACE VIEW arten_von_flurstuecksgeometrie
362AS
363 SELECT   count(gml_id) as anzahl,
364          st_geometrytype(wkb_geometry)
365 FROM     ax_flurstueck
366 GROUP BY st_geometrytype(wkb_geometry);
367
368-- Lage
369--   256 ST_MultiPolygon
370-- 23377 ST_Polygon
371
372-- RLP
373--    2 ST_MultiPolygon
374-- 2367 ST_Polygon
375
376
377-- A d r e s s e n
378
379-- Verschluesselte Lagebezeichnung (Strasse und Hausnummer) fuer eine Gemeinde
380-- Schluessel der Gemeinde nach Bedarf anpassen!
381
382--  FEHLER: Funktion to_char(character varying, unknown) existiert nicht
383
384
385CREATE VIEW  adressen_hausnummern
386AS
387    SELECT
388        s.bezeichnung AS strassenname,
389         g.bezeichnung AS gemeindename,
390         l.land,
391         l.regierungsbezirk,
392         l.kreis,
393         l.gemeinde,
394         l.lage        AS strassenschluessel,
395         l.hausnummer
396    FROM   ax_lagebezeichnungmithausnummer l 
397    JOIN   ax_gemeinde g
398      ON l.kreis=g.kreis
399     AND l.gemeinde=g.gemeinde
400    JOIN   ax_lagebezeichnungkatalogeintrag s
401      ON l.kreis=s.kreis
402     AND l.gemeinde=s.gemeinde
403  -- AND to_char(l.lage, 'FM00000')=s.lage   -- PostNAS 0.5
404     AND l.lage = s.lage                     -- PostNAS 0.6
405    WHERE     l.gemeinde = 40;  -- "40" = Stadt Lage
406
407
408-- Zuordnung dieser Adressen zu Flurstuecken
409-- Schluessel der Gemeinde nach Bedarf anpassen!
410
411CREATE VIEW adressen_zum_flurstueck
412AS
413    SELECT
414           f.gemarkungsnummer,
415           f.flurnummer,
416           f.zaehler,
417           f.nenner,
418           g.bezeichnung AS gemeindename,
419           s.bezeichnung AS strassenname,
420           l.lage        AS strassenschluessel,
421           l.hausnummer
422      FROM   ax_flurstueck f
423      JOIN   alkis_beziehungen v
424        ON f.gml_id=v.beziehung_von
425      JOIN   ax_lagebezeichnungmithausnummer l 
426        ON l.gml_id=v.beziehung_zu
427      JOIN   ax_gemeinde g
428        ON l.kreis=g.kreis
429       AND l.gemeinde=g.gemeinde
430      JOIN   ax_lagebezeichnungkatalogeintrag s
431        ON l.kreis=s.kreis
432       AND l.gemeinde=s.gemeinde
433    -- AND to_char(l.lage, 'FM00000')=s.lage   -- PostNAS 0.5
434       AND l.lage = s.lage                     -- PostNAS 0.6
435     WHERE v.beziehungsart='weistAuf'
436       AND l.gemeinde = 40  -- "40" = Stadt Lage
437     ORDER BY
438           f.gemarkungsnummer,
439           f.flurnummer,
440           f.zaehler,
441           f.nenner;
442
443
444-- FlurstÃŒcke eines EigentÃŒmers
445-- ----------------------------
446
447-- Dieser View liefert nur die (einfache) Buchungsart "GrundstÃŒck"
448-- Solche FÀlle wie "Erbbaurecht an GrundstÌck" oder "Wohnungs-/Teileigentum an aufgeteiltes GrundstÌck"
449-- oder "Miteigentum an aufteteiltes GrundstÃŒck" fehlen in deisere Auswertung.
450-- Dazu siehe: "rechte_eines_eigentuemers".
451
452-- Das Ergbenis ist gedacht fÃŒr den Export als CSV und Weiterverarbeitung mit einer Tabellenkalkulation
453-- oder einer einfachen Datenbank.
454
455-- Auch ein Export als Shape ist moeglich (dafuer: geom hinzugefuegt, Feldnamen gekuerzt)
456-- Kommando:
457--  pgsql2shp -h localhost -p 5432 -f "/data/.../alkis_fs_gemeinde.shp"  [db-name]  public.flurstuecke_eines_eigentuemers
458
459-- Übersicht der Tabellen:
460--
461-- Person <benennt< NamNum. >istBestandteilVon> Blatt <istBestandteilVon< Stelle >istGebucht> Flurstueck
462--                                              *-> Bezirk                *-> Buchungsart     *-> Gemarkung
463
464-- Wobei ">xxx>" = JOIN ÃŒber die Verbindungs-Tabelle "alkis_beziehungen" mit der Beziehungsart "xxx".
465
466CREATE VIEW flurstuecke_eines_eigentuemers
467AS
468   SELECT
469      k.bezeichnung                AS gemarkung,
470      k.gemarkungsnummer           AS gemkg_nr,
471      f.flurnummer                 AS flur,
472      f.zaehler                    AS fs_zaehler,
473      f.nenner                     AS fs_nenner,
474      f.amtlicheflaeche            AS flaeche,
475      f.wkb_geometry               AS geom,  -- fuer Export als Shape
476   -- g.bezirk,
477      b.bezeichnung                AS bezirkname,
478      g.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt,
479      g.blattart,
480      s.laufendenummer             AS bvnr,
481      art.bezeichner               AS buchgsart,
482   -- s.zaehler || '/' || s.nenner AS buchg_anteil,
483      n.laufendenummernachdin1421  AS name_num,
484   -- n.zaehler || '/' || n.nenner AS nam_anteil,
485      p.nachnameoderfirma          AS nachname --,
486   -- p.vorname
487   FROM       ax_person              p
488        JOIN  alkis_beziehungen      bpn  ON bpn.beziehung_zu  = p.gml_id
489        JOIN  ax_namensnummer        n    ON bpn.beziehung_von =n.gml_id
490        JOIN  alkis_beziehungen      bng  ON n.gml_id = bng.beziehung_von
491        JOIN  ax_buchungsblatt       g    ON bng.beziehung_zu = g.gml_id
492        JOIN  ax_buchungsblattbezirk b    ON g.land = b.land AND g.bezirk = b.bezirk
493        JOIN  alkis_beziehungen      bgs  ON bgs.beziehung_zu = g.gml_id
494        JOIN  ax_buchungsstelle      s    ON s.gml_id = bgs.beziehung_von
495        JOIN  ax_buchungsstelle_buchungsart art ON s.buchungsart = art.wert
496        JOIN  alkis_beziehungen      bsf  ON bsf.beziehung_zu = s.gml_id
497        JOIN  ax_flurstueck          f    ON f.gml_id = bsf.beziehung_von
498        JOIN  ax_gemarkung           k    ON f.land = k.land AND f.gemarkungsnummer = k.gemarkungsnummer
499   WHERE p.nachnameoderfirma LIKE 'Gemeinde %'   -- ** Bei Bedarf anpassen!
500     AND bpn.beziehungsart = 'benennt'           -- Namennummer     >> Person
501     AND bng.beziehungsart = 'istBestandteilVon' -- Namensnummer    >> Grundbuch
502     AND bgs.beziehungsart = 'istBestandteilVon' -- Buchungs-Stelle >> Grundbuch
503     AND bsf.beziehungsart = 'istGebucht'        -- Flurstueck      >> Buchungs-Stelle
504   ORDER BY   
505         k.bezeichnung,
506         f.flurnummer,
507         f.zaehler,
508         f.nenner,
509         g.bezirk,
510         g.buchungsblattnummermitbuchstabenerweiterung,
511         s.laufendenummer
512;
513
514
515-- Rechte eines EigentÃŒmers
516-- ------------------------
517
518-- Dieser View sucht speziell die FÀlle wo eine Buchungsstelle ein Recht "an" einer anderen Buchungsstelle hat.
519--  - "Erbbaurecht *an* GrundstÃŒck"
520--  - "Wohnungs-/Teileigentum *an* Aufgeteiltes GrundstÃŒck"
521--  - "Miteigentum *an* Aufteteiltes GrundstÃŒck"
522-- Suchkriterium ist der Name des EigentÃŒmers auf dem "herrschenden" Grundbuch, also dem Besitzer des Rechtes.
523
524-- Diese FÀlle fehlen im View "flurstuecke_eines_eigentuemers".
525
526-- Übersicht der Tabellen:
527--
528-- Person <benennt< NamNum. >istBestandteilVon> Blatt <istBestandteilVon< Stelle-h >an> Stelle-d >istGebucht> Flurstueck
529--
530
531-- Wobei ">xxx>" = JOIN ÃŒber die Verbindungs-Tabelle "alkis_beziehungen" mit der Beziehungsart "xxx".
532
533
534CREATE VIEW rechte_eines_eigentuemers
535AS
536   SELECT
537      k.bezeichnung                AS gemarkung,
538      k.gemarkungsnummer           AS gemkg_nr,
539      f.flurnummer                 AS flur,
540      f.zaehler                    AS fs_zaehler,
541      f.nenner                     AS fs_nenner,
542      f.amtlicheflaeche            AS flaeche,
543      f.wkb_geometry               AS geom,  -- fuer Export als Shape
544   -- g.bezirk,
545      b.bezeichnung                AS bezirkname,
546      g.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt,
547   -- g.blattart,
548      sh.laufendenummer            AS bvnr_herr,
549      sh.zaehler || '/' || sh.nenner AS buchg_anteil_herr,
550      arth.bezeichner              AS buchgsa_herr,
551      bss.beziehungsart            AS bez_art,
552      artd.bezeichner              AS buchgsa_dien,
553      sd.laufendenummer            AS bvnr_dien,
554   -- sd.zaehler || '/' || sd.nenner AS buchg_anteil_dien,
555      n.laufendenummernachdin1421  AS name_num,
556   -- n.zaehler || '/' || n.nenner AS nam_anteil,
557      p.nachnameoderfirma          AS nachname --, 
558   -- p.vorname
559   FROM       ax_person              p
560        JOIN  alkis_beziehungen      bpn  ON bpn.beziehung_zu  = p.gml_id
561        JOIN  ax_namensnummer        n    ON bpn.beziehung_von =n.gml_id
562        JOIN  alkis_beziehungen      bng  ON n.gml_id = bng.beziehung_von
563        JOIN  ax_buchungsblatt       g    ON bng.beziehung_zu = g.gml_id
564        JOIN  ax_buchungsblattbezirk b    ON g.land = b.land AND g.bezirk = b.bezirk
565        JOIN  alkis_beziehungen      bgs  ON bgs.beziehung_zu = g.gml_id
566        JOIN  ax_buchungsstelle      sh   ON sh.gml_id = bgs.beziehung_von  -- herrschende Buchung
567        JOIN  ax_buchungsstelle_buchungsart arth ON sh.buchungsart = arth.wert
568        JOIN  alkis_beziehungen      bss  ON sh.gml_id = bss.beziehung_von
569        JOIN  ax_buchungsstelle      sd   ON sd.gml_id = bss.beziehung_zu   -- dienende Buchung
570        JOIN  ax_buchungsstelle_buchungsart artd ON sd.buchungsart = artd.wert
571        JOIN  alkis_beziehungen      bsf  ON bsf.beziehung_zu = sd.gml_id
572        JOIN  ax_flurstueck          f    ON f.gml_id = bsf.beziehung_von
573        JOIN  ax_gemarkung           k    ON f.land = k.land AND f.gemarkungsnummer = k.gemarkungsnummer
574   WHERE p.nachnameoderfirma LIKE 'Stadt %'   -- ** Bei Bedarf anpassen!
575     AND bpn.beziehungsart = 'benennt'           -- Namennummer     >> Person
576     AND bng.beziehungsart = 'istBestandteilVon' -- Namensnummer    >> Grundbuch
577     AND bgs.beziehungsart = 'istBestandteilVon' -- B-Stelle herr   >> Grundbuch
578     AND bss.beziehungsart in ('an','zu')        -- B-Stelle herr.  >> B-Stelle dien.
579     AND bsf.beziehungsart = 'istGebucht'        -- Flurstueck      >> B-Stelle dien
580   ORDER BY   
581         k.bezeichnung,
582         f.flurnummer,
583         f.zaehler,
584         f.nenner,
585         g.bezirk,
586         g.buchungsblattnummermitbuchstabenerweiterung,
587         sh.laufendenummer
588;
589
590-- END --
591
Note: See TracBrowser for help on using the repository browser.