Changeset 425 for trunk/info/info/alkisn/alkisbaurecht.php
- Timestamp:
- 12/30/21 17:49:00 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkisn/alkisbaurecht.php
r422 r425 4 4 5 5 Version: 6 2016-02-24 Version f uer norGIS-ALKIS-Import6 2016-02-24 Version fÃŒr norGIS-ALKIS-Import 7 7 .... 8 8 2020-02-20 Authentifizierung ausgelagert in Function darf_ich() 9 9 2020-12-03 function selbstverlinkung() statt $_SERVER['PHP_SELF'] 10 10 2020-12-15 Input-Validation und Strict Comparisation (===) 11 2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÀche) 11 12 */ 12 13 ini_set("session.cookie_httponly", 1); … … 48 49 $erlaubnis = darf_ich(); if ($erlaubnis === 0) {die('<p class="stop1">Abbruch</p></body>');} 49 50 51 $dbg=$debug; // CONF in Arbeits-Variable 50 52 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 51 // Manuell an die URL anfÃŒgen, wirkt nurtemporÀr und wird nicht in Links weiter gereicht.52 if ($nodebug === "j") {$d ebug=0;}53 // Wirkt temporÀr und wird nicht in Links weiter gereicht. 54 if ($nodebug === "j") {$dbg=0;} 53 55 54 56 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbaurecht.php'"); … … 60 62 FROM ax_bauraumoderbodenordnungsrecht r 61 63 LEFT JOIN ax_artderfestlegung_bauraumoderbodenordnungsrecht a ON r.artderfestlegung = a.wert 62 LEFT JOIN ax_dienststelle d ON r.land=d.land AND r.stelle=d.stelle 63 LEFT JOIN ax_behoerde wd ON d.stellenart = wd.wert64 LEFT JOIN ax_dienststelle d ON r.land=d.land AND r.stelle=d.stelle ".UnqKatAmt("r","d") 65 ."LEFT JOIN ax_behoerde wd ON d.stellenart = wd.wert 64 66 WHERE r.gml_id= $1 AND r.endet IS NULL AND d.endet IS NULL;"; 65 67 … … 69 71 if (!$res) { 70 72 echo "\n<p class='err'>Fehler bei Baurecht.</p>"; 71 if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."</p>";} 73 if ($dbg > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."</p>";} 74 } 75 if ($dbg > 0) { 76 $zeianz=pg_num_rows($res); 77 if ($zeianz > 1){ 78 echo "\n<p class='err'>Die Abfrage liefert mehr als ein (".$zeianz.") Baurecht-Objekt!</p>"; 79 if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$gmlid."'",$sql), ENT_QUOTES, "UTF-8")."</p>";} 80 } 72 81 } 73 82 if ($row = pg_fetch_assoc($res)) { … … 80 89 $behd=$row["dokumentation"]; 81 90 82 // Balken 83 echo "<p class='balken recht'>ALKIS Bau-, Raum- oder Bodenordnungsrecht ".$artfest."-".$verfnr." </p>"; 84 91 echo "<p class='balken recht'>ALKIS Bau-, Raum- oder Bodenordnungsrecht ".$artfest."-".$verfnr." </p>"; // Balken 85 92 echo "\n<h2><img src='ico/Gericht.png' width='16' height='16' alt=''> Bau-, Raum- oder Bodenordnungsrecht</h2>"; 86 87 93 echo "\n<table>" 88 94 ."\n<tr>" … … 133 139 ."\n<p>Ermittelt durch geometrische Verschneidung. Nach Größe absteigend.</p>"; 134 140 135 $sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, round(st_area(ST_Intersection(r.wkb_geometry,f.wkb_geometry))::numeric,1) AS schnittflae 136 FROM ax_flurstueck f, ax_bauraumoderbodenordnungsrecht r 141 $sql ="SELECT f.gml_id, g.bezeichnung, f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, round(st_area(ST_Intersection(r.wkb_geometry,f.wkb_geometry))::numeric,1) AS schnittflae 142 FROM ax_flurstueck f 143 JOIN ax_gemarkung g ON f.gemeindezugehoerigkeit_land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ".UnqKatAmt("f","g") 144 ."JOIN ax_bauraumoderbodenordnungsrecht r 145 ON st_intersects(r.wkb_geometry,f.wkb_geometry) = true AND st_area(st_intersection(r.wkb_geometry,f.wkb_geometry)) > 0.05 137 146 WHERE r.gml_id= $1 AND f.endet IS NULL AND r.endet IS NULL "; 138 if ($filtgem === '' ) { // ungefiltert147 if ($filtgem === '' ) { 139 148 $v=array($gmlid); 140 149 } else { … … 142 151 $v=array($gmlid, $filtkreis, $filtgem); 143 152 } 144 $sql.="AND st_intersects(r.wkb_geometry,f.wkb_geometry) = true 145 AND st_area(st_intersection(r.wkb_geometry,f.wkb_geometry)) > 0.05 146 ORDER BY schnittflae DESC LIMIT 100;"; 153 $sql.="ORDER BY schnittflae DESC LIMIT 100;"; 147 154 // > 0.0 ist gemeint, Ungenauigkeit durch st_simplify 148 // Limit: Flurbereinig. kann gro sswerden!155 // Limit: Flurbereinig. kann groà werden! 149 156 // Trotz Limit lange Antwortzeit, wegen OrderBy -> intersection 150 157 … … 153 160 if (!$res) { 154 161 echo "\n<p class='err'>Keine Flurstücke ermittelt.<br></p>"; 155 //if ($d ebug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."</p>";} // ggf. mehrere Parameter!162 //if ($dbg > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."</p>";} // ggf. mehrere Parameter! 156 163 } 157 164 158 165 echo "\n<table class='fs'>" 159 166 ."\n<tr>" 160 ."\n\t<td class='head' title='Flur- und Flurstücksnummer'>Flurstück</td>" 167 ."\n\t<td class='head' title='Gemarkung'>Gemarkung</td>" 168 ."\n\t<td class='head' title='Flurnummer'>Flur</td>" 169 ."\n\t<td class='head' title='Flurstücksnummer Zähler / Nenner'>Flurstück</td>" 161 170 ."\n\t<td class='heads fla' title='geometrische Schnittfläche'><img src='ico/sort.png' width='10' height='10' alt='' title='Sortierung'>Fläche</td>" 162 171 ."\n\t<td class='head fla' title='amtliche Flurstücksfläche, Buchfläche'>von</td>" … … 167 176 while($row = pg_fetch_assoc($res)) { 168 177 $fscnt++; 178 $gmkgnr=$row["gemarkungsnummer"]; 179 $gemarkung=$row["bezeichnung"]; 180 $nen=$row["nenner"]; 169 181 echo "\n<tr>" 170 ."\n\t<td>".$row["flurnummer"]."-<span class='wichtig'>".$row["zaehler"]; 171 $nen=$row["nenner"]; 182 ."\n\t<td>"; 183 if ($showkey) {echo "<span class='key'>(".$gmkgnr.")</span> ";} 184 echo $gemarkung."</td>" 185 ."\n\t<td>".$row["flurnummer"]."</td>" 186 ."\n\t<td><span class='wichtig'>".$row["zaehler"]; 172 187 if ($nen != "") {echo "/".$nen;} 173 188 echo "</span></td>" … … 189 204 } else { // Wahrscheinliche Ursache = Filter 190 205 echo "\n<p class='err'>Kein Flurstück im berechtigten Bereich.</p>"; 191 // if ($d ebug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = ".$gmlid." $2 = ".$filtkreis." $3 = ".$filtgem."</p>";}206 // if ($dbg > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = ".$gmlid." $2 = ".$filtkreis." $3 = ".$filtgem."</p>";} 192 207 } 193 208 } elseif ($fscnt === 100) { … … 196 211 197 212 pg_close($con); 198 echo <<<END 199 200 <div class='buttonbereich noprint'> 201 <hr> 202 <a title="zurück" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zurück" /></a> 203 <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken" /></a> 204 </div> 205 END; 213 echo " 214 <div class='buttonbereich noprint'>\n<hr>" 215 ."\n\t<a title='zurück' href='javascript:history.back()'><img src='ico/zurueck.png' width='16' height='16' alt='zurück' /></a> "; 216 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> ";} 217 echo "\n</div>"; 206 218 207 219 footer($gmlid, selbstverlinkung()."?", ""); 208 209 220 ?> 210 221
Note: See TracChangeset
for help on using the changeset viewer.