Ignore:
Timestamp:
12/01/16 12:43:03 (7 years ago)
Author:
frank.jaeger
Message:

Verbesserungen an der ALKIS-Buchauskunft (Geschwindigkeit, Fehlerkorrekturen, Mandantenfähigkeit) und an der Mapbender2-Navigation.

File:
1 edited

Legend:

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

    r372 r376  
    11<?php 
    2 /*      alkishaus.php - Daten zum ALKIS-GebÀude-Objekt 
     2/*      alkishaus.php - viele Daten zu EINEM ALKIS-GebÀude-Objekt 
    33        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 
    44 
    55        Version: 
    6         2011-11-30 NEU! Variante von alkisgebaeudenw: Aufruf fÃŒr EIN Haus, nicht fÃŒr ein FS 
    7         2011-01-31 ax_gebaeude.weiteregebaeudefunktion ist jetzt Array 
    8         2013-04-08 deprecated "import_request_variables" ersetzt 
    9         2014-09-03 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    10         2014-09-10 Bei Relationen den Timestamp abschneiden 
    11         2014-09-30 Umbenennung SchlÃŒsseltabellen (Prefix), RÃŒckbau substring(gml_id) 
    12         2015-12-09 Austausch .ico durch .png 
    13         2015-12-16 area -> st_area 
     6        2016-02-24 Version fuer norGIS-ALKIS-Import 
     7        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
    148 
    159        ToDo: 
     
    1711        - geometrische Suche nach FS, auf denen das Haus steht 
    1812        - Template im WMS auf Ebene GebÀude hierhin verknÃŒpfen. 
    19         - Auch diese Relationen abbilden: 
     13        - Relationen abbilden: 
    2014                ax_gebaeude >gehoertZu> ax_gebaeude  (ringförmige Verbindung GebÀudekomplex) 
    2115                ax_gebaeude (umschliesst) ax_bauteil 
    22                 ax_gebaeude >gehoert> ax_person  (Ausnahme) 
     16                ax_gebaeude >gehoert> ax_person (Ausnahme) 
    2317*/ 
    2418session_start(); 
     
    2923if ($auth == "mapbender") {require_once($mapbender);} 
    3024include("alkisfkt.php"); 
    31 if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    3225$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    3326if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    3427if ($allfld == "j") {$allefelder=true;} else {$allefelder=false;} 
    3528?> 
    36 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    37 <html> 
     29<!doctype html> 
     30<html lang="de"> 
    3831<head> 
    39         <meta name="author" content="b600352" > 
    40         <meta http-equiv="cache-control" content="no-cache"> 
    41         <meta http-equiv="pragma" content="no-cache"> 
    42         <meta http-equiv="expires" content="0"> 
    43         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     32        <meta charset="utf-8"> 
    4433        <title>ALKIS Daten zum Haus</title> 
    4534        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    4736        <style type='text/css' media='print'> 
    4837                .noprint {visibility: hidden;} 
     38                td.mittelspalte {width: 190px;} 
    4939        </style> 
    5040</head> 
     
    5242<?php 
    5343 
    54 $con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
     44$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkishaus.php'"); 
    5545if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
    5646 
    5747// G e b a e u d e 
     48 
    5849$sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, g.anzahlderoberirdischengeschosse AS aog, g.anzahlderunterirdischengeschosse AS aug,  
    59 g.lagezurerdoberflaeche, g.dachgeschossausbau, g.zustand, g.weiteregebaeudefunktion, g.dachform, g.hochhaus, g.objekthoehe, g.geschossflaeche, g.grundflaeche, g.umbauterraum, g.baujahr, g.dachart, g.qualitaetsangaben,  
    60 h.bauweise_beschreibung, u.bezeichner AS bfunk, z.bezeichner AS bzustand, "; // w.bezeichner AS bweitfunk, 
    61 $sqlg.="d.bezeichner AS bdach, round(st_area(g.wkb_geometry)::numeric,2) AS gebflae FROM ax_gebaeude g  
    62 LEFT JOIN v_geb_bauweise h ON g.bauweise=h.bauweise_id  
    63 LEFT JOIN v_geb_funktion u ON g.gebaeudefunktion=u.wert  
    64 LEFT JOIN v_geb_zustand z ON g.zustand=z.wert  
    65 LEFT JOIN v_geb_dachform d ON g.dachform=d.wert 
    66 WHERE g.gml_id= $1 AND g.endet IS NULL ;"; 
     50g.lagezurerdoberflaeche, g.dachgeschossausbau, g.zustand, array_to_string(g.weiteregebaeudefunktion, ',') AS wgf, g.dachform, g.hochhaus, g.objekthoehe, g.geschossflaeche, g.grundflaeche, g.umbauterraum, g.baujahr, g.dachart, g.qualitaetsangaben,  
     51h.v AS bbauw, h.d AS dbauw, u.v AS bfunk, u.d AS dfunk, z.v AS zustandv, z.d AS zustandd, d.v AS bdach, a.v AS dgaus, o.v AS oflv, o.d AS ofld, 
     52round(st_area(g.wkb_geometry)::numeric,2) AS gebflae 
     53FROM ax_gebaeude g  
     54LEFT JOIN alkis_wertearten h ON cast(g.bauweise AS character varying)=h.k AND h.element='ax_gebaeude' AND h.bezeichnung='bauweise' 
     55LEFT JOIN alkis_wertearten u ON cast(g.gebaeudefunktion AS character varying)=u.k AND u.element='ax_gebaeude' AND u.bezeichnung='gebaeudefunktion' 
     56LEFT JOIN alkis_wertearten z ON cast(g.zustand AS character varying)=z.k AND z.element='ax_gebaeude' AND z.bezeichnung='zustand' 
     57LEFT JOIN alkis_wertearten d ON cast(g.dachform AS character varying)=d.k AND d.element='ax_gebaeude' AND d.bezeichnung='dachform' 
     58LEFT JOIN alkis_wertearten a ON cast(g.dachgeschossausbau AS character varying)=a.k AND a.element='ax_gebaeude' AND a.bezeichnung='dachgeschossausbau' 
     59LEFT JOIN alkis_wertearten o ON cast(g.lagezurerdoberflaeche AS character varying)=o.k AND o.element='ax_gebaeude' AND o.bezeichnung='lagezurerdoberflaeche' 
     60WHERE g.gml_id= $1 AND g.endet IS NULL;"; 
    6761 
    6862$v = array($gmlid); 
     
    8175// Kennzeichen in Rahmen  
    8276// - Welches Kennzeichen zum Haus ? 
    83 if ($idanzeige) {linkgml($gkz, $gmlid, "Haus", "ax_gebaeude"); } 
    8477echo "\n<hr>"; 
    8578// Umschalter: auch leere Felder ausgeben? 
    8679echo "<p class='nwlink noprint'>"; 
    87 echo "<a class='nwlink' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;gmlid=".$gmlid; 
     80echo "Umschalten: <a class='nwlink' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    8881        if ($showkey) {echo "&amp;showkey=j";} else {echo "&amp;showkey=n";} 
    89         if ($idanzeige) {echo "&amp;id=j";} else {echo "&amp;id=n";} 
    90         if ($allefelder) {echo "&amp;allfld=n'>nur Felder mit Inhalt";}  
    91         else {echo "&amp;allfld=j'>auch leere Felder";} 
     82        if ($allefelder) { 
     83                echo "&amp;allfld=n'>nur Felder mit Inhalt"; 
     84        } else { 
     85                echo "&amp;allfld=j'>auch leere Felder"; 
     86        } 
    9287echo "</a></p>"; 
    9388 
     
    9691while($rowg = pg_fetch_array($resg)) { // Schleife, kann aber nur EIN Haus sein. 
    9792        $gebnr++; 
    98         echo "\n<table class='geb'>"; 
    99         echo "\n<tr>\n"; 
    100                 echo "\n\t<td class='head' title=''>Attribut</td>"; 
    101                 echo "\n\t<td class='head' title=''>Wert</td>"; 
    102         echo "\n</tr>"; 
     93        echo "\n<table class='geb'>" 
     94        ."\n<tr>\n" 
     95                ."\n\t<td class='head' title=''>Attribut</td>" 
     96                ."\n\t<td class='head mittelspalte' title=''>Wert</td>" 
     97                ."\n\t<td class='head' title=''>Erkl&auml;rung</td>" 
     98        ."\n</tr>"; 
    10399 
    104100        $aog=$rowg["aog"]; 
     
    106102        $hoh=$rowg["hochhaus"]; 
    107103        $nam=$rowg["name"]; // Gebaeude-Name 
     104 
     105        $kfunk=$rowg["gebaeudefunktion"]; 
    108106        $bfunk=$rowg["bfunk"]; 
     107        $dfunk=$rowg["dfunk"]; 
     108 
    109109        $baw=$rowg["bauweise"]; 
    110         $bbauw=$rowg["bauweise_beschreibung"]; 
     110        $bbauw=$rowg["bbauw"]; 
     111        $dbauw=$rowg["dbauw"]; 
     112 
    111113        $ofl=$rowg["lagezurerdoberflaeche"]; 
    112         $dga=$rowg["dachgeschossausbau"]; 
    113         $zus=$rowg["zustand"]; 
    114         $zustand=$rowg["bzustand"]; 
    115         $wgf=$rowg["weiteregebaeudefunktion"]; 
    116         $daf=$rowg["dachform"]; 
    117         $dach=$rowg["bdach"]; 
     114        $oflv=$rowg["oflv"]; 
     115        $ofld=$rowg["ofld"]; 
     116 
     117        $dga=$rowg["dachgeschossausbau"]; // Key 
     118        $dgav=$rowg["dgaus"]; // Value 
     119 
     120        $zus=$rowg["zustand"]; // Key 
     121        $zusv=$rowg["zustandv"]; // Value 
     122        $zusd=$rowg["zustandd"]; // Description 
     123 
     124        $wgf=$rowg["wgf"]; // Array-> kommagetrennte Liste 
     125 
     126        $daf=$rowg["dachform"]; // Key 
     127        $dach=$rowg["bdach"]; // Value 
     128 
    118129        $hho=$rowg["objekthoehe"]; 
    119130        $gfl=$rowg["geschossflaeche"]; 
     
    125136 
    126137        if (($nam != "") OR $allefelder) { 
    127                 echo "\n<tr>"; 
    128                         echo "\n\t<td title='\"Name\" ist der Eigenname oder die Bezeichnung des Geb&auml;udes.'>Name</td>"; 
    129                         echo "\n\t<td>"; 
    130                         echo $nam."</td>"; 
    131                 echo "\n</tr>"; 
    132         } 
    133  
    134         // 0 bis N Lagebezeichnungen mit Haus- oder Pseudo-Nummer 
     138                echo "\n<tr>" 
     139                        ."\n\t<td class='li'>Name</td>" 
     140                        ."\n\t<td>".$nam."</td>" 
     141                        ."\n\t<td class='erkl'>'Name' ist der Eigenname oder die Bezeichnung des Geb&auml;udes.</td>" 
     142                ."\n</tr>"; 
     143        } 
     144 
     145        // 0 bis N   L a g e bezeichnungen mit Haus- oder Pseudo-Nummer 
     146 
    135147        // HAUPTgebÀude 
    136         $sqll ="SELECT 'm' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer "; 
    137         $sqll.="FROM ax_gebaeude g "; 
    138         $sqll.="JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(g.zeigtauf) "; 
    139         $sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 
    140         $sqll.="WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL "; 
    141         $sqll.="UNION "; 
     148        $sqll ="SELECT 'm' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer FROM ax_gebaeude g 
     149        JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(g.zeigtauf) 
     150        JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage 
     151        WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL"; 
    142152        // oder NEBENgebÀude 
    143         $sqll.="SELECT 'p' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer "; 
    144         $sqll.="FROM ax_gebaeude g ";  
    145         $sqll.="JOIN ax_lagebezeichnungmitpseudonummer l ON l.gml_id=g.hat "; 
    146         $sqll.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; 
    147         $sqll.="WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL "; 
     153        $sqll.=" UNION  
     154        SELECT 'p' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer 
     155        FROM ax_gebaeude g 
     156        JOIN ax_lagebezeichnungmitpseudonummer l ON l.gml_id=g.hat 
     157        JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage 
     158        WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL "; 
    148159 
    149160        $sqll.="ORDER BY bezeichnung, hausnummer ;"; 
     
    166177                $gmllag=$rowl["gmllag"]; 
    167178 
    168                         if ($zhsnr == 1) { 
    169                                 echo "\n<tr>\n\t<td title='Lage mit Hausnummer oder Pseudonummer'>Adresse</td>"; 
    170                                 echo "\n\t<td>"; 
    171                         } 
    172                         echo "\n\t\t<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''>&nbsp;"; 
    173                         if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";} 
    174                         echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp; 
    175                                 if ($idanzeige) {echo "&amp;id=j";} 
    176                         echo "'>"; 
    177                                 echo $snam."&nbsp;".$hsnr; 
    178                                 if ($ltyp == "p") { echo ", lfd.Nr ".$hlfd;} 
    179                         echo "</a>"; 
    180                         if ($idanzeige) {linkgml($gkz, $gmllag, "Lage", ""); } 
    181                         echo "<br>"; 
     179                if ($zhsnr == 1) { 
     180                        echo "\n<tr>" 
     181                                ."\n\t<td class='li' title='Lage mit Hausnummer oder Pseudonummer'>Adresse</td>" 
     182                                ."\n\t<td class='fett'>"; 
     183                } 
     184                echo "\n\t\t<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''>&nbsp;"; 
     185                if ($showkey) {echo "<span class='key'>(".$skey.")</span>&nbsp;";}                       
     186                echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;gmlid=".$gmllag."&amp;ltyp=".$ltyp."'>" 
     187                        .$snam."&nbsp;".$hsnr; 
     188                        if ($ltyp == "p") {echo ", lfd.Nr ".$hlfd;} 
     189                echo "</a><br>"; 
    182190        } // Ende Loop Lagezeilen m.H. 
    183  
    184         if ($zhsnr > 0) { 
    185                 echo "\n\t</td>\n</tr>"; 
    186         } 
    187  
    188                 echo "\n<tr>"; 
    189                         echo "\n\t<td title='\"Geb&auml;udefunktion\" ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Geb&auml;udes'>Funktion</td>"; 
    190                         echo "\n\t<td>"; 
    191                         if ($showkey) {echo "<span class='key'>".$rowg["gebaeudefunktion"]."</span>&nbsp;";} 
    192                         echo $bfunk."</td>"; 
    193                 echo "\n</tr>"; 
    194  
     191        if ($zhsnr > 0) {echo "\n\t</td>\n\t<td>&nbsp;</td>\n</tr>";} 
     192 
     193        // GebÀudefunktion 
     194        echo "\n<tr>" 
     195                ."\n\t<td class='li'>Geb&auml;udefunktion</td>" 
     196                ."\n\t<td class='fett'>"; 
     197                if ($showkey) {echo "<span class='key'>".$kfunk."</span>&nbsp;";} 
     198                echo $bfunk."</td>" 
     199                ."\n\t<td class='erkl'>'Geb&auml;udefunktion' ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Geb&auml;udes'<br>".$dfunk."</td>" 
     200        ."\n</tr>"; 
     201 
     202        // Bauweise 
    195203        if ($baw != "" OR $allefelder) { 
    196                 echo "\n<tr>"; 
    197                         echo "\n\t<td title='\"Bauweise\" ist die Beschreibung der Art der Bauweise.'>Bauweise</td>"; 
    198                         echo "\n\t<td>"; 
     204                echo "\n<tr>" 
     205                        ."\n\t<td class='li'>Bauweise</td>" 
     206                        ."\n\t<td class='fett'>"; 
    199207                        if ($showkey) {echo "<span class='key'>".$baw."</span>&nbsp;";} 
    200                         echo $bbauw."</td>"; 
    201                 echo "\n</tr>"; 
    202         } 
    203  
     208                        echo $bbauw."</td>" 
     209                        ."\n\t<td class='erkl'>'Bauweise' ist die Beschreibung der Art der Bauweise.<br>".$dbauw."</td>" 
     210                ."\n</tr>"; 
     211        } 
     212 
     213        // Geschosse 
    204214        if ($aog != "" OR $allefelder) { 
    205                 echo "\n<tr>"; 
    206                         echo "\n\t<td title='Anzahl oberirdischer Geschosse'>Geschosse</td>"; 
    207                         echo "\n\t<td>".$aog."</td>"; 
    208                 echo "\n</tr>"; 
    209         } 
    210  
     215                echo "\n<tr>" 
     216                        ."\n\t<td class='li'>Geschosse</td>" 
     217                        ."\n\t<td class='fett'>".$aog."</td>" 
     218                        ."\n\t<td class='erkl'>Anzahl oberirdischer Geschosse</td>" 
     219                ."\n</tr>"; 
     220        } 
     221 
     222        // U-Geschosse 
    211223        if ($aug != "" OR $allefelder) { 
    212                 echo "\n<tr>"; 
    213                         echo "\n\t<td title='Anzahl unterirdischer Geschosse'>U-Geschosse</td>"; 
    214                         echo "\n\t<td>".$aug."</td>"; 
    215                 echo "\n</tr>"; 
    216         } 
    217  
     224                echo "\n<tr>" 
     225                        ."\n\t<td class='li'>U-Geschosse</td>" 
     226                        . "\n\t<td class='fett'>".$aug."</td>" 
     227                        ."\n\t<td class='erkl'>Anzahl unterirdischer Geschosse</td>" 
     228                ."\n</tr>"; 
     229        } 
     230 
     231        // Hochhaus 
    218232        if ($hoh != "" OR $allefelder) { 
    219                 echo "\n<tr>"; 
    220                         echo "\n\t<td title='\"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.'>Hochhaus</td>"; 
    221                         echo "\n\t<td>".$hoh."</td>"; 
    222                 echo "\n</tr>"; 
    223         } 
    224  
     233                echo "\n<tr>" 
     234                        ."\n\t<td class='li'>Hochhaus</td>" 
     235                        ."\n\t<td class='fett'>".$hoh."</td>" 
     236                        ."\n\t<td class='erkl'>'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.</td>" 
     237                ."\n</tr>"; 
     238        } 
     239 
     240        // Lage zur ErdoberflÀche 
    225241        if ($ofl != "" OR $allefelder) { 
    226                 echo "\n<tr>"; 
    227                         echo "\n\t<td title='\"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.'>Lage zur Erdoberfl&auml;che</td>"; 
    228                         echo "\n\t<td>"; 
     242                echo "\n<tr>" 
     243                        ."\n\t<td class='li'>Lage zur Erdoberfl&auml;che</td>" 
     244                        ."\n\t<td class='fett'>"; 
    229245                        if ($showkey) {echo "<span class='key'>".$ofl."</span>&nbsp;";} 
    230                         switch ($ofl) { 
    231                                 case 1200: echo "Unter der Erdoberfl&auml;che"; break; 
    232                                 // "Unter der Erdoberfl&auml;che" bedeutet, dass sich das Geb&auml;ude unter der Erdoberfl&auml;che befindet 
    233                                 case 1400: echo "Aufgest&auml;ndert"; break; 
    234                                 // "Aufgest&auml;ndert" bedeutet, dass ein Geb&auml;ude auf St&uuml;tzen steht 
    235                                 case "": echo "&nbsp;"; break; 
    236                                 default: echo "** Unbekannte Lage zur Erdoberfl&auml;che '".$ofl."' **"; break; 
    237                         } 
    238                         echo "&nbsp;</td>"; 
    239                 echo "\n</tr>"; 
    240         } 
    241  
    242         if ($dga != "" OR $allefelder) { // keine Schluesseltabelle in DB 
    243                 echo "\n<tr>"; 
    244                         echo "\n\t<td title='\"Dachgeschossausbau\" ist ein Hinweis auf den Ausbau bzw. die Ausbauf&auml;higkeit des Dachgeschosses.'>Dachgeschossausbau</td>"; 
    245                         echo "\n\t<td>"; 
     246                        echo $oflv."</td>" 
     247                        ."\n\t<td class='erkl'>'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>".$ofld."</td>" 
     248                ."\n</tr>"; 
     249        } 
     250 
     251        // Dachgeschossausbau 
     252        // nichts dazu in alkis_wertearten.d 
     253        if ($dga != "" OR $allefelder) { 
     254                echo "\n<tr>" 
     255                        ."\n\t<td class='li'>Dachgeschossausbau</td>" 
     256                        ."\n\t<td class='fett'>"; 
    246257                        if ($showkey) {echo "<span class='key'>".$dga."</span>&nbsp;";} 
    247                         switch ($dga) { 
    248                                 case 1000: echo "Nicht ausbauf&auml;hig"; break; 
    249                                 case 2000: echo "Ausbauf&auml;hig"; break; 
    250                                 case 3000: echo "Ausgebaut"; break; 
    251                                 case 4000: echo "Ausbauf&auml;higkeit unklar"; break; 
    252                                 case "": echo "&nbsp;"; break; 
    253                                 default: echo "** Unbekannter Wert Dachgeschossausbau '".$dga."' **"; break; 
    254                         } 
    255                         echo "</td>"; 
    256                 echo "\n</tr>"; 
    257         } 
    258  
     258                        echo $dgav."</td>" 
     259                        ."\n\t<td class='erkl'>'Dachgeschossausbau' ist ein Hinweis auf den Ausbau bzw. die Ausbauf&auml;higkeit des Dachgeschosses.</td>" 
     260                ."\n</tr>"; 
     261        } 
     262 
     263        // Zustand 
    259264        if ($zus != "" OR $allefelder) { 
    260                 echo "\n<tr>"; 
    261                         echo "\n\t<td title='\"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.'>Zustand</td>"; 
    262                         echo "\n\t<td>"; 
     265                echo "\n<tr>" 
     266                        ."\n\t<td class='li'>Zustand</td>" 
     267                        ."\n\t<td class='fett'>"; 
    263268                        if ($showkey) {echo "<span class='key'>".$zus."</span>&nbsp;";} 
    264                         echo $zustand."</td>"; 
    265                 echo "\n</tr>"; 
    266         } 
    267  
    268         if ($wgf != "" OR $allefelder) { 
    269                 echo "\n<tr>"; 
    270                         echo "\n\t<td title='\"Weitere Geb&auml;udefunktion\" ist die Funktion, die ein Geb&auml;ude neben der dominierenden Geb&auml;udefunktion hat.'>Weitere Geb&auml;udefunktionen</td>"; 
    271                         echo "\n\t<td>"; 
    272  
    273                         if ($wgf != "") { 
    274                                 // weiteregebaeudefunktion ist jetzt ein Array 
    275                                 $wgflist=trim($wgf, "{}"); // kommagetrennte(?) Liste der Schluesselwerte 
    276                                 //$wgfarr=explode(",", $wgflist); 
    277                                 //for each ... 
    278                                 $sqlw="SELECT wert, bezeichner FROM v_geb_weiterefkt WHERE wert in ( $1 ) ORDER BY wert;"; 
    279                                 $v = array($wgflist); 
     269                        echo $zusv."</td>" 
     270                        ."\n\t<td class='erkl'>'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.<br>".$zusd."</td>" 
     271                ."\n</tr>"; 
     272        } 
     273 
     274        // Weitere GebÀudefunktionen 
     275        // Suche Testfall: SELECT * FROM ax_gebaeude WHERE NOT weiteregebaeudefunktion IS NULL; 
     276        // Keiner zu finden. Das folgende ungetestet: 
     277        if ($wgf != "" OR $allefelder) { // "weiteregebaeudefunktion" ist ein Array 
     278                echo "\n<tr>" 
     279                        ."\n\t<td class='li'>Weitere Geb&auml;udefunktionen</td>" 
     280                        ."\n\t<td>"; 
     281                        if ($wgf != "") { // Kommagetrennte Liste aus Array 
     282                                $sqlw="SELECT k, v, d FROM alkis_wertearten WHERE k IN ( $1 ) AND element='ax_gebaeude' AND bezeichnung='weiteregebaeudefunktion' ORDER BY k;"; 
     283                                $v = array($wgf); 
    280284                                $resw = pg_prepare("", $sqlw); 
    281285                                $resw = pg_execute("", $v); 
    282286                                if (!$resw) { 
    283287                                        echo "\n<p class='err'>Fehler bei Geb&auml;ude - weitere Funktion.</p>\n"; 
    284                                         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgflist."'</p>";} 
     288                                        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sqlw."<br>$1 = Werteliste = '".$wgf."'</p>";} 
    285289                                } 
    286290                                $zw=0; 
    287291                                while($roww = pg_fetch_array($resw)) { // LOOP: w.Funktion 
    288                                         $wwert=$roww["wert"]; 
    289                                         $wbez=$roww["bezeichner"]; 
    290                                         if ($zw > 0) {echo ", ";} // Liste oder Zeile? echo "<br>";  
    291                                         if ($showkey) {echo "<span class='key'>".$wwert."</span>&nbsp;";} 
    292                                         echo $wbez; 
     292                                        if ($zw > 0) {echo "<br>";} 
     293                                        if ($showkey) {echo "<span class='key'>".$roww["k"]."</span>&nbsp;";} 
     294                                        echo "<span title='".$roww["d"]."'>".$roww["v"]."</span>"; 
    293295                                        $zw++; 
    294296                           } 
    295297                        } 
    296                         echo "</td>"; 
    297                 echo "\n</tr>"; 
    298         } 
    299  
     298                        echo "</td>" 
     299                        ."\n\t<td class='erkl'>'Weitere Geb&auml;udefunktion' ist die Funktion, die ein Geb&auml;ude neben der dominierenden Geb&auml;udefunktion hat.</td>" 
     300                ."\n</tr>"; 
     301        } 
     302 
     303        // Dachform 
     304        // nichts dazu in alkis_wertearten.d 
    300305        if ($daf != "" OR $allefelder) { 
    301                 echo "\n<tr>"; 
    302                         echo "\n\t<td title='\"Dachform\" beschreibt die charakteristische Form des Daches.'>Dachform</td>"; 
    303                         echo "\n\t<td>"; 
     306                echo "\n<tr>" 
     307                        ."\n\t<td class='li'>Dachform</td>" 
     308                        ."\n\t<td class='fett'>"; 
    304309                        if ($showkey) {echo "<span class='key'>".$daf."</span>&nbsp;";} 
    305                         echo $dach."</td>"; 
    306                 echo "\n</tr>"; 
    307         } 
    308  
     310                        echo $dach."</td>" 
     311                        ."\n\t<td class='erkl'>'Dachform' beschreibt die charakteristische Form des Daches.</td>" 
     312                ."\n</tr>"; 
     313        } 
     314 
     315        // Objekthöhe 
    309316        if ($hho != "" OR $allefelder) { 
    310                 echo "\n<tr>"; 
    311                         echo "\n\t<td title='\"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.'>Objekth&ouml;he</td>"; 
    312                         echo "\n\t<td>"; 
    313                         echo $hho."</td>"; 
    314                 echo "\n</tr>"; 
    315         } 
    316  
     317                echo "\n<tr>" 
     318                        ."\n\t<td class='li'>Objekth&ouml;he</td>" 
     319                        ."\n\t<td class='fett'>".$hho."</td>" 
     320                        ."\n\t<td class='erkl'>'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.</td>" 
     321                ."\n</tr>"; 
     322        } 
     323 
     324        // GeschossflÀche 
    317325        if ($gfl != "" OR $allefelder) { 
    318                 echo "\n<tr>"; 
    319                         echo "\n\t<td title='\"Geschossfl&auml;che\" ist die Geb&auml;udegeschossfl&auml;che in [qm].'>Geschossfl&auml;che</td>"; 
    320                         echo "\n\t<td>"; 
    321                         if ($gfl != "") { 
    322                                 echo $gfl." m&#178;"; 
    323                         } 
    324                         echo "</td>"; 
    325                 echo "\n</tr>"; 
    326         } 
    327  
     326                echo "\n<tr>" 
     327                        ."\n\t<td class='li'>Geschossfl&auml;che</td>" 
     328                        ."\n\t<td class='fett'>"; 
     329                        if ($gfl != "") {echo $gfl." m&#178;";} 
     330                        echo "</td>" 
     331                        ."\n\t<td class='erkl'>'Geschossfl&auml;che' ist die Geb&auml;udegeschossfl&auml;che in [qm].</td>" 
     332                ."\n</tr>"; 
     333        } 
     334 
     335        // GrundflÀche 
    328336        if ($grf != "" OR $allefelder) { 
    329                 echo "\n<tr>"; 
    330                         echo "\n\t<td title='\"Grundfl&auml;che\" ist die Geb&auml;udegrundfl&auml;che in [qm].'>Grundfl&auml;che</td>"; 
    331                         echo "\n\t<td>"; 
    332                         if ($grf != "") { 
    333                                 echo $grf." m&#178;"; 
    334                         } 
    335                 echo "\n</tr>"; 
    336         } 
    337  
     337                echo "\n<tr>" 
     338                        ."\n\t<td class='li'>Grundfl&auml;che</td>" 
     339                        ."\n\t<td class='fett'>"; 
     340                        if ($grf != "") {echo $grf." m&#178;";} 
     341                        echo "\n\t<td class='erkl'>'Grundfl&auml;che' ist die Geb&auml;udegrundfl&auml;che in [qm].</td>" 
     342                ."\n</tr>"; 
     343        } 
     344 
     345        // Umbauter Raum 
    338346        if ($ura != "" OR $allefelder) { 
    339                 echo "\n<tr>"; 
    340                         echo "\n\t<td title='\"Umbauter Raum\" ist der umbaute Raum [Kubikmeter] des Geb&auml;udes.'>Umbauter Raum</td>"; 
    341                         echo "\n\t<td>"; 
    342                         echo $ura."</td>"; 
    343                 echo "\n</tr>"; 
    344         } 
    345  
     347                echo "\n<tr>" 
     348                        ."\n\t<td class='li'>Umbauter Raum</td>" 
     349                        ."\n\t<td class='fett'>".$ura."</td>" 
     350                        ."\n\t<td class='erkl'>'Umbauter Raum' ist der umbaute Raum [Kubikmeter] des Geb&auml;udes.</td>" 
     351                ."\n</tr>"; 
     352        } 
     353 
     354        // Baujahr 
    346355        if ($bja != "" OR $allefelder) { 
    347                 echo "\n<tr>"; 
    348                         echo "\n\t<td title='\"Baujahr\" ist das Jahr der Fertigstellung oder der baulichen Ver&auml;nderung des Geb&auml;udes.'>Baujahr</td>"; 
    349                         echo "\n\t<td>"; 
    350                         echo $bja."</td>"; 
    351                 echo "\n</tr>"; 
    352         } 
    353  
     356                echo "\n<tr>" 
     357                        ."\n\t<td class='li'>Baujahr</td>" 
     358                        ."\n\t<td class='fett'>".$bja."</td>" 
     359                        ."\n\t<td class='erkl'>'Baujahr' ist das Jahr der Fertigstellung oder der baulichen Ver&auml;nderung des Geb&auml;udes.</td>" 
     360                ."\n</tr>"; 
     361        } 
     362 
     363        // Dachart 
    354364        if ($daa != "" OR $allefelder) { 
    355                 echo "\n<tr>"; 
    356                         echo "\n\t<td title='\"Dachart\" gibt die Art der Dacheindeckung (z.B. Reetdach) an.'>Dachart</td>"; 
    357                         echo "\n\t<td>"; 
    358                         echo $daa."</td>"; 
    359                 echo "\n</tr>"; 
    360         } 
    361  
     365                echo "\n<tr>" 
     366                        ."\n\t<td class='li'>Dachart</td>" 
     367                        ."\n\t<td class='fett'>".$daa."</td>" 
     368                        ."\n\t<td class='erkl'>'Dachart' gibt die Art der Dacheindeckung (z.B. Reetdach) an.</td>" 
     369                ."\n</tr>"; 
     370        } 
     371 
     372        // QualitÀtsangaben 
    362373        if ($qag != "" OR $allefelder) { 
    363                 echo "\n<tr>"; 
    364                         echo "\n\t<td title='Angaben zur Herkunft der Informationen (Erhebungsstelle). Die Information ist konform zu den Vorgaben aus ISO 19115 zu repr&auml;sentieren.'>Qualit&auml;tsangaben</td>"; 
    365                         echo "\n\t<td>"; 
    366                         echo $qag."</td>"; 
    367                 echo "\n</tr>"; 
    368         } 
    369  
     374                echo "\n<tr>" 
     375                        ."\n\t<td class='li'>Qualit&auml;tsangaben</td>" 
     376                        ."\n\t<td class='fett'>".$qag."</td>" 
     377                        ."\n\t<td class='erkl'>Angaben zur Herkunft der Informationen (Erhebungsstelle). Die Information ist konform zu den Vorgaben aus ISO 19115 zu repr&auml;sentieren.</td>" 
     378                ."\n</tr>"; 
     379        } 
    370380        echo "\n</table>"; 
    371381} 
    372382if ($gebnr == 0) {echo "<p class='err'><br>Kein Geb&auml;ude gefunden<br>&nbsp;</p>";} 
    373 // ++ ToDo: Verschnitt mit FS 
     383 
     384// ++ ToDo: Verschnitt mit FS? 
    374385 
    375386?> 
    376387 
    377 <form action=''> 
    378         <div class='buttonbereich noprint'> 
    379         <hr> 
    380                 <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
    381                 <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
    382         </div> 
    383 </form> 
     388<div class='buttonbereich noprint'> 
     389<hr> 
     390        <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
     391        <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
     392</div> 
    384393 
    385394<?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?> 
Note: See TracChangeset for help on using the changeset viewer.