Changeset 301


Ignore:
Timestamp:
01/17/14 09:51:00 (10 years ago)
Author:
frank.jaeger
Message:
 
Location:
trunk
Files:
1 added
4 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/import/sichten.sql

    r298 r301  
    88 
    99--  Dieses SQL braucht nur bei Bedarf in einer PostNAS-DB verarbeitet werden. 
    10 --  Es werden zusÀtzliche Views einegerichtet, die nur bei Fehlersuche und Analys (vom Entwickler) benötigt werden. 
     10--  Es werden zusÀtzliche Views eingerichtet, die nur bei Fehlersuche und Analyse (vom Entwickler) benötigt werden. 
    1111 
    1212--  PostNAS 0.7 
     
    2323--  2013-10-23 Fehlersuche GebÀude-Hausnummer-Relation 
    2424--  2013-11-26 Neue Views (doppelverbindung) 
     25--  2014-01-17 View "exp_csv" fÃŒr den Export von CSV-Daten aus der Auskunft mit Modul alkisexport.php. 
    2526 
    2627 
     
    6667 IS 'ALKIS-Beziehung von FlurstÃŒck zu Buchung. UNION-Zusammenfassung des einfachen Falls mit direkter Buchung und des Falles mit Recht einer Buchungsstelle an einer anderen Buchungsstelle.'; 
    6768 
    68 -- Ende "Bausteine" 
    69  
    70  
    7169-- Test-Ausgabe: Ein paar FÀlle mit "Recht an" 
    7270--   SELECT * FROM doppelverbindung WHERE ba_dien > 0 LIMIT 20; 
     71 
     72-- Ende "Bausteine" 
     73 
     74 
     75 
     76-- Generelle Export-Struktur FlurstÃŒck - Buchung - Grundbuch - Person 
     77-- ------------------------------------------------------------------ 
     78-- Verwendet den gespeicherten View "doppelverbindung". 
     79-- Wird benötigt im Auskunft-Modul "alkisexport.php": 
     80-- Je nach aufrufendem Modul wird der Filter (WHERE) an anderer Stelle gesetzt (gml_id von FS, GB oder Pers.) 
     81 
     82-- Problem / Konflikt: 
     83-- Es kann nur eine lineare Struktur aus Spalten und Zeilen exportiert werden.  
     84-- Wenn nicht nur die Daten des Ausgangs-Objektes exportiert werden, sondern auch verbundene Tabellen in  
     85-- einer 1:N-Struktur, dann verdoppeln sich Zeileninhalte und es werden redundante Daten erzeugt.  
     86-- Diese Redundanzen mÃŒssen vom dem Programm gefiltert werden, das die Daten ÃŒber eine Schnittstelle einliest. 
     87 
     88-- Anwendungs-Beispiel: Abrechnung von AnliegerbeitrÀgen. 
     89 
     90--           DROP VIEW exp_csv; 
     91CREATE OR REPLACE VIEW exp_csv 
     92AS 
     93 SELECT 
     94  -- ** FlurstÃŒck 
     95     f.gml_id AS fsgml,                                   -- möglicher Filter FlurstÃŒcks-GML-ID 
     96     f.flurstueckskennzeichen             AS fs_kennz, 
     97     f.gemarkungsnummer,                                  -- Teile des FS-Kennz. noch mal einzeln 
     98     f.flurnummer, f.zaehler, f.nenner,  
     99     f.amtlicheflaeche                    AS fs_flae, 
     100 
     101   -- * Adressen des FS -- Nein, diese werden im Export-Modul ermitteln und nachtragen 
     102 --  k.bezeichnung                          AS strasse,   -- Straßennamen 
     103 --  split_part(l.hausnummer,' ',1)         AS hausnr,    -- Nummer 
     104 --  upper(split_part(l.hausnummer,' ',2))  AS hausnr_zs, -- Zusatz in Großschreibung 
     105 
     106  -- ** Grundbuch 
     107     gb.gml_id                            AS gbgml,       -- möglicher Filter Grundbuch-GML-ID 
     108     gb.bezirk                            AS gb_bezirk, 
     109     gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt, 
     110 
     111 -- ** Buchung 
     112     s.laufendenummer                     AS bu_lfd, 
     113   -- s.zaehler, s.nenner,                                -- Anteil des GB am FS 
     114     '=' || s.zaehler|| '/' || s.nenner   AS bu_ant,      -- als Excel-Formel  (nur bei Wohnungsgrundbuch JOIN ÃŒber 'Recht an') 
     115   --s.buchungsart,                                       -- verschlÃŒsselt 
     116     b.bezeichner                         AS bu_art,      -- entschlÃŒsselt 
     117 
     118   -- Felder aus der Subquery "Namens-Zweig" 
     119     nz.nam_lfd, nz.nam_ant, nz.nam_bes,                  -- nn.* 
     120     nz.psgml,                                            -- möglicher Filter Personen-GML-ID 
     121     nz.nachnameoderfirma, nz.vorname, nz.geburtsdatum    -- p.* 
     122 
     123  FROM ax_flurstueck    f               -- FlurstÃŒck 
     124  JOIN doppelverbindung d               -- beide FÀlle ÃŒber Union-View: direkt und ÃŒber Recht von BS an BS 
     125    ON d.fsgml = f.gml_id  
     126 
     127  JOIN ax_buchungsstelle s              -- Buchungs-Stelle 
     128    ON d.bsgml = s.gml_id  
     129  JOIN ax_buchungsstelle_buchungsart b  -- EnstschlÃŒsselung der Buchungsart 
     130    ON s.buchungsart = b.wert  
     131 
     132--  JOIN alkis_beziehungen v2             -- ax_flurstueck  >weistAuf>  AX_LagebezeichnungMitHausnummer 
     133--    ON v2.beziehung_von = f.gml_id AND v2.beziehungsart = 'weistAuf' 
     134--  JOIN ax_lagebezeichnungmithausnummer l 
     135--    ON v2.beziehung_zu = l.gml_id 
     136--  JOIN ax_lagebezeichnungkatalogeintrag k  
     137--   ON l.kreis = k.kreis AND l.gemeinde = k.gemeinde AND l.lage = k.lage  
     138 
     139  JOIN alkis_beziehungen v3              -- Grundbuch (zur Buchungs-Stelle) 
     140    ON s.gml_id = v3.beziehung_von  AND v3.beziehungsart = 'istBestandteilVon'  -- Buchung  --> Blatt 
     141  JOIN ax_buchungsblatt  gb  
     142    ON v3.beziehung_zu = gb.gml_id  
     143 
     144  LEFT JOIN -- LEFT: fiktives Blatt hat keine Namensnummern, dieser "Zweig" kann leer bleiben. 
     145  ( SELECT 
     146    -- Namensnummer 
     147     v4.beziehung_zu AS v4gml, 
     148     nn.laufendenummernachdin1421         AS nam_lfd,  
     149     '=' || nn.zaehler|| '/' || nn.nenner AS nam_ant,         -- als Excel-Formel 
     150     nn.beschriebderrechtsgemeinschaft    AS nam_bes, 
     151 
     152     -- Person (zur Namensnummer) 
     153     p.gml_id                            AS psgml,            -- möglicher Filter 
     154     p.nachnameoderfirma,                                     -- Familienname 
     155     p.vorname,                                               -- Vorname 
     156     p.geburtsdatum 
     157 
     158     -- Adresse des EigentÃŒmers  - Nein 
     159 
     160   FROM alkis_beziehungen v4         -- Namensnummer (zum GB-Blatt)  
     161   JOIN ax_namensnummer nn  
     162     ON v4.beziehung_von = nn.gml_id  
     163   JOIN alkis_beziehungen v5         -- Person (zur Namensnummer) 
     164     ON v5.beziehung_von = nn.gml_id  AND v5.beziehungsart = 'benennt'  -- NamNum   --> Person 
     165   JOIN ax_person p 
     166     ON v5.beziehung_zu = p.gml_id 
     167   WHERE v4.beziehungsart = 'istBestandteilVon'  -- Blatt  --> NamNum 
     168  ) AS nz   -- Namens-Zweig 
     169   ON nz.v4gml = gb.gml_id      -- LEFT JOIN: Namenzweig an Grundbuch anbinden 
     170 
     171  ORDER BY f.flurstueckskennzeichen, gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, nz.nam_lfd ; 
     172 
     173COMMENT ON VIEW exp_csv  
     174 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.'; 
     175 
     176-- GRANT SELECT ON TABLE exp_csv TO mb27;       -- User fÃŒr Auskunfts-Programme 
     177-- GRANT SELECT ON TABLE exp_csv TO alkisbuch;  -- User fÃŒr Auskunfts-Programme RLP-Demo 
     178 
     179 
    73180 
    74181-- Welche Karten-Typen ? 
     
    568675 
    569676 
     677-- Probleme mit der Trigger-Function "update_fields_beziehungen()" 
     678-- Manchmal kann zu einer gml_id in "alkis_beziehungen" die zustÀndige Tabelle nicht gefunden werden. 
     679-- Nach Änderung der Trigger-Function am 10.12.2013 wird die Beziehung trotzdem eingetragen, 
     680-- nur die Felder "von_typename" und "beginnt" bleiben leer. 
     681 
     682-- Diese FÀlle anzeigen: 
     683CREATE OR REPLACE VIEW beziehungsproblem_faelle 
     684AS 
     685  SELECT * 
     686    FROM alkis_beziehungen 
     687   WHERE beginnt IS NULL; 
     688 
     689-- Wie viele sind das? 
     690CREATE OR REPLACE VIEW beziehungsproblem_zaehler 
     691AS 
     692  SELECT count(ogc_fid) AS anzahl 
     693    FROM alkis_beziehungen 
     694   WHERE beginnt IS NULL; 
     695 
     696 
    570697-- END -- 
  • trunk/info/info/alkis/alkisbestnw.php

    r275 r301  
    66 
    77        Version: 
    8         17.11.2011  Parameter der Functions geÀndert 
    9         22.11.2011  Feldname land in ax_buchungsblattbezirk geÀndert 
    10         30.11.2011  import_request_variables 
    11         24.07.2012  Export CSV 
     8        2011-11-17  Parameter der Functions geÀndert 
     9        2011-11-22  Feldname land in ax_buchungsblattbezirk geÀndert 
     10        2011-11-30  import_request_variables 
     11        2012-07-24  Export CSV 
    1212        2013-04-08  deprecated "import_request_variables" ersetzt 
    1313 
     
    3838        <link rel="shortcut icon" type="image/x-icon" href="ico/Grundbuch.ico"> 
    3939        <script type="text/javascript"> 
    40         function ALKISexportGB() {window.open(<?php echo "'alkisgbexp.php?gkz=".$gkz."&gmlid=".$gmlid."'"; ?>);} 
    41         function ALKISexportFS() {window.open(<?php echo "'alkisgbfsexp.php?gkz=".$gkz."&gmlid=".$gmlid."'"; ?>);} 
     40                function ALKISexport() { 
     41                                window.open(<?php echo "'alkisexport.php?gkz=".$gkz."&tabtyp=grundbuch&gmlid=".$gmlid."'"; ?>); 
     42                } 
    4243        </script> 
    4344        <style type='text/css' media='print'> 
     
    479480                <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp; 
    480481                <a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken" /></a>&nbsp; 
    481                 <a title="Export Flurst&uuml;cksdaten als CSV" href='javascript:ALKISexportFS()'><img src="ico/download_fs.ico" width="32" height="16" alt="Export" /></a>&nbsp; 
    482                 <a title="Export Grundbuchdaten als CSV" href='javascript:ALKISexportGB()'><img src="ico/download_gb.ico" width="32" height="16" alt="Export" /></a>&nbsp; 
     482                <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download_gb.ico" width="32" height="16" alt="Export" /></a>&nbsp; 
    483483<!--    <a title="Seite schlie&szlig;en" href="javascript:window.close()"><img src="ico/close.ico" width="16" height="16" alt="Ende" /></a>     --> 
    484484        </div> 
  • trunk/info/info/alkis/alkisfsnw.php

    r288 r301  
    3333$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    3434if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    35 echo <<<END 
     35?> 
     36 
    3637<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    3738<html> 
     
    4546        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
    4647        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico"> 
     48        <script type="text/javascript"> 
     49                function ALKISexport() { 
     50                                window.open(<?php echo "'alkisexport.php?gkz=".$gkz."&tabtyp=flurstueck&gmlid=".$gmlid."'"; ?>); 
     51                } 
     52        </script> 
    4753        <style type='text/css' media='print'> 
    4854                .noprint {visibility: hidden;} 
    4955        </style> 
    50         <script type="text/javascript"> 
    51         function ALKISexportFS() {window.open('alkisfsexp.php?gkz=$gkz&gmlid=$gmlid');} 
    52         function ALKISexportGB() {window.open('alkisfsgbexp.php?gkz=$gkz&gmlid=$gmlid');} 
    53         </script> 
    5456</head> 
    5557<body> 
    56 END; 
    57  
     58 
     59<?php 
    5860$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
    5961if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
     
    861863                <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp; 
    862864                <a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken" /></a>&nbsp; 
    863                 <a title="Export Flurst&uuml;cksdaten als CSV" href='javascript:ALKISexportFS()'><img src="ico/download_fs.ico" width="32" height="16" alt="Export" /></a>&nbsp; 
    864                 <a title="Export Grundbuchdaten als CSV" href='javascript:ALKISexportGB()'><img src="ico/download_gb.ico" width="32" height="16" alt="Export" /></a>&nbsp; 
    865 <!--    <a title="Seite schlie&szlig;en" href="javascript:window.close()"><img src="ico/close.ico" width="16" height="16" alt="Ende" /></a>     --> 
     865                <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download_fs.ico" width="32" height="16" alt="Export" /></a>&nbsp; 
     866<!-- <a title="Export Grundbuchdaten als CSV" href='javascript:ALKISexportGB()'><img src="ico/download_gb.ico" width="32" height="16" alt="Export" /></a>&nbsp; --> 
     867<!-- <a title="Seite schlie&szlig;en" href="javascript:window.close()"><img src="ico/close.ico" width="16" height="16" alt="Ende" /></a>        --> 
    866868        </div> 
    867869</form> 
  • trunk/info/info/alkis/alkisnamstruk.php

    r298 r301  
    3333        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
    3434        <link rel="shortcut icon" type="image/x-icon" href="ico/Eigentuemer_2.ico"> 
     35        <script type="text/javascript"> 
     36                function ALKISexport() { 
     37                                window.open(<?php echo "'alkisexport.php?gkz=".$gkz."&tabtyp=person&gmlid=".$gmlid."'"; ?>); 
     38                } 
     39        </script> 
    3540        <style type='text/css' media='print'> 
    3641                .noprint {visibility: hidden;} 
     
    3843</head> 
    3944<body> 
     45 
    4046<?php 
    4147$con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
     
    237243                <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp; 
    238244                <a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken" /></a>&nbsp; 
    239 <!--    <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.ico" width="16" height="16" alt="Export" /></a>&nbsp; 
    240                 <a title="Seite schlie&szlig;en" href="javascript:window.close()"><img src="ico/close.ico" width="16" height="16" alt="Ende" /></a>     --> 
     245                <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.ico" width="32" height="16" alt="Export" /></a>&nbsp; 
     246<!-- <a title="Seite schlie&szlig;en" href="javascript:window.close()"><img src="ico/close.ico" width="16" height="16" alt="Ende" /></a>        --> 
    241247        </div> 
    242248</form> 
Note: See TracChangeset for help on using the changeset viewer.