Changeset 376 for trunk/info/info/alkis/alkisexport.php
- Timestamp:
- 12/01/16 12:43:03 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkis/alkisexport.php
r355 r376 6 6 Der View verkettet Flurstueck - Buchungsstelle - Grundbuch - Eigentuemer 7 7 Die Lagebezeichnung des FlurstÃŒcks wird in ein Feld komprimiert. 8 Parameter: gkz=mandant&gmlid=DE...&tabtyp=flurstueck/grundbuch/person 9 10 2014-01-17 krz f.j. 11 2014-01-20 weitere Spalten und verbesserte Formatierung 12 2014-01-21 Der View liefert "Rechtsgemeinschaft" nun als Feld in allen Personen-SÀtzen 13 eines GB-Blattes statt als eigenen "Satz ohne Person". 14 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 17 2014-09-30 RÃŒckbau substring(gml_id) 18 2015-12-09 LATIN1 in '' 8 Parameter Beispiele: 9 ?gkz=mandant&tabtyp=flurstueck/grundbuch/person&gmlid=DE... 10 ?gkz=270&tabtyp=gemarkung&gemarkung=2662 11 ?gkz=270&gemarkung=2662 12 Parameter Beispiele fÃŒr Fehler: 13 ?gkz=270&tabtyp=gemarkung&gmlid=2662 14 ?gkz=270&tabtyp=flurstueck&gemarkung=2662 15 ?gkz=270&tabtyp=flurstueck 16 ?gkz=270&gmlid=2662 17 18 Version 19 2016-02-23 Version fuer norGIS-ALKIS-Import 20 2016-10-18 Export einer ganzen Gemarkung zulassen (Sonderfall bei den Parametern) 21 2016-11-29 Gemeinsam genutzte Datenbanken ermöglichen 22 23 ++ ToDo: SQL "exp_csv_str" und "exp_csv_str" optimieren 19 24 */ 20 25 … … 31 36 $res=pg_prepare("", $sql); 32 37 $res=pg_execute("", $v); 33 if (!$res) { 34 return "** Fehler bei Lagebezeichnung **"; //.$sql; 35 } 38 if (!$res) {return "** Fehler bei Lagebezeichnung **";} 36 39 $j=0; 37 40 $lagehsnr=""; … … 54 57 // HIER START // 55 58 56 $cntget = extract($_GET); // Parameter aus URL lesen 59 $gkz=''; $tabtyp = ''; $gemarkung=''; $gmlid=''; // erwartete Parameter initialisieren 60 $cntget = extract($_GET); // aktuelle Parameter aus URL auslesen 61 require_once("alkis_conf_location.php"); // Konfiguration laden 62 include("alkisfkt.php"); // Funktionen der ALKIS-Auskunft laden 63 64 if ($tabtyp == '') { // Parameter (-kombinationen) pruefen 65 if ($gemarkung == '') { // Beim Wert "gmlid" MUSS man die Tabelle dazu nennen 66 exit ("Fehler: Art des Suchfilters nicht angeben."); 67 } else { // Art des Wertes bestimmt eindeutig den Filter 68 $tabtyp = 'gemarkung'; 69 } 70 } elseif ($tabtyp == 'gemarkung') { 71 if ($gemarkung == '') { 72 exit ("Fehler: Gemarkungsnummer nicht angeben."); 73 } 74 } 75 if ($gmlid == '') { 76 if ($gemarkung == '') { 77 exit ("Fehler: Kein Wert fuer die Suche angegeben."); 78 } else { // Wert fÃŒr Gemarkungsnummer angegeben 79 if ($tabtyp != 'gemarkung') { 80 exit ("Fehler: Falsche Kombination Parameter tabtyp='".$tabtyp."' mit Wert fuer Gemarkungsnummer."); 81 } 82 $filename='alkis_'.$tabtyp.'_'.$gemarkung.'.csv'; 83 } 84 } else { // alles gut 85 $filename='alkis_'.$tabtyp.'_'.$gmlid.'.csv'; 86 } 87 88 // DOWNLOAD der CSV-Datei vorbereiten (statt HTML-Ausgabe) 57 89 header('Content-type: application/octet-stream'); 58 header('Content-Disposition: attachment; filename="alkis_'.$tabtyp.'_'.$gmlid.'.csv"'); 59 require_once("alkis_conf_location.php"); 60 include("alkisfkt.php"); 90 header('Content-Disposition: attachment; filename="'.$filename.'"'); 61 91 62 92 // CSV-Ausgabe: Kopfzeile mit Feldnamen … … 64 94 65 95 // Datenbank-Verbindung 66 $con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 67 if (!$con) { 68 exit("Fehler beim Verbinden der DB"); 69 } 96 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisexport.php'"); 97 if (!$con) {exit("Fehler beim Verbinden der DB");} 70 98 pg_set_client_encoding($con, 'LATIN1'); // FÃŒr Excel kein UTF8 ausgeben 99 100 $viewname="exp_csv"; // Standard-View, ist in der Datenbank gespeichert 101 $v=array($gmlid); // Standard-Filter-Feld 71 102 72 103 // Der Parameter "Tabellentyp" bestimmt den Namen des Filter-Feldes aus dem View "exp_csv". 73 104 switch ($tabtyp) { // zulaessige Werte fuer &tabtyp= 74 case 'flurstueck': $filter = "fsgml"; break; // ax_flurstueck.gml_id 75 case 'grundbuch': $filter = "gbgml"; break; // ax_buchungsblatt.gml_id 76 case 'person': $filter = "psgml"; break; // ax_person.gml_id 77 case 'strasse': $filter = "stgml"; break; // ax_lagebezeichnungkatalogeintrag.gml_id = StraÃe-GML-ID 78 default: exit("Falscher Parameter '".$tabtyp."'"); break; 105 case 'flurstueck': // ax_flurstueck.gml_id 106 $filter = "fsgml"; 107 break; 108 case 'grundbuch': // ax_buchungsblatt.gml_id 109 $filter = "gbgml"; 110 break; 111 case 'person': // ax_person.gml_id 112 $filter = "psgml"; 113 break; 114 case 'strasse': // ax_lagebezeichnungkatalogeintrag.gml_id = StraÃe-GML-ID 115 $filter = "stgml"; 116 $viewname="exp_csv_str"; // alternativer View mit "_str", ist in der Datenbank gespeichert 117 break; 118 case 'gemarkung': // SONDERfall als Parameter wird "Gemarkungsnummer" und nicht "gml_id" geliefert 119 $filter = "gemarkungsnummer"; 120 $v=array($gemarkung); // anderes Filter-Feld, anderer Parameter 121 break; 122 default: 123 exit("Falscher Parameter '".$tabtyp."'"); 124 break; 79 125 } 80 126 81 127 // Daten aus gespeichertem View, zusaetzlich Filter: "feld"='wert' mitgeben 82 if ($tabtyp == 'strasse') { // Sonderversion 83 $sql="SELECT * FROM exp_csv_str WHERE ".$filter." = $1 "; 84 } else { 85 $sql="SELECT * FROM exp_csv WHERE ".$filter." = $1 "; 86 } 87 88 $v=array($gmlid); 128 $sql="SELECT * FROM ".$viewname." WHERE ".$filter." = $1 "; 129 89 130 $res=pg_prepare("", $sql); 90 131 $res=pg_execute("", $v); … … 106 147 $flstnummer=$row["zaehler"]; 107 148 $nenner=$row["nenner"]; 108 if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr 149 // Bruchnummer kann in Excel als Datum interpretiert werden. In '' setzen. 150 if ($nenner > 0) {$flstnummer="'".$flstnummer."/".$nenner."'";} // BruchNr 109 151 $fs_flae=$row["fs_flae"]; // amtliche Fl. aus DB-Feld 110 152 … … 140 182 $rechtsg=$row["nam_bes"]; // Beschrieb der Rechtsgemeinschaft 141 183 } else { 142 $rechtsg=rechtsgemeinschaft($nam_adr); // EntschlÃŒsseln 184 // $rechtsg=rechtsgemeinschaft($nam_adr); // EntschlÃŒsseln 185 $rechtsg=$row["nam_adrv"]; // Art der Rechtsgemeischaft (Value zum Key) 143 186 } 144 187 } … … 148 191 $nana=$row["nachnameoderfirma"]; 149 192 $namteil=$row["namensbestandteil"]; 150 $name=anrede($row["anrede"]); 193 //$name=anrede($row["anrede"]); 194 $name=$row["anrv"]; // Anrede (Value zum Key) 151 195 if ($name != "") {$name.=" ";} // Trenner 152 196 if ($namteil != "") {$name.=$namteil." ";} // von und zu
Note: See TracChangeset
for help on using the changeset viewer.