source: trunk/info/info/alkis/alkisfsnw.php @ 288

Revision 288, 36.4 KB checked in by frank.jaeger, 11 years ago (diff)

ALKIS-Auskunft Korrekturen

RevLine 
[26]1<?php
[63]2/*      Modul: alkisfsnw.php
3
[49]4        ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
[63]5        FlurstÃŒcksnachweis fuer ein FlurstÃŒckskennzeichen aus ALKIS PostNAS
6
[41]7        Version:
[275]8        2011-11-16  Neuer Style class='dbg', Link Historie
9        2011-11-17  Parameter der Functions geÀndert
10        2011-11-30  import_request_variables, $dbvers PostNAS 0.5 entfernt
11        2011-12-01  Summe der AbschnittsflÀchen (NUA) an amtl. BuchflÀche des FS angleichen
12        2011-12-16  Zeilenumbruch in Nutzungsart, Spaltenbreite Link
13        2012-07-24  Export als CSV, pg_free_result(), pg_close()
14        2012-11-27  split deprecated, besser: explode
15        2013-01-17  FS-Kennzeichen (ALB-Format) als Parameter statt gmlid möglich
16        2013-04-08  deprecated "import_request_variables" ersetzt
17        2013-04-11  ID-Links (im Testmodus) auch an Lagebezeichnung (mit/ohne HsNr) und an Nutzungs-Abschnitt
[286]18        2013-06-24  Unna: Bodenneuordnung, strittige Grenze
[287]19        2013-06-27      Bodenneuordnung u. stritt.Gr. in Tabellen-Struktur, Link zur Bodenerneuerung (neues Modul)
[198]20
21        ToDo:
22        - BodenschÀtzung anzeigen
[102]23        - EntschlÃŒsseln "Bahnkategorie" bei Bahnverkehr, "OberflÀchenmaterial" bei Unland           Dazu evtl. diese Felder ins Classfld verschieben (Meta-Tabellen!)
[123]24        - NamNum >bestehtAusRechtsverhaeltnissenZu> NamNum
[76]25*/
[26]26session_start();
[132]27$cntget = extract($_GET);
[275]28require_once("alkis_conf_location.php");
29if ($auth == "mapbender") {require_once($mapbender);}
[129]30include("alkisfkt.php");
[132]31if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;}
32$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
33if ($keys == "j") {$showkey=true;} else {$showkey=false;}
34echo <<<END
[275]35<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
[26]36<html>
37<head>
38        <meta name="author" content="b600352" >
[198]39        <meta http-equiv="cache-control" content="no-cache">
[26]40        <meta http-equiv="pragma" content="no-cache">
41        <meta http-equiv="expires" content="0">
42        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
43        <title>ALKIS Flurst&uuml;cksnachweis</title>
44        <link rel="stylesheet" type="text/css" href="alkisauszug.css">
[63]45        <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico">
46        <style type='text/css' media='print'>
[26]47                .noprint {visibility: hidden;}
[53]48        </style>
[26]49        <script type="text/javascript">
[198]50        function ALKISexportFS() {window.open('alkisfsexp.php?gkz=$gkz&gmlid=$gmlid');}
[275]51        function ALKISexportGB() {window.open('alkisfsgbexp.php?gkz=$gkz&gmlid=$gmlid');}
52        </script>
[198]53</head>
[26]54<body>
55END;
[275]56
[287]57$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
[26]58if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n";
[63]59
[199]60// Ein (ALB- ?) FlurstÃŒcks-Kennzeichen wurde alternativ zur gml_id ÃŒbermittelt
61if ($gmlid == '' and $fskennz != '') {
62        // Übergabe Format z.B. "llgggg-fff-nnnn/zz.nn" oder "gggg-ff-nnn/zz"
63        $arr=explode("-", $fskennz, 4);
64        $zgemkg=trim($arr[0]);
65        if (strlen($zgemkg) == 20 and $arr[1] == "") { // Oh, ist wohl schon das Datenbank-Feldformat
66                $fskzdb=$zgemkg;
67        } else { // Nö, ist wohl eher ALB-Format
68                // Das Kennzeichen auseinander nehmen.
69                if (strlen($zgemkg) == 6) {
70                        $land=substr($zgemkg, 0, 2);
71                        $zgemkg=substr($zgemkg, 2, 4);
72                } else { // kein schöner Land ..
73                        $land='05'; // NRW, ToDo: Default-Land aus config
74                }
75                $zflur=str_pad($arr[1], 3 , "0", STR_PAD_LEFT); // Flur-Nr
76                $zfsnr=trim($arr[2]); // FlurstÃŒcke-Nr
77                $zn=explode("/", $zfsnr, 2); // Bruch?
78                $zzaehler=str_pad(trim($zn[0]), 5 , "0", STR_PAD_LEFT);
79                $znenner=trim($zn[1]);
80                if (trim($znenner, " 0.") == "") { // kein Bruch oder nur Nullen
81                        $znenner="____"; // in DB-Spalte mit Tiefstrich aufgefÃŒllt
82                } else {
83                        $zn=explode(".", $znenner, 2); // .00 wegwerfen
84                        $znenner=str_pad($zn[0], 4 , "0", STR_PAD_LEFT);
85                }
86                // nun die Teile stellengerecht wieder zusammen setzen         
87                $fskzdb=$land.$zgemkg.$zflur.$zzaehler.$znenner.'__'; // FS-Kennz. Format Datenbank
88        }
89        // Feld flurstueckskennzeichen ist in DB indiziert 
90        // Format z.B.'052647002001910013__' oder '05264700200012______'
91        $sql ="SELECT gml_id FROM ax_flurstueck WHERE flurstueckskennzeichen= $1 ;";
92
[26]93        $v = array($fskzdb);
[199]94        $res = pg_prepare("", $sql);
95        $res = pg_execute("", $v);
96        if ($row = pg_fetch_array($res)) {
97                $gmlid=$row["gml_id"];
98        } else {
99                echo "<p class='err'>Fehler! Kein Treffer f&uuml;r Flurst&uuml;ckskennzeichen='".$fskennz."' (".$fskzdb.")</p>";
100        }
101        pg_free_result($res);
102}
103
104// F L U R S T U E C K
[26]105$sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche, st_area(f.wkb_geometry) AS fsgeomflae, f.zeitpunktderentstehung, ";
[133]106$sql.="g.gemarkungsnummer, g.bezeichnung ";
[26]107$sql.="FROM ax_flurstueck f ";
108$sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
[199]109$sql.="WHERE f.gml_id= $1";
[63]110
111$v = array($gmlid); // mit gml_id suchen
[199]112$res = pg_prepare("", $sql);
[63]113$res = pg_execute("", $v);
114if (!$res) {
[123]115        echo "\n<p class='err'>Fehler bei Flurstuecksdaten</p>\n";
116        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
[128]117}
[123]118if ($row = pg_fetch_array($res)) {
[26]119        $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
120        $gmkgnr=$row["gemarkungsnummer"];
121        $bezirk=$row["regierungsbezirk"];
[63]122        $kreis=$row["kreis"];
123        $gemeinde=$row["gemeinde"];
124        $flurnummer=$row["flurnummer"];
[26]125        $flstnummer=$row["zaehler"];
126        $nenner=$row["nenner"];
127        if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr
[53]128        $fsbuchflae=$row["amtlicheflaeche"]; // amtliche Fl. aus DB-Feld
[133]129        $fsgeomflae=$row["fsgeomflae"]; // aus Geometrie ermittelte FlÀche
130        $fsbuchflaed=number_format($fsbuchflae,0,",",".") . " m&#178;"; // Display-Format dazu
131        $fsgeomflaed=number_format($fsgeomflae,0,",",".") . " m&#178;";
132        $entsteh=$row["zeitpunktderentstehung"];
[123]133        $name=$row["name"]; // Fortfuehrungsnummer(n)
[129]134        $arrn = explode(",", trim($name, "{}") ); // PHP-Array
[198]135} else {
[123]136        echo "<p class='err'>Fehler! Kein Treffer f&uuml;r gml_id=".$gmlid."</p>";
[199]137        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
[128]138}
[198]139pg_free_result($res);
140// Balken
[63]141if ($eig=="j") {
[26]142        echo "<p class='fsei'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
[41]143        echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck mit Eigent&uuml;mer</h2>\n";
144} else {
145        echo "<p class='fskennz'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n";
146        echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurst&uuml;ck</h2>\n";
147}
[26]148echo "\n<table class='outer'>\n<tr>\n\t<td>"; // linke Seite
[43]149        // darin Tabelle Kennzeichen
150        echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>";
151                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>";
[26]152                echo "\n\t<tr>\n\t\t<td title='Gemarkung'>";
[63]153                if ($showkey) {
[64]154                        echo "<span class='key'>".$gmkgnr."</span><br>";
[63]155                }
[64]156                echo $gemkname."&nbsp;</td>";
[81]157                echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>";
[26]158                echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>";
[41]159        echo "\n\t</table>";
160echo "\n\t</td>\n\t<td>"; // rechte Seite
[43]161        // FS-Daten 2 Spalten
162        echo "\n\t<table class='fsd'>";
[26]163                echo "\n\t<tr>\n\t\t<td>Entstehung</td>";
164                echo "\n\t\t<td>".$entsteh."</td>\n\t</tr>";                 echo "\n\t<tr>";
[129]165                        echo "\n\t\t<td>letz. Fortf</td>";
166                        echo "\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>";
167                                foreach($arrn AS $val) { // Zeile f. jedes Element des Array
168                                        echo trim($val, '"')."<br>";
169                                }
170                        echo "</td>";
171                echo "\n\t</tr>";
172
173        echo "\n\t</table>";         if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck"); }
174echo "\n\t</td>\n</tr>\n</table>";
[128]175//      echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame  . "</td>\n</tr>";
176// Ende Seitenkopf
[26]177
[63]178echo "\n<hr>";
[26]179echo "\n<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle
[63]180echo "\n<table class='fs'>";
181
182// ** G e b i e t s z u g e h o e r i g k e i t **
[41]183// eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben
[64]184// Schluessel "land" wird nicht verwendet, gibt es Bestaende wo das nicht einheitlich ist?
[63]185echo "\n<tr>\n\t<td class='ll'><img title='Im Gebiet von' src='ico/Gemeinde.ico' width='16' height='16' alt=''> Gebiet:</td>";
186
187// G e m e i n d e
[64]188$sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk= $1 AND kreis= $2 AND gemeinde= $3";
[63]189
190$v = array($bezirk,$kreis,$gemeinde);
191$res = pg_prepare("", $sql);
192$res = pg_execute("", $v);
193if (!$res) {
194        echo "\n<p class='err'>Fehler bei Gemeinde</p>\n";
195        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
[123]196}
197$row = pg_fetch_array($res);
[128]198$gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
[123]199echo "\n\t<td class='lr'>Gemeinde</td><td class='lr'>";
[53]200if ($showkey) {
201        echo "<span class='key'>(".$gemeinde.")</span> ";
[64]202}
[63]203echo $gnam."</td><td width='80'>";  // Mindest-Breite der Spalte fuer die Links
204        // Link zur FlurstÃŒcks-Historie (passt nicht ganz in die Zeile "Gemeinde", aber gut unter "weitere Auskunft")
205        echo "\n<p class='nwlink noprint'>";
[198]206                echo "\n\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
[128]207                                if ($idanzeige) {echo "&amp;id=j";}
208                                if ($showkey)   {echo "&amp;showkey=j";}
209                        echo "' title='Vorg&auml;nger-Flurst&uuml;cke'>Historie ";
210                        echo "<img src='ico/Flurstueck_Historisch.ico' width='16' height='16' alt=''>";
211                echo "</a>";
212        echo "\n</p>";
213echo "</td></tr>";
214pg_free_result($res);
215
216// K r e i s
[198]217$sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk= $1 AND kreis= $2";
[63]218$v = array($bezirk,$kreis);
219$res = pg_prepare("", $sql);
220$res = pg_execute("", $v);
221if (!$res) {
222        echo "\n<p class='err'>Fehler bei Kreis</p>\n";
223        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
[123]224}
225$row = pg_fetch_array($res);
[128]226$knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
[123]227echo "<tr><td>&nbsp;</td><td>Kreis</td><td>";
[53]228if ($showkey) {
[63]229        echo "<span class='key'>(".$kreis.")</span> ";
[76]230}
[63]231echo $knam."</td><td>&nbsp;</td></tr>";
232pg_free_result($res);
[64]233
[76]234// R e g - B e z
[198]235$sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk= $1 ";
[63]236$v = array($bezirk);
237$res = pg_prepare("", $sql);
[123]238$res = pg_execute("", $v);
239if (!$res) {
240        echo "<p class='err'>Fehler bei Regierungsbezirk</p>";
241        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
242}
243$row = pg_fetch_array($res);
[128]244$bnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
[123]245echo "<tr><td>&nbsp;</td><td>Regierungsbezirk</td><td>";
[53]246if ($showkey) {
[63]247        echo "<span class='key'>(".$bezirk.")</span> ";
[76]248}
[63]249echo $bnam."</td><td>&nbsp;</td></tr>";
250pg_free_result($res);
251// ENDE G e b i e t s z u g e h o e r i g k e i t
[198]252
253// ** L a g e b e z e i c h n u n g **
[63]254
[53]255// Lagebezeichnung Mit Hausnummer
[63]256//   ax_flurstueck  >weistAuf>  AX_LagebezeichnungMitHausnummer
257//                  <gehoertZu<
[53]258$sql ="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung ";
259$sql.="FROM alkis_beziehungen v ";
260$sql.="JOIN ax_lagebezeichnungmithausnummer  l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN
[63]261$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde ";
[78]262$sql.="AND l.lage = s.lage ";
263$sql.="WHERE v.beziehung_von= $1 "; // id FS";
264$sql.="AND v.beziehungsart='weistAuf' ";
[132]265$sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;";
[63]266// Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage
[78]267// bei einem SekundÀrbestand fÌr eine Gemeinde oder einen Kreis reicht dies hier:
[53]268
269$v = array($gmlid);
270$res = pg_prepare("", $sql);
271$res = pg_execute("", $v);
[63]272if (!$res) {
273        echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer</p>";
274        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
[123]275}
276$j=0;
[128]277while($row = pg_fetch_array($res)) {
[123]278        $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
[53]279        echo "\n<tr>\n\t";
280                if ($j == 0) {
281                        echo "<td class='ll'><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Adresse:</td>";
[63]282                } else {
[64]283                        echo "<td>&nbsp;</td>";
[63]284                }
285                echo "\n\t<td>&nbsp;</td>";
286                echo "\n\t<td class='lr'>";
[53]287                if ($showkey) {
[76]288                        echo "<span class='key'>(".$row["lage"].")</span>&nbsp;";
[63]289                }
290                echo $sname."&nbsp;".$row["hausnummer"];
291                if ($idanzeige) {linkgml($gkz, $row["gml_id"], "Lagebezeichnung mit Hausnummer");}
292                echo "</td>";
[275]293                echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
294                        echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"];
295                        if ($showkey) {echo "&amp;showkey=j";}
[63]296                        echo "'>Lage ";
[123]297                        echo "<img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''></a>";
298                echo "\n\t\t</p>\n\t</td>";
[105]299        echo "\n</tr>";
[63]300        $j++;
301}
[41]302pg_free_result($res);
[53]303// Verbesserung: mehrere HsNr zur gleichen Straße als Liste?
[63]304
[198]305// L a g e b e z e i c h n u n g   O h n e   H a u s n u m m e r  (Gewanne oder nur Strasse)
[63]306//   ax_flurstueck  >zeigtAuf>  AX_LagebezeichnungOhneHausnummer
[53]307//                  <gehoertZu<
308$sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung ";
309$sql.="FROM alkis_beziehungen v ";
310$sql.="JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=v.beziehung_zu ";
311$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde ";
312$sql.="AND l.lage = s.lage ";
313$sql.="WHERE v.beziehung_von= $1 "; // id FS
[63]314$sql.="AND   v.beziehungsart='zeigtAuf';"; //ORDER?
[132]315$v = array($gmlid);
[275]316$res = pg_prepare("", $sql);
[53]317$res = pg_execute("", $v);
[63]318if (!$res) {
319        echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer</p>";
320        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."</p>";}
[123]321}
322$j=0;
[128]323// Es wird auch eine Zeile ausgegeben, wenn kein Eintrag gefunden!
[123]324while($row = pg_fetch_array($res)) {
[53]325        $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8");
[64]326        $skey=$row["lage"]; // Strassenschl.
[53]327        $lgml=$row["gml_id"]; // key der Lage
[63]328        if (!$gewann == "") {
[275]329                echo "\n<tr>";
[53]330                        echo "\n\t<td class='ll' title='Lagebezeichnung'><img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''> Gewanne:</td>";
[63]331                        echo "\n\t<td></td>";
[64]332                        echo "\n\t<td class='lr'>".$gewann."</td>";
[133]333                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
[64]334                                echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml;
[63]335                                if ($showkey) {echo "&amp;showkey=j";}                         
336                                echo "'>\n\t\t\tLage <img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''></a>";
[123]337                        echo "\n\t\t</p>\n\t</td>";
338                echo "\n</tr>";
[105]339        }
[63]340        // Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link
[64]341        if ($skey > 0) {
[63]342                echo "\n<tr>";
[64]343                        echo "\n\t<td class='ll'><img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''> Stra&szlig;e:</td>";
[63]344                        echo "\n\t<td></td>";
[64]345                        echo "\n\t<td class='lr'>";
346                        if ($showkey) {
347                                echo "<span class='key'>(".$skey.")</span>&nbsp;";
[63]348                        }
349                        echo $row["bezeichnung"];
350                        if ($idanzeige) {linkgml($gkz, $lgml, "Lagebezeichnung o. HsNr.");}
351                        echo "</td>";
[275]352                        echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
353                                echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml;
354                                if ($showkey) {echo "&amp;showkey=j";}                         
[63]355                                echo "'>\n\t\t\tLage <img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''>\n\t\t\t</a>";
[123]356                        echo "\n\t\t</p>\n\t</td>";
357                echo "\n</tr>";
[105]358        }
[63]359        $j++;
[53]360}
[64]361pg_free_result($res);
[53]362// ENDE  L a g e b e z e i c h n u n g
[198]363
364// ** N U T Z U N G **
[63]365// Tabellenzeilen (3 Spalten) mit tats. Nutzung zu einem FS ausgeben
366$sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, c.class, n.info, n.zustand, n.name, n.bezeichnung, m.gruppe, ";
367// Gemeinsame FlÀche von NUA und FS
368$sql.="st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) AS schnittflae, ";
[64]369$sql.="c.label, c.blabla ";
[63]370$sql.="FROM ax_flurstueck f, nutzung n ";
[133]371$sql.="JOIN nutzung_meta m ON m.nutz_id=n.nutz_id ";
[63]372$sql.="LEFT JOIN nutzung_class c ON c.nutz_id=n.nutz_id AND c.class=n.class ";
[53]373$sql.="WHERE f.gml_id= $1 "; // id FS";
[63]374$sql.="AND st_intersects(n.wkb_geometry,f.wkb_geometry) = true "; // ueberlappende Flaechen
[53]375$sql.="AND st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) > 0.05 "; // unter Rundung
[63]376$sql.="ORDER BY schnittflae DESC;";
377
378$v = array($gmlid);
379$res = pg_prepare("", $sql);
380$res = pg_execute("", $v);
381if (!$res) {
382        echo "<p class='err'>Fehler bei Suche tats. Nutzung</p>\n";
383        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
[123]384}
385$the_Xfactor=$fsbuchflae / $fsgeomflae; // geom. ermittelte FlÀche auf amtl. BuchflÀche angleichen
[128]386$j=0;
[133]387while($row = pg_fetch_array($res)) {
388        $grupp = $row["gruppe"];  // Individuelles Icon?
[53]389        $title = htmlentities($row["title"], ENT_QUOTES, "UTF-8"); // NUA-Titel
[63]390        $fldclass=$row["fldclass"]; // Feldname 1.  Zusatzfeld
[64]391        $fldinfo= $row["fldinfo"];  // Feldname 2. Zusatzfeld
[63]392        $gml=$row["gml_id"];
[133]393        $class=$row["class"];  // 1. Zusatzfeld verschlÃŒsselt -> nutzung_class
394        $info=$row["info"]; // 2. Zus. verschlÃŒsselt (noch keine Info zum entschl.)
395        $schnittflae=$row["schnittflae"];
396        $label=$row["label"]; // Nutzungsart entschlÃŒsselt
397        $zus=$row["zustand"]; // im Bau
[63]398        $nam=$row["name"]; // Eigenname
[64]399        $bez=$row["bezeichnung"]; // weiterer Name (unverschl.)
[63]400        $blabla=htmlentities($row["blabla"], ENT_QUOTES, "UTF-8");         $label=str_replace("/", "<br>", $label); // Ersetzen "/" durch Zeilenwechsel?
401
402        echo "\n<tr>\n\t";
[198]403                if ($j == 0) {
404                        echo "<td class='ll' title='Abschnitt der tats&auml;chlichen Nutzung'><img src='ico/Abschnitt.ico' width='16' height='16' alt=''> Nutzung:</td>";
[63]405                } else {
406                        echo "<td>&nbsp;</td>";
[64]407                }
[133]408                $absflaebuch = $schnittflae * $the_Xfactor; // angleichen geometrisch an amtliche FlÀche
[63]409                $schnittflae = number_format($schnittflae,1,",",".") . " m&#178;"; // geometrisch
410                $absflaebuch = number_format($absflaebuch,0,",",".") . " m&#178;"; // Abschnitt an BuchflÀche angeglichen
411                echo "\n\t<td class='fla' title='geometrisch berechnet: ".$schnittflae."'>".$absflaebuch."</td>";
[133]412
413                echo "\n\t<td class='lr'>";
414                        If ( ($fldclass == "Funktion" OR $fldclass == "Vegetationsmerkmal") AND $label != "") { // Kurze Anzeige
415                                if ($showkey) {echo "<span class='key'>(".$class.")</span> ";}
416                                if ($blabla = "") {
[63]417                                        echo $label;
[66]418                                } else {
[64]419                                        echo "<span title='".$blabla."'>".$label."</span>";
420                                }
421                        } else { // ausfuehrlichere Anzeige
422                                echo $title; // NUA-Tabelle
423                                if ($class != "") { // NUA-SchlÃŒssel
[63]424                                        echo ", ".$fldclass.": "; // Feldname
[64]425                                        if ($showkey) {echo "<span class='key'>(".$class.")</span> ";}
426                                        if ($label != "") { // Bedeutung dazu wurde erfasst
[129]427                                                if ($blabla = "") {
[64]428                                                        echo $label;
[65]429                                                } else {
[64]430                                                        echo "<span title='".$blabla."'>".$label."</span>";
431                                                }
432                                        } else { // muss noch erfasst werden
433                                                echo $class." "; // SchlÃŒssel als Ersatz fÃŒr Bedeutung
434                                        }
435                                }
436                        }
437
438                        if ($info != "") { // manchmal ein zweites Zusatzfeld (wie entschlÃŒsseln?)
439                                echo ", ".$fldinfo."=".$info;
[63]440                        }
[64]441                        if ($zus != "") { // Zustand
[275]442                                echo "\n\t\t<br>";
[63]443                                if ($showkey) {echo "<span class='key'>(".$zus.")</span> ";}
444                                echo "<span title='Zustand'>";                         
[275]445                                switch ($zus) {
[63]446                                        case 2100: echo "Außer Betrieb, stillgelegt, verlassen"; break;
[53]447                                        case 4000: echo "Im Bau"; break;
[123]448                                        case 8000: echo "Erweiterung, Neuansiedlung"; break;
[53]449                                        default: echo "Zustand: ".$zus; break;
[133]450                                }
451                                echo "</span>";
452                        }
453                        if ($nam != "") {echo "<br>Name: ".$nam;}
[123]454                        if ($bez != "") {echo "<br>Bezeichnung: ".$bez;}
[66]455                        if ($idanzeige) {linkgml($gkz, $gml, "Nutzungs-Abschnitt");}
[63]456
[275]457                echo "</td>";
458                echo "\n\t<td>";
459                        switch ($grupp) { // Icon nach 4 Objektartengruppen
460                                case "Siedlung":                $ico = "Abschnitt.ico"; break;
[63]461                                case "Verkehr":         $ico = "Strassen_Klassifikation.ico";   break;
[64]462                                case "Vegetation":      $ico = "Wald.ico";      break;
463                                case "GewÀsser":               $ico = "Wasser.ico";    break;
[133]464                                default:                                        $ico = "Abschnitt.ico"; break;
465                        }
466                        // Icon ist auch im Druck sichtbar, class='noprint' ?           
467                        echo "<p class='nwlink'><img title='".$title."' src='ico/".$ico."' width='16' height='16' alt='NUA'></p>";
468                echo "</td>";
[64]469        echo "\n</tr>";
[123]470        $j++;
[64]471}
472pg_free_result($res);
[53]473// ENDE  N U T Z U N G
474
[63]475echo "\n<tr>"; // Summenzeile
[198]476        echo "\n\t<td class='ll' title='amtliche Fl&auml;che (Buchfl&auml;che)'>Fl&auml;che:</td>";
[63]477        echo "\n\t<td class='fla sum'>";
478        echo "<span title='geometrisch berechnete Fl&auml;che = ".$fsgeomflaed."' class='flae'>".$fsbuchflaed."</span></td>";
[133]479
[198]480        // Flaeche und Link auf GebÀude-Auswertung
[287]481        echo "\n\t<td>&nbsp;</td>\n\t<td>";
[133]482                echo "\n\t\t<p class='nwlink noprint'>"; // Gebaeude-Verschneidung
483                        echo "\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid;
484                        if ($idanzeige) {echo "&amp;id=j";}                         if ($showkey) {echo "&amp;showkey=j";}
[64]485                        echo "' title='Geb&auml;udenachweis'>Geb&auml;ude <img src='ico/Haus.ico' width='16' height='16' alt=''></a>";
[63]486                echo "\n\t\t</p>";
[53]487        echo "\n\t</td>";
[105]488echo "\n</tr>";
489
[63]490// Hinweis auf Bodenneuordnung oder eine strittige Grenze
491//  b.name, b.artderfestlegung,
492
[53]493$sql_boden ="SELECT a.wert, a.bezeichner AS art_verf, ";
[286]494$sql_boden.="b.gml_id AS verf_gml, b.bezeichnung AS verf_bez, b.name AS verf_name, ";
[287]495$sql_boden.="d.bezeichnung AS stelle_bez, d.stelle AS stelle_key ";
496$sql_boden.="FROM ax_bauraumoderbodenordnungsrecht b JOIN ax_bauraumoderbodenordnungsrecht_artderfestlegung a ON a.wert = b.artderfestlegung ";
497$sql_boden.="LEFT JOIN ax_dienststelle d ON b.stelle = d.stelle ";
498$sql_boden.="WHERE ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry) ";
499$sql_boden.="OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry)";
500pg_prepare($con, "bodeneuordnung", $sql_boden);
501$res_bodeneuordnung = pg_execute($con, "bodeneuordnung", array($gmlid));
502
503$sql_str = "SELECT gml_id FROM ax_besondereflurstuecksgrenze WHERE 1000 = ANY(artderflurstuecksgrenze) AND ST_touches((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1),wkb_geometry);";
504pg_prepare($con, "strittigeGrenze", $sql_str);
505$res_strittigeGrenze = pg_execute($con, "strittigeGrenze", array($gmlid));
[286]506
507if (pg_num_rows($res_bodeneuordnung) > 0 OR pg_num_rows($res_strittigeGrenze) > 0) {
[287]508        echo "\n<tr>";
509        echo "\n\t<td title='Hinweise zum Flurst&uuml;ck'><h6><img src='ico/Hinweis.ico' width='16' height='16' alt=''> ";
[286]510        echo "Hinweise:</td></h6>\n\t<td colspan=3>&nbsp;</td>";
511        echo "\n</tr>";
512
[287]513        if (pg_num_rows($res_bodeneuordnung) > 0) {
514
515                while ($row = pg_fetch_array($res_bodeneuordnung)) { // 3 Zeilen je Verfahren
516
517                        // Zeile 1 - kommt immer, darum hier den Link
[286]518                        echo "\n<tr title='Bau-, Raum- oder Bodenordnungsrecht'>";
[287]519                                echo "\n\t<td>Bodenrecht:</td>";
520                                echo "\n\t<td>Festlegung</td>"; // "Art der Festlegung" zu lang
521                                echo "\n\t<td>";
522                                        if ($showkey) {echo "<span class='key'>(".$row['wert'].")</span> ";}
523                                        echo $row['art_verf'];
524                                echo "</td>";
525                                echo "\n\t<td>";
526                                // LINK:
527                                echo "\n\t\t<p class='nwlink noprint'>";
528                                        echo "\n\t\t\t<a href='alkisbaurecht.php?gkz=".$gkz."&amp;gmlid=".$row['verf_gml'];
529                                        if ($idanzeige) {echo "&amp;id=j";}                                         if ($showkey) {echo "&amp;showkey=j";}
530                                        echo "' title='Bau-, Raum- oder Bodenordnungsrecht'>Recht <img src='ico/Gericht.ico' width='16' height='16' alt=''></a>";
531                                echo "\n\t\t</p>";                     
532                                echo "</td>";
533                        echo "\n</tr>";
534
535                        // Zeile 2
536                        $dstell=$row['stelle_key']; // LEFT JOIN
537                        if ($dstell != "") { // Kann auch leer sein
538                                echo "\n<tr title='Flurbereinigungsbeh&ouml;rde'>";
539                                        echo "\n\t<td>&nbsp;</td>";
540                                        echo "\n\t<td>Dienststelle</td>";
541                                        echo "\n\t<td>";
542                                                if ($showkey) {echo "<span class='key'>(".$dstell.")</span> ";}
543                                                echo $row['stelle_bez'];
544                                        echo "</td>";
545                                        echo "\n\t<td>&nbsp;</td>";
546                                echo "\n</tr>";
547                        }
548
549                        // Zeile 3
550                        $vbez=$row['verf_bez']; // ist nicht immer gefÃŒllt
551                        $vnam=$row['verf_name']; // noch seltener
552                        if ($vbez != "") {
553                                echo "\n<tr title='Verfahrensbezeichnung'>";
554                                        echo "\n\t<td>&nbsp;</td>\n\t<td>Verfahren</td>";
555                                        echo "\n\t<td>";
556                                                if ($vnam == "") {
557                                                        echo $vbez; // nur die Nummer
558                                                } else {        // Name oder beides
559                                                        if ($showkey) {echo "<span class='key'>(".$vbez.")</span> ";}
560                                                        echo $vnam;
561                                                }
562                                        echo "</td>";
563                                        echo "\n\t<td>&nbsp;</td>";
564                                echo "\n</tr>";
565                        }
566                }
567        }
568
569        if (pg_num_rows($res_strittigeGrenze) > 0) { // 1 Zeile
570                echo "\n<tr>";
571                echo "\n<td>Strittige Grenze:</td>";
[286]572                echo "<td colspan=2>Mindestens eine Flurst&uuml;cksgrenze ist als <b>strittig</b> zu bezeichnen. Sie kann nicht festgestellt werden, weil die Beteiligten sich nicht &uuml;ber den Verlauf einigen. Nach sachverst&auml;ndigem Ermessen der Katasterbeh&ouml;rde ist anzunehmen, dass das Liegenschaftskataster nicht die rechtm&auml;&szlig;ige Grenze nachweist.</td>";
573                echo "\n<td>&nbsp;</td>";
[287]574                echo "\n</tr>";
575        }
576}
577
578// Erweiterung Kreis Unna - Ende
579
580echo "\n</table>";
[286]581
582// G R U N D B U C H
[287]583echo "\n<table class='outer'>";
[286]584        echo "\n<tr>";
[287]585                echo "\n\t<td>";
586                        echo "\n\t\t<a name='gb'></a>\n\t\t<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundb&uuml;cher</h3>";
[26]587                echo "\n\t</td>";
[41]588                echo "\n\t<td>";
[63]589                        echo "\n\t\t<p class='nwlink noprint'>";
590                                echo "\n\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&amp;gmlid=".$gmlid;
[41]591                                if ($idanzeige) { echo "&amp;id=j";}
592                                if ($showkey)   {echo "&amp;showkey=j";}
[63]593                                // Umschalter: FS-Nachw ruft sich selbst mit geaend. Param. auf. Posit. auf Marke #gb
594                                if ($eig=="j") {
[123]595                                        echo "&amp;eig=n#gb' title='Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>";
[102]596                                } else {
[63]597                                        echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer ";
[43]598                                        echo "<img src='ico/EigentuemerGBzeile.ico' width='16' height='16' alt=''></a>";
599                                }
[63]600                        echo "\n\t\t</p>";
[41]601                echo "\n\t</td>";
[64]602        echo "\n</tr>";
[63]603echo "\n</table>\n";
604
605// B U C H U N G S S T E L L E N  zum FS (istGebucht)
606$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, ";
607$sql.="s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, b.bezeichner AS bart ";
608//  s.beschreibungdesumfangsderbuchung as umf,  ?
[26]609$sql.="FROM alkis_beziehungen v "; // Bez Flurst.- Stelle.
610$sql.="JOIN ax_buchungsstelle s ON v.beziehung_zu=s.gml_id ";
[41]611$sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert ";
[26]612$sql.="WHERE v.beziehung_von= $1 "; // id FS
[45]613$sql.="AND v.beziehungsart= $2 ";
[26]614$sql.="ORDER BY s.laufendenummer;";
[78]615
616$v = array($gmlid,'istGebucht');
[63]617$ress = pg_prepare("", $sql);
618$ress = pg_execute("", $v);
[78]619if (!$ress) {
[26]620        echo "\n<p class='err'>Keine Buchungsstelle.</p>\n";
[63]621        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";}
622}
623$bs=0; // Z.Buchungsstelle
624while($rows = pg_fetch_array($ress)) {
625        $gmls=$rows["gml_id"]; // gml b-Stelle
[123]626        $lfd=$rows["lfd"]; // BVNR
[128]627
[43]628        // B U C H U N G S B L A T T  zur Buchungsstelle (istBestandteilVon)
[26]629        $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
630        $sql.="z.bezeichnung ";  // stelle -> amtsgericht
[78]631        $sql.="FROM alkis_beziehungen v "; // Bez. Stelle - Blatt
[63]632        $sql.="JOIN ax_buchungsblatt b ON v.beziehung_zu=b.gml_id ";
633        $sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk ";
[41]634        $sql.="WHERE v.beziehung_von= $1 "; // id Buchungsstelle
[26]635        $sql.="AND v.beziehungsart= $2 ";
636        $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;";
[78]637
638        $v = array($gmls,'istBestandteilVon');
639        $resg = pg_prepare("", $sql);
[63]640        $resg = pg_execute("", $v);
[78]641        if (!$resg) {
[26]642                echo "\n<p class='err'>Kein Buchungsblatt.</p>\n";
643                if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";}
[63]644        }
645        $bl=0; // Z.Blatt
646        while($rowg = pg_fetch_array($resg)) {
647                $gmlg=$rowg["gml_id"];
[123]648                $beznam=$rowg["bezeichnung"];
[128]649                $blattkeyg=$rowg["blattart"];
[45]650                $blattartg=blattart($blattkeyg);
[26]651
652                echo "\n<hr>";
[63]653                echo "\n<table class='outer'>";
[26]654                echo "\n<tr>"; // 1 row only
[63]655                        echo "\n\t<td>"; // Outer linke Spalte:
656
657                                // Rahmen mit GB-Kennz
658                                if ($blattkeyg == 1000) {
659                                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
660                                }else {
[41]661                                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
[63]662                                }
663                                        echo "\n\t<tr>\n\t\t<td class='head'>Bezirk</td>";
664                                                echo "\n\t\t<td class='head'>".$blattartg."</td>";
665                                                echo "\n\t\t<td class='head'>Lfd-Nr.</td>";
666                                                echo "\n\t\t<td class='head'>Buchungsart</td>";
667                                        echo "\n\t</tr>";
[64]668                                        echo "\n\t<tr>";
[41]669                                                echo "\n\t\t<td title='Grundbuchbezirk'>";
[63]670                                                        if ($showkey) {
[81]671                                                                echo "<span class='key'>".$rowg["bezirk"]."</span><br>";
[63]672                                                        }
[41]673                                                echo $beznam."&nbsp;</td>";
[63]674
675                                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>";
[64]676
677                                                echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rows["lfd"]."</td>";
678
[81]679                                                echo "\n\t\t<td title='Buchungsart'>";
[63]680                                                        if ($showkey) {
[41]681                                                                echo "<span class='key'>".$rows["buchungsart"]."</span><br>";
[63]682                                                        }
[41]683                                                echo $rows["bart"]."</td>";
[63]684                                        echo "\n\t</tr>";
685                                echo "\n\t</table>";
686
687                                // Miteigentumsanteil
688                                if ($rows["zaehler"] <> "") {
[81]689                                        echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
[63]690                                }
[41]691                        echo "\n</td>";
[63]692
693                        echo "\n<td>"; // Outer rechte Spalte: NW-Links
[41]694                                if ($idanzeige) {
695                                        linkgml($gkz, $gmls, "Buchungsstelle");
696                                        echo "<br>";
[63]697                                        linkgml($gkz, $gmlg, "Buchungsblatt");
698                                }
[41]699                                echo "\n\t<p class='nwlink noprint'>weitere Auskunft:<br>";
700                                        echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg."#bvnr".$lfd;
[63]701                                                if ($idanzeige) {echo "&amp;id=j";}
[41]702                                                if ($showkey)   {echo "&amp;showkey=j";}
[49]703                                                if ($blattkeyg == 1000) {
[41]704                                                        echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>";
[63]705                                                } else {
[49]706                                                        echo "' title='Grundbuchnachweis'>";
[63]707                                                }
[43]708                                                echo $blattartg." <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''>";
[64]709                                        echo "</a>";
[63]710                                echo "\n\t</p>";
711                        echo "\n</td>";
712                echo "\n</tr>";
[64]713                echo "\n</table>";
[63]714
715                // +++ Weitere Felder ausgeben? BeschreibungDesUmfangsDerBuchung
716                if ($rows["sond"] != "") {
717                        echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rows["sond"]."</p>";
718                }
[41]719                if ($rows["nrpl"] != "") {
[26]720                        echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rows["nrpl"]."</span> im Aufteilungsplan.</p>";
[123]721                }
[63]722
723                // E I G E N T U E M E R, zum GB
[26]724                // Person <-benennt< AX_Namensnummer  >istBestandteilVon-> AX_Buchungsblatt
[63]725                if ($eig=="j") { // Wahlweise mit/ohne EigentÃŒmer
[64]726                        $n = eigentuemer($con, $gmlg, false, ""); // ohne Adresse
[63]727                        if ($n == 0) {
728                                if ($blattkeyg == 1000) {
729                                        echo "\n<p class='err'>Keine Namensnummer gefunden.</p>";
[41]730                                        linkgml($gkz, $gmlg, "Buchungsblatt");
[63]731                                } else {
[129]732                                        echo "\n<p>ohne Eigent&uuml;mer.</p>";
[41]733                                }
[43]734                        }
[26]735                }
[49]736                $bl++;
[26]737        }
[63]738        if ($bl == 0) {
[26]739                echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>";
740                echo "\n<p class='err'>Parameter: gml_id= ".$gmls.", Beziehung='istBestandteilVon'</p>";
[41]741                linkgml($gkz, $gmls, "Buchungstelle");
[63]742        }
[26]743
744        // Buchungstelle  >an>  Buchungstelle  >istBestandteilVon>  BLATT  ->  Bezirk
[123]745        $sql ="SELECT s.gml_id AS s_gml, s.buchungsart, s.laufendenummer as lfd, ";
[78]746        // , s.beschreibungdesumfangsderbuchung as umf   ?
[49]747        $sql.="s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, ";
[26]748        $sql.="b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, ";
749        $sql.="z.bezeichnung, a.bezeichner AS bart ";  // stelle -> amtsgericht
[45]750        $sql.="FROM alkis_beziehungen an "; // Bez. Stelle - Stelle
[26]751        $sql.="JOIN ax_buchungsstelle s ON an.beziehung_von = s.gml_id ";
752        $sql.="JOIN alkis_beziehungen v ON s.gml_id = v.beziehung_von "; // Bez. Stelle - Blatt
753        $sql.="JOIN ax_buchungsblatt  b ON v.beziehung_zu = b.gml_id ";
754        $sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land = b.land AND z.bezirk = b.bezirk ";
[45]755        $sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert ";
[78]756        $sql.="WHERE an.beziehung_zu = $1 "; // id herrschende Buchungsstelle
757        $sql.="AND an.beziehungsart = 'an' ";
758        $sql.="AND v.beziehungsart = 'istBestandteilVon' ";
759        $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;";
760        $v = array($gmls);
761        $resan = pg_prepare("", $sql);
[63]762        $resan = pg_execute("", $v);
[78]763        if (!$resan) {
764                echo "\n<p class='err'>Keine weiteren Buchungsstellen.</p>\n";
[45]765                if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";}
[63]766        }
767        $an=0; // Stelle an Stelle
768        while($rowan = pg_fetch_array($resan)) {
769                $beznam=$rowan["bezeichnung"];
[123]770                $blattkeyan=$rowan["blattart"]; // Schluessel von Blattart
[128]771                $blattartan=blattart($blattkeyan);                 echo "\n<hr>\n<table class='outer'>";
[43]772                echo "\n<tr>"; // 1 row only
[26]773                        echo "\n<td>"; // outer linke Spalte
774                                // Rahmen mit Kennzeichen GB
[63]775                                if ($blattkeyan == 1000) {
776                                        echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>";
[81]777                                } else {
[63]778                                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted
779                                }
[41]780                                        echo "\n\t<tr>";
[63]781                                                echo "\n\t\t<td class='head'>Bezirk</td>";
782                                                echo "\n\t\t<td class='head'>".$blattartan."</td>";
783                                                echo "\n\t\t<td class='head'>Lfd-Nr,</td>";
784                                                echo "\n\t\t<td class='head'>Buchungsart</td>";
785                                        echo "\n\t</tr>";
[64]786                                        echo "\n\t<tr>";
[63]787                                                echo "\n\t\t<td title='Grundbuchbezirk'>";
[41]788                                                if ($showkey) {echo "<span class='key'>".$rowan["bezirk"]."</span><br>";}
[63]789                                                echo $beznam."</td>";
790
791                                                echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowan["blatt"]."</span></td>";
[41]792
[63]793                                                echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowan["lfd"]."</td>";
794
[133]795                                                echo "\n\t\t<td title='Buchungsart'>";
[43]796                                                        if ($showkey) {echo "<span class='key'>".$rowan["buchungsart"]."</span><br>";}
[63]797                                                        echo $rowan["bart"];
[41]798                                                echo "</td>";
[63]799                                        echo "\n\t</tr>";
[41]800                                echo "\n\t</table>";
[63]801                                if ($rowan["zaehler"] <> "") {
802                                        echo "\n<p class='ant'>".$rowan["zaehler"]."/".$rowan["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>";
[133]803                                }
[63]804                        echo "\n</td>";
805                        echo "\n<td>"; // outer rechte Spalte
806                                if ($idanzeige) {
[41]807                                        linkgml($gkz, $rowan["s_gml"], "Buchungsstelle");
808                                        echo "<br>";
809                                        linkgml($gkz, $rowan["g_gml"], "Buchungsblatt");
810                                }
[63]811                                echo "\n<br>";
[41]812                                echo "\n\t<p class='nwlink'>";
813                                        echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowan["g_gml"];
[63]814                                                if ($idanzeige) {echo "&amp;id=j";}
[41]815                                                if ($showkey)   {echo "&amp;showkey=j";}
816                                                echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>";
817                                                echo $blattartan;
818                                                echo " <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''>";
[63]819                                        echo "</a>";
[43]820                                echo "\n\t</p>";
[63]821                        echo "\n\t</td>";
[43]822                echo "\n</tr>";
[63]823                echo "\n</table>";
824
[64]825                if ($blattkeyan != 1000) {
[63]826                        echo "\n<p>Blattart: ".$blattartan." (".$blattkeyan.").<br>\n";
827                }
828                // +++ BeschreibungDesUmfangsDerBuchung ?
[41]829                if ($rowan["nrpl"] != "") {
830                        echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rowan["nrpl"]."</span> im Aufteilungsplan.</p>";
[26]831                }
[43]832                if ($rowan["sond"] != "") {
833                        echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rowan["sond"]."</p>";
[26]834                }
[133]835                if ($eig == "j") {
[63]836                        $n = eigentuemer($con, $rowan["g_gml"], false, ""); // ohne Adresse
837                }
[43]838                $an++; 
[63]839        }
840        pg_free_result($resan);
841        $bs++;
[123]842}
[129]843pg_free_result($resg);
[26]844if ($bs == 0) {
[198]845        echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>";
[26]846        linkgml($gkz, $gmlid, "Flurst&uuml;ck");
[198]847}
[26]848pg_close($con);
[198]849echo <<<END
850
[26]851<form action=''>
852        <div class='buttonbereich noprint'>
853        <hr>
[198]854                <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck" /></a>&nbsp;
855                <a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken" /></a>&nbsp;
[275]856                <a title="Export Flurst&uuml;cksdaten als CSV" href='javascript:ALKISexportFS()'><img src="ico/download_fs.ico" width="32" height="16" alt="Export" /></a>&nbsp;
857                <a title="Export Grundbuchdaten als CSV" href='javascript:ALKISexportGB()'><img src="ico/download_gb.ico" width="32" height="16" alt="Export" /></a>&nbsp;
[26]858<!--    <a title="Seite schlie&szlig;en" href="javascript:window.close()"><img src="ico/close.ico" width="16" height="16" alt="Ende" /></a>     -->
859        </div>
[198]860</form>
861END;
862
863footer($gmlid, $_SERVER['PHP_SELF']."?", "&amp;eig=".$eig);
[199]864
[198]865?>
[26]866
867</body>
[275]868</html>
Note: See TracBrowser for help on using the repository browser.