Ignore:
Timestamp:
11/25/16 11:01:12 (7 years ago)
Author:
frank.jaeger
Message:

kleine Korrekturen an den Buchauskunft

File:
1 edited

Legend:

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

    r362 r375  
    66        Der View verkettet Flurstueck - Buchungsstelle - Grundbuch - Eigentuemer 
    77        Die Lagebezeichnung des FlurstÃŒcks wird in ein Feld komprimiert. 
    8         Parameter: gkz=mandant&gmlid=DE...&tabtyp=flurstueck/grundbuch/person 
     8        Parameter:  
     9                alkisexport.php?gkz=mandant&tabtyp=flurstueck/grundbuch/person&gmlid=DE... 
     10                alkisexport.php?gkz=270&tabtyp=gemarkung&gemarkung=2662    
     11                alkisexport.php?gkz=270&gemarkung=2662 
     12 
     13        Fehler 
     14                alkisexport.php?gkz=270&tabtyp=gemarkung&gmlid=2662 
     15                alkisexport.php?gkz=270&tabtyp=flurstueck&gemarkung=2662 
     16                alkisexport.php?gkz=270&tabtyp=flurstueck 
     17                alkisn/alkisexport.php?gkz=270&gmlid=2662 
    918 
    1019        Version 
    1120        2016-02-23 Version fuer norGIS-ALKIS-Import 
     21        2016-10-18 Export einer ganzen Gemarkung zulassen (Sonderfall bei den Parametern) 
    1222*/ 
    1323 
     
    4353} 
    4454 
    45 // HIER START 
    46 $cntget = extract($_GET); // Parameter aus URL lesen 
     55// HIER START // 
     56 
     57$gkz=''; $tabtyp = ''; $gemarkung=''; $gmlid=''; // erwartete Parameter initialisieren 
     58$cntget = extract($_GET); // aktuelle Parameter aus URL auslesen 
     59require_once("alkis_conf_location.php"); // Konfiguration laden 
     60include("alkisfkt.php"); // Funktionen der ALKIS-Auskunft laden 
     61 
     62if ($tabtyp == '') { // Parameter (-kombinationen) pruefen 
     63        if ($gemarkung == '') { // Beim Wert "gmlid" MUSS man die Tabelle dazu nennen 
     64                exit ("Fehler: Art des Suchfilters nicht angeben."); 
     65        } else {  // Art des Wertes bestimmt eindeutig den Filter 
     66                $tabtyp = 'gemarkung'; 
     67        } 
     68} elseif ($tabtyp == 'gemarkung') { 
     69        if ($gemarkung == '') { 
     70                exit ("Fehler: Gemarkungsnummer nicht angeben."); 
     71        } 
     72} 
     73if ($gmlid == '') { 
     74        if ($gemarkung == '') { 
     75                exit ("Fehler: Kein Wert fuer die Suche angegeben."); 
     76        } else { // Wert fÃŒr Gemarkungsnummer angegeben 
     77                if ($tabtyp != 'gemarkung') { 
     78                        exit ("Fehler: Falsche Kombination Parameter tabtyp='".$tabtyp."' mit Wert fuer Gemarkungsnummer."); 
     79                } 
     80                $filename='alkis_'.$tabtyp.'_'.$gemarkung.'.csv'; 
     81        } 
     82} else { // alles gut 
     83        $filename='alkis_'.$tabtyp.'_'.$gmlid.'.csv'; 
     84} 
     85 
     86// DOWNLOAD der CSV-Datei vorbereiten (statt HTML-Ausgabe) 
    4787header('Content-type: application/octet-stream'); 
    48 header('Content-Disposition: attachment; filename="alkis_'.$tabtyp.'_'.$gmlid.'.csv"'); 
    49 require_once("alkis_conf_location.php"); 
    50 include("alkisfkt.php"); 
     88header('Content-Disposition: attachment; filename="'.$filename.'"'); 
    5189 
    5290// CSV-Ausgabe: Kopfzeile mit Feldnamen 
     
    5896pg_set_client_encoding($con, 'LATIN1'); // FÃŒr Excel kein UTF8 ausgeben 
    5997 
     98$viewname="exp_csv"; // Standard-View, ist in der Datenbank gespeichert 
     99$v=array($gmlid); // Standard-Filter-Feld 
     100 
    60101// Der Parameter "Tabellentyp" bestimmt den Namen des Filter-Feldes aus dem View "exp_csv". 
    61102switch ($tabtyp) { // zulaessige Werte fuer &tabtyp= 
    62         case 'flurstueck': $filter = "fsgml"; break; // ax_flurstueck.gml_id 
    63         case 'grundbuch':  $filter = "gbgml"; break; // ax_buchungsblatt.gml_id 
    64         case 'person':     $filter = "psgml"; break; // ax_person.gml_id 
    65         case 'strasse':    $filter = "stgml"; break; // ax_lagebezeichnungkatalogeintrag.gml_id = Straße-GML-ID 
    66         default: exit("Falscher Parameter '".$tabtyp."'"); break; 
     103        case 'flurstueck': // ax_flurstueck.gml_id 
     104                $filter = "fsgml"; 
     105                break; 
     106        case 'grundbuch': // ax_buchungsblatt.gml_id 
     107                $filter = "gbgml"; 
     108                break; 
     109        case 'person': // ax_person.gml_id 
     110                $filter = "psgml"; 
     111                break; 
     112        case 'strasse': // ax_lagebezeichnungkatalogeintrag.gml_id = Straße-GML-ID 
     113                $filter = "stgml"; 
     114                $viewname="exp_csv_str"; // alternativer View mit "_str", ist in der Datenbank gespeichert   
     115                break; 
     116        case 'gemarkung': // SONDERfall als Parameter wird "Gemarkungsnummer" und nicht "gml_id" geliefert 
     117                $filter = "gemarkungsnummer"; 
     118                $v=array($gemarkung); // anderes Filter-Feld, anderer Parameter 
     119                break; 
     120        default: 
     121                exit("Falscher Parameter '".$tabtyp."'"); 
     122                break; 
    67123} 
    68124 
    69125// Daten aus gespeichertem View, zusaetzlich Filter: "feld"='wert' mitgeben 
    70 if ($tabtyp == 'strasse') { // Sonderversion 
    71         $sql="SELECT * FROM exp_csv_str WHERE ".$filter." = $1 "; 
    72 } else { 
    73         $sql="SELECT * FROM exp_csv WHERE ".$filter." = $1 "; 
    74 } 
    75  
    76 $v=array($gmlid); 
     126$sql="SELECT * FROM ".$viewname." WHERE ".$filter." = $1 "; 
     127 
    77128$res=pg_prepare("", $sql); 
    78129$res=pg_execute("", $v); 
Note: See TracChangeset for help on using the changeset viewer.