- Timestamp:
- 12/20/17 11:42:29 (6 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/import/norgis_alkis_pp/postcreate.de/views_exp_csv.sql
r396 r397 4 4 -- =================================================================================== 5 5 6 -- Aufgabe: 7 -- Views bereit stellen fÃŒr die ALKIS-Navigation fÃŒr Mapbender 2 und die Buch-Auskunft und spezielle WMS. 8 9 -- AusfÃŒhrung in: 10 -- Step "postcreate.d" des ALKIS-Importers. Hier also nur Definitionen machen, keine Daten bearbeiten. 6 -- Aufgabe: Views bereit stellen fÃŒr den CSV-Export in der ALKIS-Buch-Auskunft. 7 -- AusfÃŒhrung in: Step "postcreate.d" des ALKIS-Importers. Hier also nur Definitionen machen, keine Daten bearbeiten. 11 8 12 9 --Stand … … 20 17 -- 2017-10-10 Berechtigungen rausgenommen in getrennte Datei 21 18 -- 2017-12-06 Umbenennung von "x_classic2norgis.sql" nach "views_exp_csv.sql" 19 -- 2017-12-20 Beseitigung des Fehlers: Mehrere Adressen zur Person fuehren zu mehrfachen Zeilen (Wiederholung FlurstÃŒck und Flaeche ..) 20 -- Es wird je Persoon nur noch die "letzte" Adresse verwendet (subquery). 21 -- Der View "exp_csv_str" ist jetzt direkt als 4fach-UNION (2x2) codiert statt mit eingebettetem gespeicherten 2fach-Union. 22 -- Hauptvorteil: Keine undurchsichtigen AbhÀngigkeiten. Ist auch etwas schneller. 22 23 23 24 -- ToDo: 24 25 -- - die alten Ãbersichten "pp_flur", "pp_gemarkung" und "pp_gemeinde" wieder erzeugen 25 26 -- Siehe Script: "pp_gebiete.sql" (FÃŒllen) und Teile von "pp_definition.sql" (DB-Struktur). 26 -- - Statt den View "flst_an_strasse" im View "exp_csv_str" einzubinden könnte ein 4fach-UNION schneller sein. Testen.27 27 28 28 29 29 -- I n d i c e s 30 30 -- ============================ 31 32 31 -- Tabelle "ax_gemarkungsteilflur" sollte Such-Index erhalten auf "gemarkung". 33 32 -- FÃŒr Auflistung aller Fluren zur Gemarkung in Script "alkisnav_fls", Function "EineGemarkung". 34 33 35 34 36 -- Der WMS "Flurstuecke _Kommunal" (aus View "st_flurst[gkz][e|r]") wird langsam, wenn er in einer kreisweiten Datenbank ausgefÃŒhrt wird.35 -- Der WMS "Flurstuecke Kommunal" (aus View "st_flurst[gkz][e|r]") wird langsam, wenn er in einer kreisweiten Datenbank ausgefÃŒhrt wird. 37 36 -- Das Filter-Feld benötigt einen Index: 38 37 DROP INDEX if exists ax_person_nname; … … 44 43 -- ============================ 45 44 46 47 45 -- Bausteine fÃŒr andere Views: 48 46 -- --------------------------- 49 50 47 -- Ein View, der die Verbindung von FlurstÃŒck zur StraÃentabelle fÃŒr zwei verschiedene FÀlle herstellt. 51 48 -- Einmal ÃŒber die Lagebezeichnung MIT Hausnummer und einmal OHNE. 52 49 -- Dies kann als "MittelstÃŒck" in den anderen Views eingefÃŒgt werden. 53 50 54 -- DROP VIEW public.flst_an_strasse; 51 DROP VIEW if exists public.flst_an_strasse; -- wird nicht mehr verwendet 52 /* 55 53 CREATE OR REPLACE VIEW public.flst_an_strasse 56 54 AS … … 79 77 COMMENT ON VIEW public.flst_an_strasse 80 78 IS 'ALKIS-Beziehung von FlurstÃŒck zu StraÃentabelle. UNION-Zusammenfassung der FÀlle MIT und OHNE Hausnummer.'; 81 82 -- Muss man noch dafÃŒr sorgen, dass FlurstÃŒck nicht doppelt vorkommt? z.B. mit DISTINCT 83 -- Oder mÃŒssen ggf. mehrfache FS im Programm ÃŒbersprungen werden? 79 */ 84 80 85 81 … … 97 93 -- Anwendungs-Beispiel: Abrechnung von AnliegerbeitrÀgen. 98 94 99 100 95 DROP VIEW IF EXISTS exp_csv; 101 96 CREATE OR REPLACE VIEW exp_csv 102 97 AS 103 SELECT 98 SELECT -- Fall: einfache Buchung (ohne "Recht an") 104 99 -- F l u r s t ÃŒ c k 105 100 f.gml_id AS fsgml, -- möglicher Filter FlurstÃŒcks-GML-ID … … 139 134 a.strasse, a.hausnummer, -- Anschriftenzeile 2: StraÃe+HsNr 140 135 a.bestimmungsland AS land 141 FROM ax_flurstueck f -- FlurstÃŒck136 FROM ax_flurstueck f -- FlurstÃŒck 142 137 JOIN ax_gemarkung g -- entschlÃŒsseln 143 138 ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer … … 152 147 JOIN ax_person p -- NamNum >benennt> Person 153 148 ON p.gml_id = nn.benennt 154 LEFT JOIN ax_anschrift a 155 ON a.gml_id = ANY (p.hat)149 LEFT JOIN ax_anschrift a -- nur die "letzte" Anschrift zur Person verwenden 150 ON a.gml_id = (SELECT gml_id FROM ax_anschrift an WHERE an.gml_id = ANY(p.hat) AND an.endet IS NULL ORDER BY an.gml_id DESC LIMIT 1) 156 151 -- E n t s c h l ÃŒ s s e l n: 157 152 LEFT JOIN alkis_wertearten wp -- EntschlÃŒsseln "Person - Anrede" … … 177 172 ON rg.gml_id = gb.gml_id -- zum GB 178 173 WHERE f.endet IS NULL AND s.endet IS NULL and gb.endet IS NULL and nn.endet IS NULL AND p.endet IS NULL 179 UNION 180 SELECT 174 --------- 175 UNION 176 --------- 177 SELECT -- Fall: "Recht an" 181 178 -- F l u r s t ÃŒ c k 182 179 f.gml_id AS fsgml, -- möglicher Filter FlurstÃŒcks-GML-ID … … 211 208 p.nachnameoderfirma, -- Familienname 212 209 p.geburtsdatum, 213 210 -- A d r e s s e der Person 214 211 a.postleitzahlpostzustellung AS plz, 215 212 a.ort_post AS ort, -- Anschreifenzeile 1: PLZ+Ort … … 233 230 JOIN ax_person p -- NamNum >benennt> Person 234 231 ON p.gml_id = nn.benennt 235 LEFT JOIN ax_anschrift a 236 ON a.gml_id = ANY (p.hat)232 LEFT JOIN ax_anschrift a -- nur die "letzte" Anschrift zur Person verwenden 233 ON a.gml_id = (SELECT gml_id FROM ax_anschrift an WHERE an.gml_id = ANY(p.hat) AND an.endet IS NULL ORDER BY an.gml_id DESC LIMIT 1) 237 234 -- E n t s c h l ÃŒ s s e l n: 238 235 LEFT JOIN alkis_wertearten wp -- EntschlÃŒsseln "Person - Anrede" … … 266 263 267 264 -- Eine Variante des View "exp_csv": 268 -- Hier wird zusÀtzlich d er Baustein "flst_an_strasse" verwendet.269 -- Der Filter "WHERE stgml= " auf die "gml_id" von "ax_lagebezeichnungkatalogeintrag" sollte gesetzt werden 265 -- Hier wird zusÀtzlich die Lagebezeichnung zum FlurstÃŒck angebunden in den Varianten MIT/OHNE Hausnummer. 266 -- Der Filter "WHERE stgml= " auf die "gml_id" von "ax_lagebezeichnungkatalogeintrag" sollte gesetzt werden, 270 267 -- um nur die FlurstÃŒcke zu bekommen, die an einer StraÃe liegen. 271 268 … … 273 270 274 271 CREATE OR REPLACE VIEW exp_csv_str 275 AS 276 SELECT 277 l.stgml, -- Filter: gml_id aus "ax_lagebezeichnungkatalogeintrag" 278 -- UNTERSCHIED zu exp_csv 279 l.fall, -- mit/ohne Hausnummer zur Lage 272 AS -- Version mit 4fach-UNION (2x2 FÀlle) statt eingebauter View "flst_an_strasse" 273 SELECT -- Fall 1: einfache Buchung (ohne Recht an) // Lagebezeichnung MIT Hausnummer 274 sm.gml_id AS stgml, -- Filter: gml_id der StraÃe aus "ax_lagebezeichnungkatalogeintrag" 275 'm' AS fall, -- SÀtze unterschieden: MIT HsNr 280 276 -- F l u r s t ÃŒ c k 281 277 f.gml_id AS fsgml, -- möglicher Filter FlurstÃŒcks-GML-ID … … 312 308 -- A d r e s s e der Person 313 309 a.postleitzahlpostzustellung AS plz, 314 a.ort_post AS ort, -- Anschr eifenzeile 1: PLZ+Ort310 a.ort_post AS ort, -- Anschriftenzeile 1: PLZ+Ort 315 311 a.strasse, a.hausnummer, -- Anschriftenzeile 2: StraÃe+HsNr 316 312 a.bestimmungsland AS land 317 313 FROM ax_flurstueck f -- FlurstÃŒck 318 JOIN flst_an_strasse l -- Lage (hier zusÀtzlicher JOIN gegenÃŒber Version "exp_csv") 319 ON l.fsgml = f.gml_id -- ToDo: ++ Durch UNION ersetzen! Oder durch Subquery? ++ 320 JOIN ax_gemarkung g -- entschlÃŒsseln 314 -- FlurstÃŒck >weistAuf> ax_lagebezeichnungMIThausnummer <JOIN> ax_lagebezeichnungkatalogeintrag 315 JOIN ax_lagebezeichnungmithausnummer lm -- Lage MIT 316 ON lm.gml_id = ANY (f.weistauf) 317 JOIN ax_lagebezeichnungkatalogeintrag sm 318 ON lm.land=sm.land AND lm.regierungsbezirk=sm.regierungsbezirk AND lm.kreis=sm.kreis AND lm.gemeinde=sm.gemeinde AND lm.lage=sm.lage 319 JOIN ax_gemarkung g -- entschlÃŒsseln 321 320 ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 322 321 JOIN ax_buchungsstelle s -- FS >istGebucht> Buchungstelle … … 330 329 JOIN ax_person p -- NamNum >benennt> Person 331 330 ON p.gml_id = nn.benennt 332 LEFT JOIN ax_anschrift a 333 ON a.gml_id = ANY (p.hat)331 LEFT JOIN ax_anschrift a -- nur die "letzte" Anschrift zur Person verwenden 332 ON a.gml_id = (SELECT gml_id FROM ax_anschrift an WHERE an.gml_id = ANY(p.hat) AND an.endet IS NULL ORDER BY an.gml_id DESC LIMIT 1) 334 333 -- E n t s c h l ÃŒ s s e l n: 335 334 LEFT JOIN alkis_wertearten wp -- EntschlÃŒsseln "Person - Anrede" … … 354 353 WHERE NOT r.artderrechtsgemeinschaft IS NULL ) AS rg -- Rechtsgemeinschaft 355 354 ON rg.gml_id = gb.gml_id -- zum GB 356 WHERE f.endet IS NULL AND s.endet IS NULL and gb.endet IS NULL and nn.endet IS NULL AND p.endet IS NULL 357 UNION 358 SELECT 359 l.stgml, -- Filter: gml_id aus "ax_lagebezeichnungkatalogeintrag" 360 -- UNTERSCHIED zu exp_csv 361 l.fall, -- mit/ohne Hausnummer zur Lage 355 WHERE f.endet IS NULL AND s.endet IS NULL and gb.endet IS NULL and nn.endet IS NULL AND p.endet IS NULL AND lm.endet IS NULL 356 --------- 357 UNION 358 --------- 359 SELECT -- Fall 2: 2 Buchungs-Stellen (Recht An) // Lagebezeichnung MIT Hausnummer 360 sm.gml_id AS stgml, -- Filter: gml_id der StraÃe aus "ax_lagebezeichnungkatalogeintrag" 361 'm' AS fall, -- SÀtze unterschieden: MIT HsNr 362 362 -- F l u r s t ÃŒ c k 363 363 f.gml_id AS fsgml, -- möglicher Filter FlurstÃŒcks-GML-ID … … 394 394 -- A d r e s s e der Person 395 395 a.postleitzahlpostzustellung AS plz, 396 a.ort_post AS ort, -- Anschr eifenzeile 1: PLZ+Ort396 a.ort_post AS ort, -- Anschriftenzeile 1: PLZ+Ort 397 397 a.strasse, a.hausnummer, -- Anschriftenzeile 2: StraÃe+HsNr 398 398 a.bestimmungsland AS land 399 399 FROM ax_flurstueck f -- FlurstÃŒck 400 JOIN flst_an_strasse l -- Lage (hier zusÀtzlicher JOIN gegenÃŒber Version "exp_csv") 401 ON l.fsgml = f.gml_id 400 -- FlurstÃŒck >weistAuf> ax_lagebezeichnungMIThausnummer <JOIN> ax_lagebezeichnungkatalogeintrag 401 JOIN ax_lagebezeichnungmithausnummer lm -- Lage MIT 402 ON lm.gml_id = ANY (f.weistauf) 403 JOIN ax_lagebezeichnungkatalogeintrag sm 404 ON lm.land=sm.land AND lm.regierungsbezirk=sm.regierungsbezirk AND lm.kreis=sm.kreis AND lm.gemeinde=sm.gemeinde AND lm.lage=sm.lage 402 405 JOIN ax_gemarkung g -- entschlÃŒsseln 403 406 ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer … … 416 419 JOIN ax_person p -- NamNum >benennt> Person 417 420 ON p.gml_id = nn.benennt 418 LEFT JOIN ax_anschrift a 419 ON a.gml_id = ANY (p.hat)421 LEFT JOIN ax_anschrift a -- nur die "letzte" Anschrift zur Person verwenden 422 ON a.gml_id = (SELECT gml_id FROM ax_anschrift an WHERE an.gml_id = ANY(p.hat) AND an.endet IS NULL ORDER BY an.gml_id DESC LIMIT 1) 420 423 -- E n t s c h l ÃŒ s s e l n: 421 424 LEFT JOIN alkis_wertearten wp -- EntschlÃŒsseln "Person - Anrede" … … 435 438 ON rg.gml_id = gb.gml_id -- zum GB 436 439 WHERE f.endet IS NULL AND s.endet IS NULL and gb.endet IS NULL and nn.endet IS NULL AND p.endet IS NULL 437 AND dien.endet IS NULL 440 AND dien.endet IS NULL AND lm.endet IS NULL 441 --------- 442 UNION 443 --------- 444 SELECT -- Fall 3: einfache Buchung (ohne Recht an) // Lagebezeichnung OHNE Hausnummer 445 so.gml_id AS stgml, -- Filter: gml_id der StraÃe aus "ax_lagebezeichnungkatalogeintrag" 446 'o' AS fall, -- SÀtze unterschieden: OHNE HsNr 447 -- F l u r s t ÃŒ c k 448 f.gml_id AS fsgml, -- möglicher Filter FlurstÃŒcks-GML-ID 449 f.flurstueckskennzeichen AS fs_kennz, 450 f.gemarkungsnummer, -- Teile des FS-Kennz. noch mal einzeln 451 f.flurnummer, f.zaehler, f.nenner, 452 f.amtlicheflaeche AS fs_flae, 453 g.bezeichnung AS gemarkung, 454 -- G r u n d b u c h 455 --gb.gml_id AS gbgml, -- möglicher Filter Grundbuch-GML-ID 456 gb.bezirk AS gb_bezirk, 457 gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt, 458 z.bezeichnung AS beznam, -- GB-Bezirks-Name 459 -- B u c h u n g s s t e l l e (GrundstÃŒck) 460 s.laufendenummer AS bu_lfd, -- BVNR 461 '=' || s.zaehler || '/' || s.nenner AS bu_ant, -- als Excel-Formel (nur bei Wohnungsgrundbuch JOIN ÃŒber 'Recht an') 462 s.buchungsart, -- verschlÃŒsselt 463 wb.v AS bu_art, -- Buchungsart entschlÃŒsselt 464 -- N a m e n s N u m m e r (Normalfall mit Person) 465 nn.laufendenummernachdin1421 AS nam_lfd, 466 '=' || nn.zaehler|| '/' || nn.nenner AS nam_ant, -- als Excel-Formel 467 -- R e c h t s g e m e i n s c h a f t (Sonderfall von Namensnummer, ohne Person, ohne Nummer) 468 rg.artderrechtsgemeinschaft AS nam_adr, 469 rg.v AS nam_adrv, -- Art der Rechtsgem. - Value zum Key 470 rg.beschriebderrechtsgemeinschaft AS nam_bes, 471 -- P e r s o n 472 --p.gml_id AS psgml, -- möglicher Filter Personen-GML-ID 473 p.anrede, -- Anrede key 474 wp.v AS anrv, -- Anrede Value zum Key 475 p.vorname, 476 p.namensbestandteil, 477 p.nachnameoderfirma, -- Familienname 478 p.geburtsdatum, 479 -- A d r e s s e der Person 480 a.postleitzahlpostzustellung AS plz, 481 a.ort_post AS ort, -- Anschriftenzeile 1: PLZ+Ort 482 a.strasse, a.hausnummer, -- Anschriftenzeile 2: StraÃe+HsNr 483 a.bestimmungsland AS land 484 FROM ax_flurstueck f -- FlurstÃŒck 485 -- FlurstÃŒck >zeigtAuf> ax_lagebezeichnungOHNEhausnummer <JOIN> ax_lagebezeichnungkatalogeintrag 486 JOIN ax_lagebezeichnungohnehausnummer lo -- Lage OHNE 487 ON lo.gml_id = ANY (f.zeigtauf) 488 JOIN ax_lagebezeichnungkatalogeintrag so -- StraÃe OHNE 489 ON lo.land=so.land AND lo.regierungsbezirk=so.regierungsbezirk AND lo.kreis=so.kreis AND lo.gemeinde=so.gemeinde AND lo.lage=so.lage 490 JOIN ax_gemarkung g -- entschlÃŒsseln 491 ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 492 JOIN ax_buchungsstelle s -- FS >istGebucht> Buchungstelle 493 ON f.istgebucht = s.gml_id 494 JOIN ax_buchungsblatt gb -- Buchung >istBestandteilVon> Grundbuchblatt 495 ON gb.gml_id = s.istbestandteilvon 496 JOIN ax_buchungsblattbezirk z 497 ON gb.land=z.land AND gb.bezirk=z.bezirk 498 JOIN ax_namensnummer nn -- Blatt <istBestandteilVon< NamNum 499 ON gb.gml_id = nn.istbestandteilvon 500 JOIN ax_person p -- NamNum >benennt> Person 501 ON p.gml_id = nn.benennt 502 LEFT JOIN ax_anschrift a -- nur die "letzte" Anschrift zur Person verwenden 503 ON a.gml_id = (SELECT gml_id FROM ax_anschrift an WHERE an.gml_id = ANY(p.hat) AND an.endet IS NULL ORDER BY an.gml_id DESC LIMIT 1) 504 -- E n t s c h l ÃŒ s s e l n: 505 LEFT JOIN alkis_wertearten wp -- EntschlÃŒsseln "Person - Anrede" 506 ON cast(p.anrede AS character varying) = wp.k 507 AND wp.element = 'ax_person' 508 AND wp.bezeichnung = 'anrede' 509 LEFT JOIN alkis_wertearten wb -- EntschlÃŒsseln "Buchungsart" 510 ON cast(s.buchungsart AS character varying) = wb.k 511 -- buchungsart = integer / .k = char 4stellig 512 AND wb.element = 'ax_buchungsstelle' 513 AND wb.bezeichnung = 'buchungsart' 514 -- 2mal "LEFT JOIN" verdoppelt die Zeile in der Ausgabe. Darum als Subquery in Spalten packen: 515 -- Noch mal "GB -> NamNum", aber dieses Mal fÃŒr "Rechtsgemeinschaft". 516 -- Kommt max. 1 mal je GB vor und hat keine Relation auf Person. 517 LEFT JOIN 518 ( SELECT gr.gml_id, r.artderrechtsgemeinschaft, r.beschriebderrechtsgemeinschaft, wr.v 519 FROM ax_namensnummer r 520 JOIN ax_buchungsblatt gr 521 ON r.istbestandteilvon = gr.gml_id -- Blatt <istBestandteilVon< NamNum (Rechtsgemeinschaft) 522 LEFT JOIN alkis_wertearten wr 523 ON cast(r.artderrechtsgemeinschaft AS character varying)=wr.k AND wr.element='ax_namensnummer' AND wr.bezeichnung='artderrechtsgemeinschaft' 524 WHERE NOT r.artderrechtsgemeinschaft IS NULL ) AS rg -- Rechtsgemeinschaft 525 ON rg.gml_id = gb.gml_id -- zum GB 526 WHERE f.endet IS NULL AND s.endet IS NULL and gb.endet IS NULL and nn.endet IS NULL AND p.endet IS NULL AND lo.endet IS NULL 527 --------- 528 UNION 529 --------- 530 SELECT -- Fall 4: 2 Buchungs-Stellen (Recht An) // Lagebezeichnung OHNE Hausnummer 531 so.gml_id AS stgml, -- Filter: gml_id der StraÃe aus "ax_lagebezeichnungkatalogeintrag" 532 'o' AS fall, -- SÀtze unterschieden: OHNE HsNr 533 -- F l u r s t ÃŒ c k 534 f.gml_id AS fsgml, -- möglicher Filter FlurstÃŒcks-GML-ID 535 f.flurstueckskennzeichen AS fs_kennz, 536 f.gemarkungsnummer, -- Teile des FS-Kennz. noch mal einzeln 537 f.flurnummer, f.zaehler, f.nenner, 538 f.amtlicheflaeche AS fs_flae, 539 g.bezeichnung AS gemarkung, 540 -- G r u n d b u c h 541 --gb.gml_id AS gbgml, -- möglicher Filter Grundbuch-GML-ID 542 gb.bezirk AS gb_bezirk, 543 gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt, 544 z.bezeichnung AS beznam, -- GB-Bezirks-Name 545 -- B u c h u n g s s t e l l e (GrundstÃŒck) 546 s.laufendenummer AS bu_lfd, -- BVNR 547 '=' || s.zaehler || '/' || s.nenner AS bu_ant, -- als Excel-Formel (nur bei Wohnungsgrundbuch JOIN ÃŒber 'Recht an') 548 s.buchungsart, -- verschlÃŒsselt 549 wb.v AS bu_art, -- Buchungsart entschlÃŒsselt 550 -- N a m e n s N u m m e r (Normalfall mit Person) 551 nn.laufendenummernachdin1421 AS nam_lfd, 552 '=' || nn.zaehler|| '/' || nn.nenner AS nam_ant, -- als Excel-Formel 553 -- R e c h t s g e m e i n s c h a f t (Sonderfall von Namensnummer, ohne Person, ohne Nummer) 554 rg.artderrechtsgemeinschaft AS nam_adr, 555 rg.v AS nam_adrv, -- Art der Rechtsgem. - Value zum Key 556 rg.beschriebderrechtsgemeinschaft AS nam_bes, 557 -- P e r s o n 558 --p.gml_id AS psgml, -- möglicher Filter Personen-GML-ID 559 p.anrede, -- Anrede key 560 wp.v AS anrv, -- Anrede Value zum Key 561 p.vorname, 562 p.namensbestandteil, 563 p.nachnameoderfirma, -- Familienname 564 p.geburtsdatum, 565 -- A d r e s s e der Person 566 a.postleitzahlpostzustellung AS plz, 567 a.ort_post AS ort, -- Anschriftenzeile 1: PLZ+Ort 568 a.strasse, a.hausnummer, -- Anschriftenzeile 2: StraÃe+HsNr 569 a.bestimmungsland AS land 570 FROM ax_flurstueck f -- FlurstÃŒck 571 -- FlurstÃŒck >zeigtAuf> ax_lagebezeichnungOHNEhausnummer <JOIN> ax_lagebezeichnungkatalogeintrag 572 JOIN ax_lagebezeichnungohnehausnummer lo -- Lage OHNE 573 ON lo.gml_id = ANY (f.zeigtauf) 574 JOIN ax_lagebezeichnungkatalogeintrag so -- StraÃe OHNE 575 ON lo.land=so.land AND lo.regierungsbezirk=so.regierungsbezirk AND lo.kreis=so.kreis AND lo.gemeinde=so.gemeinde AND lo.lage=so.lage 576 JOIN ax_gemarkung g -- entschlÃŒsseln 577 ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 578 -- FS >istGebucht> Buchungstelle <an< Buchungstelle 579 -- Variante mit 2 Buchungs-Stellen (Recht An) 580 JOIN ax_buchungsstelle dien -- dienende Buchung 581 ON f.istgebucht = dien.gml_id 582 JOIN ax_buchungsstelle s -- herrschende Buchung 583 ON dien.gml_id = ANY (s.an) -- hat Recht an 584 JOIN ax_buchungsblatt gb -- Buchung >istBestandteilVon> Grundbuchblatt 585 ON gb.gml_id = s.istbestandteilvon 586 JOIN ax_buchungsblattbezirk z 587 ON gb.land=z.land AND gb.bezirk=z.bezirk 588 JOIN ax_namensnummer nn -- Blatt <istBestandteilVon< NamNum 589 ON gb.gml_id = nn.istbestandteilvon 590 JOIN ax_person p -- NamNum >benennt> Person 591 ON p.gml_id = nn.benennt 592 LEFT JOIN ax_anschrift a -- nur die "letzte" Anschrift zur Person verwenden 593 ON a.gml_id = (SELECT gml_id FROM ax_anschrift an WHERE an.gml_id = ANY(p.hat) AND an.endet IS NULL ORDER BY an.gml_id DESC LIMIT 1) 594 -- E n t s c h l ÃŒ s s e l n: 595 LEFT JOIN alkis_wertearten wp -- EntschlÃŒsseln "Person - Anrede" 596 ON cast(p.anrede AS character varying)=wp.k AND wp.element='ax_person' AND wp.bezeichnung='anrede' 597 LEFT JOIN alkis_wertearten wb -- EntschlÃŒsseln "Buchungsart" 598 ON cast(s.buchungsart AS character varying) = wb.k 599 AND wb.element = 'ax_buchungsstelle' 600 AND wb.bezeichnung = 'buchungsart' 601 LEFT JOIN 602 ( SELECT gr.gml_id, r.artderrechtsgemeinschaft, r.beschriebderrechtsgemeinschaft, wr.v 603 FROM ax_namensnummer r 604 JOIN ax_buchungsblatt gr 605 ON r.istbestandteilvon = gr.gml_id -- Blatt <istBestandteilVon< NamNum (Rechtsgemeinschaft) 606 LEFT JOIN alkis_wertearten wr 607 ON cast(r.artderrechtsgemeinschaft AS character varying)=wr.k AND wr.element='ax_namensnummer' AND wr.bezeichnung='artderrechtsgemeinschaft' 608 WHERE NOT r.artderrechtsgemeinschaft IS NULL ) AS rg -- Rechtsgemeinschaft 609 ON rg.gml_id = gb.gml_id -- zum GB 610 WHERE f.endet IS NULL AND s.endet IS NULL and gb.endet IS NULL and nn.endet IS NULL AND p.endet IS NULL 611 AND dien.endet IS NULL AND lo.endet IS NULL 438 612 439 613 ORDER BY fs_kennz, -- f.flurstueckskennzeichen, … … 447 621 448 622 449 -- Berechtigung fuer Views 450 -- ============================ 451 452 GRANT SELECT ON TABLE public.flst_an_strasse TO mb27; 623 -- Berechtigung 624 -- ============ 453 625 GRANT SELECT ON TABLE public.exp_csv TO mb27; 454 626 GRANT SELECT ON TABLE public.exp_csv_str TO mb27; -
trunk/umn/alkis_n/alkis_buchg.map
r396 r397 6 6 # Stand 7 7 # 2017-12-08 Entwurf 8 # 2017-12-08 Neu: 4/2303 8 9 NAME "alkis_buchg_*gkz*" 9 10 EXTENT ... … … 204 205 END 205 206 END 207 CLASS 208 EXPRESSION "2303" 209 NAME "Erbbaurechtsanteil Par. 3 Abs. 4 GBO" 210 # NAME "2303 Erbbaurechtsanteil Par. 3 Abs. 4 GBO" 211 STYLE 212 SYMBOL hatchsym ANGLE 45 213 COLOR 250 160 0 OPACITY 70 # Orange 214 SIZE 6 MINSIZE 3 MAXSIZE 12 215 WIDTH 2 MINWIDTH 1 MAXWIDTH 2 216 217 END 218 END 206 219 CLASS # sonstige/Rest 207 220 STYLE
Note: See TracChangeset
for help on using the changeset viewer.