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

Revision 133, 29.3 KB checked in by frank.jaeger, 12 years ago (diff)

Buchauskunft: Im Flurstücksnachweis die geometrisch berechneten Nutzungsarten-Abschnitte auf die amtliche Buchfläche des FS angleichen.

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