Changeset 387 for trunk/info/info/alkisn/alkisexport.php
- Timestamp:
- 06/08/17 16:15:04 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkisn/alkisexport.php
r378 r387 26 26 Siehe Datei "x_classic2norgis.sql" in /OSGeo4W64/apps/alkis-import/postcreate.d/ 27 27 Sonderfall: Auch Export zu *allen* StraÃen der Stadt ohne Filter "gmlid". 28 2017-06-08 Validierung Eingabeparameter 29 30 ToDo: 31 - In Dateiname StraÃenname statt gmlid verwenden? 32 - in alkislage.php fÃŒr den Typ "ohne Haunummer" den Export mit strasse und haus=o verlinken 28 33 */ 29 34 … … 32 37 // dass ggf. mehrere Lagebezeichnungen in eine Zelle der Tabelle passen. 33 38 // FS >westAuf> Lage >> Katalog 34 $sql ="SELECT DISTINCT s.bezeichnung, l.hausnummer 35 FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(f.weistauf)36 JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage37 WHERE f.gml_id= $1 ORDER BY s.bezeichnung, l.hausnummer;";39 $sql ="SELECT DISTINCT s.bezeichnung, l.hausnummer " 40 ."FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(f.weistauf) " 41 ."JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage " 42 ."WHERE f.gml_id= $1 ORDER BY s.bezeichnung, l.hausnummer;"; 38 43 39 44 $v=array($gmlid); … … 61 66 // HIER START // 62 67 63 $gkz=''; $tabtyp = ''; $gemarkung=''; $gmlid=''; $haus=''; // mögliche Parameter initialisieren 64 $cntget = extract($_GET); // aktuelle Parameter aus URL auslesen 68 $tabtyp=''; $haus=''; // mögliche Parameter initialisieren 69 $cntget = extract($_GET); // Parameter in Variable umwandeln 70 71 // strikte Validierung aller Parameter 72 if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 73 if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 74 if (isset($gemarkung)) { 75 if (!preg_match('#^[0-9]{4}$#', $gemarkung)) {die("Eingabefehler gemarkung");} 76 } else { 77 $gemarkung=''; 78 } 79 if (!preg_match('#^[m|o]{0,1}$#', $haus)) {die("Eingabefehler haus");} 80 if (!preg_match('#^[a-z]{0,10}$#', $tabtyp)) {die("Eingabefehler tabtyp");} 81 65 82 require_once("alkis_conf_location.php"); // Konfiguration laden 66 83 include("alkisfkt.php"); // Funktionen der ALKIS-Auskunft laden … … 70 87 $tabtyp = 'gemarkung'; 71 88 } else { // Bei "gmlid" MUSS man zwingend die Tabelle dazu nennen 72 $err=" Fehler: Art des Suchfilters nicht angeben.";73 e cho "\n".$err; exit ($err);89 $err="\nFehler: Art des Suchfilters nicht angeben."; 90 exit ($err); 74 91 } 75 92 } elseif ($tabtyp == 'gemarkung') { 76 93 if ($gemarkung == '') { 77 $err=" Fehler: Gemarkungsnummer nicht angeben.";78 e cho "\n".$err; exit ($err);94 $err="\nFehler: Gemarkungsnummer nicht angeben."; 95 exit ($err); 79 96 } 80 97 } … … 101 118 } elseif ($haus == 'm' or $haus == 'o') { // Sonderfall 2 - alle mit/ohne Hausnummer, nur ÃŒber View "exp_csv_str" möglich 102 119 if ($tabtyp != 'strasse') { 103 $err=" Fehler: Falsche Kombination Parameter tabtyp='".$tabtyp."' mit Wert fuer Haus.";104 e cho "\n".$err; exit ($err);120 $err="\nFehler: Falsche Kombination Parameter tabtyp='".$tabtyp."' mit Wert fuer Haus."; 121 exit ($err); 105 122 } 106 123 if ($haus == 'm') { // den Zusatzfilter m/o im Dateinamen dokumentieren … … 111 128 */ 112 129 } else { 113 $err= "Fehler: Kein passender Wert fuer die Suche angegeben.";114 e cho "\n".$err; exit ($err);130 $err="\nFehler: Kein passender Wert fuer die Suche angegeben."; 131 exit ($err); 115 132 } 116 133 } … … 129 146 echo "\n".$err; exit($err); 130 147 } 131 pg_set_client_encoding($con, 'LATIN1'); // FÃŒr Excel kein UTF8 ausgeben132 133 $viewname="exp_csv"; // Standard-View, i st in der Datenbankgespeichert148 pg_set_client_encoding($con, 'LATIN1'); // FÃŒr Excel kein UTF8 149 150 $viewname="exp_csv"; // Standard-View, in der DB gespeichert 134 151 $v=array($gmlid); // Standard-Filter-Feld 135 152 … … 154 171 break; 155 172 default: 156 $err= "Falscher Parameter '".$tabtyp."'";157 e cho "\n".$err; exit($err);173 $err="\nFalscher Parameter '".$tabtyp."'"; 174 exit($err); 158 175 break; 159 176 } … … 162 179 $sql="SELECT * FROM ".$viewname." WHERE ".$filter." = $1 "; 163 180 164 if ($haus != '') { // nur FS mit/ohne verschlÃŒsselter Lagebezeichnung181 if ($haus == 'm' or $haus == 'o') { // nur FS mit/ohne verschl. Lagebez. 165 182 if ($gmlid == '') { // m/o-Filter als einziger Filter 166 183 $sql="SELECT * FROM ".$viewname." WHERE fall='".$haus."' "; // Ersetzen … … 169 186 // - Sonst Ausgabe von Rand-FlurstÃŒcken (bei geometrischer Filterung des NBA-Verfahrens) 170 187 // - Sonst ggf. Ausgabe Kreisgebiet 171 } else { // als zusÀtzlicher Filter 188 } else { // als zusÀtzlicher Filter AND 172 189 $sql.="AND fall='".$haus."' "; // m/o-Filter AnhÀngen 173 190 } … … 177 194 $res=pg_execute("", $v); 178 195 if (!$res) { 179 $err= "Fehler bei Datenbankabfrage";180 e cho "\n".$err; exit($err);196 $err="\nFehler bei Datenbankabfrage"; 197 exit($err); 181 198 } 182 199 $i=1; // Kopfzeile zÀhlt mit … … 254 271 } else { 255 272 $adresse=$row["strasse"]." ".$row["hausnummer"].", ".$row["plz"]." ".$ort; 256 $land=$row["land"]; // nur andere L Ànder anzeigen273 $land=$row["land"]; // nur andere Laender anzeigen 257 274 if (($land != "DEUTSCHLAND") and ($land != "")) { 258 275 $adresse.=" (".$land.")"; … … 286 303 pg_free_result($res); 287 304 if ($i == 1) { // nur Kopf 288 $err= "Kein Treffer fuer gml_id='".$gmlid."'";289 e cho "\n".$err; exit ($err);305 $err="\nKein Treffer fuer gml_id='".$gmlid."'"; 306 exit ($err); 290 307 } 291 308 pg_close($con);
Note: See TracChangeset
for help on using the changeset viewer.