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