- Timestamp:
- 09/03/10 13:36:04 (14 years ago)
- Location:
- trunk/var/www/info/alkis
- Files:
-
- 53 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/var/www/info/alkis/alkisausk.php
r35 r41 5 5 Dies Programm wird aus dem Mapserver-Template (FeatureInfo) aufgerufen. 6 6 Parameter:&gkz, &gml_id (optional &id) 7 Dies Programm gibt einen kurzen Ueberblick ÃŒber die wichtigsten Datenzum Flurstueck.8 In einfachen Faellen wird auch der EigentÃŒmer ohne Adresse angezeigt.7 Dies Programm gibt einen kurzen Ueberblick zum Flurstueck. 8 Eigentuemer ohne Adresse. 9 9 Fuer detaillierte Angaben wird zum GB- oder FS-Nachweis verlinkt. 10 10 11 11 Version: 12 26.01.2010 internet-Version mit eigener conf 12 28.05.2010 Eigentümerausgabe in einer Function 13 27.08.2010 Erweiterung um Link zu Gebaeudenachweis der WhereGroup 14 31.08.2010 $style=ALKIS entfernt, alles Kompakt 15 02.09.2010 Mit Icons 13 16 */ 14 17 ini_set('error_reporting', 'E_ALL'); 15 18 session_start(); 16 19 // Bindung an Mapbender-Authentifizierung 17 #require_once("/data/mapwww/http/php/mb_validateSession.php"); 18 #require_once("/data/conf/alkis_www_conf.php"); 19 #AE 20 require_once(dirname(__FILE__)."/../../../php/mb_validateSession.php"); 21 require_once(dirname(__FILE__)."/../../../../conf/alkis_www_conf.php"); 22 20 require_once("/data/mapwww/http/php/mb_validateSession.php"); 21 //require_once(dirname(__FILE__)."/../../../php/mb_validateSession.php"); 22 require_once("/data/conf/alkis_conf.php"); 23 //require_once(dirname(__FILE__)."/../../../../conf/alkis_conf.php"); 23 24 include("alkisfkt.php"); 24 25 ?> … … 26 27 <html> 27 28 <head> 28 <meta name="author" content="F . Jaeger">29 <meta name="author" content="Frank Jaeger" > 29 30 <meta http-equiv="cache-control" content="no-cache"> 30 31 <meta http-equiv="pragma" content="no-cache"> … … 32 33 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 33 34 <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 35 <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico"> 34 36 <title>ALKIS-Auskunft</title> 37 <style type='text/css' media='print'> 38 .noprint { visibility: hidden;} 39 </style> 35 40 </head> 36 41 <body> … … 41 46 $idanzeige=false; 42 47 if ($id == "j") {$idanzeige=true;} 43 $style=isset($_GET["style"]) ? $_GET["style"] : "kompakt"; 44 #$dbname = 'alkis05' . $gkz; 45 #AE 46 #$dbname = 'nas_wesseling'; 47 # echo("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 48 $dbname = 'alkis05' . $gkz; 48 49 $con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 49 50 if (!$con) {echo "<br>Fehler beim Verbinden der DB.\n<br>";} … … 69 70 } else {echo "Fehler! Kein Treffer fuer gml_id=".$gmlid;} 70 71 71 echo "<p class='fsausk'>Flurstück ".$gmkgnr."-".$flurnummer."-".$flstnummer."</p>\n"; 72 echo "<h1>ALKIS-Auskunft</h1>\n"; 73 echo "\n<h2>Flurstück</h2>\n"; 74 echo "\n<table class='bez'>\n"; 72 // Balken 73 echo "\n<p class='fsausk'>ALKIS-Auskunft Flurstück-Übersicht ".$gmkgnr."-".$flurnummer."-".$flstnummer."</p>"; 74 75 echo "\n<table class='outer'>\n<tr><td>"; 76 // linke Seite 77 echo "\n<h1>ALKIS-Auskunft</h1>"; 78 echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurstück - Übersicht</h2>"; 79 echo "</td><td align='right'>"; 80 // rechte Seite 81 echo "<img src='pic/AAA.gif' alt=''>"; 82 echo "</td></tr></table>"; 83 75 84 echo "\n<table class='outer'>\n<tr>\n<td>"; 76 echo "\n\t<table class='kennz' title='Flurstückskennzeichen'>\n\t<tr>"; 77 echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>"; 78 echo "\n\t<tr>\n\t\t<td title='Gemarkung'>".$gmkgnr."<br>".$gemkname."</td>"; 79 echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>"; 80 echo "\n\t\t<td title='Flurstücksnummer (Zähler / Nenner)'>".$flstnummer."</td>\n\t</tr>\n\t</table>\n"; 81 echo "</td>\n<td>"; 85 echo "\n\t<table class='kennz' title='Flurstückskennzeichen'>\n\t<tr>"; 86 echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>"; 87 echo "\n\t<tr>\n\t\t<td title='Gemarkung'><span class='key'>".$gmkgnr."</span><br>".$gemkname."</td>"; 88 echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>"; 89 echo "\n\t\t<td title='Flurstücksnummer (Zähler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>"; 90 echo "\n\t</table>"; 91 echo "\n</td>\n<td>"; 82 92 if ($idanzeige) { linkgml($gkz, $gmlid, "Flurstück"); } 83 93 echo "<br>\n\t<p class='nwlink'>weitere Auskunft:<br>"; 84 echo "\n\t<a href='alkisfsnw.php?gkz=".$gkz."&gmlid=".$gmlid."&eig=n"."&style=".$style; 94 95 // Flurstuecksnachweis (o. Eigent.) 96 echo "\n\t<a href='alkisfsnw.php?gkz=".$gkz."&gmlid=".$gmlid."&eig=n"; 85 97 if ($idanzeige) { echo "&id=j";} 86 echo "' title='Flurstücksnachweis, alle Flurstücksdaten'>FS-Nachweis</a> | "; 87 echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&gmlid=".$gmlid."&eig=j"."&style=".$style; 98 echo "' title='Flurstücksnachweis, alle Flurstücksdaten'>Flurstück <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''></a><br>"; 99 100 // FS- u. Eigent.-NW 101 echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&gmlid=".$gmlid."&eig=j"; 88 102 if ($idanzeige) echo "&id=j"; 89 echo "' title='Flurstücks- und Eigentümernachweis'>FS- u. Eigent.-Nw</a><br>"; 90 echo "\n\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&gmlid=".$gmlid."&eig=j"."&style=".$style; 103 echo "' title='Flurstück mit Eigentümer'>Flurstück mit Eigentümer</a> <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''><br>"; 104 105 // Gebaeude-NW 106 echo "\n\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&gmlid=".$gmlid; 91 107 if ($idanzeige) echo "&id=j"; 92 echo "' title='Gebäudenachweis'>Gebäudenachweis</a>"; 108 echo "' title='Gebäudenachweis'>Gebäude <img src='ico/Haus.ico' width='16' height='16' alt=''></a>"; 109 110 // FS-Historie (noch nicht in DB) 93 111 //echo " | <a href='alkisfshist.php?gkz=".$gkz."&flurstkennz=".$gmlid."' title='Vorgänger- und Nachfolger-Flurstücke'>Historie</a>\n"; 94 112 echo "\n\t</p>\n</td>"; … … 97 115 98 116 // *** G R U N D B U C H *** 99 echo "\n<h2> Grundbuch</h2>";117 echo "\n<h2><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundbuch</h2>"; 100 118 // ALKIS: FS --> bfs --> GS --> bsb --> GB. 101 119 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, "; … … 118 136 echo "\n<hr>\n<table class='outer'>\n<tr>\n<td>"; 119 137 echo "\n\t<table class='kennz' title='Bestandskennzeichen'>\n\t<tr>\n\t\t<td class='head'>Bezirk</td>"; 120 echo "\n\t\t<td class='head'>".blattart($rowg["blattart"])."</td>\n\t\t<td class='head'>Lfd-Nr,</td>\n\t\t<td class='head'>Buchungsart</td>\n\t</tr>"; 121 echo "\n\t<tr>\n\t\t<td title='Grundbuchbezirk'>".$rowg["bezirk"]."<br>".$beznam."</td>"; 122 echo "\n\t\t<td title='Grundbuch-Blatt'>".$rowg["blatt"]."</td>"; 123 echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundstück)'>".$rowg["laufendenummer"]."</td>"; 124 echo "\n\t\t<td title='Buchungsart'>".$rowg["buchungsart"]."<br>".buchungsart($rowg["buchungsart"])."</td>\n\t</tr>\n\t</table>"; 138 echo "\n\t\t<td class='head'>".blattart($rowg["blattart"])."</td>\n\t\t<td class='head'>Lfd-Nr,</td>\n\t\t<td class='head'>Buchungsart</td>\n\t</tr>"; 139 echo "\n\t<tr>\n\t\t<td title='Grundbuchbezirk'><span class='key'>".$rowg["bezirk"]."</span><br>".$beznam."</td>"; 140 echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>"; 141 echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundstück)'>".$rowg["laufendenummer"]."</td>"; 142 echo "\n\t\t<td title='Buchungsart'>".$rowg["buchungsart"]."<br>".buchungsart($rowg["buchungsart"])."</td>\n\t</tr>"; 143 echo "\n\t</table>"; 125 144 if ($rowg["zahler"] <> "") { 126 145 echo "\n<p class='ant'>".$rowg["zahler"]."/".$rowg["nenner"]." Anteil am Flurstück</p>"; 127 146 } 128 147 echo "\n</td>\n<td>"; 129 if ($idanzeige) { linkgml($gkz, $rowg[0], "Buchungsblatt");} 130 echo "<br>\n"; 131 echo "\n\t<p class='nwlink'>weitere Auskunft:<br>\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&gmlid=".$rowg[0]."&style=".$style; 132 if ($idanzeige) echo "&id=j"; 133 echo "' title='Grundbuchnachweis mit kompletter Eigentümerangabe'>GB-Nachweis</a>\n\t</p>\n</td>\n"; 148 if ($idanzeige) { linkgml($gkz, $rowg[0], "Buchungsblatt");} 149 echo "<br>\n"; 150 echo "\n\t<p class='nwlink'>weitere Auskunft:<br>"; 151 echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&gmlid=".$rowg[0]; 152 if ($idanzeige) echo "&id=j"; 153 echo "' title='Grundbuchnachweis mit kompletter Eigentümerangabe'>Grundbuch-Blatt "; 154 echo "<img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>"; 155 echo "\n\t</p>\n</td>\n"; 134 156 echo "</table>"; 135 if ($rowg["blattart"] <> "1000") { // schwierige SonderfÀlle nicht in der Ãbersicht bearbeiten 136 echo "\n<p>Blattart: ".blattart($rowg["blattart"])." (".$rowg["blattart"].").<br>\n"; 137 echo "Eigentümer siehe\n\t<a href='alkisbestnw.php?gkz=".$gkz."&gmlid=".$rowg[0]."&style=".$style; 138 if ($idanzeige) echo "&id=j"; 139 echo "' title='Grundbuchnachweis mit kompletter Eigentümerangabe'>GB-Nachweis</a>\n</p>"; 140 //echo "oder"\n\t<a title='ALKIS-Beziehungen-Browser' href='alkisrelationen.php?gkz=".$gkz."&gmlid=".$rowg["s_gml"]."&style=".$style."'>Beziehungen der Buchungsstelle</a>\n</p>"; 141 linkgml($gkz, $rowg["s_gml"], "Buchungsstelle"); 142 } else { // normales Grundbuchblatt 143 144 // ** E I G E N T U E M E R, zum GB 145 echo "\n\n<h3>Eigentümer:</h3>\n"; 146 147 // Schleife 1: N a m e n s n u m m e r 148 // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt 149 $sql="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, "; 150 $sql.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass "; 151 $sql.="FROM ax_namensnummer n "; 152 $sql.="JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id "; 153 $sql.="WHERE b.beziehung_zu='".$rowg["gml_id"]."' "; // id blatt 154 $sql.="AND b.beziehungsart='istBestandteilVon' "; 155 $sql.="ORDER BY laufendenummernachdin1421;"; 156 $resn=pg_query($con, $sql); 157 if (!$resn) {echo "<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";} 158 echo "\n<table class='eig'>"; 159 $n=0; // Z.NamNum. 160 while($rown = pg_fetch_array($resn)) { 161 echo "\n<tr>\n\t<td class='nanu' title='Namens-Nummer'>"; 162 // VOR die Tabelle: "EigentÃŒmer" 163 $namnum=kurz_namnr($rown["lfd"]); 164 echo "\n\t<p>".$namnum."</p>"; 165 if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer");} 166 echo "\n\t</td>\n\t<td>"; 167 $rechtsg=$rown["adr"]; 168 if ($rechtsg != "" ) { 169 if ($rechtsg == 9999) { // sonstiges 170 echo "\n\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>"; 171 } else { 172 echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>"; 173 } 174 } 175 // +++ ggf. Seitenzweige ("andere Namennummern") 176 177 // Schleife 2: P e r s o n 178 // Beziehung: ax_person <benennt< ax_namensnummer 179 $sql="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 180 $sql.="FROM ax_person p "; 181 $sql.="JOIN alkis_beziehungen v ON v.beziehung_zu=p.gml_id "; 182 $sql.="WHERE v.beziehung_von='".$rown["gml_id"]."' "; // id num 183 $sql.="AND v.beziehungsart='benennt';"; 184 $rese=pg_query($con, $sql); 185 if (!$rese) echo "\n<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n"; 186 $i=0; // Z.Eig. 187 while($rowe = pg_fetch_array($rese)) { 188 $diePerson=""; 189 if ($rowe["akademischergrad"] <> "") $diePerson=$rowe["akademischergrad"]." "; 190 $diePerson.=$rowe["nachnameoderfirma"]; 191 if ($rowe["vorname"] <> "") $diePerson.=", ".$rowe["vorname"]; 192 if ($rowe["namensbestandteil"] <> "") $diePerson.=". ".$rowe["namensbestandteil"]; 193 if ($rowe["geburtsdatum"] <> "") $diePerson.=", geb. ".$rowe["geburtsdatum"]; 194 if ($rowe["geburtsname"] <> "") $diePerson.=", geb. ".$rowe["geburtsname"]; 195 $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute 196 // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0 197 if ($i > 0) {echo "\n<tr>\n\t<td></td>\n\t<td>";} 198 // Spalte 2 = Angaben 199 echo "\n\t<p class='geig' title='Eigentümerart ".eigentuemerart($rown["eigentuemerart"])."'>".$diePerson."</p></td>"; 200 // Spalte 3 = Link 201 echo "\n\t\t<td>\n\t\t\t<p class='nwlink noprint'>\n\t\t\t<a href='alkisnamstruk.php?gkz=".$gkz."&gmlid=".$rowe[0]."&style=".$style; 202 if ($idanzeige) { echo "&id=j";} 203 echo "' title='vollständiger Name und Adresse eines Eigentümers'>Person</a>\n\t\t</p>"; 204 if ($idanzeige) { linkgml($gkz, $rowe["gml_id"], "Person");} 205 echo "</td>\n</tr>"; 206 $i++; // Z. Person 207 if ($rown["zaehler"] <> "") { 208 echo "\n<tr>\n\t<td></td>\n\t<td><p class='avh' title='Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p>"; 209 echo "\n</td>\n\t<td></td>\n</tr>"; 210 } 211 } 212 if ($i == 0) { // keine Pers zur NamNum 213 if ($rechtsg != 9999) { // Normal bei Sondereigentum 214 echo "\n<tr>\n<td>"; 215 linkgml($gkz, $rown["gml_id"], "Namensnummer"); 216 echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigentümer gefunden.</p>"; 217 echo "\n\t\t\n\t</td>\n\t<td></td>\n<tr>"; 218 } 219 } 220 $n++; // Z.NamNum 221 } 222 echo "\n</table>\n"; 223 if ($n == 0) { 157 158 // E I G E N T U E M E R 159 if ($rowg["blattart"] == 5000) { 160 echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n"; 161 echo "\n<p>Siehe weitere Grundbuchblätter mit Rechten an dem fiktiven Blatt.</p>\n"; 162 } else {// kein Eigent. bei fiktiv. Blatt 163 echo "\n<hr>\n\n<h3><img src='ico/Eigentuemer_2.ico' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n"; 164 // Ausgabe Name in Function 165 $n = eigentuemer($con, $gkz, $idanzeige, $rowg["gml_id"], false); // hier ohne Adressen 166 if ($n == 0) { // keine Namensnummer, kein Eigentuemer 224 167 echo "\n<p class='err'>Keine Namensnummer gefunden.</p>"; 168 echo "\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$row["nr"].", Blattart ".$row["blattart"]." (".$blattart.")</p>"; 225 169 linkgml($gkz, $gmlid, "Buchungsblatt"); 226 170 } … … 230 174 if ($j == 0) { // Entwicklungshilfe 231 175 echo "\n<p class='err'>Keine Buchungen gefunden.</p>"; 232 echo "\n<p><a target='_blank' href=alkisrelationen.php?gkz=".$gkz."&gmlid=".$gmlid." &style=".$style.">Beziehungen des Flurstücks</a></p>";176 echo "\n<p><a target='_blank' href=alkisrelationen.php?gkz=".$gkz."&gmlid=".$gmlid.">Beziehungen des Flurstücks</a></p>"; 233 177 //echo "<p>".$sql."</p>"; // TEST 234 178 } 235 179 echo "\n<hr>"; 236 footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, $style);180 footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, ""); 237 181 238 182 ?> -
trunk/var/www/info/alkis/alkisauszug.css
r26 r41 1 /* S t y l es2 ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).1 /* Modul: alkisauszug.css 2 S t y l e s zur ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 3 3 4 4 Version: 5 21.01.2010 - Bearbeitung einer Kopie von ALB 5 31.08.2010 Prototyp 6 02.09.2010 Mit img 6 7 7 ToDo: Nicht benoetigte Classen loeschen .8 ToDo: Nicht benoetigte Classen loeschen (Kopie aus ALB) 8 9 */ 9 body {background-color: #F BFFFC;}10 body {background-color: #FDFFFD;} 10 11 p, body {font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; 11 font-size: 10pt; 12 color: #000033; 13 margin-top: 2pt; 14 margin-bottom: 2pt; 15 } 12 font-size: 10pt; color: #000033; margin-top: 6pt; margin-bottom: 2pt;} 13 16 14 /* ** Banner im Kopf, Farbcode f. Nachweis-Art ** */ 17 p.fsausk {text-align: right; background: teal; color: silver;} /* Uebersichts-Seite Flurstuecks-Auskunft */15 p.fsausk {text-align: right; background: teal; color: silver;} /* Uebersichts-Seite Flurstuecks-Auskunft */ 18 16 p.fskennz {text-align: right; background: navy; color: silver;} /* Flurstuecks-Nachweis */ 19 17 p.fsei {text-align: right; background: olive; color: silver;} /* Flurstuecks- und Eigentuemer-Nachweis */ 20 18 p.gbkennz {text-align: right; background: green; color: silver;} /* Bestandsnachweis */ 21 19 p.nakennz {text-align: right; background: maroon; color: silver;} /* Personen- und Adressdaten */ 20 p.geb {text-align: right; background: yellow; color: silver;} /* Gebaeude zum FS */ 21 22 22 p.bezieh {text-align: right; background: olive; color: silver;} /* Beziehungen */ 23 23 p.fsd {position: relative; left: 170px;} /* Flst-Flaeche */ … … 26 26 p.avh {font-style: italic; color: navy;} /* Anteilsverhaeltnis */ 27 27 p.ant {font-style: italic; position: relative;left: 12px;} /* Anteil am FS */ 28 p.geig {color: navy;} /* GB-Nachw. Eigent., Adresse */ 29 p.gadr {color: maroon;} 30 p.nwlink {font-size: 7pt;text-align: right;} /* Link zum Nachweis GB, FS, ..*/ 31 p.err {color: red;} /* Fehler-Meldungen */ 28 p.geig {color: navy;} /* GB-Nachw. Eigentuemer Name */ 29 p.gadr {color: maroon; margin-top: 1pt;} /* GB-Nachw. Eigentuemer Adresse */ 30 p.nwlink, td.nwlink {font-size: 7pt; text-align: right;} /* Link zum Nachweis GB, FS, ..*/ 31 p.err {color: red;} /* Fehler-Meldungen */ 32 p.ph {color: gray;} /* Platzhalter */ 33 32 34 /* Links */ 33 35 a:link {color: rgb(0,102,153);} 34 36 a:visited {color: rgb(0,153,102);} 35 a:active {color: rgb(0,102,102);}37 a:active {color: rgb(0,102,102);} 36 38 a:hover {color: rgb(255,40,40);} 37 a.gmlid {text-decoration: none; color: silver;} /* Globaler Identifikator gml_id */ 38 div.gmlid {font-style: italic;font-size: 7pt;text-align: right;} 39 /* Adresse im Rahmen*/ 39 40 /* Globaler Identifikator gml_id - Link fuer Entwicklung */ 41 a.gmlid {text-decoration: none; color: silver; font-style: italic; font-size: 7pt; text-align: right;} 42 span.gmlid {font-style: italic; font-size: 7pt; text-align: right;} 43 44 /* komplette Adresse im Rahmen*/ 40 45 div.adr {border-left-width: 0px; 41 46 border-right-width: 0px; … … 53 58 background: #e4f7dd; 54 59 } 55 /* ** Tabellen ** */ 56 table { font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; 57 font-size: 10pt; 58 color: #000033; 59 } 60 61 span.key {color: gray; font-style: italic;} /* Schluesselwert vor Text, Wert zurueck nehmen */ 62 span.wichtig {color: #BB0000; font-weight: bold;} /* Wert hervorheben */ 63 64 /* ** T a b e l l e n ** */ 65 table {font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 10pt; color: #000033;} 60 66 table.fsd {font-size: 9pt; margin-left: 12px;} 61 67 table.bez {font-size: 9pt; margin-bottom: 10px; margin-left: 3px;} 62 68 63 69 table.kennz {border: 2px solid navy; padding: 3px; margin: 0px;} /* Kennzeichen (FS, GB, ..) mit Rahmen */ 64 table.fs, table.nua, table.klas, table.eig, table.outer {width:100%;}70 table.fs, table.nua, table.klas, table.eig, table.outer, table.geb {width:100%;} 65 71 66 td {vertical-align: top;} /* ** Tabellenfelder ** */ 72 td {vertical-align: top;} /* ** Tabellenfelder ** */ 73 /*td {vertical-align: top; border: 1px dotted gray; } ** Tabellenfelder Variante f. TEST ** */ 67 74 68 td.ll {width:120px; } /* ALKIS Datenliste linke Spalte */ 69 td.lr {color: black;} /* .. rechte Spalte */ 75 td.ll {width: 130px; padding-top: 8px;} /* ALKIS Datenliste linke Spalte */ 76 td.lr {color: black; padding-top: 8px;} /* .. rechte Spalte */ 77 td.ph {color: gray; padding-top: 8px;} /* Platzhalter, vorlaeufig, spaeter loschen */ 70 78 71 79 td.fla {width: 90px; padding-right: 4px; text-align: right;} /* Flaechen rechtsbuendig (stellengerecht) */ … … 73 81 /* Ertragsmesszahl der Bodenschaetzung 74 82 td.emz {width: 45px; padding-right: 4px; padding-left: 4px; 75 text-align: right;} */83 text-align: right;} */ 76 84 td.kurz {width: 26px; padding-left: 4px;} 77 td.nanu {width: 80px;} /* Namensnummer */ 78 /* td.mit, td.erb {font-style: italic;} */ /* Miteigentumsanteil, Erbbaurecht */ 79 td.sond {font-size: 8pt;} /* Sondereigentumsbeschreibung */ 85 td.nanu {width: 80px;} /* Namensnummer */ 86 td.sond {font-size: 8pt;} /* Sondereigentumsbeschreibung */ 80 87 td.fett {padding-top: 8px; font-weight: bold;} 81 88 td.head {border-bottom: 1px solid gray; font-style: italic;} /* Kopfzeile, Spaltenueberschrift */ … … 83 90 border-left:0px dotted maroon; border-right:0px dotted maroon; 84 91 font-weight: bold;} /* unter dem Strich = Summenzeile */ 85 td.bez { font-weight: bold;} 86 td.nhd { width: 150px; } 92 td.bez { font-weight: bold;} /* Beziehungen */ 93 td.nhd { width: 150px; } /* Namen - linke / rechte Spalte */ 87 94 td.nam { font-weight: bold;} 88 95 td.gbl {border-top:1px dotted green; border-bottom:0px; 89 96 border-left:0px ; border-right:0px ;} /* Name: GB-Liste */ 97 90 98 /* Ueberschriften */ 91 99 h1, h2, h3, h4, h5, h6 {font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;} … … 96 104 h5 { color: black; font-size: 10pt;} 97 105 h6 { color: black; font-size: 9pt; margin-top: 2pt; margin: 0pt} /* FS in Best-NW */ 98 /*99 pre { font-family: monospace;100 font-size: 9pt;101 color: #000033;102 margin-top: 2pt;103 margin-bottom: 2pt;104 } */105 106 106 /* 107 ul, ol, li { 108 margin-top:3pt; 109 margin-bottom:3pt; 110 margin-left:2.75em; 111 font-family: Verdana; 112 font-size: 10pt; 113 color: #000066; 114 } */ 107 img {border: 0px; margin: 0px;} /* Icons */ 108 115 109 /* Seitenfuss */ 116 110 .buttonbereich {font-size: 7pt; text-align: right;} … … 122 116 } 123 117 @media print { 124 body { 125 width: 100%; 126 background-color:white; 127 } 118 body {width: 100%; background-color:white;} 128 119 } -
trunk/var/www/info/alkis/alkisbestnw.php
r26 r41 1 1 <?php 2 /* alkisbestnw.php 2 /* Modul: alkisbestnw.php 3 Version: 4 31.08.2010 $style=ALKIS entfernt, alles Kompakt 5 02.09.2010 Mit Icons 3 6 4 7 ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 5 8 Bestandsnachweis fuer ein Grundbuch aus ALKIS PostNAS 6 9 Parameter: &gkz= &gmlid 7 8 Version:9 26.01.2010 internet-Version mit eigener conf10 11 10 */ 12 ini_set('error_reporting', 'E_ALL & ~ E_NOTICE'); 11 //ini_set('error_reporting', 'E_ALL & ~ E_NOTICE'); 12 ini_set('error_reporting', 'E_ALL'); 13 13 session_start(); 14 14 // Bindung an Mapbender-Authentifizierung … … 20 20 <html> 21 21 <head> 22 <meta name="author" content="F . Jaeger">22 <meta name="author" content="Frank Jaeger" > 23 23 <meta http-equiv="cache-control" content="no-cache"> 24 24 <meta http-equiv="pragma" content="no-cache"> … … 27 27 <title>ALKIS Bestandsnachweis</title> 28 28 <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 29 <link rel="shortcut icon" type="image/x-icon" href="ico/Grundbuch.ico"> 29 30 <style type='text/css' media='print'> 30 31 .noprint { visibility: hidden;} … … 38 39 $idanzeige=false; 39 40 if ($id == "j") {$idanzeige=true;} 40 $style=isset($_GET["style"]) ? $_GET["style"] : "kompakt";41 //$style=isset($_GET["style"]) ? $_GET["style"] : "kompakt"; 41 42 $dbname = 'alkis05' . $gkz; 42 43 $con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 43 44 if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 44 // ** G R U N D B U C H ** 45 /* Bei JOIN ueber alkis_beziehungen. Entgegen Dokumentation keine Verbindung gefunden! 46 $sql.="FROM ax_buchungsblatt g "; 47 $sql.="JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk "; // BBZ 48 $sql.="JOIN alkis_beziehungen bba ON b.gml_id=bba.beziehung_von "; // Bez->AG 49 $sql.="JOIN ax_dienststelle a ON bba.beziehung_zu=a.gml_id "; 50 $sql.="WHERE g.gml_id='".$gmlid."' "; 51 $sql.="AND bba.beziehungsart='gehoertZu' "; 52 $sql.="AND a.stellenart=1000;"; // Amtsgericht 53 */ 45 46 // G R U N D B U C H 54 47 // Direkter JOIN zwischen den "ax_buchungsblattbezirk" und "ax_dienststelle". 55 // Ueber Feld "gehoertzu|ax_dienststelle_schluessel|land" und "stelle" 48 // Ueber Feld "gehoertzu|ax_dienststelle_schluessel|land" und "stelle". 49 // Bei JOIN ueber alkis_beziehungen entgegen Dokumentation keine Verbindung gefunden. 56 50 $sql ="SELECT g.gml_id, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung AS nr, g.blattart, "; // GB-Blatt 57 51 $sql.="b.gml_id, b.bezirk, b.bezeichnung AS beznam, "; // Bezirk 58 52 $sql.="a.gml_id, a.land, a.bezeichnung, a.stelle, a.stellenart "; // Amtsgericht 59 $sql.="FROM ax_buchungsblatt 60 $sql.="JOIN ax_buchungsblattbezirk b 61 $sql.="JOIN ax_dienststelle aON b.\"gehoertzu|ax_dienststelle_schluessel|land\"=a.land AND b.stelle=a.stelle ";53 $sql.="FROM ax_buchungsblatt g "; 54 $sql.="JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk "; // BBZ 55 $sql.="JOIN ax_dienststelle a ON b.\"gehoertzu|ax_dienststelle_schluessel|land\"=a.land AND b.stelle=a.stelle "; 62 56 $sql.="WHERE g.gml_id='".$gmlid."' "; 63 57 $sql.="AND a.stellenart=1000;"; // Amtsgericht … … 67 61 if ($row = pg_fetch_array($res)) { 68 62 $blattart=blattart($row["blattart"]); 69 echo "<p class='gbkennz'>Bestand ".$row["bezirk"]." - ".$row["nr"]." </p>\n"; 70 echo "\n<h2>Grundbuch ALKIS</h2>\n"; 71 63 64 // Balken 65 echo "<p class='gbkennz'>ALKIS Bestand ".$row["bezirk"]." - ".$row["nr"]." </p>\n"; 66 67 echo "\n<h2><img src='ico/Grundbuch.ico' width='16' height='16' alt=''> Grundbuch</h2>"; 68 69 // Kennzeichen im Rahmen 72 70 echo "\n<table class='outer'>\n<tr>\n\t<td>"; 73 echo "\n\t<table class='kennz' title='Bestandskennzeichen'>\n\t<tr>"; 74 echo "\n\t\t<td class='head'>".dienststellenart($row["stellenart"])."</td>"; 75 echo "\n\t\t<td class='head'>Bezirk</td>"; 76 echo "\n\t\t<td class='head'>".$blattart."</td>\n\t</tr>"; 77 echo "\n\t<tr>"; 78 echo "\n\t\t<td title='Amtsgerichtsbezirk'>".$row["stelle"]."<br>".htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8")."</td>"; 79 echo "\n\t\t<td title='Grundbuchbezirk'>".$row["bezirk"]."<br>".htmlentities($row["beznam"], ENT_QUOTES, "UTF-8")."</td>"; 80 echo "\n\t\t<td title='Grundbuch-Blatt'>".$row["nr"]."</td>"; 81 echo "\n\t</tr>\n\t</table>\n"; 82 echo "\n\t</td>\n\t<td>"; 83 if ($idanzeige) {linkgml($gkz, $gmlid, "Buchungsblatt");} 71 echo "\n\t<table class='kennz' title='Bestandskennzeichen'>"; 72 echo "\n\t<tr>"; 73 echo "\n\t\t<td class='head'>".dienststellenart($row["stellenart"])."</td>"; 74 echo "\n\t\t<td class='head'>Bezirk</td>"; 75 echo "\n\t\t<td class='head'>".$blattart."</td>"; 76 echo "\n\t</tr>\n\t<tr>"; 77 echo "\n\t\t<td title='Amtsgerichtsbezirk'><span class='key'>".$row["stelle"]."</span><br>".htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8")."</td>"; 78 echo "\n\t\t<td title='Grundbuchbezirk'><span class='key'>".$row["bezirk"]."</span><br>".htmlentities($row["beznam"], ENT_QUOTES, "UTF-8")."</td>"; 79 echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$row["nr"]."</span></td>"; 80 echo "\n\t</tr>"; 81 echo "\n\t</table>"; 82 echo "\n\n\t</td>\n\t<td>"; 83 if ($idanzeige) linkgml($gkz, $gmlid, "Buchungsblatt"); 84 84 echo "\n\t</td>\n</tr>\n</table>"; 85 } 86 87 // E I G E N T U E M E R 88 if ($row["blattart"] == 5000) { 89 echo "\n<p>Keine Angaben zum Eigentum bei fiktivem Blatt</p>\n"; 90 echo "\n<p>Siehe weitere Grundbuchblätter mit Rechten an dem fiktiven Blatt.</p>\n"; 91 // ++++ nuetzlich waere hier: Liste der Grundbuecher mit Recht ueber "an"-Beziehung 92 93 } else {// kein Eigent. bei fiktiv. Blatt 94 echo "\n<h3><img src='ico/Eigentuemer_2.ico' width='16' height='16' alt=''> Angaben zum Eigentum</h3>\n"; 95 $n = eigentuemer($con, $gkz, $idanzeige, $gmlid, true); // hier mit Adressen 96 if ($n == 0) { // keine Namensnummer, kein Eigentuemer 97 echo "\n<p class='err'>Keine Namensnummer gefunden.</p>"; 98 echo "\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$row["nr"].", Blattart ".$row["blattart"]." (".$blattart.")</p>"; 99 linkgml($gkz, $gmlid, "Buchungsblatt"); 100 } 85 101 } 86 102 $res=""; 87 103 $row=""; 88 104 89 // ** E I G E N T U E M E R 90 echo "\n<hr>\n\n<h3>Angaben zum Eigentum</h3>\n"; 91 92 // Schleife 1: N a m e n s n u m m e r 93 // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt 94 $sql="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, "; 95 $sql.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass "; 96 $sql.="FROM ax_namensnummer n "; 97 $sql.="JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id "; 98 $sql.="WHERE b.beziehung_zu='".$gmlid."' "; // id blatt 99 $sql.="AND b.beziehungsart='istBestandteilVon' "; 100 $sql.="ORDER BY laufendenummernachdin1421;"; 101 $resn=pg_query($con, $sql); 102 if (!$resn) {echo "<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";} 103 echo "\n<table class='eig'>"; 104 $n=0; // Z.NamNum. 105 while($rown = pg_fetch_array($resn)) { 106 echo "\n<tr>\n\t<td class='nanu' title='Namens-Nummer'>"; 107 // VOR die Tabelle: "Eigentümer" 108 $namnum=kurz_namnr($rown["lfd"]); 109 echo "\n\t\t<p>".$namnum."</p>"; 110 if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer");} 111 echo "\n\t</td>\n\t<td>"; 112 $rechtsg=$rown["adr"]; 113 if ($rechtsg != "" ) { 114 if ($rechtsg == 9999) { // sonstiges 115 echo "\n\t\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>"; 116 } else { 117 echo "\n\t\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>"; 118 } 119 } 120 //if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} // TEST: 121 122 //echo "\n\t\t</td>\n\t\t<td></td>\n</tr>"; 123 124 // Schleife Ebene 2: andere Namensnummern 125 // Beziehung ax_namensnummer >bestehtAusRechtsverhaeltnissenZu> ax_namensnummer 126 127 // Die Relation 'Namensnummer' besteht aus Rechtsverhältnissen zu 'Namensnummer' sagt aus, 128 // dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können. 129 // Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer, 130 // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. 131 132 // Die Relation 'Namensnummer' hat Vorgänger 'Namensnummer' gibt Auskunft darüber, 133 // aus welchen Namensnummern die aktuelle entstanden ist. 134 135 // Schleife 2: P e r s o n 136 // Beziehung: ax_person <benennt< ax_namensnummer 137 $sql="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 138 $sql.="FROM ax_person p "; 139 $sql.="JOIN alkis_beziehungen v ON v.beziehung_zu=p.gml_id "; 140 $sql.="WHERE v.beziehung_von='".$rown["gml_id"]."' "; // id num 141 $sql.="AND v.beziehungsart='benennt';"; 142 //echo "\n\t<p class='err'>Schleife Person SQL=<br>".$sql."</p>"; // test 143 144 $rese=pg_query($con, $sql); 145 if (!$rese) echo "\n\t<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n"; 146 $i=0; // Z.Eig. 147 while($rowe = pg_fetch_array($rese)) { 148 $diePerson=""; 149 if ($rowe["akademischergrad"] <> "") $diePerson=$rowe["akademischergrad"]." "; 150 $diePerson.=$rowe["nachnameoderfirma"]; 151 if ($rowe["vorname"] <> "") $diePerson.=", ".$rowe["vorname"]; 152 if ($rowe["namensbestandteil"] <> "") $diePerson.=". ".$rowe["namensbestandteil"]; 153 if ($rowe["geburtsdatum"] <> "") $diePerson.=", geb. ".$rowe["geburtsdatum"]; 154 if ($rowe["geburtsname"] <> "") $diePerson.=", geb. ".$rowe["geburtsname"]; 155 $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute 156 157 // Spalte 1 enthält die Namensnummer, nur in Zeile 0 158 if ($i > 0) { 159 echo "\n<tr>\n\t<td></td>\n\t<td>"; 160 } 161 // Spalte 2 = Angaben 162 echo "\n\t\t<p class='geig' title='Eigentümerart ".eigentuemerart($rown["eigentuemerart"])."'>".$diePerson."</p>\n\t</td>"; 163 // Spalte 3 = Link 164 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>\n\t\t\t<a href='alkisnamstruk.php?gkz=".$gkz."&gmlid=".$rowe[0]."&style=".$style; 165 if ($idanzeige) { echo "&id=j";} 166 echo "' title='vollständiger Name und Adresse eines Eigentümers'>Person</a>\n\t\t</p>"; 167 if ($idanzeige) { linkgml($gkz, $rowe["gml_id"], "Person");} 168 echo "\n\t</td>\n</tr>"; 169 170 // Schleife 3: A d r e s s e 171 $sql ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland "; 172 $sql.="FROM ax_anschrift a "; 173 $sql.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu "; 174 $sql.="WHERE b.beziehung_von='".$rowe["gml_id"]."' "; 175 $sql.="AND b.beziehungsart='hat';"; //"ORDER BY ?;"; 176 //echo "\n<p class='err'>".$sql."</p>\n"; 177 $resa=pg_query($con,$sql); 178 if (!$resa) echo "\n\t<p class='err'>Fehler bei Adressen.<br>\nSQL= ".$sql."</p>\n"; 179 $j=0; 180 while($rowa = pg_fetch_array($resa)) { 181 $gmla=$rowa["gml_id"]; 182 $plz=$rowa["plz"]; 183 $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8"); 184 $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8"); 185 $hsnr=$rowa["hausnummer"]; 186 $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8"); 187 // Spalte 1 188 echo "\n<tr>\n\t<td> </td>"; 189 //Spalte 2 190 echo "\n\t<td>\n\t\t<p class='gadr'>"; 191 if ($str.$hsnr != "") echo $str." ".$hsnr."<br>"; 192 //if ($plz.$ort != "") 193 echo $plz." ".$ort; 194 if ($land != "" and $land != "DEUTSCHLAND") echo ", ".$land; 195 echo "</p>\n\t</td>"; 196 // Spalte 3 197 echo "\n\t<td>"; 198 if ($idanzeige) {linkgml($gkz, $gmla, "Adresse");} 199 echo "\n\t</td>\n</tr>"; 200 $j++; 201 } 202 // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" 203 //if ($j == 0) { 204 // echo "\n<tr>\n\t<td></td>"; 205 // echo "\n\t<td>\n\t\t<p class='err'>Keine Adressen.</p></td>"; 206 // echo "\n\t<td></td>\n<tr>"; 207 //} 208 $i++; // Z. Person 209 210 // als eigene Tab-Zeile? 211 // 'Anteil' ist der Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) 212 // an einem gemeinschaftlichen Eigentum (Grundstück oder Recht). 213 if ($rown["zaehler"] <> "") { 214 echo "\n<tr>\n\t<td></td>\n\t<td><p class='avh' title='Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p>"; 215 echo "\n</td>\n\t<td></td>\n</tr>"; 216 } 217 } 218 /* Wann warnen? 219 if ($i == 0) { // keine Pers zur NamNum 220 if ($rechtsg != 9999) { // Art der Rechtsgemeinsachft, 0 Eigent. ist Normal bei Sondereigentum 221 echo "\n<tr>\n<td>"; 222 linkgml($gkz, $rown["gml_id"], "Namensnummer"); 223 echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigentümer gefunden. (Rechtsgemeinschaft=".$rechtsg.")</p>"; 224 echo "\n\t\t\n\t</td>\n\t<td></td>\n<tr>"; 225 } 226 } 227 */ 228 $n++; // Z.NamNum 229 } 230 echo "\n</table>\n"; 231 if ($n == 0) { 232 echo "\n<p class='err'>Keine Namensnummer gefunden.</p>"; 233 echo "\n<p>Bezirk: ".$row["bezirk"].", Blatt: ".$row["nr"].", Blattart ".$row["blattart"]." (".$blattart.")</p>"; 234 linkgml($gkz, $gmlid, "Buchungsblatt"); 235 } 236 237 If ($style == "alkis") { 238 } else { // kompakter Style, alles in eine Tabelle quetschen 239 echo "\n<hr>\n\n<h3>Flurstücke</h3>"; 240 echo "\n<table class='fs'>"; 241 242 echo "\n<tr>"; 243 echo "\n\t<td class='head' title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundstück'>lfd.Nr</td>"; 244 echo "\n\t<td class='head'>Buchungsart</td>"; //2 245 echo "\n\t<td class='head'>Anteil</td>"; //3 246 echo "\n\t<td class='head'>Gemarkung</td>"; //4 247 echo "\n\t<td class='head'>Flur</td>"; //5 248 echo "\n\t<td class='head' title='Flurstücksnummer (Zähler / Nenner)'>Flurst.</td>"; 249 echo "\n\t<td class='head'>Fläche</td>"; 250 echo "\n\t<td class='head' title='Link: weitere Auskunft'>weit. Ausk.</td>"; 251 252 echo "\n</tr>"; 253 } 254 255 // Schleife 1: B u c h u n g s s t e l l e 256 // ax_buchungsblatt >bestehtAus> ax_buchungsstelle 257 // <istBestandteilVon< 105 echo "\n<hr>\n\n<h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurstücke</h3>"; 106 echo "\n<table class='fs'>"; 107 // Kopf der Tabelle 108 echo "\n<tr>\n\t<td class='head' title='laufende Nummer Bestandsverzeichnis (BVNR) = Grundstück'> lfd.Nr</td>"; 109 echo "\n\t<td class='head'>Buchungsart</td>"; //2 110 echo "\n\t<td class='head'>Anteil</td>"; //3 111 echo "\n\t<td class='head'>Gemarkung</td>"; //4 112 echo "\n\t<td class='head'>Flur</td>"; //5 113 echo "\n\t<td class='head' title='Flurstücksnummer (Zähler / Nenner)'>Flurst.</td>"; 114 echo "\n\t<td class='head fla'>Fläche</td>"; 115 echo "\n\t<td class='head nwlink' title='Link: weitere Auskunft'>weit. Auskunft</td>\n</tr>"; 116 117 // Blatt -> B u c h u n g s s t e l l e 118 // ax_buchungsblatt >bestehtAus> ax_buchungsstelle 119 // ax_buchungsblatt <istBestandteilVon< ax_buchungsstelle 258 120 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, s.zaehler, s.nenner, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond "; 259 121 $sql.="FROM ax_buchungsstelle s "; … … 266 128 $i=0; 267 129 while($row = pg_fetch_array($res)) { 268 269 If ($style == "alkis") { // Ausgabe im ALKIS-Style 270 echo "\n\n<h3>Laufende Nummer: ".$row["lfd"]."</h3>"; 271 echo "\n<p>".buchungsart($row["buchungsart"])."</p>"; 272 273 if ($idanzeige) {linkgml($gkz, $row["gml_id"], "Buchungsstelle");} 274 if ($row["udb"] != "") {echo "<br>Umfang der Buchung: ".$row["udb"];} // beschreibungdesumfangsderbuchung 275 if ($row["zaehler"] != "") {echo "<br>Anteil ".$row["zaehler"]."/".$row["nenner"];} 276 if ($row["nrap"] != "") { 277 echo "\n<br>Nr. im Aufteilungsplan: ".$row["nrap"]; // nummerimaufteilungsplan 130 $lfdnr = $row["lfd"]; 131 $bvnr = str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 132 $gml_bs = $row["gml_id"]; // id der buchungsstelle 133 $ba = buchungsart($row["buchungsart"]); 134 if ($row["zaehler"] == "") { 135 $anteil = ""; 136 } else { 137 $anteil = $row["zaehler"]."/".$row["nenner"]; 138 } 139 140 // F l u r s t u e c k s d a t e n zur direkten Buchungsstelle 141 $j = bnw_fsdaten($con, $gkz, $idanzeige, $lfdnr, $gml_bs, $ba, $anteil, true); // return = Anzahl der FS 142 143 if ($row["nrap"] != "") { 144 echo "\n<tr>\n\t<td class='sond' colspan=8>Nr. im Aufteilungsplan: ".$row["nrap"]."</td>\n<tr>"; 145 } 146 if ($row["sond"] != "") { 147 echo "\n<tr>\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td>\n<tr>"; 148 } 149 150 if ($j == 0) { // k e i n e Flurstuecke gefunden (Miteigentumsnteil usw.) 151 // Bei "normalen" Grundstuecken wurden Flurstuecksdaten gefunden und ausgegeben. 152 // Bei Miteigentumsanteil, Erbbaurecht usw. muss nach weiteren Buchungsstellen gesucht werden: 153 // Buchungsstelle >an> Buchungsstelle >istBestandTeilVon> "FiktivesBlatt (ohne) Eigentuemer" 154 155 // andere Buchungsstellen 156 // ax_buchungsstelle >zu> ax_buchungsstelle (des gleichen Blattes) 157 // ax_buchungsstelle >an> ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht >an> ) 158 159 // a n d e r e Buchungsstelle ("an"-Beziehung) 160 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer AS lfd, s.beschreibungdesumfangsderbuchung AS udb, s.nummerimaufteilungsplan AS nrap, s.beschreibungdessondereigentums AS sond "; 161 // , s.zaehler, s.nenner 162 $sql.="FROM ax_buchungsstelle s "; 163 $sql.="JOIN alkis_beziehungen v ON s.gml_id=v.beziehung_zu "; 164 $sql.="WHERE v.beziehung_von='".$gml_bs."' "; // id buchungsstelle (fiktives Blatt) 165 //$sql.="AND v.beziehungsart='an' "; 166 $sql.="AND (v.beziehungsart='an' OR v.beziehungsart='zu') "; 167 $sql.="ORDER BY s.laufendenummer;"; 168 //echo "<br><p class='err'>".$sql."</p><br>"; 169 170 $resan=pg_query($con,$sql); 171 if (!$resan) {echo "<p class='err'>Fehler bei andere Buchungsstelle<br><br>".$sql."</p>\n";} 172 $a=0; 173 while($rowan = pg_fetch_array($resan)) { 174 // auch suchen? 175 // ax_buchungsstelle >verweistAuf> ax_flurstueck 176 // ax_buchungsstelle >grundstueckBestehtAus> ax_flurstueck 177 // ax_buchungsstelle <istGebucht< ax_flurstueck 178 $lfdnran = $rowan["lfd"]; 179 $gml_bsan= $rowan["gml_id"]; // id der buchungsstelle 180 $baan = buchungsart($rowan["buchungsart"]); 181 182 // Fiktives Blatt 183 $sql ="SELECT b.gml_id, b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung AS blatt "; 184 $sql.="FROM ax_buchungsblatt b "; 185 $sql.="JOIN alkis_beziehungen v ON b.gml_id=v.beziehung_zu "; 186 $sql.="WHERE v.beziehung_von='".$gml_bsan."' "; 187 $sql.="AND v.beziehungsart='istBestandteilVon' "; 188 $sql.="ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 189 190 $fbres=pg_query($con,$sql); 191 if (!$fbres) {echo "<p class='err'>Fehler bei fiktivem Blatt<br><br>".$sql."</p>\n";} 192 $b=0; 193 while($fbrow = pg_fetch_array($fbres)) { // genau 1 194 $fbgml = $fbrow["gml_id"]; 195 $fbland = $fbrow["land"]; 196 $fbbez = $fbrow["bezirk"]; 197 $fbblatt = $fbrow["blatt"]; 198 $b++; 199 } 200 if ($b <> 1) echo "<p class='err'>Anzahl fiktive Blätter zu anderer Buchungstelle = ".$b."</p>"; 201 202 // G r u n d b u c h d a t e n zur a n d e r e n Buchungsstelle (fiktives Blatt, Recht "an" ...) 203 //$bvnran=str_pad($lfdnran, 4, "0", STR_PAD_LEFT); 204 // Kompakter Style 205 echo "\n<tr>\n\t<td>".$bvnr; // Sp.1 Erbbau BVNR 206 if ($idanzeige) linkgml($gkz, $gml_bs, "Buchungsstelle"); 207 echo "</td>"; 208 echo "\n\t<td>".$ba." an</td>"; // Sp.2 Buchung 209 echo "\n\t<td>".$anteil."</td>"; // Sp.3 Anteil ++++ LEER !!?? Wieso 210 echo "\n\t<td>Bezirk ".$fbbez."</td>"; // Sp.4 Gemkg, hier Bezirk ++++ entschluesseln? 211 echo "\n\t<td></td>"; // Sp.5 Flur 212 echo "\n\t<td>Blatt ".$fbblatt."</td>"; // Sp.6 Flurst 213 echo "\n\t<td></td>"; // Sp.7 Flaeche 214 echo "\n\t<td>"; // Sp.8 Link 215 echo "<p class='nwlink'>an <a href='alkisbestnw.php?gkz=".$gkz."&gmlid=".$fbgml; 216 if ($idanzeige) echo "&id=j"; 217 echo "' title='Grundbuchnachweis fiktives Blatt'>GB</a></p></td>\n</tr>"; 218 219 // F l u r s t u e c k s d a t e n zur a n d e r e n Buchungsstelle (fiktives Blatt, Recht "an" ...) 220 $aj = bnw_fsdaten($con, $gkz, $idanzeige, $lfdnran, $gml_bsan, $baan, $anteil, false); // return = Anzahl der FS 221 // +++ Gibt es ueberhaupt Sondereigentum beim fiktiven Blatt?? 222 223 // Kompakter Style 224 if ($rowan["nrap"] != "") { 225 echo "\n<tr>\n\t<td class='sond' colspan=8>Nr. im Aufteilungsplan: ".$rowan["nrap"]."</td>\n<tr>"; 226 } 227 if ($rowan["sond"] != "") { 228 echo "\n<tr>\n\t<td class='sond' colspan=8>Verbunden mit dem Sondereigentum an: ".$rowan["sond"]."</td>\n<tr>"; 229 } 230 231 $a++; 232 if ($aj == 0) { // keine Flurstuecke gefunden 233 echo "<p>keine Flurstücke zu anderer Buchung gefunden</p>"; 234 } 278 235 } 279 if ($row["sond"] != "") { 280 echo "\n<br>Verbunden mit dem Sondereigentum an: ".$row["sond"]; //beschreibungdessondereigentums 236 if ($a == 0) { 237 echo "\n<p class='err'>Keine andere Buchungstelle gefunden.</p>\n"; 238 linkgml($gkz, $$gml_bs, "Buchungsstelle"); 281 239 } 282 283 //echo "\n<h4>Das ".buchungsart($row["buchungsart"])." besteht aus:</h4>";284 echo "\n<h4>Das Grundstück besteht aus:</h4>";285 286 //} else { // Kompakter Style287 }288 289 // Schleife 2a: andere Buchungsstellen290 // ax_buchungsstelle >zu> ax_buchungsstelle (des gleichen Blattes)291 // >an> ax_buchungsstelle (anderes Blatt, z.B Erbbaurecht >an> )292 293 // ++++ To Do: auch suchen?294 // Schleife 2b: Flurstueck295 // ax_buchungsstelle >verweistAuf> ax_flurstueck296 297 // ax_buchungsstelle >grundstueckBestehtAus> ax_flurstueck298 // <istGebucht<299 300 // F L U R S T U E C K301 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, ";302 $sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche ";303 $sql.="FROM ax_gemarkung g ";304 $sql.="JOIN ax_flurstueck f ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";305 $sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von ";306 $sql.="WHERE v.beziehung_zu='".$row["gml_id"]."' "; // id buchungsstelle307 $sql.="AND v.beziehungsart='istGebucht' ";308 $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";309 310 $resf=pg_query($con,$sql);311 if (!$resf) {echo "<p class='err'>Fehler bei Flurstück<br><br>".$sql."</p>\n";}312 $j=0;313 while($rowf = pg_fetch_array($resf)) {314 $fskenn=$rowf["zaehler"];315 if ($rowf["nenner"] != "") {$fskenn.="/".$rowf["nenner"];}316 $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m²";317 318 If ($style == "alkis") { // Darstellung ALKIS-Like319 320 echo "\n<table class='outer'>\n<tr>";321 echo "\n\t<td>";322 echo "\n\t\t<h6>Flurstück ".$fskenn.", Flur ".$rowf["flurnummer"].", Gemarkung ".$rowf["gemarkungsnummer"]." ".$rowf["bezeichnung"]."</h6>";323 echo "\n\t</td>";324 325 echo "\n\t<td>";326 echo "\n\t\t<p class='nwlink noprint'><a href='alkisfsnw.php?gkz=".$gkz."&gmlid=".$rowf["gml_id"]."&eig=n"."&style=".$style;327 if ($idanzeige) { echo "&id=j";}328 echo "' title='Flurstücksnachweis'>FS-Nachweis</a></p>";329 if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück");}330 echo "\n\t</td>\n</tr>\n</table>";331 332 //echo "\n</tr>\n<table>";333 334 /* echo "\n<tr>\n\t<td>Gebietszugehörigkeit:</td>";335 echo "\n\t<td>Gemeinde ".$rowf["gemeinde"]."<br>";336 echo "Kreis ".$rowf["kreis"]."<br>";337 echo "Regierungsbezirk ".$rowf["regierungsbezirk"]."</td>\n</tr>";338 339 echo "\n<tr>\n\t<td>Lage:</td>";340 echo "\n\t<td>(noch in Arbeit)</td>\n</tr>";341 342 echo "\n<tr>\n\t<td>Tatsächliche Nutzung:</td>";343 echo "\n\t<td>(noch in Arbeit)</td>\n</tr>";344 */345 //echo "\n<tr>\n\t<td>";346 347 echo "\n<p>Fläche: ";348 //echo "</td>\n\t<td>";349 echo $flae."</p>";350 //echo "</td>\n</tr>";351 //echo "\n</table>";352 353 } else { // kompakter Style354 echo "\n<tr>"; // eine Zeile je Flurstueck355 // Sp. 1-3 aus Buchungsstelle356 echo "\n\t<td>".$row["lfd"];357 if ($idanzeige) {linkgml($gkz, $row["gml_id"], "Buchungsstelle");}358 echo "</td>";359 360 echo "\n\t<td>".buchungsart($row["buchungsart"])."</td>";361 362 echo "\n\t<td>";363 if ($row["zaehler"] != "") {echo $row["zaehler"]."/".$row["nenner"];}364 echo "</td>";365 366 //Sp. 4-7 aus Flurstueck367 echo "\n\t<td>".$rowf["gemarkungsnummer"]." ".$rowf["bezeichnung"]."</td>";368 369 echo "\n\t<td>".$rowf["flurnummer"]."</td>";370 371 echo "\n\t<td>".$fskenn."</a>";372 373 if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück");}374 echo "</td>";375 376 echo "\n\t<td class='fla'>".$flae."</td>";377 378 echo "\n\t<td><p class='nwlink noprint'>";379 echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&gmlid=".$rowf["gml_id"]."&eig=n"."&style=".$style;380 if ($idanzeige) { echo "&id=j";}381 echo "' title='Flurstücksnachweis'>FS-Nachw.</a>";382 echo "</p></td>";383 384 echo "\n</tr>";385 }386 $j++;387 } // Ende Schleife Flurstueck388 if ($j == 0) {389 echo "\n<p class='err'>Kein Flurstück gefunden.</p>";390 linkgml($gkz, $row["gml_id"], "Buchungststelle");391 }392 If ($style == "alkis") {393 } else { // Kompakter Style394 if ($row["nrap"] != "") {395 echo "\n<tr>\n\t<td></td>\n\t<td colspan=6>Nr. im Aufteilungsplan: ".$row["nrap"]."</td>\n<tr>"; // nummerimaufteilungsplan396 }397 if ($row["sond"] != "") { // ++ style-class ?398 echo "\n<tr>\n\t<td></td>\n\t<td colspan=6>Verbunden mit dem Sondereigentum an: ".$row["sond"]."</td>\n<tr>"; //beschreibungdessondereigentums399 }400 240 } 401 241 $i++; 402 } // Ende Schleife Buchungsstelle 403 404 If ($style == "alkis") { 405 } else { // kompakter Style 406 echo "\n</table>"; 407 } 408 242 } // Ende Buchungsstelle 243 244 echo "\n</table>"; 409 245 if ($i == 0) { 410 246 echo "\n<p class='err'>Keine Buchung gefunden.</p>\n"; … … 421 257 </div> 422 258 </form> 423 <?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, $style); ?>259 <?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, ""); ?> 424 260 </body> 425 261 </html> -
trunk/var/www/info/alkis/alkisfkt.php
r26 r41 1 1 <?php 2 /* alkisfkt.php2 /* Modul: alkisfkt.php 3 3 ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 4 Functions z.B. zum Entschluesseln 4 Functions 5 5 6 Version: 6 26.01.2010 internet-Version mit eigener confÂŽ 7 31.08.2010 $style=ALKIS entfernt, link zu alkislage.php 8 02.09.2010 mit Icons 7 9 */ 8 10 9 // Einen Seitenfuss ausgeben. 10 // Der URL-Parameter &id=j/n kann hinzugefuegt werden, solange die Parameter &gkz= &gmlid= 11 // in allen Modulen einheitlich und ausschlesslich vorkommen, 12 function footer($gkz, $gmlid, $idanzeige, $link, $hilfeurl, $style) { 11 function footer($gkz, $gmlid, $idanzeige, $link, $hilfeurl, $append) { 12 // Einen Seitenfuss ausgeben. 13 // Den URL-Parameter "&id=j/n" in allen Kombinationen umschalten lassen. 14 // Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor 15 16 // Der Parameter "&eig=j" wird angehaengt wenn gefuellt. // ALT 17 // Der Parameter $append wird angehaengt wenn gefuellt 18 // Anwendung: &eig=j bei FS-NW, <yp=m/p/o bei Lage 19 13 20 $customer=$_SESSION["mb_user_name"]; 14 21 echo "\n<div class='confbereich noprint'>"; 22 15 23 echo "\n<table class='outer'>\n<tr>"; 16 24 17 // Spalte 1 25 // Spalte 1: Info Benutzerkennung 18 26 echo "\n\t<td title='Info'><i>Benutzer: ".$customer."</i></td>"; 19 20 // Spalte 2 27 28 // Spalte 2: Umschalter 21 29 echo "\n\t<td title='Konfiguration'>"; 22 23 // Umschalter Testmodus (ID-Verfolgung) 24 echo "\n\t\t<a href='".$link."gkz=".$gkz."&gmlid=".$gmlid; 25 if ($idanzeige) { 26 echo "' title='Ohne Verfolgung der ALKIS-Beziehungen'>ID aus</a>"; 27 } else { 28 29 echo "&id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>ID ein</a>"; 30 } 31 echo " "; 32 33 // Umschalter fuer Darstellung der Daten 34 echo "\n\t\t<a href='".$link."gkz=".$gkz."&gmlid=".$gmlid; 35 if ($idanzeige) {echo "&id=j";} 36 If ($style == "alkis") { 37 echo "&style=kompakt' title='Kurze tabellarische Darstellung'>Kompakt</a>"; 38 } else { // kompakter Style 39 echo "&style=alkis' title='Beschreibende Darstellung'>ALKIS-Style</a>"; 40 } 41 30 // Umschalter Testmodus I D - A n z e i g e 31 echo "\n\t\t<a class='gmlid' href='".$link."gkz=".$gkz."&gmlid=".$gmlid; 32 // if ($eig <> "") echo "&eig=".$eig; // nur fuer FS-Nachw 33 if ($append <> "") echo $append; // nur fuer FS-Nachw 34 35 if ($idanzeige) { // Umschalten 36 echo "&id=n' title='Ohne Verfolgung der ALKIS-Beziehungen'>ID aus"; 37 } else { 38 echo "&id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>ID ein"; 39 } 40 echo "</a>"; 42 41 echo "\n\t</td>"; 43 42 … … 47 46 48 47 echo "\n</tr>\n</table>\n</div>\n"; 49 50 48 return 0; 51 49 } 52 // Einen Link zur Verfolgung der Beziehungen mit dem Prog alkisrelationen 50 53 51 function linkgml($gkz, $gml, $typ) { 54 $kurzid=substr($gml, 11); // kuerzen, der Anfang ist immer identisch55 echo "\n\t\t<div class='gmlid noprint' title='ID ".$typ."'>";56 echo "\n\t\t \t<a target='_blank' class='gmlid' href='alkisrelationen.php?gkz=".$gkz."&gmlid=".$gml."&otyp=".$typ."'>".$kurzid."</a>\n\t\t</div>";52 // Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php 53 $kurzid=substr($gml, 11); // ID kuerzen, der Anfang ist immer gleich 54 echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' href='alkisrelationen.php?gkz=".$gkz."&gmlid=".$gml."&otyp=".$typ."'>".$kurzid."</a>"; 57 55 return 0; 58 56 } 59 // Namensnummer kuerzen, nicht benoetigte Stufen abschneiden 57 60 58 function kurz_namnr($lang) { 61 $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende) 62 $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang) 59 // Namensnummer kuerzen. Nicht benoetigte Stufen der Dezimalklassifikation abschneiden 60 $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende) 61 $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang) 63 62 $kurz=ltrim($kurz, "0"); // fuehrende Nullen am Anfang 64 $kurz=str_replace(".0",".",$kurz); 63 $kurz=str_replace(".0",".",$kurz); // fuehrende Null jeder Stufe 65 64 return $kurz; 66 65 } 67 66 68 // ** E n t s c h l u e s s e l n ** 69 /* MUSTER 70 // Entschluesslung AX_Tab.Feld 71 function fkt_name($key) { 72 switch ($key) { 73 case ___: 74 $wert = "___"; 75 break; 76 default: 77 $wert = ""; 78 break; 79 } 80 return $wert; 81 } 67 function fs_gebietszug($con, $gemeinde, $kreis, $bezirk) { 68 // eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben 69 // Parameter = Schluesselwerte 70 // Schluessel "land" wird nicht verwendet, gibt es Bestaende wo das nicht einheitlich ist? 71 72 echo "\n<tr>\n\t<td class='ll'><img src='ico/Gemeinde.ico' width='16' height='16' alt=''> Im Gebiet von:</td>"; 73 74 // G e m e i n d e 75 $sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' AND gemeinde='".$gemeinde."' "; 76 $res=pg_query($con, $sql); 77 if (!$res) echo "<p class='err'>Fehler bei Gemeinde<br>".$sql."<br></p>"; 78 $row = pg_fetch_array($res); 79 $gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 80 echo "\n\t<td class='lr'>Gemeinde <span class='key'>(".$gemeinde.")</span> ".$gnam."<br>"; 81 82 // K r e i s 83 $sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' "; 84 $res=pg_query($con, $sql); 85 if (!$res) echo "<p class='err'>Fehler bei Kreis<br>".$sql."<br></p>"; 86 $row = pg_fetch_array($res); 87 $knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 88 echo "Kreis <span class='key'>(".$kreis.")</span> ".$knam."<br>"; 89 90 // R e g - B e z 91 $sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk='".$bezirk."' "; 92 $res=pg_query($con, $sql); 93 if (!$res) echo "<p class='err'>Fehler bei Regierungsbezirk<br>".$sql."<br></p>"; 94 $row = pg_fetch_array($res); 95 $bnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 96 echo "Regierungsbezirk <span class='key'>(".$bezirk.")</span> ".$bnam."</td>"; 97 98 // 3. Spalte fÃŒr NW-Link (in weiteren Tab-Zeilen) 99 echo "\n\t<td> </td>\n</tr>"; 100 return 0; 101 } 102 103 function fs_lage($con, $gmlid, $gkz) { 104 // Tabellenzeilen mit Lage eines FS 105 // Parameter = ID des FS 106 107 // Lagebezeichnung Mit Hausnummer 108 // ax_flurstueck >weistAuf> AX_LagebezeichnungMitHausnummer 109 // <gehoertZu< 110 $sql ="SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung "; 111 $sql.="FROM alkis_beziehungen v "; 112 $sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN 113 $sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage "; 114 $sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS"; 115 $sql.="AND v.beziehungsart='weistAuf' "; 116 $sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 117 118 // Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage 119 // bei einem SekundÀrbestand fÃŒr eine Gemeinde oder einen Kreis reicht dies hier: 120 121 //$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=s.lage "; 122 // Problem: ax_lagebezeichnungkatalogeintrag.lage ist char, 123 // ax_lagebezeichnungmithausnummer.lage ist integer, 124 125 // cast() scheitert weil auch nicht numerische Inhalte 126 //$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=cast(s.lage AS integer) "; 127 128 // http://www.postgresql.org/docs/8.3/static/functions-formatting.html 129 130 $res=pg_query($con, $sql); 131 if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer<br>\n".$sql."</p>";} 132 $j=0; 133 while($row = pg_fetch_array($res)) { 134 $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 135 //echo "<!-- Adresse -->"; 136 echo "\n<tr>\n\t"; 137 if ($j == 0) { 138 echo "<td class='ll'><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Adresse:</td>"; 139 } else { 140 echo "<td> </td>"; 141 } 142 echo "\n\t<td class='lr'><span class='key'>(".$row["lage"].")</span> ".$sname." ".$row["hausnummer"]."</td>"; 143 echo "\n\t<td><p class='nwlink noprint'><a href='alkislage.php?gkz=".$gkz."&ltyp=m&gmlid=".$row["gml_id"]."'>Lage</a></p></td>"; 144 echo "\n</tr>"; 145 $j++; 146 } 147 $z=$j; 148 149 // Lagebezeichnung Ohne Hausnummer (Gewanne oder nur Strasse) 150 // ax_flurstueck >zeigtAuf> AX_LagebezeichnungOhneHausnummer 151 // <gehoertZu< 152 $sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung "; 153 $sql.="FROM alkis_beziehungen v "; 154 $sql.="JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=v.beziehung_zu "; 155 $sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 156 // $sql.="AND l.lage=s.lage "; 157 // hier beide .lage als Char(5) 158 // in ax_lagebezeichnungKatalogeintrag mit fÃŒhrenden Nullen 159 // in ax_lagebezeichnungOhneHausnummer jedoch ohne fÃŒhrende Nullen 160 $sql.="AND l.lage=trim(leading '0' from s.lage) "; 161 // $sql.="AND cast(l.lage AS integer)=cast(s.lage AS integer) "; // Fehlversuch, auch nicht-numerische Inhalte 162 $sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS"; 163 $sql.="AND v.beziehungsart='zeigtAuf';"; //ORDER? 164 $res=pg_query($con, $sql); 165 if (!$res) echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer<br>\n".$sql."</p>"; 166 $j=0; 167 // Es wird auch eine Zeile ausgegeben, wenn kein Eintrag gefunden! 168 while($row = pg_fetch_array($res)) { 169 $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8"); 170 $skey=$row["lage"]; // Strassenschluessel 171 $lgml=$row["gml_id"]; // key der Lage 172 if (!$gewann == "") { 173 echo "\n<tr>"; 174 echo "\n\t<td class='ll'><img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''> Gewanne:</td>"; 175 echo "\n\t<td class='lr'>".$gewann."</td>"; 176 echo "\n\t<td><p class='nwlink noprint'><a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&ltyp=o&gmlid=".$lgml."'>Lage</a></p></td>"; 177 echo "\n</tr>"; 178 } 179 // Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link 180 if ($skey > 0) { 181 echo "\n<tr>"; 182 echo "\n\t<td class='ll'><img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''> Straße:</td>"; 183 echo "\n\t<td class='lr'><span class='key'>(".$skey.")</span> ".$row["bezeichnung"]."</td>"; 184 echo "\n\t<td><p class='nwlink noprint'><a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&ltyp=o&gmlid=".$lgml."'>Lage</a></p></td>"; 185 echo "\n</tr>"; 186 } 187 $j++; 188 } 189 $z=$z+$j; 190 //echo "<p class='err'>Anzahl ".$j."<br>SQL=<br>".$sql."<br></p>"; 191 return $z; // Summe der ausgegebenen Zeilen 192 } 193 194 function fs_nutz($con, $gmlid) { 195 // Tabellenzeilen (3 Sp.) mit tats. Nutzung zu einem FS ausgeben 196 // Parameter = ID des FS 197 echo "\n<tr>\n\t<td class='ll'><img src='ico/Abschnitt.ico' width='16' height='16' alt=''> Nutzungsarten:</td>"; 198 echo "\n\t<td class='ph'>(Programmteil ist noch in Arbeit)</td>"; 199 echo "\n\t<td> </td>\n</tr>"; 200 } 201 202 function bnw_fsdaten($con, $gkz, $idanzeige, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus) { 203 /* Bestandsnachweis - Flurstuecksdaten 204 Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben. 205 Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall). 206 Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen. 207 Table-Tag und Kopfzeile im aufrufenden Programm. 82 208 */ 209 210 // F L U R S T U E C K 211 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, "; 212 $sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche "; 213 $sql.="FROM ax_gemarkung g "; 214 $sql.="JOIN ax_flurstueck f ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 215 $sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von "; 216 $sql.="WHERE v.beziehung_zu='".$gml_bs."' "; // id buchungsstelle 217 $sql.="AND v.beziehungsart='istGebucht' "; 218 $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 219 $resf=pg_query($con,$sql); 220 if (!$resf) {echo "<p class='err'>Fehler bei Flurstück<br><br>".$sql."</p>\n";} 221 if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben 222 $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); 223 } 224 $altlfdnr=""; 225 $j=0; 226 while($rowf = pg_fetch_array($resf)) { 227 if ($rowf["nenner"] != "") {$fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT);} 228 $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m²"; 229 $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); 230 $fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT); 231 echo "\n<tr>"; // eine Zeile je Flurstueck 232 233 // Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS 234 if($lfdnr == $altlfdnr) { // gleiches Grundstueck 235 echo "\n\t<td> </td>\n\t<td> </td>\n\t<td> </td>"; 236 } else { 237 echo "\n\t<td><img src='ico/Grundstueck.ico' width='16' height='16' alt='' title='Grundstück' /> <span class='wichtig'>".$bvnr."</span>"; // BVNR 238 if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle");} 239 echo "</td>"; 240 echo "\n\t<td>".$ba."</td>"; // Buchungsart entschluesselt 241 echo "\n\t<td> </td>"; // Anteil 242 $altlfdnr=$lfdnr; 243 } 244 //Sp. 4-7 aus Flurstueck 245 echo "\n\t<td><span class='key'>".$rowf["gemarkungsnummer"]."</span> ".$rowf["bezeichnung"]."</td>"; 246 echo "\n\t<td>".$flur."</td>"; 247 echo "\n\t<td><span class='wichtig'>".$fskenn."</span>"; 248 if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück");} 249 echo "</td>\n\t<td class='fla'>".$flae."</td>"; 250 251 echo "\n\t<td><p class='nwlink noprint'>"; 252 echo "<a href='alkisfsnw.php?gkz=".$gkz."&gmlid=".$rowf["gml_id"]."&eig=n"; 253 if ($idanzeige) {echo "&id=j";} 254 echo "' title='Flurstücksnachweis'>Flurstück <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''></a></p></td>\n</tr>"; 255 256 $j++; 257 } // Ende Flurstueck 258 return $j; 259 } 260 261 function eigentuemer($con, $gkz, $idanzeige, $gmlid, $mitadresse) { 262 // Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben 263 // Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link 264 // Parameter: 265 // $gmlid = ID des GB-Blattes 266 // $mitadresse = Option (true/false) ob auch die Adresszeile ausgegeben werden soll 267 // Return = Anzahl Namensnummern 268 269 // Schleife 1: N a m e n s n u m m e r 270 // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt 271 272 $sql="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, "; 273 $sql.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass "; 274 $sql.="FROM ax_namensnummer n "; 275 $sql.="JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id "; 276 $sql.="WHERE b.beziehung_zu='".$gmlid."' "; // id blatt 277 $sql.="AND b.beziehungsart='istBestandteilVon' "; 278 $sql.="ORDER BY laufendenummernachdin1421;"; 279 280 $resn=pg_query($con, $sql); 281 if (!$resn) {echo "<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";} 282 283 echo "<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle 284 echo "\n<table class='eig'>"; 285 $n=0; // Z.NamNum. 286 287 //echo "\n\n<!-- vor Schleife 1 Namensnummer -->"; 288 while($rown = pg_fetch_array($resn)) { 289 echo "\n<tr>"; 290 echo "\n\t<td class='nanu' title='Namens-Nummer'><p>"; // Sp. 1 291 // VOR die Tabelle: "EigentÃŒmer" 292 $namnum=kurz_namnr($rown["lfd"]); 293 echo $namnum." "; 294 if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer");} 295 echo "</p></td>"; 296 297 echo "\n\t<td>"; // Sp. 2 298 $rechtsg=$rown["adr"]; 299 if ($rechtsg != "" ) { 300 if ($rechtsg == 9999) { // sonstiges 301 echo "<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>"; 302 } else { 303 echo "<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>"; 304 // !! Feld /td und Zeile /tr nicht geschlossen 305 // echo "\n\t</td>\n</tr>"; // !!! IMMER? oder nur wenn letzte Zeile? 306 } 307 } 308 //if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} // TEST: 309 310 //echo "\n\t\t</td>\n\t\t<td></td>\n</tr>"; 311 312 // Schleife Ebene 2: andere Namensnummern 313 // Beziehung ax_namensnummer >bestehtAusRechtsverhaeltnissenZu> ax_namensnummer 314 315 // Die Relation 'Namensnummer' besteht aus RechtsverhÀltnissen zu 'Namensnummer' sagt aus, 316 // dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können. 317 // Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer, 318 // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt. 319 320 // Die Relation 'Namensnummer' hat VorgÀnger 'Namensnummer' gibt Auskunft darÃŒber, 321 // aus welchen Namensnummern die aktuelle entstanden ist. 322 323 // Schleife 2: P e r s o n 324 // Beziehung: ax_person <benennt< ax_namensnummer 325 $sql="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 326 $sql.="FROM ax_person p "; 327 $sql.="JOIN alkis_beziehungen v ON v.beziehung_zu=p.gml_id "; 328 $sql.="WHERE v.beziehung_von='".$rown["gml_id"]."' "; // id num 329 $sql.="AND v.beziehungsart='benennt';"; 330 //echo "\n\t<p class='err'>Schleife Person SQL=<br>".$sql."</p>"; // test 331 332 $rese=pg_query($con, $sql); 333 if (!$rese) {echo "\n\t<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";} 334 $i=0; // Z.Eig. 335 //echo "\n<!-- vor Schleife 2 Person -->"; 336 while($rowe = pg_fetch_array($rese)) { 337 $diePerson=""; 338 if ($rowe["akademischergrad"] <> "") {$diePerson=$rowe["akademischergrad"]." ";} 339 $diePerson.=$rowe["nachnameoderfirma"]; 340 if ($rowe["vorname"] <> "") {$diePerson.=", ".$rowe["vorname"];} 341 if ($rowe["namensbestandteil"] <> "") {$diePerson.=". ".$rowe["namensbestandteil"];} 342 if ($rowe["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowe["geburtsdatum"];} 343 if ($rowe["geburtsname"] <> "") {$diePerson.=", geb. ".$rowe["geburtsname"];} 344 $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute 345 346 // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0 347 if ($i > 0) { 348 echo "\n<tr>\n\t<td> </td>\n\t<td>"; 349 } 350 // Spalte 2 = Angaben 351 echo "<p class='geig' title='Eigentümerart ".eigentuemerart($rown["eigentuemerart"])."'>".$diePerson."</p></td>"; 352 353 // Spalte 3 = Link 354 echo "\n\t<td><p class='nwlink noprint'>"; 355 if ($idanzeige) {linkgml($gkz, $rowe["gml_id"], "Person"); echo " ";} 356 echo "<a href='alkisnamstruk.php?gkz=".$gkz."&gmlid=".$rowe[0]; 357 if ($idanzeige) {echo "&id=j";} 358 echo "' title='vollständiger Name und Adresse eines Eigentümers'>Person <img src='ico/Eigentuemer.ico' width='16' height='16' alt=''></a></p>"; 359 echo "</td>\n</tr>"; 360 361 if ($mitadresse) { 362 // Schleife 3: A d r e s s e (OPTIONAL) 363 $sql ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland "; 364 $sql.="FROM ax_anschrift a "; 365 $sql.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu "; 366 $sql.="WHERE b.beziehung_von='".$rowe["gml_id"]."' "; 367 $sql.="AND b.beziehungsart='hat';"; // ORDER? 368 369 $resa=pg_query($con,$sql); 370 if (!$resa) { 371 echo "\n\t<p class='err'>Fehler bei Adressen.<br>\nSQL= ".$sql."</p>\n"; 372 } 373 $j=0; 374 //echo "\n<!-- vor Schleife 3 Adresse -->"; 375 while($rowa = pg_fetch_array($resa)) { 376 $gmla=$rowa["gml_id"]; 377 $plz=$rowa["plz"]; // integer 378 if($plz == 0) { 379 $plz=""; 380 } else { 381 $plz=str_pad($plz, 5, "0", STR_PAD_LEFT); 382 } 383 $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8"); 384 $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8"); 385 $hsnr=$rowa["hausnummer"]; 386 $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8"); 387 388 echo "\n<tr>\n\t<td> </td>"; // Spalte 1 389 echo "\n\t<td><p class='gadr'>"; //Spalte 2 390 if ($str.$hsnr != "") { 391 echo $str." ".$hsnr."<br>"; 392 } 393 if ($plz.$ort != "") { 394 echo $plz." ".$ort; 395 } 396 if ($land != "" and $land != "DEUTSCHLAND") { 397 echo ", ".$land; 398 } 399 echo "</p></td>"; 400 echo "\n\t<td>"; // Spalte 3 401 if ($idanzeige) { 402 echo "<p class='nwlink noprint'>"; 403 linkgml($gkz, $gmla, "Adresse"); 404 echo "</p>"; 405 } else { 406 echo " "; 407 } 408 echo "</td>\n</tr>"; 409 $j++; 410 } 411 //echo "\n<!-- nach Schleife 3 Adresse -->"; 412 } // if 413 // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG" 414 $i++; // Z. Person 415 416 // als eigene Tab-Zeile? 417 // 'Anteil' ist der Anteil der Berechtigten in Bruchteilen (Par. 47 GBO) 418 // an einem gemeinschaftlichen Eigentum (GrundstÃŒck oder Recht). 419 if ($rown["zaehler"] != "") { 420 echo "\n<tr>\n\t<td> </td>"; // Sp. 1 421 echo "\n\t<td><p class='avh' title='Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p></td>"; 422 echo "\n\t<td> </td>\n</tr>"; // Sp. 3 423 } 424 } 425 //echo "\n<!-- nach Schleife 2 Person -->"; 426 427 if ($i == 0) { // keine Pers zur NamNum 428 echo "\n<!-- Rechtsgemeinscahft='".$rechtsg."' -->"; 429 // Wann warnen? 430 //if ($rechtsg != 9999) { 431 // Art der Rechtsgemeinsachft, 0 Eigent. ist Normal bei Sondereigentum 432 //echo "\n<tr>\n<td>"; 433 //linkgml($gkz, $rown["gml_id"], "Namensnummer"); 434 //echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigentümer gefunden. (Rechtsgemeinschaft=".$rechtsg.")</p>"; 435 //} 436 echo "</td>\n\t<td> </td>\n<tr>"; 437 } 438 $n++; // cnt NamNum 439 } // End Loop NamNum 440 //echo "\n<!-- nach Schleife 1 Namensnummer -->"; 441 echo "\n</table>\n"; 442 return $n; 443 } // End Function eigentuemer 444 445 // ** Functions zum E n t s c h l u e s s e l n ** 446 83 447 // Entschluesslung ax_person.anrede 84 448 function anrede($key) { -
trunk/var/www/info/alkis/alkisfsnw.php
r26 r41 1 1 <?php 2 /* alkisfsnw.php 2 /* Modul: alkisfsnw.php 3 Version: 4 31.08.2010 $style=ALKIS entfernt, alles Kompakt 5 02.09.2010 Mit Icons 6 3 7 ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 4 8 FlurstÃŒcksnachweis fuer ein FlurstÃŒckskennzeichen aus ALKIS PostNAS 5 9 Parameter: &gkz= &gmlid= &eig=j/n 6 Version:7 26.01.2010 internet-Version mit eigener conf8 10 9 11 ToDo: NamNum >bestehtAusRechtsverhaeltnissenZu> NamNum 10 11 12 */ 12 13 ini_set('error_reporting', 'E_ALL & ~ E_NOTICE'); … … 20 21 <html> 21 22 <head> 22 <meta name="author" content="F . Jaeger">23 <meta name="author" content="Frank Jaeger" > 23 24 <meta http-equiv="cache-control" content="no-cache"> 24 25 <meta http-equiv="pragma" content="no-cache"> … … 27 28 <title>ALKIS Flurstücksnachweis</title> 28 29 <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 30 <link rel="shortcut icon" type="image/x-icon" href="ico/Flurstueck.ico"> 29 31 <style type='text/css' media='print'> 30 32 .noprint { visibility: hidden;} … … 39 41 $idanzeige=false; 40 42 if ($id == "j") {$idanzeige=true;} 41 $style=isset($_GET["style"]) ? $_GET["style"] : "kompakt";42 43 $dbname = 'alkis05' . $gkz; 43 44 $con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 44 45 45 46 // F L U R S T U E C K 46 $sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f. gemeinde, f.amtlicheflaeche, f.zeitpunktderentstehung, ";47 $sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche, f.zeitpunktderentstehung, "; 47 48 $sql.="g.gemarkungsnummer, g.bezeichnung "; 48 49 $sql.="FROM ax_flurstueck f "; … … 60 61 $flae=number_format($row["amtlicheflaeche"],0,",",".") . " m²"; 61 62 } else {echo "Fehler! Kein Treffer fuer gml_id=".$gmlid;} 63 64 // Balken 62 65 if ($eig=="j") { 63 echo "<p class='fsei'>Flurstück ".$gmkgnr."-".$flurnummer."-".$flstnummer." </p>\n"; 64 echo "\n<h2>ALKIS Flurstücks- und Eigentümernachweis</h2>\n"; 66 echo "<p class='fsei'>ALKIS Flurstück ".$gmkgnr."-".$flurnummer."-".$flstnummer." </p>\n"; 67 echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurstück mit Eigentümer</h2>\n"; 68 } else { 69 echo "<p class='fskennz'>ALKIS Flurstück ".$gmkgnr."-".$flurnummer."-".$flstnummer." </p>\n"; 70 echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurstück</h2>\n"; 65 71 } 66 else { 67 echo "<p class='fskennz'>Flurstück ".$gmkgnr."-".$flurnummer."-".$flstnummer." </p>\n"; 68 echo "\n<h2>ALKIS Flurstücksnachweis</h2>\n"; 69 } 70 echo "\n<table class='outer'>\n<tr>\n<td>"; 71 72 echo "\n<table class='outer'>\n<tr>\n\t<td>"; 73 74 // Tabelle Kennzeichen 72 75 echo "\n\t<table class='kennz' title='Flurstückskennzeichen'>\n\t<tr>"; 73 76 echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>"; 74 echo "\n\t<tr>\n\t\t<td title='Gemarkung'> ".$gmkgnr."<br>".$gemkname."</td>";77 echo "\n\t<tr>\n\t\t<td title='Gemarkung'><span class='key'>".$gmkgnr."</span><br>".$gemkname."</td>"; 75 78 echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>"; 76 echo "\n\t\t<td title='Flurstücksnummer (Zähler / Nenner)'> ".$flstnummer."</td>\n\t</tr>";77 echo "\n\t</table> \n";78 79 echo " </td>\n<td>";79 echo "\n\t\t<td title='Flurstücksnummer (Zähler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>"; 80 echo "\n\t</table>"; 81 82 echo "\n\t</td>\n\t<td>"; 80 83 81 84 // Kopf Rechts: FS-Daten 2 Spalten 82 85 echo "\n\t<table class='fsd'>"; 83 86 echo "\n\t<tr>\n\t\t<td>Entstehung</td>"; 84 echo "\n\t<td>".$row["zeitpunktderentstehung"]."</td>\n</tr>"; 85 87 echo "\n\t\t<td>".$row["zeitpunktderentstehung"]."</td>\n\t</tr>"; 86 88 echo "\n\t<tr>\n\t\t<td>letz. Fortf</td>"; 87 89 echo "\n\t\t<td title='Jahrgang / Fortführungsnummer - Fortführungsart'>".$row["name"]."</td>\n\t</tr>"; … … 89 91 if ($idanzeige) { linkgml($gkz, $gmlid, "Flurstück"); } 90 92 echo "\n\t</td>\n</tr>\n</table>"; 93 94 // echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame . "</td>\n</tr>"; 91 95 // Ende Seitenkopf 92 96 93 echo "\n<hr>\n\n<table>"; 94 95 /* echo "\n<tr>\n\t<td>Gemeinde</td>\n\t<td>".$gemeinde." ".$gemeindename."</td>\n</tr>"; 96 echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame . "</td>\n</tr>"; 97 */ 98 echo "\n<tr>\n\t<td class='ll'>Gebietszugehörigkeit:</td>"; 99 echo "\n\t<td class='lr'>Gemeinde ".$row["gemeinde"]."</td>\n</tr>"; // +++ Entschluesseln 100 101 // L A G E Adressen 102 // ax_flurstueck >weistAuf> AX_LagebezeichnungMitHausnummer 103 // <gehoertZu< 104 $sql ="SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung "; 105 $sql.="FROM alkis_beziehungen v "; 106 $sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN 107 // Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage 108 // bei einem SekundÀrbestand fÃŒr eine Gemeinde oder einen Kreis reicht dies hier: 109 110 //$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=s.lage "; 111 // Problem: ax_lagebezeichnungkatalogeintrag.lage ist char,ax_lagebezeichnungmithausnummer = integer, 112 113 // cast() scheitert weil auch nicht numerische Inhalte 114 //$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=cast(s.lage AS integer) "; 115 116 $sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage "; 117 $sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS"; 118 $sql.="AND v.beziehungsart='weistAuf' "; 119 $sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 120 //$sql.="ORDER ;"; 121 $res=pg_query($con, $sql); 122 if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer<br>\n".$sql."</p>";} 123 $j=0; 124 while($row = pg_fetch_array($res)){ 125 $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name 126 echo "\n<tr>\n\t<td class='ll'>Lage:</td>"; 127 echo "\n\t<td class='lr'>(".$row["lage"].") ".$sname." ".$row["hausnummer"]."</td>\n</tr>"; 128 $j++; 129 } 130 // L A G E Gewanne 131 // ax_flurstueck >zeigtAuf> AX_LagebezeichnungOhneHausnummer 132 // <gehoertZu< 133 $sql ="SELECT l.gml_id, l.unverschluesselt "; 134 $sql.="FROM ax_lagebezeichnungohnehausnummer l "; 135 $sql.="JOIN alkis_beziehungen v ON l.gml_id=v.beziehung_zu "; 136 $sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS"; 137 $sql.="AND v.beziehungsart='zeigtAuf';"; 138 //$sql.="ORDER "; 139 $res=pg_query($con, $sql); 140 if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer<br>\n".$sql."</p>";} 141 $j=0; 142 while($row = pg_fetch_array($res)){ 143 $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8"); 144 echo "\n<tr>\n\t<td class='ll'>Lage:</td>"; 145 echo "\n\t<td class='lr'>".$gewann."</td>\n</tr>"; 146 $j++; 147 } 148 //Flurstuecksflaeche 149 echo "\n<tr>\n\t<td class='ll'>Fläche:</td>"; 150 echo "\n\t<td class='lr'>".$flae."</td>\n</tr>"; 151 97 echo "\n<hr>"; 98 echo "\n<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle 99 echo "\n<table class='fs'>"; 100 101 // Gebietszugehörigkeit 102 fs_gebietszug($con, $row["gemeinde"], $row["kreis"], $row["regierungsbezirk"]); // Gebietszugehoerigkeit 103 104 // Lagezeilen des Flurstuecks 105 fs_lage($con, $gmlid, $gkz); // Adresse, Lagebezeichnung 106 107 // Nutzungsarten 108 fs_nutz($con, $gmlid); // Tatsaechliche Nutzung 109 110 // Flaeche und Link auf GebÀude-Auswertung 111 echo "\n<tr>"; 112 echo "\n\t<td class='ll'>Fläche:</td>"; // Sp. 1 113 echo "\n\t<td class='lr'>".$flae."</td>"; // Sp. 2 114 echo "\n\t<td>"; // Sp. 3 115 // Gebaeude-NW 116 echo "\n\t\t<p class='nwlink noprint'>"; 117 echo "\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&gmlid=".$gmlid; 118 if ($idanzeige) echo "&id=j"; 119 echo "' title='Gebäudenachweis'>Gebäude <img src='ico/Haus.ico' width='16' height='16' alt=''></a>"; 120 echo "\n\t\t</p>"; 121 echo "\n\t</td>"; 122 echo "\n</tr>"; 152 123 echo "\n</table>"; 153 124 154 // N U T Z U N G 155 //echo "\n\n<h3>Tatsächliche Nutzung</h3>\n"; 156 157 /* 158 $sql="SELECT n.nutzungsart, n.flaeche, v.bez1, v.bez2, v.bez3, v.bez4, v.kurz1, v.kurz2, v.kurz3, v.kurz4 "; 159 $sql.="FROM v_Nutzungsarten as v INNER JOIN f_Nutzungen as n ON v.nutzungsart = n.nutzungsart ".$sqlwhere; 160 $res=pg_query($con, $sql); 161 if (!$res) {echo "<p class='err'>Fehler bei tats. Nutzung<br>\n".$sql."</p>";} 162 163 echo "<table class='nua'>\n"; 164 // FlÀche hier oder oben? 165 echo "<tr>\n\t<td class='fla sum'>" .$flae."</td>\n\t<td class='key'> </td>\n\t<td>Flurstücksfläche</td>\n\t<td class='kurz'> </td>\n</tr>"; 125 // ALB: KLASSIFIZIERUNG BAULASTEN HINWEISE TEXTE VERFAHREN 126 127 // G R U N D B U C H 128 echo "\n<table class='outer'>"; 129 echo "\n<tr>"; 130 echo "\n\t<td>"; 131 echo "\n\t\t<a name='gb'></a>\n\t\t<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundbücher</h3>"; 132 echo "\n\t</td>"; 133 echo "\n\t<td>"; 134 echo "\n\t\t<p class='nwlink noprint'>"; 135 echo "\n\t\t\t<a href='".$self."gkz=".$gkz."&gmlid=".$gmlid; 136 if ($idanzeige) { echo "&id=j";} 137 // Umschalter. FS-Nachw ruft sich selbst mit geaend. Param. auf. Posit. auf Marke #gb 138 if ($eig=="j") { 139 echo "&eig=n#gb' title='Flurstücksnachweis'>ohne Eigentümer</a>"; 140 } else { 141 echo "&eig=j#gb' title='Flurstücks- und Eigentümernachweis'>mit Eigentümer</a>"; 142 } 143 echo "\n\t\t</p>"; 144 echo "\n\t</td>"; 145 echo "\n</tr>"; 166 146 echo "\n</table>\n"; 167 */ 168 169 /* 170 // ** K L A S S I F I Z I E R U N G 171 $sql="SELECT DISTINCT k.tabkenn, t.art_der_klassifizierung "; 172 $sql.="FROM k_arten_der_klassifizierung as t RIGHT JOIN f_klassifizierungen as k ON t.TabKenn = k.tabkenn "; 173 $sql.=$sqlwhere." ORDER BY k.tabkenn"; 174 $resg=pg_query($con, $sql); 175 if (!$resg) { 176 echo "<p class='err'>Fehler bei Klassifizierung Gruppen<br>\n".$sql."</p>"; 177 } 178 $i=0; 179 while($rowg = pg_fetch_row($resg)){ 180 if ($i==0) { 181 echo "\n<h3>Klassifizierung</h3>\n<table class='klas'>\n"; 182 } 183 $tabkeng = pg_fetch_result($resg,$i,"tabkenn"); 184 $tabbez = pg_fetch_result($resg,$i,"art_der_klassifizierung"); 185 echo "<tr>\n\t<td class='fla'> </td>\n\t<td class='key head'>".$tabkeng."</td>"; 186 if ($tabkeng == "32") { 187 echo "\n\t<td class='head'>Land- und Forstwirtschaft</td>"; 188 echo "\n\t<td class='head'>Bodenschätzung</td>\n\t"; 189 echo "<td class='emz head' title='ErtragsmeÃzahl'>EMZ</td>"; 190 } 191 else { 192 echo "\n\t<td class='head'>".$tabbez."</td>"; 193 echo "\n\t<td class='head'>Angaben</td>\n\t"; 194 echo "<td class='head'> </td>"; 195 } 196 echo "\n\t<td class='kurz'> </td>\n</tr>\n"; 197 // inner Loop: je Gruppe 198 $sql="SELECT k.klass, k.flaeche, v.bez1, v.bez2, v.bez3, v.kurz1, v.kurz2, v.kurz3, k.angaben "; 199 $sql.="FROM v_klassifizierungen as v INNER JOIN f_klassifizierungen as k ON v.klass = k.klass AND v.tabkenn = k.tabkenn "; 200 $sql.= $sqlwhere." AND k.tabkenn = '".$tabkeng."'"; 201 $res=pg_query($con, $sql); 202 if (!$res) { 203 echo "<p class='err'>Fehler bei Klassifizierung Abschnitt<br>\n".$sql."</p>"; 204 } 205 $j=0; 206 $flaesum=0; 207 $emzsum=0; 208 while($row = pg_fetch_row($res)){ 209 $klass = pg_fetch_result($res,$j,"klass"); 210 $flae = pg_fetch_result($res,$j,"flaeche"); 211 $flaesum = $flaesum + $flae; 212 $bez1 = htmlentities(pg_fetch_result($res,$j,"bez1"), ENT_QUOTES, "UTF-8"); 213 $bez2 = htmlentities(pg_fetch_result($res,$j,"bez2"), ENT_QUOTES, "UTF-8"); 214 $bez3 = htmlentities(pg_fetch_result($res,$j,"bez3"), ENT_QUOTES, "UTF-8"); 215 $kurz1 = pg_fetch_result($res,$j,"kurz1"); 216 $kurz2 = pg_fetch_result($res,$j,"kurz2"); 217 $kurz3 = pg_fetch_result($res,$j,"kurz3"); 218 $angab = pg_fetch_result($res,$j,"angaben"); 219 if ($tabkeng == "32" and strlen($angab) > 0) { 220 $woslash = strpos($angab, "/"); 221 if ($woslash > 0) { 222 // Streng genommen: Kataster-Rundung anwenden: .50 zum geraden Wert runden 223 $emz = round(substr($angab, $woslash+1)*$flae/100); 224 $emzsum=$emzsum+$emz; 225 } 226 } 227 else { 228 $emz = ""; 229 } 230 echo "<tr>\n\t<td class='fla'>".number_format($flae,0,",",".")." m²</td>"; 231 //echo "\n\t<td class='key'>".$tabkeng."-".$klass."</td>"; 232 echo "\n\t<td class='key'>".$klass."</td>"; 233 echo "\n\t<td>".$bez1; 234 if ($bez2 != "") { 235 echo "<br>".$bez2; 236 } 237 if ($bez3 != "") { 238 echo "<br>".$bez3; 239 } 240 // Ãnderung: Angabe in eigene Spalte 241 echo "</td>\n\t<td>".$angab."</td>\n\t<td class='emz'>".$emz."</td>\n\t<td class='kurz'>".$kurz1; 242 if ($kurz2 != "") { 243 echo "<br>".$kurz2; 244 } 245 if ($kurz2 != "") { 246 echo "<br>".$kurz3; 247 } 248 echo "</td>\n</tr>\n"; 249 $j++; 250 } 251 //Summenzeile bei mehreren Zeilen 252 if ($j > 1) { 253 echo "<tr>\n\t<td class='fla sum'>".number_format($flaesum,0,",",".")." m²</td>\n\t<td class='key'> </td>\n\t<td> </td>\n\t<td> </td>\n\t"; 254 if ($tabkeng == "32") { 255 echo "<td class='emz sum' title='Summe Ertragsmeßzahl'>".number_format($emzsum,0,",",".")."</td>"; 256 } 257 else { 258 echo "<td> </td>"; 259 } 260 echo "\n\t<td class='kurz'> </td>\n</tr>\n"; 261 } 262 if ($j > 0) { 263 echo "</table>\n"; 264 } 265 $i++; 266 } 267 */ 268 269 // ALB: BAULASTEN HINWEISE TEXTE VERFAHREN 270 271 // G R U N D B U C H 272 echo "\n<table class='outer'>\n<tr>\n\t<td>"; // link *neben* Ueberschrift 273 echo "\n\t\t<a name='gb'></a>\n\t\t<h3>Grundbücher</h3>"; 274 echo "\n\t</td>\n\t<td>"; 275 echo "\n\t\t<p class='nwlink noprint'>\n\t\t\t\t<a href='".$self."gkz=".$gkz."&gmlid=".$gmlid."&style=".$style; 276 if ($idanzeige) { echo "&id=j";} 277 // Umschalter. Ruft sich selbst mit geaend. Param. auf. Posit. auf Marke #gb 278 if ($eig=="j") {echo "&eig=n#gb' title='Flurstücksnachweis'>ohne Eigentümer</a>\n\t\t</p>"; 279 } else { echo "&eig=j#gb' title='Flurstücks- und Eigentümernachweis'>mit Eigentümer</a>\n\t\t</p>";} 280 echo "\n\t</td>\n</tr>\n</table>\n"; 281 282 283 // BUCHUNGSSTELLEn zum FS (istGebucht) 147 148 // B U C H U N G S S T E L L E N zum FS (istGebucht) 284 149 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, "; 285 150 $sql.="s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond "; … … 294 159 $bs=0; // Z.Buchungsstelle 295 160 while($rows = pg_fetch_array($ress)) { 296 // B UCHUNGSBLATTzur Buchungsstelle (istBestandteilVon)161 // B U C H U N G S B L A T T zur Buchungsstelle (istBestandteilVon) 297 162 $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, "; 298 163 $sql.="z.bezeichnung "; // stelle -> amtsgericht … … 309 174 while($rowg = pg_fetch_array($resg)) { 310 175 $beznam=$rowg["bezeichnung"]; 311 echo "\n<hr>\n<table class='outer'>\n<tr>\n<td>"; // link *neben* GB-Rahmen 312 echo "\n\t<table class='kennz' title='Bestandskennzeichen'>\n\t<tr>\n\t\t<td class='head'>Bezirk</td>"; 313 echo "\n\t\t<td class='head'>".blattart($rowg["blattart"])."</td>\n\t\t<td class='head'>Lfd-Nr,</td>\n\t\t<td class='head'>Buchungsart</td>\n\t</tr>"; 314 echo "\n\t<tr>\n\t\t<td title='Grundbuchbezirk'>".$rowg["bezirk"]."<br>".$beznam."</td>"; 315 echo "\n\t\t<td title='Grundbuch-Blatt'>".$rowg["blatt"]."</td>"; 316 echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundstück)'>".$rows["lfd"]."</td>"; 317 echo "\n\t\t<td title='Buchungsart'>".$rows["buchungsart"]."<br>".buchungsart($rows["buchungsart"])."</td>\n\t</tr>\n\t</table>"; 318 if ($rows["zaehler"] <> "") { 319 echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]." Anteil am Flurstück</p>"; 320 } 321 echo "\n</td>\n<td>"; 322 if ($idanzeige) { 323 linkgml($gkz, $rows["gml_id"], "Buchungsstelle"); 324 linkgml($gkz, $rowg["gml_id"], "Buchungsblatt"); 325 } 326 echo "<br>\n"; 327 echo "\n\t<p class='nwlink'>weitere Auskunft:<br>\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&gmlid=".$rowg[0]."&style=".$style; 328 if ($idanzeige) echo "&id=j"; 329 echo "' title='Grundbuchnachweis mit kompletter Eigentümerangabe'>GB-Nachweis</a>\n\t</p>\n</td>\n"; 330 echo "</table>"; 331 176 echo "\n<hr>\n<table class='outer'>"; 177 echo "\n<tr>"; // 1 row only 178 echo "\n\t<td>"; // Outer linke Spalte: 179 180 // Rahmen mit GB-Kennz 181 echo "\n\t<table class='kennz' title='Bestandskennzeichen'>"; 182 echo "\n\t<tr>\n\t\t<td class='head'>Bezirk</td>"; 183 echo "\n\t\t<td class='head'>".blattart($rowg["blattart"])."</td>"; 184 echo "\n\t\t<td class='head'>Lfd-Nr,</td>"; 185 echo "\n\t\t<td class='head'>Buchungsart</td>"; 186 echo "\n\t</tr>"; 187 echo "\n\t<tr>"; 188 echo "\n\t\t<td title='Grundbuchbezirk'><span class='key'>".$rowg["bezirk"]."</span><br>".$beznam."</td>"; 189 echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>"; 190 echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundstück)'>".$rows["lfd"]."</td>"; 191 echo "\n\t\t<td title='Buchungsart'><span class='key'>".$rows["buchungsart"]."</span><br>".buchungsart($rows["buchungsart"])."</td>"; 192 echo "\n\t</tr>"; 193 echo "\n\t</table>"; 194 195 if ($rows["zaehler"] <> "") { 196 echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]." Anteil am Flurstück</p>"; 197 } 198 echo "\n</td>"; 199 200 echo "\n<td>"; // Outer rechte Spalte: NW-Links 201 if ($idanzeige) { 202 linkgml($gkz, $rows["gml_id"], "Buchungsstelle"); 203 echo "<br>"; 204 linkgml($gkz, $rowg["gml_id"], "Buchungsblatt"); 205 } 206 echo "\n<br>\n"; 207 echo "\n\t<p class='nwlink'>weitere Auskunft:<br>\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&gmlid=".$rowg[0]; 208 if ($idanzeige) echo "&id=j"; 209 echo "' title='Grundbuchnachweis mit kompletter Eigentümerangabe'>Grundbuch-Blatt <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a>\n\t</p>"; 210 echo "\n</td>"; 211 echo "\n</tr>"; 212 echo "\n</table>"; 213 214 /* im Head der Tabelle bereits entschluesselt 332 215 if ($rowg["blattart"] <> "1000") { 333 216 echo "\n<p>Blattart: ".blattart($rowg["blattart"])." (".$rowg["blattart"].").<br>\n"; 334 217 } 335 218 */ 336 219 // ++++++Weitere Felder ausgeben ?????? oder in SQL weglassen 337 // +++ STYLE ?338 220 if ($rows["sond"] != "") {echo "<p>Sondereigentum: ".$rows["sond"]."</p>";} 339 221 if ($rows["nrpl"] != "") {echo "<p>Nr im A-Plan: ".$rows["nrpl"]."</p>";} 340 222 341 342 223 // E I G E N T U E M E R, zum GB 224 // Person <-benennt< AX_Namensnummer >istBestandteilVon-> AX_Buchungsblatt 343 225 if ($eig=="j") { // Wahlweise mit/ohne EigentÃŒmer 344 //echo "\n\n<h4>Eigentümer:</h4>\n"; 345 // Person <-benennt< AX_Namensnummer >istBestandteilVon-> AX_Buchungsblatt 346 347 // Schleife 1: N a m e n s n u m m e r 348 // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt 349 $sql="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, "; 350 $sql.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass "; 351 $sql.="FROM ax_namensnummer n "; 352 $sql.="JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id "; 353 $sql.="WHERE b.beziehung_zu='".$rowg["gml_id"]."' "; // id blatt 354 $sql.="AND b.beziehungsart='istBestandteilVon' "; 355 $sql.="ORDER BY laufendenummernachdin1421;"; 356 $resn=pg_query($con, $sql); 357 if (!$resn) {echo "<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";} 358 echo "\n<table class='eig'>"; 359 $n=0; // Z.NamNum. 360 while($rown = pg_fetch_array($resn)) { 361 echo "\n<tr>\n\t<td class='nanu' title='Namens-Nummer'>"; 362 // VOR die Tabelle: "EigentÃŒmer" 363 $namnum=kurz_namnr($rown["lfd"]); 364 echo "\n\t\t<p>".$namnum."</p>"; 365 if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer");} 366 echo "\n\t</td>\n\t<td>"; 367 $rechtsg=$rown["adr"]; 368 if ($rechtsg != "" ) { 369 if ($rechtsg == 9999) { // sonstiges 370 echo "\n\t\t<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>"; 371 } else { 372 echo "\n\t\t<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>"; 373 } 374 } 375 376 // Schleife 2: P e r s o n 377 // Beziehung: ax_person <benennt< ax_namensnummer 378 $sql="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 379 $sql.="FROM ax_person p "; 380 $sql.="JOIN alkis_beziehungen v ON v.beziehung_zu=p.gml_id "; 381 $sql.="WHERE v.beziehung_von='".$rown["gml_id"]."' "; // id num 382 $sql.="AND v.beziehungsart='benennt';"; 383 $rese=pg_query($con, $sql); 384 if (!$rese) echo "\n\t<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n"; 385 $i=0; // Z.Eig. 386 while($rowe = pg_fetch_array($rese)) { 387 $diePerson=""; 388 if ($rowe["akademischergrad"] <> "") $diePerson=$rowe["akademischergrad"]." "; 389 $diePerson.=$rowe["nachnameoderfirma"]; 390 if ($rowe["vorname"] <> "") $diePerson.=", ".$rowe["vorname"]; 391 if ($rowe["namensbestandteil"] <> "") $diePerson.=". ".$rowe["namensbestandteil"]; 392 if ($rowe["geburtsdatum"] <> "") $diePerson.=", geb. ".$rowe["geburtsdatum"]; 393 if ($rowe["geburtsname"] <> "") $diePerson.=", geb. ".$rowe["geburtsname"]; 394 $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute 395 // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0 396 if ($i > 0) {echo "\n<tr>\n\t<td></td>\n\t<td>";} 397 // Spalte 2 = Angaben 398 echo "\n\t\t<p class='geig' title='Eigentümerart ".eigentuemerart($rown["eigentuemerart"])."'>".$diePerson."</p>\n\t</td>"; 399 // Spalte 3 = Link 400 echo "\n\t<td>\n\t\t<p class='nwlink noprint'>\n\t\t\t<a href='alkisnamstruk.php?gkz=".$gkz."&gmlid=".$rowe[0]."&style=".$style; 401 if ($idanzeige) { echo "&id=j";} 402 echo "' title='vollständiger Name und Adresse eines Eigentümers'>Person</a>\n\t\t</p>"; 403 if ($idanzeige) { linkgml($gkz, $rowe["gml_id"], "Person");} 404 echo "\n\t</td>\n</tr>"; 405 $i++; // Z. Person 406 if ($rown["zaehler"] <> "") { 407 echo "\n<tr>\n\t<td></td>\n\t<td><p class='avh' title='Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p>"; 408 echo "\n</td>\n\t<td></td>\n</tr>"; 409 } 410 } 411 /* Wann warnen ? 412 Beispiel: NamNum mit "Erbengemeinschaft" >bestehtAusRechtsverhaeltnissenZu> andere NamNum 413 if ($i == 0) { // keine Pers zur NamNum 414 if ($rechtsg != 9999) { // Normal bei Sondereigentum 415 echo "\n<tr>\n<td>"; 416 linkgml($gkz, $rown["gml_id"], "Namensnummer"); 417 echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigentümer gefunden.</p>"; 418 echo "\n\t\t\n\t</td>\n\t<td></td>\n<tr>"; 419 } 420 } 421 */ 422 $n++; // Z.NamNum 423 } 424 echo "\n</table>\n"; 425 if ($n == 0) { 226 // echo "\n\n<h4>Eigentümer:</h4>\n"; 227 $gmlblatt = $rowg["gml_id"]; // id blatt 228 $n = eigentuemer($con, $gkz, $idanzeige, $gmlblatt, false); // hier ohne Adresse 229 if ($n == 0) { 426 230 if ($rowg["blattart"] == 1000) { 427 231 echo "\n<p class='err'>Keine Namensnummer gefunden.</p>"; 428 232 linkgml($gkz, $rowg["gml_id"], "Buchungsblatt"); 429 233 } else { 430 echo "\n<p> dazu keine Eigentümer.</p>";431 linkgml($gkz, $rowg["gml_id"], "Buchungsblatt");234 echo "\n<p>ohne Eigentümer.</p>"; 235 // if ($idanzeige) {linkgml($gkz, $rowg["gml_id"], "Buchungsblatt");} // ist schon sichtbar 432 236 } 433 237 } 434 } // Ende Option EigentuemerNW238 } 435 239 $bl++; 436 240 } … … 440 244 } 441 245 // Test BEGINN 442 //echo "\n<p>Buchungsstelle ".$rows["gml_id"]."</p>";443 //if ($idanzeige) {linkgml($gkz, $rows["gml_id"], "Buchungsstelle");}246 //echo "\n<p>Buchungsstelle ".$rows["gml_id"]."</p>"; 247 //if ($idanzeige) {linkgml($gkz, $rows["gml_id"], "Buchungsstelle");} 444 248 // Test ENDE 445 249 … … 464 268 while($rowan = pg_fetch_array($resan)) { 465 269 $beznam=$rowan["bezeichnung"]; 466 echo "\n<hr>\n<table class='outer'>\n<tr>\n<td>"; // link *neben* GB-Rahmen 467 echo "\n\t<table class='kennz' title='Bestandskennzeichen'>\n\t<tr>\n\t\t<td class='head'>Bezirk</td>"; 468 echo "\n\t\t<td class='head'>".blattart($rowan["blattart"])."</td>\n\t\t<td class='head'>Lfd-Nr,</td>\n\t\t<td class='head'>Buchungsart</td>\n\t</tr>"; 469 echo "\n\t<tr>\n\t\t<td title='Grundbuchbezirk'>".$rowan["bezirk"]."<br>".$beznam."</td>"; 470 echo "\n\t\t<td title='Grundbuch-Blatt'>".$rowan["blatt"]."</td>"; 471 echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundstück)'>".$rowan["lfd"]."</td>"; 472 echo "\n\t\t<td title='Buchungsart'>".$rowan["buchungsart"]."<br>".buchungsart($rowan["buchungsart"])."</td>\n\t</tr>\n\t</table>"; 473 if ($rowan["zaehler"] <> "") { 474 echo "\n<p class='ant'>".$rowan["zaehler"]."/".$rowan["nenner"]." Anteil am Flurstück</p>"; 475 } 476 echo "\n</td>\n<td>"; 477 if ($idanzeige) { 478 linkgml($gkz, $rowan["s_gml"], "Buchungsstelle"); 479 linkgml($gkz, $rowan["g_gml"], "Buchungsblatt"); 480 } 481 echo "<br>\n"; 482 echo "\n\t<p class='nwlink'>weitere Auskunft:<br>\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&gmlid=".$rowan["g_gml"]."&style=".$style; 483 if ($idanzeige) echo "&id=j"; 484 echo "' title='Grundbuchnachweis mit kompletter Eigentümerangabe'>GB-Nachweis</a>\n\t</p>\n</td>\n"; 485 echo "</table>"; 270 echo "\n<hr>\n<table class='outer'>"; 271 echo "\n<tr>"; // 1 row only 272 echo "\n<td>"; // outer linke Spalte 273 274 // Rahmen mit Kennzeichen GB 275 echo "\n\t<table class='kennz' title='Bestandskennzeichen'>"; 276 echo "\n\t<tr>"; 277 echo "\n\t\t<td class='head'>Bezirk</td>"; 278 echo "\n\t\t<td class='head'>".blattart($rowan["blattart"])."</td>"; 279 echo "\n\t\t<td class='head'>Lfd-Nr,</td>"; 280 echo "\n\t\t<td class='head'>Buchungsart</td>"; 281 echo "\n\t</tr>"; 282 echo "\n\t<tr>"; 283 echo "\n\t\t<td title='Grundbuchbezirk'><span class='key'>".$rowan["bezirk"]."</span><br>".$beznam."</td>"; 284 echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowan["blatt"]."</span></td>"; 285 echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundstück)'>".$rowan["lfd"]."</td>"; 286 echo "\n\t\t<td title='Buchungsart'><span class='key'>".$rowan["buchungsart"]."</span><br>".buchungsart($rowan["buchungsart"])."</td>"; 287 echo "\n\t</tr>"; 288 echo "\n\t</table>"; 289 if ($rowan["zaehler"] <> "") { 290 echo "\n<p class='ant'>".$rowan["zaehler"]."/".$rowan["nenner"]." Anteil am Flurstück</p>"; 291 } 292 echo "\n</td>"; 293 echo "\n<td>"; // outer rechte Spalte 294 if ($idanzeige) { 295 linkgml($gkz, $rowan["s_gml"], "Buchungsstelle"); 296 echo "<br>"; 297 linkgml($gkz, $rowan["g_gml"], "Buchungsblatt"); 298 } 299 echo "\n<br>"; 300 echo "\n\t<p class='nwlink'>weitere Auskunft:<br>\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&gmlid=".$rowan["g_gml"]; 301 if ($idanzeige) echo "&id=j"; 302 echo "' title='Grundbuchnachweis mit kompletter Eigentümerangabe'>GB-Nachweis</a>\n\t</p>"; 303 echo "\n\t</td>"; 304 echo "\n</tr>"; 305 echo "\n</table>"; 486 306 487 307 if ($rowan["blattart"] <> "1000") { … … 490 310 491 311 // +++ Weitere Felder ausgeben oder in SQL weglassen?? 492 // +++ STYLE ?493 312 if ($rowan["sond"] != '') {echo "<p>Sondereigentum: ".$rowan["sond"]."</p>";} 494 313 if ($rowan["nrpl"] != '') {echo "<p>Nr im A-Plan: ".$rowan["nrpl"]."</p>";} 495 314 496 315 if ($eig=="j") { 497 echo "\n<p>Eigentümer vorlÀufig dem GB-Nachweis entnehmen.</p>"; 316 //echo "\n<p>Eigentümer vorlÀufig dem GB-Nachweis entnehmen.</p>"; 317 $gmlblatt = $rowan["g_gml"]; // id blatt 318 $n = eigentuemer($con, $gkz, $idanzeige, $gmlblatt, false); // ohne Adresse 319 // Anzahl $n kontrollieren? Warnen? 498 320 } 499 // +++ Lösung: Den Teil EigentÃŒmer (Namensnummer > Person, siehe oben)500 // als Funktion auslagern und hier erneut aufrufen501 502 321 $an++; 503 322 } … … 520 339 </form> 521 340 522 <?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, $style); ?>341 <?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, "&eig=".$eig); ?> 523 342 524 343 </body> -
trunk/var/www/info/alkis/alkisgebaeudenw.php
r34 r41 1 1 <?php 2 /* alkis fsnw.php2 /* alkisgebaeudenw.php - Gebaeudenachweis 3 3 ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 4 Flurstücksnachweis fuer ein Flurstückskennzeichen aus ALKIS PostNAS5 4 Parameter: &gkz= &gmlid= &eig=j/n 6 5 Version: 7 26.01.2010 internet-Version mit eigener conf 8 9 ToDo: NamNum >bestehtAusRechtsverhaeltnissenZu> NamNum 10 6 27.08.2010 von WhereGroup uebernommen 7 31.08.2010 Link zum FS-NW, Lage 8 01.09.2010 RLP-Daten: keine Relation Nebengebaeude->LagePseudonummer 9 Spalte lfd.-Nr raus wegen Verwechslungsgefhr mit lfd-Nr.-Nebengebaeuude 10 02.09.2010 Mit Icons 11 11 */ 12 12 ini_set('error_reporting', 'E_ALL & ~ E_NOTICE'); 13 13 session_start(); 14 14 // Bindung an Mapbender-Authentifizierung 15 #require_once("/data/mapwww/http/php/mb_validateSession.php"); 16 #require_once("/data/conf/alkis_www_conf.php"); 17 18 #AE 19 require_once(dirname(__FILE__)."/../../../php/mb_validateSession.php"); 20 require_once(dirname(__FILE__)."/../../../../conf/alkis_www_conf.php"); 21 15 require_once("/data/mapwww/http/php/mb_validateSession.php"); 16 require_once("/data/conf/alkis_www_conf.php"); 17 #require_once(dirname(__FILE__)."/../../../../php/mb_validateSession.php"); 18 #require_once(dirname(__FILE__)."/../../../../conf/alkis_conf.php"); 22 19 include("alkisfkt.php"); 23 20 ?> … … 25 22 <html> 26 23 <head> 27 <meta name="author" content="F . Jaeger">24 <meta name="author" content="Frank Jaeger" > 28 25 <meta http-equiv="cache-control" content="no-cache"> 29 26 <meta http-equiv="pragma" content="no-cache"> … … 32 29 <title>ALKIS Gebäudenachweis</title> 33 30 <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 31 <link rel="shortcut icon" type="image/x-icon" href="ico/Haus.ico"> 34 32 <style type='text/css' media='print'> 35 33 .noprint { visibility: hidden;} … … 40 38 $gkz=urldecode($_REQUEST["gkz"]); 41 39 $gmlid=urldecode($_REQUEST["gmlid"]); 42 $eig=urldecode($_REQUEST["eig"]);43 40 $id = isset($_GET["id"]) ? $_GET["id"] : "n"; 44 41 $idanzeige=false; … … 48 45 $con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 49 46 50 // Gebaeude 51 $sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, "; 52 $sql.="round(area(g.wkb_geometry)::numeric,2) as flaeche, g.description, g.bauweise, g.gebaeudefunktion, "; 53 $sql.="h.bauweise_id, h.bauweise_beschreibung "; 54 $sql.="FROM ax_flurstueck f, ax_gebaeude g LEFT JOIN ax_bauweise_gebaeude h ON g.bauweise = h.bauweise_id "; 55 $sql.="WHERE f.gml_id='".$gmlid."' "; 56 $sql.="and within(g.wkb_geometry,f.wkb_geometry) = true order by flaeche DESC;"; 57 58 // echo $sql; 59 $res=pg_query($con,$sql); 60 if (!$res) echo "\n<p class='err'>Fehler bei Flurstuecksdaten\n<br>".$sql."</p>\n"; 61 if ($row = pg_fetch_array($res)) { 62 $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); 63 #$gmkgnr=$row["gemarkungsnummer"]; 64 $flurnummer=$row["flurnummer"]; 65 $flstnummer=$row["zaehler"]; 66 $nenner=$row["nenner"]; 47 // Flurstueck 48 $sqlf ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, "; 49 $sqlf.="g.gemarkungsnummer, g.bezeichnung "; 50 $sqlf.="FROM ax_flurstueck f "; 51 $sqlf.="JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 52 $sqlf.="WHERE f.gml_id='".$gmlid."';"; 53 $resf=pg_query($con,$sqlf); 54 if (!$resf) echo "\n<p class='err'>Fehler bei Flurstücksdaten\n<br>".$sqlf."</p>\n"; 55 if ($rowf = pg_fetch_array($resf)) { 56 $gemkname=htmlentities($rowf["bezeichnung"], ENT_QUOTES, "UTF-8"); 57 $gmkgnr=$rowf["gemarkungsnummer"]; 58 $flurnummer=$rowf["flurnummer"]; 59 $flstnummer=$rowf["zaehler"]; 60 $nenner=$rowf["nenner"]; 67 61 if ($nenner > 0) $flstnummer.="/".$nenner; // BruchNr 68 $flstflaeche = $row["amtlicheflaeche"] ; 69 $gesamtflaechegebaeude = $row["flaeche"]; 70 $flstflaeche_minus_gesamtflaechegebaeude = 0; 71 72 while($row = pg_fetch_array($res)) { 73 $gesamtflaechegebaeude = $gesamtflaechegebaeude + $row["flaeche"]; 74 } 75 $flstflaeche_minus_gesamtflaechegebaeude = number_format(($flstflaeche - $gesamtflaechegebaeude),0,",",".") . " m²"; 76 $flstflaeche = number_format($flstflaeche,0,",",".") . " m²"; 77 $gesamtflaechegebaeude = number_format($gesamtflaechegebaeude,0,",",".") . " m²"; 78 79 } else {echo "Fehler! Kein Treffer fuer gml_id=".$gmlid;} 80 if ($eig=="j") { 81 echo "<p class='fsei'>Flurstück ".$gmkgnr."-".$flurnummer."-".$flstnummer." </p>\n"; 82 echo "\n<h2>ALKIS Gebäudenachweis</h2>\n"; 62 $flstflaeche = $rowf["amtlicheflaeche"] ; 63 } else { 64 echo "<p class='err'>Fehler! Kein Treffer fuer gml_id=".$gmlid."</p>"; 83 65 } 84 else { 85 echo "<p class='fskennz'>Flurstück ".$gmkgnr."-".$flurnummer."-".$flstnummer." </p>\n"; 86 echo "\n<h2>ALKIS Flurstücksnachweis</h2>\n"; 87 } 66 67 // Balken 68 echo "<p class='geb'>ALKIS Flurstück (Gebäude) ".$gmkgnr."-".$flurnummer."-".$flstnummer." </p>\n"; 69 70 echo "\n<h2><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurstück (Gebäude)</h2>\n"; 71 72 // Kennzeichen in Rahmen 88 73 echo "\n<table class='outer'>\n<tr>\n<td>"; 89 90 echo "\n\t<table class='kennz' title='Flurstückskennzeichen'>\n\t<tr>"; 91 echo "\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>"; 92 echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>"; 93 echo "\n\t\t<td title='Flurstücksnummer (Zähler / Nenner)'>".$flstnummer."</td>\n\t</tr>"; 94 echo "\n\t</table>\n"; 95 echo "\n<p class='fsd'>Flurstücksfläche: <b>".$flstflaeche."</b></p>\n"; 96 echo "\n<p class='fsd'>Flurstücksfläche abzüglich Gebäudefläche: <b>".$flstflaeche_minus_gesamtflaechegebaeude."</b></p>\n"; 97 echo "\n<p class='fsd'>Gesamtfläche Gebäude: <b>".$gesamtflaechegebaeude."</b></p>\n"; 98 99 100 echo "</td>\n<td>"; 101 74 echo "\n\t<table class='kennz' title='Flurstückskennzeichen'>"; 75 echo "\n\t<tr>"; 76 echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>"; 77 echo "\n\t</tr>"; 78 echo "\n\t<tr>"; 79 echo "\n\t\t<td title='Gemarkung'><span class='key'>".$gmkgnr."</span><br>".$gemkname."</td>"; 80 echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>"; 81 echo "\n\t\t<td title='Flurstücksnummer (Zähler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>"; 82 echo "\n\t</tr>"; 83 echo "\n\t</table>"; 84 echo "\n</td>\n<td>"; 85 86 // Links zu anderen Nachweisen 87 echo "\n\t<p class='nwlink noprint'>"; 88 echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&gmlid=".$gmlid; 89 if ($idanzeige) {echo "&id=j";} 90 echo "&eig=n' title='Flurstücksnachweis'>Flurstück <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''></a>"; 91 echo "\n\t</p>"; 92 93 if ($idanzeige) { linkgml($gkz, $gmlid, "Flurstück"); } 102 94 echo "\n\t</td>\n</tr>\n</table>"; 103 95 // Ende Seitenkopf 104 96 105 echo "\n<h2>Auflistung der Gebäude</h2>"; 106 107 $res=pg_query($con,$sql); 108 if (!$res) echo "\n<p class='err'>Keine Gebäude.<br>\nSQL= ".$sql."</p>\n"; 109 $gebnr=0; 110 echo "\n<hr>\n<table class='outer'>\n<tr>\n"; // link *neben* GB-Rahmen 111 echo "\n\t\t<td class='head'>Lfd. Nr.</td>"; 112 echo "\n\t\t<td class='head'>Fläche</td>"; 113 echo "\n\t\t<td class='head'>Gebäudefunktion</td>"; 114 echo "\n\t\t<td class='head'>Bauweise</td>"; 115 echo "\n\t\t<td class='head'>Beschreibung</td>\n\t\t</tr>"; 116 while($row = pg_fetch_array($res)) { 97 echo "\n<p class='fsd'>Flurstücksfläche: <b>".number_format($flstflaeche,0,",",".") . " m²</b></p>"; 98 99 echo "\n\n<h3><img src='ico/Haus.ico' width='16' height='16' alt=''> Gebäude</h3>"; 100 echo "\n<p>.. auf oder an dem Flurstück. Ermittelt durch Verschneidung der Geometrie.</p>"; 101 102 // G e b a e u d e 103 $sqlg ="SELECT g.gml_id, g.name, g.description, g.bauweise, g.gebaeudefunktion, "; 104 $sqlg.=" h.bauweise_beschreibung, u.bezeichner, v.beziehungsart, v.beziehung_zu, l.hausnummer, "; 105 106 // Gebaeudeflaeche komplett auch ausserhalb des FS 107 $sqlg.="round(area(g.wkb_geometry)::numeric,2) AS gebflae, "; 108 109 // wie viel vom GEB liegt im FS? 110 $sqlg.="round(st_area(ST_Intersection(g.wkb_geometry,f.wkb_geometry))::numeric,2) AS schnittflae, "; 111 112 // liegt das GEB komplett im FS? 113 $sqlg.="st_within(g.wkb_geometry,f.wkb_geometry) as drin "; 114 115 // FS und GEB geometrisch verschneiden 116 $sqlg.="FROM ax_flurstueck f, ax_gebaeude g "; 117 118 // Entschluesseln 119 $sqlg.="LEFT JOIN ax_bauweise_gebaeude h ON g.bauweise = h.bauweise_id "; 120 $sqlg.="LEFT JOIN ax_gebaeude_gebaeudefunktion u ON g.gebaeudefunktion = u.wert "; 121 122 // Beziehungen verfolgen (holt die Hausnummer) 123 $sqlg.="LEFT JOIN alkis_beziehungen v ON g.gml_id=v.beziehung_von "; 124 $sqlg.="LEFT JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; 125 126 // auch die Nebengebaeude-Pseudo-Nummern suchen? 127 // $sqlg.="LEFT JOIN ax_lagebezeichnungmitpseudonummer p ON v.beziehung_zu=p.gml_id "; 128 129 // ID des aktuellen FS 130 $sqlg.="WHERE f.gml_id='".$gmlid."' "; 131 132 // ALT: "within" liefert nur Gebaeude, die komplett im Flurstueck liegen 133 //$sqlg.="AND within(g.wkb_geometry,f.wkb_geometry) = true "; 134 135 // "intersects" liefert ueberlappende Flaechen 136 $sqlg.="AND st_intersects(g.wkb_geometry,f.wkb_geometry) = true "; 137 138 // RLP: keine Relationen zu Nebengebaeuden: 139 // auf Qualifizierung verzichten, sonst werden NebengebÀude nicht angezeigt 140 //$sqlg.="AND (v.beziehungsart='zeigtAuf' OR v.beziehungsart='hat') "; 141 142 $sqlg.="ORDER BY schnittflae DESC;"; 143 144 // Problem: HsNr ist linksbuedig Char: 145 //$sqlg.="ORDER BY hausnummer, flaeche DESC;"; 146 147 // ax_gebaeude (zeigtAuf) ax_LagebezeichnungMitHausnummer (HauptgebÀude) 148 // ax_gebaeude (hat) ax_LagebezeichnungMitPseudonummer (NebengebÀude) 149 $resg=pg_query($con,$sqlg); 150 if (!$resg) { 151 echo "\n<p class='err'>Keine Gebäude ermittelt.<br>\nSQL=<br></p>\n"; 152 echo "\n<p class='err'>".$sqlg."</p>\n"; 153 } 154 155 $gebnr=0; 156 echo "\n<hr>\n<table class='geb'>"; 157 // Header 158 echo "\n<tr>\n"; 159 //echo "\n\t<td class='head' title='laufende Nummer'>Lfd. Nr.</td>"; // 1 160 echo "\n\t<td class='head' title='ggf. Hausnummer und/oder Gebäudename'>Nr/Name</td>"; // 2 161 echo "\n\t<td class='head fla' title='Schnittsfläche'>Fläche</td>"; // 3 162 echo "\n\t<td class='head' title='Gebäudefläche'> </td>"; 163 echo "\n\t<td class='head' title='Gebäudefunktion ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Gebäudes'>Funktion</td>"; 164 echo "\n\t<td class='head' title='Bauweise (Schlüssel und Beschreibung)'>Bauweise</td>"; // 5 165 echo "\n\t<td class='head nwlink' title='Typ von .. und Link zur Lagebezeichnung'>Lage</td>"; // 6 166 echo "\n</tr>"; 167 // Body 168 while($rowg = pg_fetch_array($resg)) { 117 169 $gebnr = $gebnr + 1; 118 echo "\n\t<tr>"; 119 echo "\n\t\t<td title='Nr'>".$gebnr."</td>"; 120 echo "\n\t\t<td title='Fläche'>".$row["flaeche"]. " m²". "</td>"; 121 echo "\n\t\t<td title='Gebäudefunktion'>".$row["gebaeudefunktion"]. "</td>"; 122 echo "\n\t\t<td title='Bauweise'>".$row["bauweise_beschreibung"]. "</td>"; 123 echo "\n\t\t<td title='Beschreibung'>".$row["description"]. "</td>"; 124 echo "\n\t</tr>\n\t"; 170 $gebflsum = $gebflsum + $rowg["schnittflae"]; 171 echo "\n<tr>"; 172 //echo "\n\t<td>".$gebnr."</td>"; // 1 173 echo "\n\t<td>".$rowg["hausnummer"]." ".$rowg["name"]; 174 if ($idanzeige) { 175 linkgml($gkz, $rowg["gml_id"], "Gebäude"); 176 } 177 echo "</td>"; // 2 178 if ($rowg["drin"] == "t") { // 3 komplett enthalten 179 echo "\n\t<td class='fla'>".$rowg["schnittflae"]." m²</td>"; 180 echo "\n\t<td> </td>"; 181 } else { 182 if ($rowg["schnittflae"] == "0.00") { // angrenzend 183 echo "\n\t<td class='fla'> </td>"; 184 echo "\n\t<td>angrenzend</td>"; 185 } else { // Teile enthalten 186 echo "\n\t<td class='fla'>".$rowg["schnittflae"]." m²</td>"; 187 echo "\n\t<td>(von ".$rowg["gebflae"]." m²)</td>"; 188 } 189 } 190 echo "\n\t<td><span class='key'>".$rowg["gebaeudefunktion"]."</span> ".$rowg["bezeichner"]."</td>"; // 4 191 echo "\n\t<td><span class='key'>".$rowg["bauweise"]."</span> ".$rowg["bauweise_beschreibung"]."</td>"; // 5 192 echo "\n\t<td class='nwlink noprint'>"; 193 $bezieh=$rowg["beziehungsart"]; 194 if (!$bezieh == "" ) { 195 switch ($bezieh) { 196 case "hat": // *P*seudonummer 197 echo "\n\t\t<a title='Lagebezeichnung' href='alkislage.php?gkz=".$gkz."&gmlid=".$rowg["beziehung_zu"]."&ltyp=p'>lfd-Nr</a>"; 198 break; 199 case "zeigtAuf": // *M*it HausNr 200 echo "\n\t\t<a title='Lagebezeichnung' href='alkislage.php?gkz=".$gkz."&gmlid=".$rowg["beziehung_zu"]."&ltyp=m'>Haus-Nr</a>"; 201 break; 202 default: 203 echo "<p>unbekannte Beziehungsart ".$bezieh."</p>"; 204 break; 205 } 206 } 207 echo "\n\t</td>"; 208 echo "\n</tr>"; 125 209 } 126 echo "</table>"; 210 // Footer 211 if ($gebnr == 0) { 212 echo "\n</table>"; 213 echo "<p class='err'><br>Keine Gebäude auf diesem Flurstück.<br> </p>"; 214 } else { 215 echo "\n<tr>"; 216 echo "\n\t<td>Summe:</td>"; // 1 217 echo "\n\t<td class='fla sum'>".number_format($gebflsum,0,",",".")." m²</td>"; 218 echo "\n\t<td> </td>"; // 3 219 echo "\n\t<td> </td>"; // 4 220 echo "\n\t<td> </td>"; // 5 221 echo "\n\t<td> </td>"; // 6 222 echo "\n</tr>"; 223 echo "\n</table>"; 224 $unbebaut = number_format(($flstflaeche - $gebflsum),0,",",".") . " m²"; 225 echo "\n<p>Flurstücksfläche abzüglich Gebäudefläche: <b>".$unbebaut."</b></p>"; 226 } 227 228 // Diese Berechnung beruht auf der Annahme, dass alle gefundenen Gebaeude vollstaendig innerhalb 229 // des Flurstuecks liegen. Fehler bei GebÀuden auf der Grenze. 230 231 //echo "\n<p class='err'>".$sqlg."</p>\n"; 232 127 233 ?> 128 129 234 <form action=''> 130 235 <div class='buttonbereich noprint'> … … 136 241 </form> 137 242 138 <?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, $style); ?>243 <?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, ""); ?> 139 244 140 245 </body> -
trunk/var/www/info/alkis/alkisnamstruk.php
r26 r41 1 1 <?php 2 /* alkisnamstruk.php 2 /* Modul: alkisnamstruk.php 3 Version: 4 30.08.2010 $style=ALKIS entfernt, alles Kompakt 5 02.09.2010 Mit Icons 6 3 7 ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 4 8 Namens- und Adressdaten fuer einen Eigentuemer aus ALKIS PostNAS 5 9 Parameter: &gkz= &gmlid= 6 Version: 7 26.01.2010 internet-Version mit eigener conf 8 9 ToDo: Sortierung der Rundbücher zum Namen: 10 z.B. Firma Vivacon Immobilien 11 ID= DENW17AL0000Y1hr 10 11 ToDo: 12 1. Sortierung der Grundbücher zum Namen 13 2. ID ein auch für Buchungsstelle 12 14 */ 13 15 ini_set('error_reporting', 'E_ALL & ~ E_NOTICE'); … … 21 23 <html> 22 24 <head> 23 <meta name="author" content="F . Jaeger">25 <meta name="author" content="Frank Jaeger" > 24 26 <meta http-equiv="cache-control" content="no-cache"> 25 27 <meta http-equiv="pragma" content="no-cache"> … … 28 30 <title>ALKIS Person und Adresse</title> 29 31 <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 32 <link rel="shortcut icon" type="image/x-icon" href="ico/Eigentuemer_2.ico"> 33 <style type='text/css' media='print'> 34 .noprint { visibility: hidden;} 35 </style> 30 36 </head> 31 37 <body> … … 36 42 $idanzeige=false; 37 43 if ($id == "j") {$idanzeige=true;} 38 $style=isset($_GET["style"]) ? $_GET["style"] : "kompakt";39 44 $dbname = 'alkis05' . $gkz; 40 45 $con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 41 echo "<p class='nakennz'>Name id=".$gmlid." </p>\n"; 42 echo "\n<h2>Person</h2>\n"; 46 47 // Balken 48 echo "<p class='nakennz'>ALKIS Name id=".$gmlid." </p>\n"; 49 50 echo "\n<h2><img src='ico/Eigentuemer.ico' width='16' height='16' alt=''> Person</h2>\n"; 43 51 if (!$con) "\n<p class='err'>Fehler beim Verbinden der DB</p>\n"; 44 52 $sql="SELECT nachnameoderfirma, anrede, vorname, geburtsname, geburtsdatum, namensbestandteil, akademischergrad "; … … 64 72 65 73 // A d r e s s e 66 echo "\n<h3> Adresse</h3>\n";74 echo "\n<h3><img src='ico/Strasse_mit_Haus.ico' width='16' height='16' alt=''> Adresse</h3>\n"; 67 75 $sql ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland "; 68 76 $sql.="FROM ax_anschrift a "; … … 97 105 98 106 // *** G R U N D B U C H *** 99 echo "\n<hr>\n<h3> Grundbücher</h3>\n";107 echo "\n<hr>\n<h3><img src='ico/Grundbuch_zu.ico' width='16' height='16' alt=''> Grundbücher</h3>\n"; 100 108 // person <benennt< namensnummer >istBestandteilVon> Buchungsblatt 101 109 // >bestehtAusRechtsverhaeltnissenZu> namensnummer (Nebenzweig/Sonderfälle?) … … 138 146 139 147 echo "\n\t<td class='gbl'>"; 140 echo "<p class='nwlink noprint'><a href='alkisbestnw.php?gkz=".$gkz."&gmlid=".$gmlg."&style=".$style; 141 if ($idanzeige) { echo "&id=j";} 142 echo "' title='Bestandsnachweis'>GB-Nachw.</a></p>"; 148 echo "<p class='nwlink noprint'>"; 149 echo "<a href='alkisbestnw.php?gkz=".$gkz."&gmlid=".$gmlg; 150 if ($idanzeige) { echo "&id=j";} 151 echo "' title='Bestandsnachweis'>Grundbuch-Blatt <img src='ico/GBBlatt_link.ico' width='16' height='16' alt=''></a></p>"; 143 152 if ($idanzeige) { 144 153 linkgml($gkz, $gmlg, "Grundbuchblatt"); … … 155 164 if ($i == 0) {echo "\n<p class='err'>Kein Grundbuch.</p>\n";} 156 165 } else { 157 echo "\n\t<p class='err'>Fehler! Kein Treffer für\n\t<a target='_blank' href='alkisrelationen.php?gkz=".$gkz."&gmlid=".$gmlid." &style=".$style."'>".$gmlid."</a>\n</p>\n\n";166 echo "\n\t<p class='err'>Fehler! Kein Treffer für\n\t<a target='_blank' href='alkisrelationen.php?gkz=".$gkz."&gmlid=".$gmlid."'>".$gmlid."</a>\n</p>\n\n"; 158 167 } 159 168 ?> … … 167 176 </form> 168 177 169 <?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, $style); ?>178 <?php footer($gkz, $gmlid, $idanzeige, $self, $hilfeurl, ""); ?> 170 179 171 180 </body> -
trunk/var/www/info/alkis/alkisrelationen.php
r26 r41 1 1 <?php 2 /* alkisrelationen.php 2 /* Modul: alkisrelationen.php 3 Version: 4 30.08.2010 $style=ALKIS entfernt, alles Kompakt 5 02.09.2010 Mit Icons 6 3 7 ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo). 4 8 Verfolgt die Beziehungen von ALKIS-Objekten in der Tabelle 'alkis_beziehungen'. 5 9 Link durch "&id=j;" in den anderen Modulen zuschaltbar. 6 Ist eher fuer die Entwicklung der Auskunft gedacht (Sonderfaelle) alsfuer den Anwender.10 Dies ist fuer die Entwicklung der Auskunft gedacht (Sonderfaelle) nicht fuer den Anwender. 7 11 Parameter: gkz, gml_id 8 Version:9 26.01.2010 internet-Version mit eigener conf10 12 */ 11 13 ini_set('error_reporting', 'E_ALL'); … … 18 20 <html> 19 21 <head> 20 <meta name="author" content="F . Jaeger">22 <meta name="author" content="Frank Jaeger" > 21 23 <meta http-equiv="cache-control" content="no-cache"> 22 24 <meta http-equiv="pragma" content="no-cache"> … … 24 26 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 25 27 <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 28 <link rel="shortcut icon" type="image/x-icon" href="ico/Beziehung.ico"> 26 29 <title>ALKIS-Relationen-Browser</title> 27 30 </head> … … 30 33 $gkz=urldecode($_REQUEST["gkz"]); 31 34 $gmlid=isset($_GET["gmlid"]) ? $_GET["gmlid"] : 0; 32 $style=isset($_GET["style"]) ? $_GET["style"] : "kompakt";33 35 $otyp=isset($_GET["otyp"]) ? $_GET["otyp"] : "Objekt"; 34 36 $dbname = 'alkis05' . $gkz; 35 37 $con = pg_connect("host=".$dbhost." port=".$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 38 39 // Balken 36 40 echo "\n<p class='bezieh'>Beziehungen ".$gmlid."</p>"; 37 echo "\n\n<h2>ALKIS-Beziehungen</h2>"; 41 42 echo "\n\n<h2><img src='ico/Beziehung.ico' width='16' height='16' alt=''> Beziehungen</h2>"; 38 43 if (!$con) {echo "\n<p class='err'>Fehler beim Verbinden der DB.</p>"; 39 44 } else { 40 45 echo "\n<p>von ALKIS-".$otyp."</p>"; 46 47 echo "<p>gml_id =</p>"; 41 48 echo "\n\n<h3 title='Die gml_is ist global eindeutig'>".$gmlid."</h3>"; 42 49 $sql="SELECT beziehungsart, beziehung_zu FROM alkis_beziehungen WHERE beziehung_von='".$gmlid."';"; … … 51 58 echo "\n<tr>\n\t<td>".$otyp."</td>"; 52 59 echo "\n\t<td class='bez'>".$row["beziehungsart"]."</td>"; 53 echo "\n\t<td>\n\t\t<a href='".$self."gkz=".$gkz."&gmlid=".$row["beziehung_zu"]." &style=".$style."'>".$row["beziehung_zu"]."</a>";60 echo "\n\t<td>\n\t\t<a href='".$self."gkz=".$gkz."&gmlid=".$row["beziehung_zu"]."'>".$row["beziehung_zu"]."</a>"; 54 61 echo "\n\t</td>\n</tr>"; 55 62 $i++; … … 66 73 while($row = pg_fetch_array($res)) { 67 74 echo "\n<tr>\n\t<td>"; 68 echo "\n\t\t<a href='".$self."gkz=".$gkz."&gmlid=".$row["beziehung_von"]." &style=".$style."'>".$row["beziehung_von"]."</a>";75 echo "\n\t\t<a href='".$self."gkz=".$gkz."&gmlid=".$row["beziehung_von"]."'>".$row["beziehung_von"]."</a>"; 69 76 echo "\n\t</td>"; 70 77 echo "\n\t<td class='bez'>".$row["beziehungsart"]."</td>";
Note: See TracChangeset
for help on using the changeset viewer.