Changeset 330 for trunk/mapbender/http/nav/alkisnav_fkt.php
- Timestamp:
- 09/10/14 12:08:18 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mapbender/http/nav/alkisnav_fkt.php
r315 r330 4 4 2013-05-14 Hervorhebung aktuelles Objekt, Title auch auf Icon, IE zeigt sonst alt= als Title dar. 5 5 2013-05-15 Function verlegt 6 2014-02-06 Korrektur zeile_person 6 2014-02-06 Korrektur zeile_person 7 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 7 8 */ 8 9 9 // function Typ "zeile_**" = Ausgabe eines Knotens10 // - Icon, ggf. mit Link zur Buchauskunft11 // - Zeile, ggf. mit Link zur weiteren Auflösung untergeordneter Knoten12 // Hierin die Encodierung fÃŒr url und HTML.13 14 10 function is_ne_zahl($wert) { 15 // Pr ueft, ob ein Wert ausschlieÃlich aus den Zahlen 0 bis 9 besteht11 // PrÃŒft, ob ein Wert ausschlieÃlich aus den Zahlen 0 bis 9 besteht 16 12 if (trim($wert, "0..9") == "") {return true;} else {return false;} 17 13 } … … 74 70 } 75 71 72 // function Typ "zeile_**" = Ausgabe eines Knotens 73 // - Icon, ggf. mit Link zur Buchauskunft 74 // - Zeile, ggf. mit Link zur weiteren Auflösung untergeordneter Knoten 75 // Hierin die Encodierung fÃŒr url und HTML. 76 76 77 function zeile_ag ($ag, $anr, $aktuell) { // Zeile A m t s g e r i c h t 77 78 global $gkz, $gemeinde, $epsg, $auskpath; … … 235 236 236 237 // SQL-Bausteine vorbereiten 237 // SQLvorne gleich238 // vorne gleich 238 239 $sql1 ="SELECT s1.laufendenummer AS lfd, s1.gml_id AS bsgml, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, "; 239 240 if($epsg == "25832") { // Transform nicht notwendig … … 244 245 $sql1.="st_y(st_transform(st_centroid(f.wkb_geometry), ".$epsg.")) AS y, "; 245 246 } 246 $sql1.="g.gemarkung, g.gemarkungsname "; 247 $sql1.="FROM alkis_beziehungen vbg "; 248 $sql1.="JOIN ax_buchungsstelle s1 ON vbg.beziehung_von = s1.gml_id "; 249 250 // Zwischen-JOIN verschieden 251 $sqlz1 ="JOIN alkis_beziehungen vfb ON s1.gml_id = vfb.beziehung_zu "; 247 $sql1.="g.gemarkung, g.gemarkungsname FROM ax_buchungsstelle s1 "; 248 249 // 2 Varianten zwischen 250 $sqlz1="JOIN ax_flurstueck f ON f.istgebucht = s1.gml_id "; 252 251 253 $sqlz2 ="JOIN a lkis_beziehungen vss ON vss.beziehung_von = s1.gml_id ";254 $sqlz2.="JOIN ax_buchungsstelle s2 ON vss.beziehung_zu = s2.gml_id "; 255 $sqlz2.="JOIN alkis_beziehungen vfb ON s2.gml_id = vfb.beziehung_zu "; 256 257 // SQL hinten gleich 258 $sql2 ="JOIN ax_flurstueck f ON vfb.beziehung_von = f.gml_id ";252 $sqlz2 ="JOIN ax_buchungsstelle s2 ON s2.gml_id = ANY(s1.an) "; // nur an oder "an" und "zu" ? 253 // Test: SELECT * FROM ax_buchungsstelle WHERE NOT zu IS NULL; // keine Treffer fÃŒr "zu" 254 // $sqlz2 ="JOIN ax_buchungsstelle s2 ON (s2.gml_id = ANY(s1.an) OR s2.gml_id = ANY(s1.zu)) "; 255 $sqlz2.="JOIN ax_flurstueck f ON f.istgebucht = s2.gml_id "; 256 257 // hinten gleich 259 258 $sql2.="JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung "; 260 $sql2.="WHERE vbg.beziehung_zu= $1 AND vbg.beziehungsart='istBestandteilVon' AND vfb.beziehungsart='istGebucht'";259 $sql2.="WHERE s1.istbestandteilvon = $1 "; 261 260 switch ($gfilter) { 262 261 case 1: // Einzelwert 263 $sql2.="AND g.gemeinde= ".$gemeinde.""; break;262 $sql2.="AND g.gemeinde='".$gemeinde."' "; break; 264 263 case 2: // Liste 265 $sql2.="AND g.gemeinde in ( ".$gemeinde.") "; break;264 $sql2.="AND g.gemeinde in ('".str_replace(",", "','", $gemeinde)."') "; break; 266 265 } 267 266 $sql2.="ORDER BY cast(s1.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner LIMIT $2 ;"; … … 276 275 if (!$res) { 277 276 echo "\n<p class='err'>Fehler bei Buchung und Flurstück.</p>"; 278 #if ($debug >= 3) {echo "\n<p class='err'>".$sql1.$sqlz1.$sql2."</p>";}277 if ($debug >= 3) {echo "\n<p class='err'>".$sql1.$sqlz1.$sql2."</p>";} 279 278 return; 280 279 }
Note: See TracChangeset
for help on using the changeset viewer.