source: trunk/info/info/alkis/alkisfsnw.php @ 355

Revision 355, 37.7 KB checked in by frank.jaeger, 5 years ago (diff)

Grafiken in der Auskunft umgestellt von .ico auf .png

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        2011-11-16 Neuer Style class='dbg', Link Historie
9        2011-11-17 Parameter der Functions geÀndert
10        2011-11-30 import_request_variables, $dbvers PostNAS 0.5 entfernt
11        2011-12-01 Summe der AbschnittsflÀchen (NUA) an amtl. BuchflÀche des FS angleichen
12        2011-12-16 Zeilenumbruch in Nutzungsart, Spaltenbreite Link
13        2012-07-24 Export als CSV, pg_free_result(), pg_close()
14        2012-11-27 split deprecated, besser: explode
15        2013-01-17 FS-Kennzeichen (ALB-Format) als Parameter statt gmlid möglich
16        2013-04-08 deprecated "import_request_variables" ersetzt
17        2013-04-11 ID-Links (im Testmodus) auch an Lagebezeichnung (mit/ohne HsNr) und an Nutzungs-Abschnitt
18        2013-06-24 Unna: Bodenneuordnung, strittige Grenze
19        2013-06-27 Bodenneuordnung u. stritt.Gr. in Tabellen-Struktur, Link zur Bodenerneuerung (neues Modul)
20        2014-01-30 Korrektur Nutzungsart (z.B. Friedhof mit class=funktion=0 hatte Anzeige "unbekannt")
21        2014-02-06 Korrektur
22        2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer
23        2014-09-15 Bei Relationen den Timestamp abschneiden
24        2014-09-23 Korrektur "IS NULL"
25        2014-09-30 Umbenennung SchlÃŒsseltabellen (Prefix), RÃŒckbau substring(gml_id)
26        2014-12-16 Zum Grundbuch einen Hinweis anzeigen, wenn es dazu berechtigte Buchungen gibt.
27        2015-12-09 Austausch .ico durch .png
28
29        ToDo:
30        - BodenschÀtzung anzeigen
31        - EntschlÃŒsseln "Bahnkategorie" bei Bahnverkehr, "OberflÀchenmaterial" bei Unland
32          Dazu evtl. diese Felder ins Classfld verschieben (Meta-Tabellen!)
33*/
34session_start();
35$id="n";
36$cntget = extract($_GET);
37require_once("alkis_conf_location.php");
38if ($auth == "mapbender") {require_once($mapbender);}
39include("alkisfkt.php");
40if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;}
41$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
42if ($keys == "j") {$showkey=true;} else {$showkey=false;}
43?>
44
45<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
46<html>
47<head>
48        <meta name="author" content="b600352" >
49        <meta http-equiv="cache-control" content="no-cache">
50        <meta http-equiv="pragma" content="no-cache">
51        <meta http-equiv="expires" content="0">
52        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
53        <title>ALKIS Flurst&uuml;cksnachweis</title>
54        <link rel="stylesheet" type="text/css" href="alkisauszug.css">
55        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico">
56        <script type="text/javascript">
57                function ALKISexport() {
58                        window.open(<?php echo "'alkisexport.php?gkz=".$gkz."&tabtyp=flurstueck&gmlid=".$gmlid."'"; ?>);
59                }
60        </script>
61        <style type='text/css' media='print'>
62                .noprint {visibility: hidden;}
63        </style>
64</head>
65<body>
66
67<?php
68
69function ber_bs_hinw($gmls) {
70        // Unter einem Grundbuch-Link den Hinweis auf "berechtigte Buchungssstellen" anzeigen
71        // In FS-Nachweis wird nur der EigentÃŒmer des direkt gebuchten GrundstÃŒcks angezeigt.
72        // Den Erbbauberechtigten sieht man erst in der Grundbuch-Auskunft.
73        global $debug, $showkey;
74
75        // Buchungstelle dien. >an> Buchungstelle herr.
76        $sql ="SELECT count(sh.gml_id) AS anz, sh.buchungsart, a.bezeichner
77        FROM ax_buchungsstelle sd JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an)
78        LEFT JOIN v_bs_buchungsart a ON sh.buchungsart=a.wert
79        WHERE sd.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL GROUP BY sh.buchungsart, a.bezeichner;";
80
81        $v = array($gmls); // id dienende BS
82        $resan = pg_prepare("", $sql);
83        $resan = pg_execute("", $v);
84        if (!$resan) {
85                echo "\n<p class='err'>Fehler bei 'berechtigte Buchungsstellen'.</p>\n";
86                //if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";}
87        }
88        $an=0;
89        while($rowan = pg_fetch_array($resan)) {
90                $an++;
91                if ($an == 1) {echo "\n\t<br>\n\t<p class='nwlink' title='Andere Grundst&uuml;cke mit Rechten an diesem.'>Berechtigte Buchungen:<br><b>";}
92                if ($an > 1) {echo",<br>";} // kann es gemischste Buchungsarten geben?
93                echo $rowan["anz"]." ".htmlentities($rowan["bezeichner"], ENT_QUOTES, "UTF-8");
94                if ($showkey) {
95                        echo " <span class='key'>(".$rowan["buchungsart"].")</span>";
96                }
97        }
98        if ($an == 0) {
99                echo "<br><p class='nwlink' title='Kein anderes Grundst&uuml;ck hat ein Recht an diesem.'>Keine berechtigte Buchung</p>";
100        } else {
101                echo "</b></p>";
102        }
103        pg_free_result($resan);
104}
105
106// S t a r t
107$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
108if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
109
110// Ein (ALB- ?) FlurstÃŒcks-Kennzeichen wurde alternativ zur gml_id ÃŒbermittelt
111if ($gmlid == '' and $fskennz != '') {
112        // Übergabe Format z.B. "llgggg-fff-nnnn/zz.nn" oder "gggg-ff-nnn/zz"
113        $arr=explode("-", $fskennz, 4);
114        $zgemkg=trim($arr[0]);
115        if (strlen($zgemkg) == 20 and $arr[1] == "") { // Oh, ist wohl schon das Datenbank-Feldformat
116                $fskzdb=$zgemkg;
117        } else { // Nö, ist wohl eher ALB-Format
118                // Das Kennzeichen auseinander nehmen.
119                if (strlen($zgemkg) == 6) {
120                        $land=substr($zgemkg, 0, 2);
121                        $zgemkg=substr($zgemkg, 2, 4);
122                } else { // kein schöner Land ..
123                        $land='05'; // NRW, ToDo: Default-Land aus config
124                }
125                $zflur=str_pad($arr[1], 3 , "0", STR_PAD_LEFT); // Flur-Nr
126                $zfsnr=trim($arr[2]); // FlurstÃŒcke-Nr
127                $zn=explode("/", $zfsnr, 2); // Bruch?
128                $zzaehler=str_pad(trim($zn[0]), 5 , "0", STR_PAD_LEFT);
129                $znenner=trim($zn[1]);
130                if (trim($znenner, " 0.") == "") { // kein Bruch oder nur Nullen
131                        $znenner="____"; // in DB-Spalte mit Tiefstrich aufgefÃŒllt
132                } else {
133                        $zn=explode(".", $znenner, 2); // .00 wegwerfen
134                        $znenner=str_pad($zn[0], 4 , "0", STR_PAD_LEFT);
135                }
136                // nun die Teile stellengerecht wieder zusammen setzen         
137                $fskzdb=$land.$zgemkg.$zflur.$zzaehler.$znenner.'__'; // FS-Kennz. Format Datenbank
138        }
139        // Feld flurstueckskennzeichen ist in DB indiziert
140        // Format z.B.'052647002001910013__' oder '05264700200012______'
141        $sql ="SELECT gml_id FROM ax_flurstueck WHERE flurstueckskennzeichen= $1 AND endet IS NULL ;";
142
143        $v = array($fskzdb);
144        $res = pg_prepare("", $sql);
145        $res = pg_execute("", $v);
146        if ($row = pg_fetch_array($res)) {
147                $gmlid=$row["gml_id"];
148        } else {
149                echo "<p class='err'>Fehler! Kein Treffer f&uuml;r Flurst&uuml;ckskennzeichen='".$fskennz."' (".$fskzdb.")</p>";
150        }
151        pg_free_result($res);
152}
153
154// F L U R S T U E C K
155$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, g.gemarkungsnummer, g.bezeichnung
156FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer
157WHERE f.gml_id= $1 AND f.endet IS NULL;";
158
159$v = array($gmlid); // mit gml_id suchen
160$res = pg_prepare("", $sql);
161$res = pg_execute("", $v);
162
163if (!$res) {
164        echo "\n<p class='err'>Fehler bei Flurstuecksdaten</p>\n";
165        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
166}
167if ($row = pg_fetch_array($res)) {
168        $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
169        $gmkgnr=$row["gemarkungsnummer"];
170        $bezirk=$row["regierungsbezirk"];
171        $kreis=$row["kreis"];
172        $gemeinde=$row["gemeinde"];
173        $flurnummer=$row["flurnummer"];
174        $flstnummer=$row["zaehler"];
175        $nenner=$row["nenner"];
176        if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr
177        $fsbuchflae=$row["amtlicheflaeche"]; // amtliche Fl. aus DB-Feld
178        $fsgeomflae=$row["fsgeomflae"]; // aus Geometrie ermittelte FlÀche
179        $fsbuchflaed=number_format($fsbuchflae,0,",",".") . " m&#178;"; // Display-Format dazu
180        $fsgeomflaed=number_format($fsgeomflae,0,",",".") . " m&#178;";
181        $entsteh=$row["zeitpunktderentstehung"];
182        $name=$row["name"]; // Fortfuehrungsnummer(n)
183        $arrn = explode(",", trim($name, "{}") ); // PHP-Array
184} else {
185        echo "<p class='err'>Fehler! Kein Treffer f&uuml;r Flurst&uuml;ck mit gml_id=".$gmlid."</p>";
186        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
187        echo "</body></html>";
188        return;
189}
190pg_free_result($res);
191// Balken
192if ($eig=="j") {
193        echo "<p class='fsei'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
194        echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck mit Eigent&uuml;mer</h2>\n";
195} else {
196        echo "<p class='fskennz'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
197        echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck</h2>\n";
198}
199echo "\n<table class='outer'>\n<tr>\n\t<td>"; // linke Seite
200        // darin Tabelle Kennzeichen
201        echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
202                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>";
203                echo "\n\t<tr>\n\t\t<td title='Gemarkung'>";
204                if ($showkey) {
205                        echo "<span class='key'>".$gmkgnr."</span><br>";
206                }
207                echo $gemkname."&nbsp;</td>";
208                echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
209                echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>";
210        echo "\n\t</table>";
211echo "\n\t</td>\n\t<td>"; // rechte Seite
212        // FS-Daten 2 Spalten
213        echo "\n\t<table class='fsd'>";
214                echo "\n\t<tr>\n\t\t<td>Entstehung</td>";
215                echo "\n\t\t<td>".$entsteh."</td>\n\t</tr>";
216                echo "\n\t<tr>";
217                        echo "\n\t\t<td>letz. Fortf</td>";
218                        echo "\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>";
219                                foreach($arrn AS $val) { // Zeile f. jedes Element des Array
220                                        echo trim($val, '"')."<br>";
221                                }
222                        echo "</td>";
223                echo "\n\t</tr>";
224
225        echo "\n\t</table>";
226        if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck", "ax_flurstueck"); }
227echo "\n\t</td>\n</tr>\n</table>";
228//      echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame  . "</td>\n</tr>";
229// Ende Seitenkopf
230
231echo "\n<hr>";
232echo "\n<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle
233echo "\n<table class='fs'>";
234
235// ** G e b i e t s z u g e h o e r i g k e i t **
236// eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben
237// Schluessel "land" wird nicht verwendet, gibt es Bestaende wo das nicht einheitlich ist?
238echo "\n<tr>\n\t<td class='ll'><img title='Im Gebiet von' src='ico/Gemeinde.png' width='16' height='16' alt=''> Gebiet:</td>";
239
240// G e m e i n d e
241$sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk= $1 AND kreis= $2 AND gemeinde= $3 AND endet IS NULL;";
242
243$v = array($bezirk,$kreis,$gemeinde);
244$res = pg_prepare("", $sql);
245$res = pg_execute("", $v);
246if (!$res) {
247        echo "\n<p class='err'>Fehler bei Gemeinde</p>\n";
248        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
249}
250$row = pg_fetch_array($res);
251$gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
252echo "\n\t<td class='lr'>Gemeinde</td><td class='lr'>";
253if ($showkey) {
254        echo "<span class='key'>(".$gemeinde.")</span> ";
255}
256echo $gnam."</td><td width='80'>";  // Mindest-Breite der Spalte fuer die Links
257        // Link zur FlurstÃŒcks-Historie (passt nicht ganz in die Zeile "Gemeinde", aber gut unter "weitere Auskunft")
258        echo "\n<p class='nwlink noprint'>";
259                echo "\n\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
260                                if ($idanzeige) {echo "&amp;id=j";}
261                                if ($showkey)   {echo "&amp;showkey=j";}
262                        echo "' title='Vorg&auml;nger-Flurst&uuml;cke'>Historie ";
263                        echo "<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>";
264                echo "</a>";
265        echo "\n</p>";
266echo "</td></tr>";
267pg_free_result($res);
268
269// K r e i s
270$sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk= $1 AND kreis= $2 AND endet IS NULL;";
271$v = array($bezirk,$kreis);
272$res = pg_prepare("", $sql);
273$res = pg_execute("", $v);
274if (!$res) {
275        echo "\n<p class='err'>Fehler bei Kreis</p>\n";
276        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
277}
278$row = pg_fetch_array($res);
279$knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
280echo "<tr><td>&nbsp;</td><td>Kreis</td><td>";
281if ($showkey) {
282        echo "<span class='key'>(".$kreis.")</span> ";
283}
284echo $knam."</td><td>&nbsp;</td></tr>";
285pg_free_result($res);
286
287// R e g - B e z
288$sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk= $1 AND endet IS NULL;";
289$v = array($bezirk);
290$res = pg_prepare("", $sql);
291$res = pg_execute("", $v);
292if (!$res) {
293        echo "<p class='err'>Fehler bei Regierungsbezirk</p>";
294        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
295}
296$row=pg_fetch_array($res);
297$bnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
298echo "<tr><td>&nbsp;</td><td>Regierungsbezirk</td><td>";
299if ($showkey) {
300        echo "<span class='key'>(".$bezirk.")</span> ";
301}
302echo $bnam."</td><td>&nbsp;</td></tr>";
303pg_free_result($res);
304// ENDE G e b i e t s z u g e h o e r i g k e i t
305
306// ** L a g e b e z e i c h n u n g **
307
308// Lagebezeichnung MIT Hausnummer
309// ax_flurstueck  >weistAuf>  AX_LagebezeichnungMitHausnummer
310$sql="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung
311FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(f.weistauf) 
312JOIN ax_lagebezeichnungkatalogeintrag s ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage
313WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL   
314ORDER BY l.gemeinde, l.lage, l.hausnummer;";
315
316$v = array($gmlid);
317$res = pg_prepare("", $sql);
318$res = pg_execute("", $v);
319
320if (!$res) {
321        echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer</p>";
322        if ($debug > 1) {
323                //echo "<p class='dbg'>Fehler:".pg_result_error($res)."</p>";
324                echo "<p class='dbg'>Fehler:".pg_last_error()."</p>";
325        }
326        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
327} else {
328        $j=0;
329        while($row = pg_fetch_array($res)) {
330                $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
331                echo "\n<tr>\n\t";
332                        if ($j == 0) {
333                                echo "<td class='ll'><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''> Adresse:</td>";
334                        } else {
335                                echo "<td>&nbsp;</td>";
336                        }
337                        echo "\n\t<td>&nbsp;</td>";
338                        echo "\n\t<td class='lr'>";
339                        if ($showkey) {
340                                echo "<span class='key' title='Straßenschl&uuml;ssel'>(".$row["lage"].")</span>&nbsp;";
341                        }
342                        echo $sname."&nbsp;".$row["hausnummer"];
343                        if ($idanzeige) {linkgml($gkz, $row["gml_id"], "Lagebezeichnung mit Hausnummer", "ax_lagebezeichnungmithausnummer");}
344                        echo "</td>";
345                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
346                                echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"];
347                                if ($showkey) {echo "&amp;showkey=j";}
348                                echo "'>Lage ";
349                                echo "<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>";
350                        echo "\n\t\t</p>\n\t</td>";
351                echo "\n</tr>";
352                $j++;
353        }
354        pg_free_result($res);
355}
356// Verbesserung: mehrere HsNr zur gleichen Straße als Liste?
357
358// Lagebezeichnung OHNE Hausnummer  (Gewanne oder nur Strasse)
359// ax_flurstueck  >zeigtAuf>  AX_LagebezeichnungOhneHausnummer
360$sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung
361FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=ANY(f.zeigtauf)
362LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage
363WHERE f.gml_id = $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL;";
364
365$v = array($gmlid);
366$res = pg_prepare("", $sql);
367$res = pg_execute("", $v);
368if (!$res) {
369        echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer</p>";
370        //if ($debug > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($res)."</p>";}
371        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
372}
373$j=0;
374// Es wird auch eine Zeile ausgegeben, wenn kein Eintrag gefunden!
375while($row = pg_fetch_array($res)) {
376        $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8");
377        $skey=$row["lage"]; // Strassenschl.
378        $lgml=$row["gml_id"]; // key der Lage
379        if (!$gewann == "") {
380                echo "\n<tr>";
381                        echo "\n\t<td class='ll' title='Lagebezeichnung'><img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''> Gewanne:</td>";
382                        echo "\n\t<td></td>";
383                        echo "\n\t<td class='lr'>".$gewann."</td>";
384                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
385                                echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml;
386                                if ($showkey) {echo "&amp;showkey=j";}                         
387                                echo "'>\n\t\t\tLage <img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''></a>";
388                        echo "\n\t\t</p>\n\t</td>";
389                echo "\n</tr>";
390        }
391        // Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link
392        if ($skey > 0) {
393                echo "\n<tr>";
394                        echo "\n\t<td class='ll'><img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''> Stra&szlig;e:</td>";
395                        echo "\n\t<td></td>";
396                        echo "\n\t<td class='lr'>";
397                        if ($showkey) {
398                                echo "<span class='key'>(".$skey.")</span>&nbsp;";
399                        }
400                        echo $row["bezeichnung"];
401                        if ($idanzeige) {linkgml($gkz, $lgml, "Lagebezeichnung o. HsNr.", "ax_lagebezeichnungohnehausnummer");}
402                        echo "</td>";
403                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
404                                echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml;
405                                if ($showkey) {echo "&amp;showkey=j";}                         
406                                echo "'>\n\t\t\tLage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''>\n\t\t\t</a>";
407                        echo "\n\t\t</p>\n\t</td>";
408                echo "\n</tr>";
409        }
410        $j++;
411}
412pg_free_result($res);
413// ENDE  L a g e b e z e i c h n u n g
414
415// ** N U T Z U N G ** Gemeinsame FlÀche von NUA und FS
416// Tabellenzeilen (3 Spalten) mit tats. Nutzung zu einem FS ausgeben
417$sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, n.nutz_id, n.class, n.info, n.zustand, n.name, n.bezeichnung, m.gruppe,
418st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) AS schnittflae, c.label, c.blabla
419FROM ax_flurstueck f, nutzung n JOIN nutzung_meta m ON m.nutz_id=n.nutz_id
420LEFT JOIN nutzung_class c ON c.nutz_id=n.nutz_id AND c.class=n.class
421WHERE f.gml_id= $1 AND st_intersects(n.wkb_geometry,f.wkb_geometry) = true
422AND st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) > 0.05
423AND f.endet IS NULL ORDER BY schnittflae DESC;";
424
425$v = array($gmlid);
426$res = pg_prepare("", $sql);
427$res = pg_execute("", $v);
428if (!$res) {
429        echo "<p class='err'>Fehler bei Suche tats. Nutzung</p>\n";
430        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
431}
432$the_Xfactor=$fsbuchflae / $fsgeomflae; // geom. ermittelte FlÀche auf amtl. BuchflÀche angleichen
433$j=0;
434while($row = pg_fetch_array($res)) {
435        $grupp=$row["gruppe"]; // 4 Gruppen
436        $nutzid=$row["nutz_id"]; // 27 Tabellen, num. Key
437        $title=htmlentities($row["title"], ENT_QUOTES, "UTF-8"); // Titel der 27 Tabellen
438        $fldclass=$row["fldclass"]; // Name 1. Zusatzfeld
439        $fldinfo= $row["fldinfo"];  // Name 2. Zus.
440        $gml=$row["gml_id"];
441        $class=$row["class"]; // 1. Zusatzfeld verschlÃŒsselt -> nutzung_class
442        $info=$row["info"]; // 2. Zus. verschlÃŒsselt (noch keine Info zum entschl.)
443        $schnittflae=$row["schnittflae"];
444        $label=$row["label"]; // Nutzungsart entschlÃŒsselt
445        $zus=$row["zustand"]; // im Bau
446        $nam=$row["name"]; // Eigenname
447        $bez=$row["bezeichnung"]; // weiterer Name (unverschl.)
448        $blabla=htmlentities($row["blabla"], ENT_QUOTES, "UTF-8");
449        $label=str_replace("/", "<br>", $label); // Ersetzt "/" durch html-Zeilenwechsel
450
451        echo "\n<tr>\n\t";
452                if ($j == 0) {
453                        echo "<td class='ll' title='Abschnitt der tats&auml;chlichen Nutzung'><img src='ico/Abschnitt.png' width='16' height='16' alt=''> Nutzung:</td>";
454                } else {
455                        echo "<td>&nbsp;</td>";
456                }
457                $absflaebuch = $schnittflae * $the_Xfactor; // angleichen geometrisch an amtliche FlÀche
458                $schnittflae = number_format($schnittflae,1,",",".") . " m&#178;"; // geometrisch
459                $absflaebuch = number_format($absflaebuch,0,",",".") . " m&#178;"; // Abschnitt an BuchflÀche angeglichen
460                echo "\n\t<td class='fla' title='geometrisch berechnet: ".$schnittflae."'>".$absflaebuch."</td>";
461
462                echo "\n\t<td class='lr'>";
463                        if ($class == 0) {
464                                if ($showkey) {echo "<span class='key'>(".$nutzid.")</span> ";}
465                                echo $title; // Name der Tabelle
466                        } elseif ( ($fldclass == "Funktion" OR $fldclass == "Vegetationsmerkmal") AND $label != "") { // Kurze Anzeige
467                                if ($showkey) {echo "<span class='key' title='".$fldclass."'>(".$nutzid."-".$class.")</span> ";}
468                                if ($blabla = "") {
469                                        echo $label;
470                                } else {
471                                        echo "<span title='".$blabla."'>".$label."</span>";
472                                }
473                        } else { // ausfuehrlichere Anzeige
474                                echo $title; // NUA-Tabelle
475                                if ($class != "") { // NUA-SchlÃŒssel
476                                        echo ", ".$fldclass.": "; // Feldname
477                                        if ($showkey) {echo "<span class='key' title='".$fldclass."'>(".$nutzid."-".$class.")</span> ";}
478                                        if ($label != "") { // Bedeutung dazu wurde erfasst
479                                                if ($blabla = "") {
480                                                        echo $label;
481                                                } else {
482                                                        echo "<span title='".$blabla."'>".$label."</span>";
483                                                }
484                                        } else { // muss noch erfasst werden
485                                                echo $class." "; // SchlÃŒssel als Ersatz fÃŒr Bedeutung
486                                        }
487                                }
488                        }
489
490                        if ($info != "") { // manchmal ein zweites Zusatzfeld (wie entschlÃŒsseln?)
491                                echo ", ".$fldinfo."=".$info;
492                        }
493                        if ($zus != "") { // Zustand
494                                echo "\n\t\t<br>";
495                                if ($showkey) {echo "<span class='key'>(".$zus.")</span> ";}
496                                echo "<span title='Zustand'>";                         
497                                switch ($zus) {
498                                        case 2100: echo "Außer Betrieb, stillgelegt, verlassen"; break;
499                                        case 4000: echo "Im Bau"; break;
500                                        case 8000: echo "Erweiterung, Neuansiedlung"; break;
501                                        default: echo "Zustand: ".$zus; break;
502                                }
503                                echo "</span>";
504                        }
505                        if ($nam != "") {echo "<br>Name: ".$nam;}
506                        if ($bez != "") {echo "<br>Bezeichnung: ".$bez;}
507                        if ($idanzeige) {linkgml($gkz, $gml, "Nutzungs-Abschnitt", "");}
508
509                echo "</td>";
510                echo "\n\t<td>";
511                        switch ($grupp) { // Icon nach 4 Objektartengruppen
512                                case "Siedlung":   $ico = "Abschnitt.png"; break;
513                                case "Verkehr":    $ico = "Strassen_Klassifikation.png"; break;
514                                case "Vegetation": $ico = "Wald.png"; break;
515                                case "GewÀsser":   $ico = "Wasser.png";        break;
516                                default:        $ico = "Abschnitt.png"; break;
517                        }
518                        // Icon ist auch im Druck sichtbar, class='noprint' ?           
519                        echo "<p class='nwlink'><img title='".$title."' src='ico/".$ico."' width='16' height='16' alt='NUA'></p>";
520                echo "</td>";
521        echo "\n</tr>";
522        $j++;
523}
524pg_free_result($res);
525// ENDE  N U T Z U N G
526
527echo "\n<tr>"; // Summenzeile
528        echo "\n\t<td class='ll' title='amtliche Fl&auml;che (Buchfl&auml;che)'>Fl&auml;che:</td>";
529        echo "\n\t<td class='fla sum'>";
530        echo "<span title='geometrisch berechnete Fl&auml;che = ".$fsgeomflaed."' class='flae'>".$fsbuchflaed."</span></td>";
531
532        // Flaeche und Link auf GebÀude-Auswertung
533        echo "\n\t<td>&nbsp;</td>\n\t<td>";
534                echo "\n\t\t<p class='nwlink noprint'>"; // Gebaeude-Verschneidung
535                        echo "\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
536                        if ($idanzeige) {echo "&amp;id=j";}
537                        if ($showkey) {echo "&amp;showkey=j";}
538                        echo "' title='Geb&auml;udenachweis'>Geb&auml;ude <img src='ico/Haus.png' width='16' height='16' alt=''></a>";
539                echo "\n\t\t</p>";
540        echo "\n\t</td>";
541echo "\n</tr>";
542
543// H i n w e i s  auf Bodenneuordnung oder eine strittige Grenze
544// b.name, b.artderfestlegung,
545
546$sql_boden ="SELECT a.wert, a.bezeichner AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez,
547b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key
548FROM ax_bauraumoderbodenordnungsrecht b JOIN v_baurecht_adf a ON a.wert=b.artderfestlegung
549LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle
550WHERE b.endet IS NULL AND d.endet IS NULL 
551AND (ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL ), wkb_geometry)
552 OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL), wkb_geometry))";
553
554pg_prepare($con, "bodeneuordnung", $sql_boden);
555$res_bodeneuordnung = pg_execute($con, "bodeneuordnung", array($gmlid));
556
557$sql_str="SELECT gml_id
558FROM ax_besondereflurstuecksgrenze WHERE endet IS NULL AND 1000 = ANY(artderflurstuecksgrenze)
559AND ST_touches((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL),wkb_geometry);";
560
561pg_prepare($con, "strittigeGrenze", $sql_str);
562$res_strittigeGrenze = pg_execute($con, "strittigeGrenze", array($gmlid));
563
564if (pg_num_rows($res_bodeneuordnung) > 0 OR pg_num_rows($res_strittigeGrenze) > 0) {
565        echo "\n<tr>";
566        echo "\n\t<td title='Hinweise zum Flurst&uuml;ck'><h6><img src='ico/Hinweis.png' width='16' height='16' alt=''> ";
567        echo "Hinweise:</td></h6>\n\t<td colspan=3>&nbsp;</td>";
568        echo "\n</tr>";
569
570        if (pg_num_rows($res_bodeneuordnung) > 0) {
571
572                while ($row = pg_fetch_array($res_bodeneuordnung)) { // 3 Zeilen je Verfahren
573
574                        // Zeile 1 - kommt immer, darum hier den Link
575                        echo "\n<tr title='Bau-, Raum- oder Bodenordnungsrecht'>";
576                                echo "\n\t<td>Bodenrecht:</td>";
577                                echo "\n\t<td>Festlegung</td>"; // "Art der Festlegung" zu lang
578                                echo "\n\t<td>";
579                                        if ($showkey) {echo "<span class='key'>(".$row['wert'].")</span> ";}
580                                        echo $row['art_verf'];
581                                echo "</td>";
582                                echo "\n\t<td>";
583                                // LINK:
584                                echo "\n\t\t<p class='nwlink noprint'>";
585                                        echo "\n\t\t\t<a href='alkisbaurecht.php?gkz=".$gkz."&amp;gmlid=".$row['verf_gml'];
586                                        if ($idanzeige) {echo "&amp;id=j";}
587                                        if ($showkey) {echo "&amp;showkey=j";}
588                                        echo "' title='Bau-, Raum- oder Bodenordnungsrecht'>Recht <img src='ico/Gericht.png' width='16' height='16' alt=''></a>";
589                                echo "\n\t\t</p>";                     
590                                echo "</td>";
591                        echo "\n</tr>";
592
593                        // Zeile 2
594                        $dstell=$row['stelle_key']; // LEFT JOIN
595                        if ($dstell != "") { // Kann auch leer sein
596                                echo "\n<tr title='Flurbereinigungsbeh&ouml;rde'>";
597                                        echo "\n\t<td>&nbsp;</td>";
598                                        echo "\n\t<td>Dienststelle</td>";
599                                        echo "\n\t<td>";
600                                                if ($showkey) {echo "<span class='key'>(".$dstell.")</span> ";}
601                                                echo $row['stelle_bez'];
602                                        echo "</td>";
603                                        echo "\n\t<td>&nbsp;</td>";
604                                echo "\n</tr>";
605                        }
606
607                        // Zeile 3
608                        $vbez=$row['verf_bez']; // ist nicht immer gefÃŒllt
609                        $vnam=$row['verf_name']; // noch seltener
610                        if ($vbez != "") {
611                                echo "\n<tr title='Verfahrensbezeichnung'>";
612                                        echo "\n\t<td>&nbsp;</td>\n\t<td>Verfahren</td>";
613                                        echo "\n\t<td>";
614                                                if ($vnam == "") {
615                                                        echo $vbez; // nur die Nummer
616                                                } else {        // Name oder beides
617                                                        if ($showkey) {echo "<span class='key'>(".$vbez.")</span> ";}
618                                                        echo $vnam;
619                                                }
620                                        echo "</td>";
621                                        echo "\n\t<td>&nbsp;</td>";
622                                echo "\n</tr>";
623                        }
624                }
625        }
626
627        if (pg_num_rows($res_strittigeGrenze) > 0) { // 1 Zeile
628                echo "\n<tr>";
629                echo "\n<td>Strittige Grenze:</td>";
630                echo "<td colspan=2>Mindestens eine Flurst&uuml;cksgrenze ist als <b>strittig</b> zu bezeichnen. Sie kann nicht festgestellt werden, weil die Beteiligten sich nicht &uuml;ber den Verlauf einigen. Nach sachverst&auml;ndigem Ermessen der Katasterbeh&ouml;rde ist anzunehmen, dass das Liegenschaftskataster nicht die rechtm&auml;&szlig;ige Grenze nachweist.</td>";
631                echo "\n<td>&nbsp;</td>";
632                echo "\n</tr>";
633        }
634}
635
636echo "\n</table>";
637
638// G R U N D B U C H
639echo "\n<table class='outer'>";
640        echo "\n<tr>";
641                echo "\n\t<td>";
642                        echo "\n\t\t<a name='gb'></a>\n\t\t<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundb&uuml;cher</h3>";
643                echo "\n\t</td>";
644                echo "\n\t<td>";
645                        echo "\n\t\t<p class='nwlink noprint'>";
646                                echo "\n\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&amp;gmlid=".$gmlid;
647                                if ($idanzeige) { echo "&amp;id=j";}
648                                if ($showkey)   {echo "&amp;showkey=j";}
649                                // Umschalter: FS-Nachw ruft sich selbst mit geaend. Param. auf. Posit. auf Marke #gb
650                                if ($eig=="j") {
651                                        echo "&amp;eig=n#gb' title='Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>";
652                                } else {
653                                        echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer ";
654                                        echo "<img src='ico/EigentuemerGBzeile.png' width='16' height='16' alt=''></a>";
655                                }
656                        echo "\n\t\t</p>";
657                echo "\n\t</td>";
658        echo "\n</tr>";
659echo "\n</table>\n";
660
661// B U C H U N G S S T E L L E N  zum FS (istGebucht)
662$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, b.bezeichner AS bart
663FROM ax_flurstueck f JOIN ax_buchungsstelle s ON s.gml_id=f.istgebucht
664LEFT JOIN v_bs_buchungsart b ON s.buchungsart=b.wert
665WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL ORDER BY s.laufendenummer;";
666
667$v = array($gmlid);
668$ress = pg_prepare("", $sql);
669$ress = pg_execute("", $v);
670if (!$ress) {
671        echo "\n<p class='err'>Keine Buchungsstelle.</p>\n";
672        //if ($debug > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($ress)."</p>";}
673        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
674}
675$bs=0; // Z.Buchungsstelle
676while($rows = pg_fetch_array($ress)) {
677        $gmls=$rows["gml_id"]; // gml b-Stelle
678        $lfd=$rows["lfd"]; // BVNR
679
680        // B U C H U N G S B L A T T  zur Buchungsstelle (istBestandteilVon)
681        $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung
682        FROM ax_buchungsstelle s JOIN ax_buchungsblatt b ON b.gml_id=s.istbestandteilvon
683        LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk
684        WHERE s.gml_id = $1 AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL
685        ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;";
686
687        $v = array($gmls);
688        $resg = pg_prepare("", $sql);
689        $resg = pg_execute("", $v);
690        if (!$resg) {
691                echo "\n<p class='err'>Kein Buchungsblatt.</p>\n";
692                if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";}
693        }
694        $bl=0; // Z.Blatt
695        while($rowg = pg_fetch_array($resg)) {
696                $gmlg=$rowg["gml_id"];
697                $beznam=$rowg["bezeichnung"];
698                $blattkeyg=$rowg["blattart"];
699                $blattartg=blattart($blattkeyg);
700
701                echo "\n<hr>";
702                echo "\n<table class='outer'>";
703                echo "\n<tr>"; // 1 row only
704                        echo "\n\t<td>"; // Outer linke Spalte:
705
706                                // Rahmen mit GB-Kennz
707                                if ($blattkeyg == 1000) {
708                                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
709                                }else {
710                                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
711                                }
712                                        echo "\n\t<tr>\n\t\t<td class='head'>Bezirk</td>";
713                                                echo "\n\t\t<td class='head'>".$blattartg."</td>";
714                                                echo "\n\t\t<td class='head'>Lfd-Nr.</td>";
715                                                echo "\n\t\t<td class='head'>Buchungsart</td>";
716                                        echo "\n\t</tr>";
717                                        echo "\n\t<tr>";
718                                                echo "\n\t\t<td title='Grundbuchbezirk'>";
719                                                        if ($showkey) {
720                                                                echo "<span class='key'>".$rowg["bezirk"]."</span><br>";
721                                                        }
722                                                echo $beznam."&nbsp;</td>";
723
724                                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>";
725
726                                                echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rows["lfd"]."</td>";
727
728                                                echo "\n\t\t<td title='Buchungsart'>";
729                                                        if ($showkey) {
730                                                                echo "<span class='key'>".$rows["buchungsart"]."</span><br>";
731                                                        }
732                                                echo $rows["bart"]."</td>";
733                                        echo "\n\t</tr>";
734                                echo "\n\t</table>";
735
736                                // Miteigentumsanteil
737                                if ($rows["zaehler"] <> "") {
738                                        echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
739                                }
740                        echo "\n</td>";
741
742                        echo "\n<td>"; // Outer rechte Spalte: NW-Links
743                                if ($idanzeige) {
744                                        linkgml($gkz, $gmls, "Buchungsstelle", "ax_buchungsstelle");
745                                        echo "<br>";
746                                        linkgml($gkz, $gmlg, "Buchungsblatt", ""); // ax_buchungsblatt keine Relationen
747                                }
748                                echo "\n\t<p class='nwlink noprint'>weitere Auskunft:<br>";
749                                        echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg."#bvnr".$lfd;
750                                                if ($idanzeige) {echo "&amp;id=j";}
751                                                if ($showkey)   {echo "&amp;showkey=j";}
752                                                if ($blattkeyg == 1000) {
753                                                        echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>";
754                                                } else {
755                                                        echo "' title='Grundbuchnachweis'>";
756                                                }
757                                                echo $blattartg." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>";
758                                        echo "</a>";
759                                echo "\n\t</p>";
760
761                                ber_bs_hinw($gmls); // berechtigte Buchungstellen Hinweis
762
763                        echo "\n</td>";
764                echo "\n</tr>";
765                echo "\n</table>";
766
767                // +++ Weitere Felder ausgeben? BeschreibungDesUmfangsDerBuchung
768                if ($rows["sond"] != "") {
769                        echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rows["sond"]."</p>";
770                }
771                if ($rows["nrpl"] != "") {
772                        echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rows["nrpl"]."</span> im Aufteilungsplan.</p>";
773                }
774
775                // E I G E N T U E M E R, zum GB
776                // Person <-benennt< AX_Namensnummer  >istBestandteilVon-> AX_Buchungsblatt
777                if ($eig=="j") { // Wahlweise mit/ohne EigentÃŒmer
778                        echo "\n\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n";
779                        $n = eigentuemer($con, $gmlg, false, ""); // ohne Adresse
780                        if ($n == 0) {
781                                if ($blattkeyg == 1000) {
782                                        echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
783                                        linkgml($gkz, $gmlg, "Buchungsblatt", "");
784                                } else {
785                                        echo "\n<p>ohne Eigent&uuml;mer.</p>";
786                                }
787                        }
788                }
789                $bl++;
790        }
791        if ($bl == 0) {
792                echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>";
793                echo "\n<p class='err'>Parameter: gml_id= ".$gmls.", Beziehung='istBestandteilVon'</p>";
794                linkgml($gkz, $gmls, "Buchungstelle", "ax_buchungsstelle");
795        }
796
797
798/* ++ Diese Teil wird deaktiviert, weil das nicht vorkommen kann. SpÀter komplett löschen ++
799
800// Dienende Buchungsstellen ausgeben - Beginn
801
802        // Buchungstelle herr. >an> Buchungstelle dien. >istBestandteilVon> BLATT -> Bezirk
803        $sql ="SELECT sd.gml_id AS s_gml, sd.buchungsart, sd.laufendenummer as lfd, sd.zaehler, sd.nenner, sd.nummerimaufteilungsplan as nrpl, sd.beschreibungdessondereigentums as sond,
804        b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.bezeichner AS bart
805        FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON sd.gml_id=ANY(sh.an)
806        JOIN ax_buchungsblatt b ON b.gml_id=sd.istbestandteilvon
807        LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk
808        LEFT JOIN v_bs_buchungsart a ON sd.buchungsart=a.wert
809        WHERE sh.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL
810        ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;";
811
812        $v = array($gmls); // id herrschende Buchungsstelle
813        $resan = pg_prepare("", $sql);
814        $resan = pg_execute("", $v);
815        if (!$resan) {
816                echo "\n<p class='err'>Fehler bei 'weitere Buchungsstellen'.</p>\n";
817                if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";}
818        }
819
820        $an=0; // Stelle >Recht an> Stelle
821        while($rowan = pg_fetch_array($resan)) {
822                $beznam=$rowan["bezeichnung"];
823                $blattkeyan=$rowan["blattart"]; // Schluessel von Blattart
824                $blattartan=blattart($blattkeyan);
825                echo "\n<hr>\n<table class='outer'>";
826                echo "\n<tr>"; // 1 row only
827                        echo "\n<td>"; // outer linke Spalte
828                                // Rahmen mit Kennzeichen GB
829                                if ($blattkeyan == 1000) {
830                                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
831                                } else {
832                                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
833                                }
834                                        echo "\n\t<tr>";
835                                                echo "\n\t\t<td class='head'>Bezirk</td>";
836                                                echo "\n\t\t<td class='head'>".$blattartan."</td>";
837                                                echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
838                                                echo "\n\t\t<td class='head'>Buchungsart</td>";
839                                        echo "\n\t</tr>";
840                                        echo "\n\t<tr>";
841                                                echo "\n\t\t<td title='Grundbuchbezirk'>";
842                                                if ($showkey) {echo "<span class='key'>".$rowan["bezirk"]."</span><br>";}
843                                                echo $beznam."</td>";
844
845                                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowan["blatt"]."</span></td>";
846
847                                                echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowan["lfd"]."</td>";
848
849                                                echo "\n\t\t<td title='Buchungsart'>";
850                                                        if ($showkey) {echo "<span class='key'>".$rowan["buchungsart"]."</span><br>";}
851                                                        echo $rowan["bart"];
852                                                echo "</td>";
853                                        echo "\n\t</tr>";
854                                echo "\n\t</table>";
855                                if ($rowan["zaehler"] <> "") {
856                                        echo "\n<p class='ant'>".$rowan["zaehler"]."/".$rowan["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
857                                }
858                        echo "\n</td>";
859                        echo "\n<td>"; // outer rechte Spalte
860                                if ($idanzeige) {
861                                        linkgml($gkz, $rowan["s_gml"], "Buchungsstelle", "ax_buchungsstelle");
862                                        echo "<br>";
863                                        linkgml($gkz, $rowan["g_gml"], "Buchungsblatt", "");
864                                }
865                                echo "\n<br>";
866                                echo "\n\t<p class='nwlink'>";
867                                        echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowan["g_gml"];
868                                                if ($idanzeige) {echo "&amp;id=j";}
869                                                if ($showkey)   {echo "&amp;showkey=j";}
870                                                echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>";
871                                                echo $blattartan;
872                                                echo " <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>";
873                                        echo "</a>";
874                                echo "\n\t</p>";
875                        echo "\n\t</td>";
876                echo "\n</tr>";
877                echo "\n</table>";
878
879                if ($blattkeyan != 1000) {
880                        echo "\n<p>Blattart: ".$blattartan." (".$blattkeyan.").<br>\n";
881                }
882                if ($rowan["nrpl"] != "") {
883                        echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rowan["nrpl"]."</span> im Aufteilungsplan.</p>";
884                }
885                if ($rowan["sond"] != "") {
886                        echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rowan["sond"]."</p>";
887                }
888                if ($eig == "j") {
889                        $n = eigentuemer($con, $rowan["g_gml"], false, ""); // ohne Adresse
890                }
891                $an++; 
892        }
893        pg_free_result($resan);
894// Dienende Buchungsstellen ausgeben - Ende
895*/
896
897        $bs++;
898}
899pg_free_result($resg);
900if ($bs == 0) {
901        echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>";
902        linkgml($gkz, $gmlid, "Flurst&uuml;ck", "ax_flurstueck");
903}
904pg_close($con);
905echo <<<END
906
907<form action=''>
908        <div class='buttonbereich noprint'>
909        <hr>
910                <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
911                <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp;
912                <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download_fs.png" width="32" height="16" alt="Export"></a>&nbsp;
913        </div>
914</form>
915END;
916
917footer($gmlid, $_SERVER['PHP_SELF']."?", "&amp;eig=".$eig);
918
919?>
920
921</body>
922</html>
Note: See TracBrowser for help on using the repository browser.