source: trunk/info/info/alkisn/alkislage.php @ 402

Revision 402, 18.4 KB checked in by frank.jaeger, 6 years ago (diff)

ALKIS-Buchauskunft überarbeitet. z.B. Flurstücksnachweis mit allen Buchungen.

RevLine 
[362]1<?php
2/*      alkislage.php
3
4        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
5        Kann die 3 Arten von Lagebezeichnung anzeigen und verbundene Objekte verlinken
6
7        Version:
8        2016-02-24 Version fuer norGIS-ALKIS-Import
[375]9        2016-03-14 Korrekturen
[377]10        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen
[387]11        2017-06-08 Validierung Eingabeparameter, gestreifte Tabelle, Feinkorrekturen
[389]12        2017-10-09 Sauber filtern auf endet IS NULL
[402]13        2018-04-23 &nodebug
[362]14
15        ToDo:
16        - Balken-Kennzeichen kompatibel machen mit der Eingabe der Navigation fÃŒr Adresse
17        - das Modul "alkisgebaeudenw" (alle Geb. auf einem FS) verschneidet die FlÀchen und findet damit auch
[387]18        Grenz-Uberbauungen und angrenzende GebÀude. Diese fehlen hier, weil nur VerknÃŒpfungen verarbeitet werden.
19        Mit FlÀchen-Verschneidung auch weitere FS anzeigen?
[362]20*/
21session_start();
[402]22$showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren
[387]23$cntget = extract($_GET); // Parameter in Variable umwandeln
24
25// strikte Validierung aller Parameter
26if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");}
27if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");}
28if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");}
29if ($showkey == "j") {$showkey=true;} else {$showkey=false;}
30if (!preg_match('#^[m|p|o]{1}$#', $ltyp)) {die ("Eingabefehler ltyp");}
[402]31if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");}
[387]32
[362]33require_once("alkis_conf_location.php");
34if ($auth == "mapbender") {require_once($mapbender);}
35include("alkisfkt.php");
36
37switch ($ltyp) {
[377]38        case "m": // "Mit HsNr" = Hauptgebaeude
[362]39                $tnam = "ax_lagebezeichnungmithausnummer"; break;
40        case "p": // "mit PseudoNr" = Nebengebaeude
41                $tnam = "ax_lagebezeichnungmitpseudonummer";    break;
[377]42        case "o": //"Ohne HsNr" = Gewanne oder Strasse
[362]43                $tnam = "ax_lagebezeichnungohnehausnummer"; break;
44        default:
45                $ltyp = "m";
46                $tnam = "ax_lagebezeichnungmithausnummer"; break;
47}
[402]48echo <<<END
[377]49<!doctype html>
50<html lang="de">
[362]51<head>
[377]52        <meta charset="utf-8">
[387]53        <meta name="viewport" content="width=device-width, initial-scale=1.0">
[362]54        <title>ALKIS Lagebezeichnung</title>
55        <link rel="stylesheet" type="text/css" href="alkisauszug.css">
56        <link rel="shortcut icon" type="image/x-icon" href="ico/Lage_mit_Haus.ico">
57</head>
58<body>
[402]59END;
60// Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten.
61// Manuell an die URL anfÌgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht.
62if ($nodebug == "j") {$debug=0;}
63
[377]64$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkislage.php'");
[387]65if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>";
[362]66
67// L a g e b e z e i c h n u n g
68$sql ="SELECT s.gml_id AS strgml, s.bezeichnung AS snam, b.bezeichnung AS bnam, r.bezeichnung AS rnam, k.bezeichnung AS knam, g.bezeichnung AS gnam, l.land, l.regierungsbezirk, l.kreis, l.gemeinde, l.lage, ";
69switch ($ltyp) {
70        case "m": // "Mit HsNr"
71                $sql.="l.hausnummer ";
72        break;
73        case "p": // "mit PseudoNr"
74                $sql.="l.pseudonummer, l.laufendenummer ";
75        break;
76        case "o": //"Ohne HsNr"
77                $sql.="l.unverschluesselt ";
78        break;
79}
80// "Left" weil: Bei sub-Typ "Gewanne" von Typ "o" sind keine SchlÃŒsselfelder gefÃŒllt!
81$sql.="FROM ".$tnam." l
82LEFT JOIN ax_gemeinde g ON l.land=g.land AND l.regierungsbezirk=g.regierungsbezirk AND l.kreis=g.kreis AND l.gemeinde=g.gemeinde
83LEFT JOIN ax_kreisregion k ON l.land=k.land AND l.regierungsbezirk=k.regierungsbezirk AND l.kreis=k.kreis
84LEFT JOIN ax_regierungsbezirk r ON l.land=r.land AND l.regierungsbezirk=r.regierungsbezirk
[389]85LEFT JOIN ax_bundesland b ON l.land=b.land
86LEFT JOIN ax_lagebezeichnungkatalogeintrag s
[362]87ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage
[389]88WHERE l.gml_id= $1 AND l.endet IS NULL AND g.endet IS NULL AND k.endet IS NULL AND r.endet IS NULL AND b.endet IS NULL AND s.endet IS NULL;";
[362]89
90$v = array($gmlid);
91$res = pg_prepare("", $sql);
92$res = pg_execute("", $v);
93if (!$res) {
[387]94        echo "\n<p class='err'>Fehler bei Lagebezeichnung.</p>";
95        if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";}
[362]96}
97
[402]98if ($row = pg_fetch_assoc($res)) {
[362]99        $strgml=$row["strgml"]; // gml_id des Katalogeintrag Straße
100        $land =$row["land"];
101        $regbez=$row["regierungsbezirk"];
102        $kreis=$row["kreis"];
103        $knam=$row["knam"];
104        $rnam=$row["rnam"];
105        $bnam=$row["bnam"];
106        $gem=$row["gemeinde"];
107        $gnam=$row["gnam"];
108        $lage=$row["lage"]; // Strassenschluessel
109        $snam=$row["snam"]; //Strassennamen
110//      $kennz=$land."-".$regbez."-".$kreis.  ...
111        $kennz=$gem."-".$lage."-"; // ToDo: Kompatibel machen als Eingabe in Navigation/Adresse
112       
113        switch ($ltyp) {
114                case "m": // "Mit HsNr"
115                        $hsnr=$row["hausnummer"];
116                        $kennz.=$hsnr;
117                        $untertitel="Hauptgeb&auml;ude mit Hausnummer";
[387]118                        echo "\n<p class='lage'>ALKIS Lagebezeichnung mit Hausnummer ".$kennz."&nbsp;</p>"; // Balken
[362]119                        $osub="";
120                break;
121                case "p": // "mit PseudoNr"
122                        $pseu=$row["pseudonummer"];
123                        $lfd=$row["laufendenummer"];
124                        $kennz.=$pseu."-".$lfd;
125                        $untertitel="NebengebÀude mit laufender Nummer (Lagebezeichnung mit Pseudonummer)";
[387]126                        echo "\n<p class='lage'>ALKIS Lagebezeichnung NebengebÀude ".$kennz."&nbsp;</p>"; // Balken
[362]127                        $osub="";
128                break;
129                case "o": // "Ohne HsNr"
130                        $unver=$row["unverschluesselt"]; // Gewanne
131                        // 2 Unterarten bzw. Zeilen-Typen in der Tabelle
132                        if ($lage == "") {
133                                $osub="g"; // Sub-Typ Gewanne
134                                $kennz=" - ".$unver;
135                                $untertitel="Gewanne (unverschl&uuml;sselte Lage)";
[387]136                                echo "\n<p class='lage'>ALKIS Lagebezeichnung Ohne Hausnummer ".$kennz."&nbsp;</p>"; // Balken
[362]137                        } else {
138                                $osub="s"; // Sub-Typ Strasse (ohne HsNr)
139                                $kennz.=$unver;
140                                $untertitel="Stra&szlig;e ohne Hausnummer";
[387]141                                echo "\n<p class='lage'>ALKIS Lagebezeichnung Ohne Hausnummer ".$kennz."&nbsp;</p>"; // Balken
[362]142                        }
143                break;
144        }
145} else {
[387]146        echo "\n<p class='err'>Fehler! Kein Treffer fuer Lagebezeichnung mit gml_id='".$gmlid."'</p>";
[377]147        if ($debug > 2) {
[387]148                echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";
[377]149        }
[387]150        echo "\n</body>\n</html>";
[377]151        exit;
[362]152}
153
[402]154echo "\n<h2>Lagebezeichnung</h2>\n<p>Typ: ".$untertitel."</p>";
[362]155echo "\n<table class='outer'>\n<tr>\n\t<td>";   // Tab. Kennz.
[402]156        // ToDo: kleiner, wenn ltyp=0 und die Schluesselfelder leer sind
[387]157        echo "\n\t\t<table class='kennzla' title='Lage'>"
158                ."\n\t\t<tr>";
[362]159                        if ($osub != "g") { // nicht bei Gewanne
[387]160                                echo "\n\t\t\t<td class='head'>Land</td>"
161                                ."\n\t\t\t<td class='head'>Reg.-Bez.</td>"
162                                ."\n\t\t\t<td class='head'>Kreis</td>"
163                                ."\n\t\t\t<td class='head'>Gemeinde</td>"
164                                ."\n\t\t\t<td class='head'>Stra&szlig;e</td>";
[362]165                        }
166                        switch ($ltyp) {
167                                case "m": // "Mit HsNr"
[387]168                                        echo "\n\t\t\t<td class='head'>Haus-Nr</td>";
[362]169                                break;
170                                case "p": // "mit PseudoNr"
[387]171                                        echo "\n\t\t\t<td class='head'>Haus-Nr</td>"
172                                        ."\n\t\t\t<td class='head'>lfd.-Nr</td>";
[362]173                                break;
174                                case "o": //"Ohne HsNr"
175                                        if ($osub == "g") {
[387]176                                                echo "\n\t\t\t<td class='head'>unverschl&uuml;sselte Lage</td>";
[362]177                                        }
178                                break;
179                        }
[387]180                echo "\n\t\t</tr>\n\t\t<tr>";
[362]181                        if ($osub != "g") { // nicht bei Gewanne
182
[387]183                                echo "\n\t\t\t<td title='Bundesland'>";
[362]184                                if ($showkey) {echo "<span class='key'>".$land."</span><br>";}
185                                echo $bnam."&nbsp;</td>";
186
[387]187                                echo "\n\t\t\t<td title='Regierungsbezirk'>";
[362]188                                if ($showkey) {echo "<span class='key'>".$regbez."</span><br>";}
189                                echo $rnam."&nbsp;</td>";
190
[387]191                                echo "\n\t\t\t<td title='Kreis'>";
[362]192                                if ($showkey and $osub != "g") {echo "<span class='key'>".$kreis."</span><br>";}
193                                echo $knam."&nbsp;</td>";
194
[387]195                                echo "\n\t\t\t<td title='Gemeinde'>";
[362]196                                if ($showkey and $osub != "g") {echo "<span class='key'>".$gem."</span><br>";}
197                                echo $gnam."&nbsp;</td>";
198
[387]199                                echo "\n\t\t\t<td title='Stra&szlig;e'>";
[362]200                                if ($showkey and $osub != "g") {echo "<span class='key'>".$lage."</span><br>";}
201                                if ($ltyp == "o") {
202                                        echo "<span class='wichtig'>".$snam."</span>";
203                                } else {
204                                        echo $snam;
205                                }       
206                                echo "&nbsp;</td>";
207                        }
208
209                        switch ($ltyp) {
210                                case "m":
[387]211                                        echo "\n\t\t\t<td title='Hausnummer und Zusatz'><span class='wichtig'>".$hsnr."</span></td>";
[362]212                                break;
213                                case "p":
[387]214                                        echo "\n\t\t\t<td title='Pseudonummer - Nebengeb&auml;ude zu dieser Hausnummer'>".$pseu."</td>"
215                                        ."\n\t\t\t<td title='Laufende Nummer Nebengeb&auml;ude'><span class='wichtig'>".$lfd."</span></td>";
[362]216                                break;
217                                case "o":
218                                        if ($osub == "g") {
[387]219                                                echo "\n\t\t\t<td title='Gewanne'><span class='wichtig'>".$unver."</span></td>";
[362]220                                        }
221                                break;
222                        }
[387]223                echo "\n\t\t</tr>"
224        ."\n\t\t</table>";
[362]225
226        echo "\n\t</td>\n\t<td>";
227
228        // Kopf Rechts: weitere Daten?
229        if ($osub != "g") { // Link zu Strasse
230                echo "\n\t\t<p class='nwlink noprint'>"
[387]231                        ."\n\t\t\t<a href='alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$strgml;
[362]232                        if ($showkey) {echo "&amp;showkey=j";}
233                        echo "' title='Stra&szlig;e'>Stra&szlig;e <img src='ico/Strassen.png' width='16' height='16' alt=''></a>"
234                ."\n\t\t</p>";
235        }
236
237echo "\n\t</td>\n</tr>\n</table>";
238// Ende Seitenkopf
239
240// F L U R S T U E C K E
241// ax_Flurstueck  >weistAuf>  ax_LagebezeichnungMitHausnummer
242// ax_Flurstueck  >zeigtAuf>  ax_LagebezeichnungOhneHausnummer
243// ++ auch FlÀchenverschneidung?
244if ($ltyp <> "p") { // Pseudonummer linkt nur GebÀude
[387]245        echo "\n\n<a id='fs'></a>\n<h3><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;cke</h3>"
[362]246        ."\n<p>mit dieser Lagebezeichnung.</p>";
247        switch ($ltyp) {
248                case "m": $bezart="weistauf"; break;
249                case "o": $bezart="zeigtauf"; break;
250        }
251
252        $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche
253        FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer
254        WHERE $1 = ANY(f.".$bezart.") AND f.endet IS NULL AND g.endet IS NULL
255        ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
256
257        $v = array($gmlid);
258        $resf = pg_prepare("", $sql);
259        $resf = pg_execute("", $v);
260        if (!$resf) {
[387]261                echo "\n<p class='err'>Fehler bei Flurst&uuml;ck.</p>";
262                if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";}       
[362]263        }
264        echo "\n<table class='fs'>"
265        ."\n<tr>"
[377]266                ."\n\t<td class='heads'>Gemarkung<img src='ico/sort.png' width='10' height='10' alt='' title='Sortierung'></td>"
267                ."\n\t<td class='heads'>Flur<img src='ico/sort.png' width='10' height='10' alt='' title='Sortierung'></td>"
268                ."\n\t<td class='heads fsnr' title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><img src='ico/sort.png' width='10' height='10' alt='' title='Sortierung'>Flurst.</td>"
[362]269                ."\n\t<td class='head fla'>Fl&auml;che</td>"
[387]270                ."\n\t<td class='head nwlink noprint' title='Verlinkung zu anderen Nachweis-Arten und verbundenen Objekten'>weitere Auskunft</td>"
[362]271        ."\n</tr>";
272        $j=0;
[387]273        $zpaar=false;
[402]274        while($rowf = pg_fetch_assoc($resf)) {
[362]275                $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT);
276                $fskenn=$rowf["zaehler"]; // Bruchnummer
277                if ($rowf["nenner"] != "") {$fskenn.="/".$rowf["nenner"];}
278                $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m&#178;";
[387]279
280                if ($zpaar) {$trclass='paa';} else {$trclass='unp';}
281                $zpaar=!$zpaar;
282
283                echo "\n<tr class='".$trclass."'>"
[362]284                        ."\n\t<td>";
285                        if ($showkey) {echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> ";}
286                        echo $rowf["bezeichnung"]."</td>"
287                        ."\n\t<td>".$flur."</td>"
288                        ."\n\t<td class='fsnr'><span class='wichtig'>".$fskenn."</span></td>"
289                        ."\n\t<td class='fla'>".$flae."</td>"
290                        ."\n\t<td>\n\t\t<p class='nwlink noprint'>"
[387]291                                ."\n\t\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$rowf["gml_id"]."&amp;eig=n";
[362]292                                if ($showkey) {echo "&amp;showkey=j";}
293                                echo "' title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck <img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>"
294                        ."\n\t\t</p>\n\t</td>"
295                ."\n</tr>";
296                $j++;
297        }
298        echo "\n</table>";
299        if ($j > 6) {echo "<p class='cnt'>".$j." Flurst&uuml;cke</p>";}
300}
301
302// L A G E
303// andere Lage mit gleicher Hausnummer suchen
304if ($ltyp <> "o") { // nicht bei Gewanne (Ohne HsNr)
[387]305        echo "\n\n<a id='lage'></a>\n<h3><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''> Lage</h3>"
306        ."\n<p>Andere Lagebezeichnungen zur gleichen Hausnummer.</p>";
[362]307        $whereclaus="WHERE land= $1 AND regierungsbezirk= $2 AND kreis= $3 AND gemeinde= $4 AND lage= $5 ";
308
[387]309        $url=$_SERVER['PHP_SELF']."?gkz=".$gkz; // Basis
310        if ($showkey) {$url.="&amp;showkey=j";}
[362]311        $url.="&amp;gmlid=";
312
313        switch ($ltyp) {
[387]314                case "m": // aktuell: Hausnummer gefunden (HauptgebÀude)
[362]315                        // dazu alle NebengebÀude suchen
316                        echo "\n<p>Nebengeb&auml;ude:&nbsp;";
317                        $sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l "
318                        .$whereclaus."AND lage= $6 AND pseudonummer= $7 AND l.endet IS NULL ORDER BY laufendenummer;";
319
320                        $v = array($land,$regbez,$kreis,$gem,$lage,$lage,$hsnr);
321                        $res = pg_prepare("", $sql);
322                        $res = pg_execute("", $v);
323                        if (!$res) {
[387]324                                echo "\n<p class='err'>Fehler bei Nebengeb&auml;ude.<br>".$sql."</p>";
325                                if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";}
[362]326                        }
327                        $neb=0;
[402]328                        while($row = pg_fetch_assoc($res)) {
[362]329                                echo "\n\t<a href='".$url.$row["gml_id"]."&amp;ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a>&nbsp;&nbsp;";
330                                $neb++;
331                        }
332                        if ($neb == 0) {echo "keine";}
333                        echo "</p>";
334                break;
335
[387]336                case "p": // aktuell NebengebÀude: Haupt- und (andere) NebengebÀude suchen
[362]337                        echo "\n<p>Hauptgeb&auml;ude: ";
[387]338                        $sql ="SELECT l.gml_id FROM ax_lagebezeichnungmithausnummer l ".$whereclaus."AND hausnummer= $6 AND l.endet IS NULL ;";
[362]339
340                        $v = array($land,$regbez,$kreis,$gem,$lage,$pseu);
341                        $res = pg_prepare("", $sql);
342                        $res = pg_execute("", $v);
343
[387]344                        if (!$res) {echo "\n<p class='err'>Fehler bei Hauptgeb&auml;ude.<br>".$sql."</p>";}
[362]345                        $hg=0;
[402]346                        while($row = pg_fetch_assoc($res)) {
[362]347                                echo "\n\t<a href='".$url.$row["gml_id"]."&amp;ltyp=m'>Haus-Nr ".$pseu."</a>&nbsp;&nbsp;";
348                                $hg++;
349                        }
350                        if ($hg == 0) {echo "&nbsp;Kein Hauptgeb&auml;ude gefunden.";}
351                        echo "</p>";
352
353                        echo "\n<p>Weitere Nebengeb&auml;ude:&nbsp;";
354                        $sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l "
355                        .$whereclaus."AND pseudonummer= $6 AND laufendenummer <> $7 AND l.endet IS NULL ORDER BY laufendenummer;";
356                        $v=array($land,$regbez,$kreis,$gem,$lage,$pseu,$lfd);
357                        $res = pg_prepare("", $sql);
358                        $res = pg_execute("", $v);
359                        if (!$res) {
[387]360                                echo "\n<p class='err'>Fehler bei Nebengeb&auml;ude.</p>";
361                                if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";}                     
[362]362                        }
363                        $neb=0;
[402]364                        while($row = pg_fetch_assoc($res)) {
[362]365                                echo "\n\t<a href='".$url.$row["gml_id"]."&amp;ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a>&nbsp;&nbsp;";
366                                $neb++;
367                        }
368                        if ($neb == 0) {echo "keine";}
369                        echo "</p>";
370                break;
371        }
372}
373
374// G E B A E U D E
375if ($ltyp <> "o") { // OhneHsNr linkt nur Flurst.
[387]376        echo "\n\n<a id='geb'></a>\n<h3><img src='ico/Haus.png' width='16' height='16' alt=''> Geb&auml;ude</h3>"
[362]377        ."\n<p>mit dieser Lagebezeichnung.</p>";
378        switch ($ltyp) {
379                case "p": $bezart="g.hat"; break;
380                case "m": $bezart="ANY(g.zeigtauf)"; break; // array
381        }
382
383        $sql ="SELECT g.gml_id, g.gebaeudefunktion, array_to_string(g.name, ',') AS name, g.bauweise, g.grundflaeche, g.zustand, round(st_area(g.wkb_geometry)::numeric,2) AS flaeche,
384        h.v AS hv, h.d AS hd, u.v AS uv, u.d AS ud, z.v AS zv, z.d AS zd FROM ax_gebaeude g
385        LEFT JOIN alkis_wertearten h ON cast(g.bauweise AS character varying)=h.k AND h.element='ax_gebaeude' AND h.bezeichnung='bauweise'
386        LEFT JOIN alkis_wertearten u ON cast(g.gebaeudefunktion AS character varying)=u.k AND u.element='ax_gebaeude' AND u.bezeichnung='gebaeudefunktion'
387        LEFT JOIN alkis_wertearten z ON cast(g.zustand AS character varying)=z.k AND z.element='ax_gebaeude' AND z.bezeichnung='zustand'
388        WHERE $1 = ".$bezart." AND g.endet IS NULL;";
[377]389        // Keine Sortierung (ORDER BY) notwendig weil i.d.R. nur ein (Haupt-)GebÀude diese Hausnummer hat.
390        // FÃŒr weiter "alkis_wertearten" (EnstschlÃŒsselungen) zum GebÀude dem Link "Haus" folgen.
[362]391
392        $v = array($gmlid);
393        $res = pg_prepare("", $sql);
394        $res = pg_execute("", $v);
395        if (!$res) {
[387]396                echo "\n<p class='err'>Fehler bei Geb&auml;ude.</p>";
397                if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";}
[362]398        }
399        echo "\n<table class='geb'>"
400        ."\n<tr>"
401                ."\n\t<td class='head' title='Name ist der Eigenname oder die Bezeichnung des Geb&auml;udes.'>Name</td>"
402                ."\n\t<td class='head fla' title='Fl&auml;che'>Fl&auml;che</td>"
403                ."\n\t<td class='head' title='Geb&auml;udefunktion ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Geb&auml;udes'>Funktion</td>"
404                ."\n\t<td class='head' title='Bauweise ist die Beschreibung der Art der Bauweise'>Bauweise</td>"
405                ."\n\t<td class='head' 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>"
[377]406                ."\n\t<td class='head nwlink' title='Komplette Hausdaten'>Hausdaten</td>"
[362]407        ."\n</tr>";
408        $i=0;
[402]409        while($row = pg_fetch_assoc($res)) {
[362]410                $ggml=$row["gml_id"];
411                $gfla=$row["flaeche"];
[387]412                echo "\n<tr>"
413                        ."\n\t<td>".$row["name"]."</td>"
414                        ."\n\t<td class='fla'>".$gfla." m&#178;</td>";
[362]415
[387]416                        echo "\n\t<td title='".htmlentities($row["ud"], ENT_QUOTES, "UTF-8")."'>";
417                        if ($showkey) {echo "<span class='key'>".htmlentities($row["gebaeudefunktion"], ENT_QUOTES, "UTF-8")."</span> ";}
[362]418                        echo $row["uv"]."</td>";
419
[387]420                        echo "\n\t<td title='".htmlentities($row["hd"], ENT_QUOTES, "UTF-8")."'>";
421                        if ($showkey) {echo "<span class='key'>".htmlentities($row["bauweise"], ENT_QUOTES, "UTF-8")."</span> ";}
[362]422                        echo $row["hv"]."</td>";
423                               
[387]424                        echo "\n\t<td title='".htmlentities($row["zd"] , ENT_QUOTES, "UTF-8")."'>";
425                        if ($showkey) {echo "<span class='key'>".htmlentities($row["zustand"], ENT_QUOTES, "UTF-8")."</span> ";}
[362]426                        echo $row["zv"]."</td>";
427
428                        echo "\n\t<td class='nwlink noprint'>"
[387]429                                ."\n\t\t<a title='komplette Hausdaten' href='alkishaus.php?gkz=".$gkz."&amp;gmlid=".$ggml;
430                                if ($showkey) {echo "&amp;showkey=j";}
431                                echo "'>Haus <img src='ico/Haus.png' width='16' height='16' alt=''></a>"
432                        ."\n\t</td>"
433                ."\n</tr>";
[362]434        }
435        echo "\n</table>";
436}
437?>
438
[377]439<div class='buttonbereich noprint'>
[387]440        <hr>
[377]441        <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
442        <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp;
443</div>
[362]444
445<?php footer($gmlid, $_SERVER['PHP_SELF']."?", "&amp;ltyp=".$ltyp); ?>
446
447</body>
448</html>
Note: See TracBrowser for help on using the repository browser.