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

Revision 129, 11.6 KB checked in by frank.jaeger, 12 years ago (diff)
RevLine 
[26]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.
[123]6        Parameter: &gkz, &gml_id (optional &id)
[41]7        Dies Programm gibt einen kurzen Ueberblick zum Flurstueck.
8        Eigentuemer ohne Adresse.
[123]9        Fuer detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt.
[60]10        Siehe auch alkisinlayausk.php - eine Variante für den Einbau in einen iFrame
[26]11
[123]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()
[129]15        17.11.2011  Link FS-Historie, Parameter der Functions geändert
16*/
[123]17ini_set('error_reporting', 'E_ALL');
[26]18session_start();
[123]19$gkz=urldecode($_REQUEST["gkz"]);
[58]20require_once("alkis_conf_location.php");
[123]21if ($auth == "mapbender") { // Bindung an Mapbender-Auth.
[78]22        require_once($mapbender);
[49]23}
[123]24include("alkisfkt.php");
[26]25?>
26<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
27<html>
28<head>
29        <meta name="author" content="F. Jaeger krz" >
[49]30        <meta http-equiv="cache-control" content="no-cache">
[26]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">
[123]35        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico">
[41]36        <title>ALKIS-Auskunft</title>
[26]37        <style type='text/css' media='print'>
[41]38                .noprint { visibility: hidden;}
39        </style>
[123]40</head>
[26]41<body>
42<?php
43$gmlid = isset($_GET["gmlid"]) ? $_GET["gmlid"] : 0;
44$id = isset($_GET["id"]) ? $_GET["id"] : "n";
[123]45if ($id == "j") {
46        $idanzeige=true;
47} else {
48        $idanzeige=false;
49}
[43]50$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
51if ($keys == "j") {
[123]52        $showkey=true;
53} else {
54        $showkey=false;
55}
[43]56$con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
[26]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 ";
[78]61$sql.="FROM ax_flurstueck f ";
[26]62$sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
[78]63$sql.="WHERE f.gml_id= $1;";
[61]64// Weiter joinen: g.stelle -> ax_dienststelle "Katasteramt"
[123]65
[43]66$v = array($gmlid);
[61]67$res = pg_prepare("", $sql);
68$res = pg_execute("", $v);
69if (!$res) {
[123]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
[61]74if ($row = pg_fetch_array($res)) {
[26]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 {
[123]84        echo "<p class='err'>Kein Treffer fuer gml_id=".$gmlid."</p>";
85}
[43]86
[123]87// Balken
[41]88echo "\n<p class='fsausk'>ALKIS-Auskunft Flurst&uuml;ck-&Uuml;bersicht ".$gmkgnr."-".$flurnummer."-".$flstnummer."</p>";
89
[123]90echo "\n<table class='outer'>\n<tr><td>";
91        // linke Seite
92        echo "\n<h1>ALKIS-Auskunft</h1>";
[41]93        echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck - &Uuml;bersicht</h2>";
[123]94echo "</td><td align='right'>";
95        // rechte Seite
96        echo "<img src='pic/AAA.gif' alt=''>";
97echo "</td></tr></table>";
98
[26]99echo "\n<table class='outer'>\n<tr>\n<td>";
100        echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
[43]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>";
[41]102        echo "\n\t<tr>\n\t\t<td title='Gemarkung'>";
[123]103   if ($showkey) {
104                echo "<span class='key'>".$gmkgnr."</span><br>";
105        }
106        echo $gemkname."</td>";
[43]107        echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
[41]108        echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>";
[123]109        echo "\n\t</table>";
[41]110echo "\n</td>\n<td>";
111if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
[43]112echo "\n\t<p class='nwlink'>weitere Auskunft:<br>";
113
[123]114// Flurstuecksnachweis (o. Eigent.)
[41]115echo "\n\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=n";
116        if ($idanzeige) {echo "&amp;id=j";}
[129]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
[123]122// FS- u. Eigent.-NW
[41]123echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j";
124        if ($idanzeige) {echo "&amp;id=j";}
[129]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
[123]138// Gebaeude-NW
[41]139echo "\n\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
140        if ($idanzeige) {echo "&amp;id=j";}
[129]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
[123]146echo "\n\t</p>\n</td>";
147 // Lagebezeichnung Mit Hausnummer (Adresse)
[74]148// Analog zu alkisfsnachw.php, Kommentare siehe dort $sql ="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung ";
[123]149$sql.="FROM alkis_beziehungen v ";
[74]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 ";
[78]152if ($dbvers=="05") {
153        $sql.="AND to_char(l.lage, 'FM00000') = lpad(s.lage,5,'0') ";
154} else { // ab PostNAS 0.6
[123]155        $sql.="AND l.lage = s.lage ";
156}
157$sql.="WHERE v.beziehung_von= $1 "; // id FS";
[105]158$sql.="AND v.beziehungsart='weistAuf' ";
[123]159$sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;";
[74]160$v = array($gmlid);
[78]161$res = pg_prepare("", $sql);
[74]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>";}
[123]166}
167$j=0;
168while($row = pg_fetch_array($res)) {
169        $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
[74]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
[123]181// Flurstuecksflaeche
182echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che: <b>".$flae."</b></p>\n";
183
[74]184// *** G R U N D B U C H ***
[123]185echo "\n<h2><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundbuch</h2>";
[26]186// ALKIS: FS --> bfs --> GS --> bsb --> GB.
187$sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
[41]188$sql.="s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, ";
[26]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 ";
[45]192$sql.="JOIN alkis_beziehungen bsb ON s.gml_id=bsb.beziehung_von "; // Bez. Stelle - Blatt
[78]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' ";
[123]198$sql.="AND bsb.beziehungsart='istBestandteilVon' ";
[61]199$sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;";
[78]200
201$v = array($gmlid);
[26]202$resg = pg_prepare("", $sql);
[61]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>";}
[123]207}
208
209$j=0; // Z.Blatt
210while($rowg = pg_fetch_array($resg)) {
[61]211        $beznam=$rowg["bezeichnung"];
[26]212        echo "\n<hr>\n<table class='outer'>";
213        echo "\n<tr>";
214        echo "\n<td>";
[123]215
216                $blattkey=$rowg["blattart"];
[45]217                $blattart=blattart($blattkey);
[123]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>";
[45]227                                echo "\n\t\t<td class='head'>Buchungsart</td>";
[123]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>";
[45]237                                echo "\n\t\t<td title='Buchungsart'>";
238                                        if ($showkey) {
239                                                echo "<span class='key'>".$rowg["buchungsart"]."</span><br>";
[123]240                                        }
241                                        echo $rowg["bart"];
242                                echo "</td>";
243                        echo "\n\t</tr>";
244                echo "\n\t</table>";
245
246                if ($rowg["zahler"] <> "") {
[45]247                        echo "\n<p class='ant'>".$rowg["zahler"]."/".$rowg["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
[123]248                }
[45]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";}
[123]254                                echo "' title='Grundbuchnachweis'>";
[43]255                                echo $blattart;
[123]256                                echo " <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''>";
[43]257                        echo "</a>";
[123]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
[45]264        if ($blattkey == 5000) { // Schluessel Blattart
265                echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n";
[64]266                echo "\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>\n";
[123]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
[41]272
[123]273                if ($n == 0) { // keine Namensnummer, kein Eigentuemer
274                        echo "\n<p class='err'>Keine Eigent&uuml;mer gefunden.</p>";
[129]275                        echo "\n<p class='err'>Bezirk ".$rowg["bezirk"]." Blatt ".$rowg["blatt"]." Blattart ".$blattkey." (".$blattart.")</p>";
[123]276                        linkgml($gkz, $gmlid, "Buchungsblatt");
[41]277                }
[43]278        }         $j++;
279}
[26]280if ($j == 0) { // Entwicklungshilfe
281        echo "\n<p class='err'>Keine Buchungen gefunden.</p>";
[43]282        echo "\n<p><a target='_blank' href=alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gmlid.">Beziehungen des Flurst&uuml;cks</a></p>";
[26]283        //echo "<p>".$sql."</p>"; // TEST
284}
285echo "\n<hr>";
286
[41]287footer($gmlid, $_SERVER['PHP_SELF']."?", "");
[26]288
289?>
[123]290</body>
[26]291</html>
Note: See TracBrowser for help on using the repository browser.