[26] | 1 | <?php
|
---|
[41] | 2 | /* Modul: alkisfkt.php |
---|
[26] | 3 | ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
|
---|
[41] | 4 | Functions |
---|
| 5 |
|
---|
[26] | 6 | Version:
|
---|
[41] | 7 | 31.08.2010 $style=ALKIS entfernt, link zu alkislage.php |
---|
| 8 | 02.09.2010 mit Icons
|
---|
[26] | 9 | */
|
---|
[41] | 10 |
function footer($gkz, $gmlid, $idanzeige, $link, $hilfeurl, $append) {
|
---|
| 11 | // Einen Seitenfuss ausgeben.
|
---|
| 12 | // Den URL-Parameter "&id=j/n" in allen Kombinationen umschalten lassen. |
---|
| 13 | // Die Parameter &gkz= und &gmlid= kommen in allen Modulen einheitlich vor |
---|
| 14 | |
---|
| 15 | // Der Parameter "&eig=j" wird angehaengt wenn gefuellt. // ALT |
---|
| 16 | // Der Parameter $append wird angehaengt wenn gefuellt |
---|
| 17 | // Anwendung: &eig=j bei FS-NW, <yp=m/p/o bei Lage |
---|
| 18 |
|
---|
| 19 | $customer=$_SESSION["mb_user_name"];
|
---|
[26] | 20 | echo "\n<div class='confbereich noprint'>";
|
---|
| 21 | |
---|
[41] | 22 | echo "\n<table class='outer'>\n<tr>";
|
---|
[26] | 23 | |
---|
[41] | 24 | // Spalte 1: Info Benutzerkennung |
---|
| 25 | echo "\n\t<td title='Info'><i>Benutzer: ".$customer."</i></td>";
|
---|
[26] | 26 | |
---|
[41] | 27 | // Spalte 2: Umschalter |
---|
| 28 | echo "\n\t<td title='Konfiguration'>";
// Umschalter Testmodus I D - A n z e i g e
|
---|
| 29 | echo "\n\t\t<a class='gmlid' href='".$link."gkz=".$gkz."&gmlid=".$gmlid;
|
---|
| 30 | // if ($eig <> "") echo "&eig=".$eig; // nur fuer FS-Nachw |
---|
| 31 | if ($append <> "") echo $append; // nur fuer FS-Nachw |
---|
| 32 | |
---|
| 33 | if ($idanzeige) { // Umschalten |
---|
| 34 | echo "&id=n' title='Ohne Verfolgung der ALKIS-Beziehungen'>ID aus";
|
---|
| 35 | } else { |
---|
| 36 | echo "&id=j' title='Verfolgung der GML-ID in den ALKIS-Beziehungen'>ID ein"; |
---|
| 37 | } |
---|
| 38 | echo "</a>"; |
---|
| 39 | echo "\n\t</td>";
|
---|
| 40 |
|
---|
[26] | 41 | // Spalte 3
|
---|
| 42 | echo "\n\t<td title='Hilfe'>";
|
---|
| 43 | echo "\n\t\t<p class='nwlink'>\n\t\t\t<a target='_blank' href='".$hilfeurl."' title='Dokumentation'>Hilfe zur ALKIS-Auskunft</a>\n\t\t</p>\n\t</td>";
|
---|
| 44 | |
---|
| 45 | echo "\n</tr>\n</table>\n</div>\n";
return 0;
|
---|
[41] | 46 | }
|
---|
| 47 | |
---|
[26] | 48 | function linkgml($gkz, $gml, $typ) {
|
---|
| 49 | // Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php |
---|
[41] | 50 | $kurzid=substr($gml, 11); // ID kuerzen, der Anfang ist immer gleich
echo "\n\t\t<a target='_blank' title='ID ".$typ."' class='gmlid noprint' href='alkisrelationen.php?gkz=".$gkz."&gmlid=".$gml."&otyp=".$typ."'>".$kurzid."</a>"; |
---|
[26] | 51 | return 0;
|
---|
[41] | 52 | } |
---|
| 53 |
|
---|
| 54 | function kurz_namnr($lang) {
|
---|
[26] | 55 | // Namensnummer kuerzen. Nicht benoetigte Stufen der Dezimalklassifikation abschneiden |
---|
[41] | 56 | $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende)
|
---|
| 57 | $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang)
|
---|
[26] | 58 | $kurz=ltrim($kurz, "0"); // fuehrende Nullen am Anfang
|
---|
[41] | 59 | $kurz=str_replace(".0",".",$kurz); // fuehrende Null jeder Stufe
|
---|
| 60 | return $kurz;
|
---|
| 61 | }
|
---|
[26] | 62 | |
---|
[41] | 63 | function fs_gebietszug($con, $gemeinde, $kreis, $bezirk) { |
---|
[26] | 64 | // eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben |
---|
| 65 | // Parameter = Schluesselwerte
|
---|
[41] | 66 | // Schluessel "land" wird nicht verwendet, gibt es Bestaende wo das nicht einheitlich ist? |
---|
| 67 | |
---|
| 68 | echo "\n<tr>\n\t<td class='ll'><img src='ico/Gemeinde.ico' width='16' height='16' alt=''> Im Gebiet von:</td>"; |
---|
| 69 | |
---|
| 70 | // G e m e i n d e |
---|
| 71 | $sql="SELECT bezeichnung FROM ax_gemeinde WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' AND gemeinde='".$gemeinde."' ";
|
---|
| 72 | $res=pg_query($con, $sql);
|
---|
| 73 | if (!$res) echo "<p class='err'>Fehler bei Gemeinde<br>".$sql."<br></p>";
|
---|
| 74 | $row = pg_fetch_array($res);
|
---|
| 75 | $gnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
|
---|
| 76 | echo "\n\t<td class='lr'>Gemeinde <span class='key'>(".$gemeinde.")</span> ".$gnam."<br>";
|
---|
| 77 | |
---|
| 78 | // K r e i s |
---|
| 79 | $sql="SELECT bezeichnung FROM ax_kreisregion WHERE regierungsbezirk='".$bezirk."' AND kreis='".$kreis."' ";
|
---|
| 80 | $res=pg_query($con, $sql);
|
---|
| 81 | if (!$res) echo "<p class='err'>Fehler bei Kreis<br>".$sql."<br></p>";
|
---|
| 82 | $row = pg_fetch_array($res);
|
---|
| 83 | $knam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); |
---|
| 84 | echo "Kreis <span class='key'>(".$kreis.")</span> ".$knam."<br>";
|
---|
| 85 | |
---|
| 86 | // R e g - B e z |
---|
| 87 | $sql="SELECT bezeichnung FROM ax_regierungsbezirk WHERE regierungsbezirk='".$bezirk."' ";
|
---|
| 88 | $res=pg_query($con, $sql);
|
---|
| 89 | if (!$res) echo "<p class='err'>Fehler bei Regierungsbezirk<br>".$sql."<br></p>";
|
---|
| 90 | $row = pg_fetch_array($res);
|
---|
| 91 | $bnam = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); |
---|
| 92 | echo "Regierungsbezirk <span class='key'>(".$bezirk.")</span> ".$bnam."</td>"; |
---|
| 93 | |
---|
| 94 | // 3. Spalte fÃŒr NW-Link (in weiteren Tab-Zeilen) |
---|
| 95 | echo "\n\t<td> </td>\n</tr>";
|
---|
| 96 | return 0; |
---|
| 97 | } |
---|
| 98 | |
---|
| 99 | function fs_lage($con, $gmlid, $gkz) { |
---|
| 100 | // Tabellenzeilen mit Lage eines FS |
---|
| 101 | // Parameter = ID des FS
|
---|
| 102 |
|
---|
| 103 | // Lagebezeichnung Mit Hausnummer
|
---|
| 104 | // ax_flurstueck >weistAuf> AX_LagebezeichnungMitHausnummer
|
---|
| 105 | // <gehoertZu<
|
---|
[26] | 106 | $sql ="SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung ";
|
---|
[41] | 107 | $sql.="FROM alkis_beziehungen v ";
|
---|
| 108 | $sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN
|
---|
| 109 | $sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage ";
|
---|
| 110 | $sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS";
|
---|
| 111 | $sql.="AND v.beziehungsart='weistAuf' ";
|
---|
| 112 | $sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;";
|
---|
| 113 | |
---|
| 114 | // Theoretisch JOIN notwendig ÃŒber den kompletten SchlÃŒssel bestehend aus land+regierungsbezirk+kreis+gemeinde+lage
|
---|
| 115 | // bei einem SekundÀrbestand fÌr eine Gemeinde oder einen Kreis reicht dies hier:
|
---|
| 116 |
|
---|
| 117 | //$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=s.lage ";
|
---|
| 118 | // Problem: ax_lagebezeichnungkatalogeintrag.lage ist char, |
---|
| 119 | // ax_lagebezeichnungmithausnummer.lage ist integer,
|
---|
| 120 | |
---|
| 121 | // cast() scheitert weil auch nicht numerische Inhalte
|
---|
| 122 | //$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.gemeinde=s.gemeinde AND l.lage=cast(s.lage AS integer) ";
|
---|
| 123 |
|
---|
| 124 | // http://www.postgresql.org/docs/8.3/static/functions-formatting.html |
---|
| 125 | |
---|
| 126 | $res=pg_query($con, $sql);
|
---|
| 127 | if (!$res) {echo "<p class='err'>Fehler bei Lagebezeichnung mit Hausnummer<br>\n".$sql."</p>";}
|
---|
| 128 | $j=0;
|
---|
| 129 | while($row = pg_fetch_array($res)) {
|
---|
| 130 | $sname = htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name
|
---|
| 131 | //echo "<!-- Adresse -->"; |
---|
| 132 | echo "\n<tr>\n\t"; |
---|
| 133 | if ($j == 0) { |
---|
| 134 | echo "<td class='ll'><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Adresse:</td>"; |
---|
| 135 | } else { |
---|
| 136 | echo "<td> </td>"; |
---|
| 137 | }
|
---|
| 138 | echo "\n\t<td class='lr'><span class='key'>(".$row["lage"].")</span> ".$sname." ".$row["hausnummer"]."</td>"; |
---|
| 139 | echo "\n\t<td><p class='nwlink noprint'><a href='alkislage.php?gkz=".$gkz."&ltyp=m&gmlid=".$row["gml_id"]."'>Lage</a></p></td>"; |
---|
| 140 | echo "\n</tr>";
|
---|
| 141 | $j++;
|
---|
| 142 | } |
---|
| 143 | $z=$j; |
---|
| 144 |
|
---|
| 145 | // Lagebezeichnung Ohne Hausnummer (Gewanne oder nur Strasse)
|
---|
| 146 | // ax_flurstueck >zeigtAuf> AX_LagebezeichnungOhneHausnummer
|
---|
| 147 | // <gehoertZu<
|
---|
| 148 | $sql ="SELECT l.gml_id, l.unverschluesselt, l.gemeinde, l.lage, s.bezeichnung ";
|
---|
| 149 | $sql.="FROM alkis_beziehungen v ";
|
---|
| 150 | $sql.="JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=v.beziehung_zu ";
|
---|
| 151 | $sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; |
---|
| 152 | // $sql.="AND l.lage=s.lage "; |
---|
| 153 | // hier beide .lage als Char(5) |
---|
| 154 | // in ax_lagebezeichnungKatalogeintrag mit fÃŒhrenden Nullen |
---|
| 155 | // in ax_lagebezeichnungOhneHausnummer jedoch ohne fÃŒhrende Nullen |
---|
| 156 | $sql.="AND l.lage=trim(leading '0' from s.lage) "; |
---|
| 157 | // $sql.="AND cast(l.lage AS integer)=cast(s.lage AS integer) "; // Fehlversuch, auch nicht-numerische Inhalte |
---|
| 158 | $sql.="WHERE v.beziehung_von='".$gmlid."' "; // id FS";
|
---|
| 159 | $sql.="AND v.beziehungsart='zeigtAuf';"; //ORDER?
|
---|
| 160 | $res=pg_query($con, $sql);
|
---|
| 161 | if (!$res) echo "<p class='err'>Fehler bei Lagebezeichnung ohne Hausnummer<br>\n".$sql."</p>";
|
---|
| 162 | $j=0;
|
---|
| 163 | // Es wird auch eine Zeile ausgegeben, wenn kein Eintrag gefunden! |
---|
| 164 | while($row = pg_fetch_array($res)) {
|
---|
| 165 | $gewann = htmlentities($row["unverschluesselt"], ENT_QUOTES, "UTF-8");
$skey=$row["lage"]; // Strassenschluessel |
---|
| 166 | $lgml=$row["gml_id"]; // key der Lage
|
---|
| 167 | if (!$gewann == "") { |
---|
| 168 | echo "\n<tr>"; |
---|
| 169 | echo "\n\t<td class='ll'><img src='ico/Lage_Gewanne.ico' width='16' height='16' alt=''> Gewanne:</td>"; |
---|
| 170 | echo "\n\t<td class='lr'>".$gewann."</td>"; |
---|
| 171 | 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>"; |
---|
| 172 | echo "\n</tr>"; |
---|
| 173 | } |
---|
| 174 | // Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link |
---|
| 175 | if ($skey > 0) { |
---|
| 176 | echo "\n<tr>"; |
---|
| 177 | echo "\n\t<td class='ll'><img src='ico/Lage_an_Strasse.ico' width='16' height='16' alt=''> Straße:</td>"; |
---|
| 178 | echo "\n\t<td class='lr'><span class='key'>(".$skey.")</span> ".$row["bezeichnung"]."</td>"; |
---|
| 179 | 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>"; |
---|
| 180 | echo "\n</tr>";
|
---|
| 181 | } |
---|
| 182 | $j++;
|
---|
| 183 | } |
---|
| 184 | $z=$z+$j;
//echo "<p class='err'>Anzahl ".$j."<br>SQL=<br>".$sql."<br></p>"; |
---|
| 185 | return $z; // Summe der ausgegebenen Zeilen |
---|
| 186 | } |
---|
| 187 | |
---|
| 188 | function fs_nutz($con, $gmlid) { |
---|
| 189 | // Tabellenzeilen (3 Sp.) mit tats. Nutzung zu einem FS ausgeben |
---|
| 190 | // Parameter = ID des FS |
---|
| 191 | echo "\n<tr>\n\t<td class='ll'><img src='ico/Abschnitt.ico' width='16' height='16' alt=''> Nutzungsarten:</td>";
|
---|
| 192 | echo "\n\t<td class='ph'>(Programmteil ist noch in Arbeit)</td>"; |
---|
| 193 | echo "\n\t<td> </td>\n</tr>"; |
---|
| 194 | } |
---|
| 195 | |
---|
| 196 | function bnw_fsdaten($con, $gkz, $idanzeige, $lfdnr, $gml_bs, $ba, $anteil, $bvnraus) { |
---|
| 197 | /* Bestandsnachweis - Flurstuecksdaten |
---|
| 198 | Die Tabellenzeilen mit den Flurstuecksdaten zu einer Buchungsstelle im Bestandsnachweis ausgeben. |
---|
| 199 | Die Funktion wird je einmal aufgerufen fÃŒr die Buchungen direkt auf dem GB (Normalfall). |
---|
| 200 | Weiterere Aufrufe ggf. bei Erbbaurecht fÃŒr die mit "an" verknuepften Buchungsstellen. |
---|
| 201 | Table-Tag und Kopfzeile im aufrufenden Programm. |
---|
| 202 | */
|
---|
| 203 | |
---|
| 204 | // F L U R S T U E C K
|
---|
| 205 | $sql="SELECT g.gemarkungsnummer, g.bezeichnung, ";
|
---|
| 206 | $sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche "; |
---|
| 207 | $sql.="FROM ax_gemarkung g ";
|
---|
[26] | 208 | $sql.="JOIN ax_flurstueck f ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
|
---|
[41] | 209 | $sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von ";
|
---|
| 210 | $sql.="WHERE v.beziehung_zu='".$gml_bs."' "; // id buchungsstelle
|
---|
| 211 | $sql.="AND v.beziehungsart='istGebucht' ";
|
---|
| 212 | $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;";
|
---|
| 213 | $resf=pg_query($con,$sql);
|
---|
| 214 | if (!$resf) {echo "<p class='err'>Fehler bei Flurstück<br><br>".$sql."</p>\n";}
|
---|
| 215 | if($bvnraus) { // nur bei direkten Buchungen die lfdNr ausgeben |
---|
| 216 | $bvnr=str_pad($lfdnr, 4, "0", STR_PAD_LEFT); |
---|
| 217 | } |
---|
| 218 | $altlfdnr=""; |
---|
| 219 | $j=0;
|
---|
| 220 | while($rowf = pg_fetch_array($resf)) { |
---|
| 221 | if ($rowf["nenner"] != "") {$fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT);}
|
---|
| 222 | $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m²";
|
---|
| 223 | $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); |
---|
| 224 | $fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT); |
---|
| 225 | echo "\n<tr>"; // eine Zeile je Flurstueck
|
---|
| 226 | |
---|
| 227 | // Sp. 1-3 der Tab. aus Buchungsstelle, nicht aus FS
|
---|
| 228 | if($lfdnr == $altlfdnr) { // gleiches Grundstueck |
---|
| 229 | echo "\n\t<td> </td>\n\t<td> </td>\n\t<td> </td>";
|
---|
| 230 | } else { |
---|
| 231 | echo "\n\t<td><img src='ico/Grundstueck.ico' width='16' height='16' alt='' title='Grundstück' /> <span class='wichtig'>".$bvnr."</span>"; // BVNR
|
---|
| 232 | if ($idanzeige) {linkgml($gkz, $gml_bs, "Buchungsstelle");}
|
---|
| 233 | echo "</td>";
|
---|
| 234 | echo "\n\t<td>".$ba."</td>"; // Buchungsart entschluesselt
echo "\n\t<td> </td>"; // Anteil |
---|
| 235 | $altlfdnr=$lfdnr; |
---|
| 236 | }
|
---|
| 237 | //Sp. 4-7 aus Flurstueck
|
---|
| 238 | echo "\n\t<td><span class='key'>".$rowf["gemarkungsnummer"]."</span> ".$rowf["bezeichnung"]."</td>";
|
---|
| 239 | echo "\n\t<td>".$flur."</td>";
|
---|
| 240 | echo "\n\t<td><span class='wichtig'>".$fskenn."</span>";
|
---|
| 241 | if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück");}
|
---|
| 242 | echo "</td>\n\t<td class='fla'>".$flae."</td>";
|
---|
| 243 | |
---|
| 244 | echo "\n\t<td><p class='nwlink noprint'>";
|
---|
| 245 | echo "<a href='alkisfsnw.php?gkz=".$gkz."&gmlid=".$rowf["gml_id"]."&eig=n";
|
---|
| 246 | if ($idanzeige) {echo "&id=j";}
|
---|
| 247 | echo "' title='Flurstücksnachweis'>Flurstück <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''></a></p></td>\n</tr>";
|
---|
| 248 |
|
---|
| 249 | $j++;
|
---|
| 250 | } // Ende Flurstueck
|
---|
| 251 | return $j;
|
---|
| 252 | } |
---|
| 253 | |
---|
| 254 | function eigentuemer($con, $gkz, $idanzeige, $gmlid, $mitadresse) { |
---|
| 255 | // Tabelle mit Eigentuemerdaten zu einem Grundbuchblatt ausgeben |
---|
| 256 | // Sp.1 = Namennummer, Sp. 2 = Name / Adresse, Sp. 3 = Link |
---|
| 257 | // Parameter: |
---|
| 258 | // $gmlid = ID des GB-Blattes |
---|
| 259 | // $mitadresse = Option (true/false) ob auch die Adresszeile ausgegeben werden soll |
---|
| 260 | // Return = Anzahl Namensnummern |
---|
| 261 | |
---|
| 262 | // Schleife 1: N a m e n s n u m m e r
|
---|
| 263 | // Beziehung: ax_namensnummer >istBestandteilVon> ax_buchungsblatt |
---|
| 264 |
|
---|
| 265 | $sql="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, ";
|
---|
| 266 | $sql.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass ";
|
---|
| 267 | $sql.="FROM ax_namensnummer n ";
|
---|
| 268 | $sql.="JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id ";
|
---|
| 269 | $sql.="WHERE b.beziehung_zu='".$gmlid."' "; // id blatt
|
---|
| 270 | $sql.="AND b.beziehungsart='istBestandteilVon' ";
|
---|
| 271 | $sql.="ORDER BY laufendenummernachdin1421;"; |
---|
| 272 |
|
---|
| 273 | $resn=pg_query($con, $sql);
|
---|
| 274 | if (!$resn) {echo "<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";}
|
---|
| 275 | |
---|
| 276 | echo "<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle |
---|
| 277 | echo "\n<table class='eig'>";
|
---|
| 278 | $n=0; // Z.NamNum.
|
---|
| 279 | |
---|
| 280 | //echo "\n\n<!-- vor Schleife 1 Namensnummer -->"; |
---|
| 281 | while($rown = pg_fetch_array($resn)) {
|
---|
| 282 | echo "\n<tr>"; |
---|
| 283 | echo "\n\t<td class='nanu' title='Namens-Nummer'><p>"; // Sp. 1
|
---|
| 284 | // VOR die Tabelle: "EigentÃŒmer"
|
---|
| 285 | $namnum=kurz_namnr($rown["lfd"]);
|
---|
| 286 | echo $namnum." ";
|
---|
| 287 | if ($idanzeige) {linkgml($gkz, $rown["gml_id"], "Namensnummer");}
|
---|
| 288 | echo "</p></td>"; |
---|
| 289 | |
---|
| 290 | echo "\n\t<td>"; // Sp. 2
|
---|
| 291 | $rechtsg=$rown["adr"];
|
---|
| 292 | if ($rechtsg != "" ) {
|
---|
| 293 | if ($rechtsg == 9999) { // sonstiges
|
---|
| 294 | echo "<p class='zus' title='Beschrieb der Rechtsgemeinschaft'>".htmlentities($rown["beschr"], ENT_QUOTES, "UTF-8")."</p>"; |
---|
| 295 | } else {
|
---|
| 296 | echo "<p class='zus' title='Art der Rechtsgemeinschaft'>".htmlentities(rechtsgemeinschaft($rown["adr"]), ENT_QUOTES, "UTF-8")."</p>";
|
---|
| 297 | // !! Feld /td und Zeile /tr nicht geschlossen |
---|
| 298 | // echo "\n\t</td>\n</tr>"; // !!! IMMER? oder nur wenn letzte Zeile? |
---|
| 299 | }
|
---|
| 300 | }
|
---|
| 301 | //if ($rown["anlass"] > 0 ) {echo "<p>Anlass=".$rown["anlass"]."</p>";} // TEST:
|
---|
| 302 |
|
---|
| 303 | //echo "\n\t\t</td>\n\t\t<td></td>\n</tr>";
|
---|
| 304 |
|
---|
| 305 | // Schleife Ebene 2: andere Namensnummern
|
---|
| 306 | // Beziehung ax_namensnummer >bestehtAusRechtsverhaeltnissenZu> ax_namensnummer
|
---|
| 307 |
|
---|
| 308 | // Die Relation 'Namensnummer' besteht aus RechtsverhÀltnissen zu 'Namensnummer' sagt aus,
|
---|
| 309 | // dass mehrere Namensnummern zu einer Rechtsgemeinschaft gehören können.
|
---|
| 310 | // Die Rechtsgemeinschaft selbst steht unter einer eigenen AX_Namensnummer,
|
---|
| 311 | // die zu allen Namensnummern der Rechtsgemeinschaft eine Relation besitzt.
|
---|
| 312 |
|
---|
| 313 | // Die Relation 'Namensnummer' hat VorgÀnger 'Namensnummer' gibt Auskunft darÌber,
|
---|
| 314 | // aus welchen Namensnummern die aktuelle entstanden ist.
|
---|
| 315 |
|
---|
| 316 | // Schleife 2: P e r s o n
|
---|
| 317 | // Beziehung: ax_person <benennt< ax_namensnummer
|
---|
| 318 | $sql="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad ";
|
---|
| 319 | $sql.="FROM ax_person p ";
|
---|
| 320 | $sql.="JOIN alkis_beziehungen v ON v.beziehung_zu=p.gml_id ";
|
---|
| 321 | $sql.="WHERE v.beziehung_von='".$rown["gml_id"]."' "; // id num
|
---|
| 322 | $sql.="AND v.beziehungsart='benennt';";
|
---|
| 323 | //echo "\n\t<p class='err'>Schleife Person SQL=<br>".$sql."</p>"; // test
|
---|
| 324 |
|
---|
| 325 | $rese=pg_query($con, $sql);
|
---|
| 326 | if (!$rese) {echo "\n\t<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";}
|
---|
| 327 | $i=0; // Z.Eig.
|
---|
| 328 | //echo "\n<!-- vor Schleife 2 Person -->"; |
---|
| 329 | while($rowe = pg_fetch_array($rese)) {
|
---|
| 330 | $diePerson="";
|
---|
| 331 | if ($rowe["akademischergrad"] <> "") {$diePerson=$rowe["akademischergrad"]." ";}
|
---|
| 332 | $diePerson.=$rowe["nachnameoderfirma"];
|
---|
| 333 | if ($rowe["vorname"] <> "") {$diePerson.=", ".$rowe["vorname"];}
|
---|
| 334 | if ($rowe["namensbestandteil"] <> "") {$diePerson.=". ".$rowe["namensbestandteil"];}
|
---|
| 335 | if ($rowe["geburtsdatum"] <> "") {$diePerson.=", geb. ".$rowe["geburtsdatum"];}
|
---|
| 336 | if ($rowe["geburtsname"] <> "") {$diePerson.=", geb. ".$rowe["geburtsname"];}
|
---|
| 337 | $diePerson=htmlentities($diePerson, ENT_QUOTES, "UTF-8"); // Umlaute
|
---|
| 338 |
|
---|
| 339 | // Spalte 1 enthÀlt die Namensnummer, nur in Zeile 0
|
---|
| 340 | if ($i > 0) {
|
---|
| 341 | echo "\n<tr>\n\t<td> </td>\n\t<td>";
|
---|
| 342 | }
|
---|
| 343 | // Spalte 2 = Angaben
|
---|
| 344 | echo "<p class='geig' title='Eigentümerart ".eigentuemerart($rown["eigentuemerart"])."'>".$diePerson."</p></td>";
|
---|
| 345 | |
---|
| 346 | // Spalte 3 = Link
echo "\n\t<td><p class='nwlink noprint'>"; |
---|
| 347 | if ($idanzeige) {linkgml($gkz, $rowe["gml_id"], "Person"); echo " ";} |
---|
| 348 | echo "<a href='alkisnamstruk.php?gkz=".$gkz."&gmlid=".$rowe[0];
|
---|
| 349 | if ($idanzeige) {echo "&id=j";}
|
---|
| 350 | echo "' title='vollständiger Name und Adresse eines Eigentümers'>Person <img src='ico/Eigentuemer.ico' width='16' height='16' alt=''></a></p>";
|
---|
| 351 | echo "</td>\n</tr>";
|
---|
| 352 | |
---|
| 353 | if ($mitadresse) {
|
---|
| 354 | // Schleife 3: A d r e s s e (OPTIONAL)
|
---|
| 355 | $sql ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland ";
|
---|
| 356 | $sql.="FROM ax_anschrift a ";
|
---|
| 357 | $sql.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu ";
|
---|
| 358 | $sql.="WHERE b.beziehung_von='".$rowe["gml_id"]."' ";
|
---|
| 359 | $sql.="AND b.beziehungsart='hat';"; // ORDER?
|
---|
| 360 |
|
---|
| 361 | $resa=pg_query($con,$sql);
|
---|
| 362 | if (!$resa) { |
---|
| 363 | echo "\n\t<p class='err'>Fehler bei Adressen.<br>\nSQL= ".$sql."</p>\n"; |
---|
| 364 | }
|
---|
| 365 | $j=0; |
---|
| 366 | //echo "\n<!-- vor Schleife 3 Adresse -->";
|
---|
| 367 | while($rowa = pg_fetch_array($resa)) {
|
---|
| 368 | $gmla=$rowa["gml_id"];
|
---|
| 369 | $plz=$rowa["plz"]; // integer |
---|
| 370 | if($plz == 0) { |
---|
| 371 | $plz=""; |
---|
| 372 | } else { |
---|
| 373 | $plz=str_pad($plz, 5, "0", STR_PAD_LEFT); |
---|
| 374 | }
|
---|
| 375 | $ort=htmlentities($rowa["ort_post"], ENT_QUOTES, "UTF-8");
|
---|
| 376 | $str=htmlentities($rowa["strasse"], ENT_QUOTES, "UTF-8");
|
---|
| 377 | $hsnr=$rowa["hausnummer"];
|
---|
| 378 | $land=htmlentities($rowa["bestimmungsland"], ENT_QUOTES, "UTF-8");
|
---|
| 379 | |
---|
| 380 | echo "\n<tr>\n\t<td> </td>"; // Spalte 1
|
---|
| 381 | echo "\n\t<td><p class='gadr'>"; //Spalte 2
|
---|
| 382 | if ($str.$hsnr != "") { |
---|
| 383 | echo $str." ".$hsnr."<br>"; |
---|
| 384 | }
|
---|
| 385 | if ($plz.$ort != "") {
|
---|
| 386 | echo $plz." ".$ort; |
---|
| 387 | }
|
---|
| 388 | if ($land != "" and $land != "DEUTSCHLAND") { |
---|
| 389 | echo ", ".$land; |
---|
| 390 | }
|
---|
| 391 | echo "</p></td>";
|
---|
| 392 | echo "\n\t<td>"; // Spalte 3
|
---|
| 393 | if ($idanzeige) { |
---|
| 394 | echo "<p class='nwlink noprint'>"; |
---|
| 395 | linkgml($gkz, $gmla, "Adresse"); |
---|
| 396 | echo "</p>"; |
---|
| 397 | } else { |
---|
| 398 | echo " "; |
---|
| 399 | }
|
---|
| 400 | echo "</td>\n</tr>";
|
---|
| 401 | $j++;
|
---|
| 402 | } |
---|
| 403 | //echo "\n<!-- nach Schleife 3 Adresse -->";
|
---|
| 404 | } // if |
---|
| 405 | // 'keine Adresse' kann vorkommen, z.B. "Deutsche Telekom AG"
|
---|
| 406 | $i++; // Z. Person
|
---|
| 407 | // als eigene Tab-Zeile?
|
---|
| 408 | // 'Anteil' ist der Anteil der Berechtigten in Bruchteilen (Par. 47 GBO)
|
---|
| 409 | // an einem gemeinschaftlichen Eigentum (GrundstÃŒck oder Recht).
|
---|
| 410 | if ($rown["zaehler"] != "") {
|
---|
| 411 | echo "\n<tr>\n\t<td> </td>"; // Sp. 1 |
---|
| 412 | echo "\n\t<td><p class='avh' title='Anteil'>".$rown["zaehler"]."/".$rown["nenner"]." Anteil</p></td>"; |
---|
| 413 | echo "\n\t<td> </td>\n</tr>"; // Sp. 3
|
---|
| 414 | }
|
---|
| 415 | } |
---|
| 416 | //echo "\n<!-- nach Schleife 2 Person -->"; |
---|
| 417 |
|
---|
| 418 | if ($i == 0) { // keine Pers zur NamNum |
---|
| 419 | echo "\n<!-- Rechtsgemeinscahft='".$rechtsg."' -->";
|
---|
| 420 | // Wann warnen? |
---|
| 421 | //if ($rechtsg != 9999) { |
---|
| 422 | // Art der Rechtsgemeinsachft, 0 Eigent. ist Normal bei Sondereigentum
|
---|
| 423 | //echo "\n<tr>\n<td>"; |
---|
| 424 | //linkgml($gkz, $rown["gml_id"], "Namensnummer"); |
---|
| 425 | //echo "</td>\n<td>\n\t\t<p class='err'>Kein Eigentümer gefunden. (Rechtsgemeinschaft=".$rechtsg.")</p>";
|
---|
| 426 | //}
|
---|
| 427 | echo "</td>\n\t<td> </td>\n<tr>"; |
---|
| 428 | }
|
---|
| 429 | $n++; // cnt NamNum |
---|
| 430 | } // End Loop NamNum |
---|
| 431 | //echo "\n<!-- nach Schleife 1 Namensnummer -->"; |
---|
| 432 | echo "\n</table>\n"; |
---|
| 433 | return $n; |
---|
| 434 | } // End Function eigentuemer |
---|
| 435 |
|
---|
| 436 | // ** Functions zum E n t s c h l u e s s e l n ** |
---|
| 437 |
|
---|
| 438 | // Entschluesslung ax_person.anrede
|
---|
| 439 | function anrede($key) {
|
---|
| 440 | switch ($key) {
|
---|
| 441 | case 1000:
|
---|
| 442 | $wert = "Frau";
|
---|
| 443 | break;
|
---|
| 444 | case 2000:
|
---|
| 445 | $wert = "Herr";
|
---|
| 446 | break;
|
---|
[26] | 447 | case 3000:
|
---|
| 448 | $wert = "Firma";
|
---|
| 449 | break;
|
---|
| 450 | default:
|
---|
| 451 | $wert = "";
|
---|
| 452 | break;
|
---|
| 453 | }
|
---|
| 454 | return $wert;
|
---|
| 455 | }
|
---|
| 456 | // Entschluesslung buchungsart
|
---|
| 457 | // Die Buchungsarten mit Wertearten 1101, 1102, 1401 bis 1403, 2201 bis 2205 und 2401 bis 2404 können nur auf einem Fiktiven Blatt vorkommen.
|
---|
| 458 | // Die Attributart 'Anteil' ist dann immer zu belegen.
|
---|
| 459 | function buchungsart($key) {
|
---|
| 460 | switch ($key) {
|
---|
| 461 | case 1100:
|
---|
| 462 | $wert = "Grundstück";
|
---|
| 463 | break;
|
---|
| 464 | case 1101:
|
---|
| 465 | $wert = "Aufgeteiltes GrundstÃŒck WEG";
|
---|
| 466 | break;
|
---|
| 467 | case 1102:
|
---|
| 468 | $wert = "Aufgeteiltes GrundstÃŒck Par. 3 Abs. 4 GBO";
|
---|
| 469 | break;
|
---|
| 470 | case 1301:
|
---|
| 471 | $wert = "Wohnungs-/Teileigentum";
|
---|
| 472 | break;
|
---|
| 473 | case 1302:
|
---|
| 474 | $wert = "Miteigentum Par. 3 Abs. 4 GBO";
|
---|
| 475 | break;
|
---|
| 476 | case 2101:
|
---|
| 477 | $wert = "Erbbaurecht";
|
---|
| 478 | break;
|
---|
| 479 | case 2102:
|
---|
| 480 | $wert = "Untererbbaurecht";
|
---|
| 481 | break;
|
---|
| 482 | case 2201:
|
---|
| 483 | $wert = "Aufgeteiltes Erbbaurecht WEG";
|
---|
| 484 | break;
|
---|
| 485 | case 2301:
|
---|
| 486 | $wert = "Wohnungs-/Teilerbbaurecht";
|
---|
| 487 | break;
|
---|
| 488 | case 2302:
|
---|
| 489 | $wert = "Wohnungs-/Teiluntererbbaurecht";
|
---|
| 490 | break;
|
---|
| 491 | case 5101:
|
---|
| 492 | $wert = "Von Buchungspflicht befreit Par. 3 Abs. 2 GBO";
|
---|
| 493 | break;
|
---|
| 494 | default:
|
---|
| 495 | $wert = "";
|
---|
| 496 | break;
|
---|
| 497 | }
|
---|
| 498 | return $wert;
|
---|
| 499 | }
|
---|
| 500 | // Entschluesslung AX_Namensnummer.artDerRechtsgemeinschaft
|
---|
| 501 | function rechtsgemeinschaft($key) {
|
---|
| 502 | switch ($key) {
|
---|
| 503 | case 1000:
|
---|
| 504 | $wert = "Erbengemeinschaft";
|
---|
| 505 | break;
|
---|
| 506 | case 2000:
|
---|
| 507 | $wert = "GÃŒtergemeinschaft";
|
---|
| 508 | break;
|
---|
| 509 | case 3000:
|
---|
| 510 | $wert = "BGB-Gesellschaft";
|
---|
| 511 | break;
|
---|
| 512 | case 9999:
|
---|
| 513 | $wert = "Sonstiges";
|
---|
| 514 | // dann: beschriebDerRechtsgemeinschaft
|
---|
| 515 | break;
|
---|
| 516 | default:
|
---|
| 517 | $wert = "";
|
---|
| 518 | break;
|
---|
| 519 | }
|
---|
| 520 | return $wert;
|
---|
| 521 | }
|
---|
| 522 | // Entschluesslung AX_Namensnummer.eigentuemerart
|
---|
| 523 | function eigentuemerart($key) {
|
---|
| 524 | switch ($key) {
|
---|
| 525 | case 1000:
|
---|
| 526 | $wert = "Natürliche Personen";
|
---|
| 527 | break;
|
---|
| 528 |
|
---|
| 529 | case 2000:
|
---|
| 530 | $wert = "Juristische Personen";
|
---|
| 531 | break;
|
---|
| 532 |
|
---|
| 533 | case 3000:
|
---|
| 534 | $wert = "Körperschaften";
|
---|
| 535 | break;
|
---|
| 536 | default:
|
---|
| 537 | $wert = "** Unbekannter Wert '".$key."'";;
|
---|
| 538 | break;
|
---|
| 539 | }
|
---|
| 540 | return $wert;
|
---|
| 541 | }
|
---|
| 542 | // Entschluesslung ax_buchungsblatt.blattart
|
---|
| 543 | function blattart($key) {
|
---|
| 544 | switch ($key) {
|
---|
| 545 | case 1000:
|
---|
| 546 | $wert = "Grundbuchblatt";
|
---|
| 547 | // Ein Grundbuchblatt ist ein Buchungsblatt, das die Buchung im Grundbuch enthÀlt.
|
---|
| 548 | break;
|
---|
| 549 | case 2000:
|
---|
| 550 | $wert = "Katasterblatt";
|
---|
| 551 | // Ein Katasterblatt ist ein Buchungsblatt, das die Buchung im Liegenschaftskataster enthÀlt.
|
---|
| 552 | break;
|
---|
| 553 | case 3000:
|
---|
| 554 | $wert = "Pseudoblatt";
|
---|
| 555 | // Ein Pseudoblatt ist ein Buchungsblatt, das die Buchung, die bereits vor Eintrag im Grundbuch Rechtskraft erlangt hat, enthÀlt
|
---|
| 556 | // (z.B. Ãbernahme von Flurbereinigungsverfahren, Umlegungsverfahren).
|
---|
| 557 | break;
|
---|
| 558 | case 5000:
|
---|
| 559 | $wert = "Fiktives Blatt";
|
---|
| 560 | // Das fiktive Blatt enthÀlt die aufgeteilten GrundstÌcke und Rechte als Ganzes.
|
---|
| 561 | // Es bildet um die Miteigentumsanteile eine fachliche Klammer.
|
---|
| 562 | break;
|
---|
| 563 | default:
|
---|
| 564 | $wert = "** Unbekannter Wert '".$key."'";;
|
---|
| 565 | break;
|
---|
| 566 | }
|
---|
| 567 | return $wert;
|
---|
| 568 | }
|
---|
| 569 | // Entschluesslung ax_dienststelle.stellenart
|
---|
| 570 | function dienststellenart($key) {
|
---|
| 571 | switch ($key) {
|
---|
| 572 | case 1000:
|
---|
| 573 | $wert = "Grundbuchamt";
|
---|
| 574 | break;
|
---|
| 575 | case 1100:
|
---|
| 576 | $wert = "Katasteramt";
|
---|
| 577 | break;
|
---|
| 578 | case 1200:
|
---|
| 579 | $wert = "Finanzamt";
|
---|
| 580 | break;
|
---|
| 581 | case 1300:
|
---|
| 582 | $wert = "Flurbereinigungsbehörde";
|
---|
| 583 | break;
|
---|
| 584 | case 1400:
|
---|
| 585 | $wert = "Forstamt";
|
---|
| 586 | break;
|
---|
| 587 | case 1500:
|
---|
| 588 | $wert = "Wasserwirtschaftsamt";
|
---|
| 589 | break;
|
---|
| 590 | case 1600:
|
---|
| 591 | $wert = "StraÃenbauamt";
|
---|
| 592 | break;
|
---|
| 593 | case 1700:
|
---|
| 594 | $wert = "Gemeindeamt";
|
---|
| 595 | break;
|
---|
| 596 | case 1900:
|
---|
| 597 | $wert = "Kreis- oder Stadtverwaltung";
|
---|
| 598 | break;
|
---|
| 599 | case 2000:
|
---|
| 600 | $wert = "Wasser- und Bodenverband";
|
---|
| 601 | break;
|
---|
| 602 | case 2100:
|
---|
| 603 | $wert = "Umlegungsstelle";
|
---|
| 604 | break;
|
---|
| 605 | case 2200:
|
---|
| 606 | $wert = "Landesvermessungsverwaltung";
|
---|
| 607 | break;
|
---|
| 608 | case 2300:
|
---|
| 609 | $wert = "ÖbVI";
|
---|
| 610 | break;
|
---|
| 611 | case 2400:
|
---|
| 612 | $wert = "Bundeseisenbahnvermögen";
|
---|
| 613 | break;
|
---|
| 614 | case 2500:
|
---|
| 615 | $wert = "Landwirtschaftskammer";
|
---|
| 616 | break;
|
---|
| 617 | default:
|
---|
| 618 | $wert = "** Unbekannter Wert '".$key."'";
|
---|
| 619 | break;
|
---|
| 620 | }
|
---|
| 621 | return $wert;
|
---|
| 622 | }
|
---|
| 623 | ?> |
---|