Changeset 412 for trunk/info/info/alkisn
- Timestamp:
- 11/09/18 14:17:35 (5 years ago)
- Location:
- trunk/info/info/alkisn
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkisn/alkisausk.php
r389 r412 13 13 2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen (Berechtigung fÃŒr Gemeinde prÃŒfen) 14 14 2017-10-11 Sauber filtern auf endet IS NULL 15 2018-11-09 Umstellung Full-Schema 15 16 16 17 H i n w e i s : Dies Modul wird beim Entwickler nicht mehr produktiv eingesetzt. … … 41 42 42 43 // *** F L U R S T U E C K *** 43 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f. regierungsbezirk, f.kreis, f.gemeinde44 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f.gemeindezugehoerigkeit_regierungsbezirk, f.gemeindezugehoerigkeit_kreis, f.gemeindezugehoerigkeit_gemeinde 44 45 FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 45 46 WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL;"; … … 62 63 $flae=$row["amtlicheflaeche"]; 63 64 $flae=number_format($flae,0,",",".") . " m²"; 64 $fsreg=$row[" regierungsbezirk"]; // Filter ZustÀndigkeit65 $fskrs=$row[" kreis"];66 $fsgem=$row["gemeinde "];65 $fsreg=$row["gemeindezugehoerigkeit_regierungsbezirk"]; // Filter ZustÀndigkeit 66 $fskrs=$row["gemeindezugehoerigkeit_kreis"]; 67 $fsgem=$row["gemeindezugehoerigkeit_gemeinde"]; 67 68 } else { 68 69 echo "\n<p class='err'>Kein Treffer fuer gml_id=".$gmlid."</p>"; … … 171 172 echo "\n<h2><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundbuch</h2>"; 172 173 // ALKIS: FS >istgebucht> GS >istBestandteilVon> GB. 173 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, wa. vAS blattartv,174 s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, wb. vAS bart174 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, wa.beschreibung AS blattartv, 175 s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, wb.beschreibung AS bart 175 176 FROM ax_flurstueck f 176 177 JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id 177 178 JOIN ax_buchungsblatt b ON s.istbestandteilvon=b.gml_id 178 179 LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk 179 LEFT JOIN a lkis_wertearten wa ON cast(b.blattart AS character varying)=wa.k AND wa.element='ax_buchungsblatt' AND wa.bezeichnung='blattart'180 LEFT JOIN a lkis_wertearten wb ON cast(s.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart'180 LEFT JOIN ax_blattart_buchungsblatt wa ON b.blattart = wa.wert 181 LEFT JOIN ax_buchungsart_buchungsstelle wb ON s.buchungsart = wb.wert 181 182 WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL 182 183 ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; -
trunk/info/info/alkisn/alkisbaurecht.php
r402 r412 9 9 2017-10-09 Sauber filtern auf endet IS NULL 10 10 2018-04-23 &nodebug 11 2018-11-09 Umstellung Full-Schema 11 12 */ 12 13 session_start(); … … 44 45 if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 45 46 46 // Spalte "a.d " ist immer leer47 // Spalte "a.dokumentation" ist immer leer 47 48 $sql ="SELECT r.ogc_fid, r.artderfestlegung as adfkey, r.name, r.stelle, r.bezeichnung AS rechtbez, 48 a. v AS adfbez, d.bezeichnung AS stellbez, d.stellenart, wd.v, wd.d, round(st_area(r.wkb_geometry)::numeric,0) AS flae49 a.beschreibung AS adfbez, d.bezeichnung AS stellbez, d.stellenart, wd.beschreibung, wd.dokumentation, round(st_area(r.wkb_geometry)::numeric,0) AS flae 49 50 FROM ax_bauraumoderbodenordnungsrecht r 50 LEFT JOIN a lkis_wertearten a ON cast(r.artderfestlegung AS character varying)=a.k AND a.element='ax_bauraumoderbodenordnungsrecht' AND a.bezeichnung='artderfestlegung'51 LEFT JOIN ax_artderfestlegung_bauraumoderbodenordnungsrecht a ON r.artderfestlegung = a.wert 51 52 LEFT JOIN ax_dienststelle d ON r.land=d.land AND r.stelle=d.stelle 52 LEFT JOIN a lkis_wertearten wd ON cast(d.stellenart AS character varying)=wd.k AND wd.element='ax_dienststelle' AND wd.bezeichnung='stellenart'53 LEFT JOIN ax_behoerde wd ON d.stellenart = wd.wert 53 54 WHERE r.gml_id= $1 AND r.endet IS NULL AND d.endet IS NULL;"; 54 55 … … 126 127 $v=array($gmlid); 127 128 } else { 128 $sql.="AND f. kreis = $2 AND f.gemeinde = $3 "; // Zuständiges Gebiet129 $sql.="AND f.gemeindezugehoerigkeit_kreis = $2 AND f.gemeindezugehoerigkeit_gemeinde = $3 "; // Zuständiges Gebiet 129 130 $v=array($gmlid, $filtkreis, $filtgem); 130 131 } -
trunk/info/info/alkisn/alkisbestnw.php
r405 r412 13 13 2018-04-23 Blatt und EigentÃŒmer in eine Tabelle. 14 14 2018-05-03 Anpassung an GrundstÃŒcksnachweis, kein Export fÃŒr fiktives Blatt 15 2018-11-09 Umstellung Full-Schema 15 16 */ 16 17 session_start(); … … 53 54 54 55 // G R U N D B U C H 55 $sql="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS blatt, g.blattart, wb. v AS blattartv, wb.dAS blattartd,56 b.gml_id, b.bezirk, b.bezeichnung AS beznam, d.gml_id, d.land, d.bezeichnung, d.stelle, d.stellenart, wd. vAS stellev FROM ax_buchungsblatt g56 $sql="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS blatt, g.blattart, wb.beschreibung AS blattartv, wb.dokumentation AS blattartd, 57 b.gml_id, b.bezirk, b.bezeichnung AS beznam, d.gml_id, d.land, d.bezeichnung, d.stelle, d.stellenart, wd.beschreibung AS stellev FROM ax_buchungsblatt g 57 58 LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk 58 LEFT JOIN ax_dienststelle d ON b.land=d.land AND b. stelle=d.stelle59 LEFT JOIN a lkis_wertearten wb ON cast(g.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart'60 LEFT JOIN a lkis_wertearten wd ON cast(d.stellenart AS character varying)=wd.k AND wd.element='ax_dienststelle' AND wd.bezeichnung='stellenart'59 LEFT JOIN ax_dienststelle d ON b.land=d.land AND b.gehoertzu_stelle=d.stelle 60 LEFT JOIN ax_blattart_buchungsblatt wb ON g.blattart = wb.wert 61 LEFT JOIN ax_behoerde wd ON d.stellenart = wd.wert 61 62 WHERE g.gml_id= $1 AND g.endet IS NULL AND b.endet IS NULL AND d.endet IS NULL;"; 62 63 // .. AND d.stellenart=1000 … … 168 169 // Blatt -> B u c h u n g s s t e l l e 169 170 // aktuelles ax_buchungsblatt <istBestandteilVon< ax_buchungsstelle 170 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, s.zaehler, s.nenner, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.v as bart, b.d 171 FROM ax_buchungsstelle s LEFT JOIN alkis_wertearten b ON cast(s.buchungsart AS character varying)=b.k AND b.element='ax_buchungsstelle' and b.bezeichnung='buchungsart' 171 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, s.zaehler, s.nenner, 172 s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond, b.beschreibung as bart, b.dokumentation 173 FROM ax_buchungsstelle s LEFT JOIN ax_buchungsart_buchungsstelle b ON s.buchungsart = b.wert 172 174 WHERE s.istbestandteilvon= $1 AND s.endet IS NULL ORDER BY cast(s.laufendenummer AS integer);"; 173 175 $v=array($gmlid); // Rel. istBestandteilVon … … 187 189 $bartkey=$row["buchungsart"]; // SchlÃŒsselwert 188 190 $bart=$row["bart"]; // BuchungsART Text dazu 189 $bartstory=htmlentities($row["d "], ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet191 $bartstory=htmlentities($row["dokumentation"], ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet 190 192 if ($row["zaehler"] == "") { 191 193 $anteil = ""; … … 210 212 211 213 // Mit "UNION" um die FÀlle mit JOIN ÃŒber die Arrays "an" und "zu" unterscheiden zu können 212 $sql="SELECT uni.*, wb. vAS bart FROM "214 $sql="SELECT uni.*, wb.beschreibung AS bart FROM " 213 215 ."(SELECT sda.gml_id, sda.buchungsart, sda.laufendenummer AS lfd, sda.beschreibungdesumfangsderbuchung AS udb, sda.nummerimaufteilungsplan AS nrap, sda.beschreibungdessondereigentums AS sond, 'an' as anzu " 214 216 ."FROM ax_buchungsstelle sha JOIN ax_buchungsstelle sda ON sda.gml_id=ANY(sha.an) " … … 217 219 ."FROM ax_buchungsstelle shz JOIN ax_buchungsstelle sdz ON sdz.gml_id=ANY(shz.zu) " 218 220 ."WHERE shz.gml_id= $1 AND shz.endet IS NULL AND sdz.endet IS NULL " 219 .") AS uni LEFT JOIN a lkis_wertearten wb ON cast(uni.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart'"221 .") AS uni LEFT JOIN ax_buchungsart_buchungsstelle wb ON uni.buchungsart = wb.wert " 220 222 ."ORDER BY uni.lfd;"; 221 223 // Testfall suchen: SELECT gml_id, zu, durch FROM ax_buchungsstelle WHERE NOT zu IS NULL OR NOT durch IS NULL; … … 242 244 ."FROM ax_buchungsblatt b JOIN ax_buchungsstelle s ON b.gml_id=s.istbestandteilvon " 243 245 ."LEFT JOIN ax_buchungsblattbezirk z ON b.land=z.land AND b.bezirk=z.bezirk " 244 ."LEFT JOIN a lkis_wertearten wb ON cast(b.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart'"246 ."LEFT JOIN ax_blattart_buchungsblatt wb ON b.blattart = wb.wert " 245 247 ."WHERE s.gml_id= $1 AND b.endet IS NULL AND s.endet IS NULL AND z.endet IS NULL ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 246 248 $v=array($gml_bsan); … … 359 361 // Blatt <istBestandteilVon< Stelle <an< Stelle >istBestandteilVon> Blatt 360 362 // Fiktiv Fiktiv <zu< Berechtigt Berechtigt 361 $sql="SELECT sf.laufendenummer AS anlfdnr, bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart, wa. vAS blattartv,362 sb.gml_id AS gml_s, sb.laufendenummer AS lfdnr, sb.buchungsart, wb. v AS bart, wb.d AS bartd, bz.bezeichnung AS beznam, d.bezeichnung, d.stelle, d.stellenart, wd.vAS stellev363 $sql="SELECT sf.laufendenummer AS anlfdnr, bb.gml_id, bb.land, bb.bezirk, bb.buchungsblattnummermitbuchstabenerweiterung AS blatt, bb.blattart, wa.beschreibung AS blattartv, 364 sb.gml_id AS gml_s, sb.laufendenummer AS lfdnr, sb.buchungsart, wb.beschreibung AS bart, wb.dokumentation AS bartd, bz.bezeichnung AS beznam, d.bezeichnung, d.stelle, d.stellenart, wd.beschreibung AS stellev 363 365 FROM ax_buchungsstelle sf JOIN ax_buchungsstelle sb ON (sf.gml_id=ANY(sb.an) OR sf.gml_id=ANY(sb.zu)) 364 366 JOIN ax_buchungsblatt bb ON bb.gml_id=sb.istbestandteilvon 365 367 LEFT JOIN ax_buchungsblattbezirk bz ON bb.land=bz.land AND bb.bezirk=bz.bezirk 366 LEFT JOIN ax_dienststelle d ON bz.land=d.land AND bz. stelle=d.stelle367 LEFT JOIN a lkis_wertearten wa ON cast(bb.blattart AS character varying)=wa.k AND wa.element='ax_buchungsblatt' AND wa.bezeichnung='blattart'368 LEFT JOIN a lkis_wertearten wb ON cast(sb.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart'369 LEFT JOIN a lkis_wertearten wd ON cast(d.stellenart AS character varying)=wd.k AND wd.element='ax_dienststelle' AND wd.bezeichnung='stellenart'368 LEFT JOIN ax_dienststelle d ON bz.land=d.land AND bz.gehoertzu_stelle=d.stelle 369 LEFT JOIN ax_blattart_buchungsblatt wa ON bb.blattart = wa.wert 370 LEFT JOIN ax_buchungsart_buchungsstelle wb ON sb.buchungsart = wb.wert 371 LEFT JOIN ax_behoerde wd ON d.stellenart = wd.wert 370 372 WHERE sf.istbestandteilvon = $1 AND sf.endet IS NULL AND sb.endet IS NULL AND bb.endet IS NULL AND bz.endet IS NULL AND d.endet IS NULL 371 373 ORDER BY cast(sf.laufendenummer AS integer), bz.bezeichnung, bb.buchungsblattnummermitbuchstabenerweiterung, cast(sb.laufendenummer AS integer);"; -
trunk/info/info/alkisn/alkisexport.php
r405 r412 12 12 ?gkz=mandant&tabtyp=strasse&haus=m&gmlid=DE... Filter &haus=m/o = mit oder ohne Hausnummer 13 13 ?gkz=mandant&tabtyp=strasse&haus=o bei Strasse auch ohne gmlid zulÀssig - nicht verwenden wenn aus NBA unscharf geladen 14 ?gkz240,tabtyp=flstliste&gmlliste=DE...,DE.... 14 15 Beispiele fÃŒr Fehler: 15 16 ?gkz=270&tabtyp=gemarkung&gmlid=2662 … … 29 30 2017-12-20 Nur eine Adresse zur Person (Siehe Views in "views_exp_csv.sql") 30 31 2018-05-03 Aufruf aus neuem GrundstÃŒcksnachweis: tabtyp='buchung', angepasster View "exp_csv" notwendig 32 2018-10-16 Neuer Aufruf-Typ aus der rÀumlichen Selektion, &tabtyp=flstliste&prefix=DENW15&gmlliste=AL...,AL.... 31 33 32 34 ToDo: … … 73 75 74 76 // strikte Validierung aller Parameter 75 if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 77 if ( isset($gmlid) ) { 78 if ( !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 79 } else { 80 $gmlid=""; 81 } 82 83 // FS-Limit? x (16+1) = 84 if ( isset($gmlliste) ) { 85 if (!preg_match("#^[0-9A-Za-z,]{16,2000}$#", $gmlliste)) { 86 // echo "\n<p>gmlliste=".$gmlliste."</p>\n"; // NUR TEST 87 die("Eingabefehler gmlliste"); 88 } 89 } 90 76 91 if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 77 92 if (isset($gemarkung)) { … … 118 133 $filename='alkis_'.$tabtyp.'_'.$gemarkung.'.csv'; 119 134 120 /* // $gmlid zu strasse noch notwendig solange kein Filter auf "Gemeinde" verwendet wird.135 /* // $gmlid zu strasse ist noch notwendig solange kein Filter auf "Gemeinde" verwendet wird. 121 136 } elseif ($haus == 'm' or $haus == 'o') { // Sonderfall 2 - alle mit/ohne Hausnummer, nur ÃŒber View "exp_csv_str" möglich 122 137 if ($tabtyp != 'strasse') { … … 130 145 } 131 146 */ 147 } elseif ($gmlliste != '') { // Sonderfall 3 - FlurstÃŒcke aus rÀumlicher Selection 148 if ($tabtyp != 'flstliste') { 149 $err = "Fehler: Falsche Kombination Parameter tabtyp='".$tabtyp."' mit Liste der GML-ID."; 150 echo "\n".$err; exit ($err); 151 } 152 if (!isset($prefix) or !preg_match("#^[A-Z0-9,]{6}$#", $prefix)) { 153 die("Eingabefehler prefix"); 154 } 155 $filename='alkis_gebiet.csv'; // RÀumliche Selection 156 132 157 } else { 133 158 $err="\nFehler: Kein passender Wert fuer die Suche angegeben."; … … 151 176 pg_set_client_encoding($con, 'LATIN1'); // FÃŒr Excel kein UTF8 152 177 153 $viewname="exp_csv"; // Standard-View, in der DB gespeichert178 //$viewname="exp_csv"; // Standard-View, in der DB gespeichert 154 179 $v=array($gmlid); // Standard-Filter-Feld 155 180 156 181 // Der Parameter "Tabellentyp" bestimmt den Namen des Filter-Feldes aus dem View "exp_csv". 157 182 switch ($tabtyp) { // zulaessige Werte fuer &tabtyp= 183 158 184 case 'flurstueck': // ax_flurstueck.gml_id 159 $filter = "fsgml"; 160 break; 185 $sql="SELECT * FROM exp_csv WHERE fsgml = $1 "; 186 break; 187 161 188 case 'grundbuch': // ax_buchungsblatt.gml_id 162 $filter = "gbgml"; 163 break; 189 $sql="SELECT * FROM exp_csv WHERE gbgml = $1 "; 190 break; 191 164 192 case 'buchung': // ax_buchungsstelle.gml_id 165 $filter = "gsgml"; 166 break; 193 $sql="SELECT * FROM exp_csv WHERE gsgml = $1 "; 194 break; 195 167 196 case 'person': // ax_person.gml_id 168 $filter = "psgml"; 169 break; 197 $sql="SELECT * FROM exp_csv WHERE psgml = $1 "; 198 break; 199 170 200 case 'strasse': // ax_lagebezeichnungkatalogeintrag.gml_id = StraÃe-GML-ID 171 $filter = "stgml"; 172 $viewname="exp_csv_str"; // alternativer View mit "_str", ist in der Datenbank gespeichert 173 break; 201 // alternativer View mit "_str", ist in der Datenbank gespeichert 202 $sql="SELECT * FROM exp_csv_str WHERE stgml = $1 "; 203 break; 204 174 205 case 'gemarkung': // SONDERfall als Parameter wird "Gemarkungsnummer" und nicht "gml_id" geliefert 175 $filter = "gemarkungsnummer"; 176 $v=array($gemarkung); // anderes Filter-Feld, anderer Parameter 177 break; 206 $sql="SELECT * FROM exp_csv WHERE gemarkungsnummer = $1 "; 207 $v=array($gemarkung); 208 break; 209 210 case 'flstliste': 211 // Ganze IN-Liste als $1 in SQL bringt kein Ergebnis. 212 // GML-ID aufgeteilt: 6 Byte konstant, 10 Byte variabel in Liste 213 //$prefix vor JEDES Element setzen oder mit Substrings suchen? 214 // $sql="SELECT * FROM exp_csv WHERE fsgml IN ('".str_replace(",", "','", $gmlliste)."')"; // komplette GML-ID in Liste 215 $sql="SELECT * FROM exp_csv WHERE substring(fsgml from 1 for 6) = $1 " 216 ." AND substring(fsgml from 7 for 10) IN ('".str_replace(",", "','", $gmlliste)."')"; 217 $v=array($prefix); 218 break; 219 178 220 default: 179 221 $err="\nFalscher Parameter '".$tabtyp."'"; … … 182 224 } 183 225 184 // Daten aus gespeichertem View, zusaetzlich Filter: "feld"='wert' mitgeben185 $sql="SELECT * FROM ".$viewname." WHERE ".$filter." = $1 ";186 187 226 if ($haus == 'm' or $haus == 'o') { // nur FS mit/ohne verschl. Lagebez. 188 if ($gmlid == '') { // m/o-Filter als einziger Filter189 $sql="SELECT * FROM ".$viewname." WHERE fall='".$haus."' "; // Ersetzen190 $v=array(); // kein Filter-Feld191 // ToDo: Filter auf Gemeinde notwendig, wenn nicht auf strasse gefiltert wird.192 // - Sonst Ausgabe von Rand-FlurstÃŒcken (bei geometrischer Filterung des NBA-Verfahrens)193 // - Sonst ggf. Ausgabe Kreisgebiet194 } else { // als zusÀtzlicher Filter AND195 $sql.=" AND fall='".$haus."' "; // m/o-Filter AnhÀngen196 }227 // if ($gmlid == '') { // m/o-Filter als einziger Filter 228 // $sql="SELECT * FROM ".$viewname." WHERE fall='".$haus."' "; // Ersetzen 229 // $v=array(); // kein Filter-Feld 230 // // ToDo: Filter auf Gemeinde notwendig, wenn nicht auf strasse gefiltert wird. 231 // // - Sonst Ausgabe von Rand-FlurstÃŒcken (bei geometrischer Filterung des NBA-Verfahrens) 232 // // - Sonst ggf. Ausgabe Kreisgebiet 233 // } else { // als zusÀtzlicher Filter AND 234 $sql.=" AND fall='".$haus."' "; // m/o-Filter AnhÀngen 235 // } 197 236 } 198 237 … … 311 350 pg_free_result($res); 312 351 if ($i == 1) { // nur Kopf 313 $err="\nKein Treffer fuer gml_id='".$gmlid."'"; 352 if ( $gmlid == '' ) { 353 $err="\nKein Treffer"; 354 // echo "\n".$sql."\n".$v[0]."\n".$dbconn."\n"; 355 } else { 356 $err="\nKein Treffer fuer gml_id='".$gmlid."'"; 357 } 314 358 exit ($err); 315 359 } -
trunk/info/info/alkisn/alkisfkt.php
r405 r412 16 16 2018-04-23 Berechtigte Buchungen im FS-Nachw. verbessern. Neue Spalte statt Ãberschriften fÃŒr "EigentÃŒmer" und "Berechtigte Buchungen". 17 17 2018-05-03 GrundstÃŒcksnachweis 18 ++ ToDo: Parameter $lnkclass in eigentuemer() und $jfenster in buchung_anzg() vereinheitlichen 18 2018-11-09 Umstellung Full-Schema 19 20 ++ ToDo: Parameter $lnkclass in eigentuemer() und $jfenster in buchung_anzg() vereinheitlichen 19 21 */ 20 22 … … 93 95 94 96 $sqlbs="SELECT sh.gml_id AS hgml, sh.buchungsart, sh.laufendenummer as lfd, sh.zaehler, sh.nenner, sh.nummerimaufteilungsplan as nrpl, sh.beschreibungdessondereigentums as sond, " // Buchungs-Stelle herrschend 95 ."b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a. v AS bart, a.d AS barttitle, w.vAS blattartv "97 ."b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.beschreibung AS bart, a.dokumentation AS barttitle, w.beschreibung AS blattartv " 96 98 ."FROM ax_buchungsstelle sh " 97 99 ."JOIN ax_buchungsblatt b ON b.gml_id=sh.istbestandteilvon " 98 100 ."LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk " 99 ."LEFT JOIN a lkis_wertearten a ON sh.buchungsart=cast(a.k AS integer) AND a.element='ax_buchungsstelle' and a.bezeichnung='buchungsart'" // entschl. Buchungsart100 ."LEFT JOIN a lkis_wertearten w ON b.blattart=w.k AND w.element='ax_buchungsblatt' and w.bezeichnung='blattart'" // entschl. Blatt-Art101 ."LEFT JOIN ax_buchungsart_buchungsstelle a ON sh.buchungsart = a.wert " // entschl. Buchungsart 102 ."LEFT JOIN ax_blattart_buchungsblatt w ON b.blattart = w.wert " // entschl. Blatt-Art 101 103 ."WHERE sh.gml_id= $1 AND sh.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL;"; 102 104 … … 321 323 $v=array($gml_bs); 322 324 } else { 323 $sql.="AND f. kreis = $2 AND f.gemeinde = $3 "; // ZustÀndiges Gebiet325 $sql.="AND f.gemeindezugehoerigkeit_kreis = $2 AND f.gemeindezugehoerigkeit_gemeinde = $3 "; // ZustÀndiges Gebiet 324 326 $v=array($gml_bs, $filtkreis, $filtgem); 325 327 } … … 415 417 } 416 418 417 $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass, n.benennt, wn. v AS adrv, we.vAS eiartv "419 $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass, n.benennt, wn.beschreibung AS adrv, we.beschreibung AS eiartv " 418 420 ."FROM ax_namensnummer n " 419 ."LEFT JOIN a lkis_wertearten wn ON cast(n.artderrechtsgemeinschaft AS character varying)=wn.k AND wn.element='ax_namensnummer' AND wn.bezeichnung='artderrechtsgemeinschaft'"420 ."LEFT JOIN a lkis_wertearten we ON cast(n.eigentuemerart AS character varying)=we.k AND we.element='ax_namensnummer' AND we.bezeichnung='eigentuemerart'"421 ."LEFT JOIN ax_artderrechtsgemeinschaft_namensnummer wn ON n.artderrechtsgemeinschaft = wn.wert " 422 ."LEFT JOIN ax_eigentuemerart_namensnummer we ON n.eigentuemerart = we.wert " 421 423 ."WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 422 424 // +++ LEFT JOIN bis ax_Person statt Person als Schleife zu holen, … … 579 581 580 582 function werteliste ($element, $bezeichnung ,$sqlin) { 581 // Eine oder mehrere EntschlÃŒsselungen aus "alkis_wertearten"in eine Zeile ausgeben.583 // Eine oder mehrere EntschlÃŒsselungen in eine Zeile ausgeben. 582 584 // Dient dazu, SchlÃŒssel-ARRAYs auflösen ohne die Zeile mehrfach aufzulisten (JOIN) 583 585 // Anwendung: FS-Nachweis BodenschÀtzung "Klimastufe + WasserverhÀltnisse" 586 // 2018-11-09: Umstellung von "alkis_wertearten" auf individuelle Tabellen 587 584 588 global $debug; 585 $sql="SELECT k, v FROM alkis_wertearten WHERE element = $1 AND bezeichnung = $2 AND k IN (".$sqlin.") ORDER BY k;"; 586 $v = array($element, $bezeichnung); 589 if ($element == 'ax_bodenschaetzung' AND $bezeichnung = 'entstehungsartoderklimastufewasserverhaeltnisse' ) { 590 $tabelle = 'ax_entstehungsartoderklimastufewasserverhaeltnisse_bodensc'; 591 } elseif ($element == 'ax_bodenschaetzung' AND $bezeichnung = 'sonstigeangaben' ) { 592 $tabelle = 'ax_sonstigeangaben_bodenschaetzung'; 593 } 594 $sql="SELECT wert, beschreibung FROM ".$tabelle." WHERE wert IN (".$sqlin.") ORDER BY wert LIMIT $1 ;"; 595 $v = array(100); 587 596 $res = pg_prepare("", $sql); 588 597 $res = pg_execute("", $v); 589 598 if (!$res) { 590 echo "\n<p class='err'>Fehler bei Werteliste aus alkis_wertearten.</p>";599 echo "\n<p class='err'>Fehler bei Werteliste.</p>"; 591 600 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = '".$sqlin."'</p>";} 592 601 return; … … 594 603 $i=0; 595 604 while($row = pg_fetch_assoc($res)) { 596 echo " ".$row[" v"];605 echo " ".$row["beschreibung"]; 597 606 $i++; 598 607 } 599 608 pg_free_result($res); 600 if ($i == 0 609 if ($i == 0) {echo "(kein Treffer)";} 601 610 return; 602 611 } -
trunk/info/info/alkisn/alkisfshist.php
r402 r412 12 12 2018-03-16 NULL-Werte in gemeinde und kreis in ax_historischesflurstueck berÃŒcksichtigen 13 13 2018-04-23 &nodebug 14 2018-11-09 Umstellung Full-Schema 14 15 */ 15 16 … … 172 173 $whereo=''; 173 174 } else { // ZusÀtze zur WHERE-Clausel 174 $wheref=" AND f. kreis = '".$filtkreis."' AND f.gemeinde = '".$filtgem."' ";175 $wheref=" AND f.gemeindezugehoerigkeit_kreis = '".$filtkreis."' AND f.gemeindezugehoerigkeit_gemeinde = '".$filtgem."' "; 175 176 $whereh=" AND (h.kreis IS NULL OR h.kreis = '".$filtkreis."' ) AND (h.gemeinde IS NULL OR h.gemeinde = '".$filtgem."') "; 176 177 $whereo=" AND (o.gemeinde IS NULL OR o.gemeinde = '".$filtgem."') "; -
trunk/info/info/alkisn/alkisfsnw.php
r405 r412 21 21 2018-04-23 Umfangreiche Ãberarbeitung der "Buchungsstellen" 22 22 2018-05-03 Anpassung fÃŒr GrundstÃŒcksnachweis 23 2018-11-09 Umstellung Full-Schema 23 24 24 25 ++ToDo: … … 128 129 129 130 // F L U R S T U E C K m. Gebiet 130 $sql ="SELECT f. name, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche, st_area(f.wkb_geometry) AS fsgeomflae,131 $sql ="SELECT f.zeigtaufexternes_name, f.flurnummer, f.zaehler, f.nenner, f.gemeindezugehoerigkeit_regierungsbezirk, f.gemeindezugehoerigkeit_kreis, f.gemeindezugehoerigkeit_gemeinde, f.amtlicheflaeche, st_area(f.wkb_geometry) AS fsgeomflae, 131 132 to_char(cast(f.zeitpunktderentstehung AS date),'DD.MM.YYYY') AS zeitpunktderentstehung, f.istgebucht, g.gemarkungsnummer, g.bezeichnung, 132 133 r.bezeichnung AS rbez, k.bezeichnung AS kbez, m.bezeichnung AS mbez 133 134 FROM ax_flurstueck f 134 LEFT JOIN ax_gemarkung g ON f. land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer135 LEFT JOIN ax_regierungsbezirk r ON f. regierungsbezirk=r.regierungsbezirk136 LEFT JOIN ax_kreisregion k ON f. regierungsbezirk=k.regierungsbezirk AND f.kreis=k.kreis137 LEFT JOIN ax_gemeinde m ON m.regierungsbezirk=f. regierungsbezirk AND m.kreis=f.kreis AND m.gemeinde=f.gemeinde135 LEFT JOIN ax_gemarkung g ON f.gemeindezugehoerigkeit_land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 136 LEFT JOIN ax_regierungsbezirk r ON f.gemeindezugehoerigkeit_regierungsbezirk=r.regierungsbezirk 137 LEFT JOIN ax_kreisregion k ON f.gemeindezugehoerigkeit_regierungsbezirk=k.regierungsbezirk AND f.gemeindezugehoerigkeit_kreis=k.kreis 138 LEFT JOIN ax_gemeinde m ON m.regierungsbezirk=f.gemeindezugehoerigkeit_regierungsbezirk AND m.kreis=f.gemeindezugehoerigkeit_kreis AND m.gemeinde=f.gemeindezugehoerigkeit_gemeinde 138 139 WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL AND m.endet IS NULL AND k.endet IS NULL AND r.endet IS NULL;"; 140 139 141 $v = array($gmlid); // mit gml_id suchen 140 142 $res = pg_prepare("", $sql); … … 147 149 $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 148 150 $gmkgnr=$row["gemarkungsnummer"]; 149 $bezirk=$row[" regierungsbezirk"];151 $bezirk=$row["gemeindezugehoerigkeit_regierungsbezirk"]; 150 152 $rbez=htmlentities($row["rbez"], ENT_QUOTES, "UTF-8"); 151 $kreis=$row[" kreis"];153 $kreis=$row["gemeindezugehoerigkeit_kreis"]; 152 154 $kbez=htmlentities($row["kbez"], ENT_QUOTES, "UTF-8"); 153 $gemeinde=$row["gemeinde "];155 $gemeinde=$row["gemeindezugehoerigkeit_gemeinde"]; 154 156 $mbez=htmlentities($row["mbez"], ENT_QUOTES, "UTF-8"); 155 157 $flurnummer=$row["flurnummer"]; … … 165 167 $entsteh=$row["zeitpunktderentstehung"]; 166 168 $gml_buchungsstelle=$row["istgebucht"]; // wird erst im GB-Teil benötigt 167 $ name=$row["name"]; // Fortfuehrungsnummer(n)168 $arrn = explode(",", trim($name, "{}") ); // PHP-Array169 $ffnr=$row["zeigtaufexternes_name"]; // Fortfuehrungsnummer(n) 170 $arrn=explode(",", trim($ffnr, "{}") ); // PHP-Array 169 171 } else { 170 172 echo "\n<p class='err'>Fehler! Kein Treffer für Flurstück mit gml_id=".$gmlid."</p>"; … … 462 464 463 465 // BodenschÀtzungs-Abschnitte mit FlurstÃŒcken verschneiden, Spalten entschlÃŒsseln 464 $sql="SELECT kulturart.k AS kulturartk, kulturart.v AS kulturartv, 465 bodenart.k AS bodenartk, bodenart.v AS bodenartv, 466 zustbod.v AS zustbodv, 466 $sql="SELECT b.kulturart AS kulturartk, kulturart.beschreibung AS kulturartv, 467 b.bodenart AS bodenartk, bodenart.beschreibung AS bodenartv, zustbod.beschreibung AS zustbodv, 467 468 b.entstehungsartoderklimastufewasserverhaeltnisse AS entsteh, b.sonstigeangaben, 468 469 b.bodenzahlodergruenlandgrundzahl as bodenzahl, b.ackerzahlodergruenlandzahl AS ackerzahl, … … 470 471 FROM ax_flurstueck f 471 472 JOIN ax_bodenschaetzung b ON st_intersects(b.wkb_geometry, f.wkb_geometry) AND st_area(st_intersection(b.wkb_geometry, f.wkb_geometry)) > 0.05 472 LEFT JOIN a lkis_wertearten AS bodenart ON cast(b.bodenart AS character varying) = bodenart.k AND bodenart.element='ax_bodenschaetzung' AND bodenart.bezeichnung='bodenart'473 LEFT JOIN a lkis_wertearten AS kulturart ON cast(b.kulturart AS character varying) = kulturart.k AND kulturart.element='ax_bodenschaetzung' AND kulturart.bezeichnung='kulturart'474 LEFT JOIN a lkis_wertearten AS zustbod ON cast(b.zustandsstufeoderbodenstufe AS character varying) = zustbod.k AND zustbod.element='ax_bodenschaetzung' AND zustbod.bezeichnung='zustandsstufeoderbodenstufe'473 LEFT JOIN ax_bodenart_bodenschaetzung bodenart ON b.bodenart = bodenart.wert 474 LEFT JOIN ax_kulturart_bodenschaetzung kulturart ON b.kulturart = kulturart.wert 475 LEFT JOIN ax_zustandsstufeoderbodenstufe_bodenschaetzung zustbod ON b.zustandsstufeoderbodenstufe = zustbod.wert 475 476 WHERE f.gml_id = $1 AND f.endet IS NULL AND b.endet IS NULL ORDER BY schnittflae DESC"; 476 477 … … 558 559 559 560 // H i n w e i s auf Bodenneuordnung oder eine strittige Grenze 560 $sql_boden ="SELECT a.k AS wert, a.vAS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez,561 $sql_boden ="SELECT b.artderfestlegung AS wert, a.beschreibung AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez, 561 562 b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key 562 563 FROM ax_bauraumoderbodenordnungsrecht b 563 LEFT JOIN a lkis_wertearten a ON cast(b.artderfestlegung AS character varying)=a.k AND a.element='ax_bauraumoderbodenordnungsrecht' AND a.bezeichnung='artderfestlegung'564 LEFT JOIN ax_artderfestlegung_bauraumoderbodenordnungsrecht a ON b.artderfestlegung = a.wert 564 565 LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle 565 566 WHERE b.endet IS NULL AND d.endet IS NULL -
trunk/info/info/alkisn/alkisgebaeudenw.php
r402 r412 10 10 2017-06-19 Tool-Tip GebÀudefunktion 11 11 2018-04-23 Kennzeichen eingerÃŒckt, &nodebug 12 2018-11-09 Umstellung Full-Schema 12 13 */ 13 14 session_start(); … … 106 107 107 108 // G e b a e u d e 108 $sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, h. v AS bauweise_beschreibung, u.v AS bezeichner, u.d AS gfktd, g.zustand, z.vAS bzustand,109 $sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, h.beschreibung AS bauweise_beschreibung, u.beschreibung AS bezeichner, u.dokumentation AS gfktd, g.zustand, z.beschreibung AS bzustand, 109 110 round(st_area(g.wkb_geometry)::numeric,2) AS gebflae, "; // GEB-Flaeche komplett auch die Fl. ausserhalb des FS 110 111 $sqlg.="round(st_area(ST_Intersection(g.wkb_geometry,f.wkb_geometry))::numeric,2) AS schnittflae, "; // wie viel vom GEB liegt im FS? 111 112 $sqlg.="st_within(g.wkb_geometry,f.wkb_geometry) as drin "; // liegt das GEB komplett im FS? 112 113 $sqlg.="FROM ax_flurstueck f, ax_gebaeude g 113 LEFT JOIN alkis_wertearten h ON cast(g.bauweise AS character varying) = h.k AND h.element='ax_gebaeude' and h.bezeichnung='bauweise' 114 LEFT JOIN a lkis_wertearten u ON cast(g.gebaeudefunktion AS character varying) = u.k AND u.element='ax_gebaeude' and u.bezeichnung='gebaeudefunktion'115 LEFT JOIN a lkis_wertearten z ON cast(g.zustand AS character varying) = z.k AND z.element='ax_gebaeude' and z.bezeichnung='zustand'114 JOIN ax_bauweise_gebaeude h ON g.bauweise = h.wert 115 LEFT JOIN ax_gebaeudefunktion u ON g.gebaeudefunktion = u.wert 116 LEFT JOIN ax_zustand_gebaeude z ON g.zustand = z.wert 116 117 WHERE f.gml_id= $1 AND f.endet IS NULL and g.endet IS NULL "; // ID des akt. FS 117 118 -
trunk/info/info/alkisn/alkisgsnw.php
r405 r412 7 7 Version: 8 8 2018-05-03 Neues Modul "gsnw" abgeleitet aus "fsnw" 9 2018-11-09 Umstellung Full-Schema 9 10 */ 10 11 … … 184 185 $v=array($gmlid); 185 186 } else { 186 $sqlfs.="AND f. kreis = $2 AND f.gemeinde = $3 "; // ZustÀndiges Gebiet187 $sqlfs.="AND f.gemeindezugehoerigkeit_kreis = $2 AND f.gemeindezugehoerigkeit_gemeinde = $3 "; // ZustÀndiges Gebiet 187 188 $v=array($gmlid, $filtkreis, $filtgem); 188 189 } -
trunk/info/info/alkisn/alkishaus.php
r402 r412 11 11 2017-10-09 Sauber filtern auf endet IS NULL 12 12 2018-04-23 &nodebug 13 2018-11-09 Umstellung Full-Schema 13 14 14 15 ToDo: … … 59 60 60 61 // G e b a e u d e 61 62 // ... g.qualitaetsangaben, 62 63 $sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, g.anzahlderoberirdischengeschosse AS aog, g.anzahlderunterirdischengeschosse AS aug, 63 g.lagezurerdoberflaeche, g.dachgeschossausbau, g.zustand, array_to_string(g.weiteregebaeudefunktion, ',') AS wgf, g.dachform, g.hochhaus, g.objekthoehe, g.geschossflaeche, g.grundflaeche, g.umbauterraum, g.baujahr, g.dachart, g.qualitaetsangaben, 64 h.v AS bbauw, h.d AS dbauw, u.v AS bfunk, u.d AS dfunk, z.v AS zustandv, z.d AS zustandd, d.v AS bdach, a.v AS dgaus, o.v AS oflv, o.d AS ofld, 64 g.lagezurerdoberflaeche, g.dachgeschossausbau, g.zustand, array_to_string(g.weiteregebaeudefunktion, ',') AS wgf, g.dachform, g.hochhaus, g.objekthoehe, 65 g.geschossflaeche, g.grundflaeche, g.umbauterraum, g.baujahr, g.dachart, 66 h.beschreibung AS bbauw, h.dokumentation AS dbauw, u.beschreibung AS bfunk, u.dokumentation AS dfunk, z.beschreibung AS zustandv, z.dokumentation AS zustandd, d.beschreibung AS bdach, 67 a.beschreibung AS dgaus, o.beschreibung AS oflv, o.dokumentation AS ofld, 65 68 round(st_area(g.wkb_geometry)::numeric,2) AS gebflae 66 69 FROM ax_gebaeude g 67 LEFT JOIN a lkis_wertearten h ON cast(g.bauweise AS character varying)=h.k AND h.element='ax_gebaeude' AND h.bezeichnung='bauweise'68 LEFT JOIN a lkis_wertearten u ON cast(g.gebaeudefunktion AS character varying)=u.k AND u.element='ax_gebaeude' AND u.bezeichnung='gebaeudefunktion'69 LEFT JOIN a lkis_wertearten z ON cast(g.zustand AS character varying)=z.k AND z.element='ax_gebaeude' AND z.bezeichnung='zustand'70 LEFT JOIN a lkis_wertearten d ON cast(g.dachform AS character varying)=d.k AND d.element='ax_gebaeude' AND d.bezeichnung='dachform'71 LEFT JOIN a lkis_wertearten a ON cast(g.dachgeschossausbau AS character varying)=a.k AND a.element='ax_gebaeude' AND a.bezeichnung='dachgeschossausbau'72 LEFT JOIN a lkis_wertearten o ON cast(g.lagezurerdoberflaeche AS character varying)=o.k AND o.element='ax_gebaeude' AND o.bezeichnung='lagezurerdoberflaeche'70 LEFT JOIN ax_bauweise_gebaeude h ON g.bauweise = h.wert 71 LEFT JOIN ax_gebaeudefunktion u ON g.gebaeudefunktion = u.wert 72 LEFT JOIN ax_zustand_gebaeude z ON g.zustand = z.wert 73 LEFT JOIN ax_dachform d ON g.dachform = d.wert 74 LEFT JOIN ax_dachgeschossausbau_gebaeude a ON g.dachgeschossausbau = a.wert 75 LEFT JOIN ax_lagezurerdoberflaeche_gebaeude o ON g.lagezurerdoberflaeche = o.wert 73 76 WHERE g.gml_id= $1 AND g.endet IS NULL;"; 74 77 … … 149 152 $bja=$rowg["baujahr"]; 150 153 $daa=$rowg["dachart"]; 151 $qag=$rowg["qualitaetsangaben"];154 // $qag=$rowg["qualitaetsangaben"]; 152 155 153 156 if (($nam != "") OR $allefelder) { … … 287 290 } 288 291 289 // Dachgeschossausbau 290 // nichts dazu in alkis_wertearten.d 292 // Dachgeschossausbau, Spalte dokumentation ist immer leer 291 293 if ($dga != "" OR $allefelder) { 292 294 echo "\n<tr>" … … 316 318 317 319 // Weitere GebÀudefunktionen 318 // Suche Testfall: SELECT * FROM ax_gebaeude WHERE NOT weiteregebaeudefunktion IS NULL; 319 // Keiner zu finden. Das folgende ungetestet: 320 if ($wgf != "" OR $allefelder) { // "weiteregebaeudefunktion" ist ein Array 320 // Suche Testfall: SELECT gml_id, gebaeudefunktion, weiteregebaeudefunktion FROM ax_gebaeude WHERE (NOT weiteregebaeudefunktion IS NULL) AND cardinality(weiteregebaeudefunktion) > 1 liMIT 10; 321 if ($wgf != "" OR $allefelder) { // ... ist ein Array 321 322 echo "\n<tr>" 322 323 ."\n\t<td class='li'>Weitere Gebäudefunktionen</td>" 323 324 ."\n\t<td>"; 324 325 if ($wgf != "") { // Kommagetrennte Liste aus Array 325 $sqlw="SELECT k, v, d FROM alkis_wertearten WHERE k IN ( $1 ) AND element='ax_gebaeude' AND bezeichnung='weiteregebaeudefunktion' ORDER BY k;";326 $sqlw="SELECT wert, beschreibung, dokumentation FROM ax_gebaeudefunktion WHERE wert IN ( $1 ) ORDER BY wert;"; 326 327 $v = array($wgf); 327 328 $resw = pg_prepare("", $sqlw); … … 332 333 } 333 334 $zw=0; 334 while($roww = pg_fetch_assoc($resw)) { // LOOP : w.Funktion335 while($roww = pg_fetch_assoc($resw)) { // LOOP Funktion 335 336 if ($zw > 0) {echo "<br>";} 336 if ($showkey) {echo "<span class='key'>".$roww[" k"]."</span> ";}337 echo "<span title='".$roww["d "]."'>".$roww["v"]."</span>";337 if ($showkey) {echo "<span class='key'>".$roww["wert"]."</span> ";} 338 echo "<span title='".$roww["dokumentation"]."'>".$roww["beschreibung"]."</span>"; 338 339 $zw++; 339 340 } … … 346 347 } 347 348 348 // Dachform 349 // nichts dazu in alkis_wertearten.d 349 // Dachform, Spalte dokumentation ist immer leer 350 350 if ($daf != "" OR $allefelder) { 351 351 echo "\n<tr>" … … 430 430 431 431 // QualitÀtsangaben 432 if ($qag != "" OR $allefelder) {432 /* if ($qag != "" OR $allefelder) { 433 433 echo "\n<tr>" 434 434 ."\n\t<td class='li'>Qualitätsangaben</td>" … … 438 438 ."\n\t</td>" 439 439 ."\n</tr>"; 440 } 440 } */ 441 441 echo "\n</table>"; 442 442 } 443 443 if ($gebnr == 0) {echo "\n<p class='err'><br>Kein Gebäude gefunden<br> </p>";} 444 444 445 // ++ ToDo: Verschnitt mit FS? 446 445 // ++ ToDo: -Verschnitt mit FS? -Ausgeben ax_georeferenziertegebaeudeadresse dazz, wenn gefÃŒllt. 447 446 ?> 448 447 -
trunk/info/info/alkisn/alkisinlayausk.php
r405 r412 19 19 2018-04-24 Feinschliff 20 20 2018-05-03 neuer GrundstÃŒcksnachweis 21 2018-11-09 Umstellung Full-Schema 21 22 */ 22 23 session_start(); … … 53 54 54 55 // *** F L U R S T U E C K *** 55 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f. regierungsbezirk, f.kreis, f.gemeinde, f.istgebucht56 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f.gemeindezugehoerigkeit_regierungsbezirk, f.gemeindezugehoerigkeit_kreis, f.gemeindezugehoerigkeit_gemeinde, f.istgebucht 56 57 FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 57 58 WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL;"; 59 58 60 $v = array($gmlid); 59 61 $res = pg_prepare("", $sql); … … 73 75 $flae=$row["amtlicheflaeche"]; 74 76 $flae=number_format($flae,0,",",".") . " m²"; 75 $fsreg=$row[" regierungsbezirk"]; // Filter ZustÀndigkeit76 $fskrs=$row[" kreis"];77 $fsgem=$row["gemeinde "];77 $fsreg=$row["gemeindezugehoerigkeit_regierungsbezirk"]; // Filter ZustÀndigkeit 78 $fskrs=$row["gemeindezugehoerigkeit_kreis"]; 79 $fsgem=$row["gemeindezugehoerigkeit_gemeinde"]; 78 80 $gml_buchungsstelle=$row["istgebucht"]; 79 81 } else { -
trunk/info/info/alkisn/alkisinlaybaurecht.php
r402 r412 9 9 2017-06-08 Validierung Eingabeparameter, Feinkorrekturen 10 10 2017-10-09 Sauber filtern auf endet IS NULL 11 2018-11-09 Umstellung Full-Schema 11 12 */ 12 13 session_start(); … … 42 43 $sql ="SELECT r.ogc_fid, r.name, r.stelle, r.bezeichnung AS rechtbez, a.v AS adfbez, d.bezeichnung AS stellbez, round(st_area(r.wkb_geometry)::numeric,0) AS flae 43 44 FROM ax_bauraumoderbodenordnungsrecht r 44 LEFT JOIN a lkis_wertearten a ON cast(r.artderfestlegung AS character varying)=a.k AND a.element='ax_bauraumoderbodenordnungsrecht' AND a.bezeichnung='artderfestlegung'45 LEFT JOIN ax_artderfestlegung_bauraumoderbodenordnungsrecht a ON r.artderfestlegung = a.wert 45 46 LEFT JOIN ax_dienststelle d ON r.land=d.land AND r.stelle=d.stelle 46 47 WHERE r.gml_id= $1 AND r.endet IS NULL AND d.endet IS NULL;"; -
trunk/info/info/alkisn/alkislage.php
r402 r412 12 12 2017-10-09 Sauber filtern auf endet IS NULL 13 13 2018-04-23 &nodebug 14 2018-11-09 Umstellung Full-Schema 14 15 15 16 ToDo: … … 382 383 383 384 $sql ="SELECT g.gml_id, g.gebaeudefunktion, array_to_string(g.name, ',') AS name, g.bauweise, g.grundflaeche, g.zustand, round(st_area(g.wkb_geometry)::numeric,2) AS flaeche, 384 h. v AS hv, h.d AS hd, u.v AS uv, u.d AS ud, z.v AS zv, z.dAS zd FROM ax_gebaeude g385 LEFT JOIN a lkis_wertearten h ON cast(g.bauweise AS character varying)=h.k AND h.element='ax_gebaeude' AND h.bezeichnung='bauweise'386 LEFT JOIN a lkis_wertearten u ON cast(g.gebaeudefunktion AS character varying)=u.k AND u.element='ax_gebaeude' AND u.bezeichnung='gebaeudefunktion'387 LEFT JOIN a lkis_wertearten z ON cast(g.zustand AS character varying)=z.k AND z.element='ax_gebaeude' AND z.bezeichnung='zustand'385 h.beschreibung AS hv, h.dokumentation AS hd, u.beschreibung AS uv, u.dokumentation AS ud, z.beschreibung AS zv, z.dokumentation AS zd FROM ax_gebaeude g 386 LEFT JOIN ax_bauweise_gebaeude h ON g.bauweise = h.wert 387 LEFT JOIN ax_gebaeudefunktion u ON g.gebaeudefunktion = u.wert 388 LEFT JOIN ax_zustand_gebaeude z ON g.zustand = z.wert 388 389 WHERE $1 = ".$bezart." AND g.endet IS NULL;"; 389 390 // Keine Sortierung (ORDER BY) notwendig weil i.d.R. nur ein (Haupt-)GebÀude diese Hausnummer hat. 390 // FÃŒr weiter "alkis_wertearten" (EnstschlÃŒsselungen) zum GebÀudedem Link "Haus" folgen.391 // FÃŒr weiter Eigenschaften dem Link "Haus" folgen. 391 392 392 393 $v = array($gmlid); -
trunk/info/info/alkisn/alkisnamstruk.php
r402 r412 13 13 2017-12-20 Anlass und Datum zur Adresse ausgeben, wenn es mehrere gibt oder SchlÃŒssel angefordert werden 14 14 2018-04-23 &nodebug 15 2018-11-09 Umstellung Full-Schema 15 16 */ 16 17 session_start(); … … 57 58 if (!$con) "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 58 59 59 $sql="SELECT p.nachnameoderfirma, p.anrede, p.vorname, p.geburtsname, to_char(cast(p.geburtsdatum AS date),'DD.MM.YYYY') AS geburtsdatum, p.namensbestandteil, p.akademischergrad, a.v AS anrv60 FROM ax_person p LEFT JOIN alkis_wertearten a ON cast(p.anrede AS character varying)=a.k AND a.element='ax_person' AND a.bezeichnung='anrede' 61 WHERE gml_id= $1 AND p.endet IS NULL;";60 $sql="SELECT p.nachnameoderfirma, p.anrede, p.vorname, p.geburtsname, to_char(cast(p.geburtsdatum AS date),'DD.MM.YYYY') AS geburtsdatum, 61 p.namensbestandteil, p.akademischergrad, a.beschreibung AS anrv 62 FROM ax_person p LEFT JOIN ax_anrede_person a ON p.anrede = a.wert WHERE gml_id= $1 AND p.endet IS NULL;"; 62 63 63 64 $v = array($gmlid); … … 94 95 echo "\n\n<h3><img src='ico/Strasse_mit_Haus.png' width='16' height='16' alt=''> Adresse".$plural."</h3>"; 95 96 // Es können redundante Adressen vorhanden sein, z.B. aus Migration, temporÀr aus LBESAS. 96 // Im Normalfall nur die "letzte" davon anzeigen. Auf Wunsch alle anzigen, dazu den Anlass und das Datum. 97 98 $sqla ="SELECT a.gml_id, w.v AS anltxt, a.anlass, to_char(cast(a.beginnt AS date),'DD.MM.YYYY') AS datum, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland " 97 // Im Normalfall nur die "letzte" davon anzeigen. Auf Wunsch alle anzeigen, dazu den Anlass und das Datum um das zu bewerten. 98 $sqla ="SELECT a.gml_id, w.value AS anltxt, a.anlass, to_char(cast(a.beginnt AS date),'DD.MM.YYYY') AS datum, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland " 99 99 ."FROM ax_anschrift a JOIN ax_person p ON a.gml_id=ANY(p.hat) " 100 ."LEFT JOIN a lkis_wertearten w ON w.k = ANY(a.anlass) AND element='ax_benutzergruppemitzugriffskontrolle' AND w.bezeichnung='zugriffsartfortfuehrungsanlass'"100 ."LEFT JOIN aa_anlassart w ON w.id = ANY(a.anlass) " 101 101 ."WHERE p.gml_id= $1 AND a.endet IS NULL AND p.endet IS NULL ORDER BY a.beginnt DESC ;"; 102 102 … … 168 168 // >bestehtAusRechtsverhaeltnissenZu> namensnummer (Nebenzweig/SonderfÀlle?) 169 169 170 $sqlg ="SELECT n.gml_id AS gml_n, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, g.gml_id AS gml_g, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung as nr, g.blattart, wb. vAS blattartv, b.bezeichnung AS beznam "170 $sqlg ="SELECT n.gml_id AS gml_n, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, g.gml_id AS gml_g, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung as nr, g.blattart, wb.beschreibung AS blattartv, b.bezeichnung AS beznam " 171 171 ."FROM ax_person p JOIN ax_namensnummer n ON p.gml_id=n.benennt " 172 172 ."JOIN ax_buchungsblatt g ON g.gml_id=n.istbestandteilvon " 173 173 ."LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk " 174 ."LEFT JOIN a lkis_wertearten wb ON cast(g.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart'"174 ."LEFT JOIN ax_blattart_buchungsblatt wb ON g.blattart = wb.wert " 175 175 ."WHERE p.gml_id= $1 AND p.endet IS NULL AND n.endet IS NULL AND b.endet IS NULL " 176 176 ."ORDER BY b.bezeichnung, g.buchungsblattnummermitbuchstabenerweiterung, n.laufendenummernachdin1421;"; 177 // buchungsblatt... mal mit und mal ohne fuehrende Nullen, bringt die Sortierung durcheinander178 177 179 178 $v = array($gmlid); -
trunk/info/info/alkisn/alkisstrasse.php
r402 r412 13 13 2017-10-09 Sauber filtern auf endet IS NULL 14 14 2018-04-23 &nodebug 15 2018-11-09 Umstellung Full-Schema 15 16 */ 16 17 session_start();
Note: See TracChangeset
for help on using the changeset viewer.