source: trunk/info/info/alkisn/alkisinlayausk.php @ 377

Revision 377, 12.0 KB checked in by frank.jaeger, 3 years ago (diff)

ALKIS-Auskunft: in info/alkis/ den Stand 372 wieder hergestellt (Versionen aus "alkisn" versehendlich dort hoch geladen).
In info/alkisn/ Nachbesserungen an Gebäude-Name und Nutzungsart.

Line 
1<?php
2/*      alkisinlayausk.php
3
4        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
5        Dies Programm wird in einen iFrame im Mapserver-Template (FeatureInfo) geladen.
6        Parameter: &gkz, &gml_id
7        Dies Programm gibt einen kurzen Ueberblick zum Flurstueck, z.B. Eigentuemer ohne Adresse.
8        FÃŒr detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt.
9        Dies ist eine Variante von alkisausk.php welches als vollstaendige Seite aufgerufen wird.
10
11        Version:
12        2016-02-24 Version fuer norGIS-ALKIS-Import
13        2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen (Berechtigung fÃŒr Gemeinde prÃŒfen)
14*/
15session_start();
16$cntget = extract($_GET);
17require_once("alkis_conf_location.php");
18if ($auth == "mapbender") {require_once($mapbender);}
19include("alkisfkt.php");
20$gmlid = isset($_GET["gmlid"]) ? $_GET["gmlid"] : 0;
21echo <<<END
22<!doctype html>
23<html lang="de">
24<head>
25        <meta charset="utf-8">
26        <link rel="stylesheet" type="text/css" href="alkisauszug.css">
27        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico">
28        <title>ALKIS-Auskunft</title>
29        <script type="text/javascript">
30        function imFenster(dieURL) {
31                var link = encodeURI(dieURL);
32                window.open(link,'','left=10,top=10,width=680,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes');
33        }
34        </script>
35</head>
36<body>
37END;
38$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisinlayausk.php'");
39if (!$con) {echo "<br>Fehler beim Verbinden der DB.\n<br>";}
40
41// *** F L U R S T U E C K ***
42$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f.regierungsbezirk, f.kreis, f.gemeinde
43FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer
44WHERE f.gml_id= $1 AND f.endet IS NULL ;";
45// Weiter joinen: g.stelle -> ax_dienststelle "Katasteramt"
46$v = array($gmlid);
47$res = pg_prepare("", $sql);
48$res = pg_execute("", $v);
49if (!$res) {
50        echo "\n<p class='err'>Fehler bei Flurstuecksdaten.</p>\n";
51        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
52}
53
54if ($row = pg_fetch_array($res)) {
55        $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
56        $gmkgnr=$row["gemarkungsnummer"];
57        $flurnummer=$row["flurnummer"];
58        $flstnummer=$row["zaehler"];
59        $nenner=$row["nenner"];
60        if ($nenner > 0) $flstnummer.="/".$nenner; // BruchNr
61        $flae=$row["amtlicheflaeche"];
62        $flae=number_format($flae,0,",",".") . " m&#178;";
63        $fsreg=$row["regierungsbezirk"]; // Filter ZustÀndigkeit
64        $fskrs=$row["kreis"];
65        $fsgem=$row["gemeinde"];
66} else {
67        echo "<p class='err'>Kein Treffer fuer gml_id=".$gmlid."</p>";
68        //if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
69}
70
71// PrÃŒfung der Gebiets-Berechtigung bei gemeinsam genutzten Datenbanken (Kreis und Gemeinde)
72// FÃŒr das gkz (z.B. aus dem Mapfile-Namen) wird in der Konfiguration ein Filter gesetzt.
73if ( ($filtkreis != '' and $filtkreis != $fskrs) or ($filtgem != '' and $filtgem != $fsgem) ) {
74        // Einer der gesetzten Filter passt nicht
75        if ($debug > 2) {
76                echo "<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>";
77                echo "<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>";
78        }
79        echo "\n<br><p class='stop1'>Zugriff nicht erlaubt</p>
80        \n<br><p class='stop2'>Dies Flurst&uuml;ck liegt ausserhalb der zust&auml;ndigen Stadt oder Gemeinde.</p>\n</body>\n</html>";
81        pg_free_result($res);
82        exit;
83}
84
85echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck - &Uuml;bersicht</h2>";
86
87echo "\n<table class='outer'>\n<tr>\n<td>"
88        ."\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>"
89        ."\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>"
90        ."\n\t<tr>\n\t\t<td title='Gemarkung'>".$gemkname."</td>"
91        ."\n\t\t<td title='Flurnummer'>".$flurnummer."</td>"
92        ."\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>"
93        ."\n\t</table>"
94."\n</td>\n<td>"
95."\n\t<p class='nwlink'>weitere Auskunft:<br>";
96
97// FlurstÃŒcksnachweis (mit EigentÃŒmer)
98echo "\n\t\t<a href='javascript:imFenster(\"alkisfsnw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."&amp;eig=j\")' "
99        ."title='Flurst&uuml;cksnachweis'>Flurst&uuml;ck&nbsp;"
100        ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>"
101."</a><br>";
102
103// FS-Historie
104echo "\n\t\t<a href='javascript:imFenster(\"alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' "
105        ."title='Vorg&auml;nger des Flurst&uuml;cks'>Historie&nbsp;"
106        ."<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>"
107."</a><br>";
108
109// Gebaeude-NW zum FS
110echo "\n\t\t<a href='javascript:imFenster(\"alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid."\")' "
111        ."title='Geb&auml;udenachweis'>Geb&auml;ude&nbsp;"
112        ."<img src='ico/Haus.png' width='16' height='16' alt=''>"
113."</a>";
114
115echo "\n\t</p>\n</td>";
116pg_free_result($res);
117
118// Lage MIT HausNr (Adresse)
119$sql ="SELECT DISTINCT s.gml_id AS kgml, l.gml_id, s.bezeichnung, l.hausnummer
120FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(f.weistauf)
121JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage
122WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL
123ORDER BY s.bezeichnung, l.hausnummer;";
124
125$v=array($gmlid); // id FS
126$res=pg_prepare("", $sql);
127$res=pg_execute("", $v);
128if (!$res) {
129        echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer.</p>";
130        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
131}
132$j=0;
133$kgmlalt='';
134while($row = pg_fetch_array($res)) {
135        $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
136        echo "\n<tr>\n\t\n\t<td class='lr'>".$sname."&nbsp;".$row["hausnummer"]."</td>"
137        ."\n\t<td>\n\t\t<p class='nwlink noprint'>";
138        $kgml=$row["kgml"]; // Wiederholung vermeiden
139        if ($kgml != $kgmlalt) { // NEUE Strasse vor Lage
140                $kgmlalt=$kgml; // Katalog GML-ID
141                echo "\n\t\t\t<a title='Flurst&uuml;cke an der Stra&szlig;e' "
142                ."href='javascript:imFenster(\"alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$row["kgml"]."\")'>Stra&szlig;e "
143                ."<img src='ico/Strassen.png' width='16' height='16' alt='STRA'></a>";
144        }
145                echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' "
146                ."href='javascript:imFenster(\"alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]."\")'>Lage "
147                ."<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt='HAUS'></a>&nbsp;"
148        ."\n\t\t</p>\n\t</td>\n</tr>";
149        $j++;
150}
151pg_free_result($res);
152if ($j == 0) { // keine HsNr gefunden
153        // Lage OHNE HausNr
154        $sql="SELECT DISTINCT s.gml_id AS kgml, l.gml_id, s.bezeichnung, l.unverschluesselt
155        FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=ANY(f.zeigtauf)
156        LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage
157        WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL ORDER BY s.bezeichnung;";
158
159        $v=array($gmlid);
160        $res=pg_prepare("", $sql);
161        $res=pg_execute("", $v);
162        if (!$res) {
163                echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer.</p>";
164                if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
165        }
166        while($row = pg_fetch_array($res)) {
167                $sname =htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
168                $gewann=htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8");
169                echo "\n<tr>";
170                if ($sname != "") { // Typ=Strasse
171                        echo "\n\t<td class='lr' title='An Stra&szlig;e aber ohne Hausnummer'>".$sname."&nbsp;</td>";
172                        $ico="Lage_an_Strasse.png";
173                } else {
174                        echo "\n\t<td class='lr' title='Gewanne'>".$gewann."&nbsp;</td>";
175                        $ico="Lage_Gewanne.png";
176                }
177                echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
178                $kgml=$row["kgml"]; // Wiederholung vermeiden
179                if ($kgml != $kgmlalt) { // NEUE Strasse vor Lage-O
180                        $kgmlalt=$kgml; // Katalog GML-ID
181                        echo "\n\t\t\t<a title='Flurst&uuml;cke an der Stra&szlig;e' "
182                        ."href='javascript:imFenster(\"alkisstrasse.php?gkz=".$gkz."&amp;gmlid=".$row["kgml"]."\")'>Stra&szlig;e "
183                        ."<img src='ico/Strassen.png' width='16' height='16' alt='STRA'></a>";
184                }
185                echo "\n\t\t\t<a title='Lagebezeichnung ohne Hausnummer' "
186                ."href='javascript:imFenster(\"alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$row["gml_id"]."\")'>Lage "
187                ."<img src='ico/".$ico."' width='16' height='16' alt='OHNE'></a>&nbsp;"
188                ."\n\t\t</p>\n\t</td>\n</tr>";
189        }
190        pg_free_result($res);
191}
192echo "\n</table>\n";
193
194// Flurstuecksflaeche
195echo "\n<p class='fsd'>Flurst&uuml;cksfl&auml;che: <b>".$flae."</b></p>\n";
196
197// *** G R U N D B U C H ***
198echo "\n<h2><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundbuch</h2>";
199
200// FS >istgebucht> GS >istbestandteilvon> GB.
201$sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart,
202s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, wa.v AS blattartv, wb.v AS bart
203FROM ax_flurstueck f
204JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id
205JOIN ax_buchungsblatt b ON s.istbestandteilvon=b.gml_id
206LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk
207LEFT JOIN alkis_wertearten wa ON cast(b.blattart AS character varying)=wa.k AND wa.element='ax_buchungsblatt' AND wa.bezeichnung='blattart'
208LEFT JOIN alkis_wertearten wb ON cast(s.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart'
209WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL
210ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;";
211
212$v=array($gmlid);
213$resg=pg_prepare("", $sql);
214$resg=pg_execute("", $v);
215if (!$resg) {
216        echo "\n<p class='err'>Keine Buchungen.</p>\n";
217        if ($debug > 2) {echo "<p class='err'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
218}
219while($rowg = pg_fetch_array($resg)) {
220        $beznam=$rowg["bezeichnung"];
221        echo "\n<hr>\n<table class='outer'>\n<tr>\n<td>";
222                $blattkey=$rowg["blattart"]; // Key
223                $blattart=$rowg["blattartv"]; // Value
224
225                if ($blattkey == 1000) {
226                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
227                } else {
228                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
229                }
230                        echo "\n\t<tr>"
231                                ."\n\t\t<td class='head'>Bezirk</td>"
232                                ."\n\t\t<td class='head'>".$blattart."</td>"
233                                ."\n\t\t<td class='head'>Lfd-Nr,</td>"
234                                ."\n\t\t<td class='head'>Buchungsart</td>"
235                        ."\n\t</tr>\n\t<tr>"
236                                ."\n\t\t<td title='Grundbuchbezirk'>".$beznam."</td>"
237                                ."\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>"
238                                ."\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowg["laufendenummer"]."</td>"
239                                ."\n\t\t<td title='Buchungsart'>".$rowg["bart"]."</td>"
240                        ."\n\t</tr>"
241                ."\n\t</table>";
242
243                if ($rowg["zaehler"] <> "") {
244                        echo "\n<p class='ant'>".$rowg["zaehler"]."/".$rowg["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
245                }
246                echo "\n</td>\n<td>"
247                ."\n\t<p class='nwlink'>weitere Auskunft:<br>"
248                        ."\n\t\t<a href='javascript:imFenster(\"alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowg[0]."\")' "
249                                ."title='Grundbuchnachweis'>".$blattart." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>"
250                        ."</a>"
251                ."\n\t</p>"
252        ."\n</td>\n</tr>\n</table>";
253
254        // E I G E N T U E M E R
255        if ($blattkey == 5000) { // Schluessel Blattart
256                echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n"
257                ."\n<p>Siehe weitere Grundbuchbl&auml;tter mit Rechten an dem fiktiven Blatt.</p>\n";
258        } else {// kein Eigent. bei fiktiv. Blatt
259                echo "\n\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n";
260
261                // Ausgabe Name in Function
262                $n = eigentuemer($con, $rowg["gml_id"], false, "imFenster"); // ohne Adressen
263
264                if ($n == 0) { // keine NamensNr, kein Eigentuemer
265                        echo "\n<p class='err'>Keine Eigent&uuml;mer gefunden.</p>"
266                        ."\n<p class='err'>Bezirk ".$rowg["bezirk"]." Blatt ".$rowg["blatt"]." Blattart ".$blattkey." (".$blattart.")</p>";
267                }
268        }
269}
270pg_free_result($resg);
271
272?>
273</body>
274</html>
Note: See TracBrowser for help on using the repository browser.