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

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