1 | <?php
|
---|
2 | /* Modul: alkisfkt.php |
---|
3 | ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
|
---|
4 | Functions |
---|
5 |
|
---|
6 | Version:
|
---|
7 | 31.08.2010 $style=ALKIS entfernt, link zu alkislage.php |
---|
8 | 02.09.2010 mit Icons
|
---|
9 | */
|
---|
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"];
|
---|
20 | echo "\n<div class='confbereich noprint'>";
|
---|
21 | |
---|
22 | echo "\n<table class='outer'>\n<tr>";
|
---|
23 | |
---|
24 | // Spalte 1: Info Benutzerkennung |
---|
25 | echo "\n\t<td title='Info'><i>Benutzer: ".$customer."</i></td>";
|
---|
26 | |
---|
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 |
|
---|
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;
|
---|
46 | }
|
---|
47 | |
---|
48 | function linkgml($gkz, $gml, $typ) {
|
---|
49 | // Einen Link zur Verfolgung der Beziehungen mit dem Modul alkisrelationen.php |
---|
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>"; |
---|
51 | return 0;
|
---|
52 | } |
---|
53 |
|
---|
54 | function kurz_namnr($lang) {
|
---|
55 | // Namensnummer kuerzen. Nicht benoetigte Stufen der Dezimalklassifikation abschneiden |
---|
56 | $kurz=str_replace(".00","",$lang); // leere Stufen (nur am Ende)
|
---|
57 | $kurz=str_replace("0000","",$kurz); // ganz leer (am Anfang)
|
---|
58 | $kurz=ltrim($kurz, "0"); // fuehrende Nullen am Anfang
|
---|
59 | $kurz=str_replace(".0",".",$kurz); // fuehrende Null jeder Stufe
|
---|
60 | return $kurz;
|
---|
61 | }
|
---|
62 | |
---|
63 | function fs_gebietszug($con, $gemeinde, $kreis, $bezirk) { |
---|
64 | // eine Tabellenzeile mit der Gebietszugehoerigkeit eines Flurstuecks wird ausgegeben |
---|
65 | // Parameter = Schluesselwerte
|
---|
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<
|
---|
106 | $sql ="SELECT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung ";
|
---|
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 ";
|
---|
208 | $sql.="JOIN ax_flurstueck f ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
|
---|
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;
|
---|
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 | ?> |
---|