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

Revision 129, 11.6 KB checked in by frank.jaeger, 9 years ago (diff)
Line 
1<?php
2/*      alkisausk.php
3
4        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
5        Dies Programm wird aus dem Mapserver-Template (FeatureInfo) aufgerufen.
6        Parameter: &gkz, &gml_id (optional &id)
7        Dies Programm gibt einen kurzen Ueberblick zum Flurstueck.
8        Eigentuemer ohne Adresse.
9        Fuer detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt.
10        Siehe auch alkisinlayausk.php - eine Variante für den Einbau in einen iFrame
11
12        Version:         25.07.2011  PostNAS 0.5/0.6 Versionen unterscheiden
13        26.07.2011  debug, SQL nur im Testmodus ausgeben
14        02.11.2011  6.+7. Parameter fuer function eigentuemer()
15        17.11.2011  Link FS-Historie, Parameter der Functions geändert
16*/
17ini_set('error_reporting', 'E_ALL');
18session_start();
19$gkz=urldecode($_REQUEST["gkz"]);
20require_once("alkis_conf_location.php");
21if ($auth == "mapbender") { // Bindung an Mapbender-Auth.
22        require_once($mapbender);
23}
24include("alkisfkt.php");
25?>
26<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
27<html>
28<head>
29        <meta name="author" content="F. Jaeger krz" >
30        <meta http-equiv="cache-control" content="no-cache">
31        <meta http-equiv="pragma" content="no-cache">
32        <meta http-equiv="expires" content="0">
33        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
34        <link rel="stylesheet" type="text/css" href="alkisauszug.css">
35        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico">
36        <title>ALKIS-Auskunft</title>
37        <style type='text/css' media='print'>
38                .noprint { visibility: hidden;}
39        </style>
40</head>
41<body>
42<?php
43$gmlid = isset($_GET["gmlid"]) ? $_GET["gmlid"] : 0;
44$id = isset($_GET["id"]) ? $_GET["id"] : "n";
45if ($id == "j") {
46        $idanzeige=true;
47} else {
48        $idanzeige=false;
49}
50$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
51if ($keys == "j") {
52        $showkey=true;
53} else {
54        $showkey=false;
55}
56$con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
57if (!$con) {echo "<br>Fehler beim Verbinden der DB.\n<br>";}
58
59// *** F L U R S T U E C K ***
60$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung ";
61$sql.="FROM ax_flurstueck f ";
62$sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
63$sql.="WHERE f.gml_id= $1;";
64// Weiter joinen: g.stelle -> ax_dienststelle "Katasteramt"
65
66$v = array($gmlid);
67$res = pg_prepare("", $sql);
68$res = pg_execute("", $v);
69if (!$res) {
70        echo "\n<p class='err'>Fehler bei Flurstuecksdaten.</p>\n";
71        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
72}
73
74if ($row = pg_fetch_array($res)) {
75        $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
76        $gmkgnr=$row["gemarkungsnummer"];
77        $flurnummer=$row["flurnummer"];
78        $flstnummer=$row["zaehler"];
79        $nenner=$row["nenner"];
80        if ($nenner > 0) $flstnummer.="/".$nenner; // BruchNr
81        $flae=$row["amtlicheflaeche"];
82        $flae=number_format($flae,0,",",".") . " m&#178;";
83} else {
84        echo "<p class='err'>Kein Treffer fuer gml_id=".$gmlid."</p>";
85}
86
87// Balken
88echo "\n<p class='fsausk'>ALKIS-Auskunft Flurst&uuml;ck-&Uuml;bersicht ".$gmkgnr."-".$flurnummer."-".$flstnummer."</p>";
89
90echo "\n<table class='outer'>\n<tr><td>";
91        // linke Seite
92        echo "\n<h1>ALKIS-Auskunft</h1>";
93        echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck - &Uuml;bersicht</h2>";
94echo "</td><td align='right'>";
95        // rechte Seite
96        echo "<img src='pic/AAA.gif' alt=''>";
97echo "</td></tr></table>";
98
99echo "\n<table class='outer'>\n<tr>\n<td>";
100        echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
101        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>";
102        echo "\n\t<tr>\n\t\t<td title='Gemarkung'>";
103   if ($showkey) {
104                echo "<span class='key'>".$gmkgnr."</span><br>";
105        }
106        echo $gemkname."</td>";
107        echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
108        echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>";
109        echo "\n\t</table>";
110echo "\n</td>\n<td>";
111if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
112echo "\n\t<p class='nwlink'>weitere Auskunft:<br>";
113
114// Flurstuecksnachweis (o. Eigent.)
115echo "\n\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=n";
116        if ($idanzeige) {echo "&amp;id=j";}
117        if ($showkey)   {echo "&amp;showkey=j";}
118        echo "' title='Flurst&uuml;cksnachweis, alle Flurst&uuml;cksdaten'>Flurst&uuml;ck ";
119        echo "<img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''>";
120echo "</a><br>";
121
122// FS- u. Eigent.-NW
123echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j";
124        if ($idanzeige) {echo "&amp;id=j";}
125        if ($showkey)   {echo "&amp;showkey=j";}
126        echo "' title='Flurst&uuml;ck mit Eigent&uuml;mer'>Flurst&uuml;ck mit Eigent&uuml;mer ";
127        echo "<img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''>";
128echo "</a><br>";
129
130// FS-Historie
131echo "\n\t\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
132        if ($idanzeige) {echo "&amp;id=j";}
133        if ($showkey)   {echo "&amp;showkey=j";}
134        echo "' title='Vorg&auml;nger des Flurst&uuml;cks'>Historie ";
135        echo "<img src='ico/Flurstueck_Historisch.ico' width='16' height='16' alt=''>";
136echo "</a><br>";
137
138// Gebaeude-NW
139echo "\n\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
140        if ($idanzeige) {echo "&amp;id=j";}
141        if ($showkey)   {echo "&amp;showkey=j";}
142        echo "' title='Geb&auml;udenachweis'>Geb&auml;ude ";
143        echo "<img src='ico/Haus.ico' width='16' height='16' alt=''>";
144echo "</a>";
145
146echo "\n\t</p>\n</td>";
147 // Lagebezeichnung Mit Hausnummer (Adresse)
148// Analog zu alkisfsnachw.php, Kommentare siehe dort $sql ="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung ";
149$sql.="FROM alkis_beziehungen v ";
150$sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN
151$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde ";
152if ($dbvers=="05") {
153        $sql.="AND to_char(l.lage, 'FM00000') = lpad(s.lage,5,'0') ";
154} else { // ab PostNAS 0.6
155        $sql.="AND l.lage = s.lage ";
156}
157$sql.="WHERE v.beziehung_von= $1 "; // id FS";
158$sql.="AND v.beziehungsart='weistAuf' ";
159$sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;";
160$v = array($gmlid);
161$res = pg_prepare("", $sql);
162$res = pg_execute("", $v);
163if (!$res) {
164        echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer.</p>";
165        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
166}
167$j=0;
168while($row = pg_fetch_array($res)) {
169        $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
170        echo "\n<tr>\n\t";
171                echo "\n\t<td class='lr'>".$sname."&nbsp;".$row["hausnummer"]."</td>";
172                echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
173                        echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."'>Lage ";
174                        echo "<img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a>";
175                echo "\n\t\t</p>\n\t</td>";
176        echo "\n</tr>";
177        $j++;
178}
179echo "\n</tr>\n</table>\n";
180
181// Flurstuecksflaeche
182echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che: <b>".$flae."</b></p>\n";
183
184// *** G R U N D B U C H ***
185echo "\n<h2><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundbuch</h2>";
186// ALKIS: FS --> bfs --> GS --> bsb --> GB.
187$sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
188$sql.="s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, ";
189$sql.="z.bezeichnung, a.bezeichner AS bart ";  // stelle -> amtsgericht
190$sql.="FROM alkis_beziehungen bfs "; // Bez Flurst.- Stelle.
191$sql.="JOIN ax_buchungsstelle s ON bfs.beziehung_zu=s.gml_id ";
192$sql.="JOIN alkis_beziehungen bsb ON s.gml_id=bsb.beziehung_von "; // Bez. Stelle - Blatt
193$sql.="JOIN ax_buchungsblatt b ON bsb.beziehung_zu=b.gml_id ";
194$sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";
195$sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert ";
196$sql.="WHERE bfs.beziehung_von= $1 ";
197$sql.="AND bfs.beziehungsart='istGebucht' ";
198$sql.="AND bsb.beziehungsart='istBestandteilVon' ";
199$sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;";
200
201$v = array($gmlid);
202$resg = pg_prepare("", $sql);
203$resg = pg_execute("", $v);
204if (!$resg) {
205        echo "\n<p class='err'>Keine Buchungen.</p>\n";
206        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
207}
208
209$j=0; // Z.Blatt
210while($rowg = pg_fetch_array($resg)) {
211        $beznam=$rowg["bezeichnung"];
212        echo "\n<hr>\n<table class='outer'>";
213        echo "\n<tr>";
214        echo "\n<td>";
215
216                $blattkey=$rowg["blattart"];
217                $blattart=blattart($blattkey);
218                if ($blattkey == 1000) {
219                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
220                } else {
221                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
222                }
223                        echo "\n\t<tr>";
224                                echo "\n\t\t<td class='head'>Bezirk</td>";
225                                echo "\n\t\t<td class='head'>".$blattart."</td>";
226                                echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
227                                echo "\n\t\t<td class='head'>Buchungsart</td>";
228                        echo "\n\t</tr>";
229                        echo "\n\t<tr>";
230                                echo "\n\t\t<td title='Grundbuchbezirk'>";
231                                        if ($showkey) {
232                                                echo "<span class='key'>".$rowg["bezirk"]."</span><br>";
233                                        }
234                                echo $beznam."</td>";
235                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>";
236                                echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowg["laufendenummer"]."</td>";
237                                echo "\n\t\t<td title='Buchungsart'>";
238                                        if ($showkey) {
239                                                echo "<span class='key'>".$rowg["buchungsart"]."</span><br>";
240                                        }
241                                        echo $rowg["bart"];
242                                echo "</td>";
243                        echo "\n\t</tr>";
244                echo "\n\t</table>";
245
246                if ($rowg["zahler"] <> "") {
247                        echo "\n<p class='ant'>".$rowg["zahler"]."/".$rowg["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
248                }
249                echo "\n</td>\n<td>";
250                if ($idanzeige) {linkgml($gkz, $rowg[0], "Buchungsblatt");}                 echo "\n\t<p class='nwlink'>weitere Auskunft:<br>";
251                        echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0];
252                                if ($idanzeige) {echo "&amp;id=j";}
253                                if ($showkey)   {echo "&amp;showkey=j";}
254                                echo "' title='Grundbuchnachweis'>";
255                                echo $blattart;
256                                echo " <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''>";
257                        echo "</a>";
258                echo "\n\t</p>";
259        echo "\n</td>";
260        echo "\n</tr>";
261        echo "\n</table>";
262
263        // E I G E N T U E M E R
264        if ($blattkey == 5000) { // Schluessel Blattart
265                echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n";
266                echo "\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>\n";
267        } else {// kein Eigent. bei fiktiv. Blatt
268                echo "\n<hr>\n\n<h3><img src='ico/Eigentuemer_2.ico' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n";
269
270                // Ausgabe Name in Function
271                $n = eigentuemer($con, $rowg["gml_id"], false); // ohne Adressen
272
273                if ($n == 0) { // keine Namensnummer, kein Eigentuemer
274                        echo "\n<p class='err'>Keine Eigent&uuml;mer gefunden.</p>";
275                        echo "\n<p class='err'>Bezirk ".$rowg["bezirk"]." Blatt ".$rowg["blatt"]." Blattart ".$blattkey." (".$blattart.")</p>";
276                        linkgml($gkz, $gmlid, "Buchungsblatt");
277                }
278        }         $j++;
279}
280if ($j == 0) { // Entwicklungshilfe
281        echo "\n<p class='err'>Keine Buchungen gefunden.</p>";
282        echo "\n<p><a target='_blank' href=alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gmlid.">Beziehungen des Flurst&uuml;cks</a></p>";
283        //echo "<p>".$sql."</p>"; // TEST
284}
285echo "\n<hr>";
286
287footer($gmlid, $_SERVER['PHP_SELF']."?", "");
288
289?>
290</body>
291</html>
Note: See TracBrowser for help on using the repository browser.