Ignore:
Timestamp:
06/24/21 15:59:16 (3 years ago)
Author:
frank.jaeger
Message:

Aktualisierungen der ALKIS-Buchauskunft, neues Modul für Bauwerke, Härtung

File:
1 edited

Legend:

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

    r412 r422  
    55        Version: 
    66        2016-02-24 Version fuer norGIS-ALKIS-Import 
    7         2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
    8         2016-12-05 Array-Behandlung ax_gebaeude.name 
    9         2017-06-08 Validierung Eingabeparameter, Feinkorrekturen 
    10         2017-06-09 Tool-Tip GebÀudefunktion, ErklÀrung 2 getrennte p.Styles 
    11         2017-10-09 Sauber filtern auf endet IS NULL 
    12         2018-04-23 &nodebug 
    13         2018-11-09 Umstellung Full-Schema 
    14  
    15         ToDo: 
    16         - Die im Modul 'Lage' als Tooltip vorhandene lange Beschreibung der GebÀude-Funktion (Inhalt) hier auch anzeigen. 
    17         - sinnvolle Sortierung und Gruppierung der Felder 
    18         - geometrische Suche nach FS, auf denen das Haus steht 
     7        .... 
     8        2020-12-01 Darstellung der Datenerhebung, Klammern um SchlÃŒsselwerte 
     9        2020-12-02 Verschnitt GebÀude / FlurstÃŒcke 
     10        2020-12-03 function selbstverlinkung() statt $_SERVER['PHP_SELF'] 
     11        2020-12-15 Input-Validation und Strict Comparisation (===) 
     12ToDo: 
    1913        - Template im WMS auf Ebene GebÀude hierhin verknÃŒpfen. 
    20         - Relationen abbilden: 
    21                 ax_gebaeude >gehoertZu> ax_gebaeude  (ringförmige Verbindung GebÀudekomplex) 
    22                 ax_gebaeude (umschliesst) ax_bauteil 
    23                 ax_gebaeude >gehoert> ax_person (Ausnahme) 
    2414*/ 
     15ini_set("session.cookie_httponly", 1); 
    2516session_start(); 
    2617$allfld = "n"; $showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren 
     
    2819 
    2920// strikte Validierung aller Parameter 
    30 if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 
    31 if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     21if (isset($gmlid)) { 
     22        if (!preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} 
     23} else { 
     24        die("Fehlender Parameter"); 
     25} 
     26if (isset($gkz)) { 
     27        if (!preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 
     28} else { 
     29        die("Fehlender Parameter"); 
     30} 
    3231if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 
    33 if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 
     32if ($showkey === "j") {$showkey=true;} else {$showkey=false;} 
    3433if (!preg_match('#^[j|n]{0,1}$#', $allfld)) {die ("Eingabefehler allfld");} 
    35 if ($allfld == "j") {$allefelder=true;} else {$allefelder=false;} 
     34if ($allfld === "j") {$allefelder=true;} else {$allefelder=false;} 
    3635if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 
    3736 
    38 require_once("alkis_conf_location.php"); 
    39 if ($auth == "mapbender") {require_once($mapbender);} 
    40 include("alkisfkt.php"); 
     37include "alkis_conf_location.php"; 
     38include "alkisfkt.php"; 
     39 
    4140echo <<<END 
    4241<!doctype html> 
     
    5251<body> 
    5352END; 
     53 
     54$erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('<p class="stop1">Abbruch</p></body>'); } 
     55 
    5456// Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 
    5557// Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 
    56 if ($nodebug == "j") {$debug=0;}  
     58if ($nodebug === "j") {$debug=0;}  
    5759 
    5860$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkishaus.php'"); 
     
    8587 
    8688// Balken 
    87 echo "\n<p class='geb'>ALKIS Haus ".$gmlid."&nbsp;</p>"; // ++ Kennzeichen? 
    88 echo "\n<h2><img src='ico/Haus.png' width='16' height='16' alt=''> Haus (Geb&auml;ude)</h2>"; 
    89  
    90 // Kennzeichen in Rahmen  
    91 // - Welches Kennzeichen zum Haus ? 
    92 echo "\n<hr>"; 
    93 // Umschalter: auch leere Felder ausgeben? 
    94 echo "<p class='nwlink noprint'>"; 
    95 echo "Umschalten: <a class='nwlink' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;gmlid=".$gmlid; 
     89echo "\n<p class='balken geb'>ALKIS Haus ".$gmlid."&nbsp;</p>"; 
     90echo "\n<h2><img src='ico/Haus.png' width='16' height='16' alt=''> Haus (Geb&auml;ude)</h2>\n<hr>"; 
     91 
     92echo "<p class='nwlink noprint'>"; // Umschalter: auch leere Felder 
     93echo "Umschalten: <a class='nwlink' href='".selbstverlinkung()."?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    9694        if ($showkey) {echo "&amp;showkey=j";} else {echo "&amp;showkey=n";} 
    9795        if ($allefelder) { 
     
    102100echo "</a></p>"; 
    103101 
    104 $gebnr = 0; 
    105  
    106 while($rowg = pg_fetch_assoc($resg)) { // Schleife, kann aber nur EIN Haus sein. 
    107         $gebnr++; 
    108         echo "\n<table class='geb'>" 
    109         ."\n<tr>\n" 
    110                 ."\n\t<td class='head' title=''>Attribut</td>" 
    111                 ."\n\t<td class='head mittelspalte' title=''>Wert</td>" 
    112                 ."\n\t<td class='head' title=''>" 
    113                         ."\n\t\t<p class='erklk'>Erkl&auml;rung Kategorie</p>" 
    114                         ."\n\t\t<p class='erkli'>Erkl&auml;rung Inhalt</p>" 
    115                 ."\n\t</td>" 
    116         ."\n</tr>"; 
    117  
    118         $aog=$rowg["aog"]; 
    119         $aug=$rowg["aug"]; 
    120         $hoh=$rowg["hochhaus"]; 
    121         $nam=trim(trim($rowg["name"], "{}"), '"'); // Gebaeude-Name ist ein Array in der DB: '{"A","B"}' 
    122         // Mehrfachbelegung nur theoretisch. Entklammern reicht. Mal mit und mal ohne "" drum !? 
    123         /* SELECT name FROM ax_gebaeude WHERE NOT name IS NULL AND array_length(name, 1) > 1; */ 
    124         $kfunk=$rowg["gebaeudefunktion"]; 
    125         $bfunk=$rowg["bfunk"]; 
    126         $dfunk=$rowg["dfunk"]; 
    127  
    128         $baw=$rowg["bauweise"]; 
    129         $bbauw=$rowg["bbauw"]; 
    130         $dbauw=$rowg["dbauw"]; 
    131  
    132         $ofl=$rowg["lagezurerdoberflaeche"]; 
    133         $oflv=$rowg["oflv"]; 
    134         $ofld=$rowg["ofld"]; 
    135  
    136         $dga=$rowg["dachgeschossausbau"]; // Key 
    137         $dgav=$rowg["dgaus"]; // Value 
    138  
    139         $zus=$rowg["zustand"]; // Key 
    140         $zusv=$rowg["zustandv"]; // Value 
    141         $zusd=$rowg["zustandd"]; // Description 
    142  
    143         $wgf=$rowg["wgf"]; // Array-> kommagetrennte Liste 
    144  
    145         $daf=$rowg["dachform"]; // Key 
    146         $dach=$rowg["bdach"]; // Value 
    147  
    148         $hho=$rowg["objekthoehe"]; 
    149         $gfl=$rowg["geschossflaeche"]; 
    150         $grf=$rowg["grundflaeche"]; 
    151         $ura=$rowg["umbauterraum"]; 
    152         $bja=$rowg["baujahr"]; 
    153         $daa=$rowg["dachart"]; 
    154 //      $qag=$rowg["qualitaetsangaben"]; 
    155  
    156         if (($nam != "") OR $allefelder) { 
     102if (!($rowg = pg_fetch_assoc($resg))) { 
     103        echo "\n<p class='err'><br>Kein Geb&auml;ude gefunden</p>"; 
     104        die ("Abbruch"); 
     105} 
     106 
     107echo "\n<table class='geb'>" 
     108."\n<tr>\n" 
     109        ."\n\t<td class='head' title=''>Attribut</td>" 
     110        ."\n\t<td class='head mittelspalte' title=''>Wert</td>" 
     111        ."\n\t<td class='head' title=''>" 
     112                ."\n\t\t<p class='erklk'>Erkl&auml;rung Kategorie</p>" 
     113                ."\n\t\t<p class='erkli'>Erkl&auml;rung Inhalt</p>" 
     114        ."\n\t</td>" 
     115."\n</tr>"; 
     116 
     117$aog=$rowg["aog"]; 
     118$aug=$rowg["aug"]; 
     119$hoh=$rowg["hochhaus"]; 
     120$nam=trim(trim($rowg["name"], "{}"), '"'); // Gebaeude-Name ist ein Array. 
     121// Mehrfachbelegung theoretisch. Entklammern reicht. Mal mit und mal ohne "" drum. 
     122$kfunk=$rowg["gebaeudefunktion"]; 
     123$bfunk=$rowg["bfunk"]; 
     124$dfunk=$rowg["dfunk"]; 
     125 
     126$baw=$rowg["bauweise"]; 
     127$bbauw=$rowg["bbauw"]; 
     128$dbauw=$rowg["dbauw"]; 
     129 
     130$ofl=$rowg["lagezurerdoberflaeche"]; 
     131$oflv=$rowg["oflv"]; 
     132$ofld=$rowg["ofld"]; 
     133 
     134$dga=$rowg["dachgeschossausbau"]; // Key 
     135$dgav=$rowg["dgaus"];           // Value 
     136 
     137$zus=$rowg["zustand"];          // Key 
     138$zusv=$rowg["zustandv"];        // Value 
     139$zusd=$rowg["zustandd"];        // Description 
     140 
     141$wgf=$rowg["wgf"];                      // Array-> kommagetr. Liste 
     142 
     143$daf=$rowg["dachform"];         // Key 
     144$dach=$rowg["bdach"];           // Value 
     145 
     146$hho=$rowg["objekthoehe"]; 
     147$gfl=$rowg["geschossflaeche"]; 
     148$grf=$rowg["grundflaeche"]; 
     149$ura=$rowg["umbauterraum"]; 
     150$bja=$rowg["baujahr"]; 
     151$daa=$rowg["dachart"]; 
     152 
     153if (($nam != "") OR $allefelder) { 
     154        echo "\n<tr>" 
     155                ."\n\t<td class='li'>Name</td>" 
     156                ."\n\t<td>".$nam."</td>" 
     157                ."\n\t<td>" 
     158                        ."\n\t\t<p class='erklk'>'Name' ist der Eigenname oder die Bezeichnung des Geb&auml;udes." 
     159                ."\n\t</td>" 
     160        ."\n</tr>"; 
     161} 
     162 
     163// 0 bis N   L a g e bezeichnungen mit Haus- oder Pseudo-Nummer 
     164 
     165// 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 
     167JOIN ax_lagebezeichnungmithausnummer lh ON lh.gml_id=ANY(gh.zeigtauf) 
     168JOIN ax_lagebezeichnungkatalogeintrag sh ON lh.kreis=sh.kreis AND lh.gemeinde=sh.gemeinde AND lh.lage=sh.lage 
     169WHERE gh.gml_id= $1 AND gh.endet IS NULL AND lh.endet IS NULL AND sh.endet IS NULL"; 
     170// oder NEBENgebÀude 
     171$sqll.=" UNION  
     172SELECT 'p' AS ltyp, ln.gml_id AS gmllag, sn.lage, sn.bezeichnung, ln.pseudonummer AS hausnummer, ln.laufendenummer 
     173FROM ax_gebaeude gn 
     174JOIN ax_lagebezeichnungmitpseudonummer ln ON ln.gml_id=gn.hat 
     175JOIN ax_lagebezeichnungkatalogeintrag sn ON ln.kreis=sn.kreis AND ln.gemeinde=sn.gemeinde AND ln.lage=sn.lage 
     176WHERE gn.gml_id= $1 AND gn.endet IS NULL AND ln.endet IS NULL AND sn.endet IS NULL "; 
     177 
     178$sqll.="ORDER BY bezeichnung, hausnummer ;"; 
     179 
     180$v = array($gmlid); 
     181$resl = pg_prepare("", $sqll); 
     182$resl = pg_execute("", $v); 
     183if (!$resl) { 
     184        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>";} 
     186} 
     187$zhsnr=0; 
     188while($rowl = pg_fetch_assoc($resl)) { // LOOP: Lagezeilen 
     189        $zhsnr++; 
     190        $ltyp=$rowl["ltyp"]; // Lagezeilen-Typ 
     191        $skey=$rowl["lage"]; // Str.-Schluessel 
     192        $snam=htmlentities($rowl["bezeichnung"], ENT_QUOTES, "UTF-8"); // -Name 
     193        $hsnr=$rowl["hausnummer"]; 
     194        $hlfd=$rowl["laufendenummer"]; 
     195        $gmllag=$rowl["gmllag"]; 
     196 
     197        if ($zhsnr === 1) { 
    157198                echo "\n<tr>" 
    158                         ."\n\t<td class='li'>Name</td>" 
    159                         ."\n\t<td>".$nam."</td>" 
     199                        ."\n\t<td class='li' title='Lage mit Hausnummer oder Pseudonummer'>Adresse</td>" 
     200                        ."\n\t<td class='fett'>"; 
     201        } 
     202        echo "\n\t\t<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''>&nbsp;"; 
     203        if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";}                       
     204        echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp; 
     205                if ($showkey) {echo "&amp;showkey=j";} 
     206                echo "'>".$snam."&nbsp;".$hsnr; 
     207                if ($ltyp === "p") {echo ", lfd.Nr ".$hlfd;} 
     208        echo "</a><br>"; 
     209} // Ende Loop Lagezeilen m.H. 
     210if ($zhsnr > 0) {echo "\n\t</td>\n\t<td>&nbsp;</td>\n</tr>";} 
     211pg_free_result($resl); 
     212 
     213// GebÀudefunktion 
     214echo "\n<tr>" 
     215        ."\n\t<td class='li'>Geb&auml;udefunktion</td>" 
     216        ."\n\t<td class='fett'>"; 
     217        if ($showkey and $kfunk != '') {echo "<span class='key'>(".$kfunk.")</span>&nbsp;";} 
     218        echo $bfunk."</td>" 
     219        ."\n\t<td>" 
     220                ."\n\t\t<p class='erklk'>'Geb&auml;udefunktion' ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Geb&auml;udes'</p>" 
     221                ."\n\t\t<p class='erkli'>".$dfunk."</p>" 
     222        ."</td>" 
     223."\n</tr>"; 
     224 
     225// Bauweise 
     226if ($baw != "" OR $allefelder) { 
     227        echo "\n<tr>" 
     228                ."\n\t<td class='li'>Bauweise</td>" 
     229                ."\n\t<td class='fett'>"; 
     230                if ($showkey and $baw != '') {echo "<span class='key'>(".$baw.")</span>&nbsp;";} 
     231                echo $bbauw."</td>" 
     232                ."\n\t<td>" 
     233                        ."\n\t\t<p class='erklk'>'Bauweise' ist die Beschreibung der Art der Bauweise.</p>" 
     234                        ."\n\t\t<p class='erkli'>".$dbauw."</p>" 
     235                ."\n\t</td>" 
     236        ."\n</tr>"; 
     237} 
     238 
     239// Geschosse 
     240if ($aog != "" OR $allefelder) { 
     241        echo "\n<tr>" 
     242                ."\n\t<td class='li'>Geschosse</td>" 
     243                ."\n\t<td class='fett'>".$aog."</td>" 
     244                ."\n\t<td>" 
     245                        ."\n\t\t<p class='erklk'>Anzahl oberirdischer Geschosse.</p>" 
     246                ."\n\t</td>" 
     247        ."\n</tr>"; 
     248} 
     249 
     250// U-Geschosse 
     251if ($aug != "" OR $allefelder) { 
     252        echo "\n<tr>" 
     253                ."\n\t<td class='li'>U-Geschosse</td>" 
     254                . "\n\t<td class='fett'>".$aug."</td>" 
     255                ."\n\t<td>" 
     256                        ."\n\t\t<p class='erklk'>Anzahl unterirdischer Geschosse.</p>" 
     257                ."\n\t</td>" 
     258        ."\n</tr>"; 
     259} 
     260 
     261// Hochhaus 
     262if ($hoh != "" OR $allefelder) { 
     263        echo "\n<tr>" 
     264                ."\n\t<td class='li'>Hochhaus</td>" 
     265                ."\n\t<td class='fett'>".$hoh."</td>" 
     266                ."\n\t<td>" 
     267                        ."\n\t\t<p class='erklk'>'Hochhaus' ist ein Geb&auml;ude, das nach Geb&auml;udeh&ouml;he und Auspr&auml;gung als Hochhaus zu bezeichnen ist. F&uuml;r Geb&auml;ude im Geschossbau gilt dieses i.d.R. ab 8 oberirdischen Geschossen, f&uuml;r andere Geb&auml;ude ab einer Geb&auml;udeh&ouml;he von 22 m." 
     268                ."\n\t</td>" 
     269        ."\n</tr>"; 
     270} 
     271 
     272// Lage zur ErdoberflÀche 
     273if ($ofl != "" OR $allefelder) { 
     274        echo "\n<tr>" 
     275                ."\n\t<td class='li'>Lage zur Erdoberfl&auml;che</td>" 
     276                ."\n\t<td class='fett'>"; 
     277                if ($showkey and $ofl != '') {echo "<span class='key'>(".$ofl.")</span>&nbsp;";} 
     278                echo $oflv."</td>" 
     279                ."\n\t<td>" 
     280                        ."\n\t\t<p class='erklk'>'Lage zur Erdoberfl&auml;che' ist die Angabe der relativen Lage des Geb&auml;udes zur Erdoberfl&auml;che. Diese Attributart wird nur bei nicht ebenerdigen Geb&auml;uden gef&uuml;hrt.<br>" 
     281                        ."\n\t\t<p class='erkli'>".$ofld."</p>" 
     282                ."\n\t</td>" 
     283        ."\n</tr>"; 
     284} 
     285 
     286// Dachgeschossausbau, Spalte dokumentation ist immer leer 
     287if ($dga != "" OR $allefelder) { 
     288        echo "\n<tr>" 
     289                ."\n\t<td class='li'>Dachgeschossausbau</td>" 
     290                ."\n\t<td class='fett'>"; 
     291                if ($showkey and $dga != '') {echo "<span class='key'>(".$dga.")</span>&nbsp;";} 
     292                echo $dgav."</td>" 
     293                ."\n\t<td>" 
     294                        ."\n\t\t<p class='erklk'>'Dachgeschossausbau' ist ein Hinweis auf den Ausbau bzw. die Ausbauf&auml;higkeit des Dachgeschosses." 
     295                ."\n\t</td>" 
     296        ."\n</tr>"; 
     297} 
     298 
     299// Zustand 
     300if ($zus != "" OR $allefelder) { 
     301        echo "\n<tr>" 
     302                ."\n\t<td class='li'>Zustand</td>" 
     303                ."\n\t<td class='fett'>"; 
     304                if ($showkey and $zus != '') {echo "<span class='key'>(".$zus.")</span>&nbsp;";} 
     305                echo $zusv."</td>" 
     306                ."\n\t<td>" 
     307                        ."\n\t\t<p class='erklk'>'Zustand' beschreibt die Beschaffenheit oder die Betriebsbereitschaft von 'Geb&auml;ude'. Diese Attributart wird nur dann optional gef&uuml;hrt, wenn der Zustand des Geb&auml;udes vom nutzungsf&auml;higen Zustand abweicht.</p>" 
     308                        ."\n\t\t<p class='erkli'>".$zusd."</p>" 
     309                ."\n\t</td>" 
     310        ."\n</tr>"; 
     311} 
     312 
     313// Weitere GebÀudefunktionen 
     314// Suche Testfall: SELECT gml_id, gebaeudefunktion, weiteregebaeudefunktion FROM ax_gebaeude WHERE (NOT weiteregebaeudefunktion IS NULL) AND cardinality(weiteregebaeudefunktion) > 1 liMIT 10; 
     315if ($wgf != "" OR $allefelder) { // ... ist ein Array 
     316        echo "\n<tr>" 
     317                ."\n\t<td class='li'>Weitere Geb&auml;udefunktionen</td>" 
     318                ."\n\t<td>"; 
     319                if ($wgf != "") { // Kommagetrennte Liste aus Array 
     320                        $sqlw="SELECT wert, beschreibung, dokumentation FROM ax_gebaeudefunktion WHERE wert IN ( $1 ) ORDER BY wert;"; 
     321                        $v = array($wgf); 
     322                        $resw = pg_prepare("", $sqlw); 
     323                        $resw = pg_execute("", $v); 
     324                        if (!$resw) { 
     325                                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>";} 
     327                        } 
     328                        $zw=0; 
     329                        while($roww = pg_fetch_assoc($resw)) { // LOOP Funktion 
     330                                if ($zw > 0) {echo "<br>";} 
     331                                if ($showkey and $roww["wert"] != '') {echo "<span class='key'>(".$roww["wert"].")</span>&nbsp;";} 
     332                                echo "<span title='".$roww["dokumentation"]."'>".$roww["beschreibung"]."</span>"; 
     333                                $zw++; 
     334                   } 
     335                   pg_free_result($resw); 
     336                } 
     337                echo "</td>" 
     338                ."\n\t<td>" 
     339                        ."\n\t\t<p class='erklk'>'Weitere Geb&auml;udefunktion' ist die Funktion, die ein Geb&auml;ude neben der dominierenden Geb&auml;udefunktion hat." 
     340                ."\n\t</td>" 
     341        ."\n</tr>"; 
     342} 
     343 
     344// Dachform, Spalte dokumentation ist immer leer 
     345if ($daf != "" OR $allefelder) { 
     346        echo "\n<tr>" 
     347                ."\n\t<td class='li'>Dachform</td>" 
     348                ."\n\t<td class='fett'>"; 
     349                if ($showkey and $daf != '') {echo "<span class='key'>(".$daf.")</span>&nbsp;";} 
     350                echo $dach."</td>" 
     351                ."\n\t<td>" 
     352                        ."\n\t\t<p class='erklk'>'Dachform' beschreibt die charakteristische Form des Daches." 
     353                ."\n\t</td>" 
     354        ."\n</tr>"; 
     355} 
     356 
     357// Objekthöhe 
     358if ($hho != "" OR $allefelder) { 
     359        echo "\n<tr>" 
     360                ."\n\t<td class='li'>Objekth&ouml;he</td>" 
     361                ."\n\t<td class='fett'>".$hho."</td>" 
     362                ."\n\t<td>" 
     363                        ."\n\t\t<p class='erklk'>'Objekth&ouml;he' ist die H&ouml;hendifferenz in [m] zwischen dem h&ouml;chsten Punkt der Dachkonstruktion und der festgelegten Gel&auml;ndeoberfl&auml;che des Geb&auml;udes." 
     364                ."\n\t</td>" 
     365        ."\n</tr>"; 
     366} 
     367 
     368// GeschossflÀche 
     369if ($gfl != "" OR $allefelder) { 
     370        echo "\n<tr>" 
     371                ."\n\t<td class='li'>Geschossfl&auml;che</td>" 
     372                ."\n\t<td class='fett'>"; 
     373                if ($gfl != "") {echo $gfl." m&#178;";} 
     374                echo "</td>" 
     375                ."\n\t<td>" 
     376                        ."\n\t\t<p class='erklk'>'Geschossfl&auml;che' ist die Geb&auml;udegeschossfl&auml;che in [qm]." 
     377                ."\n\t</td>" 
     378        ."\n</tr>"; 
     379} 
     380 
     381// GrundflÀche 
     382if ($grf != "" OR $allefelder) { 
     383        echo "\n<tr>" 
     384                ."\n\t<td class='li'>Grundfl&auml;che</td>" 
     385                ."\n\t<td class='fett'>"; 
     386                if ($grf != "") {echo $grf." m&#178;";} 
     387                echo "\n\t<td>" 
     388                        ."\n\t\t<p class='erklk'>'Grundfl&auml;che' ist die Geb&auml;udegrundfl&auml;che in [qm]." 
     389                ."\n\t</td>" 
     390        ."\n</tr>"; 
     391} 
     392 
     393// Umbauter Raum 
     394if ($ura != "" OR $allefelder) { 
     395        echo "\n<tr>" 
     396                ."\n\t<td class='li'>Umbauter Raum</td>" 
     397                ."\n\t<td class='fett'>".$ura."</td>" 
     398                ."\n\t<td>" 
     399                        ."\n\t\t<p class='erklk'>'Umbauter Raum' ist der umbaute Raum [Kubikmeter] des Geb&auml;udes." 
     400                ."\n\t</td>" 
     401        ."\n</tr>"; 
     402} 
     403 
     404// Baujahr 
     405if ($bja != "" OR $allefelder) { 
     406        echo "\n<tr>" 
     407                ."\n\t<td class='li'>Baujahr</td>" 
     408                ."\n\t<td class='fett'>".$bja."</td>" 
     409                ."\n\t<td>" 
     410                        ."\n\t\t<p class='erklk'>'Baujahr' ist das Jahr der Fertigstellung oder der baulichen Ver&auml;nderung des Geb&auml;udes." 
     411                ."\n\t</td>" 
     412        ."\n</tr>"; 
     413} 
     414 
     415// Dachart 
     416if ($daa != "" OR $allefelder) { 
     417        echo "\n<tr>" 
     418                ."\n\t<td class='li'>Dachart</td>" 
     419                ."\n\t<td class='fett'>".$daa."</td>" 
     420                ."\n\t<td>" 
     421                        ."\n\t\t<p class='erklk'>'Dachart' gibt die Art der Dacheindeckung (z.B. Reetdach) an." 
     422                ."\n\t</td>" 
     423        ."\n</tr>"; 
     424} 
     425 
     426// D a t e n e r h e b u n g  (QualitÀt der Einmessung) 
     427$sqle ="SELECT g.gml_id, e.wert, e.beschreibung, e.dokumentation FROM ax_gebaeude g  
     428LEFT JOIN ax_datenerhebung e ON cast(e.wert AS varchar) = any(g.herkunft_source_source_ax_datenerhebung)  
     429WHERE g.gml_id= $1 AND g.endet IS NULL;"; 
     430$v = array($gmlid); 
     431$rese = pg_prepare("", $sqle); 
     432$rese = pg_execute("", $v); 
     433if (!$rese) { 
     434        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>";} 
     436} 
     437while($rowe = pg_fetch_assoc($rese)) { // Schleife weil array-Feld, meist aber leer 
     438        $erheb =$rowe["wert"]; 
     439        $berheb=$rowe["beschreibung"]; 
     440        $derheb=$rowe["dokumentation"]; // immer leer, oder 
     441        if ($derheb == '' AND $erheb != '') { // Wert ohne Doku 
     442                if ( $erheb >= 2000) { // selbst was dazu sagen 
     443                        $derheb = 'nicht eingemessenes Geb&auml;ude'; // so hieß das in der ALK 
     444                } 
     445        } 
     446        if ($erheb != "" OR $allefelder) { 
     447                echo "\n<tr>" 
     448                        ."\n\t<td class='li'>Datenerhebung</td>" 
     449                        ."\n\t<td class='fett'>"; 
     450                        if ($showkey) {echo "<span class='key'>(".$erheb.")</span>&nbsp;";} 
     451                        echo $berheb."</td>" 
    160452                        ."\n\t<td>" 
    161                                 ."\n\t\t<p class='erklk'>'Name' ist der Eigenname oder die Bezeichnung des Geb&auml;udes." 
    162                         ."\n\t</td>" 
     453                                ."\n\t\t<p class='erklk'>'Datenerhebung' beschreibt Qualit&auml;tsangaben, Herkunft.</p>" 
     454                                ."\n\t\t<p class='erkli'>".$derheb."</p>" 
     455                        ."</td>" 
    163456                ."\n</tr>"; 
    164457        } 
    165  
    166         // 0 bis N   L a g e bezeichnungen mit Haus- oder Pseudo-Nummer 
    167  
    168         // HAUPTgebÀude 
    169         $sqll ="SELECT 'm' AS ltyp, lh.gml_id AS gmllag, sh.lage, sh.bezeichnung, lh.hausnummer, '' AS laufendenummer FROM ax_gebaeude gh 
    170         JOIN ax_lagebezeichnungmithausnummer lh ON lh.gml_id=ANY(gh.zeigtauf) 
    171         JOIN ax_lagebezeichnungkatalogeintrag sh ON lh.kreis=sh.kreis AND lh.gemeinde=sh.gemeinde AND lh.lage=sh.lage 
    172         WHERE gh.gml_id= $1 AND gh.endet IS NULL AND lh.endet IS NULL AND sh.endet IS NULL"; 
    173         // oder NEBENgebÀude 
    174         $sqll.=" UNION  
    175         SELECT 'p' AS ltyp, ln.gml_id AS gmllag, sn.lage, sn.bezeichnung, ln.pseudonummer AS hausnummer, ln.laufendenummer 
    176         FROM ax_gebaeude gn 
    177         JOIN ax_lagebezeichnungmitpseudonummer ln ON ln.gml_id=gn.hat 
    178         JOIN ax_lagebezeichnungkatalogeintrag sn ON ln.kreis=sn.kreis AND ln.gemeinde=sn.gemeinde AND ln.lage=sn.lage 
    179         WHERE gn.gml_id= $1 AND gn.endet IS NULL AND ln.endet IS NULL AND sn.endet IS NULL "; 
    180  
    181         $sqll.="ORDER BY bezeichnung, hausnummer ;"; 
    182  
    183         $v = array($gmlid); 
    184         $resl = pg_prepare("", $sqll); 
    185         $resl = pg_execute("", $v); 
    186         if (!$resl) { 
    187                 echo "\n<p class='err'>Fehler bei Lage mit HsNr.</p>"; 
    188                 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqll."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     458} 
     459echo "\n</table>"; 
     460pg_free_result($rese); 
     461 
     462$gfla=$rowg["gebflae"]; // bei Flurstck. gebraucht 
     463pg_free_result($resg); 
     464 
     465echo "\n\n<h3><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;cke</h3>" 
     466."\n<p>.. auf dem das Geb&auml;ude steht. Ermittelt durch Verschneidung der Geometrie.</p>"; 
     467 
     468// F l u r s t ÃŒ c k 
     469$sqlf ="SELECT f.gml_id, round(st_area(ST_Intersection(g.wkb_geometry,f.wkb_geometry))::numeric,2) AS schnittflae,  
     470st_within(g.wkb_geometry,f.wkb_geometry) as drin, o.gemarkungsnummer, o.bezeichnung, f.flurnummer, f.zaehler, f.nenner  
     471FROM ax_gebaeude g, ax_flurstueck f LEFT JOIN ax_gemarkung o ON f.land=o.land AND f.gemarkungsnummer=o.gemarkungsnummer 
     472WHERE g.gml_id= $1 AND f.endet IS NULL and g.endet IS NULL  
     473AND st_intersects(g.wkb_geometry,f.wkb_geometry) = true ORDER BY schnittflae DESC;"; 
     474 
     475$v=array($gmlid); 
     476$resf=pg_prepare("", $sqlf); 
     477$resf=pg_execute("", $v); 
     478if (!$resf) { 
     479        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>";} 
     481} 
     482 
     483echo "\n<hr>\n<table class='geb'>" 
     484."\n<tr>" 
     485        ."\n\t<td class='heads fla' title='Schnittfl&auml;che zwischen Flurst&uuml;ck und Geb&auml;ude'><img src='ico/sortd.png' width='10' height='10' alt='' title='Sortierung (absteigend)'>Fl&auml;che</td>" 
     486        ."\n\t<td class='head' title='Verh&auml;ltnis Geb&auml;udefl&auml;che zur FlurstÃŒcksfl&auml;che'>Verh&auml;ltnis</td>" 
     487        ."\n\t<td class='head' title='Flurst&uuml;ckskennzeichen Ortsteil'>Gemarkung</td>" 
     488        ."\n\t<td class='head' title='Flurst&uuml;ckskennzeichen Flur-Nummer'>Flur</td>" 
     489        ."\n\t<td class='heads fsnr' title='Flurst&uuml;ckskennzeichen Flurst&uuml;cks-Nummer'>Flurst&uuml;ck</td>" 
     490        ."\n\t<td class='head nwlink' title='Flurst&uuml;cks-Nachweis'>weitere Auskunft</td>" 
     491."\n</tr>"; 
     492 
     493while($rowf = pg_fetch_assoc($resf)) { 
     494        $fgml=$rowf["gml_id"]; 
     495        $drin=$rowf["drin"]; 
     496        $schni=$rowf["schnittflae"]; 
     497        $flur= $rowf["flurnummer"]; 
     498        $fskenn=$rowf["zaehler"]; 
     499        if ($rowf["nenner"] != "") { $fskenn.="/".$rowf["nenner"];} 
     500 
     501        // 3 FÀlle: 
     502        if ($drin === "t") { // GebÀude liegt komplett in FlurstÃŒck 
     503                $gstyle="gin"; // siehe .css     
     504                $f1=number_format($schni,2,",",".") . " m&#178;"; 
     505                $f2="vollst&auml;ndig"; 
     506        } else { 
     507                if ($schni === "0.00") { // GebÀude angrenzend (Grenzbebauung) 
     508                        $gstyle="gan"; 
     509                        $f1="&nbsp;"; 
     510                        $f2="angrenzend"; 
     511                } else { // Teile des GebÀudes stehen auf dem FlurstÃŒck 
     512                        $gstyle="gtl"; 
     513                        $f1=number_format($schni,2,",",".") . " m&#178;"; 
     514                        $f2="teilweise"; 
     515                } 
    189516        } 
    190         $zhsnr=0; 
    191         while($rowl = pg_fetch_assoc($resl)) { // LOOP: Lagezeilen 
    192                 $zhsnr++; 
    193                 $ltyp=$rowl["ltyp"]; // Lagezeilen-Typ 
    194                 $skey=$rowl["lage"]; // Str.-Schluessel 
    195                 $snam=htmlentities($rowl["bezeichnung"], ENT_QUOTES, "UTF-8"); // -Name 
    196                 $hsnr=$rowl["hausnummer"]; 
    197                 $hlfd=$rowl["laufendenummer"]; 
    198                 $gmllag=$rowl["gmllag"]; 
    199  
    200                 if ($zhsnr == 1) { 
    201                         echo "\n<tr>" 
    202                                 ."\n\t<td class='li' title='Lage mit Hausnummer oder Pseudonummer'>Adresse</td>" 
    203                                 ."\n\t<td class='fett'>"; 
    204                 } 
    205                 echo "\n\t\t<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''>&nbsp;"; 
    206                 if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";}                       
    207                 echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp; 
    208                         if ($showkey) {echo "&amp;showkey=j";} 
    209                         echo "'>".$snam."&nbsp;".$hsnr; 
    210                         if ($ltyp == "p") {echo ", lfd.Nr ".$hlfd;} 
    211                 echo "</a><br>"; 
    212         } // Ende Loop Lagezeilen m.H. 
    213         if ($zhsnr > 0) {echo "\n\t</td>\n\t<td>&nbsp;</td>\n</tr>";} 
    214  
    215 // In der 3. Spalte: 
    216 // p.erklk = ErklÀrungen zur Kategorie 
    217 // p.erkli = .. zum Inhalt 
    218  
    219         // GebÀudefunktion 
    220         echo "\n<tr>" 
    221                 ."\n\t<td class='li'>Geb&auml;udefunktion</td>" 
    222                 ."\n\t<td class='fett'>"; 
    223                 if ($showkey) {echo "<span class='key'>".$kfunk."</span>&nbsp;";} 
    224                 echo $bfunk."</td>" 
    225                 ."\n\t<td>" 
    226                         ."\n\t\t<p class='erklk'>'Geb&auml;udefunktion' ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Geb&auml;udes'</p>" 
    227                         ."\n\t\t<p class='erkli'>".$dfunk."</p>" 
    228                 ."</td>" 
    229         ."\n</tr>"; 
    230  
    231         // Bauweise 
    232         if ($baw != "" OR $allefelder) { 
    233                 echo "\n<tr>" 
    234                         ."\n\t<td class='li'>Bauweise</td>" 
    235                         ."\n\t<td class='fett'>"; 
    236                         if ($showkey) {echo "<span class='key'>".$baw."</span>&nbsp;";} 
    237                         echo $bbauw."</td>" 
    238                         ."\n\t<td>" 
    239                                 ."\n\t\t<p class='erklk'>'Bauweise' ist die Beschreibung der Art der Bauweise.</p>" 
    240                                 ."\n\t\t<p class='erkli'>".$dbauw."</p>" 
    241                         ."\n\t</td>" 
    242                 ."\n</tr>"; 
    243         } 
    244  
    245         // Geschosse 
    246         if ($aog != "" OR $allefelder) { 
    247                 echo "\n<tr>" 
    248                         ."\n\t<td class='li'>Geschosse</td>" 
    249                         ."\n\t<td class='fett'>".$aog."</td>" 
    250                         ."\n\t<td>" 
    251                                 ."\n\t\t<p class='erklk'>Anzahl oberirdischer Geschosse.</p>" 
    252                         ."\n\t</td>" 
    253                 ."\n</tr>"; 
    254         } 
    255  
    256         // U-Geschosse 
    257         if ($aug != "" OR $allefelder) { 
    258                 echo "\n<tr>" 
    259                         ."\n\t<td class='li'>U-Geschosse</td>" 
    260                         . "\n\t<td class='fett'>".$aug."</td>" 
    261                         ."\n\t<td>" 
    262                                 ."\n\t\t<p class='erklk'>Anzahl unterirdischer Geschosse.</p>" 
    263                         ."\n\t</td>" 
    264                 ."\n</tr>"; 
    265         } 
    266  
    267         // Hochhaus 
    268         if ($hoh != "" OR $allefelder) { 
    269                 echo "\n<tr>" 
    270                         ."\n\t<td class='li'>Hochhaus</td>" 
    271                         ."\n\t<td class='fett'>".$hoh."</td>" 
    272                         ."\n\t<td>" 
    273                                 ."\n\t\t<p class='erklk'>'Hochhaus' ist ein Geb&auml;ude, das nach Geb&auml;udeh&ouml;he und Auspr&auml;gung als Hochhaus zu bezeichnen ist. F&uuml;r Geb&auml;ude im Geschossbau gilt dieses i.d.R. ab 8 oberirdischen Geschossen, f&uuml;r andere Geb&auml;ude ab einer Geb&auml;udeh&ouml;he von 22 m." 
    274                         ."\n\t</td>" 
    275                 ."\n</tr>"; 
    276         } 
    277  
    278         // Lage zur ErdoberflÀche 
    279         if ($ofl != "" OR $allefelder) { 
    280                 echo "\n<tr>" 
    281                         ."\n\t<td class='li'>Lage zur Erdoberfl&auml;che</td>" 
    282                         ."\n\t<td class='fett'>"; 
    283                         if ($showkey) {echo "<span class='key'>".$ofl."</span>&nbsp;";} 
    284                         echo $oflv."</td>" 
    285                         ."\n\t<td>" 
    286                                 ."\n\t\t<p class='erklk'>'Lage zur Erdoberfl&auml;che' ist die Angabe der relativen Lage des Geb&auml;udes zur Erdoberfl&auml;che. Diese Attributart wird nur bei nicht ebenerdigen Geb&auml;uden gef&uuml;hrt.<br>" 
    287                                 ."\n\t\t<p class='erkli'>".$ofld."</p>" 
    288                         ."\n\t</td>" 
    289                 ."\n</tr>"; 
    290         } 
    291  
    292         // Dachgeschossausbau, Spalte dokumentation ist immer leer 
    293         if ($dga != "" OR $allefelder) { 
    294                 echo "\n<tr>" 
    295                         ."\n\t<td class='li'>Dachgeschossausbau</td>" 
    296                         ."\n\t<td class='fett'>"; 
    297                         if ($showkey) {echo "<span class='key'>".$dga."</span>&nbsp;";} 
    298                         echo $dgav."</td>" 
    299                         ."\n\t<td>" 
    300                                 ."\n\t\t<p class='erklk'>'Dachgeschossausbau' ist ein Hinweis auf den Ausbau bzw. die Ausbauf&auml;higkeit des Dachgeschosses." 
    301                         ."\n\t</td>" 
    302                 ."\n</tr>"; 
    303         } 
    304  
    305         // Zustand 
    306         if ($zus != "" OR $allefelder) { 
    307                 echo "\n<tr>" 
    308                         ."\n\t<td class='li'>Zustand</td>" 
    309                         ."\n\t<td class='fett'>"; 
    310                         if ($showkey) {echo "<span class='key'>".$zus."</span>&nbsp;";} 
    311                         echo $zusv."</td>" 
    312                         ."\n\t<td>" 
    313                                 ."\n\t\t<p class='erklk'>'Zustand' beschreibt die Beschaffenheit oder die Betriebsbereitschaft von 'Geb&auml;ude'. Diese Attributart wird nur dann optional gef&uuml;hrt, wenn der Zustand des Geb&auml;udes vom nutzungsf&auml;higen Zustand abweicht.</p>" 
    314                                 ."\n\t\t<p class='erkli'>".$zusd."</p>" 
    315                         ."\n\t</td>" 
    316                 ."\n</tr>"; 
    317         } 
    318  
    319         // Weitere GebÀudefunktionen 
    320         // Suche Testfall: SELECT gml_id, gebaeudefunktion, weiteregebaeudefunktion FROM ax_gebaeude WHERE (NOT weiteregebaeudefunktion IS NULL) AND cardinality(weiteregebaeudefunktion) > 1 liMIT 10; 
    321         if ($wgf != "" OR $allefelder) { // ... ist ein Array 
    322                 echo "\n<tr>" 
    323                         ."\n\t<td class='li'>Weitere Geb&auml;udefunktionen</td>" 
    324                         ."\n\t<td>"; 
    325                         if ($wgf != "") { // Kommagetrennte Liste aus Array 
    326                                 $sqlw="SELECT wert, beschreibung, dokumentation FROM ax_gebaeudefunktion WHERE wert IN ( $1 ) ORDER BY wert;"; 
    327                                 $v = array($wgf); 
    328                                 $resw = pg_prepare("", $sqlw); 
    329                                 $resw = pg_execute("", $v); 
    330                                 if (!$resw) { 
    331                                         echo "\n<p class='err'>Fehler bei Geb&auml;ude - weitere Funktion.</p>"; 
    332                                         if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgf."'</p>";} 
    333                                 } 
    334                                 $zw=0; 
    335                                 while($roww = pg_fetch_assoc($resw)) { // LOOP Funktion 
    336                                         if ($zw > 0) {echo "<br>";} 
    337                                         if ($showkey) {echo "<span class='key'>".$roww["wert"]."</span>&nbsp;";} 
    338                                         echo "<span title='".$roww["dokumentation"]."'>".$roww["beschreibung"]."</span>"; 
    339                                         $zw++; 
    340                            } 
    341                         } 
    342                         echo "</td>" 
    343                         ."\n\t<td>" 
    344                                 ."\n\t\t<p class='erklk'>'Weitere Geb&auml;udefunktion' ist die Funktion, die ein Geb&auml;ude neben der dominierenden Geb&auml;udefunktion hat." 
    345                         ."\n\t</td>" 
    346                 ."\n</tr>"; 
    347         } 
    348  
    349         // Dachform, Spalte dokumentation ist immer leer 
    350         if ($daf != "" OR $allefelder) { 
    351                 echo "\n<tr>" 
    352                         ."\n\t<td class='li'>Dachform</td>" 
    353                         ."\n\t<td class='fett'>"; 
    354                         if ($showkey) {echo "<span class='key'>".$daf."</span>&nbsp;";} 
    355                         echo $dach."</td>" 
    356                         ."\n\t<td>" 
    357                                 ."\n\t\t<p class='erklk'>'Dachform' beschreibt die charakteristische Form des Daches." 
    358                         ."\n\t</td>" 
    359                 ."\n</tr>"; 
    360         } 
    361  
    362         // Objekthöhe 
    363         if ($hho != "" OR $allefelder) { 
    364                 echo "\n<tr>" 
    365                         ."\n\t<td class='li'>Objekth&ouml;he</td>" 
    366                         ."\n\t<td class='fett'>".$hho."</td>" 
    367                         ."\n\t<td>" 
    368                                 ."\n\t\t<p class='erklk'>'Objekth&ouml;he' ist die H&ouml;hendifferenz in [m] zwischen dem h&ouml;chsten Punkt der Dachkonstruktion und der festgelegten Gel&auml;ndeoberfl&auml;che des Geb&auml;udes." 
    369                         ."\n\t</td>" 
    370                 ."\n</tr>"; 
    371         } 
    372  
    373         // GeschossflÀche 
    374         if ($gfl != "" OR $allefelder) { 
    375                 echo "\n<tr>" 
    376                         ."\n\t<td class='li'>Geschossfl&auml;che</td>" 
    377                         ."\n\t<td class='fett'>"; 
    378                         if ($gfl != "") {echo $gfl." m&#178;";} 
    379                         echo "</td>" 
    380                         ."\n\t<td>" 
    381                                 ."\n\t\t<p class='erklk'>'Geschossfl&auml;che' ist die Geb&auml;udegeschossfl&auml;che in [qm]." 
    382                         ."\n\t</td>" 
    383                 ."\n</tr>"; 
    384         } 
    385  
    386         // GrundflÀche 
    387         if ($grf != "" OR $allefelder) { 
    388                 echo "\n<tr>" 
    389                         ."\n\t<td class='li'>Grundfl&auml;che</td>" 
    390                         ."\n\t<td class='fett'>"; 
    391                         if ($grf != "") {echo $grf." m&#178;";} 
    392                         echo "\n\t<td>" 
    393                                 ."\n\t\t<p class='erklk'>'Grundfl&auml;che' ist die Geb&auml;udegrundfl&auml;che in [qm]." 
    394                         ."\n\t</td>" 
    395                 ."\n</tr>"; 
    396         } 
    397  
    398         // Umbauter Raum 
    399         if ($ura != "" OR $allefelder) { 
    400                 echo "\n<tr>" 
    401                         ."\n\t<td class='li'>Umbauter Raum</td>" 
    402                         ."\n\t<td class='fett'>".$ura."</td>" 
    403                         ."\n\t<td>" 
    404                                 ."\n\t\t<p class='erklk'>'Umbauter Raum' ist der umbaute Raum [Kubikmeter] des Geb&auml;udes." 
    405                         ."\n\t</td>" 
    406                 ."\n</tr>"; 
    407         } 
    408  
    409         // Baujahr 
    410         if ($bja != "" OR $allefelder) { 
    411                 echo "\n<tr>" 
    412                         ."\n\t<td class='li'>Baujahr</td>" 
    413                         ."\n\t<td class='fett'>".$bja."</td>" 
    414                         ."\n\t<td>" 
    415                                 ."\n\t\t<p class='erklk'>'Baujahr' ist das Jahr der Fertigstellung oder der baulichen Ver&auml;nderung des Geb&auml;udes." 
    416                         ."\n\t</td>" 
    417                 ."\n</tr>"; 
    418         } 
    419  
    420         // Dachart 
    421         if ($daa != "" OR $allefelder) { 
    422                 echo "\n<tr>" 
    423                         ."\n\t<td class='li'>Dachart</td>" 
    424                         ."\n\t<td class='fett'>".$daa."</td>" 
    425                         ."\n\t<td>" 
    426                                 ."\n\t\t<p class='erklk'>'Dachart' gibt die Art der Dacheindeckung (z.B. Reetdach) an." 
    427                         ."\n\t</td>" 
    428                 ."\n</tr>"; 
    429         } 
    430  
    431         // QualitÀtsangaben 
    432 /*      if ($qag != "" OR $allefelder) { 
    433                 echo "\n<tr>" 
    434                         ."\n\t<td class='li'>Qualit&auml;tsangaben</td>" 
    435                         ."\n\t<td class='fett'>".$qag."</td>" 
    436                         ."\n\t<td>" 
    437                                 ."\n\t\t<p class='erklk'>Angaben zur Herkunft der Informationen (Erhebungsstelle). Die Information ist konform zu den Vorgaben aus ISO 19115 zu repr&auml;sentieren." 
    438                         ."\n\t</td>" 
    439                 ."\n</tr>"; 
    440         } */ 
    441         echo "\n</table>"; 
    442 } 
    443 if ($gebnr == 0) {echo "\n<p class='err'><br>Kein Geb&auml;ude gefunden<br>&nbsp;</p>";} 
    444  
    445 // ++ ToDo:  -Verschnitt mit FS?  -Ausgeben ax_georeferenziertegebaeudeadresse dazz, wenn gefÃŒllt. 
     517        echo "\n<tr>" 
     518                ."\n\t<td class='fla'>".$f1."</td>" 
     519                ."\n\t<td class='".$gstyle."'>".$f2."</td>"; 
     520        echo "\n\t<td>"; 
     521        if ($showkey) {echo "<span class='key'>(".$rowf["gemarkungsnummer"].")</span> ";} 
     522        echo $rowf["bezeichnung"]."</td>" 
     523        ."\n\t<td>".$flur."</td>" 
     524        ."\n\t<td class='fsnr'><span class='wichtig'>".$fskenn."</span></td>"; 
     525 
     526        echo "\n\t<td class='nwlink noprint'>" // Link FS 
     527                ."\n\t\t<a title='Flurst&uuml;ck' href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$fgml; 
     528                if ($showkey) {echo "&amp;showkey=j";} 
     529                echo "'>Flurst&uuml;ck&nbsp;<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>" 
     530                ."\n\t</td>" 
     531        ."\n</tr>"; 
     532} 
     533 
     534$gfla=number_format($gfla,2,",",".") . " m&#178;"; 
     535echo "\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>"; 
     536echo "\n</table>"; // Ende FlurstÃŒcke 
    446537?> 
    447538 
     
    452543</div> 
    453544 
    454 <?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?> 
     545<?php footer($gmlid, selbstverlinkung()."?", ""); ?> 
    455546 
    456547</body> 
Note: See TracChangeset for help on using the changeset viewer.