Ignore:
Timestamp:
09/10/14 12:08:18 (10 years ago)
Author:
frank.jaeger
Message:

Umstellung von PostNAS 0.7 auf PostNAS 0.8, ohne Tabelle "alkis_beziehungen".

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/info/info/alkis/alkisexport.php

    r308 r330  
    11<?php 
    22/*      Modul alkisexport.php 
    3         CSV-Export von ALKIS-Daten zu einem Flurstueck, Grundbuch oder Eigentümer. 
    4         Es wird eine GML-ID übergeben. 
     3        CSV-Export von ALKIS-Daten zu einem Flurstueck, Grundbuch oder EigentÃŒmer. 
     4        Es wird eine GML-ID ÃŒbergeben. 
    55        Es wird ein gespeicherter View verwendet, der nach der gml_id gefiltert wird.  
    66        Der View verkettet Flurstueck - Buchungsstelle - Grundbuch - Eigentuemer 
    7         Die Lagebezeichnung des Flurstücks wird in ein Feld komprimiert. 
     7        Die Lagebezeichnung des FlurstÃŒcks wird in ein Feld komprimiert. 
    88        Parameter: gkz=mandant&gmlid=DE...&tabtyp=flurstueck/grundbuch/person 
    99 
    1010        2014-01-17 krz f.j. 
    1111        2014-01-20 weitere Spalten und verbesserte Formatierung 
    12         2014-01-21 Der View liefert "Rechtsgemeinschaft" nun als Feld in allen Personen-Sätzen  
     12        2014-01-21 Der View liefert "Rechtsgemeinschaft" nun als Feld in allen Personen-SÀtzen  
    1313                        eines GB-Blattes statt als eigenen "Satz ohne Person". 
    1414        2014-01-27 Erweiterung auf Filter "strasse" ("gml_id" aus "ax_lagebezeichnungkatalogeintrag") 
     15        2014-09-04 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
     16        2014-09-10 Bei Relationen den Timestamp abschneiden 
    1517*/ 
    1618 
    1719function lage_zum_fs($gmlid) { 
    18         // Zu einem Flurstück die Lagebezeichnungen (mit Hausnummer) so aufbereiten,  
     20        // Zu einem FlurstÃŒck die Lagebezeichnungen (mit Hausnummer) so aufbereiten,  
    1921        // dass ggf. mehrere Lagebezeichnungen in eine Zelle der Tabelle passen. 
    20         $sql ="SELECT DISTINCT s.bezeichnung, l.hausnummer FROM alkis_beziehungen v "; 
    21         $sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; 
    22         $sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage = s.lage "; 
    23         $sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart='weistAuf' "; 
    24         $sql.="ORDER BY s.bezeichnung, l.hausnummer;"; 
     22        // FS >westAuf> Lage >> Katalog 
     23        $sql ="SELECT DISTINCT s.bezeichnung, l.hausnummer  
     24        FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON substring(l.gml_id,1,16)=ANY(f.weistauf) 
     25        JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage  
     26        WHERE f.gml_id= $1 ORDER BY s.bezeichnung, l.hausnummer;"; 
     27 
    2528        $v=array($gmlid); 
    2629        $res=pg_prepare("", $sql); 
    2730        $res=pg_execute("", $v); 
    2831        if (!$res) { 
    29                 echo "Fehler bei Lagebezeichnung \n"; 
    30                 //echo $sql."\n"; 
     32                return "** Fehler bei Lagebezeichnung **"; //.$sql; 
    3133        } 
    3234        $j=0; 
     
    4749} 
    4850 
     51// HIER START // 
     52 
    4953$cntget = extract($_GET); // Parameter aus URL lesen 
    5054header('Content-type: application/octet-stream'); 
     
    6165        exit("Fehler beim Verbinden der DB"); 
    6266} 
    63 pg_set_client_encoding($con, LATIN1); // Für Excel kein UTF8 ausgeben 
     67pg_set_client_encoding($con, LATIN1); // FÃŒr Excel kein UTF8 ausgeben 
    6468 
    6569// Der Parameter "Tabellentyp" bestimmt den Namen des Filter-Feldes aus dem View "exp_csv". 
     
    6872        case 'grundbuch':  $filter = "gbgml"; break; // ax_buchungsblatt.gml_id 
    6973        case 'person':     $filter = "psgml"; break; // ax_person.gml_id 
    70         case 'strasse':    $filter = "stgml"; break; // ax_lagebezeichnungkatalogeintrag.gml_id = Straße-GML-ID 
     74        case 'strasse':    $filter = "stgml"; break; // ax_lagebezeichnungkatalogeintrag.gml_id = Straße-GML-ID 
    7175        default: exit("Falscher Parameter '".$tabtyp."'"); break; 
    7276} 
     
    8387$res=pg_execute("", $v); 
    8488if (!$res) {exit("Fehler bei Datenbankabfrage");} 
    85 $i=1; // Kopfzeile zählt mit 
     89$i=1; // Kopfzeile zÀhlt mit 
    8690$fsalt=''; 
    8791 
     
    110114        $bu_lfd=$row["bu_lfd"]; // BVNR 
    111115        $bu_ant=$row["bu_ant"]; // '=zaehler/nenner' oder NULL 
    112         $bu_key=$row["buchungsart"]; // Schlüssel 
    113         $bu_art=$row["bu_art"]; // entschlüsselt (Umlaute in ANSI!) 
     116        $bu_key=$row["buchungsart"]; // SchlÃŒssel 
     117        $bu_art=$row["bu_art"]; // entschlÃŒsselt (Umlaute in ANSI!) 
    114118        if($bu_ant == '') { // Keine Bruch-Zahl 
    115119                $bu_ant = '1'; // "voller Anteil" (Faktor 1) 
     
    121125        $nam_lfd="'".kurz_namnr($row["nam_lfd"])."'"; // In Hochkomma, wird sonst wie Datum dargestellt. 
    122126        $nam_ant=$row["nam_ant"]; 
    123         $nam_adr=$row["nam_adr"]; // Art der Rechtsgemeischaft (Schlüssel) 
     127        $nam_adr=$row["nam_adr"]; // Art der Rechtsgemeischaft (SchlÃŒssel) 
    124128 
    125129        if ($nam_adr == '') {     // keine Rechtsgemeinschaft 
     
    133137                        $rechtsg=$row["nam_bes"]; // Beschrieb der Rechtsgemeinschaft 
    134138                } else { 
    135                         $rechtsg=rechtsgemeinschaft($nam_adr); // Entschlüsseln 
     139                        $rechtsg=rechtsgemeinschaft($nam_adr); // EntschlÃŒsseln 
    136140                } 
    137141        } 
     
    154158        } else {  
    155159                $adresse=$row["strasse"]." ".$row["hausnummer"].", ".$row["plz"]." ".$ort; 
    156                 $land=$row["land"]; // nur andere Länder anzeigen 
     160                $land=$row["land"]; // nur andere LÀnder anzeigen 
    157161                if (($land != "DEUTSCHLAND") and ($land != "")) { 
    158162                        $adresse.=" (".$land.")"; 
     
    161165 
    162166        // Adressen (Lage) zum FS 
    163         if($fsgml != $fsalt) { // nur bei geändertem Kennz. 
     167        if($fsgml != $fsalt) { // nur bei geÀndertem Kennz. 
    164168                $lage=lage_zum_fs($fsgml); // die Lage neu ermitteln 
    165169                $fsalt=$fsgml; 
    166170        } 
    167171 
    168         // Den Ausgabe-Satz montieren aus Flurstücks-, Grundbuch- und Namens-Teil 
     172        // Den Ausgabe-Satz montieren aus FlurstÃŒcks-, Grundbuch- und Namens-Teil 
    169173        //      A             B           C             D               E               F            G 
    170174        $fsteil=$fs_kennz.";".$gmkgnr.";".$gemkname.";".$flurnummer.";".$flstnummer.";".$fs_flae.";".$lage.";"; 
     
    181185        } 
    182186 
    183         // Ausgabe in CSV-Datei 
     187        // Ausgabe in die CSV-Datei -> Download -> Tabellenkalkulation 
    184188        echo "\n".$fsteil.$gbteil.$namteil.$formelteil; 
    185189} 
Note: See TracChangeset for help on using the changeset viewer.