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

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