Ignore:
Timestamp:
12/30/21 17:49:00 (2 years ago)
Author:
frank.jaeger
Message:

Web-GIS-Auskunft und Mapbender2-Navigation: neue Konfigurations-Parameter und verbessertes Grundbuch-Modul

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/info/info/alkisn/alkishaus.php

    r422 r425  
    44 
    55        Version: 
    6         2016-02-24 Version fuer norGIS-ALKIS-Import 
     6        2016-02-24 Version fÃŒr norGIS-ALKIS-Import 
    77        .... 
    88        2020-12-01 Darstellung der Datenerhebung, Klammern um SchlÃŒsselwerte 
     
    1010        2020-12-03 function selbstverlinkung() statt $_SERVER['PHP_SELF'] 
    1111        2020-12-15 Input-Validation und Strict Comparisation (===) 
     12        2021-12-09 Neue Parameter: $katAmtMix (Kataster-Amt-Mix), $PrntBtn (Drucken-SchaltflÀche). Gemeinde in Adresse 
     13 
    1214ToDo: 
    1315        - Template im WMS auf Ebene GebÀude hierhin verknÃŒpfen. 
     
    5355 
    5456$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 
     57$dbg=$debug; // CONF in Arbeits-Variable 
    5558 
    5659// Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
    57 // Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 
    58 if ($nodebug === "j") {$debug=0;}  
     60// Wirkt temporÀr und wird nicht in Links weiter gereicht. 
     61if ($nodebug === "j") {$dbg=0;}  
    5962 
    6063$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkishaus.php'"); 
     
    8386if (!$resg) { 
    8487        echo "\n<p class='err'>Fehler bei Geb&auml;ude.<br>".pg_last_error()."</p>"; 
    85         if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlg."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     88        if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlg."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     89} 
     90if ($dbg > 0) { 
     91        $zeianz=pg_num_rows($resg); 
     92        if ($zeianz > 1){ 
     93                echo "\n<p class='err'>Die Abfrage liefert mehr als ein (".$zeianz.") Geb&auml;ude-Objekt!</p>"; 
     94                if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities(str_replace("$1","'".$gmlid."'",$sqlg), ENT_QUOTES, "UTF-8")."</p>";} 
     95        } 
    8696} 
    8797 
     
    164174 
    165175// HAUPTgebÀude 
    166 $sqll ="SELECT 'm' AS ltyp, lh.gml_id AS gmllag, sh.lage, sh.bezeichnung, lh.hausnummer, '' AS laufendenummer FROM ax_gebaeude gh 
     176$sqll ="SELECT 'm' AS ltyp, lh.gml_id AS gmllag, sh.lage, sh.bezeichnung, lh.hausnummer, '' AS laufendenummer, ph.bezeichnung AS gemeinde 
     177FROM ax_gebaeude gh 
    167178JOIN ax_lagebezeichnungmithausnummer lh ON lh.gml_id=ANY(gh.zeigtauf) 
    168 JOIN ax_lagebezeichnungkatalogeintrag sh ON lh.kreis=sh.kreis AND lh.gemeinde=sh.gemeinde AND lh.lage=sh.lage 
    169 WHERE gh.gml_id= $1 AND gh.endet IS NULL AND lh.endet IS NULL AND sh.endet IS NULL"; 
     179JOIN ax_lagebezeichnungkatalogeintrag sh ON lh.kreis=sh.kreis AND lh.gemeinde=sh.gemeinde AND lh.lage=sh.lage  
     180LEFT JOIN ax_gemeinde ph ON lh.land=ph.land AND lh.regierungsbezirk=ph.regierungsbezirk AND lh.kreis=ph.kreis AND lh.gemeinde=ph.gemeinde ".UnqKatAmt("lh","ph") 
     181."WHERE gh.gml_id= $1 AND gh.endet IS NULL AND lh.endet IS NULL AND sh.endet IS NULL"; 
     182 
    170183// oder NEBENgebÀude 
    171184$sqll.=" UNION  
    172 SELECT 'p' AS ltyp, ln.gml_id AS gmllag, sn.lage, sn.bezeichnung, ln.pseudonummer AS hausnummer, ln.laufendenummer 
     185SELECT 'p' AS ltyp, ln.gml_id AS gmllag, sn.lage, sn.bezeichnung, ln.pseudonummer AS hausnummer, ln.laufendenummer, pn.bezeichnung AS gemeinde 
    173186FROM ax_gebaeude gn 
    174187JOIN ax_lagebezeichnungmitpseudonummer ln ON ln.gml_id=gn.hat 
    175 JOIN ax_lagebezeichnungkatalogeintrag sn ON ln.kreis=sn.kreis AND ln.gemeinde=sn.gemeinde AND ln.lage=sn.lage 
    176 WHERE gn.gml_id= $1 AND gn.endet IS NULL AND ln.endet IS NULL AND sn.endet IS NULL "; 
     188JOIN ax_lagebezeichnungkatalogeintrag sn ON ln.kreis=sn.kreis AND ln.gemeinde=sn.gemeinde AND ln.lage=sn.lage  
     189LEFT JOIN ax_gemeinde pn ON ln.land=pn.land AND ln.regierungsbezirk=pn.regierungsbezirk AND ln.kreis=pn.kreis AND ln.gemeinde=pn.gemeinde ".UnqKatAmt("ln","pn") 
     190."WHERE gn.gml_id= $1 AND gn.endet IS NULL AND ln.endet IS NULL AND sn.endet IS NULL "; 
    177191 
    178192$sqll.="ORDER BY bezeichnung, hausnummer ;"; 
     
    183197if (!$resl) { 
    184198        echo "\n<p class='err'>Fehler bei Lage mit HsNr.</p>"; 
    185         if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqll."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     199        if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqll."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    186200} 
    187201$zhsnr=0; 
     
    193207        $hsnr=$rowl["hausnummer"]; 
    194208        $hlfd=$rowl["laufendenummer"]; 
     209        $gemeinde=$rowl["gemeinde"]; 
    195210        $gmllag=$rowl["gmllag"]; 
    196211 
     
    206221                echo "'>".$snam."&nbsp;".$hsnr; 
    207222                if ($ltyp === "p") {echo ", lfd.Nr ".$hlfd;} 
    208         echo "</a><br>"; 
     223        echo "</a>, ".$gemeinde."<br>"; 
    209224} // Ende Loop Lagezeilen m.H. 
    210225if ($zhsnr > 0) {echo "\n\t</td>\n\t<td>&nbsp;</td>\n</tr>";} 
     
    324339                        if (!$resw) { 
    325340                                echo "\n<p class='err'>Fehler bei Geb&auml;ude - weitere Funktion.</p>"; 
    326                                 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgf."'</p>";} 
     341                                if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgf."'</p>";} 
    327342                        } 
    328343                        $zw=0; 
     
    433448if (!$rese) { 
    434449        echo "\n<p class='err'>Fehler bei Datenerhebung.<br>".pg_last_error()."</p>"; 
    435         if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqle."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     450        if ($dbg > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqle."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    436451} 
    437452while($rowe = pg_fetch_assoc($rese)) { // Schleife weil array-Feld, meist aber leer 
     
    469484$sqlf ="SELECT f.gml_id, round(st_area(ST_Intersection(g.wkb_geometry,f.wkb_geometry))::numeric,2) AS schnittflae,  
    470485st_within(g.wkb_geometry,f.wkb_geometry) as drin, o.gemarkungsnummer, o.bezeichnung, f.flurnummer, f.zaehler, f.nenner  
    471 FROM ax_gebaeude g, ax_flurstueck f LEFT JOIN ax_gemarkung o ON f.land=o.land AND f.gemarkungsnummer=o.gemarkungsnummer 
    472 WHERE g.gml_id= $1 AND f.endet IS NULL and g.endet IS NULL  
     486FROM ax_gebaeude g, ax_flurstueck f LEFT JOIN ax_gemarkung o ON f.land=o.land AND f.gemarkungsnummer=o.gemarkungsnummer ".UnqKatAmt("f","o") 
     487."WHERE g.gml_id= $1 AND f.endet IS NULL and g.endet IS NULL  
    473488AND st_intersects(g.wkb_geometry,f.wkb_geometry) = true ORDER BY schnittflae DESC;"; 
    474489 
     
    478493if (!$resf) { 
    479494        echo "\n<p class='err'>Fehler bei FS-Verschneidung.</p>"; 
    480         if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sqlf."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     495        if ($dbg > 2) {echo "\n<p class='err'>SQL=<br>".$sqlf."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    481496} 
    482497 
     
    535550echo "\n<tr>\n\t<td class='fla sum'>".$gfla."</td>\n\t<td>Geb&auml;udefl&auml;che</td>\n\t<td></td>\n</tr>"; 
    536551echo "\n</table>"; // Ende FlurstÃŒcke 
     552 
     553echo "<div class='buttonbereich noprint'>\n<hr>" 
     554        ."\n\t<a title='zur&uuml;ck' href='javascript:history.back()'><img src='ico/zurueck.png' width='16' height='16' alt='zur&uuml;ck'></a>&nbsp;"; 
     555if ($PrntBtn==true){echo "\n\t<a title='Drucken' href='javascript:window.print()'><img src='ico/print.png' width='16' height='16' alt='Drucken'></a>&nbsp;";} 
     556echo "\n</div>"; 
     557 
     558footer($gmlid, selbstverlinkung()."?", ""); 
    537559?> 
    538  
    539 <div class='buttonbereich noprint'> 
    540 <hr> 
    541         <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
    542         <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
    543 </div> 
    544  
    545 <?php footer($gmlid, selbstverlinkung()."?", ""); ?> 
    546  
    547560</body> 
    548561</html> 
Note: See TracChangeset for help on using the changeset viewer.