Changeset 326 for Version-0.8/import/sichten.sql
- Timestamp:
- 08/28/14 16:45:07 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Version-0.8/import/sichten.sql
r324 r326 30 30 -- 2014-01-31 Kommentar 31 31 -- 2014-02-06 nachmigration_aehnliche_anschriften 32 -- 2014-08-2 7Die Tabelle "alkis_beziehungen" ÃŒberflÃŒssig machen.32 -- 2014-08-28 Die Tabelle "alkis_beziehungen" ÃŒberflÃŒssig machen. 33 33 -- Relationen nun direkt ÃŒber neue Spalten in den Objekttabellen. 34 35 -- IN ARBEIT +++ erst teilweise umgestellt 34 36 35 37 … … 50 52 51 53 -- DROP VIEW public.doppelverbindung; 52 /* 53 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen": 54 CREATE OR REPLACE VIEW public.doppelverbindung 55 AS 56 SELECT v1.beziehung_von AS fsgml, -- gml_id auf FlurstÃŒck - Seite 57 v1.beziehung_zu AS bsgml, -- gml_id auf Buchungs - Seite 58 --'direkt' AS fall, 59 0 AS ba_dien 60 FROM alkis_beziehungen v1 61 WHERE v1.beziehungsart = 'istGebucht' -- FS --> Buchung 62 UNION 63 -- Buchungstelle >an> Buchungstelle >istBestandteilVon> BLATT 64 SELECT v2.beziehung_von AS fsgml, -- gml_id auf FlurstÃŒck - Seite 65 an.beziehung_von AS bsgml, -- gml_id auf Buchungs - Seite (herrschendes GB) 66 --'Recht an' AS fall, 67 dien.buchungsart AS ba_dien -- Ein Feld aus der Zwischen-Buchung zur Fall-Unterscheidung 68 FROM alkis_beziehungen v2 69 JOIN ax_buchungsstelle dien 70 ON v2.beziehung_zu = dien.gml_id 71 JOIN alkis_beziehungen an 72 ON dien.gml_id = an.beziehung_zu 73 WHERE v2.beziehungsart = 'istGebucht' -- FS --> Buchung 74 AND an.beziehungsart = 'an'; 75 */ 76 77 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen": 54 78 55 CREATE OR REPLACE VIEW public.doppelverbindung 79 56 AS … … 101 78 102 79 103 104 80 -- Ein View, der die Verbindung von FlurstÃŒck zur StraÃentabelle fÃŒr zwei verschiedene FÀlle herstellt. 105 81 -- Einmal ÃŒber die Lagebezeichnung MIT Hausnummer und einmal OHNE. … … 107 83 108 84 -- DROP VIEW public.flst_an_strasse; 109 /* 110 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen": 111 112 CREATE OR REPLACE VIEW public.flst_an_strasse 113 AS 114 SELECT vm.beziehung_von AS fsgml, -- Join auf "gml_id" aus "ax_flurstÃŒck" 115 sm.gml_id AS stgml, -- Filter: gml_id der StraÃe 116 -- sm.gemeinde, sm.lage, -- Gemeinde- und StraÃenschluessel als Filter? 117 'm' AS fall -- SÀtze unterschieden: Mit HsNr 118 FROM alkis_beziehungen vm -- Verbindung Mit 119 JOIN ax_lagebezeichnungmithausnummer lm -- Lage MIT 120 ON lm.gml_id=vm.beziehung_zu 121 AND vm.beziehungsart= 'weistAuf' 122 JOIN ax_lagebezeichnungkatalogeintrag sm -- Ausnahmsweise mal direkt und nicht ÃŒber die "alkis_beziehungen" 123 ON lm.land=sm.land 124 AND lm.regierungsbezirk=sm.regierungsbezirk 125 AND lm.kreis=sm.kreis 126 AND lm.gemeinde=sm.gemeinde 127 AND lm.lage=sm.lage 128 UNION 129 SELECT vo.beziehung_von AS fsgml, -- Join auf gml_id aus ax_flurstÃŒck 130 so.gml_id AS stgml, -- Filter: gml_id der StraÃe 131 -- so.gemeinde, so.lage -- Gemeinde- und StraÃenschluessel als Filter? 132 'o' AS fall -- SÀtze unterschieden: Ohne HsNr 133 FROM alkis_beziehungen vo -- Verbindung OHNE 134 JOIN ax_lagebezeichnungohnehausnummer lo -- Lage OHNE 135 ON lo.gml_id=vo.beziehung_zu 136 AND vo.beziehungsart= 'zeigtAuf' 137 JOIN ax_lagebezeichnungkatalogeintrag so -- StraÃe OHNE 138 ON lo.land=so.land 139 AND lo.regierungsbezirk=so.regierungsbezirk 140 AND lo.kreis=so.kreis 141 AND lo.gemeinde=so.gemeinde 142 AND lo.lage=so.lage; 143 144 */ 145 146 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen": 85 147 86 CREATE OR REPLACE VIEW public.flst_an_strasse 148 87 AS … … 200 139 /* 201 140 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen": 202 203 +++ HIER HIN KOPPIEREN ++++204 205 */206 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":207 -- +++ ToDo208 209 210 141 CREATE OR REPLACE VIEW exp_csv 211 142 AS … … 311 242 nn.laufendenummernachdin1421; 312 243 244 */ 245 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen": 246 -- +++ ToDo 247 248 249 CREATE OR REPLACE VIEW exp_csv 250 AS 251 SELECT 252 -- FlurstÃŒck 253 f.gml_id AS fsgml, -- möglicher Filter FlurstÃŒcks-GML-ID 254 f.flurstueckskennzeichen AS fs_kennz, 255 f.gemarkungsnummer, -- Teile des FS-Kennz. noch mal einzeln 256 f.flurnummer, f.zaehler, f.nenner, 257 f.amtlicheflaeche AS fs_flae, 258 g.bezeichnung AS gemarkung, 259 260 -- Grundbuch 261 gb.gml_id AS gbgml, -- möglicher Filter Grundbuch-GML-ID 262 gb.bezirk AS gb_bezirk, 263 gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt, 264 z.bezeichnung AS beznam, -- GB-Bezirks-Name 265 266 -- Buchungsstelle (GrundstÃŒck) 267 s.laufendenummer AS bu_lfd, -- BVNR 268 --s.zaehler, s.nenner, -- Anteil des GB am FS, einzelne Felder 269 '=' || s.zaehler || '/' || s.nenner AS bu_ant, -- als Excel-Formel (nur bei Wohnungsgrundbuch JOIN ÃŒber 'Recht an') 270 s.buchungsart, -- verschlÃŒsselt 271 b.bezeichner AS bu_art, -- Buchungsart entschlÃŒsselt 272 273 -- NamensNummer (Normalfall mit Person) 274 nn.laufendenummernachdin1421 AS nam_lfd, 275 '=' || nn.zaehler|| '/' || nn.nenner AS nam_ant, -- als Excel-Formel 276 277 -- Rechtsgemeinsachaft (Sonderfall von Namensnummer, ohne Person, ohne Nummer) 278 rg.artderrechtsgemeinschaft AS nam_adr, 279 rg.beschriebderrechtsgemeinschaft AS nam_bes, 280 281 -- Person 282 p.gml_id AS psgml, -- möglicher Filter Personen-GML-ID 283 p.anrede, 284 p.vorname, 285 p.namensbestandteil, 286 p.nachnameoderfirma, -- Familienname 287 p.geburtsdatum, 288 --p.geburtsname, p.akademischergrad 289 290 -- Adresse der Person 291 a.postleitzahlpostzustellung AS plz, 292 a.ort_post AS ort, -- Anschreifenzeile 1: PLZ+Ort 293 a.strasse, a.hausnummer, -- Anschriftenzeile 2: StraÃe+HsNr 294 a.bestimmungsland AS land 295 296 FROM ax_flurstueck f -- FlurstÃŒck 297 JOIN doppelverbindung d -- beide FÀlle ÃŒber Union-View: direkt und ÃŒber Recht von Buchung an Buchung 298 ON d.fsgml = f.gml_id 299 JOIN ax_gemarkung g -- entschlÃŒsseln 300 ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 301 JOIN ax_buchungsstelle s -- Buchungs-Stelle 302 ON d.bsgml = s.gml_id 303 JOIN ax_buchungsstelle_buchungsart b -- EnstschlÃŒsselung der Buchungsart 304 ON s.buchungsart = b.wert 305 JOIN ax_buchungsblatt gb -- Buchung >istBestandteilVon> Grundbuchblatt 306 ON gb.gml_id = s.istbestandteilvon 307 JOIN ax_buchungsblattbezirk z 308 ON gb.land=z.land AND gb.bezirk=z.bezirk 309 JOIN ax_namensnummer nn -- Blatt <istBestandteilVon< NamNum 310 ON gb.gml_id = nn.istbestandteilvon 311 JOIN ax_person p -- NamNum >benennt> Person 312 ON p.gml_id = nn.benennt 313 LEFT JOIN ax_anschrift a 314 ON a.gml_id = ANY (p.hat) 315 316 317 -- +++++ BIS HIER BEARBEITET (28.08.) - "alkis_beziehungen" entfernt - HIER Weiter !!!! 318 319 320 -- 2mal "LEFT JOIN" verdoppelt die Zeile in der Ausgabe. Darum als Subquery: 321 -- Noch mal "GB -> NamNum", aber dieses Mal fÃŒr "Rechtsgemeinschaft". 322 -- Kommt max. 1 mal je GB vor und hat keine Relation auf Person. 323 LEFT JOIN 324 ( SELECT v7.beziehung_zu, 325 rg.artderrechtsgemeinschaft, 326 rg.beschriebderrechtsgemeinschaft 327 FROM ax_namensnummer rg 328 JOIN alkis_beziehungen v7 -- Blatt --> NamNum (Rechtsgemeinschaft) 329 ON v7.beziehung_von = rg.gml_id 330 WHERE v7.beziehungsart = 'istBestandteilVon' 331 AND NOT rg.artderrechtsgemeinschaft IS NULL 332 ) AS rg -- Rechtsgemeinschaft 333 ON rg.beziehung_zu = gb.gml_id -- zum GB 334 335 ORDER BY f.flurstueckskennzeichen, 336 gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer, 337 nn.laufendenummernachdin1421; 338 313 339 COMMENT ON VIEW exp_csv 314 340 IS 'View fÃŒr einen CSV-Export aus der Buchauskunft mit alkisexport.php. Generelle Struktur. FÃŒr eine bestimmte gml_id noch den Filter setzen.'; … … 326 352 /* 327 353 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen": 328 329 +++ HIER HIN KOPPIEREN ++++330 331 */332 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":333 -- +++ ToDo334 335 354 336 355 CREATE OR REPLACE VIEW exp_csv_str … … 443 462 nn.laufendenummernachdin1421; 444 463 464 */ 465 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen": 466 -- +++ ToDo 467 468 469 CREATE OR REPLACE VIEW exp_csv_str 470 AS 471 SELECT 472 l.stgml, -- Filter: StraÃen-GML-ID 473 474 -- FlurstÃŒck 475 f.gml_id AS fsgml, -- Gruppenwechsel fÃŒr "function lage_zum_fs" in alkisexport.php 476 f.flurstueckskennzeichen AS fs_kennz, 477 f.gemarkungsnummer, -- Teile des FS-Kennz. noch mal einzeln 478 f.flurnummer, f.zaehler, f.nenner, 479 f.amtlicheflaeche AS fs_flae, 480 g.bezeichnung AS gemarkung, 481 482 -- Grundbuch 483 --gb.gml_id AS gbgml, -- möglicher Filter Grundbuch-GML-ID 484 gb.bezirk AS gb_bezirk, 485 gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt, 486 z.bezeichnung AS beznam, -- GB-Bezirks-Name 487 488 -- Buchungsstelle (GrundstÃŒck) 489 s.laufendenummer AS bu_lfd, -- BVNR 490 --s.zaehler, s.nenner, -- Anteil des GB am FS, einzelne Felder 491 '=' || s.zaehler || '/' || s.nenner AS bu_ant, -- als Excel-Formel (nur bei Wohnungsgrundbuch JOIN ÃŒber 'Recht an') 492 s.buchungsart, -- verschlÃŒsselt 493 b.bezeichner AS bu_art, -- Buchungsart entschlÃŒsselt 494 495 -- NamensNummer (Normalfall mit Person) 496 nn.laufendenummernachdin1421 AS nam_lfd, 497 '=' || nn.zaehler|| '/' || nn.nenner AS nam_ant, -- als Excel-Formel 498 499 -- Rechtsgemeinsachaft (Sonderfall von Namensnummer, ohne Person, ohne Nummer) 500 rg.artderrechtsgemeinschaft AS nam_adr, 501 rg.beschriebderrechtsgemeinschaft AS nam_bes, 502 503 -- Person 504 --p.gml_id AS psgml, -- möglicher Filter Personen-GML-ID 505 p.anrede, 506 p.vorname, 507 p.namensbestandteil, 508 p.nachnameoderfirma, -- Familienname 509 p.geburtsdatum, 510 --p.geburtsname, p.akademischergrad 511 512 -- Adresse der Person 513 a.postleitzahlpostzustellung AS plz, 514 a.ort_post AS ort, -- Anschreifenzeile 1: PLZ+Ort 515 a.strasse, a.hausnummer, -- Anschriftenzeile 2: StraÃe+HsNr 516 a.bestimmungsland AS land 517 518 FROM ax_flurstueck f -- FlurstÃŒck 519 520 JOIN flst_an_strasse l -- Lage (hier zusÀtzlicher JOIN gegenÃŒber Version "exp_csv") 521 ON l.fsgml = f.gml_id 522 523 JOIN doppelverbindung d -- beide FÀlle ÃŒber Union-View: direkt und ÃŒber Recht von Buchung an Buchung 524 ON d.fsgml = f.gml_id 525 526 JOIN ax_gemarkung g -- entschlÃŒsseln 527 ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 528 529 JOIN ax_buchungsstelle s -- Buchungs-Stelle 530 ON d.bsgml = s.gml_id 531 JOIN ax_buchungsstelle_buchungsart b -- EnstschlÃŒsselung der Buchungsart 532 ON s.buchungsart = b.wert 533 534 JOIN alkis_beziehungen v3 -- Buchung --> Grundbuchblatt 535 ON s.gml_id = v3.beziehung_von AND v3.beziehungsart = 'istBestandteilVon' 536 JOIN ax_buchungsblatt gb 537 ON v3.beziehung_zu = gb.gml_id 538 539 JOIN ax_buchungsblattbezirk z 540 ON gb.land=z.land AND gb.bezirk=z.bezirk 541 542 JOIN alkis_beziehungen v4 -- Blatt --> NamNum 543 ON v4.beziehung_zu = gb.gml_id AND v4.beziehungsart = 'istBestandteilVon' 544 JOIN ax_namensnummer nn 545 ON v4.beziehung_von = nn.gml_id 546 547 JOIN alkis_beziehungen v5 -- NamNum --> Person 548 -- 2014-01-20: Mit LEFT ab hier werden auch NumNum-Zeilen mit "Beschreibung der Rechtsgemeinschaft" geliefert (ohne Person) 549 ON v5.beziehung_von = nn.gml_id AND v5.beziehungsart = 'benennt' 550 JOIN ax_person p 551 ON v5.beziehung_zu = p.gml_id 552 553 LEFT JOIN alkis_beziehungen v6 -- Person --> Anschrift 554 ON v6.beziehung_von = p.gml_id AND v6.beziehungsart = 'hat' 555 LEFT JOIN ax_anschrift a 556 ON v6.beziehung_zu = a.gml_id 557 558 -- 2mal "LEFT JOIN" verdoppelt die Zeile in der Ausgabe. Darum als Subquery: 559 560 -- Noch mal "GB -> NamNum", aber dieses Mal fÃŒr "Rechtsgemeinschaft". 561 -- Kommt max. 1 mal je GB vor und hat keine Relation auf Person. 562 LEFT JOIN 563 ( SELECT v7.beziehung_zu, 564 rg.artderrechtsgemeinschaft, 565 rg.beschriebderrechtsgemeinschaft 566 FROM ax_namensnummer rg 567 JOIN alkis_beziehungen v7 -- Blatt --> NamNum (Rechtsgemeinschaft) 568 ON v7.beziehung_von = rg.gml_id 569 WHERE v7.beziehungsart = 'istBestandteilVon' 570 AND NOT rg.artderrechtsgemeinschaft IS NULL 571 ) AS rg -- Rechtsgemeinschaft 572 ON rg.beziehung_zu = gb.gml_id -- zum GB 573 574 ORDER BY f.flurstueckskennzeichen, 575 gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer, 576 nn.laufendenummernachdin1421; 577 445 578 COMMENT ON VIEW exp_csv_str 446 579 IS 'View fÃŒr einen CSV-Export aus der Buchauskunft mit alkisexport.php. Liefert nur FlurstÃŒcke, die eine Lagebezeichnung MIT/OHNE Hausnummer haben. Dazu noch den Filter auf GML-ID der StraÃentabelle setzen.'; … … 460 593 /* 461 594 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen": 462 463 +++ HIER HIN KOPPIEREN ++++464 465 */466 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":467 -- +++ ToDo468 469 595 470 596 CREATE OR REPLACE VIEW rechtsgemeinschaften_zum_grundbuch … … 485 611 nn.laufendenummernachdin1421; 486 612 487 COMMENT ON VIEW rechtsgemeinschaften_zum_grundbuch488 IS 'Rechtsgemeinschaften zum Grundbuchblatt.';489 490 -- Schritt 2: Wo gibt es mehrere zu einem GB-Blatt491 492 /*493 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":494 495 +++ HIER HIN KOPPIEREN ++++496 497 613 */ 498 614 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen": 499 615 -- +++ ToDo 500 616 617 618 CREATE OR REPLACE VIEW rechtsgemeinschaften_zum_grundbuch 619 AS 620 SELECT 621 gb.gml_id, 622 gb.bezirk, 623 gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt, 624 nn.artderrechtsgemeinschaft, 625 nn.beschriebderrechtsgemeinschaft 626 FROM ax_buchungsblatt gb 627 JOIN alkis_beziehungen v 628 ON v.beziehung_zu = gb.gml_id AND v.beziehungsart = 'istBestandteilVon' 629 JOIN ax_namensnummer nn 630 ON v.beziehung_von = nn.gml_id 631 WHERE NOT nn.artderrechtsgemeinschaft IS NULL 632 ORDER BY gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, 633 nn.laufendenummernachdin1421; 634 635 COMMENT ON VIEW rechtsgemeinschaften_zum_grundbuch 636 IS 'Rechtsgemeinschaften zum Grundbuchblatt.'; 637 638 -- Schritt 2: Wo gibt es mehrere zu einem GB-Blatt 501 639 CREATE OR REPLACE VIEW rechtsgemeinschaften_zaehlen 502 640 AS … … 512 650 513 651 -- Schritt 3: alle vorhandenen Zeilen anzeigen zu den GB-BlÀttern, bei denen es mehrere gibt. 514 515 /*516 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen":517 518 +++ HIER HIN KOPPIEREN ++++519 520 */521 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":522 -- +++ ToDo523 524 652 CREATE OR REPLACE VIEW rechtsgemeinschaften_mehrfachzeilen 525 653 AS … … 565 693 AND p.endet IS NULL 566 694 AND p.art IN ('AOG_AUG','PNR'); 695 567 696 COMMENT ON VIEW ap_pto_muell 568 697 IS 'Datenanalyse: Beschriftungen aus "ap_pto", die NICHT dargestellt werden sollen.'; … … 584 713 /* 585 714 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen": 586 587 +++ HIER HIN KOPPIEREN ++++588 589 */590 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":591 -- +++ ToDo592 593 715 594 716 CREATE OR REPLACE VIEW flstnr_ohne_position … … 603 725 --ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler 604 726 ; 727 728 */ 729 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen": 730 -- +++ ToDo 731 732 733 CREATE OR REPLACE VIEW flstnr_ohne_position 734 AS 735 SELECT f.gml_id, 736 f.gemarkungsnummer || '-' || f.flurnummer || '-' || f.zaehler::text || COALESCE ('/' || f.nenner::text, '') AS such -- Suchstring fÃŒr ALKIS-Navigation nach FS-Kennzeichen 737 FROM ax_flurstueck f 738 LEFT JOIN alkis_beziehungen v ON v.beziehung_zu = f.gml_id 739 --LEFT JOIN ap_pto p ON p.gml_id = v.beziehung_von 740 WHERE v.beziehungsart is NULL 741 AND f.endet IS NULL 742 --ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler 743 ; 744 605 745 COMMENT ON VIEW flstnr_ohne_position IS 'Sicht fÃŒr Datenanalyse: FlurstÃŒcke ohne manuell gesetzte Position fÃŒr die PrÀsentation der FS-Nr'; 746 606 747 607 748 -- Umbruch im Label? z.B. "Schwimm-/nbecken" … … 613 754 WHERE not schriftinhalt is null 614 755 AND schriftinhalt like '%/n%'; 756 615 757 COMMENT ON VIEW texte_mit_umbruch 616 758 IS 'Sicht fÃŒr Datenanalyse: Vorkommen eines Umbruchs im Label-Text.'; … … 624 766 FROM ax_flurstueck f 625 767 WHERE f.endet IS NULL; 768 626 769 COMMENT ON VIEW flurstuecks_minmax 627 770 IS 'Sicht fÃŒr Datenanalyse: Maximale Ausdehnung von ax_flurstueck fuer EXTENT-Angabe im Mapfile.'; … … 647 790 AND r.stelle = d.stelle 648 791 WHERE r.endet IS NULL AND d.endet IS NULL ; 792 649 793 COMMENT ON VIEW baurecht 650 794 IS 'Datenanalyse: EnstschlÃŒsselte Felder zu einer FlÀche des Baurechts.'; … … 658 802 WHERE endet IS NULL 659 803 ORDER BY land, regierungsbezirk, kreis, gemeinde, gemarkungsnummer; 804 660 805 COMMENT ON VIEW gemarkung_in_gemeinde 661 806 IS 'Welche Gemarkung liegt in welcher Gemeinde? Durch Verweise aus FlurstÃŒck.'; … … 670 815 WHERE endet IS NULL 671 816 GROUP BY st_geometrytype(wkb_geometry); 817 672 818 COMMENT ON VIEW arten_von_flurstuecksgeometrie IS 'Datenanalyse: vorkommende Geometry-Typen in Tabelle ax_flurstueck.'; 673 819 … … 697 843 AND l.lage = s.lage 698 844 WHERE l.gemeinde = 40; -- "40" = Stadt Lage 845 699 846 COMMENT ON VIEW adressen_hausnummern IS 'Datenanalyse: VerschlÃŒsselte Lagebezeichnung (StraÃe und Hausnummer) fÃŒr eine Gemeinde. SchlÃŒssel der Gemeinde nach Bedarf anpassen.'; 700 847 … … 704 851 /* 705 852 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen": 706 707 +++ HIER HIN KOPPIEREN ++++708 709 */710 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":711 -- +++ ToDo712 853 713 854 CREATE OR REPLACE VIEW adressen_zum_flurstueck … … 737 878 AND l.gemeinde = 40 -- "40" = Stadt Lage 738 879 ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner; 880 881 */ 882 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen": 883 -- +++ ToDo 884 885 CREATE OR REPLACE VIEW adressen_zum_flurstueck 886 AS 887 SELECT 888 f.gemarkungsnummer, 889 f.flurnummer, 890 f.zaehler, 891 f.nenner, 892 g.bezeichnung AS gemeindename, 893 s.bezeichnung AS strassenname, 894 l.lage AS strassenschluessel, 895 l.hausnummer 896 FROM ax_flurstueck f 897 JOIN alkis_beziehungen v 898 ON f.gml_id=v.beziehung_von 899 JOIN ax_lagebezeichnungmithausnummer l 900 ON l.gml_id=v.beziehung_zu 901 JOIN ax_gemeinde g 902 ON l.kreis=g.kreis 903 AND l.gemeinde=g.gemeinde 904 JOIN ax_lagebezeichnungkatalogeintrag s 905 ON l.kreis=s.kreis 906 AND l.gemeinde=s.gemeinde 907 AND l.lage = s.lage 908 WHERE v.beziehungsart='weistAuf' 909 AND l.gemeinde = 40 -- "40" = Stadt Lage 910 ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner; 911 739 912 COMMENT ON VIEW adressen_zum_flurstueck IS 'Datenanalyse: Zuordnung von Adressen zu Flurstuecken. SchlÃŒssel der Gemeinde nach Bedarf anpassen.'; 740 913 … … 809 982 /* 810 983 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen": 811 812 +++ HIER HIB KOPIEREN +++813 814 */815 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":816 -- +++ ToDo817 984 818 985 CREATE OR REPLACE VIEW flurstuecke_eines_eigentuemers … … 857 1024 AND s.endet IS NULL AND f.endet IS NULL AND k.endet IS NULL 858 1025 ORDER BY k.bezeichnung, f.flurnummer, f.zaehler, f.nenner, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer; 1026 1027 1028 */ 1029 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen": 1030 -- +++ ToDo 1031 1032 CREATE OR REPLACE VIEW flurstuecke_eines_eigentuemers 1033 AS 1034 SELECT 1035 k.bezeichnung AS gemarkung, 1036 k.gemarkungsnummer AS gemkg_nr, 1037 f.flurnummer AS flur, 1038 f.zaehler AS fs_zaehler, 1039 f.nenner AS fs_nenner, 1040 f.amtlicheflaeche AS flaeche, 1041 f.wkb_geometry AS geom, -- fuer Export als Shape 1042 -- g.bezirk, 1043 b.bezeichnung AS bezirkname, 1044 g.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt, 1045 g.blattart, 1046 s.laufendenummer AS bvnr, 1047 art.bezeichner AS buchgsart, 1048 -- s.zaehler || '/' || s.nenner AS buchg_anteil, 1049 n.laufendenummernachdin1421 AS name_num, 1050 -- n.zaehler || '/' || n.nenner AS nam_anteil, 1051 p.nachnameoderfirma AS nachname --, 1052 -- p.vorname 1053 FROM ax_person p 1054 JOIN alkis_beziehungen bpn ON bpn.beziehung_zu = p.gml_id 1055 JOIN ax_namensnummer n ON bpn.beziehung_von =n.gml_id 1056 JOIN alkis_beziehungen bng ON n.gml_id = bng.beziehung_von 1057 JOIN ax_buchungsblatt g ON bng.beziehung_zu = g.gml_id 1058 JOIN ax_buchungsblattbezirk b ON g.land = b.land AND g.bezirk = b.bezirk 1059 JOIN alkis_beziehungen bgs ON bgs.beziehung_zu = g.gml_id 1060 JOIN ax_buchungsstelle s ON s.gml_id = bgs.beziehung_von 1061 JOIN ax_buchungsstelle_buchungsart art ON s.buchungsart = art.wert 1062 JOIN alkis_beziehungen bsf ON bsf.beziehung_zu = s.gml_id 1063 JOIN ax_flurstueck f ON f.gml_id = bsf.beziehung_von 1064 JOIN ax_gemarkung k ON f.land = k.land AND f.gemarkungsnummer = k.gemarkungsnummer 1065 WHERE p.nachnameoderfirma LIKE 'Gemeinde %' -- ** Bei Bedarf anpassen! 1066 AND bpn.beziehungsart = 'benennt' -- Namennummer >> Person 1067 AND bng.beziehungsart = 'istBestandteilVon' -- Namensnummer >> Grundbuch 1068 AND bgs.beziehungsart = 'istBestandteilVon' -- Buchungs-Stelle >> Grundbuch 1069 AND bsf.beziehungsart = 'istGebucht' -- Flurstueck >> Buchungs-Stelle 1070 AND p.endet IS NULL AND n.endet IS NULL AND g.endet IS NULL AND b.endet IS NULL 1071 AND s.endet IS NULL AND f.endet IS NULL AND k.endet IS NULL 1072 ORDER BY k.bezeichnung, f.flurnummer, f.zaehler, f.nenner, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer; 1073 859 1074 COMMENT ON VIEW flurstuecke_eines_eigentuemers IS 'Muster fÃŒr Export: Suchkriteriumnach Bedarf anpassen.'; 860 1075 … … 876 1091 /* 877 1092 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen": 878 879 880 +++ HIER HIN KOIEREN881 882 */883 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":884 1093 885 1094 CREATE OR REPLACE VIEW rechte_eines_eigentuemers … … 932 1141 AND sh.endet IS NULL AND sd.endet IS NULL AND f.endet IS NULL AND k.endet IS NULL 933 1142 ORDER BY k.bezeichnung, f.flurnummer, f.zaehler, f.nenner, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung, sh.laufendenummer; 1143 1144 1145 */ 1146 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen": 1147 1148 CREATE OR REPLACE VIEW rechte_eines_eigentuemers 1149 AS 1150 SELECT 1151 k.bezeichnung AS gemarkung, 1152 k.gemarkungsnummer AS gemkg_nr, 1153 f.flurnummer AS flur, 1154 f.zaehler AS fs_zaehler, 1155 f.nenner AS fs_nenner, 1156 f.amtlicheflaeche AS flaeche, 1157 f.wkb_geometry AS geom, -- fuer Export als Shape 1158 -- g.bezirk, 1159 b.bezeichnung AS bezirkname, 1160 g.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt, 1161 -- g.blattart, 1162 sh.laufendenummer AS bvnr_herr, 1163 sh.zaehler || '/' || sh.nenner AS buchg_anteil_herr, 1164 arth.bezeichner AS buchgsa_herr, 1165 bss.beziehungsart AS bez_art, 1166 artd.bezeichner AS buchgsa_dien, 1167 sd.laufendenummer AS bvnr_dien, 1168 -- sd.zaehler || '/' || sd.nenner AS buchg_anteil_dien, 1169 n.laufendenummernachdin1421 AS name_num, 1170 -- n.zaehler || '/' || n.nenner AS nam_anteil, 1171 p.nachnameoderfirma AS nachname --, 1172 -- p.vorname 1173 FROM ax_person p 1174 JOIN alkis_beziehungen bpn ON bpn.beziehung_zu = p.gml_id 1175 JOIN ax_namensnummer n ON bpn.beziehung_von =n.gml_id 1176 JOIN alkis_beziehungen bng ON n.gml_id = bng.beziehung_von 1177 JOIN ax_buchungsblatt g ON bng.beziehung_zu = g.gml_id 1178 JOIN ax_buchungsblattbezirk b ON g.land = b.land AND g.bezirk = b.bezirk 1179 JOIN alkis_beziehungen bgs ON bgs.beziehung_zu = g.gml_id 1180 JOIN ax_buchungsstelle sh ON sh.gml_id = bgs.beziehung_von -- herrschende Buchung 1181 JOIN ax_buchungsstelle_buchungsart arth ON sh.buchungsart = arth.wert 1182 JOIN alkis_beziehungen bss ON sh.gml_id = bss.beziehung_von 1183 JOIN ax_buchungsstelle sd ON sd.gml_id = bss.beziehung_zu -- dienende Buchung 1184 JOIN ax_buchungsstelle_buchungsart artd ON sd.buchungsart = artd.wert 1185 JOIN alkis_beziehungen bsf ON bsf.beziehung_zu = sd.gml_id 1186 JOIN ax_flurstueck f ON f.gml_id = bsf.beziehung_von 1187 JOIN ax_gemarkung k ON f.land = k.land AND f.gemarkungsnummer = k.gemarkungsnummer 1188 WHERE p.nachnameoderfirma LIKE 'Stadt %' -- ** Bei Bedarf anpassen! 1189 AND bpn.beziehungsart = 'benennt' -- Namennummer >> Person 1190 AND bng.beziehungsart = 'istBestandteilVon' -- Namensnummer >> Grundbuch 1191 AND bgs.beziehungsart = 'istBestandteilVon' -- B-Stelle herr >> Grundbuch 1192 AND bss.beziehungsart in ('an','zu') -- B-Stelle herr. >> B-Stelle dien. 1193 AND bsf.beziehungsart = 'istGebucht' -- Flurstueck >> B-Stelle dien 1194 AND p.endet IS NULL AND n.endet IS NULL AND g.endet IS NULL AND b.endet IS NULL 1195 AND sh.endet IS NULL AND sd.endet IS NULL AND f.endet IS NULL AND k.endet IS NULL 1196 ORDER BY k.bezeichnung, f.flurnummer, f.zaehler, f.nenner, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung, sh.laufendenummer; 1197 934 1198 COMMENT ON VIEW rechte_eines_eigentuemers IS 'Muster fÃŒr Export: Suchkriteriumnach Bedarf anpassen. Dies ergÀnzt "flurstuecke_eines_eigentuemers" um die FÀlle mit besonderen Buchungen.'; 935 1199 … … 981 1245 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen": 982 1246 983 +++ HIER HIN KOPPIEREN ++++984 985 */986 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":987 -- +++ ToDo988 989 1247 CREATE OR REPLACE VIEW mehrfache_buchung_zu_fs 990 1248 AS … … 997 1255 HAVING count(b.ogc_fid) > 1; 998 1256 1257 */ 1258 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen": 1259 -- +++ ToDo 1260 1261 CREATE OR REPLACE VIEW mehrfache_buchung_zu_fs 1262 AS 1263 SELECT f.gml_id, count(b.ogc_fid) AS anzahl 1264 FROM ax_flurstueck f 1265 JOIN alkis_beziehungen b 1266 ON f.gml_id = b.beziehung_von 1267 WHERE b.beziehungsart = 'istGebucht' 1268 GROUP BY f.gml_id 1269 HAVING count(b.ogc_fid) > 1; 1270 999 1271 -- Noch einfacher? - Auch ohne JOIN wird das selbe Ergebnis geliefert. 1000 1272 -- Doppelte Verweise zÀhlen ohne zu prÃŒfen, ob die gml_id in ax_flurstueck existiert. … … 1043 1315 /* 1044 1316 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen": 1045 1046 +++ HIER HIN +++1047 1048 */1049 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":1050 1317 1051 1318 CREATE OR REPLACE VIEW adressen_zu_gebauede_mit_mehreren_hausnummern … … 1064 1331 HAVING count(l.gml_id) > 1); 1065 1332 1333 */ 1334 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen": 1335 1336 CREATE OR REPLACE VIEW adressen_zu_gebauede_mit_mehreren_hausnummern 1337 AS 1338 SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer -- Anzeige der Adressfelder 1339 FROM ax_gebaeude g1 1340 JOIN alkis_beziehungen b ON b.beziehung_von = g1.gml_id 1341 JOIN ax_lagebezeichnungmithausnummer l ON b.beziehung_zu = l.gml_id 1342 WHERE b.beziehungsart = 'zeigtAuf' AND g1.gml_id IN -- Subquery sucht GebÀude mit meherern Hausnummen 1343 (SELECT g2.gml_id 1344 FROM ax_gebaeude g2 1345 JOIN alkis_beziehungen b ON b.beziehung_von = g2.gml_id 1346 JOIN ax_lagebezeichnungmithausnummer l ON b.beziehung_zu = l.gml_id 1347 WHERE b.beziehungsart = 'zeigtAuf' 1348 GROUP BY g2.gml_id 1349 HAVING count(l.gml_id) > 1); 1350 1066 1351 COMMENT ON VIEW adressen_zu_gebauede_mit_mehreren_hausnummern 1067 1352 IS 'GebÀude mit mehreren Hausnummern suchen (ist erlaubt) und dazu die Adressen anzeigen.'; … … 1135 1420 /* 1136 1421 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen": 1137 1138 +++ HIER HIN KOPIEREN +++1139 1140 */1141 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":1142 1422 1143 1423 CREATE OR REPLACE VIEW strasse_als_gewanne … … 1162 1442 ; 1163 1443 1444 */ 1445 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen": 1446 1447 CREATE OR REPLACE VIEW strasse_als_gewanne 1448 AS 1449 SELECT k.gemeinde, k.lage AS strassenschluessel, 1450 -- k.bezeichnung AS strassenname, 1451 o.unverschluesselt AS gewanne, 1452 count(fo.gml_id) AS anzahl_fs_gewanne 1453 FROM ax_lagebezeichnungkatalogeintrag k -- StraÃentabelle 1454 JOIN ax_lagebezeichnungohnehausnummer o -- Gewanne 1455 ON k.bezeichnung = o.unverschluesselt -- Gleiche Namen 1456 -- Join Gewanne auf FlurstÃŒcke um nur solche FÀlle anzuzeigen, die verwendet werden 1457 -- UND die auch in der gleichen Gemeinde liegen. 1458 -- Sonst könnte zufÀllige Namensgleichheiten aus verschiedenen Gemeinden geben. 1459 JOIN alkis_beziehungen vo 1460 ON o.gml_id=vo.beziehung_zu AND vo.beziehungsart= 'zeigtAuf' 1461 JOIN ax_flurstueck fo 1462 ON fo.gml_id=vo.beziehung_von 1463 WHERE fo.gemeinde = k.gemeinde -- Gewanne wird fÃŒr ein Flst. in gleicher Gemeinde verwendet, wie der StraÃenschlÃŒssel 1464 GROUP BY k.gemeinde, k.lage, o.unverschluesselt --, k.bezeichnung 1465 ORDER BY k.gemeinde, k.lage, o.unverschluesselt --, k.bezeichnung 1466 ; 1467 1164 1468 COMMENT ON VIEW strasse_als_gewanne 1165 1469 IS 'Gewannenbezeichnungen, die auch als StraÃenname verwendet werden. Mit FlurstÃŒcks-ZÀhler.'; … … 1171 1475 /* 1172 1476 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen": 1173 1174 +++ HIER HIN KOPIEREN +++1175 1176 */1177 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":1178 1477 1179 1478 CREATE OR REPLACE VIEW strasse_als_gewanne_flst … … 1195 1494 ORDER BY fo.gemarkungsnummer, fo.flurnummer, fo.zaehler, k.gemeinde, k.bezeichnung; 1196 1495 1496 */ 1497 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen": 1498 1499 CREATE OR REPLACE VIEW strasse_als_gewanne_flst 1500 AS 1501 SELECT -- fo.gml_id, 1502 fo.gemarkungsnummer || '-' || fo.flurnummer || '-' || fo.zaehler::text || COALESCE ('/' || fo.nenner::text, '') AS flstkennz, 1503 k.gemeinde, 1504 o.unverschluesselt AS gewanne, 1505 -- k.bezeichnung AS strassenname, 1506 k.lage -- AS strassen_schluessel 1507 FROM ax_lagebezeichnungkatalogeintrag k -- StraÃentabelle 1508 JOIN ax_lagebezeichnungohnehausnummer o -- Gewanne 1509 ON k.bezeichnung = o.unverschluesselt -- Gleiche Namen 1510 JOIN alkis_beziehungen vo 1511 ON o.gml_id=vo.beziehung_zu AND vo.beziehungsart= 'zeigtAuf' 1512 JOIN ax_flurstueck fo 1513 ON fo.gml_id=vo.beziehung_von 1514 WHERE fo.gemeinde = k.gemeinde -- Gewanne wird fÃŒr ein Flst. in gleicher Gemeinde verwendet, wie der StraÃenschlÃŒssel 1515 ORDER BY fo.gemarkungsnummer, fo.flurnummer, fo.zaehler, k.gemeinde, k.bezeichnung; 1516 1197 1517 COMMENT ON VIEW strasse_als_gewanne_flst 1198 1518 IS 'FlurstÃŒcke mit Gewannenbezeichnungen, die auch als StraÃenname verwendet werden.'; … … 1206 1526 /* 1207 1527 -- alte Version mit Relationen ÃŒber die Tabelle "alkis_beziehungen": 1208 1209 +++ HIER HIN KOPIEREN +++1210 1211 */1212 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen":1213 1528 1214 1529 CREATE OR REPLACE VIEW nachmigration_aehnliche_anschriften … … 1230 1545 ORDER BY p.nachnameoderfirma, p.vorname; 1231 1546 1547 */ 1548 -- neue Version mit Relationen OHNE die Tabelle "alkis_beziehungen": 1549 1550 CREATE OR REPLACE VIEW nachmigration_aehnliche_anschriften 1551 AS 1552 SELECT DISTINCT p.gml_id, p.nachnameoderfirma, p.vorname, 1553 a1.ort_post, a1.strasse AS strasse1, a2.strasse AS strasse2, a1.hausnummer 1554 -- , b1.import_id AS import1, b2.import_id AS import2 1555 FROM ax_person p 1556 JOIN alkis_beziehungen b1 ON b1.beziehung_von=p.gml_id 1557 JOIN ax_anschrift a1 ON a1.gml_id=b1.beziehung_zu 1558 JOIN alkis_beziehungen b2 ON b2.beziehung_von=p.gml_id 1559 JOIN ax_anschrift a2 ON a2.gml_id=b2.beziehung_zu 1560 WHERE b1.beziehungsart='hat' 1561 AND b2.beziehungsart='hat' 1562 AND a1.gml_id <> a2.gml_id 1563 AND a1.ort_post = a2.ort_post 1564 AND a1.strasse like trim(a2.strasse, '.') || '%' 1565 AND a1.hausnummer = a2.hausnummer 1566 ORDER BY p.nachnameoderfirma, p.vorname; 1567 1232 1568 COMMENT ON VIEW nachmigration_aehnliche_anschriften 1233 1569 IS 'Zu einer Person gibt es mehrere Anschriften, die in Ort und Hausnummer identisch sind und beim StraÃennemen entweder auch identisch sind oder eine AbkÃŒrzung mit Punkt enthalten.';
Note: See TracChangeset
for help on using the changeset viewer.