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

Revision 26, 11.7 KB checked in by frank.jaeger, 14 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 ÃŒber die wichtigsten Daten zum Flurstueck.
8        In einfachen Faellen wird auch der EigentÃŒmer ohne Adresse angezeigt.
9        Fuer detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt.
10
11        Version:
12        26.01.2010      internet-Version  mit eigener conf
13*/
14ini_set('error_reporting', 'E_ALL');
15session_start();
16// Bindung an Mapbender-Authentifizierung
17require_once("/data/mapwww/http/php/mb_validateSession.php");
18require_once("/data/conf/alkis_www_conf.php");
19include("alkisfkt.php");
20?>
21<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
22<html>
23<head>
24        <meta name="author" content="F. Jaeger">
25        <meta http-equiv="cache-control" content="no-cache">
26        <meta http-equiv="pragma" content="no-cache">
27        <meta http-equiv="expires" content="0">
28        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
29        <link rel="stylesheet" type="text/css" href="alkisauszug.css">
30        <title>ALKIS-Auskunft</title>
31</head>
32<body>
33<?php
34$gmlid = isset($_GET["gmlid"]) ? $_GET["gmlid"] : 0;
35$gkz=urldecode($_REQUEST["gkz"]);
36$id = isset($_GET["id"]) ? $_GET["id"] : "n";
37$idanzeige=false;
38if ($id == "j") {$idanzeige=true;}
39$style=isset($_GET["style"]) ? $_GET["style"] : "kompakt";
40$dbname = 'alkis05' . $gkz;
41$con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
42if (!$con) {echo "<br>Fehler beim Verbinden der DB.\n<br>";}
43
44// *** F L U R S T U E C K ***
45$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, ";
46$sql.=" g.gemarkungsnummer, g.bezeichnung ";
47$sql.="FROM ax_flurstueck f ";
48$sql.="JOIN ax_gemarkung  g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
49$sql.="WHERE f.gml_id='".$gmlid."';";
50// Weiter joinen: g.stelle -> ax_dienststelle "Katasteramt"
51$res=pg_query($con,$sql);
52if (!$res) echo "\n<p class='err'>Fehler bei Flurstuecksdaten\n<br>".$sql."</p>\n";
53if ($row = pg_fetch_array($res)) {
54        $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
55        $gmkgnr=$row["gemarkungsnummer"];
56        $flurnummer=$row["flurnummer"];
57        $flstnummer=$row["zaehler"];
58        $nenner=$row["nenner"];
59        if ($nenner > 0) $flstnummer.="/".$nenner; // BruchNr
60        $flae=$row["amtlicheflaeche"];
61        $flae=number_format($flae,0,",",".") . " m&#178;";
62} else {echo "Fehler! Kein Treffer fuer gml_id=".$gmlid;}
63
64echo "<p class='fsausk'>Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."</p>\n";
65echo "<h1>ALKIS-Auskunft</h1>\n";
66echo "\n<h2>Flurst&uuml;ck</h2>\n";
67echo "\n<table class='bez'>\n";
68echo "\n<table class='outer'>\n<tr>\n<td>";
69echo "\n\t<table class='kennz' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
70echo "\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>";
71echo "\n\t<tr>\n\t\t<td title='Gemarkung'>".$gmkgnr."<br>".$gemkname."</td>";
72echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
73echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'>".$flstnummer."</td>\n\t</tr>\n\t</table>\n";
74echo "</td>\n<td>";
75if ($idanzeige) { linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
76echo "<br>\n\t<p class='nwlink'>weitere Auskunft:<br>";
77echo "\n\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=n"."&amp;style=".$style;
78if ($idanzeige) { echo "&amp;id=j";}
79echo "' title='Flurst&uuml;cksnachweis, alle Flurst&uuml;cksdaten'>FS-Nachweis</a>&nbsp;|&nbsp;";
80echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j"."&amp;style=".$style;
81if ($idanzeige) echo "&amp;id=j";
82echo "' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>FS- u. Eigent.-Nw</a>";
83//echo "&nbsp;|&nbsp;<a href='alkisfshist.php?gkz=".$gkz."&amp;flurstkennz=".$gmlid."' title='Vorg&auml;nger- und Nachfolger-Flurst&uuml;cke'>Historie</a>\n";
84echo "\n\t</p>\n</td>";
85echo "\n</tr>\n</table>\n";
86echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che: <b>".$flae."</b></p>\n";
87
88// *** G R U N D B U C H ***
89echo "\n<h2>Grundbuch</h2>";
90// ALKIS: FS --> bfs --> GS --> bsb --> GB.
91$sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
92$sql.="s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, ";
93$sql.="z.bezeichnung ";  // stelle -> amtsgericht
94$sql.="FROM  alkis_beziehungen    bfs "; // Bez Flurst.- Stelle.
95$sql.="JOIN  ax_buchungsstelle      s ON bfs.beziehung_zu=s.gml_id ";
96$sql.="JOIN  alkis_beziehungen    bsb ON s.gml_id=bsb.beziehung_von "; // Bez. Stelle - Blatt
97$sql.="JOIN  ax_buchungsblatt       b ON bsb.beziehung_zu=b.gml_id ";
98$sql.="JOIN  ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";
99$sql.="WHERE bfs.beziehung_von='".$gmlid."' ";
100$sql.="AND   bfs.beziehungsart='istGebucht' ";
101$sql.="AND   bsb.beziehungsart='istBestandteilVon' ";
102$sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;";
103$resg=pg_query($con,$sql);
104if (!$resg) echo "\n<p class='err'>Keine Buchungen.<br>\nSQL= ".$sql."</p>\n";
105$j=0; // Z.Blatt
106while($rowg = pg_fetch_array($resg)) {
107        $beznam=$rowg["bezeichnung"];
108        echo "\n<hr>\n<table class='outer'>\n<tr>\n<td>";
109        echo "\n\t<table class='kennz' title='Bestandskennzeichen'>\n\t<tr>\n\t\t<td class='head'>Bezirk</td>";
110        echo "\n\t\t<td class='head'>".blattart($rowg["blattart"])."</td>\n\t\t<td class='head'>Lfd-Nr,</td>\n\t\t<td class='head'>Buchungsart</td>\n\t</tr>";
111        echo "\n\t<tr>\n\t\t<td title='Grundbuchbezirk'>".$rowg["bezirk"]."<br>".$beznam."</td>";
112        echo "\n\t\t<td title='Grundbuch-Blatt'>".$rowg["blatt"]."</td>";
113        echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowg["laufendenummer"]."</td>";
114        echo "\n\t\t<td title='Buchungsart'>".$rowg["buchungsart"]."<br>".buchungsart($rowg["buchungsart"])."</td>\n\t</tr>\n\t</table>";
115        if ($rowg["zahler"] <> "") {
116                echo "\n<p class='ant'>".$rowg["zahler"]."/".$rowg["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
117        }
118        echo "\n</td>\n<td>";
119        if ($idanzeige) { linkgml($gkz, $rowg[0], "Buchungsblatt");}
120        echo "<br>\n";
121        echo "\n\t<p class='nwlink'>weitere Auskunft:<br>\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0]."&amp;style=".$style;
122        if ($idanzeige) echo "&amp;id=j";
123        echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>GB-Nachweis</a>\n\t</p>\n</td>\n";
124        echo "</table>";
125        if ($rowg["blattart"] <> "1000") { // schwierige SonderfÀlle nicht in der Übersicht bearbeiten
126                echo "\n<p>Blattart: ".blattart($rowg["blattart"])." (".$rowg["blattart"].").<br>\n";
127                echo "Eigent&uuml;mer siehe\n\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0]."&amp;style=".$style;
128                if ($idanzeige) echo "&amp;id=j";
129                echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>GB-Nachweis</a>\n</p>";
130                //echo "oder"\n\t<a title='ALKIS-Beziehungen-Browser' href='alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$rowg["s_gml"]."&amp;style=".$style."'>Beziehungen der Buchungsstelle</a>\n</p>";
131                linkgml($gkz, $rowg["s_gml"], "Buchungsstelle");
132        } else { // normales Grundbuchblatt
133
134                // ** E I G E N T U E M E R, zum GB
135                echo "\n\n<h3>Eigent&uuml;mer:</h3>\n";
136
137                // Schleife 1: N a m e n s n u m m e r
138                // Beziehung: ax_namensnummer  >istBestandteilVon>  ax_buchungsblatt
139                $sql="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, ";
140                $sql.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass ";
141                $sql.="FROM  ax_namensnummer   n ";
142                $sql.="JOIN  alkis_beziehungen b ON b.beziehung_von=n.gml_id ";
143                $sql.="WHERE b.beziehung_zu='".$rowg["gml_id"]."' "; // id blatt
144                $sql.="AND   b.beziehungsart='istBestandteilVon' ";
145                $sql.="ORDER BY laufendenummernachdin1421;";
146                $resn=pg_query($con, $sql);
147                if (!$resn) {echo "<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";}
148                echo "\n<table class='eig'>";
149                $n=0; // Z.NamNum.
150                while($rown = pg_fetch_array($resn)) {
151                        echo "\n<tr>\n\t<td class='nanu' title='Namens-Nummer'>";
152                        // VOR die Tabelle: "EigentÃŒmer"
153                        $namnum=kurz_namnr($rown["lfd"]);
154                        echo "\n\t<p>".$namnum."</p>";
155                        if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer");}
156                        echo "\n\t</td>\n\t<td>";
157                        $rechtsg=$rown["adr"];
158                        if ($rechtsg != "" ) {
159                                if ($rechtsg == 9999) { // sonstiges
160                                        echo "\n\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>";
161                                } else {
162                                        echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>";
163                                }
164                        }
165                        // +++ ggf. Seitenzweige ("andere Namennummern")
166
167                        // Schleife 2: P e r s o n 
168                        // Beziehung: ax_person  <benennt<  ax_namensnummer
169                        $sql="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad ";
170                        $sql.="FROM  ax_person p ";
171                        $sql.="JOIN  alkis_beziehungen v ON v.beziehung_zu=p.gml_id ";
172                        $sql.="WHERE v.beziehung_von='".$rown["gml_id"]."' "; // id num
173                        $sql.="AND   v.beziehungsart='benennt';";
174                        $rese=pg_query($con, $sql);
175                        if (!$rese) echo "\n<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";
176                        $i=0; // Z.Eig.
177                        while($rowe = pg_fetch_array($rese)) {
178                                $diePerson="";
179                                if ($rowe["akademischergrad"] <> "") $diePerson=$rowe["akademischergrad"]." ";
180                                $diePerson.=$rowe["nachnameoderfirma"];
181                                if ($rowe["vorname"] <> "") $diePerson.=", ".$rowe["vorname"];
182                                if ($rowe["namensbestandteil"] <> "") $diePerson.=". ".$rowe["namensbestandteil"];
183                                if ($rowe["geburtsdatum"] <> "") $diePerson.=", geb. ".$rowe["geburtsdatum"];
184                                if ($rowe["geburtsname"] <> "") $diePerson.=", geb. ".$rowe["geburtsname"];
185                                $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute
186                                // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0
187                                if ($i > 0) {echo "\n<tr>\n\t<td></td>\n\t<td>";}
188                                // Spalte 2 = Angaben
189                                echo "\n\t<p class='geig' title='Eigent&uuml;merart ".eigentuemerart($rown["eigentuemerart"])."'>".$diePerson."</p></td>";
190                                // Spalte 3 = Link
191                                echo "\n\t\t<td>\n\t\t\t<p class='nwlink noprint'>\n\t\t\t<a href='alkisnamstruk.php?gkz=".$gkz."&amp;gmlid=".$rowe[0]."&amp;style=".$style;
192                                if ($idanzeige) { echo "&amp;id=j";}
193                                echo "' title='vollst&auml;ndiger Name und Adresse eines Eigent&uuml;mers'>Person</a>\n\t\t</p>";
194                                if ($idanzeige) { linkgml($gkz, $rowe["gml_id"], "Person");}
195                                echo "</td>\n</tr>";
196                                $i++; // Z. Person
197                                if ($rown["zaehler"] <> "") {
198                                        echo "\n<tr>\n\t<td></td>\n\t<td><p class='avh' title='Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p>";
199                                        echo "\n</td>\n\t<td></td>\n</tr>";
200                                }
201                        }
202                        if ($i == 0) { // keine Pers zur NamNum
203                                if ($rechtsg != 9999) { // Normal bei Sondereigentum
204                                        echo "\n<tr>\n<td>";
205                                        linkgml($gkz, $rown["gml_id"], "Namensnummer");
206                                        echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigent&uuml;mer gefunden.</p>";
207                                        echo "\n\t\t\n\t</td>\n\t<td></td>\n<tr>";
208                                }
209                        }
210                        $n++; // Z.NamNum
211                }
212                echo "\n</table>\n";
213                if ($n == 0) {
214                        echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
215                        linkgml($gkz, $gmlid, "Buchungsblatt");
216                }
217        }
218        $j++;
219}
220if ($j == 0) { // Entwicklungshilfe
221        echo "\n<p class='err'>Keine Buchungen gefunden.</p>";
222        echo "\n<p><a target='_blank' href=alkisrelationen.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;style=".$style.">Beziehungen des Flurst&uuml;cks</a></p>";
223        //echo "<p>".$sql."</p>"; // TEST
224}
225echo "\n<hr>";
226footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, $style);
227
228?>
229</body>
230</html>
Note: See TracBrowser for help on using the repository browser.