Changeset 330 for trunk/info/info/alkis/alkisexport.php
- Timestamp:
- 09/10/14 12:08:18 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkis/alkisexport.php
r308 r330 1 1 <?php 2 2 /* 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. 5 5 Es wird ein gespeicherter View verwendet, der nach der gml_id gefiltert wird. 6 6 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. 8 8 Parameter: gkz=mandant&gmlid=DE...&tabtyp=flurstueck/grundbuch/person 9 9 10 10 2014-01-17 krz f.j. 11 11 2014-01-20 weitere Spalten und verbesserte Formatierung 12 2014-01-21 Der View liefert "Rechtsgemeinschaft" nun als Feld in allen Personen-S ätzen12 2014-01-21 Der View liefert "Rechtsgemeinschaft" nun als Feld in allen Personen-SÀtzen 13 13 eines GB-Blattes statt als eigenen "Satz ohne Person". 14 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 15 17 */ 16 18 17 19 function 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, 19 21 // 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 25 28 $v=array($gmlid); 26 29 $res=pg_prepare("", $sql); 27 30 $res=pg_execute("", $v); 28 31 if (!$res) { 29 echo "Fehler bei Lagebezeichnung \n"; 30 //echo $sql."\n"; 32 return "** Fehler bei Lagebezeichnung **"; //.$sql; 31 33 } 32 34 $j=0; … … 47 49 } 48 50 51 // HIER START // 52 49 53 $cntget = extract($_GET); // Parameter aus URL lesen 50 54 header('Content-type: application/octet-stream'); … … 61 65 exit("Fehler beim Verbinden der DB"); 62 66 } 63 pg_set_client_encoding($con, LATIN1); // F ür Excel kein UTF8 ausgeben67 pg_set_client_encoding($con, LATIN1); // FÃŒr Excel kein UTF8 ausgeben 64 68 65 69 // Der Parameter "Tabellentyp" bestimmt den Namen des Filter-Feldes aus dem View "exp_csv". … … 68 72 case 'grundbuch': $filter = "gbgml"; break; // ax_buchungsblatt.gml_id 69 73 case 'person': $filter = "psgml"; break; // ax_person.gml_id 70 case 'strasse': $filter = "stgml"; break; // ax_lagebezeichnungkatalogeintrag.gml_id = Stra ße-GML-ID74 case 'strasse': $filter = "stgml"; break; // ax_lagebezeichnungkatalogeintrag.gml_id = StraÃe-GML-ID 71 75 default: exit("Falscher Parameter '".$tabtyp."'"); break; 72 76 } … … 83 87 $res=pg_execute("", $v); 84 88 if (!$res) {exit("Fehler bei Datenbankabfrage");} 85 $i=1; // Kopfzeile z ählt mit89 $i=1; // Kopfzeile zÀhlt mit 86 90 $fsalt=''; 87 91 … … 110 114 $bu_lfd=$row["bu_lfd"]; // BVNR 111 115 $bu_ant=$row["bu_ant"]; // '=zaehler/nenner' oder NULL 112 $bu_key=$row["buchungsart"]; // Schl üssel113 $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!) 114 118 if($bu_ant == '') { // Keine Bruch-Zahl 115 119 $bu_ant = '1'; // "voller Anteil" (Faktor 1) … … 121 125 $nam_lfd="'".kurz_namnr($row["nam_lfd"])."'"; // In Hochkomma, wird sonst wie Datum dargestellt. 122 126 $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) 124 128 125 129 if ($nam_adr == '') { // keine Rechtsgemeinschaft … … 133 137 $rechtsg=$row["nam_bes"]; // Beschrieb der Rechtsgemeinschaft 134 138 } else { 135 $rechtsg=rechtsgemeinschaft($nam_adr); // Entschl üsseln139 $rechtsg=rechtsgemeinschaft($nam_adr); // EntschlÃŒsseln 136 140 } 137 141 } … … 154 158 } else { 155 159 $adresse=$row["strasse"]." ".$row["hausnummer"].", ".$row["plz"]." ".$ort; 156 $land=$row["land"]; // nur andere L änder anzeigen160 $land=$row["land"]; // nur andere LÀnder anzeigen 157 161 if (($land != "DEUTSCHLAND") and ($land != "")) { 158 162 $adresse.=" (".$land.")"; … … 161 165 162 166 // Adressen (Lage) zum FS 163 if($fsgml != $fsalt) { // nur bei ge ändertem Kennz.167 if($fsgml != $fsalt) { // nur bei geÀndertem Kennz. 164 168 $lage=lage_zum_fs($fsgml); // die Lage neu ermitteln 165 169 $fsalt=$fsgml; 166 170 } 167 171 168 // Den Ausgabe-Satz montieren aus Flurst ücks-, Grundbuch- und Namens-Teil172 // Den Ausgabe-Satz montieren aus FlurstÃŒcks-, Grundbuch- und Namens-Teil 169 173 // A B C D E F G 170 174 $fsteil=$fs_kennz.";".$gmkgnr.";".$gemkname.";".$flurnummer.";".$flstnummer.";".$fs_flae.";".$lage.";"; … … 181 185 } 182 186 183 // Ausgabe in CSV-Datei187 // Ausgabe in die CSV-Datei -> Download -> Tabellenkalkulation 184 188 echo "\n".$fsteil.$gbteil.$namteil.$formelteil; 185 189 }
Note: See TracChangeset
for help on using the changeset viewer.