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

Revision 105, 28.4 KB checked in by frank.jaeger, 13 years ago (diff)

Anpassung an PostNAS-Version 0.6:
Buchauskunft und Navigation: Formate des Feldes "lage" (Straßenschlüssel) werden gesteuert über einen neuen conf-Parameter $dbvers (05 oder 06).
Konverter-Scripte für PostNAS 0.6 in einem neuen Ordner.

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