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

Revision 376, 34.7 KB checked in by frank.jaeger, 7 years ago (diff)

Verbesserungen an der ALKIS-Buchauskunft (Geschwindigkeit, Fehlerkorrekturen, Mandantenfähigkeit) und an der Mapbender2-Navigation.

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        2016-02-24 Version fuer norGIS-ALKIS-Import
9        2016-03-14 Korrekturen
10        2016-12-01 HTML5, Gemeinsam genutzte Datenbanken ermöglichen
11
12        ToDo:
13        - BodenschÀtzung anzeigen
14        - Bessere Differenzierung bei den Nutzungsarten (Tabelle dafÃŒr aufbauen)
15*/
16session_start();
17$id="n";
18$eig="n";
19$cntget = extract($_GET);
20require_once("alkis_conf_location.php");
21if ($auth == "mapbender") {require_once($mapbender);}
22include("alkisfkt.php");
23$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
24if ($keys == "j") {$showkey=true;} else {$showkey=false;}
25?>
26<!doctype html>
27<html lang="de">
28<head>
29        <meta charset="utf-8">
30        <title>ALKIS Flurst&uuml;cksnachweis</title>
31        <link rel="stylesheet" type="text/css" href="alkisauszug.css">
32        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico">
33        <script type="text/javascript">
34                function ALKISexport() {
35                        window.open(<?php echo "'alkisexport.php?gkz=".$gkz."&tabtyp=flurstueck&gmlid=".$gmlid."'"; ?>);
36                }
37        </script>
38        <style type='text/css' media='print'>
39                .noprint {visibility: hidden;}
40        </style>
41</head>
42<body>
43<?php
44// S t a r t
45$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisfsnw.php'");
46if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
47
48// Ein (ALB- ?) FlurstÃŒcks-Kennzeichen wurde alternativ zur gml_id ÃŒbermittelt
49if ($gmlid == '' and $fskennz != '') {
50        // Übergabe Format z.B. "llgggg-fff-nnnn/zz.nn" oder "gggg-ff-nnn/zz"
51        $arr=explode("-", $fskennz, 4);
52        $zgemkg=trim($arr[0]);
53        if (strlen($zgemkg) == 20 and $arr[1] == "") { // Oh, ist wohl schon das Datenbank-Feldformat
54                $fskzdb=$zgemkg;
55        } else { // Nö, ist wohl eher ALB-Format
56                // Das Kennzeichen auseinander nehmen.
57                if (strlen($zgemkg) == 6) {
58                        $land=substr($zgemkg, 0, 2);
59                        $zgemkg=substr($zgemkg, 2, 4);
60                } else { // kein schöner Land ..
61                        $land=$defland; // Default-Land aus config
62                }
63                $zflur=str_pad($arr[1], 3 , "0", STR_PAD_LEFT); // Flur-Nr
64                $zfsnr=trim($arr[2]); // FlurstÃŒcke-Nr
65                $zn=explode("/", $zfsnr, 2); // Bruch?
66                $zzaehler=str_pad(trim($zn[0]), 5 , "0", STR_PAD_LEFT);
67                $znenner=trim($zn[1]);
68                if (trim($znenner, " 0.") == "") { // kein Bruch oder nur Nullen
69                        $znenner="____"; // in DB-Spalte mit Tiefstrich aufgefÃŒllt
70                } else {
71                        $zn=explode(".", $znenner, 2); // .00 wegwerfen
72                        $znenner=str_pad($zn[0], 4 , "0", STR_PAD_LEFT);
73                }
74                // nun die Teile stellengerecht wieder zusammen setzen         
75                $fskzdb=$land.$zgemkg.$zflur.$zzaehler.$znenner.'__'; // FS-Kennz. Format Datenbank
76        }
77        // Spalte "flurstueckskennzeichen" ist in DB indiziert
78        // Format z.B.'052647002001910013__' oder '05264700200012______'
79        $sql ="SELECT gml_id FROM ax_flurstueck WHERE flurstueckskennzeichen= $1 AND endet IS NULL ;";
80
81        $v = array($fskzdb);
82        $res = pg_prepare("", $sql);
83        $res = pg_execute("", $v);
84        if ($row = pg_fetch_array($res)) {
85                $gmlid=$row["gml_id"];
86        } else {
87                echo "<p class='err'>Fehler! Kein Treffer f&uuml;r Flurst&uuml;ckskennzeichen='".$fskennz."' (".$fskzdb.")</p>";
88        }
89        pg_free_result($res);
90}
91
92// F L U R S T U E C K
93$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
94FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer
95WHERE f.gml_id= $1 AND f.endet IS NULL;";
96
97$v = array($gmlid); // mit gml_id suchen
98$res = pg_prepare("", $sql);
99$res = pg_execute("", $v);
100
101if (!$res) {
102        echo "\n<p class='err'>Fehler bei Flurstuecksdaten</p>\n";
103        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
104}
105if ($row = pg_fetch_array($res)) {
106        $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
107        $gmkgnr=$row["gemarkungsnummer"];
108        $bezirk=$row["regierungsbezirk"];
109        $kreis=$row["kreis"];
110        $gemeinde=$row["gemeinde"];
111        $flurnummer=$row["flurnummer"];
112        $zaehler=$row["zaehler"];
113        $nenner=$row["nenner"];
114        $flstnummer=$zaehler;
115        if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr
116        $fsbuchflae=$row["amtlicheflaeche"]; // amtliche Fl. aus DB-Feld
117        $fsgeomflae=$row["fsgeomflae"]; // aus Geometrie ermittelte FlÀche
118        $fsbuchflaed=number_format($fsbuchflae,0,",",".") . " m&#178;"; // Display-Format dazu
119        $fsgeomflaed=number_format($fsgeomflae,0,",",".") . " m&#178;";
120        $entsteh=$row["zeitpunktderentstehung"];
121        $name=$row["name"]; // Fortfuehrungsnummer(n)
122        $arrn = explode(",", trim($name, "{}") ); // PHP-Array
123} else {
124        echo "<p class='err'>Fehler! Kein Treffer f&uuml;r Flurst&uuml;ck mit gml_id=".$gmlid."</p>";
125        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
126        echo "</body></html>";
127        return;
128}
129pg_free_result($res);
130
131// Balken
132if ($eig=="j") {
133        echo "<p class='fsei'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n"
134        ."\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck mit Eigent&uuml;mer</h2>\n";
135} else {
136        echo "<p class='fskennz'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n"
137        ."\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck</h2>\n";
138}
139
140// PrÃŒfung der Gebiets-Berechtigung bei gemeinsam genutzten Datenbanken (Kreis und Gemeinde)
141// FÃŒr das gkz (z.B. aus dem Mapfile-Namen) wird in der Konfiguration ein Filter gesetzt.
142if ( ($filtkreis != '' and $filtkreis != $kreis) or ($filtgem != '' and $filtgem != $gemeinde) ) {
143        // Einer der gesetzten Filter passt nicht
144        if ($debug > 2) {
145//++ Schönes Bild? Stop-Zeichen?
146                echo "<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>"
147                ."<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>";
148        }
149        echo "\n<br><p class='stop1'>Zugriff nicht erlaubt</p>"
150        ."\n<br><p class='stop2'>Dies Flurst&uuml;ck liegt ausserhalb der zust&auml;ndigen Stadt oder Gemeinde.</p>\n</body>\n</html>";
151        exit;
152}
153
154echo "\n<table class='outer'>\n<tr>\n\t<td>" // linke Seite
155        ."\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>" // darin Tabelle Kennzeichen
156                ."\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>"
157                ."\n\t<tr>\n\t\t<td title='Gemarkung'>";
158                if ($showkey) {
159                        echo "<span class='key'>".$gmkgnr."</span><br>";
160                }
161                echo $gemkname."&nbsp;</td>"
162                ."\n\t\t<td title='Flurnummer'>".$flurnummer."</td>"
163                ."\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>"
164        ."\n\t</table>"
165."\n\t</td>\n\t<td>" // rechte Seite
166        ."\n\t<table class='fsd'>" // FS-Daten 2 Spalten
167                ."\n\t<tr>\n\t\t<td>Entstehung</td>"
168                ."\n\t\t<td>".$entsteh."</td>\n\t</tr>"
169                ."\n\t<tr>"
170                        ."\n\t\t<td>letz. Fortf</td>"
171                        ."\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>";
172                                foreach($arrn AS $val) { // Zeile f. jedes Element des Array
173                                        echo trim($val, '"')."<br>";
174                                }
175                        echo "</td>"
176                ."\n\t</tr>"
177        ."\n\t</table>"
178."\n\t</td>\n</tr>\n</table>";
179//      echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame  . "</td>\n</tr>";
180// Ende Seitenkopf
181
182echo "\n<hr>"
183."\n<p class='nwlink noprint'>weitere Auskunft:</p>" // oben rechts von der Tabelle
184."\n<table class='fs'>";
185
186// ** G e b i e t s z u g e h o e r i g k e i t **
187// eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben
188// Schluessel "land" wird nicht verwendet, gibt es Bestaende wo das nicht einheitlich ist?
189echo "\n<tr>\n\t<td class='ll'><img title='Im Gebiet von' src='ico/Gemeinde.png' width='16' height='16' alt=''> Gebiet:</td>";
190
191// G e m e i n d e
192$sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk= $1 AND kreis= $2 AND gemeinde= $3 AND endet IS NULL;";
193
194$v = array($bezirk,$kreis,$gemeinde);
195$res = pg_prepare("", $sql);
196$res = pg_execute("", $v);
197if (!$res) {
198        echo "\n<p class='err'>Fehler bei Gemeinde</p>\n";
199        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
200}
201$row = pg_fetch_array($res);
202$gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
203echo "\n\t<td class='lr'>Gemeinde</td><td class='lr'>";
204if ($showkey) {
205        echo "<span class='key'>(".$gemeinde.")</span> ";
206}
207// Link zur FS-Historie (passt nicht ganz in die Zeile "Gemeinde", aber gut unter "weitere Auskunft")
208echo $gnam."</td><td class='nwlink'>"
209        ."\n<p class='nwlink noprint'>"
210                ."\n\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
211                        if ($showkey)   {echo "&amp;showkey=j";}
212                        echo "' title='Vorg&auml;nger-Flurst&uuml;cke'>Historie "
213                        ."<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>"
214                ."</a>"
215        ."\n</p>"
216. "</td></tr>";
217pg_free_result($res);
218
219// K r e i s
220$sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk= $1 AND kreis= $2 AND endet IS NULL;";
221$v = array($bezirk,$kreis);
222$res = pg_prepare("", $sql);
223$res = pg_execute("", $v);
224if (!$res) {
225        echo "\n<p class='err'>Fehler bei Kreis</p>\n";
226        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
227}
228$row = pg_fetch_array($res);
229$knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
230echo "<tr><td>&nbsp;</td><td>Kreis</td><td>";
231if ($showkey) {
232        echo "<span class='key'>(".$kreis.")</span> ";
233}
234echo $knam."</td><td>&nbsp;</td></tr>";
235pg_free_result($res);
236
237// R e g - B e z
238$sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk= $1 AND endet IS NULL;";
239$v = array($bezirk);
240$res = pg_prepare("", $sql);
241$res = pg_execute("", $v);
242if (!$res) {
243        echo "<p class='err'>Fehler bei Regierungsbezirk</p>";
244        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
245}
246$row=pg_fetch_array($res);
247$bnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
248echo "<tr><td>&nbsp;</td><td>Regierungsbezirk</td><td>";
249if ($showkey) {
250        echo "<span class='key'>(".$bezirk.")</span> ";
251}
252echo $bnam."</td><td>&nbsp;</td></tr>";
253pg_free_result($res);
254// ENDE G e b i e t s z u g e h o e r i g k e i t
255
256// ** L a g e b e z e i c h n u n g **
257
258// Lagebezeichnung MIT Hausnummer
259// ax_flurstueck  >weistAuf>  AX_LagebezeichnungMitHausnummer
260$sql="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung
261FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(f.weistauf) 
262JOIN 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
263WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL   
264ORDER BY l.gemeinde, l.lage, l.hausnummer;";
265
266$v = array($gmlid);
267$res = pg_prepare("", $sql);
268$res = pg_execute("", $v);
269
270if (!$res) {
271        echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer</p>";
272        if ($debug > 1) {
273                //echo "<p class='dbg'>Fehler:".pg_result_error($res)."</p>";
274                echo "<p class='dbg'>Fehler:".pg_last_error()."</p>";
275        }
276        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
277} else {
278        $j=0;
279        while($row = pg_fetch_array($res)) {
280                $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
281                echo "\n<tr>\n\t";
282                        if ($j == 0) {
283                                echo "<td class='ll'><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''> Adresse:</td>";
284                        } else {
285                                echo "<td>&nbsp;</td>";
286                        }
287                        echo "\n\t<td>&nbsp;</td>"
288                        ."\n\t<td class='lr'>";
289                        if ($showkey) {
290                                echo "<span class='key' title='Straßenschl&uuml;ssel'>(".$row["lage"].")</span>&nbsp;";
291                        }
292                        echo $sname."&nbsp;".$row["hausnummer"]."</td>"
293                        ."\n\t<td>\n\t\t<p class='nwlink noprint'>"
294                                ."\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"];
295                                if ($showkey) {echo "&amp;showkey=j";}
296                                echo "'>Lage <img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>"
297                        ."\n\t\t</p>\n\t</td>"
298                ."\n</tr>";
299                $j++;
300        }
301        $cnt_adressen=$j;
302        pg_free_result($res);
303}
304// +++ Verbesserung: mehrere HsNr zur gleichen Straße als Liste?
305
306// Lagebezeichnung OHNE Hausnummer  (Gewanne oder nur Strasse)
307// ax_flurstueck  >zeigtAuf>  AX_LagebezeichnungOhneHausnummer
308$sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung
309FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=ANY(f.zeigtauf)
310LEFT 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
311WHERE f.gml_id = $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL;";
312
313$v = array($gmlid);
314$res = pg_prepare("", $sql);
315$res = pg_execute("", $v);
316if (!$res) {
317        echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer</p>";
318        //if ($debug > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($res)."</p>";}
319        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
320}
321$j=0;
322// Es wird auch eine Zeile ausgegeben, wenn kein Eintrag gefunden!
323while($row = pg_fetch_array($res)) {
324        $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8");
325        $skey=$row["lage"]; // Strassenschl.
326        $lgml=$row["gml_id"]; // key der Lage
327        if (!$gewann == "") {
328                echo "\n<tr>"
329                        ."\n\t<td class='ll' title='Lagebezeichnung'><img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''> Gewanne:</td>"
330                        ."\n\t<td></td>"
331                        ."\n\t<td class='lr'>".$gewann."</td>"
332                        ."\n\t<td>\n\t\t<p class='nwlink noprint'>"
333                                ."\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml;
334                                if ($showkey) {echo "&amp;showkey=j";}                         
335                                echo "'>\n\t\t\tLage <img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''></a>"
336                        ."\n\t\t</p>\n\t</td>"
337                ."\n</tr>";
338        }
339        // Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link
340        if ($skey > 0) {
341                echo "\n<tr>"
342                        ."\n\t<td class='ll'><img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''> Stra&szlig;e:</td>"
343                        ."\n\t<td></td>"
344                        ."\n\t<td class='lr'>";
345                        if ($showkey) {
346                                echo "<span class='key'>(".$skey.")</span>&nbsp;";
347                        }
348                        echo $row["bezeichnung"]."</td>"
349                        ."\n\t<td>\n\t\t<p class='nwlink noprint'>"
350                                ."\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml;
351                                if ($showkey) {echo "&amp;showkey=j";}                         
352                                echo "'>\n\t\t\tLage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''>\n\t\t\t</a>"
353                        ."\n\t\t</p>\n\t</td>"
354                ."\n</tr>";
355        }
356        $j++;
357}
358pg_free_result($res);
359// ENDE  L a g e b e z e i c h n u n g
360
361// ** N U T Z U N G ** Gemeinsame FlÀche von NUA und FS
362// Tabellenzeilen (3 Spalten) mit tats. Nutzung zu einem FS ausgeben
363
364/* N U T Z U N G   C l a s s i c (alt)
365$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,
366st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) AS schnittflae, c.label, c.blabla
367FROM ax_flurstueck f, nutzung n JOIN nutzung_meta m ON m.nutz_id=n.nutz_id
368LEFT JOIN nutzung_class c ON c.nutz_id=n.nutz_id AND c.class=n.class
369WHERE f.gml_id= $1 AND st_intersects(n.wkb_geometry,f.wkb_geometry) = true
370AND st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) > 0.05
371AND f.endet IS NULL ORDER BY schnittflae DESC;";
372
373$v = array($gmlid);
374$res = pg_prepare("", $sql);
375$res = pg_execute("", $v);
376if (!$res) {
377        echo "<p class='err'>Fehler bei Suche tats. Nutzung</p>\n";
378        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
379}
380$the_Xfactor=$fsbuchflae / $fsgeomflae; // geom. ermittelte FlÀche auf amtl. BuchflÀche angleichen
381$j=0;
382while($row = pg_fetch_array($res)) {
383        $grupp=$row["gruppe"]; // 4 Gruppen
384        $nutzid=$row["nutz_id"]; // 27 Tabellen, num. Key
385        $title=htmlentities($row["title"], ENT_QUOTES, "UTF-8"); // Titel der 27 Tabellen
386        $fldclass=$row["fldclass"]; // Name 1. Zusatzfeld
387        $fldinfo= $row["fldinfo"];  // Name 2. Zus.
388        $gml=$row["gml_id"];
389        $class=$row["class"]; // 1. Zusatzfeld verschlÃŒsselt -> nutzung_class
390        $info=$row["info"]; // 2. Zus. verschlÃŒsselt (noch keine Info zum entschl.)
391        $schnittflae=$row["schnittflae"];
392        $label=$row["label"]; // Nutzungsart entschlÃŒsselt
393        $zus=$row["zustand"]; // im Bau
394        $nam=$row["name"]; // Eigenname
395        $bez=$row["bezeichnung"]; // weiterer Name (unverschl.)
396        $blabla=htmlentities($row["blabla"], ENT_QUOTES, "UTF-8");
397        $label=str_replace("/", "<br>", $label); // Ersetzt "/" durch html-Zeilenwechsel
398
399        echo "\n<tr>\n\t";
400                if ($j == 0) {
401                        echo "<td class='ll' title='Abschnitt der tats&auml;chlichen Nutzung'><img src='ico/Abschnitt.png' width='16' height='16' alt=''> Nutzung:</td>";
402                } else {
403                        echo "<td>&nbsp;</td>";
404                }
405                $absflaebuch = $schnittflae * $the_Xfactor; // angleichen geometrisch an amtliche FlÀche
406                $schnittflae = number_format($schnittflae,1,",",".") . " m&#178;"; // geometrisch
407                $absflaebuch = number_format($absflaebuch,0,",",".") . " m&#178;"; // Abschnitt an BuchflÀche angeglichen
408                echo "\n\t<td class='fla' title='geometrisch berechnet: ".$schnittflae."'>".$absflaebuch."</td>";
409
410                echo "\n\t<td class='lr'>";
411                        if ($class == 0) {
412                                if ($showkey) {echo "<span class='key'>(".$nutzid.")</span> ";}
413                                echo $title; // Name der Tabelle
414                        } elseif ( ($fldclass == "Funktion" OR $fldclass == "Vegetationsmerkmal") AND $label != "") { // Kurze Anzeige
415                                if ($showkey) {echo "<span class='key' title='".$fldclass."'>(".$nutzid."-".$class.")</span> ";}
416                                if ($blabla = "") {
417                                        echo $label;
418                                } else {
419                                        echo "<span title='".$blabla."'>".$label."</span>";
420                                }
421                        } else { // ausfuehrlichere Anzeige
422                                echo $title; // NUA-Tabelle
423                                if ($class != "") { // NUA-SchlÃŒssel
424                                        echo ", ".$fldclass.": "; // Feldname
425                                        if ($showkey) {echo "<span class='key' title='".$fldclass."'>(".$nutzid."-".$class.")</span> ";}
426                                        if ($label != "") { // Bedeutung dazu wurde erfasst
427                                                if ($blabla = "") {
428                                                        echo $label;
429                                                } else {
430                                                        echo "<span title='".$blabla."'>".$label."</span>";
431                                                }
432                                        } else { // muss noch erfasst werden
433                                                echo $class." "; // SchlÃŒssel als Ersatz fÃŒr Bedeutung
434                                        }
435                                }
436                        }
437                        if ($info != "") { // manchmal ein zweites Zusatzfeld (wie entschlÃŒsseln?)
438                                echo ", ".$fldinfo."=".$info;
439                        }
440                        if ($zus != "") { // Zustand
441                                echo "\n\t\t<br>";
442                                if ($showkey) {echo "<span class='key'>(".$zus.")</span> ";}
443                                echo "<span title='Zustand'>";                         
444                                switch ($zus) {
445                                        case 2100: echo "Außer Betrieb, stillgelegt, verlassen"; break;
446                                        case 4000: echo "Im Bau"; break;
447                                        case 8000: echo "Erweiterung, Neuansiedlung"; break;
448                                        default: echo "Zustand: ".$zus; break;
449                                }
450                                echo "</span>";
451                        }
452                        if ($nam != "") {echo "<br>Name: ".$nam;}
453                        if ($bez != "") {echo "<br>Bezeichnung: ".$bez;}
454
455                echo "</td>";
456                echo "\n\t<td>";
457                        switch ($grupp) { // Icon nach 4 Objektartengruppen
458                                case "Siedlung":   $ico = "Abschnitt.png"; break;
459                                case "Verkehr":    $ico = "Strassen_Klassifikation.png"; break;
460                                case "Vegetation": $ico = "Wald.png"; break;
461                                case "GewÀsser":   $ico = "Wasser.png";        break;
462                                default:        $ico = "Abschnitt.png"; break;
463                        }
464                        // Icon ist auch im Druck sichtbar, class='noprint' ?           
465                        echo "<p class='nwlink'><img title='".$title."' src='ico/".$ico."' width='16' height='16' alt='NUA'></p>";
466                echo "</td>";
467        echo "\n</tr>";
468        $j++;
469}
470  E N D E   N U T Z U N G   C l a s s i c  */
471
472/* Status "Nutzung":
473
474 Die Classic-Tabelle "nutzung" ist eine Zusammenfassung aller Tabellen mit Nutzungs-FlÀchen
475 Die Classic-Tabelle "nutzung_meta" zeigt die Kategorie und Gruppe des Nutzungs-Abschnitts an.
476
477 Aus der norGIS-Struktur wird ersatzweise VORLÄUFIG die Tabelle "nutz_21" verwendet,
478 die das alte ALB-Format der Nutzungs-Abschnitte von FlurstÃŒcken simuliert.
479 Hier finden sich bereits verschnittene FlÀchen, aber die gml_id fehlt.
480
481 Die EntschlÃŒsselung der Nutzungsart in den verschiedenen ALKIS-Varianten ist darin unterentwickelt.
482 Diese ist eigentlich fÃŒr jede der getrennten Tabellen der Gruppe Nutzungsrt individuell.
483 Die Classic-Lösung mit 2 Zusatzfeldern war schon sehr pauschalisiert, aber
484 durch die RÃŒck-Konvertierung in ALB-Strukturen in der norGIS-Version ist das zu stark vereinfacht.
485 z.B. wird "WohnbauflÀche" mit der Zusatzeigenschaft "Art der Bebauung": 'Offen'
486 nun zur Nutzungsart "Offen".
487 Durch JOIN auf die "alkis_elemente" mit einem Teil des SchlÃŒssels wird das zur "WohnbauflÀche, Offen".
488 Es sollte eine Tabellen-Struktur bereit gestellt werden, die auch aussagt, dass der Wert "Offen" zur
489 Zusatz-Eigenschaft "Art der Bebauung" gehört. Dazu muss das PostProcessing erweitert werden. */
490
491
492$sql="SELECT e.definition, trim(both FROM n.nutzsl) AS nutzsl, trim(both FROM n.fl) AS fl, trim(both FROM s.nutzung) AS nutzung
493 FROM nutz_21 n JOIN nutz_shl s ON n.nutzsl = s.nutzshl
494 JOIN alkis_elemente e ON e.kennung = substring(n.nutzsl from 1 for 5)
495WHERE n.flsnr = $1 ORDER BY cast(n.fl AS integer) DESC;";
496// Flurstueckskennzeichen mit Trennzeichen im ALB-Format wie 'llgggg-fff-zzzzz/nnn'
497// Alternativ könnte auch der VIEW "ax_tatsaechlichenutzungsschluessel" fÌr den Text zur Nutzungsart verwendet werden.
498
499$fskennzalb=$defland.$gmkgnr."-".str_pad($flurnummer,3,"0",STR_PAD_LEFT)."-".str_pad($zaehler,5,"0",STR_PAD_LEFT)."/".str_pad($nenner,3,"0",STR_PAD_LEFT);
500// echo "<p class='err'>Kennz ALB='".$fskennzalb."'</p>";
501
502$v = array($fskennzalb);
503$res = pg_prepare("", $sql);
504$res = pg_execute("", $v);
505if (!$res) {
506        echo "<p class='err'>Fehler bei Suche tats. Nutzung</p>\n";
507        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = FS-Kennz = '".$fskennzalb."'</p>";}
508}
509
510$j=0;
511while($row = pg_fetch_array($res)) {
512        $flae=$row["fl"]; // BuchflÀche
513        $nutzsl=$row["nutzsl"]; // SchlÃŒssel
514        $nutzung=$row["nutzung"]; // Bezeichnung aus ALB-Tabelle, "fein"
515        $defi=$row["definition"]; // Langer Text mit Beschreibung
516        $title=htmlentities($defi, ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet
517
518        // Aus der Definition den String zwischen den ersten '' ausschneiden
519        $pos = strpos($defi, "'") + 1;
520        $len = strpos($defi, "'", $pos) - $pos;
521        $nutztab=substr($defi, $pos, $len); // Nutzungart Kategorie aus der Beschreibung ausschneiden
522
523        echo "\n<tr>\n\t";
524                if ($j == 0) {
525                        echo "<td class='ll' title='Abschnitt der tats&auml;chlichen Nutzung'><img src='ico/Abschnitt.png' width='16' height='16' alt=''> Nutzung:</td>";
526                } else {
527                        echo "<td>&nbsp;</td>";
528                }
529                $absflaebuch = number_format($flae,0,",",".") . " m&#178;"; // Formatierte Abschnitts-Buch-FlÀche
530                echo "\n\t<td class='fla' title='Buchfl&auml;che des Abschnitts'>".$absflaebuch."</td>";
531
532                echo "\n\t<td class='lr' title='".$title."'>";
533                        if ($showkey) {echo "<span class='key'>(".$nutzsl.")</span> ";}
534                        echo $nutztab.", ".$nutzung
535                ."</td>"
536                ."\n\t<td>";
537/*              //      Derzeit ist keine Gruppe zugeordnet
538                        switch ($grupp) { // Icon nach 4 Objektartengruppen
539                                case "Siedlung":   $ico = "Abschnitt.png"; break;
540                                case "Verkehr":    $ico = "Strassen_Klassifikation.png"; break;
541                                case "Vegetation": $ico = "Wald.png"; break;
542                                case "GewÀsser":   $ico = "Wasser.png";        break;
543                                default:        $ico = "Abschnitt.png"; break;
544                        }
545                        // Icon ist auch im Druck sichtbar, class='noprint' ?           
546                        echo "<p class='nwlink'><img title='".$title."' src='ico/".$ico."' width='16' height='16' alt='NUA'></p>";
547*/
548                echo "</td>"
549        ."\n</tr>";
550        $j++;
551}
552pg_free_result($res);
553// ENDE  N U T Z U N G
554
555echo "\n<tr>" // Summenzeile
556        ."\n\t<td class='ll' title='amtliche Fl&auml;che (Buchfl&auml;che)'>Fl&auml;che:</td>"
557        ."\n\t<td class='fla sum'>"
558        ."<span title='geometrisch berechnete Fl&auml;che = ".$fsgeomflaed."' class='flae'>".$fsbuchflaed."</span></td>";
559
560        // Flaeche und Link auf GebÀude-Auswertung
561        echo "\n\t<td>&nbsp;</td>\n\t<td>"
562                ."\n\t\t<p class='nwlink noprint'>" // Gebaeude-Verschneidung
563                        ."\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
564                        if ($showkey) {echo "&amp;showkey=j";}
565                        if ($cnt_adressen > 0) { // wenn Adresse vorgekommen ist
566                                echo "' title='Geb&auml;udenachweis'>Geb&auml;ude ";
567                        } else { // GebÀude mit Adresse gibt es NICHT, das ist klar
568                                echo "' title='Suche Geb&auml;ude ohne Adresse auf dem Flurst&uuml;ck oder angrenzende Geb&auml;ude'>Suche ";
569                        }
570                        echo "<img src='ico/Haus.png' width='16' height='16' alt=''></a>"
571                ."\n\t\t</p>"
572        ."\n\t</td>"
573."\n</tr>";
574
575// H i n w e i s  auf Bodenneuordnung oder eine strittige Grenze
576// b.name, b.artderfestlegung,
577
578$sql_boden ="SELECT a.k AS wert, a.v AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez,
579b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key
580FROM ax_bauraumoderbodenordnungsrecht b
581LEFT JOIN alkis_wertearten a ON cast(b.artderfestlegung AS character varying)=a.k AND a.element='ax_bauraumoderbodenordnungsrecht' AND a.bezeichnung='artderfestlegung'
582LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle
583WHERE b.endet IS NULL AND d.endet IS NULL 
584AND (ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL ), wkb_geometry)
585 OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL), wkb_geometry));";
586
587pg_prepare($con, "bodeneuordnung", $sql_boden);
588$res_bodeneuordnung = pg_execute($con, "bodeneuordnung", array($gmlid));
589if (!$res_bodeneuordnung) {
590        echo "<p class='err'>Fehler bei Bau-, Raum- oder Bodenordnungsrecht</p>\n";
591        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql_boden."<br>$1 = gml_id = '".$gmlid."'</p>";}
592}
593
594$sql_str="SELECT gml_id FROM ax_besondereflurstuecksgrenze WHERE endet IS NULL AND 1000 = ANY(artderflurstuecksgrenze)
595AND ST_touches((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL),wkb_geometry);";
596
597pg_prepare($con, "strittigeGrenze", $sql_str);
598$res_strittigeGrenze = pg_execute($con, "strittigeGrenze", array($gmlid));
599if (!$res_strittigeGrenze) {
600        echo "<p class='err'>Fehler bei strittige Grenze</p>\n";
601        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql_str."<br>$1 = gml_id = '".$gmlid."'</p>";}
602}
603
604if (pg_num_rows($res_bodeneuordnung) > 0 OR pg_num_rows($res_strittigeGrenze) > 0) {
605        echo "\n<tr>"
606        ."\n\t<td title='Hinweise zum Flurst&uuml;ck'><h6><img src='ico/Hinweis.png' width='16' height='16' alt=''> "
607        ."Hinweise:</h6></td>\n\t<td colspan=3>&nbsp;</td>"
608        ."\n</tr>";
609
610        if (pg_num_rows($res_bodeneuordnung) > 0) {
611
612                while ($row = pg_fetch_array($res_bodeneuordnung)) { // 3 Zeilen je Verfahren
613
614                        // Zeile 1 - kommt immer, darum hier den Link
615                        echo "\n<tr title='Bau-, Raum- oder Bodenordnungsrecht'>"
616                                ."\n\t<td>Bodenrecht:</td>"
617                                ."\n\t<td>Festlegung</td>" // "Art der Festlegung" zu lang
618                                ."\n\t<td>";
619                                        if ($showkey) {echo "<span class='key'>(".$row['wert'].")</span> ";}
620                                        echo $row['art_verf']
621                                ."</td>\n\t<td>";
622                                // LINK:
623                                echo "\n\t\t<p class='nwlink noprint'>"
624                                        ."\n\t\t\t<a href='alkisbaurecht.php?gkz=".$gkz."&amp;gmlid=".$row['verf_gml'];
625                                        if ($showkey) {echo "&amp;showkey=j";}
626                                        echo "' title='Bau-, Raum- oder Bodenordnungsrecht'>Recht <img src='ico/Gericht.png' width='16' height='16' alt=''></a>"
627                                ."\n\t\t</p>"           
628                                ."</td>"
629                        ."\n</tr>";
630
631                        // Zeile 2
632                        $dstell=$row['stelle_key'];
633                        if ($dstell != "") { // Kann auch leer sein
634                                echo "\n<tr title='Flurbereinigungsbeh&ouml;rde'>"
635                                        ."\n\t<td>&nbsp;</td>"
636                                        ."\n\t<td>Dienststelle</td>"
637                                        ."\n\t<td>";
638                                                if ($showkey) {echo "<span class='key'>(".$dstell.")</span> ";}
639                                                echo $row['stelle_bez']
640                                        ."</td>"
641                                        ."\n\t<td>&nbsp;</td>"
642                                ."\n</tr>";
643                        }
644
645                        // Zeile 3
646                        $vbez=$row['verf_bez']; // ist nicht immer gefÃŒllt
647                        $vnam=$row['verf_name']; // noch seltener
648                        if ($vbez != "") {
649                                echo "\n<tr title='Verfahrensbezeichnung'>"
650                                        ."\n\t<td>&nbsp;</td>\n\t<td>Verfahren</td>"
651                                        ."\n\t<td>";
652                                                if ($vnam == "") {
653                                                        echo $vbez; // nur die Nummer
654                                                } else {        // Name oder beides
655                                                        if ($showkey) {echo "<span class='key'>(".$vbez.")</span> ";}
656                                                        echo $vnam;
657                                                }
658                                        echo "</td>"
659                                        ."\n\t<td>&nbsp;</td>"
660                                ."\n</tr>";
661                        }
662                }
663        }
664        if (pg_num_rows($res_strittigeGrenze) > 0) { // 1 Zeile
665                echo "\n<tr>\n<td>Strittige Grenze:</td>"
666                ."<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>"
667                ."\n<td>&nbsp;</td>\n</tr>";
668        }
669}
670echo "\n</table>";
671
672// G R U N D B U C H
673echo "\n<table class='outer'>"
674        ."\n<tr>"
675                ."\n\t<td>"
676                        ."\n\t\t<a id='gb'></a>\n\t\t<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundb&uuml;cher</h3>"
677                ."\n\t</td>"
678                ."\n\t<td>"
679                        ."\n\t\t<p class='nwlink noprint'>"
680                                ."\n\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&amp;gmlid=".$gmlid;
681                                if ($showkey) {echo "&amp;showkey=j";}
682
683                                // Umschalter: FS-Nachw ruft sich selbst mit geaend. Param. auf. Posit. auf Marke #gb
684                                if ($eig=="j") {
685                                        echo "&amp;eig=n#gb' title='Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>";
686                                } else { // ++ könnte man sich sparen, wenn unten nur ein "fiktives Blatt" kommt
687                                        echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer "
688                                        ."<img src='ico/EigentuemerGBzeile.png' width='16' height='16' alt=''></a>";
689                                }
690                        echo "\n\t\t</p>"
691                ."\n\t</td>"
692        ."\n</tr>"
693."\n</table>\n";
694
695// B U C H U N G S S T E L L E N  zum FS (istGebucht)
696$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, b.v AS bart, b.d AS barttitle
697FROM ax_flurstueck f JOIN ax_buchungsstelle s ON s.gml_id=f.istgebucht
698LEFT JOIN alkis_wertearten b ON cast(s.buchungsart AS character varying)=b.k AND b.element='ax_buchungsstelle' AND b.bezeichnung='buchungsart'
699WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL ORDER BY s.laufendenummer;";
700
701$v = array($gmlid);
702$ress = pg_prepare("", $sql);
703$ress = pg_execute("", $v);
704if (!$ress) {
705        echo "\n<p class='err'>Keine Buchungsstelle.</p>\n";
706        if ($debug > 1) {
707                echo "<p class='dbg'>Fehler:".pg_result_error($ress)."</p>";
708                if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
709        }
710}
711$bs=0; // Z.BuchungsStelle
712while($rows = pg_fetch_array($ress)) {
713        $gmls=$rows["gml_id"]; // gml b-Stelle
714        $lfd=$rows["lfd"]; // BVNR
715        $barttitle=htmlentities($rows["barttitle"], ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet
716
717        // B U C H U N G S B L A T T  zur Buchungsstelle (istBestandteilVon)
718        $sql="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, wb.v AS blattartv, wb.d AS blattartd, z.bezeichnung
719        FROM ax_buchungsstelle s JOIN ax_buchungsblatt b ON b.gml_id=s.istbestandteilvon
720        LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk
721        LEFT JOIN alkis_wertearten wb ON cast(b.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart'
722        WHERE s.gml_id = $1 AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL
723        ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;";
724
725        $v=array($gmls);
726        $resg=pg_prepare("", $sql);
727        $resg=pg_execute("", $v);
728        if (!$resg) {
729                echo "\n<p class='err'>Kein Buchungsblatt.</p>\n";
730                if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";}
731        }
732        $bl=0; // Z.Blatt
733        while($rowg = pg_fetch_array($resg)) {
734                $gmlg=$rowg["gml_id"];
735                $beznam=$rowg["bezeichnung"];
736                $blattkeyg=$rowg["blattart"]; // Key
737                $blattartg=$rowg["blattartv"]; // Value
738                echo "\n<hr>"
739                ."\n<table class='outer'>"
740                ."\n<tr>"; // 1 row only
741                        echo "\n\t<td>"; // Outer linke Spalte:
742
743                                // Rahmen mit GB-Kennz
744                                if ($blattkeyg == 1000) {
745                                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
746                                }else {
747                                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
748                                }
749                                        echo "\n\t<tr>\n\t\t<td class='head'>Bezirk</td>"
750                                                ."\n\t\t<td class='head' title='".$rowg["blattartd"]."'>";
751                                                if ($showkey) {echo "<span class='key'>".$blattkeyg."</span>&nbsp;";}
752                                                echo $blattartg."</td>"
753                                                ."\n\t\t<td class='head'>Lfd-Nr.</td>"
754                                                ."\n\t\t<td class='head'>Buchungsart</td>"
755                                        ."\n\t</tr>"
756                                        ."\n\t<tr>"
757                                                ."\n\t\t<td title='Grundbuchbezirk'>";
758                                                        if ($showkey) {echo "<span class='key'>".$rowg["bezirk"]."</span><br>";}
759                                                echo $beznam."&nbsp;</td>"
760                                                ."\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>"
761                                                ."\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rows["lfd"]."</td>"
762                                                ."\n\t\t<td title='".$barttitle."'>";
763                                                if ($showkey) {echo "<span class='key'>".$rows["buchungsart"]."</span><br>";}
764                                                echo $rows["bart"]."</td>"
765                                        ."\n\t</tr>"
766                                ."\n\t</table>";
767
768                                // Miteigentumsanteil
769                                if ($rows["zaehler"] <> "") {
770                                        echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
771                                }
772                        echo "\n</td>\n<td>"; // Outer rechte Spalte: NW-Links
773                                echo "\n\t<p class='nwlink noprint'>weitere Auskunft:<br>"
774                                        ."\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg."#bvnr".$lfd;
775                                                if ($showkey)   {echo "&amp;showkey=j";}
776                                                if ($blattkeyg == 1000) {
777                                                        echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>";
778                                                } else {
779                                                        echo "' title='Grundbuchnachweis'>";
780                                                }
781                                                echo $blattartg." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>"
782                                        ."</a>"
783                                ."\n\t</p>";
784
785                                ber_bs_hinw($gmls); // berechtigte Buchungstellen Hinweis
786
787                        echo "\n</td>"
788                ."\n</tr>"
789                ."\n</table>";
790
791                // +++ Weitere Felder ausgeben? BeschreibungDesUmfangsDerBuchung
792                if ($rows["sond"] != "") {
793                        echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rows["sond"]."</p>";
794                }
795                if ($rows["nrpl"] != "") {
796                        echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rows["nrpl"]."</span> im Aufteilungsplan.</p>";
797                }
798
799                // E I G E N T U E M E R, zum GB
800                // Person <-benennt< AX_Namensnummer  >istBestandteilVon-> AX_Buchungsblatt
801                if ($eig=="j") { // Wahlweise mit/ohne EigentÃŒmer
802                        echo "\n\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n";
803                        $n = eigentuemer($con, $gmlg, false, ""); // ohne Adresse
804                        if ($n == 0) {
805                                if ($blattkeyg == 1000) {
806                                        echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
807                                } else {
808                                        echo "\n<p>ohne Eigent&uuml;mer.</p>";
809                                }
810                        }
811                }
812                $bl++;
813        }
814        if ($bl == 0) {echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>";}
815        $bs++;
816}
817pg_free_result($resg);
818if ($bs == 0) {echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>";}
819pg_close($con);
820echo <<<END
821
822<div class='buttonbereich noprint'>
823<hr>
824        <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
825        <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp;
826        <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download_fs.png" width="32" height="16" alt="Export"></a>&nbsp;
827</div>
828END;
829footer($gmlid, $_SERVER['PHP_SELF']."?", "&amp;eig=".$eig);
830?>
831</body>
832</html>
Note: See TracBrowser for help on using the repository browser.