- Timestamp:
- 04/23/18 15:33:39 (6 years ago)
- Location:
- trunk/info/info/alkisn
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkisn/alkisauszug.css
r398 r402 19 19 2017-10-11 BodenschÀtzung 20 20 2017-10-17 td.nwlink min-width 21 2017-12-20 td.dbg 21 2017-12-20 td.dbg 22 2018-04-23 Spaltenbreiten 22 23 */ 23 24 body {background-color: #FEFFFE;} … … 44 45 p.zus {margin: 2pt; padding: 2pt; border:1px dotted maroon; background: white;} /* Zusatz zum Eigent., gerahmt */ 45 46 p.avh {font-style: italic; color: navy;} /* Anteilsverhaeltnis */ 46 p.ant {font-style: italic; position: relative; left: 12px;} /* Anteil am FS*/47 p.ant {font-style: italic; position: relative;} /* Anteil am FS left: 12px;*/ 47 48 p.geig {color: navy;} /* GB-Nachw. Eigentuemer Name */ 48 49 p.gadr {color: maroon; margin-top: 1pt;} /* GB-Nachw. Eigentuemer Adresse */ … … 104 105 td.emz {width: 45px; padding-right: 4px; padding-left: 4px; text-align: right;} */ 105 106 td.kurz {width: 26px; padding-left: 4px;} 106 td.nanu {width: 80px;} /* Namensnummer */107 td.nanu {width: 50px;} /* Namensnummer */ 107 108 td.sond, p.sond {font-size: 9pt; font-style: italic; background-color: white; 108 109 border: 1px dotted silver; padding: 6px;} /* Sondereigentumsbeschreibung */ -
trunk/info/info/alkisn/alkisbaurecht.php
r389 r402 8 8 2017-06-08 Validierung Eingabeparameter, Feinkorrekturen 9 9 2017-10-09 Sauber filtern auf endet IS NULL 10 2018-04-23 &nodebug 10 11 */ 11 12 session_start(); 12 13 $showkey="n"; // Var. aus Parameter initalisieren 13 $showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren 14 14 $cntget = extract($_GET); // Parameter in Variable umwandeln 15 15 … … 19 19 if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 20 20 if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 21 if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 21 22 22 23 require_once("alkis_conf_location.php"); … … 35 36 <body> 36 37 END; 38 39 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 40 // Manuell an die URL anfügen, wirkt nur temporär und wird nicht in Links weiter gereicht. 41 if ($nodebug == "j") {$debug=0;} 37 42 38 43 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbaurecht.php'"); … … 55 60 if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = ".$gmlid."</p>";} 56 61 } 57 if ($row = pg_fetch_a rray($res)) {62 if ($row = pg_fetch_assoc($res)) { 58 63 $artfest=$row["adfkey"]; // Art der Festlegung, Key 59 64 $verfnr=$row["rechtbez"]; // Verfahrens-Nummer … … 147 152 148 153 $fscnt=0; 149 while($row = pg_fetch_a rray($res)) {154 while($row = pg_fetch_assoc($res)) { 150 155 $fscnt++; 151 156 echo "\n<tr>" -
trunk/info/info/alkisn/alkisbestnw.php
r398 r402 11 11 2017-06-08 Validierung Eingabeparameter, Farbwechsel der Tabelle je GrundstÃŒck, Feinschliff und HTML-Profilierung 12 12 2017-10-09 SchlÃŒssel der Blattart bei berechtigten BlÀttern, sauber filtern auf endet IS NULL 13 2018-04-23 Blatt und EigentÃŒmer in eine Tabelle. 13 14 */ 14 15 session_start(); 15 16 $showkey="n"; // Var. initalisieren 16 $showkey="n"; $nodebug=""; // Var. initalisieren 17 17 $cntget = extract($_GET); // Parameter in Variable umwandeln 18 18 … … 22 22 if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 23 23 if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 24 if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 24 25 25 26 require_once("alkis_conf_location.php"); … … 43 44 <body> 44 45 <?php 46 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 47 // Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 48 if ($nodebug == "j") {$debug=0;} 49 45 50 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisbestnw.php'"); 46 51 if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 47 52 48 53 // G R U N D B U C H 49 $sql="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart, wb.v AS blattartv, wb.d AS blattartd, 50 b.gml_id, b.bezirk, b.bezeichnung AS beznam, d.gml_id, d.land, d.bezeichnung, d.stelle, d.stellenart, wd.v AS stellev 51 FROM ax_buchungsblatt g 54 $sql="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS blatt, g.blattart, wb.v AS blattartv, wb.d AS blattartd, 55 b.gml_id, b.bezirk, b.bezeichnung AS beznam, d.gml_id, d.land, d.bezeichnung, d.stelle, d.stellenart, wd.v AS stellev FROM ax_buchungsblatt g 52 56 LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk 53 57 LEFT JOIN ax_dienststelle d ON b.land=d.land AND b.stelle=d.stelle … … 64 68 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 65 69 } 66 if ($row = pg_fetch_a rray($res)) {70 if ($row = pg_fetch_assoc($res)) { 67 71 $blattkey=$row["blattart"]; 68 72 $blattart=$row["blattartv"]; 69 70 echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]." </p>"; // Balken 71 echo "\n<h2><img src='ico/Grundbuch.png' width='16' height='16' alt=''> Grundbuch</h2>" 72 ."\n<table class='outer'>\n<tr>\n\t<td>"; // Kennz. im Rahmen 73 $blatt=ltrim($row["blatt"], "0"); 74 75 echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$blatt." </p>"; // Balken 76 echo "\n<h2>Grundbuch</h2>"; 77 echo "\n<table class='outer'>" // Blatt UND Eigent. 78 ."\n<tr>\n\t<td class='ll'><img src='ico/Grundbuch.png' width='16' height='16' alt=''> Blatt:</td>" // outer Links 79 ."\n\t<td colspan='2'>"; // Outer Mitte, Kennz. im Rahmen 73 80 if ($blattkey == 1000) { 74 81 echo "\n\t\t<table class='kennzgb' title='Bestandskennzeichen'>"; … … 91 98 if ($showkey) {echo "<span class='key'>".$row["bezirk"]."</span><br>";} 92 99 echo htmlentities($row["beznam"], ENT_QUOTES, "UTF-8")."</td>" 93 ."\n\t\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$ row["nr"]."</span></td>"100 ."\n\t\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$blatt."</span></td>" 94 101 ."\n\t\t</tr>" 95 102 ."\n\t\t</table>" 96 103 ."\n\t</td>\n\t<td> " 97 ."\n\t</td>\n</tr> \n</table>";104 ."\n\t</td>\n</tr>"; 98 105 } 99 106 … … 105 112 if ($n == 0) { // keine NamensNr, kein Eigentuemer 106 113 echo "\n<p class='err'>Keine Namensnummer gefunden.</p>" 107 ."\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$row["nr"].", Blattart ".$blattkey." (".$blattart.")</p>"; 108 } 109 } 114 ."\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$blatt.", Blattart ".$blattkey." (".$blattart.")</p>"; 115 } 116 } 117 echo "\n</table>"; 110 118 111 119 // Vorab pruefen, ob der Fall "Rechte an .." vorliegt. … … 115 123 // - Rechte und FlurstÃŒcke 116 124 // - FlurstÃŒcke 117 // +++ Herrschend/Dienend per "title" auf den Ãberschriften ("Rechte" / "Berechtigte GrundbÃŒcher") erlÀutern118 125 119 126 // GB-Blatt <istBestandteilVon< sh=herrschend >an/zu> sd=dienend … … 126 133 $res=pg_execute("", $v); 127 134 if (!$res) echo "\n<p class='err'>Fehler bei Suche nach Buchungen.</p>"; 128 $row=pg_fetch_a rray($res);135 $row=pg_fetch_assoc($res); 129 136 $anz=$row["anzahl"]; 130 137 … … 132 139 if ($anz > 0) { // auch "Rechte an" 133 140 echo " Rechte und Flurstücke</h3>\n<table class='fs'>"; 134 135 141 // zusaetzliche Kopfzeile "Rechte" 136 142 echo "\n<tr>" … … 144 150 ."\n\t<td> </td>" 145 151 ."\n</tr>"; 146 } else { // keine Rechte an .., nur FlurstÃŒcke gebucht152 } else { // keine Rechte an, nur FlurstÃŒcke gebucht 147 153 echo " Flurstücke</h3>\n<table class='fs'>"; 148 154 } … … 177 183 $fscnt=0; 178 184 $zpaar=false; 179 while($row = pg_fetch_a rray($res)) { // Loop Buchungsstelle (GrundstÃŒck)185 while($row = pg_fetch_assoc($res)) { // Loop Buchungsstelle (GrundstÃŒck) 180 186 $lfdnr=$row["lfd"]; 181 187 $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); … … 230 236 $a=0; // count 231 237 $altbvnr=""; // Gruppenwechsel 232 while($rowan= pg_fetch_a rray($resan)) {238 while($rowan= pg_fetch_assoc($resan)) { 233 239 $lfdnran=$rowan["lfd"]; // BVNR an 234 240 $gml_bsan=$rowan["gml_id"]; // id der buchungsstelle an 235 $baan=$rowan["bart"]; 241 $baan=$rowan["bart"]; // Buchungsart an, entschluesselt 236 242 $anzu=$rowan["anzu"]; // Welche Relation? Recht an oder Recht zu ? 237 243 … … 251 257 } 252 258 $b=0; 253 while($fbrow = pg_fetch_a rray($fbres)) { // genau 1259 while($fbrow = pg_fetch_assoc($fbres)) { // genau 1 254 260 $fbgml=$fbrow["gml_id"]; 255 261 $fbland=$fbrow["land"]; 256 262 $fbbez=$fbrow["bezirk"]; 257 263 $beznam=$fbrow["beznam"]; 258 $fbblatt= $fbrow["blatt"];264 $fbblatt=ltrim($fbrow["blatt"], "0"); 259 265 $fbbartkey=$fbrow["blattart"]; // Key 260 266 $fbbart=$fbrow["blattartv"]; // Value … … 307 313 $aj = bnw_fsdaten($con, $lfdnran, $gml_bsan, "", $anteil, false, "", ""); // return=Anz.FS 308 314 $fscnt=$fscnt + $aj; 309 // +++ Gibt es Sondereigentum beim fiktiven Blatt?310 315 if ($rowan["nrap"] != "") { 311 316 echo "\n<tr>" … … 375 380 $b=0; // count: Buchungen / BlÀtter 376 381 $zpaar=false; 377 while($rowb = pg_fetch_a rray($resb)) {382 while($rowb = pg_fetch_assoc($resb)) { 378 383 if ($b == 0) { // Ueberschrift und Tabelle nur ausgeben, wenn etwas gefunden wurde 379 384 echo "\n\n<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Berechtigte Grundbücher</h3>" … … 399 404 $bart=$rowb["bart"]; // BA entschl. 400 405 $lfdnr=$rowb["lfdnr"]; // BVNR ber. 406 $blatt=ltrim($rowb["blatt"], "0"); 401 407 $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 402 408 … … 415 421 echo htmlentities($rowb["beznam"], ENT_QUOTES, "UTF-8") 416 422 ."</td>" 417 ."\n\t<td><span class='wichtig'>".$ rowb["blatt"]."</span></td>"423 ."\n\t<td><span class='wichtig'>".$blatt."</span></td>" 418 424 ."\n\t<td>".$bvnr."</td>" 419 425 ."\n\t<td title='".htmlentities($rowb["bartd"], ENT_QUOTES, "UTF-8")."'>"; -
trunk/info/info/alkisn/alkisexport.php
r398 r402 30 30 31 31 ToDo: 32 - Abruf FlurstÃŒck sollte auch mit "fskennz" (ggg-ff-zzz/nn) statt "gml-id" möglich sein 32 33 - In Dateiname den StraÃennamen statt der gmlid verwenden? (Umlaute?) 33 34 - in alkislage.php fÃŒr den Typ "ohne Haunummer" den Export mit strasse und haus=o verlinken … … 50 51 $lagehsnr=""; 51 52 $salt=""; 52 while($row = pg_fetch_a rray($res)) {53 while($row = pg_fetch_assoc($res)) { 53 54 if ($j > 0) {$lagehsnr.=", ";} 54 55 $sneu=$row["bezeichnung"]; … … 202 203 203 204 // Datenfelder auslesen 204 while($row = pg_fetch_a rray($res)) {205 while($row = pg_fetch_assoc($res)) { 205 206 $i++; // Zeile der Tabelle 206 207 $rechnen=true; // Formel in letzte Spalte? -
trunk/info/info/alkisn/alkisfkt.php
r398 r402 14 14 2017-11-03 neue function werteliste() 15 15 2017-12-20 Default Anzeigewert "EigentÃŒmer" im Link fÃŒr leere EigentÃŒmerart, JÃŒngste Adresse zur Person verwenden. 16 2018-04-23 Berechtigte Buchungen im FS-Nachw. verbessern. Neue Spalte statt Ãberschriften fÃŒr "EigentÃŒmer" und "Berechtigte Buchungen". 17 18 ++ ToDo: 19 ++ Parameter $lnkclass in eigentuemer() und $jfenster in buchung_anzg() vereinheitlichen 16 20 */ 17 21 … … 21 25 // Den URL-Parameter "&showkey=j/n" umschalten lassen. 22 26 // $append wird angehaengt wenn gefuellt. Anwendung: &eig=j bei FS-NW, <yp=m/p/o bei Lage 23 global $gkz, $showkey, $hilfeurl, $auth ;27 global $gkz, $showkey, $hilfeurl, $auth, $debug; 24 28 25 29 // S c r e e n - Foot … … 38 42 echo "\n\t\t<td title='Konfiguration'>"; 39 43 $mylink ="\n\t\t\t<a class='keyswitch' href='".$link."gkz=".$gkz."&gmlid=".$gmlid.$append; 40 41 44 if ($showkey) { // Umschalten SchlÃŒssel ein/aus 42 45 echo $mylink."&showkey=n' title='Verschlüsselungen ausblenden'>Schlüssel aus</a>"; 43 46 } else { 44 47 echo $mylink."&showkey=j' title='Verschlüsselungen anzeigen'>Schlüssel ein</a>"; 48 } 49 // TemporÀr eine Ansicht ohne Entwicklungsumgebung 50 if ($debug > 0) { 51 echo " | ".$mylink."&nodebug=j' title='Debug-Ausgaben temporär abschalten'>Ansicht ohne Testausgaben</a>"; 45 52 } 46 53 echo "\n\t\t</td>"; … … 57 64 echo "\n<p class='onlyprint'><i>Mapbender-Benutzer: ".$customer."</i></p>"; 58 65 } 59 60 66 return 0; 61 67 } 62 68 63 function ber_bs_hinw($gmls, $gmlf) { 64 // Berechtigte Buchungs-Stellen - Hinweis. 65 // Unter dem Grundbuch-Link den Hinweis auf "berechtigte Buchungssstellen" anzeigen und einen Umschalter. 66 global $gkz, $debug, $showkey, $berbu, $eig; 69 function ber_bs_zaehl($gmls) { 70 // Berechtigte Buchungs-Stellen zaehlen. 67 71 68 72 // Buchungstelle dienend <(Recht)an< Buchungstelle herrschend 69 $sql ="SELECT count(sh.gml_id) AS anz, sh.buchungsart, a.v " 70 ."FROM ax_buchungsstelle sd JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an) " 71 ."LEFT JOIN alkis_wertearten a ON sh.buchungsart=cast(a.k AS integer) " 72 ."WHERE sd.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL AND a.element='ax_buchungsstelle' and a.bezeichnung='buchungsart' " 73 ."GROUP BY sh.buchungsart, a.v;"; 74 73 $sql ="SELECT count(sh.gml_id) AS anz FROM ax_buchungsstelle sd JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an) " 74 ."WHERE sd.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL;"; 75 75 $v = array($gmls); // GML dienende Buchungs-Stelle 76 76 $resan = pg_prepare("", $sql); 77 77 $resan = pg_execute("", $v); 78 if (!$resan) { 79 echo "\n<p class='err'>Fehler bei 'berechtigte Buchungsstellen'.</p>"; 80 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmls."'</p>";} 81 } 82 $zeile=0; // Vesrchiedene Arten 83 $cnt=0; // Summe der Buchugen 84 while($rowan = pg_fetch_array($resan)) { 85 $anz=$rowan["anz"]; 86 87 // Einleitung 88 if ($zeile == 0) { // vor. 1. Zeile 89 // Diese Hinweise sollen mit gedruckt werden. Also KEIN "noprint"! 90 echo "\n\t\t<br>\n\t\t<p class='nwlink' title='Andere Grundstücke mit Rechten an diesem.'>\n\t\t\tBerechtigte Buchungen "; 91 if ($berbu=="j") { // wechselndes Symbol 92 echo "<img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''>"; 93 } else { 94 echo "<img src='ico/Grundbuch.png' width='16' height='16' alt=''>"; 95 } 96 echo "\n\t\t\t<b>"; 97 } 98 99 // Eine Zeile je Buchungs-Typ 100 echo "<br>".$anz." ".htmlentities($rowan["v"], ENT_QUOTES, "UTF-8"); 101 if ($showkey) {echo " <span class='key'>(".$rowan["buchungsart"].")</span>";} 102 $zeile++; 103 $cnt = $cnt + $anz; 104 } // Ende Result 78 if (!$resan) {echo "\n<p class='err'>Fehler bei 'berechtigte Buchungsstellen zaehlen'.</p>";} 79 $rowan = pg_fetch_assoc($resan); 80 $anz=$rowan["anz"]; 105 81 pg_free_result($resan); 106 107 // Ergebnis 108 if ($zeile == 0) { // kein Schleifen-Durchlauf 109 echo "\n\t<p class='nwlink' title='Kein anderes Grundstück hat ein Recht an diesem.'>Keine berechtigte Buchung</p>"; 110 } else { // Schleife wurde durchlaufen, 111 echo "</b>\n\t\t</p>"; 112 113 // Umschalter nicht drucken 114 echo "\n\t\t<p class='nwlink noprint'>" 115 ."\n\t\t\t<a href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&gmlid=".$gmlf."&eig=".$eig; // GML FlurstÃŒck 116 if ($showkey) {echo "&showkey=j";} 117 // Der FS-Nachweis ruft sich selbst mit geaendertem Parameter auf. 118 if ($berbu=="j") { 119 echo "&berbu=n' title='ohne berechtigte Buchungen'>nicht Anzeigen"; // Position: Top 120 } else { 121 echo "&berbu=j#berbu' title='mit berechtigten Buchungen'>Anzeigen"; // Positionierung auf Marke #berbu 122 } 123 echo "</a>\n\t\t</p>"; 124 } 125 return $cnt; // Funktionswert = Anzahl der berechtigten Buchungen 126 } 127 128 function ber_bs_anz($gmls, $eig) { 129 // Berechtigte Buchungsstellen (+ BlÀtter, EigentÃŒmer) anzeigen innerhalb eines FS-Nachw. 130 // Im FS-Nachweis werden auch die berechtigten GrundbÃŒcher mit ihren EigentÃŒmern angezeigt. 131 // Also z.B. zu einem "fiktiven Blatt" auch die GrundbuÃŒcher mit dem "Wohnungs-/Teileigentum" 132 global $gkz, $debug, $showkey, $idanzeige; 133 134 // Herrschende (berechtigte) Buchungsstellen ausgeben - Beginn 135 // sd=Buchungstelle herrschend >(Recht)an> sd=Buchungstelle dienend >istBestandteilVon> BLATT -> Bezirk 136 $sql="SELECT sd.gml_id AS s_gml, " // Buchungs-Stelle dienend 137 ."sh.buchungsart, sh.laufendenummer as lfd, sh.zaehler, sh.nenner, sh.nummerimaufteilungsplan as nrpl, sh.beschreibungdessondereigentums as sond, " // Buchungs-Stelle herrschend 138 ."b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.v AS bart, w.v AS blattartv " 139 ."FROM ax_buchungsstelle sd " 140 ."JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an) " 82 return $anz; // Funktionswert = Anzahl der berechtigten Buchungen 83 } 84 85 function buchung_anzg($gmlbs, $eig, $jsfenster, $gml_fs) { 86 // In einem FS-Nachw. EINE Buchungsstelle anzeigen. 87 // Parameter: 88 // $gmlbs: GML-ID der anzuzeigenden Buchungs-Stelle 89 // $eig: EigentÃŒmer ausgeben j/n 90 // $jsfenster: Javascript-Funktion zum Verlassen des Feature-Info-Fensters verwenden (bool) 91 // $gml_fs: GML-ID des FlurstÃŒcke (nur bei erstem Aufruf in einem FS-Nachweis notwendig) 92 global $gkz, $debug, $showkey, $bartgrp, $barttypgrp, $stufe; 93 94 $sqlbs="SELECT sh.gml_id AS hgml, sh.buchungsart, sh.laufendenummer as lfd, sh.zaehler, sh.nenner, sh.nummerimaufteilungsplan as nrpl, sh.beschreibungdessondereigentums as sond, " // Buchungs-Stelle herrschend 95 ."b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.v AS bart, a.d AS barttitle, w.v AS blattartv " 96 ."FROM ax_buchungsstelle sh " 141 97 ."JOIN ax_buchungsblatt b ON b.gml_id=sh.istbestandteilvon " 142 98 ."LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk " 143 ."LEFT JOIN alkis_wertearten a ON sh.buchungsart=cast(a.k AS integer) AND a.element='ax_buchungsstelle' and a.bezeichnung='buchungsart' " // entschlÃŒsseln Buchungsart 144 ."LEFT JOIN alkis_wertearten w ON b.blattart=w.k AND w.element='ax_buchungsblatt' and w.bezeichnung='blattart' " // entschlÃŒsseln Blatt-Art 145 ."WHERE sd.gml_id= $1 AND sd.endet IS NULL AND sh.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL " 146 ."ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 147 148 $v = array($gmls); // id dienende Buchungsstelle 99 ."LEFT JOIN alkis_wertearten a ON sh.buchungsart=cast(a.k AS integer) AND a.element='ax_buchungsstelle' and a.bezeichnung='buchungsart' " // entschl. Buchungsart 100 ."LEFT JOIN alkis_wertearten w ON b.blattart=w.k AND w.element='ax_buchungsblatt' and w.bezeichnung='blattart' " // entschl. Blatt-Art 101 ."WHERE sh.gml_id= $1 AND sh.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL;"; 102 103 $v = array($gmlbs); // ID dienende Buchungs-Stelle 104 $resbs = pg_prepare("", $sqlbs); 105 $resbs = pg_execute("", $v); 106 if (!$resbs) { 107 echo "\n<p class='err'>Fehler bei 'Buchungsstelle ausgeben'.</p>"; 108 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sqlbs, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlbs."'</p>";} 109 } 110 $gezeigt=false; // Funktionswert 111 if ($rowbs = pg_fetch_assoc($resbs)) { // ein Treffer 112 $blattkeyber=$rowbs["blattart"]; // Schluessel von Blatt-Art des GB 113 if ($blattkeyber != '5000' or $debug > 1) { // "Fiktives Blatt" nur bei Entwicklung anzeigen 114 $gezeigt=true; // Funktionswert 115 $hgml=$rowbs["hgml"]; // GML-ID der (herrschenden) BuchungsStelle 116 $bartkey=$rowbs["buchungsart"]; // Buchungsart SchlÃŒssel 117 $beznam=$rowbs["bezeichnung"]; // Bezirk 118 $blattartber=$rowbs["blattartv"]; // Wert von Blatt-Art des GB 119 $nrpl=$rowbs["nrpl"]; // Nr im Auft.plan 120 $sond=$rowbs["sond"]; // Beschr. d.Sondereigentums 121 $gbgml=$rowbs["g_gml"]; // GML-ID des Grundbuch-Blattes 122 $blatt=ltrim($rowbs["blatt"], "0"); 123 $lfd=ltrim($rowbs["lfd"], "0"); 124 if ($bartkey != $bartgrp) { // Wechsel der Buchungsart 125 $bart=$rowbs["bart"]; // Buchungsart Text 126 $barttitle=$rowbs["barttitle"]; // Buchungsart ErklÀrung 127 switch (true) { // Die Buchungsart einem Typ (Gruppierung) zuweisen 128 case ($bartkey <= 1999): $barttyp = "E"; break; // Eigentum/GrundstÃŒck 129 case ($bartkey >= 2000): $barttyp = "R"; break; // GrundstÃŒcksgleiches Recht, z.B. 2101 "Erbbaurecht" 130 default: $barttyp = "E"; break; 131 } 132 if ($barttypgrp != $barttyp) { // Wenn der Typ wechselt, neue Ãberschrift in Tabelle 133 switch ($barttyp) { // Text der Ãberschrift 134 case "E": 135 if ($eig == 'j') {$h3txt = "Buchung und Eigentum";} 136 else {$h3txt = "Buchung";} 137 break; 138 case "R": $h3txt = "Grundstücksgleiche Rechte"; break; 139 } 140 if ($barttypgrp == "" and $gml_fs != "") { // die erste Ãberschrift mit ID und Umschalter 141 echo "\n\t<tr>\n\t\t<td colspan='3'>\n\t\t\t<h3 id='gb'>".$h3txt."</h3>\n\t\t</td>"; // 1-3 142 echo "\n\t\t<td>\n\t\t\t<p class='nwlink noprint'>" // 4 143 ."\n\t\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&gmlid=".$gml_fs; 144 if ($showkey) {echo "&showkey=j";} 145 if ($eig=="j") { // Umschalter: FS-Nachweis ruft sich selbst mit geaendertem Parameter auf. Positionierung auf Marke "#gb" 146 echo "&eig=n#gb' title='Umschalter: Flurstücksnachweis'>ohne Eigentümer</a>"; 147 } else { 148 echo "&eig=j#gb' title='Umschalter: Flurstücks- und Eigentümernachweis'>mit Eigentümer " 149 ."<img src='ico/EigentuemerGBzeile.png' width='16' height='16' alt=''></a>"; 150 } 151 echo "\n\t\t\t</p>\n\t\t</td>"; 152 } else { 153 echo "\n\t<tr>\n\t\t<td colspan='3'>\n\t\t\t<h3>".$h3txt."</h3>\n\t\t</td>\n\t\t<td> </td>"; // 1-4 154 } 155 echo "\n\t</tr>"; 156 $barttypgrp = $barttyp; 157 } 158 159 // +++ mehr Abstand oben zur Zeile in .css, oder farbig hinterlegen? 160 echo "\n\t<tr>" // Buchungsart als Zwischenzeile 161 ."\n\t\t<td class='ll'><img src='ico/Grundbuch.png' width='16' height='16' alt=''> Buchungsart:</td>" // 1 162 ."\n\t\t<td colspan='2' title='".$barttitle."'>"; // 2-3 163 if ($showkey) {echo "<span class='key'>(".$bartkey.")</span> ";} 164 echo "<span class='wichtig'>".$bart."</span>" 165 ."</td>" 166 ."\n\t\t<td></td>" // 4 167 ."\n\t</tr>"; 168 $bartgrp=$bartkey; // Gruppe merken 169 } // Ende Wechsel der Buchungsart 170 171 echo "\n\t<tr>" // Tabelle mit 4 Spalten fÃŒr Buchung und EigentÃŒmer 172 ."\n\t\t<td class='ll'><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Buchung:"; // 1 173 if ($showkey and $debug > 2) {echo "<br><span class='key'>Stufe ".$stufe."<br>".$hgml."</span> ";} 174 echo "</td>\n\t\t<td colspan='2'>"; // 2-3 175 176 // innere Tabelle: Rahmen mit GB-Kennz. 177 if ($blattkeyber == 1000) { 178 echo "\n\t\t\t<table class='kennzgb' title='Bestandskennzeichen'>"; 179 } else { 180 echo "\n\t\t\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 181 } 182 echo "\n\t\t\t<tr>" 183 ."\n\t\t\t\t<td class='head'>Bezirk</td>" 184 ."\n\t\t\t\t<td class='head'>"; 185 if ($showkey) {echo "<span class='key'>".$blattkeyber."</span> ";} 186 echo $blattartber."</td>" 187 ."\n\t\t\t\t<td class='head'>Lfd-Nr</td>" 188 ."\n\t\t\t</tr>"; 189 echo "\n\t\t\t<tr>" 190 ."\n\t\t\t\t<td title='Grundbuchbezirk'>"; 191 if ($showkey) {echo "<span class='key'>".$rowbs["bezirk"]."</span><br>";} 192 echo $beznam."</td>" 193 ."\n\t\t\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$blatt."</span></td>" 194 ."\n\t\t\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundstück)'>".$lfd."</td>" 195 ."\n\t\t\t</tr>" 196 ."\n\t\t\t</table>"; 197 198 if ($rowbs["zaehler"] <> "") { 199 echo "\n\t\t\t<p class='ant'>".$rowbs["zaehler"]."/".$rowbs["nenner"]." Anteil am Flurstück</p>"; 200 } 201 if ($nrpl != "") { 202 echo "\n\t\t\t<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$nrpl."</span> im Aufteilungsplan.</p>"; 203 } 204 if ($sond != "") { 205 echo "\n\t\t\t<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum: ".$sond."</p>"; 206 } 207 echo "\n\t\t</td>"; // 2-3 208 209 echo "\n\t\t<td>"; // 4 210 echo "\n\t\t\t<p class='nwlink noprint'>"; 211 if ($showkey) {echo "<span class='key'>".$blattkeyber."</span> ";} 212 $url="alkisbestnw.php?gkz=".$gkz."&gmlid=".$gbgml; 213 if ($showkey) {$url.="&showkey=j";} 214 if ($jsfenster) {$url="javascript:imFenster(\"".$url."\")";} // Sonderfall "Inlay" aus Feature-Info 215 echo "\n\t\t\t\t<a href='".$url."' title='Grundbuchnachweis mit Eigentümerangabe'>".$blattartber 216 ." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 217 ."</a>"; 218 // if ($showkey and $debug > 2) {echo "<br><span class='key'>GML-ID = ".$gbgml."</span> ";} 219 echo "\n\t\t\t</p>" 220 ."\n\t\t</td>" // 4 221 ."\n\t</tr>"; 222 if ($eig == "j") { 223 if ($jsfenster) {$lnkclass = "imFenster";} else {$lnkclass = "";} 224 $n = eigentuemer($gbgml, true, $lnkclass); // mit Adresse 225 } 226 } 227 } 228 pg_free_result($resbs); 229 return $gezeigt; // true wenn eine Buchung ausgegeben wurde 230 } 231 232 function ber_bs_anzg($gmls, $eig, $gml_fs) { 233 // In einem FS-Nachw. die berechtigten (herrschenden) Buchungsstellen anzeigen z.B. "Wohnungs-/Teileigentum". 234 // Parameter: 235 // $gmls: GML-ID der dienenden Buchungs-Stelle. Im ersten Durchlauf also, die BS auf der das FS gebucht ist. 236 // $eig: EigentÃŒmer ausgeben j/n 237 global $debug, $stufe; 238 239 // sh=Buchungstelle herrschend >(Recht)an> sd=Buchungstelle dienend >istBestandteilVon> BLATT -> Bezirk 240 $sql="SELECT sh.gml_id AS hgml, sh.buchungsart, sh.laufendenummer as lfd, sh.zaehler, sh.nenner, sh.nummerimaufteilungsplan as nrpl, sh.beschreibungdessondereigentums as sond, " 241 ."b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart " 242 ."FROM ax_buchungsstelle sh JOIN ax_buchungsblatt b ON b.gml_id=sh.istbestandteilvon " 243 ."WHERE $1 = ANY(sh.an) AND sh.endet IS NULL AND b.endet IS NULL " 244 ."ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, sh.laufendenummer;"; 245 246 $v = array($gmls); // ID dienende BuchungsStelle 149 247 $resber = pg_prepare("", $sql); 150 248 $resber = pg_execute("", $v); … … 153 251 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmls."'</p>";} 154 252 } 155 156 253 $an=0; 157 while($rowan = pg_fetch_array($resber)) { 158 $beznam=$rowan["bezeichnung"]; 159 $bart=$rowan["bart"]; // Buchungsart 160 $blattkeyber=$rowan["blattart"]; // Schluessel von Blatt-Art des berechtigten GB 161 $blattartber=$rowan["blattartv"]; // Wert von Blatt-Art des berechtigten GB 162 $nrpl=$rowan["nrpl"]; // Nummer im Aufteilungsplan 163 $sond=$rowan["sond"]; // Beschreibung des Sondereigentums 164 165 echo "\n<table class='outer'>" // \n<hr> 166 ."\n<tr>" // 1 row only 167 ."\n<td>"; // outer linke Spalte - Daten 168 // Rahmen mit Kennzeichen GB 169 if ($blattkeyber == 1000) { 170 echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; 171 } else { 172 echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 173 } 174 echo "\n\t<tr>" 175 ."\n\t\t<td class='head'>Bezirk</td>" 176 ."\n\t\t<td class='head'>".$blattartber."</td>" 177 ."\n\t\t<td class='head'>Lfd-Nr,</td>" 178 ."\n\t\t<td class='head'>Buchungsart</td>" 179 ."\n\t</tr>"; 180 echo "\n\t<tr>" 181 ."\n\t\t<td title='Grundbuchbezirk'>"; 182 if ($showkey) {echo "<span class='key'>".$rowan["bezirk"]."</span><br>";} 183 echo $beznam."</td>" 184 ."\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowan["blatt"]."</span></td>" 185 ."\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundstück)'>".$rowan["lfd"]."</td>" 186 ."\n\t\t<td title='Buchungsart'>"; 187 if ($showkey) {echo "<span class='key'>".$rowan["buchungsart"]."</span><br>";} 188 echo $rowan["bart"] 189 ."</td>" 190 ."\n\t</tr>" 191 ."\n\t</table>"; 192 if ($rowan["zaehler"] <> "") { 193 echo "\n\t<p class='ant'>".$rowan["zaehler"]."/".$rowan["nenner"]." Anteil am Flurstück</p>"; 194 } 195 echo "\n</td>"; 196 197 echo "\n<td>"; // outer rechte Spalte 198 if ($idanzeige) { 199 linkgml($gkz, $rowan["s_gml"], "Buchungsstelle", "ax_buchungsstelle"); 200 echo "<br>"; 201 linkgml($gkz, $rowan["g_gml"], "Buchungsblatt", ""); 202 } 203 echo "\n\t<br>" 204 ."\n\t<p class='nwlink noprint'>"; 205 if ($showkey) {echo "<span class='key'>".$blattkeyber."</span> ";} 206 echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&gmlid=".$rowan["g_gml"]; 207 if ($idanzeige) {echo "&id=j";} 208 if ($showkey) {echo "&showkey=j";} 209 echo "' title='Grundbuchnachweis mit Eigentümerangabe'>".$blattartber 210 ." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 211 ."</a>"; 212 echo "\n\t</p>" 213 ."\n\t</td>" 214 ."\n</tr>" 215 ."\n</table>"; 216 217 if ($blattkeyber != 1000) { 218 echo "\n<p>Blattart: ".$blattartber." (".$blattkeyber.").<br>"; 219 } 220 221 if ($nrpl != "") { 222 echo "\n<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$nrpl."</span> im Aufteilungsplan.</p>"; 223 } 224 225 if ($sond != "") { 226 echo "\n<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$sond."</p>"; 227 } 228 229 if ($eig == "j") { 230 $n = eigentuemer($rowan["g_gml"], true, ""); // mit Adresse 231 } 232 $an++; 254 $verfolg=array(); // Ein (zunÀchst leeres) Array fÃŒr weitere GML-IDs anlegen 255 while($rowan = pg_fetch_assoc($resber)) { // Loop durch Result von berechtigte BS 256 $hgml=$rowan["hgml"]; // GML-ID der berechtigten Buchungs-Stelle 257 $gezeigt = buchung_anzg($hgml, $eig, false, $gml_fs); // Die herrschende Buchung anzeigen wenn nicht fiktiv 258 $an++; 259 260 $weitere=ber_bs_zaehl($hgml); 261 if ($weitere > 0) { // gibt es WEITERE berechtigte Buchungen dazu? 262 // if ($debug > 2) {echo "<p class='dbg'>Weitere ".$weitere." zu verfolgende Buchungen gefunden. Füge an:<br>Vorher ".count($verfolg)."</p>";} 263 264 $verfolg[] = $hgml; // neuen Wert fÃŒr weitere Verfolgung in Array anfÃŒgen 265 266 // if ($debug > 2) {echo "<p class='dbg'>Nachher ".count($verfolg)."</p>";} 267 268 // } else { 269 // if ($debug > 2) {echo "<p class='dbg'>Auf Stufe ".$stufe." untersucht. Keine weitere abhÀngigen Buchungen zu ".$hgml.".</p>";} 270 } 233 271 } 234 272 pg_free_result($resber); 235 return; 236 } 237 273 return $verfolg; // weitere zu verfolgende GML-ID zurÃŒck geben 274 } 238 275 239 276 function kurz_namnr($lang) { … … 241 278 $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende) 242 279 $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang) 243 $kurz=ltrim($kurz, "0"); // fuehr ende Nullen am Anfang244 $kurz=str_replace(".0",".",$kurz); // fuehr endeNull jeder Stufe280 $kurz=ltrim($kurz, "0"); // fuehr. Nullen 281 $kurz=str_replace(".0",".",$kurz); // fuehr. Null jeder Stufe 245 282 $kurz=rtrim($kurz); // Leerzeichen hinten 246 283 // echo "/n<p class='dbg'> lang='".$lang."'</p>/n<p class='dbg'> kurz='".$kurz."'</p>"; … … 279 316 $altbvnr=""; 280 317 $j=0; 281 while($rowf = pg_fetch_array($resf)) { 282 $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); 318 while($rowf = pg_fetch_assoc($resf)) { 319 // $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); 320 $flur= $rowf["flurnummer"]; 283 321 $fskenn=$rowf["zaehler"]; 284 322 if ($rowf["nenner"] != "") { // Bruch … … 334 372 function eigentuemer($gmlid, $mitadresse, $lnkclass) { 335 373 // Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben 336 // Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 =Link374 // Sp.1="EigentÃŒmer" Sp.2=NamNr, Sp.3=Name/Adresse, Sp.4=Link 337 375 // Parameter: 338 376 // $gmlid = ID GB-Blattes … … 344 382 global $debug, $gkz, $showkey; 345 383 346 // Link ÃŒber Java-Class? (Ja in alkisinlayausk.php, sonst normal)347 384 if ($lnkclass == "") { 348 385 $lnkvor = ""; 349 386 $lnknach = ""; 350 } else { 387 } else { // Link ÃŒber Java-Class "imFenster" aus alkisinlayausk.php 351 388 $lnkvor = "javascript:".$lnkclass."(\""; 352 389 $lnknach = "\")"; 353 } // Beispiel-Link href='javascript:imFenster(\"alkislage.php?gkz= ... ."\")'>xxx ";390 } 354 391 355 392 $sqln="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass, n.benennt, wn.v AS adrv, we.v AS eiartv " … … 358 395 ."LEFT JOIN alkis_wertearten we ON cast(n.eigentuemerart AS character varying)=we.k AND we.element='ax_namensnummer' AND we.bezeichnung='eigentuemerart' " 359 396 ."WHERE n.istbestandteilvon= $1 AND n.endet IS NULL ORDER BY n.laufendenummernachdin1421;"; 360 361 $v = array($gmlid); // 16 Stellen bei Relationen 397 // +++ LEFT JOIN bis ax_Person statt Person als Schleife zu holen, 398 // VerknÃŒpfungsfeld "benennt" ist leer bei "Beschrieb der Rechtsgemeinschaft". 399 400 $v = array($gmlid); // GB-Blatt 362 401 $resn = pg_prepare("", $sqln); 363 402 $resn = pg_execute("", $v); 364 403 365 404 if (!$resn) { 366 echo "\n<p class='err'>Fehler bei Eigentümer</p>"; 367 // kein Fehler bei Blattarten > 1000 405 echo "\n<p class='err'>Fehler bei Eigentümer</p>"; // kein Fehler bei Blattarten > 1000 368 406 //if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqln."<br>$1=gml= '".$gmlid."'</p>";} 369 407 } 370 408 371 409 $n=0; // Z.NamNum. 372 while($rown = pg_fetch_array($resn)) { 373 if($n == 0) { // Die Ãberschrift nur, wenn auch ein Inhalt folgt 374 echo "\n\n<h3><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Angaben zum Eigentum</h3>" 375 ."\n<table class='eig'>"; 376 } 410 while($rown = pg_fetch_assoc($resn)) { 377 411 $gmlnn=$rown["gml_id"]; 378 412 $namnum=kurz_namnr($rown["lfd"]); 379 413 $rechtsg=$rown["adr"]; 380 echo "\n<tr>" 381 ."\n\t<td class='nanu' title='Namens-Nummer'>\n\t\t<p>" // Sp. 1 382 .$namnum." " // VOR die Tabelle: "EigentÃŒmer" 383 ."</p>\n\t</td>" 384 . "\n\t<td>"; // Sp. 2 385 if ($rechtsg != "" ) { 414 echo "\n\t<tr>"; 415 if($n == 0) { // erste EigentÃŒmer-Zeile zu einer Buchung 416 echo "\n\t\t<td class='ll'><img src='ico/Eigentuemer_2.png' width='16' height='16' alt=''> Eigentümer:</td>"; // 1 417 } else { // Folgezeile 418 echo "\n\t\t<td class='ll'> </td>"; // 1 419 } 420 421 if ($rechtsg != "" ) { // Erbengemeinschaft usw. 422 echo "\n\t\t<td colspan='2'>"; // 2-3 386 423 if ($rechtsg == 9999) { // sonstiges 387 echo "\n\t\t <p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>";424 echo "\n\t\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>"; 388 425 } else { 389 echo "\n\t\t <p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities($rown["adrv"], ENT_QUOTES, "UTF-8")."</p>";426 echo "\n\t\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities($rown["adrv"], ENT_QUOTES, "UTF-8")."</p>"; 390 427 } 391 } 392 //if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} // TEST:393 394 // Schleife Ebene 2: andere Namensnummern 395 // Beziehung ax_namensnummer >bestehtAusRechtsverhaeltnissenZu> ax_namensnummer396 397 // Die Relation 'Namensnummer' besteht aus RechtsverhÀltnissen zu 'Namensnummer' sagt aus, 398 // dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können.399 // Die Re chtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer,400 // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt.428 } else { // Namensnummer 429 echo "\n\t\t<td class='nanu' title='Namens-Nummer'>\n\t\t\t<p>".$namnum." </p>\n\t\t</td>" // 2 430 . "\n\t\t<td>"; // 3 431 432 } 433 //if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} 434 435 // Andere Namensnummern? Relation: ax_namensnummer >bestehtAusRechtsverhaeltnissenZu> ax_namensnummer 436 // Die Relation 'Namensnummer' besteht aus RechtsverhÀltnissen zu 'Namensnummer' sagt aus, dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können. 437 // Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer, die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. 401 438 402 439 // Schleife 2: P e r s o n 440 // +++ bei SQL Namensnummer oben gleich mit JOIN dazu holen, statt dieser Schleife 403 441 // Beziehung: ax_person <benennt< ax_namensnummer 404 $sqlp="SELECT gml_id,nachnameoderfirma, vorname, geburtsname, to_char(cast(geburtsdatum AS date),'DD.MM.YYYY') AS geburtsdatum, namensbestandteil, akademischergrad "442 $sqlp="SELECT nachnameoderfirma, vorname, geburtsname, to_char(cast(geburtsdatum AS date),'DD.MM.YYYY') AS geburtsdatum, namensbestandteil, akademischergrad " 405 443 ."FROM ax_person WHERE gml_id= $1 AND endet IS NULL;"; 406 $gmlpers=$rown["benennt"]; 444 $gmlpers=$rown["benennt"]; // leer bei RechtsverhÀltnis 407 445 $v = array($gmlpers); // gml_id von ax_person 408 446 $resp = pg_prepare("", $sqlp); … … 414 452 415 453 $i=0; // cnt Person 416 while($rowp = pg_fetch_a rray($resp)) { // Schleife weglassen? nn >benennt> Personist KEIN Array!454 while($rowp = pg_fetch_assoc($resp)) { // Schleife weglassen: "benennt" ist KEIN Array! 417 455 $diePerson=""; //++ Anrede? 418 456 if ($rowp["akademischergrad"] <> "") {$diePerson=$rowp["akademischergrad"]." ";} … … 423 461 if ($rowp["geburtsname"] <> "") {$diePerson.=", geb. ".$rowp["geburtsname"];} 424 462 $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute 425 426 if ($i > 0) { // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0427 echo "\n<tr>\n\t<td> </td>\n\t<td>";428 }429 // Spalte 2 = Angaben430 463 $eiartkey=$rown["eigentuemerart"]; // Key 431 464 $eiart=$rown["eiartv"]; // Value 432 echo "\n\t\t<p class='geig' title='Eigentümerart: ".$eiart."'>".$diePerson."</p>\n\t</td>"; 433 434 // Spalte 3 = Link 435 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 436 if ($showkey AND $eiartkey != '') { // oft leer 437 echo "<span class='key' title='Eigentümerart'>".$eiartkey."</span> "; 438 } 439 echo "\n\t\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&gmlid=".$rowp[0]; 465 466 echo "\n\t\t\t<p class='geig' title='Eigentümerart: ".$eiart."'>".$diePerson."</p>\n\t\t</td>"; // 3 - Person in Sp.3 hinter NamNum (Sp.2) 467 echo "\n\t\t<td>\n\t\t\t<p class='nwlink noprint'>"; // 4 468 if ($showkey AND $eiartkey != '') {echo "<span class='key' title='Eigentümerart'>".$eiartkey."</span> ";} 469 echo "\n\t\t\t\t<a href='".$lnkvor."alkisnamstruk.php?gkz=".$gkz."&gmlid=".$gmlpers; 440 470 if ($showkey) {echo "&showkey=j";} 441 471 if ($eiartkey == "") {$eiart="Eigentümer" ;} // Default. Ersatz-Text, wenn nicht gefÃŒllt 442 472 echo $lnknach."' title='vollständiger Name und Adresse eines Eigentümers'>".$eiart 443 ." <img src='ico/Eigentuemer.png' width='16' height='16' alt=''></a>\n\t\t</p>" 444 ."\n\t</td>\n</tr>"; 473 ." <img src='ico/Eigentuemer.png' width='16' height='16' alt=''></a>\n\t\t\t</p>" 474 ."\n\t\t</td>" // 4 475 ."\n\t</tr>"; 445 476 446 477 if ($mitadresse) { 447 // Schleife 3: A d r e s s e (OPTIONAL)478 // Schleife 3: optional A d r e s s e zur Person 448 479 $sqla ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland " 449 480 ."FROM ax_anschrift a JOIN ax_person p ON a.gml_id=ANY(p.hat) WHERE p.gml_id= $1 AND a.endet IS NULL AND p.endet IS NULL ORDER BY a.beginnt DESC LIMIT 2;"; 450 $gmlp=$rowp["gml_id"]; // Person 451 $v = array($gmlp); 481 $v = array($gmlpers); 452 482 $resa = pg_prepare("", $sqla); 453 483 $resa = pg_execute("", $v); 454 455 484 if (!$resa) { 456 485 echo "\n\t<p class='err'>Fehler bei Adressen</p>"; 457 if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sqla."<br>$1=gml= '".$gmlp ."'</p>";}486 if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sqla."<br>$1=gml= '".$gmlpers."'</p>";} 458 487 } 459 488 $j=0; 460 while($rowa = pg_fetch_a rray($resa)) {489 while($rowa = pg_fetch_assoc($resa)) { 461 490 $j++; 462 491 if ($j == 1) { // erste ("jÃŒngste") Adresse anzeigen … … 473 502 $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8"); 474 503 475 echo "\n<tr>\n\t<td> </td>"; //Sp. 1 476 echo "\n\t<td><p class='gadr'>"; //Sp. 2 477 if ($str.$hsnr != "") {echo $str." ".$hsnr."<br>";} 478 if ($plz.$ort != "") {echo $plz." ".$ort;} 479 if ($land != "" and $land != "DEUTSCHLAND") {echo ", ".$land;} 480 echo "</p></td>\n\t<td>"; // Sp. 3 481 echo " </td>\n</tr>"; 504 echo "\n\t<tr>" 505 ."\n\t\t<td class='ll'> </td>" // 1 506 ."\n\t\t<td> </td>" // 2 507 ."\n\t\t<td><p class='gadr'>"; // 3 508 if ($str.$hsnr != "") {echo $str." ".$hsnr."<br>";} 509 if ($plz.$ort != "") {echo $plz." ".$ort;} 510 if ($land != "" and $land != "DEUTSCHLAND") {echo ", ".$land;} 511 echo "</p></td>" // 3 512 ."\n\t\t<td> </td>\n\t</tr>"; // 4 482 513 } else { // manchmal doppelte Angaben 483 echo "\n<tr>\n\t<td> </td>\n\t<td><p class='dbg' title='Siehe Auskunft zur Person'>weitere Adresse</p></td>\n\t<td> </td>\n</tr>"; 484 } 485 } 514 echo "\n\t<tr>" 515 ."\n\t\t<td class='ll'> </td>" // 1 516 ."\n\t\t<td> </td>" // 2 517 ."\n\t\t<td><p class='dbg' title='Siehe Auskunft zur Person'>weitere Adresse</p></td>" // 3 518 ."\n\t\t<td> </td>\n\t</tr>"; // 4 519 } 520 } // Ende Loop Adresse zur Person 486 521 pg_free_result($resa); 487 522 } … … 489 524 $i++; // cnt Person 490 525 491 // Anteil als eigene Tab-Zeile:492 526 $zaehler=$rown["zaehler"]; 493 if ($zaehler != "") { 527 if ($zaehler != "") { // Anteil als eigene Tab-Zeile 494 528 $zaehler=str_replace(".", ",", $zaehler); // Dezimal-KOMMA wenn dem Notar der Bruch nicht reicht 495 529 $nenner=str_replace(".", ",", $rown["nenner"]); 496 530 $comnt="Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) an einem gemeinschaftlichen Eigentum (Grundstück oder Recht)."; 497 echo "\n<tr>\n\t<td> </td>" // Sp. 1 498 ."\n\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>" 499 ."\n\t<td> </td>\n</tr>"; // Sp. 3 531 echo "\n\t<tr>" 532 ."\n\t\t<td class='ll'> </td>" // 1 533 ."\n\t\t<td> </td>" // 2 534 ."\n\t\t<td><p class='avh' title='".$comnt."'>".$zaehler."/".$nenner." Anteil</p></td>" // 3 535 ."\n\t\t<td> </td>\n\t</tr>"; // 4 500 536 } 501 537 } // End Loop Person 502 if ($i == 0) { // Keine Person. Das kommt vor hinter der Zeile "Erbengemeinschaft" und ist dann KEIN Fehler 503 if ($rechtsg != 9999) { 538 pg_free_result($resp); 539 540 if ($i == 0) { // KEINE Person. benennt ist leer. Das kommt vor hinter der Zeile "Erbengemeinschaft" und ist dann KEIN Fehler 541 if ($rechtsg == 9999) { 542 if ($debug > 1) {echo "\n\t\t\t<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>";} 543 } else { 504 544 echo "\n<p class='err'>(Die Person mit der ID '".$gmlpers."' fehlt im Datenbestand)</p>"; 505 } else { 506 if ($debug > 1) { // nur bei Entwicklung 507 echo "\n\t\t<p class='dbg'>Rechtsgemeinschaft = '".$rechtsg."'</p>"; 508 } 509 } 510 echo "</td>\n\t<td> </td>\n</tr>"; 545 } 546 echo "</td>\n\t\t<td> </td>\n\t</tr>"; 511 547 } 512 548 $n++; // cnt NamNum 513 549 } // End Loop NamNum 514 if($n > 0) { 515 echo "\n</table>"; 516 } else { // $n == 0, bei "Fiktives Blatt" KEIN Fehler 517 if ($debug > 1) { 518 echo "\n<p class='dbg'>keine Namensnummern zum Blatt</p>"; 519 //if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqln."<br>$1=gml(Blatt)= '".$gmlid."'</p>";} 520 } 521 } 550 522 551 pg_free_result($resn); 523 552 return $n; … … 539 568 } 540 569 $i=0; 541 while($row = pg_fetch_a rray($res)) {570 while($row = pg_fetch_assoc($res)) { 542 571 echo " ".$row["v"]; 543 572 $i++; -
trunk/info/info/alkisn/alkisfshist.php
r400 r402 11 11 2017-10-17 Deutsches Datumsformat fÃŒr Zeitpunkt der Entstehung 12 12 2018-03-16 NULL-Werte in gemeinde und kreis in ax_historischesflurstueck berÃŒcksichtigen 13 2018-04-23 &nodebug 13 14 */ 14 15 … … 54 55 if (!$res) {echo "\n<p class='err'>Fehler bei Gemarkung.</p>";} 55 56 $zgmk=0; 56 while($row = pg_fetch_a rray($res)) { // eigentlich nur EINE57 while($row = pg_fetch_assoc($res)) { // eigentlich nur EINE 57 58 $gmkg=$row["bezeichnung"]; 58 59 $zgmk++; … … 84 85 } 85 86 $zv=0; 86 while($rowv = pg_fetch_a rray($resv)) {87 while($rowv = pg_fetch_assoc($resv)) { 87 88 $ftyp=$rowv["ftyp"]; 88 89 $gmlv=$rowv["gml_id"]; … … 102 103 } 103 104 104 // START //105 106 105 session_start(); 107 108 $showkey="n"; // Var. aus Parameter initalisieren 109 106 $showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren 110 107 $cntget = extract($_GET); // alle Parameter in Variable umwandeln 111 108 … … 125 122 if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 126 123 if ($showkey == "j") {$showkey=true;} else {$showkey=false;} // "j"/"n" als boolean umwandeln, ist praktischer abzufragen, wird oft gebraucht 124 if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 127 125 128 126 require_once("alkis_conf_location.php"); 129 127 if ($auth == "mapbender") {require_once($mapbender);} 130 128 include("alkisfkt.php"); 131 132 ?> 129 echo <<<END 133 130 <!doctype html> 134 131 <html lang="de"> … … 141 138 </head> 142 139 <body> 143 <?php 140 END; 141 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 142 // Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 143 if ($nodebug == "j") {$debug=0;} 144 144 145 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisfshist.php'"); 145 146 if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; … … 182 183 $resu = pg_prepare("", $sqlu); 183 184 $resu = pg_execute("", $v); 184 if ($rowu = pg_fetch_a rray($resu)) {185 if ($rowu = pg_fetch_assoc($resu)) { 185 186 $ftyp=$rowu["ftyp"]; 186 187 $gmkgnr=$rowu["gemarkungsnummer"]; … … 236 237 echo "\n<h2><img src='ico/".$ico."' width='16' height='16' alt=''> Flurstück Historie</h2>"; 237 238 238 echo "\n<table class='outer'>\n<tr>\n\t<td>"; // linke Seite239 echo "\n<table class='outer'>\n<tr>\n\t<td>"; 239 240 // darin Tabelle Kennzeichen 240 241 echo "\n\t<table class='".$cls."' title='Flurstückskennzeichen'>\n\t<tr>" 241 ."\n\t\t<td class='head'>G mkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>"242 ."\n\t\t<td class='head'>Gemarkung</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>" 242 243 ."\n\t<tr>\n\t\t<td title='Gemarkung'>"; 243 244 if ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} … … 246 247 ."\n\t\t<td title='Flurstücksnummer (Zähler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>" 247 248 ."\n\t</table>" 248 ."\n\t</td>\n\t<td>"; // rechte Seite249 ."\n\t</td>\n\t<td>"; 249 250 // FS-Daten 2 Spalten 250 251 echo "\n\t<table class='fsd'>" … … 311 312 if ($debug > 1) { 312 313 $z=1; 313 while($rowu = pg_fetch_a rray($resu)) {314 while($rowu = pg_fetch_assoc($resu)) { 314 315 $ftyp=$rowu["ftyp"]; 315 316 echo "<p class='dbg'>Mehr als EIN Eintrag gefunden: '".$ftyp."' (".$z.")</p>"; -
trunk/info/info/alkisn/alkisfsnw.php
r399 r402 18 18 2017-12-08 Planung (Kommentare) der Erweiterung fÃŒr Berechtigte GrundbÃŒcher 19 19 2017-12-20 Links auf Lagebezeichnung verbessert. 20 21 +++ ToDo: +++ 22 - Wenn nur 1 Buchung auf der nÀchsten Stufe "Recht an" vorliegt (z.B. Erbbaurecht), dann sofort anzeigen. $berbu='' 23 Bei vielen Buchungen auf der nÀchsten Stufe (Miteigentumsanteil) nur die Anzahl, erst auf Anforderung (Parameter) &berbu='j' oder 2,3,4,fÃŒr maximale Stufen. 24 Anzahl weiterer "Rechte an" auf jeder Stufe anzeigen, auch wenn noch kein Link möglich ist. 25 MEHR: Alle "Rechte an" RÃŒckwÀrts auflisten analog View "buchungsrechte_3text". Bis zu 4 Buchungen weit. 26 Im Gegensatz zum "Bestandsnachweis" aber nur je eine BVNR weiter verfolgen, die auf dies eine FlurstÃŒck bezogen ist. 27 Dabei berechtigte Buchungen VOR dem Grundbuch anzeigen, also eine Berechtigungs-"Hierarchie" abbilden. 20 2018-04-11 Variable "gmlid" an Function "ALKISexport" ÃŒbergeben. Ist beim Schreiben des Headers noch unbekannt, wenn mit "&fskennz=" aufgerufen. 21 2018-04-23 Umfangreiche Ãberarbeitung der "Buchungsstellen" 22 23 ++ToDo: 24 - Buchung auf "fiktives Blatt" ist nur mit debug zu sehen: die <tr> in .css grau hinterlegen 25 - Umschalter (gleiches Modul) anders darstellen als Links zu anderen Nachweisen 28 26 - Parameter zum Umschalten mit/ohne BodenschÀtzung? 29 27 - Bessere Differenzierung bei den Nutzungsarten (Tabelle dafÃŒr aufbauen) 30 28 */ 31 29 session_start(); 32 33 // Var. aus Parameter initalisieren 34 $eig="n"; 35 $berbu="n"; 36 $showkey="n"; 37 38 // alle Parameter in Variable umwandeln 39 $cntget = extract($_GET); 30 $eig="n"; $showkey="n"; $nodebug=""; // Var. initalisieren 31 $cntget = extract($_GET); // alle Parameter in Variable umwandeln 40 32 41 33 // strikte Validierung aller Parameter … … 53 45 if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} 54 46 if (!preg_match('#^[j|n]{0,1}$#', $eig)) {die("Eingabefehler eig");} 55 if (!preg_match('#^[j|n]{0,1}$#', $berbu)) {die ("Eingabefehler berbu");}56 47 if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 57 48 if ($showkey == "j") {$showkey=true;} else {$showkey=false;} // "j"/"n" als boolean umwandeln, ist praktischer abzufragen, wird oft gebraucht 49 if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 58 50 59 51 require_once("alkis_conf_location.php"); … … 69 61 <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 70 62 <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico"> 71 <script type="text/javascript">72 function ALKISexport( ) {73 window.open( <?php echo "'alkisexport.php?gkz=".$gkz."&tabtyp=flurstueck&gmlid=".$gmlid."'"; ?>);63 <script> 64 function ALKISexport(gmlid) { 65 window.open('alkisexport.php?gkz=<?php echo $gkz;?>&tabtyp=flurstueck&gmlid=' + gmlid); 74 66 } 75 67 </script> … … 77 69 <body> 78 70 <?php 79 // S t a r t 71 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. Blendet z.B. "fiktives Blatt" aus. 72 // Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 73 if ($nodebug == "j") {$debug=0;} 74 80 75 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisfsnw.php'"); 81 76 if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 82 77 83 // Ein (ALB- ?)FlurstÃŒcks-Kennzeichen wurde alternativ zur gml_id ÃŒbermittelt78 // Ein FlurstÃŒcks-Kennzeichen wurde alternativ zur gml_id ÃŒbermittelt 84 79 if ($fskennz != '') { 85 // Ãbergabe Format z.B. "llgggg-fff-nnnn/zz.nn" oder "gggg-ff-nnn/zz" 86 $arr=explode("-", $fskennz, 4); 80 $arr=explode("-", $fskennz, 4); // zerlegen 87 81 $zgemkg=trim($arr[0]); 88 if (strlen($zgemkg) == 20 and !isset($arr[1])) { // Oh, ist wohl schon das Datenbank-Feldformat89 $fskzdb=$zgemkg; 90 } else { // Nö, ist wohl eher ALB-Format82 if (strlen($zgemkg) == 20 and !isset($arr[1])) { 83 $fskzdb=$zgemkg; // Datenbank-Feldformat 84 } else { // Format "llgggg-fff-nnnn/zz.nn" oder "gggg-ff-nnn/zz" 91 85 // Das Kennzeichen auseinander nehmen. 92 86 if (strlen($zgemkg) == 6) { … … 121 115 $res = pg_prepare("", $sql); 122 116 $res = pg_execute("", $v); 123 if ($row = pg_fetch_a rray($res)) {117 if ($row = pg_fetch_assoc($res)) { 124 118 $gmlid=$row["gml_id"]; 125 119 } else { … … 132 126 } 133 127 134 // F L U R S T U E C K 128 // F L U R S T U E C K m. Gebiet 135 129 $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, 136 to_char(cast(f.zeitpunktderentstehung AS date),'DD.MM.YYYY') AS zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung 137 FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 138 WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL;"; 139 130 to_char(cast(f.zeitpunktderentstehung AS date),'DD.MM.YYYY') AS zeitpunktderentstehung, f.istgebucht, g.gemarkungsnummer, g.bezeichnung, 131 r.bezeichnung AS rbez, k.bezeichnung AS kbez, m.bezeichnung AS mbez 132 FROM ax_flurstueck f 133 LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 134 LEFT JOIN ax_regierungsbezirk r ON f.regierungsbezirk=r.regierungsbezirk 135 LEFT JOIN ax_kreisregion k ON f.regierungsbezirk=k.regierungsbezirk AND f.kreis=k.kreis 136 LEFT JOIN ax_gemeinde m ON m.regierungsbezirk=f.regierungsbezirk AND m.kreis=f.kreis AND m.gemeinde=f.gemeinde 137 WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL AND m.endet IS NULL AND k.endet IS NULL AND r.endet IS NULL;"; 140 138 $v = array($gmlid); // mit gml_id suchen 141 139 $res = pg_prepare("", $sql); 142 140 $res = pg_execute("", $v); 143 144 141 if (!$res) { 145 142 echo "\n<p class='err'>Fehler bei Flurstuecksdaten</p>"; 146 143 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 147 144 } 148 if ($row = pg_fetch_a rray($res)) {145 if ($row = pg_fetch_assoc($res)) { 149 146 $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 150 147 $gmkgnr=$row["gemarkungsnummer"]; 151 148 $bezirk=$row["regierungsbezirk"]; 149 $rbez=htmlentities($row["rbez"], ENT_QUOTES, "UTF-8"); 152 150 $kreis=$row["kreis"]; 151 $kbez=htmlentities($row["kbez"], ENT_QUOTES, "UTF-8"); 153 152 $gemeinde=$row["gemeinde"]; 153 $mbez=htmlentities($row["mbez"], ENT_QUOTES, "UTF-8"); 154 154 $flurnummer=$row["flurnummer"]; 155 155 $zaehler=$row["zaehler"]; … … 163 163 $fsgeomflaed=number_format($fsgeomflae,0,",",".") . " m²"; 164 164 $entsteh=$row["zeitpunktderentstehung"]; 165 $gml_buchungsstelle=$row["istgebucht"]; // wird erst im GB-Teil benötigt 165 166 $name=$row["name"]; // Fortfuehrungsnummer(n) 166 167 $arrn = explode(",", trim($name, "{}") ); // PHP-Array … … 173 174 pg_free_result($res); 174 175 175 // Balken 176 if ($eig=="j") { 176 if ($eig=="j") { // Balken 177 177 echo "<p class='fsei'>ALKIS Flurstück ".$gmkgnr."-".$flurnummer."-".$flstnummer." </p>" 178 ."\n <h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''>Flurstück mit Eigentümer</h2>";178 ."\n\n<h2>Flurstück mit Eigentümer</h2>"; 179 179 } else { 180 180 echo "<p class='fskennz'>ALKIS Flurstück ".$gmkgnr."-".$flurnummer."-".$flstnummer." </p>" 181 ."\n <h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''>Flurstück</h2>";181 ."\n\n<h2>Flurstück</h2>"; 182 182 } 183 183 … … 186 186 if ( ($filtkreis != '' and $filtkreis != $kreis) or ($filtgem != '' and $filtgem != $gemeinde) ) { 187 187 // Einer der gesetzten Filter passt nicht 188 if ($debug > 2) { 189 //++ Schönes Bild? Stop-Zeichen? 188 if ($debug > 2) { //++ Schönes Bild? Stop-Zeichen? 190 189 echo "\n<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>" 191 190 ."\n<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; … … 196 195 } 197 196 198 echo "\n<table class='outer'> \n<tr>\n\t<td>" // linke Seite199 ."\n\t \t<table class='kennzfs' title='Flurstückskennzeichen'>\n\t\t<tr>" // darin Tabelle Kennzeichen200 ."\n\t\t\t<td class='head'>Gmkg</td>\n\t\t\t<td class='head'>Flur</td>\n\t\t\t<td class='head'>Flurst-Nr.</td>\n\t\t</tr>"201 ."\n\t\t<tr>\n\t\t\t<td title='Gemarkung'>";202 if ($showkey) {203 echo "<span class='key'>".$gmkgnr."</span><br>";204 }205 echo $gemkname." </td>"206 ."\n\t\t\t <td title='Flurnummer'>".$flurnummer."</td>"207 ."\n\t\t\t <td title='Flurstücksnummer (Zähler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t\t</tr>"208 ."\n\t\t </table>"209 ."\n\t</td>\n\t<td>" // rechte Seite 210 ."\n\t\t <table class='fsd'>" // FS-Daten 2 Spalten211 ."\n\t\t <tr>\n\t\t\t<td>Entstehung</td>"212 ."\n\t\t\t <td>".$entsteh."</td>\n\t\t</tr>"213 ."\n\t\t <tr>"214 ."\n\t\t\t <td>letz. Fortf</td>"215 ."\n\t\t\t <td title='Jahrgang / Fortführungsnummer - Fortführungsart'>";197 echo "\n<table class='outer'>" 198 ."\n\t<tr>\n\t\t<td class='ll'><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Kennzeichen:</td>" // Links 199 ."\n\t\t<td>" // Mitte 200 ."\n\t\t\t<table class='kennzfs' title='Flurstückskennzeichen'>\n\t\t\t\t<tr>" // darin Tabelle Kennzeichen 201 ."\n\t\t\t\t\t<td class='head'>Gemarkung</td>\n\t\t\t\t\t<td class='head'>Flur</td>\n\t\t\t\t\t<td class='head'>Flurst-Nr.</td>\n\t\t\t\t</tr>" 202 ."\n\t\t\t\t<tr>\n\t\t\t\t\t<td title='Gemarkung'>"; 203 if ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} 204 echo $gemkname." </td>" 205 ."\n\t\t\t\t\t<td title='Flurnummer'>".$flurnummer."</td>" 206 ."\n\t\t\t\t\t<td title='Flurstücksnummer (Zähler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t\t\t\t</tr>" 207 ."\n\t\t\t</table>" 208 ."\n\t\t</td>\n\t\t<td>" // Rechts 209 ."\n\t\t\t<table class='fsd'>" // FS-Daten 2 Spalten 210 ."\n\t\t\t\t<tr>\n\t\t\t\t\t<td>Entstehung</td>" 211 ."\n\t\t\t\t\t<td>".$entsteh."</td>\n\t\t\t\t</tr>" 212 ."\n\t\t\t\t<tr>" 213 ."\n\t\t\t\t\t<td>letz. Fortf</td>" 214 ."\n\t\t\t\t\t<td title='Jahrgang / Fortführungsnummer - Fortführungsart'>"; 216 215 foreach($arrn AS $val) { // Zeile f. jedes Element des Array 217 216 echo trim($val, '"')."<br>"; 218 217 } 219 218 echo "</td>" 220 ."\n\t\t</tr>" 221 ."\n\t\t</table>" 222 ."\n\t</td>\n</tr>\n</table>"; 223 // echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame . "</td>\n</tr>"; 224 // Ende Seitenkopf 225 226 echo "\n<hr>" 227 ."\n<p class='nwlink noprint'>weitere Auskunft:</p>" // oben rechts von der Tabelle 228 ."\n<table class='fs'>"; 229 230 // ** G e b i e t s z u g e h o e r i g k e i t ** 231 // eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben 232 // Schluessel "land" wird nicht verwendet, gibt es Bestaende wo das nicht einheitlich ist? 233 echo "\n<tr>\n\t<td class='ll'><img title='Im Gebiet von' src='ico/Gemeinde.png' width='16' height='16' alt=''> Gebiet:</td>"; 234 235 // G e m e i n d e 236 $sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk= $1 AND kreis= $2 AND gemeinde= $3 AND endet IS NULL;"; 237 238 $v = array($bezirk,$kreis,$gemeinde); 239 $res = pg_prepare("", $sql); 240 $res = pg_execute("", $v); 241 if (!$res) { 242 echo "\n<p class='err'>Fehler bei Gemeinde</p>"; 243 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";} 244 } 245 $row = pg_fetch_array($res); 246 $gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 247 echo "\n\t<td class='lr'>Gemeinde</td>\n\t<td class='lr' colspan='3'>"; 248 if ($showkey) {echo "<span class='key'>(".$gemeinde.")</span> ";} 249 // Link zur FS-Historie (passt nicht ganz in die Zeile "Gemeinde", aber gut unter "weitere Auskunft") 250 echo $gnam."</td>\n\t<td class='nwlink'>" 251 ."\n\t\t<p class='nwlink noprint'>" 219 ."\n\t\t\t\t</tr>" 220 ."\n\t\t\t</table>" 221 ."\n\t\t</td>\n\t</tr>\n</table>"; 222 223 echo "\n<hr>\n<table class='fs'>"; // FS-Teil 6 Spalten 224 echo "\n<tr>\n\t\t<td></td>\n\t\t<td></td>\n\t\t<td></td>\n\t\t<td></td>\n\t\t<td></td>" // 1-5 in erster Zeile kein "colspan" verwenden 225 ."\n\t\t<td>\n\t\t<p class='nwlink noprint'>weitere Auskunft:</p></td>" // 6 226 ."\n</tr>"; 227 228 echo "\n<tr>" // Zeile: G e b i e t s z u g e h o e r i g k e i t Gemeinde / Kreis / Regierungsbezirk 229 ."\n\t<td class='ll'><img title='Im Gebiet von' src='ico/Gemeinde.png' width='16' height='16' alt=''> Gebiet:</td>" // 1 230 ."\n\t<td>Gemeinde<br>Kreis<br>Regierungsbezirk</td>" // 2 231 ."\n\t<td class='lr' colspan='3'>"; // 3-5 232 if ($showkey) {echo "<span class='key'>(".$gemeinde.")</span> ";} 233 echo $mbez."<br>"; 234 if ($showkey) {echo "<span class='key'>(".$kreis.")</span> ";} 235 echo $kbez."<br>"; 236 if ($showkey) {echo "<span class='key'>(".$bezirk.")</span> ";} 237 echo $rbez 238 ."</td>" 239 ."\n\t<td class='nwlink'>" // 5 240 ."\n\t\t<p class='nwlink noprint'>" 252 241 ."\n\t\t\t<a href='alkisfshist.php?gkz=".$gkz."&gmlid=".$gmlid; 253 254 255 242 if ($showkey) {echo "&showkey=j";} 243 echo "' title='Vorgänger-Flurstücke'>Historie " 244 ."<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>" 256 245 ."</a>" 257 ."\n\t\t</p>" 258 . "\n\t</td>\n</tr>"; 259 pg_free_result($res); 260 261 // K r e i s 262 $sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk= $1 AND kreis= $2 AND endet IS NULL;"; 263 $v = array($bezirk,$kreis); 264 $res = pg_prepare("", $sql); 265 $res = pg_execute("", $v); 266 if (!$res) { 267 echo "\n<p class='err'>Fehler bei Kreis</p>"; 268 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";} 269 } 270 $row = pg_fetch_array($res); 271 $knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 272 echo "\n<tr>\n\t<td> </td>\n\t<td>Kreis</td>\n\t<td class='lr' colspan='3'>"; 273 if ($showkey) {echo "<span class='key'>(".$kreis.")</span> ";} 274 echo $knam."</td>\n\t<td> </td>\n</tr>"; 275 pg_free_result($res); 276 277 // R e g - B e z 278 $sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk= $1 AND endet IS NULL;"; 279 $v = array($bezirk); 280 $res = pg_prepare("", $sql); 281 $res = pg_execute("", $v); 282 if (!$res) { 283 echo "\n<p class='err'>Fehler bei Regierungsbezirk</p>"; 284 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."</p>";} 285 } 286 $row=pg_fetch_array($res); 287 $bnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 288 echo "\n<tr>\n\t<td> </td>\n\t<td>Regierungsbezirk</td>\n\t<td class='lr' colspan='3'>"; 289 if ($showkey) {echo "<span class='key'>(".$bezirk.")</span> ";} 290 echo $bnam."</td>\n\t<td> </td>\n</tr>"; 291 pg_free_result($res); 292 // ENDE G e b i e t s z u g e h o e r i g k e i t 246 ."\n\t\t</p>" 247 ."\n\t</td>" // 6 248 ."\n</tr>"; 293 249 294 250 // ** L a g e b e z e i c h n u n g ** 295 251 296 252 // Lagebezeichnung M I T Hausnummer 297 298 253 // ax_flurstueck >weistAuf> AX_LagebezeichnungMitHausnummer 299 254 $sql="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung, s.gml_id AS kgml … … 316 271 $j=0; 317 272 $kgmlalt=""; 318 while($row = pg_fetch_a rray($res)) {273 while($row = pg_fetch_assoc($res)) { 319 274 $sname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 320 275 if (substr($sname, strlen($sname) -3, 3) == 'weg') { // Versuch fuer korrekten Satzbau … … 324 279 } 325 280 $hsnr=$row["hausnummer"]; 326 echo "\n<tr> \n\t";327 if ($j == 0) { 281 echo "\n<tr>"; 282 if ($j == 0) { // 1 328 283 echo "\n\t<td class='ll'><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''> Adresse:</td>"; 329 284 } else { 330 285 echo "\n\t<td> </td>"; 331 286 } 332 echo "\n\t<td> </td>" 333 ."\n\t<td class='lr' colspan='3'>"; 334 if ($showkey) { 335 echo "<span class='key' title='StraÃenschlüssel'>(".$row["lage"].")</span> "; 336 } 337 echo $sname." ".$hsnr."</td>"; 338 339 // rechte Spalte 340 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 287 echo "\n\t<td> </td>" // 2 288 ."\n\t<td class='lr' colspan='3'>"; // 3-5 289 if ($showkey) {echo "<span class='key' title='StraÃenschlüssel'>(".$row["lage"].")</span> ";} 290 echo $sname." ".$hsnr."</td>"; 291 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; // 6 341 292 342 293 // +++ davor auch Link "StraÃe" … … 352 303 if ($showkey) {echo "&showkey=j";} 353 304 echo "'>Lage <img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>" 354 ."\n\t\t</p>\n\t</td>" 305 ."\n\t\t</p>\n\t</td>" // 6 355 306 ."\n</tr>"; 356 307 $j++; … … 359 310 pg_free_result($res); 360 311 } 361 // +++ Verbesserung: mehrere HsNr zur gleichen StraÃe als Liste?362 312 363 313 // Lagebezeichnung O H N E Hausnummer (Gewanne oder nur Strasse) 364 365 314 // ax_flurstueck >zeigtAuf> AX_LagebezeichnungOhneHausnummer 366 315 $sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung … … 378 327 } 379 328 $j=0; 380 while($row = pg_fetch_a rray($res)) {329 while($row = pg_fetch_assoc($res)) { 381 330 $skey=$row["lage"]; // Strassenschl. 382 331 $lgml=$row["gml_id"]; // key der Lage 383 332 $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8"); 384 385 333 if ($gewann != "") { 386 334 echo "\n<tr>" 387 ."\n\t<td class='ll' title='unverschlüsselte Lagebezeichnung'><img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''> Gewanne:</td>" 388 ."\n\t<td></td>" 389 ."\n\t<td class='lr' colspan='3'>".$gewann."</td>" 390 ."\n\t<td>\n\t\t<p class='nwlink noprint'>" 335 ."\n\t<td class='ll' title='unverschlüsselte Lagebezeichnung'><img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''> Gewanne:</td>" // 1 336 ."\n\t<td></td>" // 2 337 ."\n\t<td class='lr' colspan='3'>".$gewann."</td>" // 3-5 338 ."\n\t<td>\n\t\t<p class='nwlink noprint'>" // 6 391 339 ."\n\t\t\t<a title='Flurstücke mit der Gewanne ".$gewann."' href='alkislage.php?gkz=".$gkz."&ltyp=o&gmlid=".$lgml; 392 340 if ($showkey) {echo "&showkey=j";} 393 341 echo "'>\n\t\t\tLage <img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''></a>" 394 ."\n\t\t</p>\n\t</td>" 342 ."\n\t\t</p>\n\t</td>" // 6 395 343 ."\n</tr>"; 396 344 } elseif ($skey > 0) { … … 402 350 } 403 351 echo "\n<tr>" 404 ."\n\t<td class='ll'><img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''> Straße:</td>" 405 ."\n\t<td></td>" 406 ."\n\t<td class='lr' colspan='3'>"; 407 if ($showkey) {echo "<span class='key'>(".$skey.")</span> ";} 408 echo $sname."</td>"; 409 410 // rechte Spalte 411 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>" 352 ."\n\t<td class='ll'><img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''> Straße:</td>" // 1 353 ."\n\t<td></td>" // 2 354 ."\n\t<td class='lr' colspan='3'>"; // 3-5 355 if ($showkey) {echo "<span class='key'>(".$skey.")</span> ";} 356 echo $sname."</td>"; 357 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>" // 6 412 358 ."\n\t\t\t<a title='FlurstÃŒcke ".$slink."' href='alkislage.php?gkz=".$gkz."&ltyp=o&gmlid=".$lgml; 413 359 if ($showkey) {echo "&showkey=j";} 414 360 echo "'>\n\t\t\tLage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''>\n\t\t\t</a>" 415 ."\n\t\t</p>\n\t</td>" 361 ."\n\t\t</p>\n\t</td>" // 6 416 362 ."\n</tr>"; 417 363 } … … 419 365 } 420 366 pg_free_result($res); 421 // ENDE L a g e b e z e i c h n u n g 422 423 // ** N U T Z U N G ** Gemeinsame FlÀche von NUA und FS 424 // Tabellenzeilen (3 Spalten) mit tats. Nutzung zu einem FS ausgeben 425 426 /* N U T Z U N G C l a s s i c (alt) 427 $sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, n.nutz_id, n.class, n.info, n.zustand, n.name, n.bezeichnung, m.gruppe, 428 st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) AS schnittflae, c.label, c.blabla 429 FROM ax_flurstueck f, nutzung n JOIN nutzung_meta m ON m.nutz_id=n.nutz_id 430 LEFT JOIN nutzung_class c ON c.nutz_id=n.nutz_id AND c.class=n.class 431 WHERE f.gml_id= $1 AND st_intersects(n.wkb_geometry,f.wkb_geometry) = true 432 AND st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) > 0.05 433 AND f.endet IS NULL ORDER BY schnittflae DESC;"; 434 435 $v = array($gmlid); 436 $res = pg_prepare("", $sql); 437 $res = pg_execute("", $v); 438 if (!$res) { 439 echo "\n<p class='err'>Fehler bei Suche tats. Nutzung</p>"; 440 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 441 } 442 $the_Xfactor=$fsbuchflae / $fsgeomflae; // geom. ermittelte FlÀche auf amtl. BuchflÀche angleichen 443 $j=0; 444 while($row = pg_fetch_array($res)) { 445 $grupp=$row["gruppe"]; // 4 Gruppen 446 $nutzid=$row["nutz_id"]; // 27 Tabellen, num. Key 447 $title=htmlentities($row["title"], ENT_QUOTES, "UTF-8"); // Titel der 27 Tabellen 448 $fldclass=$row["fldclass"]; // Name 1. Zusatzfeld 449 $fldinfo= $row["fldinfo"]; // Name 2. Zus. 450 $gml=$row["gml_id"]; 451 $class=$row["class"]; // 1. Zusatzfeld verschlÃŒsselt -> nutzung_class 452 $info=$row["info"]; // 2. Zus. verschlÃŒsselt (noch keine Info zum entschl.) 453 $schnittflae=$row["schnittflae"]; 454 $label=$row["label"]; // Nutzungsart entschlÃŒsselt 455 $zus=$row["zustand"]; // im Bau 456 $nam=$row["name"]; // Eigenname 457 $bez=$row["bezeichnung"]; // weiterer Name (unverschl.) 458 $blabla=htmlentities($row["blabla"], ENT_QUOTES, "UTF-8"); 459 $label=str_replace("/", "<br>", $label); // Ersetzt "/" durch html-Zeilenwechsel 460 461 echo "\n<tr>\n\t"; 462 if ($j == 0) { 463 echo "<td class='ll' title='Abschnitt der tatsächlichen Nutzung'><img src='ico/Abschnitt.png' width='16' height='16' alt=''> Nutzung:</td>"; 464 } else { 465 echo "<td> </td>"; 466 } 467 $absflaebuch = $schnittflae * $the_Xfactor; // angleichen geometrisch an amtliche FlÀche 468 $schnittflae = number_format($schnittflae,1,",",".") . " m²"; // geometrisch 469 $absflaebuch = number_format($absflaebuch,0,",",".") . " m²"; // Abschnitt an BuchflÀche angeglichen 470 echo "\n\t<td class='fla' title='geometrisch berechnet: ".$schnittflae."'>".$absflaebuch."</td>"; 471 472 echo "\n\t<td class='lr' colspan='3'>"; 473 if ($class == 0) { 474 if ($showkey) {echo "<span class='key'>(".$nutzid.")</span> ";} 475 echo $title; // Name der Tabelle 476 } elseif ( ($fldclass == "Funktion" OR $fldclass == "Vegetationsmerkmal") AND $label != "") { // Kurze Anzeige 477 if ($showkey) {echo "<span class='key' title='".$fldclass."'>(".$nutzid."-".$class.")</span> ";} 478 if ($blabla = "") { 479 echo $label; 480 } else { 481 echo "<span title='".$blabla."'>".$label."</span>"; 482 } 483 } else { // ausfuehrlichere Anzeige 484 echo $title; // NUA-Tabelle 485 if ($class != "") { // NUA-SchlÃŒssel 486 echo ", ".$fldclass.": "; // Feldname 487 if ($showkey) {echo "<span class='key' title='".$fldclass."'>(".$nutzid."-".$class.")</span> ";} 488 if ($label != "") { // Bedeutung dazu wurde erfasst 489 if ($blabla = "") { 490 echo $label; 491 } else { 492 echo "<span title='".$blabla."'>".$label."</span>"; 493 } 494 } else { // muss noch erfasst werden 495 echo $class." "; // SchlÃŒssel als Ersatz fÃŒr Bedeutung 496 } 497 } 498 } 499 if ($info != "") { // manchmal ein zweites Zusatzfeld (wie entschlÃŒsseln?) 500 echo ", ".$fldinfo."=".$info; 501 } 502 if ($zus != "") { // Zustand 503 echo "\n\t\t<br>"; 504 if ($showkey) {echo "<span class='key'>(".$zus.")</span> ";} 505 echo "<span title='Zustand'>"; 506 switch ($zus) { 507 case 2100: echo "AuÃer Betrieb, stillgelegt, verlassen"; break; 508 case 4000: echo "Im Bau"; break; 509 case 8000: echo "Erweiterung, Neuansiedlung"; break; 510 default: echo "Zustand: ".$zus; break; 511 } 512 echo "</span>"; 513 } 514 if ($nam != "") {echo "<br>Name: ".$nam;} 515 if ($bez != "") {echo "<br>Bezeichnung: ".$bez;} 516 517 echo "</td>"; 518 echo "\n\t<td>"; 519 switch ($grupp) { // Icon nach 4 Objektartengruppen 520 case "Siedlung": $ico = "Abschnitt.png"; break; 521 case "Verkehr": $ico = "Strassen_Klassifikation.png"; break; 522 case "Vegetation": $ico = "Wald.png"; break; 523 case "GewÀsser": $ico = "Wasser.png"; break; 524 default: $ico = "Abschnitt.png"; break; 525 } 526 // Icon ist auch im Druck sichtbar, class='noprint' ? 527 echo "<p class='nwlink'><img title='".$title."' src='ico/".$ico."' width='16' height='16' alt='NUA'></p>"; 528 echo "</td>"; 529 echo "\n</tr>"; 530 $j++; 531 } 532 E N D E N U T Z U N G C l a s s i c */ 533 534 /* Status "Nutzung": 535 536 Die Classic-Tabelle "nutzung" ist eine Zusammenfassung aller Tabellen mit Nutzungs-FlÀchen 537 Die Classic-Tabelle "nutzung_meta" zeigt die Kategorie und Gruppe des Nutzungs-Abschnitts an. 538 539 Aus der norGIS-Struktur wird ersatzweise VORLÃUFIG die Tabelle "nutz_21" verwendet, 540 die das alte ALB-Format der Nutzungs-Abschnitte von FlurstÃŒcken simuliert. 541 Hier finden sich bereits verschnittene FlÀchen, aber die gml_id fehlt. 542 543 Die EntschlÃŒsselung der Nutzungsart in den verschiedenen ALKIS-Varianten ist darin unterentwickelt. 544 Diese ist eigentlich fÃŒr jede der getrennten Tabellen der Gruppe Nutzungsart individuell. 545 Die Classic-Lösung mit 2 Zusatzfeldern war schon sehr pauschalisiert, aber 546 durch die RÃŒck-Konvertierung in ALB-Strukturen in der norGIS-Version ist das zu stark vereinfacht. 547 z.B. wird "WohnbauflÀche" mit der Zusatzeigenschaft "Art der Bebauung": 'Offen' 548 nun zur Nutzungsart "Offen". 549 Durch JOIN auf die "alkis_elemente" mit einem Teil des SchlÃŒssels wird das zur "WohnbauflÀche, Offen". 550 Es sollte eine Tabellen-Struktur bereit gestellt werden, die auch aussagt, dass der Wert "Offen" zur 551 Zusatz-Eigenschaft "Art der Bebauung" gehört. Dazu muss das PostProcessing erweitert werden. */ 552 367 368 /* Status "N u t z u n g": 369 Die Classic-Tabelle "nutzung" ist eine Zusammenfassung aller Tabellen mit Nutzungs-FlÀchen 370 Die Classic-Tabelle "nutzung_meta" zeigt die Kategorie und Gruppe des Nutzungs-Abschnitts an. 371 372 Aus der norGIS-Struktur wird ersatzweise VORLÃUFIG die Tabelle "nutz_21" verwendet, 373 die das alte ALB-Format der Nutzungs-Abschnitte von FlurstÃŒcken simuliert. 374 Hier finden sich bereits verschnittene FlÀchen, aber die gml_id fehlt. 375 376 Die EntschlÃŒsselung der Nutzungsart in den verschiedenen ALKIS-Varianten ist darin unterentwickelt. 377 Diese ist eigentlich fÃŒr jede der getrennten Tabellen der Gruppe Nutzungsart individuell. 378 Die Classic-Lösung mit 2 Zusatzfeldern war schon sehr pauschalisiert, aber 379 durch die RÃŒck-Konvertierung in ALB-Strukturen in der norGIS-Version ist das zu stark vereinfacht. 380 z.B. wird "WohnbauflÀche" mit der Zusatzeigenschaft "Art der Bebauung": 'Offen' 381 nun zur Nutzungsart "Offen". 382 Durch JOIN auf die "alkis_elemente" mit einem Teil des SchlÃŒssels wird das zur "WohnbauflÀche, Offen". 383 Es sollte eine Tabellen-Struktur bereit gestellt werden, die auch aussagt, dass der Wert "Offen" zur 384 Zusatz-Eigenschaft "Art der Bebauung" gehört. Dazu muss das PostProcessing erweitert werden. */ 553 385 554 386 $sql="SELECT e.definition, trim(both FROM n.nutzsl) AS nutzsl, trim(both FROM n.fl) AS fl, trim(both FROM s.nutzung) AS nutzung … … 565 397 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = FS-Kennz = '".$fskennzalb."'</p>";} 566 398 } 567 568 399 $j=0; 569 while($row = pg_fetch_a rray($res)) {400 while($row = pg_fetch_assoc($res)) { 570 401 $flae=$row["fl"]; // BuchflÀche 571 402 $nutzsl=$row["nutzsl"]; // SchlÃŒssel … … 573 404 $defi=$row["definition"]; // Langer Text mit Beschreibung 574 405 $title=htmlentities($defi, ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet 575 576 406 echo "\n<tr>\n\t"; 577 if ($j == 0) { 407 if ($j == 0) { // 1 578 408 echo "<td class='ll' title='Abschnitt der tatsächlichen Nutzung'><img src='ico/Abschnitt.png' width='16' height='16' alt=''> Nutzung:</td>"; 579 409 } else { … … 581 411 } 582 412 $absflaebuch = number_format($flae,0,",",".") . " m²"; // Formatierte Abschnitts-Buch-FlÀche 583 echo "\n\t<td class='fla' title='Buchfläche des Abschnitts'>".$absflaebuch."</td>"; 584 585 echo "\n\t<td class='lr' colspan='3' title='".$title."'>"; 413 echo "\n\t<td></td>"; // 2 414 echo "\n\t<td class='fla' title='Buchfläche des Abschnitts'>".$absflaebuch."</td>"; // 3 - gleiche Spalte wie Fl. in BodenschÀtzg. 415 echo "\n\t<td></td>"; // 4 416 echo "\n\t<td class='lr' title='".$title."'>"; // 5 - gleiche Sp. wie Zustandsstufe usw. 586 417 if ($showkey) {echo "<span class='key'>(".$nutzsl.")</span> ";} 587 418 echo $nutzung 588 419 ."</td>" 589 ."\n\t<td>"; 420 ."\n\t<td>"; // 6 590 421 /* // Derzeit ist keine Gruppe zugeordnet 591 422 switch ($grupp) { // Icon nach 4 Objektartengruppen … … 597 428 } 598 429 // Icon ist auch im Druck sichtbar, class='noprint' ? 599 echo "<p class='nwlink'><img title='".$title."' src='ico/".$ico."' width='16' height='16' alt='NUA'></p>"; 600 */ 601 echo "</td>" 430 echo "<p class='nwlink'><img title='".$title."' src='ico/".$ico."' width='16' height='16' alt='NUA'></p>"; */ 431 echo "</td>" // 6 602 432 ."\n</tr>"; 603 433 $j++; … … 605 435 pg_free_result($res); 606 436 607 echo "\n<tr>" // Summenzeile 608 ."\n\t<td class='re' title='amtliche Fläche (Buchfläche)'>Fläche:</td>" 609 ."\n\t<td class='fla sum'>" 610 ."<span title='geometrisch berechnete Fläche = ".$fsgeomflaed."' class='flae'>".$fsbuchflaed."</span></td>"; 611 612 // Flaeche und Link auf GebÀude-Auswertung 613 echo "\n\t<td colspan='3'> </td>\n\t<td>" 437 echo "\n<tr>" // FlÀchen-Summenzeile 438 ."\n\t<td class='re' title='amtliche Fläche (Buchfläche)'>Fläche:</td>" // 1 439 ."\n\t<td> </td>" // 2 440 ."\n\t<td class='fla sum'>" // 3 Flaeche 441 ."<span title='geometrisch berechnete Fläche = ".$fsgeomflaed."' class='flae'>".$fsbuchflaed."</span></td>" 442 ."\n\t<td> </td>" // 4 443 ."\n\t<td> </td>" // 5 444 ."\n\t<td>" // 6 Link auf GebÀude-Auswertung 614 445 ."\n\t\t<p class='nwlink noprint'>" // Gebaeude-Verschneidung 615 616 617 618 619 620 621 622 446 ."\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&gmlid=".$gmlid; 447 if ($showkey) {echo "&showkey=j";} 448 if ($cnt_adressen > 0) { // wenn Adresse vorgekommen ist 449 echo "' title='Gebäude auf oder an dem Flurstück'>Gebäude "; 450 } else { // GebÀude mit Adresse gibt es NICHT, das ist klar 451 echo "' title='Suche Gebäude ohne Adresse auf dem Flurstück oder angrenzende Gebäude'>Suche "; 452 } 453 echo "<img src='ico/Haus.png' width='16' height='16' alt=''></a>" 623 454 ."\n\t\t</p>" 624 ."\n\t</td>" 625 ."\n</tr>"; 626 // ENDE N U T Z U N G 627 628 629 // K L A S S I F I Z I E R U N G 630 631 // Klassifizierung nach W a s s e rrecht 632 /* 633 // Tabelle immer leer? 634 $sql="SELECT h.v, w.artderfestlegung, st_area(st_intersection(w.wkb_geometry, f.wkb_geometry)) AS schnittflae, f.amtlicheflaeche, st_area(f.wkb_geometry) as fsgeomflae 635 FROM ax_flurstueck f 636 JOIN ax_klassifizierungnachwasserrecht w 637 ON st_intersects(w.wkb_geometry, f.wkb_geometry) AND st_area(st_intersection(w.wkb_geometry, f.wkb_geometry)) > 0.05 638 LEFT JOIN alkis_wertearten h 639 ON cast(w.artderfestlegung AS character varying) = h.k AND h.element='ax_klassifizierungnachwasserrecht' AND h.bezeichnung='artderfestlegung' 640 WHERE f.gml_id = $1 AND f.endet IS NULL AND w.endet IS NULL ORDER BY schnittflae DESC"; 641 642 $v = array($gmlid); 643 $res = pg_prepare("", $sql); 644 $res = pg_execute("", $v); 645 if (!$res) {echo "\n<p class='err'>Fehler bei DB-Abfrage zur Klassifizierung Wasser</p>\n";} 646 647 if(!empty($res) && pg_num_rows($res) > 0) { 648 echo "\n<table>"; 649 while($row = pg_fetch_array($res)) { 650 $fsbuchflae=$row["amtlicheflaeche"]; 651 $fsgeomflae=$row["fsgeomflae"]; 652 $the_Xfactor=$fsbuchflae / $fsgeomflae; // ++ nicht in Loop, ist konst. je FS 653 $absflaebuch = $row['schnittflae'] * $the_Xfactor; 654 echo"\n<tr><td></td><td></td></tr>" 655 ."\n<tr><td><b>FlÀche</b></td><td class='klassifizerung'><span class=''>".number_format(intval($absflaebuch),0,",",".")." m²</span></td></tr>" 656 ."\n<tr><td><b>Bezeichnung</b></td><td class='klassifizerung'><span class=''>".$row['v']."</span></td></tr>" 657 ."\n<tr><td></td><td></td></tr>"; 658 } 659 echo "</table>"; 660 } 661 // Klassifizierung nach S t r a à e n recht 662 // Tabelle immer leer? 663 */ 455 ."\n\t</td>" // 6 456 ."\n</tr>"; 664 457 665 458 // B o d e n s c h À t z u n g … … 668 461 669 462 // BodenschÀtzungs-Abschnitte mit FlurstÃŒcken verschneiden, Spalten entschlÃŒsseln 670 $sql="SELECT 671 kulturart.k AS kulturartk, kulturart.v AS kulturartv, 672 bodenart.k AS bodenartk, bodenart.v AS bodenartv, 463 $sql="SELECT kulturart.k AS kulturartk, kulturart.v AS kulturartv, 464 bodenart.k AS bodenartk, bodenart.v AS bodenartv, 673 465 zustbod.v AS zustbodv, 674 466 b.entstehungsartoderklimastufewasserverhaeltnisse AS entsteh, b.sonstigeangaben, 675 b.bodenzahlodergruenlandgrundzahl as bodenzahl, b.ackerzahlodergruenlandzahl AS ackerzahl, 467 b.bodenzahlodergruenlandgrundzahl as bodenzahl, b.ackerzahlodergruenlandzahl AS ackerzahl, 676 468 b.jahreszahl, st_area(st_intersection(b.wkb_geometry, f.wkb_geometry)) AS schnittflae 677 469 FROM ax_flurstueck f … … 686 478 $res = pg_execute("", $v); 687 479 if (!$res) {echo "\n<p class='err'>Fehler bei DB-Abfrage zur Klassifizierung Boden</p>\n";} 688 689 480 $gesertragsmz = 0; // Gesamt-ErtragsMesszahl 690 481 $klasflae = 0; // Summe klassifizierte FlÀche 691 482 $j=0; 692 693 483 if(!empty($res) && pg_num_rows($res) > 0) { 694 695 while ($row = pg_fetch_array($res)) { 484 while ($row = pg_fetch_assoc($res)) { 696 485 $kulturartk=$row['kulturartk']; // Key - 697 486 $kulturartv=$row['kulturartv']; // - Value … … 718 507 $entsteh=$row['entsteh']; 719 508 $sonst=$row['sonstigeangaben']; 720 721 // Sp. 1/4 722 if ($j == 0) { 509 if ($j == 0) { // 1 723 510 echo "\n<tr>\n\t<td class='ll' title='Abschnitt Bodenschätzung'><img src='ico/Landwirt.png' width='16' height='16' alt=''> Bodenschätzung:</td>"; 724 511 } else { 725 512 echo "\n<tr>\n\t<td> </td>"; 726 513 } 727 728 // Sp. 2/4 729 echo "\n\t<td class='fla' title='Ertragsmesszahl: Produkt von ".$kbez2."/100 und Fläche.'>EMZ ".$ertragszahl."</td>"; 730 731 // Sp. 3/4 - unterteilt in 3 Sp. 732 echo "\n\t<td class='re' title='Fläche des Schätzungsabschnitts'>".$absbuchflaedis."</td>"; 733 echo "\n\t<td class='lr'><span title='".$kbez1."'>".$boedenzahl."</span>/<span title='".$kbez2."'>".$ackerzahl."</span></td>"; 734 echo "\n\t<td class='lr'>"; 514 echo "\n\t<td class='fla' title='Ertragsmesszahl: Produkt von ".$kbez2."/100 und Fläche.'>EMZ ".$ertragszahl."</td>"; // 2 515 echo "\n\t<td class='re' title='Fläche des Schätzungsabschnitts'>".$absbuchflaedis."</td>"; // 3 516 echo "\n\t<td class='lr'><span title='".$kbez1."'>".$boedenzahl."</span>/<span title='".$kbez2."'>".$ackerzahl."</span></td>"; // 4 517 echo "\n\t<td class='lr'>"; // 5 735 518 736 519 if ($showkey) {echo "\n\t\t<span class='key'>(".$kulturartk.")</span> ";} … … 761 544 echo "\n\t\t<span title='Jahreszahl'>".$jahr."</span>"; 762 545 } 763 echo "\n\t</td>"; 764 765 // Sp. 4/4 - leer, keine Links 766 echo "\n\t<td> </td>\n</tr>"; 546 echo "\n\t</td>"; // 5 547 echo "\n\t<td> </td>\n</tr>"; // 6 767 548 $j++; 768 549 } 769 770 550 // Summenzeile 771 551 $klasflaedis = number_format($klasflae,0,",",".")." m²"; 772 echo "\n<tr>\n\t<td class='re'>Ertragsmesszahl:</td>" 773 ."\n\t<td class='fla sum' title='Summe der Ertragsmesszahlen für dies Flurstück'>".$gesertragsmz."</td>" 774 ."\n\t<td class='re'>".$klasflaedis."</td>\n\t<td colspan='3'> </td>\n</tr>"; 552 echo "\n<tr>\n\t<td class='re'>Ertragsmesszahl:</td>" // 1 553 ."\n\t<td class='fla sum' title='Summe der Ertragsmesszahlen für dies Flurstück'>".$gesertragsmz."</td>" // 2 554 ."\n\t<td class='re'>".$klasflaedis."</td>" // 3 555 ."\n\t<td colspan='3'> </td>\n</tr>"; // 4-6 775 556 } 776 557 … … 791 572 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sql_boden."<br>$1 = gml_id = '".$gmlid."'</p>";} 792 573 } 793 794 574 $sql_str="SELECT gml_id FROM ax_besondereflurstuecksgrenze WHERE endet IS NULL AND 1000 = ANY(artderflurstuecksgrenze) 795 575 AND ST_touches((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL),wkb_geometry);"; … … 801 581 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sql_str."<br>$1 = gml_id = '".$gmlid."'</p>";} 802 582 } 803 804 583 if (pg_num_rows($res_bodeneuordnung) > 0 OR pg_num_rows($res_strittigeGrenze) > 0) { 805 584 echo "\n<tr>" 806 ."\n\t<td title='Hinweise zum Flurstück'><h6><img src='ico/Hinweis.png' width='16' height='16' alt=''> " 807 ."Hinweise:</h6></td>\n\t<td colspan='5'> </td>" 808 ."\n</tr>"; 809 585 ."\n\t<td title='Hinweise zum Flurstück'><h6><img src='ico/Hinweis.png' width='16' height='16' alt=''> " // 1 586 ."Hinweise:</h6></td>\n\t<td colspan='5'> </td>\n</tr>";// 2-6 810 587 if (pg_num_rows($res_bodeneuordnung) > 0) { 811 812 while ($row = pg_fetch_array($res_bodeneuordnung)) { // 3 Zeilen je Verfahren 813 814 // Zeile 1 - kommt immer, darum hier den Link 815 echo "\n<tr title='Bau-, Raum- oder Bodenordnungsrecht'>" 816 ."\n\t<td>Bodenrecht</td>" 817 ."\n\t<td class='re'>Festlegung: </td>" // "Art der Festlegung" zu lang 818 ."\n\t<td colspan='3'>"; 588 while ($row = pg_fetch_assoc($res_bodeneuordnung)) { // 3 Zeilen je Verfahren 589 echo "\n<tr title='Bau-, Raum- oder Bodenordnungsrecht'>" // Zeile 1 - kommt immer, darum hier den Link 590 ."\n\t<td>Bodenrecht</td>" // 1 591 ."\n\t<td class='re'>Festlegung: </td>" // 2 "Art der Festlegung" zu lang 592 ."\n\t<td colspan='3'>"; // 3-5 819 593 if ($showkey) {echo "<span class='key'>(".$row['wert'].")</span> ";} 820 594 echo $row['art_verf'] 821 595 ."</td>"; 822 // LINK: 823 echo "\n\t<td>" 596 echo "\n\t<td>" // 6 LINK: 824 597 ."\n\t\t<p class='nwlink noprint'>" 825 598 ."\n\t\t\t<a href='alkisbaurecht.php?gkz=".$gkz."&gmlid=".$row['verf_gml']; … … 829 602 ."\n\t</td>" 830 603 ."\n</tr>"; 831 832 // Zeile 2 833 $dstell=$row['stelle_key']; 604 $dstell=$row['stelle_key']; // Zeile 2 834 605 if ($dstell != "") { // Kann auch leer sein 835 606 echo "\n<tr title='Flurbereinigungsbehörde'>" 836 ."\n\t<td> </td>" 837 ."\n\t<td class='re'>Dienststelle: </td>" 838 ."\n\t<td colspan='3'>"; 607 ."\n\t<td> </td>" // 1 608 ."\n\t<td class='re'>Dienststelle: </td>" // 2 609 ."\n\t<td colspan='3'>"; // 3-5 839 610 if ($showkey) {echo "<span class='key'>(".$dstell.")</span> ";} 840 611 echo $row['stelle_bez'] 841 612 ."</td>" 842 ."\n\t<td> </td>" 613 ."\n\t<td> </td>" // 6 843 614 ."\n</tr>"; 844 615 } 845 846 // Zeile 3 847 $vbez=$row['verf_bez']; // ist nicht immer gefÃŒllt 616 $vbez=$row['verf_bez']; // Zeile 3, ist nicht immer gefÃŒllt 848 617 $vnam=$row['verf_name']; // noch seltener 849 618 if ($vbez != "") { … … 872 641 echo "\n</table>"; 873 642 874 // G R U N D B U C H 875 echo "\n\n<table class='outer'>" 876 ."\n<tr>" 877 ."\n\t<td>" 878 ."\n\t\t<h3 id='gb'><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundbücher</h3>" 879 ."\n\t</td>" 880 ."\n\t<td>" 881 ."\n\t\t<p class='nwlink noprint'>" 882 ."\n\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&gmlid=".$gmlid."&berbu=".$berbu; 883 if ($showkey) {echo "&showkey=j";} 884 885 // Umschalter: FS-Nachweis ruft sich selbst mit geaendertem Parameter auf. Positionierung auf Marke "#gb" 886 if ($eig=="j") { 887 echo "&eig=n#gb' title='Umschalter: Flurstücksnachweis'>ohne Eigentümer</a>"; 888 } else { 889 echo "&eig=j#gb' title='Umschalter: Flurstücks- und Eigentümernachweis'>mit Eigentümer " 890 ."<img src='ico/EigentuemerGBzeile.png' width='16' height='16' alt=''></a>"; 643 // B U C H U N G S S T E L L E N zum FS 644 $bartgrp=""; // Buchungsart 645 $barttypgrp=""; // Buchungsart Typ 646 if ($gml_buchungsstelle == '') {echo "\n<p class='err'>Keine Buchungstelle zum Flurstück gefunden.</p>";} 647 echo "\n<table class='outer'>"; // ALLE Buchungen und EigentÃŒmer in 4 Spalten EINER Tabelle ausgeben 648 $stufe=1; // SchleifenzÀhler Tiefe 649 $gezeigt=buchung_anzg($gml_buchungsstelle, $eig, false, $gmlid); // die ("dienende") Buchung anzeigen, wenn nicht fiktiv. Liefert true/false 650 651 $anzber=ber_bs_zaehl($gml_buchungsstelle); // Anzahl berechtigte Buchungen (nÀchste Stufe) zu dieser Buchung ermitteln 652 $verf_next = array($gml_buchungsstelle); // Start Recursion mit einem Element 653 //if ($debug > 2) {echo "<p class='dbg'>Nach Stufe ".$stufe.", Anzahl: ". $anzber ."</p>";} 654 655 while ($anzber > 0 ) { // Stufe - recursiv in die Tiefe, solange es was zu verfolgen gibt 656 $verf_akt=$verf_next; // die nÀchste Stufe als aktuell ÃŒbernehmen .. 657 $verf_next=array(); // .. und zum AuffÃŒllen leeren 658 $stufe++; 659 $i=0; // SchleifenzÀhler Elemente 660 foreach($verf_akt as $gml_ber_bs) { 661 $i++; 662 if (ber_bs_zaehl($gml_ber_bs) > 0) { 663 $verf_neu=ber_bs_anzg($gml_ber_bs, $eig, $gmlid); // Anzeige ber. Buchungst., ggf. mit EigentÃŒmer. 664 $anz_neu=count($verf_neu); // Das Ergebnis zÀhlen 665 // if ($debug > 2) {echo "<p class='dbg'>Weiter zu verfolgen: Stufe ".$stufe.", Element ".$i.", Anzahl: ".$anz_neu."</p>";} 666 if ($anz_neu > 0) { // wenn neue geliefert 667 $verf_next=array_merge($verf_next, $verf_neu); // die neuen an die Sammlung heften 891 668 } 892 echo "\n\t\t</p>" 893 ."\n\t</td>" 894 ."\n</tr>" 895 ."\n</table>"; 896 897 // B U C H U N G S S T E L L E N zum FS (istGebucht) 898 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, b.v AS bart, b.d AS barttitle 899 FROM ax_flurstueck f JOIN ax_buchungsstelle s ON s.gml_id=f.istgebucht 900 LEFT JOIN alkis_wertearten b ON cast(s.buchungsart AS character varying)=b.k AND b.element='ax_buchungsstelle' AND b.bezeichnung='buchungsart' 901 WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL ORDER BY s.laufendenummer;"; 902 903 $v = array($gmlid); 904 $ress = pg_prepare("", $sql); 905 $ress = pg_execute("", $v); 906 if (!$ress) { 907 echo "\n<p class='err'>Keine Buchungsstelle.</p>"; 908 if ($debug > 1) { 909 echo "<p class='dbg'>Fehler:".pg_result_error($ress)."</p>"; 910 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 911 } 912 } 913 $bs=0; // Z.BuchungsStelle 914 while($rows = pg_fetch_array($ress)) { // Schleife Buchungs-Stelle 915 $gmls=$rows["gml_id"]; // gml b-Stelle 916 $lfd=$rows["lfd"]; // BVNR 917 $barttitle=htmlentities($rows["barttitle"], ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet 918 919 // B U C H U N G S B L A T T zur Buchungsstelle (istBestandteilVon) 920 $sql="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, wb.v AS blattartv, wb.d AS blattartd, z.bezeichnung 921 FROM ax_buchungsstelle s JOIN ax_buchungsblatt b ON b.gml_id=s.istbestandteilvon 922 LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk 923 LEFT JOIN alkis_wertearten wb ON cast(b.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart' 924 WHERE s.gml_id = $1 AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL 925 ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;"; 926 927 $v=array($gmls); 928 $resg=pg_prepare("", $sql); 929 $resg=pg_execute("", $v); 930 if (!$resg) { 931 echo "\n<p class='err'>Kein Buchungsblatt.</p>"; 932 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmls."'</p>";} 933 } 934 $bl=0; // Z.Blatt 935 while($rowg = pg_fetch_array($resg)) { 936 $gmlg=$rowg["gml_id"]; 937 $beznam=$rowg["bezeichnung"]; 938 $blattkeyg=$rowg["blattart"]; // Key 939 $blattartg=$rowg["blattartv"]; // Value 940 $blatt=$rowg["blatt"]; 941 echo "\n<hr>" 942 ."\n<table class='outer'>" 943 ."\n<tr>"; // 1 row only 944 echo "\n\t<td>"; // Outer linke Spalte: 945 946 // Rahmen mit GB-Kennz 947 if ($blattkeyg == 1000) { 948 echo "\n\t\t<table class='kennzgb' title='Bestandskennzeichen'>"; 949 }else { 950 echo "\n\t\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // GB fiktiv = Rahmen dotted 951 } 952 echo "\n\t\t<tr>\n\t\t\t<td class='head'>Bezirk</td>" 953 ."\n\t\t\t<td class='head' title='".$rowg["blattartd"]."'>"; 954 if ($showkey) {echo "<span class='key'>".$blattkeyg."</span> ";} 955 echo $blattartg."</td>" 956 ."\n\t\t\t<td class='head'>Lfd-Nr.</td>" 957 ."\n\t\t\t<td class='head'>Buchungsart</td>" 958 ."\n\t\t</tr>" 959 ."\n\t\t<tr>" 960 ."\n\t\t\t<td title='Grundbuchbezirk'>"; 961 if ($showkey) {echo "<span class='key'>".$rowg["bezirk"]."</span><br>";} 962 echo $beznam." </td>" 963 ."\n\t\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$blatt."</span></td>" 964 ."\n\t\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundstück)'>".$lfd."</td>" 965 ."\n\t\t\t<td title='".$barttitle."'>"; 966 if ($showkey) {echo "<span class='key'>".$rows["buchungsart"]."</span><br>";} 967 echo $rows["bart"]."</td>" 968 ."\n\t\t</tr>" 969 ."\n\t\t</table>"; 970 971 // Miteigentumsanteil 972 if ($rows["zaehler"] <> "") { 973 echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]." Anteil am Flurstück</p>"; 974 } 975 echo "\n\t</td>\n\t<td>"; // Outer rechte Spalte: NW-Links 976 977 echo "\n\t\t<p class='nwlink noprint'>weitere Auskunft:<br>"; 978 if ($showkey) {echo "<span class='key'>".$blattkeyg."</span> ";} 979 echo "\n\t\t\t<a href='alkisbestnw.php?gkz=".$gkz."&gmlid=".$gmlg; 980 if ($showkey) {echo "&showkey=j";} 981 echo "#bvnr".$lfd; // Die # hinter die &-Paramter 982 if ($blattkeyg == 1000) { 983 echo "' title='Grundbuchnachweis mit kompletter Eigentümerangabe'>"; 984 } else { 985 echo "' title='Grundbuchnachweis'>"; 986 } 987 echo $blattartg." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 988 ."</a>" 989 ."\n\t\t</p>"; 990 991 // berechtigte Buchungstellen (im rechten Teil der ÀuÃeren Tab. 992 $cnt_ber = ber_bs_hinw($gmls, $gmlid); // Hinweis ausgeben, zÀhlen 993 994 echo "\n\t</td>" // ende aussen rechts 995 ."\n</tr>" 996 ."\n</table>"; 997 998 // +++ Weitere Felder ausgeben? BeschreibungDesUmfangsDerBuchung 999 if ($rows["sond"] != "") { 1000 echo "\n<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rows["sond"]."</p>"; 1001 } 1002 if ($rows["nrpl"] != "") { 1003 echo "\n<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rows["nrpl"]."</span> im Aufteilungsplan.</p>"; 1004 } 1005 1006 // E I G E N T U E M E R, zum GB 1007 // Person <-benennt< AX_Namensnummer >istBestandteilVon-> AX_Buchungsblatt 1008 if ($eig=="j") { // Wahlweise mit/ohne EigentÃŒmer 1009 $n = eigentuemer($gmlg, false, ""); // hier ohne Adresse 1010 if ($n == 0) { 1011 if ($blattkeyg == 1000) { 1012 echo "\n<p class='err'>Keine Namensnummer gefunden.</p>"; 1013 } else { 1014 echo "\n<p>ohne Eigentümer.</p>"; 1015 } 1016 } 1017 } 1018 1019 // B e r e c h t i g t e B u c h u n g e n ... zu dieser Buchungs-Stelle. Optional. 1020 if ($berbu=="j") { // Wahlweise anzeigen 1021 echo "\n<hr>\n<h3 id='berbu'><img src='ico/Grundbuch.png' width='16' height='16' alt=''> Berechtigte Buchungen</h3>" 1022 ."\n<p>".$cnt_ber." Buchungen mit Rechten an der Buchung ".$lfd." auf ".$blattartg." ".$blatt." von ".$beznam.":</p>"; 1023 ber_bs_anz($gmls, $eig); // berechtigte Buchungstellen und GB-BlÀtter Anzeigen, und ggf. auch mit EigentÃŒmer 1024 } 1025 $bl++; // ZÀhl Blatt 1026 } 1027 if ($bl == 0) {echo "\n<p class='err'>Kein Buchungsblatt zur Buchungstelle gefunden.</p>";} 1028 $bs++; // ZÀhl Buchungs-Stelle 1029 } 1030 1031 pg_free_result($resg); 1032 if ($bs == 0) {echo "\n<p class='err'>Keine Buchungstelle zum Flurstück gefunden.</p>";} 669 } 670 } // Ende Buchungs-Array in der Stufe 671 $anzber=count($verf_next); // Sammlung auf Stufe zÀhlen, Steuert die Schleife. 672 //if ($debug > 2) {echo "<p class='dbg'>Nach Stufe ".$stufe.", Anzahl: ". $anzber ."</p>";} 673 } // Ende Stufe 674 // Diese aufwÀndige Analyse mit Arrays geht davon aus, dass es Verzweigungen auf oberen Stufen geben könnte, 675 // so dass mehrere Zweige parallel weiter zu verfolgen sind. In der Praxis ist eine Verzweigung bisher nur in der letzten Stufe vorgekommen. 676 // Eine weniger aufwÀndige Lösung (ohne Arrays) wÃŒrde reichen, wenn das immer so wÀre: 677 /* Alte Version (einfacher): 678 $gezeigt = buchung_anzg($gml_buchungsstelle, $eig, false, $gmlid); 679 $anzber = ber_bs_zaehl($gml_buchungsstelle); 680 if ($anzber > 0 ) { 681 $verfolg = ber_bs_anzg($gml_buchungsstelle, $eig, $gmlid); 682 while ($verfolg != "") { 683 $valt=$verfolg; 684 $verfolg = ber_bs_anzg($valt, $eig, $gmlid); 685 } 686 } */ 687 echo "\n</table>\n\n"; 688 1033 689 pg_close($con); 1034 690 echo <<<END 1035 1036 691 <div class='buttonbereich noprint'> 1037 692 <hr> 1038 693 <a title="zurück" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zurück"></a> 1039 694 <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a> 1040 <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download_fs.png" width="32" height="16" alt="Export"></a> 1041 </div>1042 695 END; 1043 footer($gmlid, $_SERVER['PHP_SELF']."?", "&eig=".$eig."&berbu=".$berbu); 696 echo "\n\t<a title='Export als CSV' href='javascript:ALKISexport(\"" . $gmlid . "\")'><img src='ico/download_fs.png' width='32' height='16' alt='Export'></a> \n</div>"; 697 698 footer($gmlid, $_SERVER['PHP_SELF']."?", "&eig=".$eig); 1044 699 ?> 1045 700 </body> -
trunk/info/info/alkisn/alkisgebaeudenw.php
r389 r402 9 9 2017-06-08 Validierung Eingabeparameter, Feinkorrekturen 10 10 2017-06-19 Tool-Tip GebÀudefunktion 11 2018-04-23 Kennzeichen eingerÃŒckt, &nodebug 11 12 */ 12 13 session_start(); 13 14 $showkey="n"; // Var. aus Parameter initalisieren 14 $showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren 15 15 $cntget = extract($_GET); // Parameter in Variable umwandeln 16 16 … … 20 20 if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 21 21 if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 22 if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 22 23 23 24 require_once("alkis_conf_location.php"); 24 25 if ($auth == "mapbender") {require_once($mapbender);} 25 26 include("alkisfkt.php"); 26 ?> 27 echo <<<END 27 28 <!doctype html> 28 29 <html lang="de"> … … 35 36 </head> 36 37 <body> 37 <?php 38 END; 39 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 40 // Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 41 if ($nodebug == "j") {$debug=0;} 42 38 43 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisgebaeudenw.php'"); 39 44 if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; 40 45 41 46 // Flurstueck 42 $sqlf 47 $sqlf="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung 43 48 FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 44 49 WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL;"; … … 50 55 if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".$sqlf."<br>$1 = gml_id = '".$gmlid."'</p>";} 51 56 } 52 53 if ($rowf = pg_fetch_array($resf)) { 57 if ($rowf = pg_fetch_assoc($resf)) { 54 58 $gemkname=htmlentities($rowf["bezeichnung"], ENT_QUOTES, "UTF-8"); 55 59 $gmkgnr=$rowf["gemarkungsnummer"]; … … 64 68 echo "\n<p class='err'>Fehler! Kein Treffer fuer gml_id=".$gmlid."</p>"; 65 69 } 66 67 // Balken 68 echo "<p class='geb'>ALKIS Flurstück (Gebäude) ".$gmkgnr."-".$flurnummer."-".$flstnummer." </p>"; 69 70 echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurstück (Gebäude)</h2>"; 71 72 // Kennzeichen in Rahmen 73 echo "\n<table class='outer'>\n<tr>\n<td>" 74 ."\n\t<table class='kennzfs' title='Flurstückskennzeichen'>" 75 ."\n\t<tr>" 76 ."\n\t\t<td class='head'>Gmkg</td>" 77 ."\n\t\t<td class='head'>Flur</td>" 78 ."\n\t\t<td class='head'>Flurst-Nr.</td>" 79 ."\n\t</tr>\n\t<tr>" 80 ."\n\t\t<td title='Gemarkung'>"; 81 if ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} 82 echo $gemkname." </td>" 83 ."\n\t\t<td title='Flurnummer'>".$flurnummer."</td>" 84 ."\n\t\t<td title='Flurstücksnummer (Zähler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>" 85 ."\n\t</tr>" 86 ."\n\t</table>" 87 ."\n</td>\n<td>"; 88 89 // Links zu anderem Nachweis 90 echo "\n\t<p class='nwlink noprint'>" 91 ."\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&gmlid=".$gmlid; 92 if ($showkey) {echo "&showkey=j";} 93 echo "&eig=n' title='Flurstücksnachweis'>Flurstück <img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>" 94 ."\n\t</p>" 95 ."\n\t</td>\n</tr>\n</table>"; 96 // Ende Seitenkopf 70 echo "<p class='geb'>ALKIS Flurstück (Gebäude) ".$gmkgnr."-".$flurnummer."-".$flstnummer." </p>"; // Balken 71 echo "\n<h2>Flurstück (Gebäude)</h2>"; 72 echo "\n<table class='outer'>" // Kopf 73 ."\n<tr>" 74 ."\n\t<td>" 75 ."\n\t<td class='ll'><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Kennzeichen:</td>" 76 ."\n\t<td>" 77 ."\n\t\t<table class='kennzfs' title='Flurstückskennzeichen'>" // Kennzeichen in Rahmen 78 ."\n\t\t<tr>" 79 ."\n\t\t\t<td class='head'>Gemarkung</td>" 80 ."\n\t\t\t<td class='head'>Flur</td>" 81 ."\n\t\t\t<td class='head'>Flurst-Nr.</td>" 82 ."\n\t\t</tr>\n\t\t<tr>" 83 ."\n\t\t\t<td title='Gemarkung'>"; 84 if ($showkey) {echo "<span class='key'>".$gmkgnr."</span><br>";} 85 echo $gemkname." </td>" 86 ."\n\t\t\t<td title='Flurnummer'>".$flurnummer."</td>" 87 ."\n\t\t\t<td title='Flurstücksnummer (Zähler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>" 88 ."\n\t\t</tr>" 89 ."\n\t\t</table>" 90 ."\n\t</td>" 91 ."\n\t<td>" 92 ."\n\t\t<p class='nwlink noprint'>" // Links zu anderem Nachweis 93 ."\n\t\t\t<a href='alkisfsnw.php?gkz=".$gkz."&gmlid=".$gmlid; 94 if ($showkey) {echo "&showkey=j";} 95 echo "&eig=n' title='Flurstücksnachweis'>Flurstück <img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''></a>" 96 ."\n\t\t</p>" 97 ."\n\t</td>" 98 ."\n</tr>" 99 ."\n</table>"; 97 100 98 101 echo "\n<p class='fsd'>Flurstücksfläche: <b>".number_format($flstflaeche,0,",",".") . " m²</b></p>"; … … 129 132 $gebflsum=0; 130 133 echo "\n<hr>\n<table class='geb'>"; 131 // T-Header 132 echo "\n<tr>\n" 134 echo "\n<tr>" // T-Header 133 135 ."\n\t<td class='head' title='ggf. Gebäudename'>Name</td>" 134 136 ."\n\t<td class='heads fla' title='Schnittfläche zwischen Flurstück und Gebäude'><img src='ico/sortd.png' width='10' height='10' alt='' title='Sortierung (absteigend)'>Fläche</td>" … … 140 142 ."\n\t<td class='head nwlink' title='Link zu den kompletten Hausdaten'>Haus</td>" 141 143 ."\n</tr>"; 142 // T-Body 143 while($rowg = pg_fetch_array($resg)) { 144 while($rowg = pg_fetch_assoc($resg)) { // T-Body 144 145 $gebnr = $gebnr + 1; 145 146 $ggml=$rowg["gml_id"]; 146 147 $gebflsum=$gebflsum + $rowg["schnittflae"]; 147 $gnam= 148 // Mehrfachbelegung nur theoretisch. Entklammern reicht. Mal mit und mal ohne "" drum 148 $gnam=trim(trim($rowg["name"], "{}"), '"'); // Gebaeude-Name ist ein Array in der DB: '{"A","B"}' 149 // Mehrfachbelegung nur theoretisch. Entklammern reicht. Mal mit und mal ohne "" drum!? 149 150 /* SELECT name FROM ax_gebaeude WHERE NOT name IS NULL AND array_length(name, 1) > 1; */ 150 151 $gfktk=htmlentities($rowg["gebaeudefunktion"], ENT_QUOTES, "UTF-8"); // Geb.-Funktion Key … … 174 175 ."\n\t<td class='".$gstyle."'>"; // Sp. 1 Name 175 176 if ($gnam != "") {echo "<span title='Gebäudename'>".$gnam."</span><br>";} 176 echo " \n\t</td>";177 echo "</td>"; 177 178 178 179 echo "\n\t<td class='fla'>".$f1."</td>" // Sp. 2 … … 191 192 echo $gzustand." </td>"; 192 193 193 echo "\n\t<td class='nwlink noprint'>"; 194 // 0 bis N Lagebezeichnungen mit Haus- oder Pseudo-Nummer, alle in ein TD zu EINEM GebÀude 195 194 // 2 Spalten mit Links zu anderen Nachweisen: 1. Lage, 2. GebÀude 195 echo "\n\t<td class='nwlink noprint'>"; // Link Lage 196 197 // Zu EINEM GebÀude mehrere Lagebezeichnungen mit Haus- oder Pseudo-Nummer möglich, alle in ein TD 196 198 // HAUPTgebÀude Geb >zeigtAuf> lage (mehrere) 197 199 $sqll="SELECT 'm' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer " … … 200 202 ."WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL "; 201 203 202 // oder NEBENgebÀude Geb >hat> Pseudo204 // UNION - oder NEBENgebÀude Geb >hat> Pseudo 203 205 $sqll.="UNION SELECT 'p' AS ltyp, l.gml_id AS lgml, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer " 204 206 ."FROM ax_gebaeude g JOIN ax_lagebezeichnungmitpseudonummer l ON l.gml_id=g.hat " … … 207 209 208 210 $sqll.="ORDER BY bezeichnung, hausnummer;"; 209 210 211 $v = array($ggml); 211 212 $resl = pg_prepare("", $sqll); … … 215 216 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".$sqll."<br>$1 = gml_id = '".$gmlid."'</p>";} 216 217 } 217 while($rowl = pg_fetch_a rray($resl)) { // LOOP: Lagezeilen218 while($rowl = pg_fetch_assoc($resl)) { // LOOP: Lagezeilen 218 219 $ltyp=$rowl["ltyp"]; // Lagezeilen-Typ 219 220 $skey=$rowl["lage"]; // Str.-Schluessel … … 229 230 $lagetxt=$snam." ".$hsnr; 230 231 } 231 echo "\n\t\t<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''> ";232 if ($showkey) {echo "<span class='key'>(".$skey.")</span> ";}233 232 echo "\n\t\t<a title='".$lagetitl."' href='alkislage.php?gkz=".$gkz."&gmlid=".$gmllag."&ltyp=".$ltyp; 234 if ($showkey) {echo "&showkey=j";} 235 echo "'>".$lagetxt."</a>"; 236 echo "<br>"; 233 if ($showkey) {echo "&showkey=j";} 234 echo "'>"; 235 if ($showkey) {echo "<span class='key'>(".$skey.")</span> ";} 236 echo $lagetxt." <img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a><br>"; 237 237 } // Ende Loop Lage m.H. 238 238 pg_free_result($resl); 239 239 echo "\n\t</td>"; 240 240 241 echo "\n\t<td class='nwlink noprint'>" 241 echo "\n\t<td class='nwlink noprint'>" // Link Haus 242 242 ."\n\t\t<a title='Daten zum Gebäude-Objekt' href='alkishaus.php?gkz=".$gkz."&gmlid=".$ggml; 243 243 if ($showkey) {echo "&showkey=j";} 244 echo "'> <img src='ico/Haus.png' width='16' height='16' alt=''></a>"244 echo "'>Haus <img src='ico/Haus.png' width='16' height='16' alt=''></a>" 245 245 ."\n\t</td>" 246 246 ."\n</tr>"; 247 } 247 } // Ende GebÀude 248 248 249 // Footer 249 250 if ($gebnr == 0) { … … 258 259 ."\n</table>"; 259 260 $unbebaut = number_format(($flstflaeche - $gebflsum),0,",",".") . " m²"; 260 echo "\n<p> <br>Flurstücksfläche abzüglich Gebäudefläche: <b>".$unbebaut."</b></p><br>";261 echo "\n<p>\n<br>Flurstücksfläche abzüglich Gebäudefläche: <b>".$unbebaut."</b></p>\n<br>"; 261 262 } 262 263 pg_free_result($resg); 263 264 ?> 264 265 265 266 <div class='buttonbereich noprint'> 266 <hr>267 <hr> 267 268 <a title="zurück" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zurück"></a> 268 269 <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a> -
trunk/info/info/alkisn/alkishaus.php
r389 r402 10 10 2017-06-09 Tool-Tip GebÀudefunktion, ErklÀrung 2 getrennte p.Styles 11 11 2017-10-09 Sauber filtern auf endet IS NULL 12 2018-04-23 &nodebug 12 13 13 14 ToDo: … … 22 23 */ 23 24 session_start(); 24 25 $allfld = "n"; $showkey="n"; // Var. aus Parameter initalisieren 25 $allfld = "n"; $showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren 26 26 $cntget = extract($_GET); // Parameter in Variable umwandeln 27 27 … … 31 31 if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 32 32 if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 33 34 33 if (!preg_match('#^[j|n]{0,1}$#', $allfld)) {die ("Eingabefehler allfld");} 35 34 if ($allfld == "j") {$allefelder=true;} else {$allefelder=false;} 35 if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 36 36 37 37 require_once("alkis_conf_location.php"); 38 38 if ($auth == "mapbender") {require_once($mapbender);} 39 39 include("alkisfkt.php"); 40 ?> 40 echo <<<END 41 41 <!doctype html> 42 42 <html lang="de"> … … 50 50 </head> 51 51 <body> 52 <?php 52 END; 53 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 54 // Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 55 if ($nodebug == "j") {$debug=0;} 53 56 54 57 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkishaus.php'"); … … 98 101 $gebnr = 0; 99 102 100 while($rowg = pg_fetch_a rray($resg)) { // Schleife, kann aber nur EIN Haus sein.103 while($rowg = pg_fetch_assoc($resg)) { // Schleife, kann aber nur EIN Haus sein. 101 104 $gebnr++; 102 105 echo "\n<table class='geb'>" … … 183 186 } 184 187 $zhsnr=0; 185 while($rowl = pg_fetch_a rray($resl)) { // LOOP: Lagezeilen188 while($rowl = pg_fetch_assoc($resl)) { // LOOP: Lagezeilen 186 189 $zhsnr++; 187 190 $ltyp=$rowl["ltyp"]; // Lagezeilen-Typ … … 329 332 } 330 333 $zw=0; 331 while($roww = pg_fetch_a rray($resw)) { // LOOP: w.Funktion334 while($roww = pg_fetch_assoc($resw)) { // LOOP: w.Funktion 332 335 if ($zw > 0) {echo "<br>";} 333 336 if ($showkey) {echo "<span class='key'>".$roww["k"]."</span> ";} -
trunk/info/info/alkisn/alkisinlayausk.php
r398 r402 16 16 2017-10-09 Sauber filtern auf endet IS NULL 17 17 2017-12-20 Fehlerkorrektur: Link StraÃe ohne gml_id, Bessere Title fÃŒr Links, Icon an Lage. 18 2018-04-23 FÃŒr GB-Teil Function benutzen. 18 19 */ 19 20 session_start(); 20 21 21 $cntget = extract($_GET); // Parameter in Variable umwandeln 22 22 … … 38 38 <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico"> 39 39 <title>ALKIS-Auskunft</title> 40 <script type="text/javascript">41 function imFenster(dieURL) {42 var link = encodeURI(dieURL);43 window.open(link,'','left=10,top=10,width=680,height=800,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes');44 }40 <script> 41 function imFenster(dieURL) { 42 var link = encodeURI(dieURL); 43 window.open(link,'','left=10,top=10,width=750,height=840,resizable=yes,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes'); 44 } 45 45 </script> 46 46 </head> … … 51 51 52 52 // *** F L U R S T U E C K *** 53 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f.regierungsbezirk, f.kreis, f.gemeinde 53 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung, f.regierungsbezirk, f.kreis, f.gemeinde, f.istgebucht 54 54 FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 55 WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL ;"; 56 // Weiter joinen: g.stelle -> ax_dienststelle "Katasteramt" 55 WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL;"; 57 56 $v = array($gmlid); 58 57 $res = pg_prepare("", $sql); … … 63 62 } 64 63 65 if ($row = pg_fetch_a rray($res)) {64 if ($row = pg_fetch_assoc($res)) { 66 65 $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 67 66 $gmkgnr=$row["gemarkungsnummer"]; … … 75 74 $fskrs=$row["kreis"]; 76 75 $fsgem=$row["gemeinde"]; 76 $gml_buchungsstelle=$row["istgebucht"]; 77 77 } else { 78 78 echo "\n<p class='err'>Kein Treffer fuer gml_id=".$gmlid."</p>"; … … 93 93 } 94 94 95 echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurstück - Übersicht</h2>"; 96 97 echo "\n<table class='outer'>\n<tr>\n<td>" 98 ."\n\t<table class='kennzfs' title='Flurstückskennzeichen'>\n\t<tr>" 99 ."\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>" 100 ."\n\t<tr>\n\t\t<td title='Gemarkung'>".$gemkname."</td>" 101 ."\n\t\t<td title='Flurnummer'>".$flurnummer."</td>" 102 ."\n\t\t<td title='Flurstücksnummer (Zähler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>" 103 ."\n\t</table>" 104 ."\n</td>\n<td>" 105 ."\n\t<p class='nwlink'>weitere Auskunft:<br>"; 106 95 //echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurstück - Übersicht</h2>"; 96 echo "\n<table class='outer'>" 97 ."\n\t<tr>" 98 ."\n\t\t<td class='ll'><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Kennzeichen:</td>" 99 ."\n\t\t<td>" 100 ."\n\t\t\t<table class='kennzfs' title='Flurstückskennzeichen'>\n\t\t\t\t<tr>" 101 ."\n\t\t\t\t\t<td class='head'>Gmkg</td>\n\t\t\t\t\t<td class='head'>Flur</td>\n\t\t\t\t\t<td class='head'>Flurst-Nr.</td>\n\t\t\t\t</tr>" 102 ."\n\t\t\t\t<tr>\n\t\t\t\t\t<td title='Gemarkung'>".$gemkname."</td>" 103 ."\n\t\t\t\t\t<td title='Flurnummer'>".$flurnummer."</td>" 104 ."\n\t\t\t\t\t<td title='Flurstücksnummer (Zähler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t\t\t\t</tr>" 105 ."\n\t\t\t</table>" 106 ."\n\t\t</td>\n\t\t<td>" 107 ."\n\t\t\t<p class='nwlink'>weitere Auskunft:<br>"; 107 108 // FlurstÃŒcksnachweis (mit EigentÃŒmer) 108 echo "\n\t\t <a href='javascript:imFenster(\"alkisfsnw.php?gkz=".$gkz."&gmlid=".$gmlid."&eig=j\")' "109 echo "\n\t\t\t\t<a href='javascript:imFenster(\"alkisfsnw.php?gkz=".$gkz."&gmlid=".$gmlid."&eig=j\")' " 109 110 ."title='Flurstücksnachweis'>Flurstück " 110 111 ."<img src='ico/Flurstueck_Link.png' width='16' height='16' alt=''>" 111 112 ."</a><br>"; 112 113 113 // FS-Historie 114 echo "\n\t\t <a href='javascript:imFenster(\"alkisfshist.php?gkz=".$gkz."&gmlid=".$gmlid."\")' "114 echo "\n\t\t\t\t<a href='javascript:imFenster(\"alkisfshist.php?gkz=".$gkz."&gmlid=".$gmlid."\")' " 115 115 ."title='Vorgänger des Flurstücks'>Historie " 116 116 ."<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>" 117 117 ."</a><br>"; 118 119 118 // Gebaeude-NW zum FS 120 echo "\n\t\t <a href='javascript:imFenster(\"alkisgebaeudenw.php?gkz=".$gkz."&gmlid=".$gmlid."\")' "119 echo "\n\t\t\t\t<a href='javascript:imFenster(\"alkisgebaeudenw.php?gkz=".$gkz."&gmlid=".$gmlid."\")' " 121 120 ."title='Gebäudenachweis'>Gebäude " 122 121 ."<img src='ico/Haus.png' width='16' height='16' alt=''>" 123 122 ."</a>"; 124 125 echo "\n\t</p>\n</td>"; 123 echo "\n\t\t\t</p>\n\t\t</td>\n\t</tr>"; 126 124 pg_free_result($res); 127 125 … … 132 130 WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL 133 131 ORDER BY s.bezeichnung, l.hausnummer;"; 134 135 132 $v=array($gmlid); // id FS 136 133 $res=pg_prepare("", $sql); … … 142 139 $j=0; 143 140 $kgmlalt=''; 144 while($row = pg_fetch_a rray($res)) {141 while($row = pg_fetch_assoc($res)) { 145 142 $sname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 146 143 if (substr($sname, strlen($sname) -3, 3) == 'weg') { // Versuch fuer korrekten Satzbau … … 150 147 } 151 148 $hsnr=$row["hausnummer"]; 152 153 // linke Spalte 154 echo "\n<tr>\n\t\n\t<td class='lr'><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt='MIT'> ".$sname." ".$hsnr."</td>"; 155 156 // rechte Spalte 157 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 149 echo "\n\t<tr>" 150 ."\n\t\t<td class='ll'><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt='MIT'> Lage:</td>" 151 ."\n\t\t<td class='lr'>".$sname." ".$hsnr."</td>" 152 ."\n\t\t<td>\n\t\t\t<p class='nwlink noprint'>"; 158 153 $kgml=$row["kgml"]; // Wiederholung vermeiden 159 160 154 if ($kgml != $kgmlalt) { // NEUE Strasse vor Lage 161 155 $kgmlalt=$kgml; // Katalog GML-ID 162 echo "\n\t\t\t <a title='Flurstücke mit oder ohne Hausnummer".$slink."' "156 echo "\n\t\t\t\t<a title='Flurstücke mit oder ohne Hausnummer".$slink."' " 163 157 ."href='javascript:imFenster(\"alkisstrasse.php?gkz=".$gkz."&gmlid=".$kgml."\")'>Straße " 164 158 ."<img src='ico/Strassen.png' width='16' height='16' alt='STRA'></a>"; 165 159 } 166 echo "\n\t\t\t <a title='Flurstücke und Gebäude mit Hausnummer ".$hsnr."' "160 echo "\n\t\t\t\t<a title='Flurstücke und Gebäude mit Hausnummer ".$hsnr."' " 167 161 ."href='javascript:imFenster(\"alkislage.php?gkz=".$gkz."&ltyp=m&gmlid=".$row["gml_id"]."\")'>Lage " 168 162 ."<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt='HAUS'></a> " 169 ."\n\t\t </p>\n\t</td>\n</tr>";163 ."\n\t\t\t</p>\n\t\t</td>\n\t</tr>"; 170 164 $j++; 171 165 } … … 177 171 ."LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage " 178 172 ."WHERE f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL ORDER BY s.bezeichnung;"; 179 180 173 $v=array($gmlid); 181 174 $res=pg_prepare("", $sql); … … 186 179 } 187 180 $kgmlalt=''; 188 while($row = pg_fetch_a rray($res)) {181 while($row = pg_fetch_assoc($res)) { 189 182 $sname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 190 183 … … 195 188 } 196 189 197 198 190 $gewann=htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8"); 199 echo "\n<tr>"; 200 201 // linke Spalte 191 echo "\n\t<tr>"; 202 192 if ($sname != "") { // Typ=Strasse 203 193 $ico="Lage_an_Strasse.png"; 204 echo "\n\t<td class='lr' title='An Straße aber ohne Hausnummer'><img src='ico/".$ico."' width='16' height='16' alt='OHNE'> ".$sname." </td>"; 194 echo "\n\t\t<td class='ll'><img src='ico/".$ico."' width='16' height='16' alt='OHNE'> Straße:</td>"; 195 echo "\n\t\t<td class='lr' title='An Straße aber ohne Hausnummer'>".$sname." </td>"; 205 196 } else { 206 197 $ico="Lage_Gewanne.png"; 207 echo "\n\t<td class='lr' title='Gewanne'><img src='ico/".$ico."' width='16' height='16' alt='Gewanne'> ".$gewann." </td>"; 208 } 209 210 // rechte Spalte 211 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 198 echo "\n\t\t<td class='ll'><img src='ico/".$ico."' width='16' height='16' alt='Gewanne'> Gewanne:</td>"; 199 echo "\n\t\t<td class='lr' title='Gewanne'>".$gewann." </td>"; 200 } 201 echo "\n\t\t<td>\n\t\t\t<p class='nwlink noprint'>"; 212 202 if ($sname != "") { // Typ=Strasse 213 203 $kgml=$row["kgml"]; // Wiederholung vermeiden … … 226 216 ."href='javascript:imFenster(\"alkislage.php?gkz=".$gkz."&ltyp=o&gmlid=".$row["gml_id"]."\")'>Gewanne " 227 217 ."<img src='ico/".$ico."' width='16' height='16' alt='Gewanne'></a> " 228 ."\n\t\t</p>\n\t </td>\n</tr>";218 ."\n\t\t</p>\n\t\t</td>\n\t</tr>"; 229 219 } 230 220 } 231 221 pg_free_result($res); 232 233 echo "\n</table>"; 234 235 // Flurstuecksflaeche 222 echo "\n</table>\n"; 236 223 echo "\n<p class='fsd'>Flurstücksfläche: <b>".$flae."</b></p>"; 237 224 238 // *** G R U N D B U C H *** 239 echo "\n<h2><img src='ico/Grundbuch_zu.png' width='16' height='16' alt='GB'> Grundbuch</h2>"; 240 241 // FS >istgebucht> GS >istbestandteilvon> GB. 242 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, 243 s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, z.bezeichnung, wa.v AS blattartv, wb.v AS bart 244 FROM ax_flurstueck f 245 JOIN ax_buchungsstelle s ON f.istgebucht=s.gml_id 246 JOIN ax_buchungsblatt b ON s.istbestandteilvon=b.gml_id 247 LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk 248 LEFT JOIN alkis_wertearten wa ON cast(b.blattart AS character varying)=wa.k AND wa.element='ax_buchungsblatt' AND wa.bezeichnung='blattart' 249 LEFT JOIN alkis_wertearten wb ON cast(s.buchungsart AS character varying)=wb.k AND wb.element='ax_buchungsstelle' AND wb.bezeichnung='buchungsart' 250 WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL 251 ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 252 253 $v=array($gmlid); 254 $resg=pg_prepare("", $sql); 255 $resg=pg_execute("", $v); 256 if (!$resg) { 257 echo "\n<p class='err'>Keine Buchungen.</p>"; 258 if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 259 } 260 while($rowg = pg_fetch_array($resg)) { 261 $beznam=$rowg["bezeichnung"]; 262 echo "\n<table class='outer'>\n<tr>\n<td>"; 263 $blattkey=$rowg["blattart"]; // Key 264 $blattart=$rowg["blattartv"]; // Value 265 266 if ($blattkey == 1000) { 267 echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; 225 // B U C H U N G S S T E L L E N zum FS 226 $bartgrp=""; // Buchungsart 227 $barttypgrp=""; // Buchungsart Typ 228 if ($gml_buchungsstelle == '') {echo "\n<p class='err'>Keine Buchungstelle zum Flurstück gefunden.</p>";} 229 echo "\n\n<table class='outer'>"; 230 $gezeigt = buchung_anzg($gml_buchungsstelle, 'j', true, ""); // direkte Buchung anzeigen wenn nicht fiktiv, Eigent. ja, mit JS "imFenster" 231 $anzber = ber_bs_zaehl($gml_buchungsstelle); // Berechtigte Buchungen, nur Anzahl 232 if ($anzber > 0 ) { 233 if ($gezeigt) { 234 echo "\n\t<tr>\n\t\t<td colspan='4'><span class='wichtig'>Berechtigte Buchungen siehe Flurstücksnachweis.</span></td>\n\t</tr>"; 268 235 } else { 269 echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 270 } 271 echo "\n\t<tr>" 272 ."\n\t\t<td class='head'>Bezirk</td>" 273 ."\n\t\t<td class='head'>".$blattart."</td>" 274 ."\n\t\t<td class='head'>Lfd-Nr,</td>" 275 ."\n\t\t<td class='head'>Buchungsart</td>" 276 ."\n\t</tr>\n\t<tr>" 277 ."\n\t\t<td title='Grundbuchbezirk'>".$beznam."</td>" 278 ."\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>" 279 ."\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundstück)'>".$rowg["laufendenummer"]."</td>" 280 ."\n\t\t<td title='Buchungsart'>".$rowg["bart"]."</td>" 281 ."\n\t</tr>" 282 ."\n\t</table>"; 283 284 if ($rowg["zaehler"] <> "") { 285 echo "\n<p class='ant'>".$rowg["zaehler"]."/".$rowg["nenner"]." Anteil am Flurstück</p>"; 286 } 287 echo "\n</td>\n<td>" 288 ."\n\t<p class='nwlink'>weitere Auskunft:<br>" 289 ."\n\t\t<a href='javascript:imFenster(\"alkisbestnw.php?gkz=".$gkz."&gmlid=".$rowg[0]."\")' " 290 ."title='Grundbuchnachweis'>".$blattart." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 291 ."</a>" 292 ."\n\t</p>" 293 ."\n</td>\n</tr>\n</table>"; 294 295 // E I G E N T U E M E R 296 if ($blattkey == 5000) { // kein Eigent. bei fiktiv. Blatt 297 echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n" 298 ."\n<p>Siehe weitere Grundbuchblätter mit Rechten an dem fiktiven Blatt.</p>"; 299 } else { // Ausgabe Name in Function 300 $n = eigentuemer($rowg["gml_id"], false, "imFenster"); // ohne Adressen 301 if ($n == 0) { // keine NamensNr, kein Eigentuemer 302 echo "\n<p class='err'>Keine Eigentümer gefunden.</p>" 303 ."\n<p class='err'>Bezirk ".$rowg["bezirk"]." Blatt ".$rowg["blatt"]." Blattart ".$blattkey." (".$blattart.")</p>"; 304 } 305 } 306 } 307 pg_free_result($resg); 236 $nochmehr = ber_bs_anzg($gml_buchungsstelle, "j", ""); // wenigstens eine Buchg. zeigen 237 if ($nochmehr != "") { // keine Verfolgung 238 echo "\n\t<tr>\n\t\t<td colspan='4'><span class='wichtig'>Weitere berechtigte Buchungen siehe Flurstücksnachweis.</span></td>\n\t</tr>"; 239 } 240 } 241 } 242 echo "\n</table>\n"; 308 243 309 244 ?> -
trunk/info/info/alkisn/alkisinlaybaurecht.php
r389 r402 11 11 */ 12 12 session_start(); 13 14 13 $cntget = extract($_GET); // Parameter in Variable umwandeln 15 16 14 // strikte Validierung aller Parameter 17 15 if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} … … 20 18 require_once("alkis_conf_location.php"); 21 19 if ($auth == "mapbender") {require_once($mapbender);} 22 ?> 20 echo <<<END 23 21 <!doctype html> 24 22 <html lang="de"> … … 35 33 } 36 34 </script> 37 </script>38 35 </head> 39 36 <body> 40 41 <?php 37 END; 42 38 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisinlaybaurecht.php'"); 43 39 if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; … … 60 56 echo "\n<h2><img src='ico/Gericht.png' width='16' height='16' alt=''> Bau-, Raum- oder Bodenordnungsrecht</h2>"; 61 57 62 if ($row = pg_fetch_a rray($res)) {58 if ($row = pg_fetch_assoc($res)) { 63 59 echo "\n<table>" 64 60 ."\n<tr>" -
trunk/info/info/alkisn/alkislage.php
r389 r402 11 11 2017-06-08 Validierung Eingabeparameter, gestreifte Tabelle, Feinkorrekturen 12 12 2017-10-09 Sauber filtern auf endet IS NULL 13 2018-04-23 &nodebug 13 14 14 15 ToDo: … … 19 20 */ 20 21 session_start(); 21 22 $showkey="n"; // Var. aus Parameter initalisieren 22 $showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren 23 23 $cntget = extract($_GET); // Parameter in Variable umwandeln 24 24 … … 29 29 if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 30 30 if (!preg_match('#^[m|p|o]{1}$#', $ltyp)) {die ("Eingabefehler ltyp");} 31 if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 31 32 32 33 require_once("alkis_conf_location.php"); … … 45 46 $tnam = "ax_lagebezeichnungmithausnummer"; break; 46 47 } 47 ?> 48 echo <<<END 48 49 <!doctype html> 49 50 <html lang="de"> … … 56 57 </head> 57 58 <body> 58 <?php 59 END; 60 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 61 // Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 62 if ($nodebug == "j") {$debug=0;} 63 59 64 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkislage.php'"); 60 65 if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; … … 91 96 } 92 97 93 if ($row = pg_fetch_a rray($res)) {98 if ($row = pg_fetch_assoc($res)) { 94 99 $strgml=$row["strgml"]; // gml_id des Katalogeintrag StraÃe 95 100 $land =$row["land"]; … … 147 152 } 148 153 149 echo "\n<h2><img src='ico/Lage_mit_Haus.png' width='16' height='16' alt='HAUS'> Lagebezeichnung</h2>\n" 150 ."<p>Typ: ".$untertitel."</p>"; 151 154 echo "\n<h2>Lagebezeichnung</h2>\n<p>Typ: ".$untertitel."</p>"; 152 155 echo "\n<table class='outer'>\n<tr>\n\t<td>"; // Tab. Kennz. 153 // ToDo: !!kleiner, wenn ltyp=0 und die Schluesselfelder leer sind156 // ToDo: kleiner, wenn ltyp=0 und die Schluesselfelder leer sind 154 157 echo "\n\t\t<table class='kennzla' title='Lage'>" 155 158 ."\n\t\t<tr>"; … … 269 272 $j=0; 270 273 $zpaar=false; 271 while($rowf = pg_fetch_a rray($resf)) {274 while($rowf = pg_fetch_assoc($resf)) { 272 275 $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); 273 276 $fskenn=$rowf["zaehler"]; // Bruchnummer … … 323 326 } 324 327 $neb=0; 325 while($row = pg_fetch_a rray($res)) {328 while($row = pg_fetch_assoc($res)) { 326 329 echo "\n\t<a href='".$url.$row["gml_id"]."&ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a> "; 327 330 $neb++; … … 341 344 if (!$res) {echo "\n<p class='err'>Fehler bei Hauptgebäude.<br>".$sql."</p>";} 342 345 $hg=0; 343 while($row = pg_fetch_a rray($res)) {346 while($row = pg_fetch_assoc($res)) { 344 347 echo "\n\t<a href='".$url.$row["gml_id"]."&ltyp=m'>Haus-Nr ".$pseu."</a> "; 345 348 $hg++; … … 359 362 } 360 363 $neb=0; 361 while($row = pg_fetch_a rray($res)) {364 while($row = pg_fetch_assoc($res)) { 362 365 echo "\n\t<a href='".$url.$row["gml_id"]."&ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a> "; 363 366 $neb++; … … 404 407 ."\n</tr>"; 405 408 $i=0; 406 while($row = pg_fetch_a rray($res)) {409 while($row = pg_fetch_assoc($res)) { 407 410 $ggml=$row["gml_id"]; 408 411 $gfla=$row["flaeche"]; -
trunk/info/info/alkisn/alkisnamstruk.php
r398 r402 12 12 2017-10-17 Deutsches Datumsformat im Geburtsdatum 13 13 2017-12-20 Anlass und Datum zur Adresse ausgeben, wenn es mehrere gibt oder SchlÃŒssel angefordert werden 14 2018-04-23 &nodebug 14 15 */ 15 16 session_start(); 16 17 $multiadress="n"; $showkey="n"; // Var. aus Parameter initalisieren 17 $multiadress="n"; $showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren 18 18 $cntget = extract($_GET); // Parameter in Variable umwandeln 19 19 … … 24 24 if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 25 25 if (!preg_match('#^[j|n]{0,1}$#', $multiadress)) {die ("Eingabefehler multiadress");} 26 if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 26 27 27 28 require_once("alkis_conf_location.php"); … … 47 48 48 49 <?php 49 50 // Balken 51 echo "<p class='nakennz'>ALKIS Name id=".$gmlid." </p>\n" 50 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 51 // Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 52 if ($nodebug == "j") {$debug=0;} 53 54 echo "<p class='nakennz'>ALKIS Name id=".$gmlid." </p>\n" // Balken 52 55 ."\n<h2><img src='ico/Eigentuemer.png' width='16' height='16' alt=''> Person</h2>"; 53 56 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisnamstruk.php'"); … … 66 69 if ($debug > 2) {echo "\n<p class='dbg'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 67 70 } 68 if ($row = pg_fetch_a rray($res)) {71 if ($row = pg_fetch_assoc($res)) { 69 72 $vor=htmlentities($row["vorname"], ENT_QUOTES, "UTF-8"); 70 73 $nam=htmlentities($row["nachnameoderfirma"], ENT_QUOTES, "UTF-8"); … … 108 111 $j=0; 109 112 // Parameter $multiadress = j zeigt ALLE Adressen an 110 while($rowa = pg_fetch_a rray($resa)) {113 while($rowa = pg_fetch_assoc($resa)) { 111 114 $j++; 112 115 if ($multiadress == "j" OR $j == 1) { … … 196 199 $i=0; 197 200 $zpaar=false; 198 while($rowg = pg_fetch_a rray($resg)) {201 while($rowg = pg_fetch_assoc($resg)) { 199 202 $gmln=$rowg["gml_n"]; 200 203 $gmlg=$rowg["gml_g"]; -
trunk/info/info/alkisn/alkisstrasse.php
r389 r402 12 12 2017-06-08 Validierung Eingabeparameter, gestreifte Tabelle, Feinkorrekturen 13 13 2017-10-09 Sauber filtern auf endet IS NULL 14 2018-04-23 &nodebug 14 15 */ 15 16 session_start(); 16 17 $showkey="n"; // Var. aus Parameter initalisieren 17 $showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren 18 18 $cntget = extract($_GET); // Parameter in Variable umwandeln 19 19 … … 23 23 if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} 24 24 if ($showkey == "j") {$showkey=true;} else {$showkey=false;} 25 if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} 25 26 26 27 require_once("alkis_conf_location.php"); … … 45 46 <body> 46 47 <?php 48 // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. 49 // Manuell an die URL anfÃŒgen, wirkt nur temporÀr und wird nicht in Links weiter gereicht. 50 if ($nodebug == "j") {$debug=0;} 51 47 52 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisstrasse.php'"); 48 53 if (!$con) echo "\n<p class='err'>Fehler beim Verbinden der DB</p>"; … … 65 70 if ($debug > 2) {echo "\n<p class='err'>SQL=<br>".htmlentities($sql, ENT_QUOTES, "UTF-8")."<br>$1 = gml_id = '".$gmlid."'</p>";} 66 71 } 67 if ($row = pg_fetch_a rray($res)) {72 if ($row = pg_fetch_assoc($res)) { 68 73 $lage=$row["lage"]; // Strassenschluessel 69 74 $snam=$row["snam"]; // Strassenname 70 75 $gem=$row["gemeinde"]; 71 // Balken72 76 $kennz=$gem."-".$lage." (".$snam.")"; // Schluessel als Sucheingabe in NAV brauchbar? 73 echo "\n<p class='strasse'>ALKIS Straße ".$kennz." </p>"; 77 echo "\n<p class='strasse'>ALKIS Straße ".$kennz." </p>"; // Balken 74 78 } else { 75 79 echo "\n<p class='err'>Kein Treffer bei Lagebezeichnungskatalogeintrag.</p>"; 76 80 } 77 81 78 echo "\n<h2> <img src='ico/Strassen.png' width='16' height='16' alt=''>Straße</h2>";82 echo "\n<h2>Straße</h2>"; 79 83 80 84 // Tabelle Kennzeichen 81 echo "\n<table class='outer'>\n<tr>\n\t<td>" 82 ."\n\t<table class='kennzstra' title='Lage'>" 83 ."\n\t<tr>" 84 ."\n\t\t<td class='head'>Land</td>" 85 ."\n\t\t<td class='head'>Reg.-Bez.</td>" 86 ."\n\t\t<td class='head'>Kreis</td>" 87 ."\n\t\t<td class='head'>Gemeinde</td>" 88 ."\n\t\t<td class='head'>Straße</td>" 89 ."\n\t</tr>" 90 ."\n\t<tr>"; 91 echo "\n\t\t<td title='Bundesland'>"; 92 if ($showkey) {echo "<span class='key'>".$row["land"]."</span><br>";} 93 echo $row["bnam"]." </td>" 94 ."\n\t\t<td title='Regierungsbezirk'>"; 95 if ($showkey) {echo "<span class='key'>".$row["regierungsbezirk"]."</span><br>";} 96 echo $row["rnam"]." </td>" 97 ."\n\t\t<td title='Kreis'>"; 98 if ($showkey) {echo "<span class='key'>".$row["kreis"]."</span><br>";} 99 echo $row["knam"]." </td>" 100 ."\n\t\t<td title='Gemeinde'>"; 101 if ($showkey) {echo "<span class='key'>".$gem."</span><br>";} 102 echo $row["gnam"]." </td>" 103 . "\n\t\t<td title='Straße'>"; 104 if ($showkey) {echo "<span class='key'>".$lage."</span><br>";} 105 echo "<span class='wichtig'>".$snam."</span>" 106 . " </td>" 107 ."\n\t</tr>" 108 ."\n\t</table>"; 109 85 echo "\n<table class='outer'>\n<tr>" 86 ."\n\t<td class='ll'><img src='ico/Strassen.png' width='16' height='16' alt=''> Straßenname:</td>" 87 ."\n\t<td>" 88 ."\n\t\t<table class='kennzstra' title='Lage'>" 89 ."\n\t\t<tr>" 90 ."\n\t\t\t<td class='head'>Land</td>" 91 ."\n\t\t\t<td class='head'>Reg.-Bez.</td>" 92 ."\n\t\t\t<td class='head'>Kreis</td>" 93 ."\n\t\t\t<td class='head'>Gemeinde</td>" 94 ."\n\t\t<td class='head'>Straße</td>" 95 ."\n\t\t</tr>" 96 ."\n\t\t<tr>"; 97 echo "\n\t\t\t<td title='Bundesland'>"; 98 if ($showkey) {echo "<span class='key'>".$row["land"]."</span><br>";} 99 echo $row["bnam"]." </td>" 100 ."\n\t\t\t<td title='Regierungsbezirk'>"; 101 if ($showkey) {echo "<span class='key'>".$row["regierungsbezirk"]."</span><br>";} 102 echo $row["rnam"]." </td>" 103 ."\n\t\t\t<td title='Kreis'>"; 104 if ($showkey) {echo "<span class='key'>".$row["kreis"]."</span><br>";} 105 echo $row["knam"]." </td>" 106 ."\n\t\t\t<td title='Gemeinde'>"; 107 if ($showkey) {echo "<span class='key'>".$gem."</span><br>";} 108 echo $row["gnam"]." </td>" 109 . "\n\t\t\t<td title='Straße'>"; 110 if ($showkey) {echo "<span class='key'>".$lage."</span><br>";} 111 echo "<span class='wichtig'>".$snam."</span>" 112 . " </td>" 113 ."\n\t\t</tr>" 114 ."\n\t\t</table>"; 110 115 echo "\n\t</td>\n\t<td>"; 111 116 … … 119 124 ."\n\t\t</p>"; 120 125 } 121 122 126 echo "\n\t</td>\n</tr>\n</table>"; 123 127 pg_free_result($res); … … 168 172 169 173 $zpaar=false; // Zeilen-Farbwechsel 170 while($rowf = pg_fetch_a rray($resf)) {174 while($rowf = pg_fetch_assoc($resf)) { 171 175 $gmkg=$rowf["bezeichnung"]; 172 176 $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT);
Note: See TracChangeset
for help on using the changeset viewer.