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