source: trunk/var/www/info/alkis/alkisfsnw.php @ 64

Revision 64, 28.5 KB checked in by frank.jaeger, 13 years ago (diff)
Line 
1<?php
2/*      Modul: alkisfsnw.php
3
4        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
5        FlurstÃŒcksnachweis fuer ein FlurstÃŒckskennzeichen aus ALKIS PostNAS
6
7        Version:
8        30.09.2010  noprint
9        09.11.2010  Nutzung, ehem. php-Functions hier integriert
10        10.11.2010  Felder nutzung.zustand und nutzung.name
11        14.12.2010  Pfad zur Conf
12        17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute)
13        04.01.2011  Frank JÀger: verkuerzte Nutzungsart-Zeilen mit Icon
14
15        ToDo:
16        NamNum >bestehtAusRechtsverhaeltnissenZu> NamNum
17        KÃŒrzere Bezeichnung der Nutzungsart
18*/
19ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
20session_start();
21$gkz=urldecode($_REQUEST["gkz"]);
22require_once("alkis_conf_location.php");
23if ($auth == "mapbender") {
24        // Bindung an Mapbender-Authentifizierung
25        require_once($mapbender);
26}
27include("alkisfkt.php");
28?>
29<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
30<html>
31<head>
32        <meta name="author" content="F. Jaeger krz" >
33        <meta http-equiv="cache-control" content="no-cache">
34        <meta http-equiv="pragma" content="no-cache">
35        <meta http-equiv="expires" content="0">
36        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
37        <title>ALKIS Flurst&uuml;cksnachweis</title>
38        <link rel="stylesheet" type="text/css" href="alkisauszug.css">
39        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico">
40        <style type='text/css' media='print'>
41                .noprint {visibility: hidden;}
42        </style>
43</head>
44<body>
45<?php
46$gmlid=urldecode($_REQUEST["gmlid"]);
47$eig=urldecode($_REQUEST["eig"]);
48
49$id = isset($_GET["id"]) ? $_GET["id"] : "n";
50if ($id == "j") {
51        $idanzeige=true;
52} else {
53        $idanzeige=false;
54}
55$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
56if ($keys == "j") {
57        $showkey=true;
58} else {
59        $showkey=false;
60}
61$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
62if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
63
64// F L U R S T U E C K
65$sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche, f.zeitpunktderentstehung, ";
66$sql.="g.gemarkungsnummer, g.bezeichnung ";
67$sql.="FROM ax_flurstueck f ";
68$sql.="JOIN ax_gemarkung  g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
69$sql.="WHERE f.gml_id= $1";
70
71$v = array($gmlid);
72$res = pg_prepare("", $sql);
73$res = pg_execute("", $v);
74if (!$res) echo "\n<p class='err'>Fehler bei Flurstuecksdaten\n<br>".$sql."</p>\n";
75if ($row = pg_fetch_array($res)) {
76        $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
77        $gmkgnr=$row["gemarkungsnummer"];
78        $bezirk=$row["regierungsbezirk"];
79        $kreis=$row["kreis"];
80        $gemeinde=$row["gemeinde"];
81        $flurnummer=$row["flurnummer"];
82        $flstnummer=$row["zaehler"];
83        $nenner=$row["nenner"];
84        if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr
85        $flae=number_format($row["amtlicheflaeche"],0,",",".") . " m&#178;";
86} else {echo "Fehler! Kein Treffer fuer gml_id=".$gmlid;}
87
88// Balken
89if ($eig=="j") {
90        echo "<p class='fsei'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
91        echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck mit Eigent&uuml;mer</h2>\n";
92} else {
93        echo "<p class='fskennz'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
94        echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck</h2>\n";
95}
96echo "\n<table class='outer'>\n<tr>\n\t<td>"; // linke Seite
97
98        // darin Tabelle Kennzeichen
99        echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
100                echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>";
101                echo "\n\t<tr>\n\t\t<td title='Gemarkung'>";
102                if ($showkey) {
103                        echo "<span class='key'>".$gmkgnr."</span><br>";
104                }
105                echo $gemkname."</td>";
106                echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
107                echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>";
108        echo "\n\t</table>";
109
110echo "\n\t</td>\n\t<td>"; // rechte Seite
111
112        // FS-Daten 2 Spalten
113        echo "\n\t<table class='fsd'>";
114                echo "\n\t<tr>\n\t\t<td>Entstehung</td>";
115                echo "\n\t\t<td>".$row["zeitpunktderentstehung"]."</td>\n\t</tr>";
116                echo "\n\t<tr>\n\t\t<td>letz. Fortf</td>";
117                echo "\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>".$row["name"]."</td>\n\t</tr>";
118        echo "\n\t</table>";
119        if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
120echo "\n\t</td>\n</tr>\n</table>";
121
122//      echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame  . "</td>\n</tr>";
123// Ende Seitenkopf
124
125echo "\n<hr>";
126echo "\n<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle
127echo "\n<table class='fs'>";
128
129// ** G e b i e t s z u g e h o e r i g k e i t **
130// eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben
131// Schluessel "land" wird nicht verwendet, gibt es Bestaende wo das nicht einheitlich ist?
132echo "\n<tr>\n\t<td class='ll'><img title='Im Gebiet von' src='ico/Gemeinde.ico' width='16' height='16' alt=''> Gebiet:</td>";
133
134// G e m e i n d e
135$sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk= $1 AND kreis= $2 AND gemeinde= $3";
136
137$v = array($bezirk,$kreis,$gemeinde);
138$res = pg_prepare("", $sql);
139$res = pg_execute("", $v);
140if (!$res) echo "<p class='err'>Fehler bei Gemeinde<br>".$sql."<br></p>";
141$row = pg_fetch_array($res);
142$gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
143echo "\n\t<td class='lr'>Gemeinde</td><td class='lr'>";
144if ($showkey) {
145        echo "<span class='key'>(".$gemeinde.")</span> ";
146}
147echo $gnam."</td><td></td></tr>";
148
149// K r e i s
150$sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk= $1 AND kreis= $2";
151
152$v = array($bezirk,$kreis);
153$res = pg_prepare("", $sql);
154$res = pg_execute("", $v);
155if (!$res) echo "<p class='err'>Fehler bei Kreis<br>".$sql."<br></p>";
156$row = pg_fetch_array($res);
157$knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
158echo "<tr><td></td><td>Kreis</td><td>";
159if ($showkey) {
160        echo "<span class='key'>(".$kreis.")</span> ";
161}
162echo $knam."</td><td></td></tr>";
163
164// R e g - B e z
165$sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk='".$bezirk."' ";
166$res=pg_query($con, $sql);
167if (!$res) echo "<p class='err'>Fehler bei Regierungsbezirk<br>".$sql."<br></p>";
168$row = pg_fetch_array($res);
169$bnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
170echo "<tr><td></td><td>Regierungsbezirk</td><td>";
171if ($showkey) {
172        echo "<span class='key'>(".$bezirk.")</span> ";
173}
174echo $bnam."</td><td></td></tr>";
175// ENDE G e b i e t s z u g e h o e r i g k e i t
176
177// ** L a g e b e z e i c h n u n g **
178
179// Lagebezeichnung Mit Hausnummer
180//   ax_flurstueck  >weistAuf>  AX_LagebezeichnungMitHausnummer
181//                  <gehoertZu<
182$sql ="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung ";
183$sql.="FROM  alkis_beziehungen v ";
184$sql.="JOIN  ax_lagebezeichnungmithausnummer  l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN
185$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde ";
186$sql.="AND to_char(l.lage, 'FM00000') = lpad(s.lage,5,'0') ";
187$sql.="WHERE v.beziehung_von= $1 "; // id FS";
188$sql.="AND   v.beziehungsart='weistAuf' ";
189$sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;";
190
191// Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage
192// bei einem SekundÀrbestand fÌr eine Gemeinde oder einen Kreis reicht dies hier:
193
194//$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=s.lage ";
195// Problem: ax_lagebezeichnungkatalogeintrag.lage  ist char,
196//          ax_lagebezeichnungmithausnummer.lage   ist integer,
197
198// cast() scheitert weil auch nicht numerische Inhalte
199//$sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=cast(s.lage AS integer) ";
200
201// http://www.postgresql.org/docs/8.3/static/functions-formatting.html
202
203$v = array($gmlid);
204$res = pg_prepare("", $sql);
205$res = pg_execute("", $v);
206if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer<br>\n".$sql."</p>";}
207$j=0;
208while($row = pg_fetch_array($res)) {
209        $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
210        echo "\n<tr>\n\t";
211                if ($j == 0) {
212                        echo "<td class='ll'><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Adresse:</td>";
213                } else {
214                        echo "<td>&nbsp;</td>";
215                }
216                echo "\n\t<td></td>";
217                echo "\n\t<td class='lr'>";
218                if ($showkey) {
219                        echo "<span class='key'>(".$row["lage"].")</span>&nbsp;";
220                }
221                echo $sname."&nbsp;".$row["hausnummer"]."</td>";
222                echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
223                        echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."'>Lage ";
224                        echo "<img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a>";
225                echo "\n\t\t</p>\n\t</td>";
226        echo "\n</tr>";
227        $j++;
228}
229// Verbesserung: mehrere HsNr zur gleichen Straße als Liste?
230
231// L a g e b e z e i c h n u n g   O h n e   H a u s n u m m e r  (Gewanne oder nur Strasse)
232//   ax_flurstueck  >zeigtAuf>  AX_LagebezeichnungOhneHausnummer
233//                  <gehoertZu<
234$sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung ";
235$sql.="FROM alkis_beziehungen v ";
236$sql.="JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=v.beziehung_zu ";
237$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde ";
238//      $sql.="AND l.lage=s.lage ";
239// hier beide .lage als Char(5)
240//  in ax_lagebezeichnungKatalogeintrag mit fÃŒhrenden Nullen
241//  in ax_lagebezeichnungOhneHausnummer jedoch ohne fÃŒhrende Nullen
242$sql.="AND l.lage::text=trim(leading '0' from s.lage) ";
243//      $sql.="AND cast(l.lage AS integer)=cast(s.lage AS integer) "; // Fehlversuch, auch nicht-numerische Inhalte
244$sql.="WHERE v.beziehung_von= $1 "; // id FS";
245$sql.="AND   v.beziehungsart='zeigtAuf';"; //ORDER?
246$v = array($gmlid);
247$res = pg_prepare("", $sql);
248$res = pg_execute("", $v);
249if (!$res) echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer<br>\n".$sql."</p>";
250$j=0;
251// Es wird auch eine Zeile ausgegeben, wenn kein Eintrag gefunden!
252while($row = pg_fetch_array($res)) {
253        $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8");
254        $skey=$row["lage"]; // Strassenschluessel
255        $lgml=$row["gml_id"]; // key der Lage
256        if (!$gewann == "") {
257                echo "\n<tr>";
258                        echo "\n\t<td class='ll'><img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''> Gewanne:</td>";
259                        echo "\n\t<td></td>";
260                        echo "\n\t<td class='lr'>".$gewann."</td>";
261                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
262                                echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml."'>";
263                                echo "\n\t\t\tLage <img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''></a>";
264                        echo "\n\t\t</p>\n\t</td>";
265                echo "\n</tr>";
266        }
267        // Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link
268        if ($skey > 0) {
269                echo "\n<tr>";
270                        echo "\n\t<td class='ll'><img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''> Stra&szlig;e:</td>";
271                        echo "\n\t<td></td>";
272                        echo "\n\t<td class='lr'>";
273                        if ($showkey) {
274                                echo "<span class='key'>(".$skey.")</span>&nbsp;";
275                        }
276                        echo $row["bezeichnung"]."</td>";
277                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
278                                echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml."'>";
279                                echo "\n\t\t\tLage <img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''>\n\t\t\t</a>";
280                        echo "\n\t\t</p>\n\t</td>";
281                echo "\n</tr>";
282        }
283        $j++;
284}
285// ENDE  L a g e b e z e i c h n u n g
286
287// ** N U T Z U N G **
288// Tabellenzeilen (3 Spalten) mit tats. Nutzung zu einem FS ausgeben
289$sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, c.class, n.info, n.zustand, n.name, n.bezeichnung, m.gruppe, ";
290// Gemeinsame FlÀche von NUA und FS
291$sql.="round(st_area(st_intersection(n.wkb_geometry,f.wkb_geometry))::numeric,1) AS schnittflae, ";
292$sql.="c.label, c.blabla ";
293//      $sql.="round(area(n.wkb_geometry)::numeric,2) AS nflae "; // Flaeche NUA gesamt
294$sql.="FROM ax_flurstueck f, nutzung n ";
295$sql.="JOIN nutzung_meta m ON m.nutz_id=n.nutz_id ";
296$sql.="LEFT JOIN nutzung_class c ON c.nutz_id=n.nutz_id AND c.class=n.class ";
297$sql.="WHERE f.gml_id= $1 "; // id FS";
298$sql.="AND st_intersects(n.wkb_geometry,f.wkb_geometry) = true "; // ueberlappende Flaechen
299$sql.="AND st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) > 0.05 "; // unter Rundung
300$sql.="ORDER BY schnittflae DESC;";
301
302$v = array($gmlid);
303$res = pg_prepare("", $sql);
304$res = pg_execute("", $v);
305if (!$res) {echo "<p class='err'>Fehler bei Suche tats. Nutzung<br>\n".$sql."</p>";}
306$j=0;
307while($row = pg_fetch_array($res)) {
308        $grupp = $row["gruppe"];  // Individuelles Icon?
309        $title = htmlentities($row["title"], ENT_QUOTES, "UTF-8"); // NUA-Titel
310        $fldclass=$row["fldclass"]; // Feldname erstes  Zusatzfeld
311        $fldinfo= $row["fldinfo"];  // Feldname zweites Zusatzfeld
312        $gml=$row["gml_id"]; // Objekt-Kennung
313        $class=$row["class"];  // erstes Zusatzfeld verschlÃŒsselt -> nutzung_class
314        $info=$row["info"]; // zweites Zusatzfeld verschlÃŒsselt (noch keine Info zum entschl.)
315        $schnittflae=$row["schnittflae"];
316        $label=$row["label"]; // Nutzungsart entschlÃŒsselt
317        $zus=$row["zustand"]; // im Bau
318        $nam=$row["name"]; // Eigenname
319        $bez=$row["bezeichnung"]; // weiterer Name (unverschl.)
320        $blabla=htmlentities($row["blabla"], ENT_QUOTES, "UTF-8"); // Beschr. aus GeoInfoDok als PopUp-Label, enthÀlt auch ""
321//      $nflae=$row["nflae"];
322
323        // Beispiele:
324        // group     Verkehr           
325        // title     Weg               
326        // fldclass  Funktion         
327        // class     5250             
328        // label     Rad- und Fußweg   
329
330        echo "\n<tr>\n\t";
331                if ($j == 0) {
332                        echo "<td class='ll'><img src='ico/Abschnitt.ico' width='16' height='16' alt=''> Nutzung:</td>";
333                } else {
334                        echo "<td>&nbsp;</td>";
335                }
336                echo "\n\t<td class='fla'>".$schnittflae." m&#178;</td>";
337                echo "\n\t<td class='lr'>";
338                        If ($fldclass = "Funktion" and $label != "") { // Kurze Anzeige
339                                if ($showkey) {echo "<span class='key'>(".$class.")</span> ";}
340                                if ($blabla = "") {
341                                        echo $label;
342                                } else {
343                                        echo "<span title='".$blabla."'>".$label."</span>";
344                                }
345                        } else { // ausfuehrlichere Anzeige
346                                echo $title; // NUA-Tabelle
347                                If ($class != "") { // NUA-SchlÃŒssel
348                                        echo ", ".$fldclass.": "; // Feldname
349                                        if ($label != "") { // Bedeutung dazu wurde erfasst
350                                                if ($showkey) {echo "<span class='key'>(".$class.")</span> ";}
351                                                if ($blabla = "") {
352                                                        echo $label;
353                                                } else {
354                                                        echo "<span title='".$blabla."'>".$label."</span>";
355                                                }
356                                        } else { // muss noch erfasst werden
357                                                echo $class." "; // SchlÃŒssel als Ersatz fÃŒr Bedeutung
358                                        }
359                                }
360                        }
361
362                        If ($info != "") { // manchmal ein zweites Zusatzfeld (wie entschlÃŒsseln?)
363                                echo ", ".$fldinfo."=".$info;
364                        }
365                        If ($zus != "") {
366                                echo "\n\t\t<br>";
367                                if ($showkey) {echo "<span class='key'>(".$zus.")</span> ";}
368                                switch ($zus) {
369                                        case 2100:
370                                                echo "Außer Betrieb, stillgelegt, verlassen";
371                                                break;
372                                        case 4000:
373                                                echo "Im Bau";
374                                                break;
375                                        case 8000:
376                                                echo "Erweiterung, Neuansiedlung";
377                                                break;
378                                        default:
379                                                echo "Zustand: ".$zus;
380                                                break;
381                                }
382                        }
383                        If ($nam != "") {
384                                echo "<br>Name: ".$nam;
385                        }
386                        If ($bez != "") {
387                                echo "<br>Bezeichnung: ".$bez;
388                        //      echo "\"".$bez."\""; // +++ in "" dahinter?
389                        }
390                echo "</td>";
391                echo "\n\t<td>";
392                        // Eigene Nachweis-Seite fÃŒr Nutzungsart-FlÀche sinnvoll? dann hier verlinken
393                        //echo "\n\t\t\t<a href='alkisnua.php?gkz=".$gkz."amp;gmlid=".$gml."'>Nutzung ";
394                        //if ($idanzeige) {linkgml($gkz, $gml, "Nutzung");} // Nein, ist mit nix verknuepft
395                        switch ($grupp) { // Icon nach 4 Objektartengruppen
396                                case "Siedlung":
397                                        $ico = "Abschnitt.ico"; break;
398                                case "Verkehr":
399                                        $ico = "Strassen_Klassifikation.ico";   break;
400                                case "Vegetation":
401                                        $ico = "Wald.ico";      break;
402                                case "GewÀsser":
403                                        $ico = "Wasser.ico";    break;
404                                default:
405                                        $ico = "Abschnitt.ico"; break;
406                        }
407                        echo "<p class='nwlink'><img title='".$title."' src='ico/".$ico."' width='16' height='16' alt='NUA'></p>";
408                echo "</td>";
409        echo "\n</tr>";
410        $j++;
411}
412// ENDE  N U T Z U N G
413
414// Flaeche und Link auf GebÀude-Auswertung
415echo "\n<tr>";
416        echo "\n\t<td class='ll'>Fl&auml;che:</td>";
417        echo "\n\t<td class='fla'><span class='flae'>".$flae."</span></td>";
418        echo "\n\t<td>&nbsp;</td>\n\t<td>";
419                echo "\n\t\t<p class='nwlink noprint'>"; // Gebaeude-Verschneidung
420                        echo "\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
421                        if ($idanzeige) {echo "&amp;id=j";}
422                        if ($showkey)   {echo "&amp;id=j";}
423                        echo "' title='Geb&auml;udenachweis'>Geb&auml;ude <img src='ico/Haus.ico' width='16' height='16' alt=''></a>";
424                echo "\n\t\t</p>";
425        echo "\n\t</td>";
426echo "\n</tr>";
427
428echo "\n</table>";
429
430// ALB: KLASSIFIZIERUNG  BAULASTEN  HINWEISE  TEXTE  VERFAHREN
431
432// G R U N D B U C H
433echo "\n<table class='outer'>";
434        echo "\n<tr>";
435                echo "\n\t<td>";
436                        echo "\n\t\t<a name='gb'></a>\n\t\t<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundb&uuml;cher</h3>";
437                echo "\n\t</td>";
438                echo "\n\t<td>";
439                        echo "\n\t\t<p class='nwlink noprint'>";
440                                echo "\n\t\t\t<a href='".$self."gkz=".$gkz."&amp;gmlid=".$gmlid;
441                                if ($idanzeige) { echo "&amp;id=j";}
442                                if ($showkey)   {echo "&amp;showkey=j";}
443                                // Umschalter: FS-Nachw ruft sich selbst mit geaend. Param. auf. Posit. auf Marke #gb
444                                if ($eig=="j") {
445                                        echo "&amp;eig=n#gb' title='Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>";
446                                } else {
447                                        echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer ";
448                                        echo "<img src='ico/EigentuemerGBzeile.ico' width='16' height='16' alt=''></a>";
449                                }
450                        echo "\n\t\t</p>";
451                echo "\n\t</td>";
452        echo "\n</tr>";
453echo "\n</table>\n";
454
455// B U C H U N G S S T E L L E N  zum FS (istGebucht)
456$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, ";
457$sql.="s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, b.bezeichner AS bart ";
458//  s.beschreibungdesumfangsderbuchung as umf,  ?
459$sql.="FROM  alkis_beziehungen  v "; // Bez Flurst.- Stelle.
460$sql.="JOIN  ax_buchungsstelle  s ON v.beziehung_zu=s.gml_id ";
461
462$sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert ";
463
464$sql.="WHERE v.beziehung_von= $1 "; // id FS
465$sql.="AND   v.beziehungsart= $2 ";
466$sql.="ORDER BY s.laufendenummer;";
467
468$v = array($gmlid,'istGebucht');
469$ress = pg_prepare("", $sql);
470$ress = pg_execute("", $v);
471if (!$ress) {
472        echo "\n<p class='err'>Keine Buchungsstelle.<br>\nSQL= ".$sql."</p>\n";
473}
474$bs=0; // Z.Buchungsstelle
475while($rows = pg_fetch_array($ress)) {
476        $gmls=$rows["gml_id"];
477        $lfd=$rows["lfd"]; // BVNR
478
479        // B U C H U N G S B L A T T  zur Buchungsstelle (istBestandteilVon)
480        $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
481        $sql.="z.bezeichnung ";  // stelle -> amtsgericht
482        $sql.="FROM  alkis_beziehungen      v "; // Bez. Stelle - Blatt
483        $sql.="JOIN  ax_buchungsblatt       b ON v.beziehung_zu=b.gml_id ";
484        $sql.="JOIN  ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";
485        $sql.="WHERE v.beziehung_von= $1 "; // id Buchungsstelle
486        $sql.="AND   v.beziehungsart= $2 ";
487        $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;";
488
489        $v = array($gmls,'istBestandteilVon');
490        $resg = pg_prepare("", $sql);
491        $resg = pg_execute("", $v);
492        if (!$resg) {
493                echo "\n<p class='err'>Keine Buchungsblatt.<br>\nSQL= ".$sql."</p>\n";
494        }
495        $bl=0; // Z.Blatt
496        while($rowg = pg_fetch_array($resg)) {
497                $gmlg=$rowg["gml_id"];
498                $beznam=$rowg["bezeichnung"];
499                $blattkeyg=$rowg["blattart"];
500                $blattartg=blattart($blattkeyg);
501
502                echo "\n<hr>";
503                echo "\n<table class='outer'>";
504                echo "\n<tr>"; // 1 row only
505                        echo "\n\t<td>"; // Outer linke Spalte:
506
507                                // Rahmen mit GB-Kennz
508                                if ($blattkeyg == 1000) {
509                                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
510                                }else {
511                                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
512                                }
513                                        echo "\n\t<tr>\n\t\t<td class='head'>Bezirk</td>";
514                                                echo "\n\t\t<td class='head'>".$blattartg."</td>";
515                                                echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
516                                                echo "\n\t\t<td class='head'>Buchungsart</td>";
517                                        echo "\n\t</tr>";
518                                        echo "\n\t<tr>";
519                                                echo "\n\t\t<td title='Grundbuchbezirk'>";
520                                                        if ($showkey) {
521                                                                echo "<span class='key'>".$rowg["bezirk"]."</span><br>";
522                                                        }
523                                                        echo $beznam;
524                                                echo "</td>";
525
526                                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>";
527
528                                                echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rows["lfd"]."</td>";
529
530                                                echo "\n\t\t<td title='Buchungsart'>";
531                                                        if ($showkey) {
532                                                                echo "<span class='key'>".$rows["buchungsart"]."</span><br>";
533                                                        }
534                                                        echo $rows["bart"];
535                                                echo "</td>";
536
537                                        echo "\n\t</tr>";
538                                echo "\n\t</table>";
539
540                                // Miteigentumsanteil
541                                if ($rows["zaehler"] <> "") {
542                                        echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
543                                }
544                        echo "\n</td>";
545
546                        echo "\n<td>"; // Outer rechte Spalte: NW-Links
547                                if ($idanzeige) {
548                                        linkgml($gkz, $gmls, "Buchungsstelle");
549                                        echo "<br>";
550                                        linkgml($gkz, $gmlg, "Buchungsblatt");
551                                }
552                                echo "\n\t<p class='nwlink noprint'>weitere Auskunft:<br>";
553                                        echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg."#bvnr".$lfd;
554                                                if ($idanzeige) {echo "&amp;id=j";}
555                                                if ($showkey)   {echo "&amp;showkey=j";}
556                                                if ($blattkeyg == 1000) {
557                                                        echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>";
558                                                } else {
559                                                        echo "' title='Grundbuchnachweis'>";
560                                                }
561                                                echo $blattartg." <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''>";
562                                        echo "</a>";
563                                echo "\n\t</p>";
564                        echo "\n</td>";
565                echo "\n</tr>";
566                echo "\n</table>";
567
568                // +++ Weitere Felder ausgeben ?? beschreibungdesumfangsderbuchung
569                if ($rows["sond"] != "") {
570                        echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rows["sond"]."</p>";
571                }
572                if ($rows["nrpl"] != "") {
573                        echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rows["nrpl"]."</span> im Aufteilungsplan.</p>";
574                }
575
576                // E I G E N T U E M E R, zum GB
577                // Person <-benennt< AX_Namensnummer  >istBestandteilVon-> AX_Buchungsblatt
578                if ($eig=="j") { // Wahlweise mit/ohne EigentÃŒmer
579                        $n = eigentuemer($con, $gkz, $idanzeige, $gmlg, false); // hier aber ohne Adresse
580                        if ($n == 0) {
581                                if ($blattkeyg == 1000) {
582                                        echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
583                                        linkgml($gkz, $gmlg, "Buchungsblatt");
584                                } else {
585                                        echo "\n<p>ohne Eigent&uuml;mer.</p>";
586                                }
587                        }
588                }
589                $bl++;
590        }
591        if ($bl == 0) {
592                echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>";
593                linkgml($gkz, $gmls, "Buchungstelle");
594        }
595
596        // Buchungstelle  >an>  Buchungstelle  >istBestandteilVon>  BLATT  ->  Bezirk
597        $sql ="SELECT s.gml_id AS s_gml, s.buchungsart, s.laufendenummer as lfd, ";
598        // , s.beschreibungdesumfangsderbuchung as umf   ?
599        $sql.="s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, ";
600        $sql.="b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
601        $sql.="z.bezeichnung, a.bezeichner AS bart ";  // stelle -> amtsgericht
602        $sql.="FROM  alkis_beziehungen an "; // Bez. Stelle - Stelle
603        $sql.="JOIN  ax_buchungsstelle s ON an.beziehung_von = s.gml_id ";
604        $sql.="JOIN  alkis_beziehungen v ON s.gml_id = v.beziehung_von "; // Bez. Stelle - Blatt
605        $sql.="JOIN  ax_buchungsblatt  b ON v.beziehung_zu = b.gml_id ";
606        $sql.="JOIN  ax_buchungsblattbezirk z ON z.land = b.land AND z.bezirk = b.bezirk ";
607        $sql.="JOIN  ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert ";
608        $sql.="WHERE an.beziehung_zu = $1 "; // id herrschende Buchungsstelle
609        $sql.="AND   an.beziehungsart = 'an' ";
610        $sql.="AND   v.beziehungsart = 'istBestandteilVon' ";
611        $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;";
612
613        $v = array($gmls);
614        $resan = pg_prepare("", $sql);
615        $resan = pg_execute("", $v);
616
617        if (!$resan) {
618                echo "\n<p class='err'>Keine weiteren Buchungsstellen.<br>\nSQL=<br>".$sql."</p>\n";
619        }
620        $an=0; // Stelle an Stelle
621        while($rowan = pg_fetch_array($resan)) {
622                $beznam=$rowan["bezeichnung"];
623                $blattkeyan=$rowan["blattart"]; // Schluessel von Blattart
624                $blattartan=blattart($blattkeyan);
625
626                //echo "\n<p class='err'>SQL=<br>".$sql."</p>\n";
627
628                echo "\n<hr>\n<table class='outer'>";
629                echo "\n<tr>"; // 1 row only
630                        echo "\n<td>"; // outer linke Spalte
631
632                                // Rahmen mit Kennzeichen GB
633                                if ($blattkeyan == 1000) {
634                                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
635                                } else {
636                                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
637                                }
638                                        echo "\n\t<tr>";
639                                                echo "\n\t\t<td class='head'>Bezirk</td>";
640                                                echo "\n\t\t<td class='head'>".$blattartan."</td>";
641                                                echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
642                                                echo "\n\t\t<td class='head'>Buchungsart</td>";
643                                        echo "\n\t</tr>";
644
645                                        echo "\n\t<tr>";
646                                                echo "\n\t\t<td title='Grundbuchbezirk'>";
647                                                if ($showkey) {
648                                                        echo "<span class='key'>".$rowan["bezirk"]."</span><br>";
649                                                }
650                                                echo $beznam."</td>";
651
652                                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowan["blatt"]."</span></td>";
653
654                                                echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowan["lfd"]."</td>";
655
656                                                echo "\n\t\t<td title='Buchungsart'>";
657                                                        if ($showkey) {
658                                                                echo "<span class='key'>".$rowan["buchungsart"]."</span><br>";
659                                                        }
660                                                        echo $rowan["bart"];
661                                                echo "</td>";
662
663                                        echo "\n\t</tr>";
664                                echo "\n\t</table>";
665                                if ($rowan["zaehler"] <> "") {
666                                        echo "\n<p class='ant'>".$rowan["zaehler"]."/".$rowan["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
667                                }
668                        echo "\n</td>";
669                        echo "\n<td>"; // outer rechte Spalte
670                                if ($idanzeige) {
671                                        linkgml($gkz, $rowan["s_gml"], "Buchungsstelle");
672                                        echo "<br>";
673                                        linkgml($gkz, $rowan["g_gml"], "Buchungsblatt");
674                                }
675                                echo "\n<br>";
676                                echo "\n\t<p class='nwlink'>";
677                                        echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowan["g_gml"];
678                                                if ($idanzeige) {echo "&amp;id=j";}
679                                                if ($showkey)   {echo "&amp;showkey=j";}
680                                                echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>";
681                                                echo $blattartan;
682                                                echo " <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''>";
683                                        echo "</a>";
684                                echo "\n\t</p>";
685                        echo "\n\t</td>";
686                echo "\n</tr>";
687                echo "\n</table>";
688
689                if ($blattkeyan != 1000) {
690                        echo "\n<p>Blattart: ".$blattartan." (".$blattkeyan.").<br>\n";
691                }
692
693                // +++ Weitere Felder ausgeben ?? BeschreibungDesUmfangsDerBuchung
694                if ($rowan["nrpl"] != "") {
695                        echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rowan["nrpl"]."</span> im Aufteilungsplan.</p>";
696                }
697                if ($rowan["sond"] != "") {
698                        echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rowan["sond"]."</p>";
699                }
700
701                if ($eig=="j") {
702                        $n = eigentuemer($con, $gkz, $idanzeige, $rowan["g_gml"], false, $showkey); // ohne Adresse
703                        // Anzahl $n kontrollieren? Warnen?
704                }
705                $an++;
706        }
707        // Zaehler $an==0 ist hier der Normalfall
708        $bs++;
709}
710if ($bs == 0) {
711        echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>";
712        linkgml($gkz, $gmlid, "Flurst&uuml;ck");
713}
714?>
715
716<form action=''>
717        <div class='buttonbereich noprint'>
718        <hr>
719                <input type='button' name='back'  value='&lt;&lt;' title='Zur&uuml;ck'  onClick='javascript:history.back()'>&nbsp;
720                <input type='button' name='print' value='Druck' title='Seite Drucken' onClick='window.print()'>&nbsp;
721                <input type='button' name='close' value='X' title='Fenster schlie&szlig;en' onClick='window.close()'>
722        </div>
723</form>
724
725<?php footer($gkz, $gmlid, $idumschalter, $idanzeige, $_SERVER['PHP_SELF']."?", $hilfeurl, "&amp;eig=".$eig, $showkey); ?>
726
727</body>
728</html>
Note: See TracBrowser for help on using the repository browser.