Changeset 425 for trunk/info/info/alkisn/alkisfsnw.php
- Timestamp:
- 12/30/21 17:49:00 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkisn/alkisfsnw.php
r422 r425 6 6 7 7 Version: 8 2016-02-24 Version f uer norGIS-ALKIS-Import8 2016-02-24 Version fÃŒr norGIS-ALKIS-Import 9 9 ..... 10 10 2020-02-20 Authentifizierung ausgelagert in Function darf_ich() … … 14 14 2020-12-16 Input-Validation und Strict Comparisation (===) 15 15 2021-03-09 Link zum GebÀudenachweis auch mit "Bauwerke" betiteln 16 2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÀche) 16 17 17 18 ToDo: 19 - Tabbelle "nutz_21" ist ein Relikt von NorGIS/ALB und könnte in spÀteren Versionen fehlen. 18 20 - Buchung auf "fiktives Blatt" ist nur mit debug zu sehen: die <tr> in .css grau hinterlegen 19 21 - "Umschalter" (gleiches Modul) anders darstellen als Links zu ANDEREN Nachweisen … … 69 71 <?php 70 72 $erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 73 $dbg=$debug; // CONF in Arbeits-Variable 71 74 72 75 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. Blendet z.B. "fiktives Blatt" aus. 73 // Manuell an die URL anfÃŒgen, wirkt nurtemporÀr und wird nicht in Links weiter gereicht.74 if ($nodebug === "j") {$d ebug=0;}76 // Wirkt temporÀr und wird nicht in Links weiter gereicht. 77 if ($nodebug === "j") {$dbg=0;} 75 78 76 79 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisfsnw.php'"); … … 99 102 to_char(cast(f.zeitpunktderentstehung AS date),'DD.MM.YYYY') AS zeitpunktderentstehung, f.istgebucht, g.gemarkungsnummer, g.bezeichnung, r.bezeichnung AS rbez, k.bezeichnung AS kbez, m.bezeichnung AS mbez 100 103 FROM ax_flurstueck f 101 LEFT JOIN ax_gemarkung g ON f.gemeindezugehoerigkeit_land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 102 LEFT JOIN ax_regierungsbezirk r ON f.gemeindezugehoerigkeit_regierungsbezirk=r.regierungsbezirk 103 LEFT JOIN ax_kreisregion k ON f.gemeindezugehoerigkeit_regierungsbezirk=k.regierungsbezirk AND f.gemeindezugehoerigkeit_kreis=k.kreis 104 LEFT JOIN ax_gemeinde m ON m.regierungsbezirk=f.gemeindezugehoerigkeit_regierungsbezirk AND m.kreis=f.gemeindezugehoerigkeit_kreis AND m.gemeinde=f.gemeindezugehoerigkeit_gemeinde 105 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;";104 LEFT JOIN ax_gemarkung g ON f.gemeindezugehoerigkeit_land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ".UnqKatAmt("f","g") 105 ."LEFT JOIN ax_regierungsbezirk r ON f.gemeindezugehoerigkeit_regierungsbezirk=r.regierungsbezirk ".UnqKatAmt("f","r") 106 ."LEFT JOIN ax_kreisregion k ON f.gemeindezugehoerigkeit_regierungsbezirk=k.regierungsbezirk AND f.gemeindezugehoerigkeit_kreis=k.kreis ".UnqKatAmt("f","k") 107 ."LEFT JOIN ax_gemeinde m ON m.regierungsbezirk=f.gemeindezugehoerigkeit_regierungsbezirk AND m.kreis=f.gemeindezugehoerigkeit_kreis AND m.gemeinde=f.gemeindezugehoerigkeit_gemeinde ".UnqKatAmt("f","m") 108 ."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;"; 106 109 107 110 $v = array($gmlid); // mit gml_id suchen … … 110 113 if (!$res) { 111 114 echo "\n<p class='err'>Fehler bei Flurstuecksdaten</p>"; 112 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$gmlid."'",$sql), ENT_QUOTES, "UTF-8")."</p>";} 115 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$gmlid."'",$sql), ENT_QUOTES, "UTF-8")."</p>";} 116 } 117 if ($dbg > 0) { 118 $zeianz=pg_num_rows($res); 119 if ($zeianz > 1){ 120 echo "\n<p class='err'>Die Abfrage liefert mehr als ein (".$zeianz.") Flurstücks-Objekt!</p>"; 121 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$gmlid."'",$sql), ENT_QUOTES, "UTF-8")."</p>";} 122 } 113 123 } 114 124 if ($row = pg_fetch_assoc($res)) { … … 137 147 } else { 138 148 echo "\n<p class='err'>Fehler! Kein Treffer für Flurstück mit gml_id=".$gmlid."</p>"; 139 if ($d ebug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$gmlid."'",$sql), ENT_QUOTES, "UTF-8")."</p>";}149 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$gmlid."'",$sql), ENT_QUOTES, "UTF-8")."</p>";} 140 150 echo "\n</body>\n</html>"; 141 151 return; … … 155 165 if ( ($filtkreis != '' and $filtkreis != $kreis) or ($filtgem != '' and $filtgem != $gemeinde) ) { 156 166 // Einer der gesetzten Filter passt nicht 157 if ($d ebug > 2) { //++ Schönes Bild? Stop-Zeichen?167 if ($dbg > 2) { //++ Schönes Bild? Stop-Zeichen? 158 168 echo "\n<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>" 159 169 ."\n<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; … … 180 190 181 191 echo "\n<hr>\n<table class='fs'>"; // FS-Teil 6 Spalten 182 echo "\n<tr>\n\t \t<td></td>\n\t\t<td></td>\n\t\t<td></td>\n\t\t<td></td>\n\t\t<td></td>" // 1-5 in erster Zeile kein "colspan" verwenden183 ."\n\t \t<td>\n\t\t<p class='nwlink noprint'>weitere Auskunft:</p></td>" // 6192 echo "\n<tr>\n\t<td></td>\n\t<td></td>\n\t<td></td>\n\t<td></td>\n\t<td></td>" // 1-5 in erster Zeile kein "colspan" verwenden 193 ."\n\t<td><p class='nwlink noprint'>weitere Auskunft:</p></td>" 184 194 ."\n</tr>"; 185 195 186 196 echo "\n<tr>" // Zeile: G e b i e t s z u g e h o e r i g k e i t Gemeinde / Kreis / Regierungsbezirk 187 ."\n\t<td class='ll'><img title='Im Gebiet von' src='ico/Gemeinde.png' width='16' height='16' alt=''> Gebiet:</td>" // 1188 ."\n\t<td>Gemeinde<br>Kreis<br>Regierungsbezirk</td>" // 2197 ."\n\t<td class='ll'><img title='Im Gebiet von' src='ico/Gemeinde.png' width='16' height='16' alt=''> Gebiet:</td>" 198 ."\n\t<td>Gemeinde<br>Kreis<br>Regierungsbezirk</td>" 189 199 ."\n\t<td class='lr' colspan='3'>"; // 3-5 190 200 if ($showkey) {echo "<span class='key'>(".$gemeinde.")</span> ";} … … 195 205 echo $rbez 196 206 ."</td>" 197 ."\n\t<td class='nwlink'>" // 5 198 ."\n\t\t<p class='nwlink noprint'>" 207 ."\n\t<td class='nwlink'>"; 208 if ($fsHistorie){ // conf 209 echo "\n\t\t<p class='nwlink noprint'>" 199 210 ."\n\t\t\t<a href='alkisfshist.php?gkz=".$gkz."&gmlid=".$gmlid; 200 211 if ($showkey) {echo "&showkey=j";} … … 202 213 ."<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>" 203 214 ."</a>" 204 ."\n\t\t</p>" 205 ."\n\t</td>" // 6 215 ."\n\t\t</p>\n\t"; 216 } 217 echo "</td>" 206 218 ."\n</tr>"; 207 219 … … 222 234 if (!$res) { 223 235 echo "\n<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer</p>"; 224 if ($d ebug > 1) {236 if ($dbg > 1) { 225 237 echo "\n<p class='dbg'>Fehler:".pg_last_error()."</p>"; 226 if ($d ebug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$gmlid."'",$sql), ENT_QUOTES, "UTF-8")."</p>";}238 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$gmlid."'",$sql), ENT_QUOTES, "UTF-8")."</p>";} 227 239 } 228 240 } else { … … 281 293 if (!$res) { 282 294 echo "\n<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer</p>"; 283 //if ($d ebug > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($res)."</p>";}284 if ($d ebug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."</p>";}295 //if ($dbg > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($res)."</p>";} 296 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."</p>";} 285 297 } 286 298 $j=0; … … 353 365 if (!$res) { 354 366 echo "\n<p class='err'>Fehler bei Suche tats. Nutzung</p>"; 355 if ($d ebug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$fskennzalb."'",$sql), ENT_QUOTES, "UTF-8")."'</p>";}367 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$fskennzalb."'",$sql), ENT_QUOTES, "UTF-8")."'</p>";} 356 368 } 357 369 $j=0; … … 513 525 514 526 // Gemeinsame FlÀche suchen: entweder (ST_Intersects and not ST_Touches) oder (2xST_Within OR ST_Overlaps), ST_Intersects liefert auch angrenzende 515 $sql_boden ="SELECT b.artderfestlegung AS wert, a.beschreibung AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez,527 $sql_boden ="SELECT b.artderfestlegung AS wert, a.beschreibung AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez, 516 528 b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key 517 529 FROM ax_flurstueck f 518 530 JOIN ax_bauraumoderbodenordnungsrecht b ON ST_Within(b.wkb_geometry, f.wkb_geometry) OR ST_Within(f.wkb_geometry, b.wkb_geometry) OR ST_Overlaps(b.wkb_geometry, f.wkb_geometry) 519 531 LEFT JOIN ax_artderfestlegung_bauraumoderbodenordnungsrecht a ON b.artderfestlegung=a.wert 520 LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle 521 WHERE f.gml_id = $1 AND f.endet IS NULL AND b.endet IS NULL AND d.endet IS NULL";532 LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle ".UnqKatAmt("b","d") 533 ."WHERE f.gml_id = $1 AND f.endet IS NULL AND b.endet IS NULL AND d.endet IS NULL"; 522 534 523 535 pg_prepare($con, "bodeneuordnung", $sql_boden); … … 525 537 if (!$res_bodeneuordnung) { 526 538 echo "\n<p class='err'>Fehler bei Bau-, Raum- oder Bodenordnungsrecht</p>"; 527 if ($d ebug > 2) {echo "\n<p class='dbg'>SQL=<br>".str_replace("$1", "'".$gmlid."'", $sql_boden)."</p>";}539 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".str_replace("$1", "'".$gmlid."'", $sql_boden)."</p>";} 528 540 } 529 541 $sql_str="SELECT gml_id FROM ax_besondereflurstuecksgrenze WHERE endet IS NULL AND 1000 = ANY(artderflurstuecksgrenze) … … 534 546 if (!$res_strittigeGrenze) { 535 547 echo "\n<p class='err'>Fehler bei strittige Grenze</p>"; 536 if ($d ebug > 2) {echo "\n<p class='dbg'>SQL=<br>".str_replace("$1", "'".$gmlid."'", $sql_str)."</p>";}548 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".str_replace("$1", "'".$gmlid."'", $sql_str)."</p>";} 537 549 } 538 550 if (pg_num_rows($res_bodeneuordnung) > 0 OR pg_num_rows($res_strittigeGrenze) > 0) { … … 609 621 $anzber=ber_bs_zaehl($gml_buchungsstelle); // Anzahl berechtigte Buchungen (nÀchste Stufe) zu dieser Buchung ermitteln 610 622 $verf_next = array($gml_buchungsstelle); // Start Recursion mit einem Element 611 //if ($d ebug > 1) {echo "<p class='dbg'>Nach Stufe ".$stufe.", Anzahl: ". $anzber ."</p>";}623 //if ($dbg > 1) {echo "<p class='dbg'>Nach Stufe ".$stufe.", Anzahl: ". $anzber ."</p>";} 612 624 613 625 while ($anzber > 0 ) { // Stufe - recursiv in die Tiefe, solange es was zu verfolgen gibt … … 621 633 $verf_neu=ber_bs_anzg($gml_ber_bs, $eig, false, $gmlid, ""); // Anzeige ber. Buchungst., ggf. mit EigentÃŒmer. 622 634 $anz_neu=count($verf_neu); // Das Ergebnis zÀhlen 623 // if ($d ebug > 2) {echo "<p class='dbg'>Weiter zu verfolgen: Stufe ".$stufe.", Element ".$i.", Anzahl: ".$anz_neu."</p>";}635 // if ($dbg > 2) {echo "<p class='dbg'>Weiter zu verfolgen: Stufe ".$stufe.", Element ".$i.", Anzahl: ".$anz_neu."</p>";} 624 636 if ($anz_neu > 0) { // wenn neue geliefert 625 637 $verf_next=array_merge($verf_next, $verf_neu); // die neuen an die Sammlung heften … … 628 640 } // Ende Buchungs-Array in der Stufe 629 641 $anzber=count($verf_next); // Sammlung auf Stufe zÀhlen, Steuert die Schleife. 630 //if ($debug > 1) {echo "<p class='dbg'>Nach Stufe ".$stufe.", Anzahl: ". $anzber ."</p>";}631 642 } // Ende Stufe 632 643 633 644 echo "\n</table>\n\n"; 634 //if ($debug > 1) {echo "<p class='dbg'>Buchung gezeigt = ".$gezeigt."</p>";}635 645 636 646 // Fehler aus "ModellschwÀche" erkennen. … … 641 651 echo "<p class='err'>Das Grundbuch zur Buchung '".$gml_buchungsstelle."' fehlt in der Datenbank.</p>"; 642 652 643 if ($d ebug > 1) { // fehlt die Buchung??653 if ($dbg > 1) { // fehlt die Buchung?? 644 654 echo "<p class='dbg'>Suchen mit SQL: SELECT * FROM ax_buchungsstelle WHERE gml_id='".$gml_buchungsstelle."'; </p>"; 645 655 } … … 651 661 652 662 pg_close($con); 653 echo <<<END 654 <div class='buttonbereich noprint'> 655 <hr> 656 <a title="zurück" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zurück"></a> 657 <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a> 658 END; 659 echo "\n\t<a title='Export als CSV' href='javascript:ALKISexport(\"" . $gmlid . "\")'><img src='ico/download_fs.png' width='32' height='16' alt='Export'></a> \n</div>"; 663 echo "<div class='buttonbereich noprint'>\n<hr>" 664 ."\n\t<a title='zurück' href='javascript:history.back()'><img src='ico/zurueck.png' width='16' height='16' alt='zurück'></a> "; 665 if ($PrntBtn==true){echo "\n\t<a title='Drucken' href='javascript:window.print()'><img src='ico/print.png' width='16' height='16' alt='Drucken'></a> ";} 666 echo "\n\t<a title='Export als CSV' href='javascript:ALKISexport(\"".$gmlid."\")'><img src='ico/download_fs.png' width='32' height='16' alt='Export'></a> \n</div>"; 660 667 661 668 footer($gmlid, selbstverlinkung()."?", "&eig=".$eig);
Note: See TracChangeset
for help on using the changeset viewer.