Changeset 334 for trunk/mapbender
- Timestamp:
- 09/15/14 17:52:35 (10 years ago)
- Location:
- trunk/mapbender/http/nav
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mapbender/http/nav/alkisnav_adr.php
r333 r334 9 9 2014-01-23 Link zum Auskunft-Modul fÃŒr StraÃe 10 10 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 11 2014-09-1 0 Bei Relationen den Timestamp abschneiden11 2014-09-15 Bei Relationen den Timestamp abschneiden, mehr "endet IS NULL" 12 12 13 13 ToDo: … … 64 64 $match=trim($matches[1])."%"; 65 65 } 66 $sql ="SELECT g.gemeinde, g.bezeichnung AS gemname, k.gml_id, k.bezeichnung, k.schluesselgesamt, k.lage ";67 $sql.="FROM ax_lagebezeichnungkatalogeintrag k ";68 $sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde ";69 $sql.="WHERE k.bezeichnung ILIKE $1 AND k.endet IS NULL AND g.endet IS NULL ";66 $sql ="SELECT g.gemeinde, g.bezeichnung AS gemname, k.gml_id, k.bezeichnung, k.schluesselgesamt, k.lage 67 FROM ax_lagebezeichnungkatalogeintrag k 68 JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde 69 WHERE k.bezeichnung ILIKE $1 AND k.endet IS NULL AND g.endet IS NULL "; 70 70 switch ($gfilter) { 71 71 case 1: // Einzelwert … … 137 137 $match=str_pad($street, 5, "0", STR_PAD_LEFT); // "Wie eine Zahl" verarbeiten 138 138 } 139 $sql ="SELECT g.bezeichnung AS gemname, k.gml_id, k.bezeichnung, k.schluesselgesamt, k.lage ";140 $sql.="FROM ax_lagebezeichnungkatalogeintrag as k ";141 $sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde ";142 $sql.="WHERE k.lage LIKE $1";139 $sql ="SELECT g.bezeichnung AS gemname, k.gml_id, k.bezeichnung, k.schluesselgesamt, k.lage 140 FROM ax_lagebezeichnungkatalogeintrag as k 141 JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde 142 WHERE k.lage LIKE $1 AND k.endet IS NULL AND g.endet IS NULL "; 143 143 switch ($gfilter) { 144 144 case 1: // Einzelwert … … 206 206 // Head 207 207 // Strasse zum Strassenschluessel 208 $sql ="SELECT g.bezeichnung AS gemname, k.gml_id AS kgml, k.bezeichnung, k.land, k.regierungsbezirk, k.kreis, k.gemeinde, k.lage ";209 $sql.="FROM ax_lagebezeichnungkatalogeintrag as k ";210 $sql.="JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde ";211 $sql.="WHERE k.schluesselgesamt = $1LIMIT 1";208 $sql ="SELECT g.bezeichnung AS gemname, k.gml_id AS kgml, k.bezeichnung, k.land, k.regierungsbezirk, k.kreis, k.gemeinde, k.lage 209 FROM ax_lagebezeichnungkatalogeintrag as k 210 JOIN ax_gemeinde g ON k.land=g.land AND k.regierungsbezirk=g.regierungsbezirk AND k.kreis=g.kreis AND k.gemeinde=g.gemeinde 211 WHERE k.schluesselgesamt = $1 AND k.endet IS NULL AND g.endet IS NULL LIMIT 1"; 212 212 213 213 $v=array($str_schl); // Schluessel-Gesamt .. … … 297 297 $sql.="avg (st_y(st_transform(p.wkb_geometry,".$epsg."))) AS y "; 298 298 } 299 $sql.="FROM ap_pto p JOIN ax_lagebezeichnungmithausnummer h ON substring(h.gml_id,1,16)=ANY(p.dientzurdarstellungvon) "; 300 $sql.="WHERE p.art='HNR' AND h.land= $1 AND h.regierungsbezirk= $2 AND h.kreis= $3 AND h.gemeinde= $4 AND h.lage= $5 "; 301 $sql.="GROUP BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2) "; 302 $sql.="ORDER BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2);"; 299 $sql.="FROM ap_pto p JOIN ax_lagebezeichnungmithausnummer h ON substring(h.gml_id,1,16)=ANY(p.dientzurdarstellungvon) 300 WHERE p.art='HNR' AND h.land= $1 AND h.regierungsbezirk= $2 AND h.kreis= $3 AND h.gemeinde= $4 AND h.lage= $5 301 AND p.endet IS NULL AND h.endet IS NULL 302 GROUP BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2) 303 ORDER BY lpad(split_part(hausnummer,' ',1), 4, '0'), split_part(hausnummer,' ',2);"; 303 304 // Problem: mehrere Koordinaten fÃŒr verschiedene MaÃstÀbe der Kartendarstellung 304 305 // Diese sollten nicht mehrfach gelistet werden. FÃŒr Positionierung "irgendeine" nehmen. -
trunk/mapbender/http/nav/alkisnav_eig.php
r333 r334 13 13 Title auch auf Icon, IE zeigt sonst alt= als Title dar. 14 14 2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 15 2014-09-15 Bei Relationen den Timestamp abschneiden 15 2014-09-15 Bei Relationen den Timestamp abschneiden, mehr "endet IS NULL" 16 16 */ 17 17 $cntget = extract($_GET); … … 129 129 $sql ="SELECT p.nachnameoderfirma, p.vorname, p.gml_id FROM ax_person p "; 130 130 if ($gfilter > 0) { 131 // $sql.="JOIN gemeinde_person g ON substring(p.gml_id,1,16) = substring(g.person,1,16) WHERE "; 132 $sql.="JOIN gemeinde_person g ON p.gml_id=g.person WHERE "; 131 $sql.="JOIN gemeinde_person g ON p.gml_id=g.person WHERE p.endet IS NULL AND "; 133 132 switch ($gfilter) { 134 133 case 1: // Einzel … … 138 137 } 139 138 } else { 140 $sql.="WHERE ";139 $sql.="WHERE p.endet IS NULL AND "; 141 140 } 142 141 if($match1 != '%'){ … … 241 240 $cnt++; 242 241 } 243 /* 244 if ($cnt == 0) { // Nur Entwicklg. 245 if ($debug > 1) { 246 echo "\n<p class='err'>keine Buchung</p>"; 247 } 248 if ($debug > 2) { 249 echo "<p class='dbg'>SQL = '".$sql."',<br>$1 = '".substr($person,0,16)."'<p>"; 250 } 251 } 252 */ 242 /* if ($cnt == 0) { // Nur Entwicklg. 243 if ($debug > 1) {echo "\n<p class='err'>keine Buchung</p>";} 244 if ($debug > 2) {echo "<p class='dbg'>SQL = '".$sql."',<br>$1 = '".substr($person,0,16)."'<p>";} 245 } */ 246 253 247 // Foot 254 248 if($cnt == 0) { … … 282 276 283 277 // Namen ermitteln 284 $sql ="SELECT nachnameoderfirma, vorname FROM ax_person WHERE gml_id = $1 ";278 $sql ="SELECT nachnameoderfirma, vorname FROM ax_person WHERE gml_id = $1 AND endet IS NULL;"; 285 279 $v=array($person); 286 280 $res=pg_prepare("", $sql); … … 293 287 $sql ="SELECT gb.gml_id AS gml_g, gb.buchungsblattnummermitbuchstabenerweiterung as blatt, b.bezirk, b.bezeichnung AS beznam "; 294 288 $sql.="FROM ax_buchungsblatt gb JOIN ax_buchungsblattbezirk b ON gb.land=b.land AND gb.bezirk=b.bezirk "; 295 $sql.="WHERE gb.gml_id= $1 LIMIT 1 ;";289 $sql.="WHERE gb.gml_id= $1 AND gb.endet IS NULL and b.endet IS NULL LIMIT 1 ;"; 296 290 $v=array($blattgml); 297 291 $res=pg_prepare("", $sql); … … 366 360 $sql2 ="JOIN pp_gemarkung ot ON f.land=ot.land AND f.gemarkungsnummer=ot.gemarkung "; // Ortsteil 367 361 $sql2.="WHERE nn.benennt = $1 AND nn.endet IS NULL AND gb.endet IS NULL AND s1.endet IS NULL AND f.endet IS NULL "; 368 // AND s2.endet IS NULL 362 363 $sqlw2="AND s2.endet IS NULL "; 369 364 370 365 // Parameter $gbkennz nach Klick auf Zeile "Bezirk" … … 498 493 // Zweite Abfrage (Variante) aus den Bausteinen zusammen bauen 499 494 // buchungsStelle2 <an< buchungsStelle1 500 $sql=$sql1.$sqla2.$sql2.$bltwhere. "AND s2.endet IS NULL ".$sql3; // Rechte an495 $sql=$sql1.$sqla2.$sql2.$bltwhere.$sqlw2.$sql3; // Rechte an 501 496 $v=array(substr($person,0,16), $linelimit); 502 497 $res=pg_prepare("", $sql); -
trunk/mapbender/http/nav/alkisnav_fkt.php
r333 r334 6 6 2014-02-06 Korrektur zeile_person 7 7 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 8 2014-09-1 0 Bei Relationen den Timestamp abschneiden8 2014-09-15 Bei Relationen den Timestamp abschneiden, mehr "endet IS NULL" 9 9 */ 10 10 … … 236 236 global $gemeinde, $blattgml, $epsg, $gfilter, $debug; 237 237 238 // SQL-Bausteine vorbereiten238 // SQL-Bausteine 239 239 // vorne gleich 240 240 $sql1 ="SELECT s1.laufendenummer AS lfd, s1.gml_id AS bsgml, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, "; … … 248 248 $sql1.="g.gemarkung, g.gemarkungsname FROM ax_buchungsstelle s1 "; 249 249 250 // 2 Varianten zwischen250 // zwischen, Variante 1. 251 251 $sqlz1="JOIN ax_flurstueck f ON f.istgebucht=substring(s1.gml_id,1,16) "; 252 253 $sqlz2 ="JOIN ax_buchungsstelle s2 ON substring(s2.gml_id,1,16)=ANY(s1.an) "; // nur an oder "an" und "zu" ? 254 // Test: SELECT * FROM ax_buchungsstelle WHERE NOT zu IS NULL; // keine Treffer fÃŒr "zu" 255 // $sqlz2 ="JOIN ax_buchungsstelle s2 ON (substring(s2.gml_id,1,16)=ANY(s1.an) OR substring(s2.gml_id,1,16)=ANY(s1.zu)) "; 256 $sqlz2.="JOIN ax_flurstueck f ON f.istgebucht=substring(s2.gml_id,1,16) "; 252 253 // zwischen, Variante 2. Nur an oder "an" und "zu"? 254 $sqlz2 ="JOIN ax_buchungsstelle s2 ON substring(s2.gml_id,1,16)=ANY(s1.an) 255 JOIN ax_flurstueck f ON f.istgebucht=substring(s2.gml_id,1,16) "; 257 256 258 257 // hinten gleich 259 $sql2.="JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung ";260 $sql2.="WHERE s1.istbestandteilvon = $1";258 $sql2.="JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung 259 WHERE s1.istbestandteilvon = $1 AND f.endet IS NULL AND s1.endet IS NULL "; 261 260 switch ($gfilter) { 262 261 case 1: // Einzelwert … … 265 264 $sql2.="AND g.gemeinde in ('".str_replace(",", "','", $gemeinde)."') "; break; 266 265 } 267 $sql2.="ORDER BY cast(s1.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner LIMIT $2 ;"; 268 269 // Abfrage: d i r e k t e B u c h u n g e n 270 // Blatt <vbg/istBestandteilVon< Buchungsstelle <vfb/istGebucht< FlurstÃŒck 271 #$sql=$sql1.$sqlz1.$sql2; // Direkte Buchungen 272 273 $v=array($blattgml, $linelimit); 274 $res=pg_prepare("", $sql1.$sqlz1.$sql2); 266 267 // WHERE-Zusatz bei 2 268 $sqlw2=" AND s2.endet IS NULL "; 269 270 $sqlord="ORDER BY cast(s1.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner LIMIT $2 ;"; 271 272 // d i r e k t e B u c h u n g e n 273 // Blatt <istBestandteilVon< Buchungsstelle <istGebucht< FlurstÃŒck 274 $v=array(substr($blattgml,0,16), $linelimit); // Rel. istBestandteilVon nur 16 Stellen 275 $res=pg_prepare("", $sql1.$sqlz1.$sql2.$sqlord); 275 276 $res=pg_execute("", $v); 276 277 if (!$res) { 277 278 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>";}279 if ($debug >= 3) {echo "\n<p class='err'>SQL='".$sql1.$sqlz1.$sql2.$sqlord."'<br>$1 = '".substr($blattgml,0,16)."'</p>";} 279 280 return; 280 281 } … … 308 309 if($zfs1 > 0) {echo "<hr>";} // Trennen 309 310 310 // Abfrage: R e c h t e a n / d i e n e n d e B u c h u n g e n311 // Rechte "an" (dienende Buchungen) 311 312 $v=array($blattgml, $linelimit); 312 $res=pg_prepare("", $sql1.$sqlz2.$sql2 );313 $res=pg_prepare("", $sql1.$sqlz2.$sql2.$sqlw2.$sqlord); 313 314 $res=pg_execute("", $v); 314 315 if (!$res) { 315 316 echo "\n<p class='err'>Fehler bei Recht an Buchung.</p>"; 316 #if ($debug >= 3) {echo "\n<p class='dbg'>".$sql1.$sqlz2.$sql2. "</p>";}317 #if ($debug >= 3) {echo "\n<p class='dbg'>".$sql1.$sqlz2.$sql2.$sqlw2.$sqlord."</p>";} 317 318 return; 318 319 } -
trunk/mapbender/http/nav/alkisnav_fls.php
r333 r334 10 10 2013-10-15 missing Parameter 11 11 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 12 2014-09-1 0 Bei Relationen den Timestamp abschneiden12 2014-09-15 Bei Relationen den Timestamp abschneiden, mehr "endet IS NULL" 13 13 */ 14 14 $cntget = extract($_GET); … … 236 236 default: break; 237 237 } 238 $sql.=" ORDER BY gemeindename LIMIT $1 ;";238 $sql.=" AND endet IS NULL ORDER BY gemeindename LIMIT $1 ;"; 239 239 $res=pg_prepare("", $sql); 240 240 $res=pg_execute("", array($linelimit)); … … 310 310 } 311 311 $sql ="SELECT g.gemeinde, g.gemarkung, g.gemarkungsname, s.gemeindename 312 FROM pp_gemarkung g JOIN pp_gemeinde s ON g.gemeinde=s.gemeinde 313 WHERE g.gemarkungsname ILIKE $1 "; 312 FROM pp_gemarkung g JOIN pp_gemeinde s ON g.gemeinde=s.gemeinde WHERE g.gemarkungsname ILIKE $1 "; 314 313 switch ($gfilter) { 315 314 case 1: // Einzelwert … … 356 355 // Ãbergeordnete Zeilen (Head) fÃŒr Gemeinde und Gemarkung ausgeben 357 356 // Parameter = Gemarkungsnummer 358 $sqlh ="SELECT g.gemarkungsname, s.gemeinde, s.gemeindename FROM pp_gemarkung g "; 359 $sqlh.="JOIN pp_gemeinde s ON g.gemeinde=s.gemeinde AND g.land=s.land "; 360 $sqlh.="WHERE g.gemarkung = $1 ;"; 357 $sqlh ="SELECT g.gemarkungsname, s.gemeinde, s.gemeindename FROM pp_gemarkung g 358 JOIN pp_gemeinde s ON g.gemeinde=s.gemeinde AND g.land=s.land WHERE g.gemarkung = $1 ;"; 361 359 $v=array($gkgnr); 362 360 $resh=pg_prepare("", $sqlh); … … 381 379 if ($AuchGemkZeile) {gg_head($zgemkg, true);} 382 380 // Body 383 $sql ="SELECT gemarkungsteilflur AS flur FROM ax_gemarkungsteilflur f ";384 $sql.="WHERE gemarkung= $1 AND endet IS NULL ORDER BY gemarkungsteilflur LIMIT $2 ;"; //WHERE f.land=?381 $sql ="SELECT gemarkungsteilflur AS flur FROM ax_gemarkungsteilflur f 382 WHERE gemarkung= $1 AND endet IS NULL ORDER BY gemarkungsteilflur LIMIT $2 ;"; 385 383 $v=array($zgemkg, $linelimit); 386 384 $res=pg_prepare("", $sql); … … 422 420 $sql.="st_y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y "; 423 421 } 424 $sql.="FROM ax_flurstueck f WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 AND endet IS NULL "; 425 $sql.="ORDER BY f.zaehler, f.nenner LIMIT $3 ;"; // WHERE f.land=?422 $sql.="FROM ax_flurstueck f WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 AND endet IS NULL 423 ORDER BY f.zaehler, f.nenner LIMIT $3 ;"; 426 424 $v=array($zgemkg, $zflur, $linelimit); 427 425 $res=pg_prepare("", $sql); -
trunk/mapbender/http/nav/alkisnav_grd.php
r333 r334 11 11 2013-12-12 Limit in EinBlatt von 200 weit hoch gesetzt (bis BlÀttern möglich wird) 12 12 2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 13 2014-09-1 0Bei Relationen den Timestamp abschneiden13 2014-09-15 Bei Relationen den Timestamp abschneiden 14 14 */ 15 15 $cntget = extract($_GET); … … 420 420 421 421 // Recht "an" (dienende Buchungen und ihre Flurst.) 422 $sql =$sqlanf.", sd.gml_id AS diengml, sd.laufendenummer AS dienlfd, "; // Stelle dienend 423 $sql.="bd.gml_id AS dienbltgml, bd.buchungsblattnummermitbuchstabenerweiterung AS dienblatt, "; // Blatt dienend 424 $sql.="gd.stelle, gd.gml_id AS dienbezgml, gd.bezirk, gd.bezeichnung AS diengbbez "; // AG und Bezirk dazu 425 $sql.="FROM ax_buchungsstelle sh "; // herrschend 426 $sql.="JOIN ax_buchungsstelle sd ON substring(sd.gml_id,1,16)=ANY(sh.an) "; // dienend 427 $sql.="JOIN ax_flurstueck f ON f.istgebucht=substring(sd.gml_id,1,16) "; 428 $sql.="JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung "; 429 $sql.="JOIN ax_buchungsblatt bd ON sd.istbestandteilvon=substring(bd.gml_id,1,16) "; // Blatt dienend 430 $sql.="JOIN ax_buchungsblattbezirk gd ON bd.land=gd.land AND bd.bezirk=gd.bezirk "; // GB-Bez. dienend 431 $sql.="WHERE sh.gml_id = $1 AND sh.endet IS NULL AND sd.endet IS NULL AND f.endet IS NULL AND bd.endet IS NULL "; 432 $sql.=$sqlfilter."ORDER BY gd.bezeichnung, bd.buchungsblattnummermitbuchstabenerweiterung, cast(sd.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";422 $sql =$sqlanf.", sd.gml_id AS diengml, sd.laufendenummer AS dienlfd, 423 bd.gml_id AS dienbltgml, bd.buchungsblattnummermitbuchstabenerweiterung AS dienblatt, 424 gd.stelle, gd.gml_id AS dienbezgml, gd.bezirk, gd.bezeichnung AS diengbbez 425 FROM ax_buchungsstelle sh 426 JOIN ax_buchungsstelle sd ON substring(sd.gml_id,1,16)=ANY(sh.an) 427 JOIN ax_flurstueck f ON f.istgebucht=substring(sd.gml_id,1,16) 428 JOIN pp_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkung 429 JOIN ax_buchungsblatt bd ON sd.istbestandteilvon=substring(bd.gml_id,1,16) 430 JOIN ax_buchungsblattbezirk gd ON bd.land=gd.land AND bd.bezirk=gd.bezirk 431 WHERE sh.gml_id = $1 AND sh.endet IS NULL AND sd.endet IS NULL AND f.endet IS NULL AND bd.endet IS NULL AND gd.endet IS NULL " 432 .$sqlfilter."ORDER BY gd.bezeichnung, bd.buchungsblattnummermitbuchstabenerweiterung, cast(sd.laufendenummer AS integer), f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 433 433 434 434 $v=array($buchunggml);
Note: See TracChangeset
for help on using the changeset viewer.