Changeset 305 for trunk/info
- Timestamp:
- 01/21/14 17:14:52 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkis/alkisexport.php
r304 r305 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ätzen 13 eines GB-Blattes statt als eigenen "Satz ohne Person". 12 14 */ 13 15 … … 51 53 52 54 // CSV-Ausgabe: Kopfzeile mit Feldnamen 53 echo "FS-Kennzeichen;GmkgNr;Gemarkung;Flur;Flurstueck;Flaeche;Adressen;GB-BezNr;GB-Bezirk;GB-Blatt;BVNR;Anteil_am_FS;Buchungsart;Namensnummer;AnteilDerPerson;RechtsGemeinschaft;Person;GebDatum;Anschrift ";55 echo "FS-Kennzeichen;GmkgNr;Gemarkung;Flur;Flurstueck;Flaeche;Adressen;GB-BezNr;GB-Bezirk;GB-Blatt;BVNR;Anteil_am_FS;Buchungsart;Namensnummer;AnteilDerPerson;RechtsGemeinschaft;Person;GebDatum;Anschrift;Anteil(berechnet)"; 54 56 55 57 // Datenbank-Verbindung … … 60 62 pg_set_client_encoding($con, LATIN1); // Für Excel kein UTF8 ausgeben 61 63 62 // Der Parameter "Tabellentyp" bestimmt den Namen des Filter-Feldes aus dem View 63 switch ($tabtyp) { // zulaessige Erte fuer &tabtyp=64 // Der Parameter "Tabellentyp" bestimmt den Namen des Filter-Feldes aus dem View "exp_csv". 65 switch ($tabtyp) { // zulaessige Werte fuer &tabtyp= 64 66 case 'flurstueck': $filter = "fsgml"; break; 65 67 case 'grundbuch': $filter = "gbgml"; break; … … 73 75 $res = pg_prepare("", $sql); 74 76 $res = pg_execute("", $v); 75 if (!$res) { 76 exit("Fehler bei Datenbankabfrage"); 77 } 78 $i=0; 77 if (!$res) {exit("Fehler bei Datenbankabfrage");} 78 $i=1; // Kopfzeile zählt mit 79 79 $fsalt=''; 80 80 81 81 // Datenfelder auslesen 82 82 while($row = pg_fetch_array($res)) { 83 $i++; // Zeile der Tabelle 84 $rechnen=true; // Formel in letzte Spalte? 83 85 84 86 // Flurstueck … … 100 102 // Buchungsstelle (Grundstueck) 101 103 $bu_lfd=$row["bu_lfd"]; // BVNR 102 $bu_ant=$row["bu_ant"]; // '=zaehler/nenner' oder NULL wenn zaehler oder nenner NULL sind103 $bu_key=$row["buchungsart"]; // S xhlüssel104 $bu_ant=$row["bu_ant"]; // '=zaehler/nenner' oder NULL 105 $bu_key=$row["buchungsart"]; // Schlüssel 104 106 $bu_art=$row["bu_art"]; // entschlüsselt (Umlaute in ANSI!) 105 106 // Für Berechnungen in der exportierten Tabelle wäre es nützlich, wenn "voller Anteil" als Faktor 1 107 // statt eines leeren Feldes ausgegeben würde - Ausnahmen? 108 if(($bu_ant == '') and ($bu_key == 1100)) { // Grundstück 109 $bu_ant = '1'; 107 if($bu_ant == '') { // Keine Bruch-Zahl 108 $bu_ant = '1'; // "voller Anteil" (Faktor 1) 109 } else { 110 $bu_ant=str_replace(".", ",", $bu_ant); // Dezimalkomma statt -punkt. 110 111 } 111 112 112 113 // Namensnummer 113 $nam_lfd="'".kurz_namnr($row["nam_lfd"])."'"; // In Hochkomma . Wird sonst alsDatum dargestellt.114 $nam_lfd="'".kurz_namnr($row["nam_lfd"])."'"; // In Hochkomma, sonst wie Datum dargestellt. 114 115 $nam_ant=$row["nam_ant"]; 115 if ($nam_ant == '') {$nam_ant=1;} // Wann darf als Anteil "1" statt leer gesetzt werden?116 // Das ist falsch, wenn z.B. eine Rechtsgemeinschaft verbal beschrieben ist (in anderem Datensatz).117 116 $nam_adr=$row["nam_adr"]; // Art der Rechtsgemeischaft (Schlüssel) 118 $nam_bes=$row["nam_bes"]; // Beschrieb der Rechtsgemeinschaft 119 120 // Rechtsgemeinschaft (in einer eigene Zeile ohne Namen) 121 if ($nam_adr == 9999) { // sonstiges 122 $rechtsg=$nam_bes; // Beschreibung verwenden 117 if ($nam_adr == '') { // keine Rechtsgemeinsachft 118 if ($nam_ant == '') { // und kein Bruch-Anteil 119 $nam_ant=1; // dann ganzer Anteil 120 } 123 121 } else { 124 $rechtsg=rechtsgemeinschaft($nam_adr); // Entschlüsseln 122 $rechnen=false; // bei Rechtsgemeinschaft manuell interpretieren 123 if ($nam_adr == 9999) { // sonstiges 124 $rechtsg=$row["nam_bes"]; // Beschrieb der Rechtsgemeinschaft 125 } else { 126 $rechtsg=rechtsgemeinschaft($nam_adr); // Entschlüsseln 127 } 125 128 } 126 129 … … 162 165 163 166 // Den Ausgabe-Satz montieren aus Flurstücks-, Grundbuch- und Namens-Teil 167 // A B C D E F G 164 168 $fsteil=$fs_kennz.";".$gmkgnr.";".$gemkname.";".$flurnummer.";".$flstnummer.";".$fs_flae.";".$lage.";"; 169 // H I J K L M 165 170 $gbteil=$gb_bezirk.";".$gb_beznam.";".$gb_blatt.";".$bu_lfd.";".$bu_ant.";".$bu_art.";"; 171 // N O P Q R S 166 172 $namteil=$nam_lfd.";".$nam_ant.";".$rechtsg.";".$name.";".$gebdat.";".$adresse; 167 173 174 // Anteile "GB am FS" und "Pers am GB" verrechnen 175 if ($rechnen) { // beide Anteile verwertbar 176 $formelteil=";=L".$i."*O".$i; // Spalte T 177 } else { 178 $formelteil=';'; 179 } 180 168 181 // Ausgabe in CSV-Datei 169 echo "\n".$fsteil.$gbteil.$namteil; 170 $i++; 182 echo "\n".$fsteil.$gbteil.$namteil.$formelteil; 171 183 } 172 184 pg_free_result($res); 173 if ($i == 0) {exit ("Kein Treffer fuer gml_id=".$gmlid);}185 if ($i == 1) {exit ("Kein Treffer fuer gml_id=".$gmlid);} // nur Kopfzeile 174 186 pg_close($con); 175 187 exit(0);
Note: See TracChangeset
for help on using the changeset viewer.