1 | <?php
|
---|
2 | /* alkislage.php
|
---|
3 | |
---|
4 | ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
|
---|
5 | Kann die 3 Arten von Lagebezeichnung anzeigen und verbundene Objekte verlinken
|
---|
6 |
|
---|
7 | Version:
15.09.2010 Function "buchungsart" durch JOIN ersetzt |
---|
8 | 01.10.2010 Flaeche umgruppiert |
---|
9 | 14.12.2010 Pfad zur Conf
|
---|
10 | 17.12.2010 Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute) |
---|
11 | 01.02.2011 *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen |
---|
12 | 07.02.2011 JOIN ax_gemeinde auch ueber regierungsbezirk |
---|
13 | 11.07.2011 Ersetzen $self durch $_SERVER['PHP_SELF']."?" |
---|
14 | 25.07.2011 PostNAS 0.5/0.6 Versionen unterscheiden |
---|
15 | ToDo: Entschluesseln Kreis usw.
|
---|
16 | */
|
---|
17 | //ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
|
---|
18 | session_start(); |
---|
19 | $gkz=urldecode($_REQUEST["gkz"]);
|
---|
20 | require_once("alkis_conf_location.php"); |
---|
21 | if ($auth == "mapbender") { // Bindung an Mapbender-Authentifizierung
|
---|
22 | require_once($mapbender);
|
---|
23 | }
|
---|
24 | include("alkisfkt.php");
|
---|
25 | ?>
|
---|
26 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
---|
27 | <html>
|
---|
28 | <head>
|
---|
29 | <meta name="author" content="F. Jaeger krz" >
|
---|
30 | <meta http-equiv="cache-control" content="no-cache">
|
---|
31 | <meta http-equiv="pragma" content="no-cache">
|
---|
32 | <meta http-equiv="expires" content="0">
|
---|
33 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
---|
34 | <title>ALKIS Lagebezeichnung</title>
|
---|
35 | <link rel="stylesheet" type="text/css" href="alkisauszug.css"> |
---|
36 | <link rel="shortcut icon" type="image/x-icon" href="ico/Lage_mit_Haus.ico">
|
---|
37 | <style type='text/css' media='print'>
|
---|
38 | .noprint {visibility: hidden;}
|
---|
39 | </style>
|
---|
40 | </head>
|
---|
41 | <body>
|
---|
42 | <?php
|
---|
43 | $gmlid=urldecode($_REQUEST["gmlid"]);
|
---|
44 | $ltyp=urldecode($_REQUEST["ltyp"]); // 3 Arten Lage-Typ |
---|
45 | switch ($ltyp) {
|
---|
46 | case "m": // "Mit HsNr" = Hauptgebaeude
|
---|
47 | $tnam = "ax_lagebezeichnungmithausnummer";
|
---|
48 | break;
|
---|
49 | case "p": // "mit PseudoNr" = Nebengebaeude
|
---|
50 | $tnam = "ax_lagebezeichnungmitpseudonummer";
|
---|
51 | break;
|
---|
52 | case "o": //"Ohne HsNr" = Gewanne oder Strasse
|
---|
53 | $tnam = "ax_lagebezeichnungohnehausnummer";
|
---|
54 | break;
|
---|
55 | default:
|
---|
56 | $ltyp = "m"; |
---|
57 | $tnam = "ax_lagebezeichnungmithausnummer";
|
---|
58 | break;
|
---|
59 | } |
---|
60 | $id = isset($_GET["id"]) ? $_GET["id"] : "n"; |
---|
61 | if ($id == "j") { |
---|
62 | $idanzeige=true; |
---|
63 | } else { |
---|
64 | $idanzeige=false; |
---|
65 | }
|
---|
66 | $keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n";
|
---|
67 | if ($keys == "j") { |
---|
68 | $showkey=true; |
---|
69 | } else { |
---|
70 | $showkey=false; |
---|
71 | }
$con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);
|
---|
72 | if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; |
---|
73 | |
---|
74 | // Lagebezeichnung
|
---|
75 | $sql ="SELECT s.bezeichnung AS snam, k.bezeichnung AS knam, g.bezeichnung AS gnam, l.land, l.regierungsbezirk, l.kreis, l.gemeinde, l.lage, "; |
---|
76 | switch ($ltyp) {
|
---|
77 | case "m": // "Mit HsNr"
|
---|
78 | $sql.="l.hausnummer ";
|
---|
79 | break;
|
---|
80 | case "p": // "mit PseudoNr"
|
---|
81 | $sql.="l.pseudonummer, l.laufendenummer ";
|
---|
82 | break;
|
---|
83 | case "o": //"Ohne HsNr"
|
---|
84 | $sql.="l.unverschluesselt ";
|
---|
85 | break;
|
---|
86 | } |
---|
87 | $sql.="FROM ".$tnam." l "; |
---|
88 | // Gemeinde, Kreis, Strasse entschluesseln |
---|
89 | $sql.="LEFT JOIN ax_gemeinde g ON l.land=g.land AND l.regierungsbezirk=g.regierungsbezirk AND l.kreis=g.kreis AND l.gemeinde=g.gemeinde ";
|
---|
90 | $sql.="LEFT JOIN ax_kreisregion k ON l.land=k.land AND l.regierungsbezirk=k.regierungsbezirk AND l.kreis=k.kreis "; |
---|
91 | $sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s "; |
---|
92 | |
---|
93 | if ($dbvers == "05") { // bis PostNAS 0.5 |
---|
94 | // Besonderheit: unterschiedliche Feldformate und Fuellungen!!! |
---|
95 | // +++ Nach vollstaendiger Umstellung diesen Programmteil entfernen |
---|
96 | switch ($ltyp) {
|
---|
97 | case "o": //"Ohne HsNr"
|
---|
98 | // hier beide .lage als Char(5) |
---|
99 | // in ax_lagebezeichnungKatalogeintrag mit fÃŒhrenden Nullen |
---|
100 | // in ax_lagebezeichnungOhneHausnummer jedoch ohne fÃŒhrende Nullen |
---|
101 | $sql.="ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=trim(leading '0' from s.lage) "; |
---|
102 | break; |
---|
103 | default: // "Mit HsNr" + "mit PseudoNr" |
---|
104 | // ax_LagebezeichnungKatalogeintrag.lage ist char, |
---|
105 | // ax_LagebezeichnungMitHausnummer.lage ist integer,
|
---|
106 | // ax_lagebezeichnungMitPseudonummer.lage ist integer, |
---|
107 | $sql.="ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND to_char(l.lage, 'FM00000')=s.lage "; |
---|
108 | break;
|
---|
109 | } |
---|
110 | } else { // ab PostNAS 0.6 char(5) mit fuehr.Nullen |
---|
111 | $sql.="ON l.land=s.land AND l.regierungsbezirk=s.regierungsbezirk AND l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage "; |
---|
112 | } |
---|
113 | $sql.="WHERE l.gml_id= $1;";
|
---|
114 |
|
---|
115 | $v = array($gmlid);
|
---|
116 | $res = pg_prepare("", $sql);
|
---|
117 | $res = pg_execute("", $v); |
---|
118 |
|
---|
119 | if (!$res) echo "\n<p class='err'>Fehler bei Lagebezeichnung\n<br>".$sql."</p>\n";
|
---|
120 | |
---|
121 | if ($row = pg_fetch_array($res)) { |
---|
122 | $land =$row["land"]; |
---|
123 | $regbez=$row["regierungsbezirk"];
|
---|
124 | $kreis=$row["kreis"]; |
---|
125 | $knam=$row["knam"]; |
---|
126 | $gem =$row["gemeinde"]; |
---|
127 | $gnam =$row["gnam"]; |
---|
128 | $lage =$row["lage"]; // Strassenschluessel |
---|
129 | $snam =$row["snam"]; //Strassennamen |
---|
130 | $unver=$row["unverschluesselt"]; // Gewanne |
---|
131 | $kennz=$land."-".$regbez."-".$kreis."-".$gem."-".$lage."-"; |
---|
132 | switch ($ltyp) {
|
---|
133 | case "m": // "Mit HsNr"
|
---|
134 | $hsnr=$row["hausnummer"]; |
---|
135 | $kennz.=$hsnr; |
---|
136 | $untertitel="Hauptgebäude mit Hausnummer"; |
---|
137 | // Balken |
---|
138 | echo "<p class='lage'>ALKIS Lagebezeichnung mit Hausnummer ".$kennz." </p>\n"; // Balken
|
---|
139 | break;
|
---|
140 | case "p": // "mit PseudoNr"
|
---|
141 | $pseu=$row["pseudonummer"]; |
---|
142 | $lfd=$row["laufendenummer"]; |
---|
143 | $kennz.=$pseu."-".$lfd; |
---|
144 | $untertitel="NebengebÀude mit laufender Nummer (Lagebezeichnung mit Pseudonummer)";
|
---|
145 | echo "<p class='lage'>ALKIS Lagebezeichnung NebengebÀude ".$kennz." </p>\n"; // Balken |
---|
146 | break;
|
---|
147 | case "o": //"Ohne HsNr" |
---|
148 | if ($lage == "") { |
---|
149 | $kennz=" - ".$unver; |
---|
150 | } else { |
---|
151 | $kennz.=$unver;
}
$untertitel="Straße ohne Hausnummer und/oder Gewanne (unverschlüsselte Lage)";
|
---|
152 | echo "<p class='lage'>ALKIS Lagebezeichnung Ohne Hausnummer ".$kennz." </p>\n"; // Balken
|
---|
153 | break;
|
---|
154 | } |
---|
155 | } else { |
---|
156 | echo "<p class='err'>Fehler! Kein Treffer fuer gml_id=".$gmlid."</p>"; |
---|
157 | }
|
---|
158 | |
---|
159 | echo "\n<h2><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Lagebezeichnung</h2>\n";
|
---|
160 | |
---|
161 | echo "<p>Typ: ".$untertitel."</p>"; |
---|
162 | |
---|
163 | echo "\n<table class='outer'>\n<tr>\n\t<td>"; // Tabelle Kennzeichen
|
---|
164 | // ToDo: !! kleiner, wenn ltyp=0 und die Schluesselfelder leer sind
|
---|
165 | echo "\n\t<table class='kennzla' title='Lage'>"; |
---|
166 | echo "\n\t<tr>";
|
---|
167 | echo "\n\t\t<td class='head'>Land</td>"; |
---|
168 | echo "\n\t\t<td class='head'>Reg.-Bez.</td>"; |
---|
169 | echo "\n\t\t<td class='head'>Kreis</td>"; |
---|
170 | echo "\n\t\t<td class='head'>Gemeinde</td>"; |
---|
171 | echo "\n\t\t<td class='head'>Straße</td>"; |
---|
172 | switch ($ltyp) {
|
---|
173 | case "m": // "Mit HsNr"
|
---|
174 | echo "\n\t\t<td class='head'>Haus-Nr</td>";
|
---|
175 | break;
|
---|
176 | case "p": // "mit PseudoNr"
|
---|
177 | echo "\n\t\t<td class='head'>Haus-Nr</td>"; |
---|
178 | echo "\n\t\t<td class='head'>lfd.-Nr</td>";
|
---|
179 | break;
|
---|
180 | case "o": //"Ohne HsNr"
|
---|
181 | echo "\n\t\t<td class='head'>unverschlüsselte Lage</td>";
|
---|
182 | break;
|
---|
183 | } |
---|
184 | echo "\n\t</tr>";
|
---|
185 | echo "\n\t<tr>"; |
---|
186 | echo "\n\t\t<td title='Bundesland'>".$land."</td>";
|
---|
187 | echo "\n\t\t<td title='Regierungsbezirk'>".$regbez."</td>";
|
---|
188 | echo "\n\t\t<td title='Kreis'>"; |
---|
189 | if ($showkey) { |
---|
190 | echo "<span class='key'>".$kreis."</span><br>"; |
---|
191 | } |
---|
192 | echo $knam." </td>"; |
---|
193 | echo "\n\t\t<td title='Gemeinde'>"; |
---|
194 | if ($showkey) { |
---|
195 | echo "<span class='key'>".$gem."</span><br>"; |
---|
196 | } |
---|
197 | echo $gnam." </td>"; |
---|
198 | echo "\n\t\t<td title='Straße'>"; |
---|
199 | if ($showkey) { |
---|
200 | echo "<span class='key'>".$lage."</span><br>"; |
---|
201 | } |
---|
202 | echo $snam." </td>"; |
---|
203 | switch ($ltyp) {
|
---|
204 | case "m":
|
---|
205 | echo "\n\t\t<td title='Hausnummer und Zusatz'><span class='wichtig'>".$hsnr."</span></td>";
|
---|
206 | break;
|
---|
207 | case "p":
|
---|
208 | echo "\n\t\t<td title='Pseudonummer - Nebengebäude zu dieser Hausnummer'>".$pseu."</td>"; |
---|
209 | echo "\n\t\t<td title='Laufende Nummer Nebengebäude'><span class='wichtig'>".$lfd."</span></td>";
|
---|
210 | break;
|
---|
211 | case "o":
|
---|
212 | echo "\n\t\t<td title='Gewanne'><span class='wichtig'>".$unver."</span></td>";
|
---|
213 | break;
|
---|
214 | } |
---|
215 | echo "\n\t</tr>";
|
---|
216 | echo "\n\t</table>";
|
---|
217 |
|
---|
218 | echo "\n\t</td>\n\t<td>";
|
---|
219 | |
---|
220 | // Kopf Rechts: weitere Daten? |
---|
221 | // z.B. hier Ausgabe von "georeferenzierte GebÀudeadresse" ?
|
---|
222 | if ($idanzeige) {linkgml($gkz, $gmlid, "Lage"); }
|
---|
223 | |
---|
224 | echo "\n\t</td>\n</tr>\n</table>";
|
---|
225 | // Ende Seitenkopf |
---|
226 | |
---|
227 | // F L U R S T U E C K E |
---|
228 | if ($ltyp <> "p") { // Pseudonummer linkt nur GebÀude |
---|
229 | echo "\n\n<a name='fs'></a><h3><img src='ico/Flurstueck.ico' width='16' height='16' alt=''> Flurstücke</h3>\n"; |
---|
230 | echo "\n<p>mit dieser Lagebezeichnung.</p>"; |
---|
231 | // ax_Flurstueck >weistAuf> ax_LagebezeichnungMitHausnummer |
---|
232 | // ax_Flurstueck >zeigtAuf> ax_LagebezeichnungOhneHausnummer |
---|
233 | switch ($ltyp) {
|
---|
234 | case "m":
|
---|
235 | $bezart="weistAuf";
|
---|
236 | break;
|
---|
237 | case "o":
|
---|
238 | $bezart="zeigtAuf";
|
---|
239 | break;
|
---|
240 | } |
---|
241 | $sql="SELECT g.gemarkungsnummer, g.bezeichnung, ";
|
---|
242 | $sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche "; |
---|
243 | $sql.="FROM ax_flurstueck f ";
|
---|
244 | $sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von ";
|
---|
245 | $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; |
---|
246 | $sql.="WHERE v.beziehung_zu= $1 "; // id Lage
|
---|
247 | $sql.="AND v.beziehungsart= $2 ";
|
---|
248 | $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; |
---|
249 |
|
---|
250 | $v = array($gmlid,$bezart);
|
---|
251 | $resf = pg_prepare("", $sql);
|
---|
252 | $resf = pg_execute("", $v); |
---|
253 |
|
---|
254 | if (!$resf) {echo "<p class='err'>Fehler bei Flurstück<br><br>".$sql."</p>\n";}
|
---|
255 | |
---|
256 | echo "\n<table class='fs'>";
|
---|
257 | echo "\n<tr>"; // Kopfzeile der Tabelle
|
---|
258 | echo "\n\t<td class='head'>Gemarkung</td>";
|
---|
259 | echo "\n\t<td class='head'>Flur</td>";
|
---|
260 | echo "\n\t<td class='head' title='Flurstücksnummer (Zähler / Nenner)'>Flurst.</td>";
|
---|
261 | echo "\n\t<td class='head fla'>Fläche</td>";
|
---|
262 | echo "\n\t<td class='head nwlink noprint' title='Link: weitere Auskunft'>weit. Auskunft</td>"; |
---|
263 | echo "\n</tr>"; |
---|
264 | $j=0; |
---|
265 | while($rowf = pg_fetch_array($resf)) {
|
---|
266 | $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); |
---|
267 | |
---|
268 | //$fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT); |
---|
269 | //if ($rowf["nenner"] != "") {$fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT);} |
---|
270 | |
---|
271 | $fskenn=$rowf["zaehler"]; // Bruchnummer (ohne fuehrende Nullen) |
---|
272 | if ($rowf["nenner"] != "") { |
---|
273 | $fskenn.="/".$rowf["nenner"]; |
---|
274 | } |
---|
275 | |
---|
276 | $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m²"; |
---|
277 | echo "\n<tr>";
echo "\n\t<td>"; |
---|
278 | if ($showkey) { |
---|
279 | echo "<span class='key'>".$rowf["gemarkungsnummer"]."</span> "; |
---|
280 | } |
---|
281 | echo $rowf["bezeichnung"]."</td>";
|
---|
282 | echo "\n\t<td>".$flur."</td>";
|
---|
283 | echo "\n\t<td><span class='wichtig'>".$fskenn."</span>";
|
---|
284 | if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück");}
|
---|
285 | echo "</td>"; |
---|
286 | echo "\n\t<td class='fla'>".$flae."</td>";
|
---|
287 | echo "\n\t<td>\n\t\t<p class='nwlink noprint'>";
|
---|
288 | echo "\n\t\t<a href='alkisfsnw.php?gkz=".$gkz."&gmlid=".$rowf["gml_id"]."&eig=n";
|
---|
289 | if ($idanzeige) {echo "&id=j";}
|
---|
290 | if ($showkey) {echo "&showkey=j";} |
---|
291 | echo "' title='Flurstücksnachweis'>Flurstück <img src='ico/Flurstueck_Link.ico' width='16' height='16' alt=''></a>"; |
---|
292 | echo "\n\t\t</p>\n\t</td>"; |
---|
293 | echo "\n</tr>";
|
---|
294 | $j++;
|
---|
295 | } |
---|
296 | echo "\n</table>"; |
---|
297 | } |
---|
298 | |
---|
299 | // L A G E |
---|
300 | // andere Lage mit gleicher Hausnummer suchen |
---|
301 | if ($ltyp <> "o") { // nicht bei Gewanne (Ohne HsNr) |
---|
302 | echo "\n\n<a name='lage'></a><h3><img src='ico/Lage_mit_Haus.ico' width='16' height='16' alt=''> Lage</h3>\n"; |
---|
303 | echo "\n<p>andere Lagebezeichnungen zur gleichen Hausnummer.</p>"; |
---|
304 | $whereclaus="WHERE land= $1 AND regierungsbezirk= $2 AND kreis= $3 AND gemeinde= $4 AND lage= $5 "; |
---|
305 | $url=$_SERVER['PHP_SELF']."?gkz=".$gkz."&id=".$id."&gmlid="; // Basis |
---|
306 | |
---|
307 | switch ($ltyp) {
|
---|
308 | case "m": // aktuell Hausnummer gefunden |
---|
309 | // dazu alle NebengebÀude suchen |
---|
310 | echo "\n<p>Nebengebäude: "; |
---|
311 | $sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l "; |
---|
312 | $sql.=$whereclaus."AND lage= $6 AND pseudonummer= $7 ORDER BY laufendenummer;"; |
---|
313 | // pseudonummer character varying(5), laufendenummer character varying(2),
|
---|
314 |
|
---|
315 | $v = array($land,$regbez,$kreis,$gem,$lage,$lage,$hsnr);
|
---|
316 | $res = pg_prepare("", $sql);
|
---|
317 | $res = pg_execute("", $v); |
---|
318 |
|
---|
319 | if (!$res) echo "\n<p class='err'>Fehler bei Nebengebäude.<br>".$sql."</p>\n";
|
---|
320 | while($row = pg_fetch_array($res)) { |
---|
321 | echo "\n\t<a href='".$url.$row["gml_id"]."&ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a> "; |
---|
322 | } |
---|
323 | echo "\n</p>";
|
---|
324 | break;
|
---|
325 | |
---|
326 | case "p": // aktuell NebengebÀude: Haupt- und NebengebÀude suchen
|
---|
327 | echo "\n<p>Hauptgebäude: "; |
---|
328 | $sql ="SELECT l.gml_id FROM ax_lagebezeichnungmithausnummer l "; |
---|
329 | $sql.=$whereclaus."AND hausnummer= $6;";
|
---|
330 |
|
---|
331 | $v = array($land,$regbez,$kreis,$gem,$lage,$pseu);
|
---|
332 | $res = pg_prepare("", $sql);
|
---|
333 | $res = pg_execute("", $v); |
---|
334 |
|
---|
335 | if (!$res) echo "<p class='err'>Fehler bei Hauptgebäude.<br>".$sql."</p>\n"; |
---|
336 | while($row = pg_fetch_array($res)) { |
---|
337 | echo "\n\t<a href='".$url.$row["gml_id"]."&ltyp=m'>Haus-Nr ".$pseu."</a> "; |
---|
338 | } |
---|
339 | echo "\n</p>"; |
---|
340 | |
---|
341 | echo "\n<p>weitere Nebengebäude: "; |
---|
342 | $sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l "; |
---|
343 | $sql.=$whereclaus."AND pseudonummer= $6 AND laufendenummer <> $7 ORDER BY laufendenummer;";
|
---|
344 |
|
---|
345 | $v = array($land,$regbez,$kreis,$gem,$lage,$pseu,$lfd);
|
---|
346 | $res = pg_prepare("", $sql);
|
---|
347 | $res = pg_execute("", $v); |
---|
348 |
|
---|
349 | if (!$res) echo "\n<p class='err'>Fehler bei Nebengebäude.<br>".$sql."</p>\n"; |
---|
350 | while($row = pg_fetch_array($res)) { |
---|
351 | echo "\n\t<a href='".$url.$row["gml_id"]."&ltyp=p'>lfd.-Nr ".$row["laufendenummer"]."</a> "; |
---|
352 | }
|
---|
353 | echo "\n</p>"; |
---|
354 | break;
} |
---|
355 | } |
---|
356 | |
---|
357 | // G E B A E U D E |
---|
358 | |
---|
359 | // Mittelfristig ist zu ueberlegen, ob hier weitere Einzelheiten dargestellt werden, |
---|
360 | // oder ob nicht besser ein eigenes Modul alkisgebaeude.php dies uebernehmen sollte. |
---|
361 | // Dort sollten auch diese Relationen abgebildet werden: |
---|
362 | // ax_gebaeude >gehoertZu> ax_gebaeude (ringförmige Verbindung GebÀudekomplex) |
---|
363 | // ax_gebaeude (umschliesst) ax_bauteil |
---|
364 | // ax_gebaeude >gehoert> ax_person (Ausnahme) |
---|
365 | |
---|
366 | if ($ltyp <> "o") { // OhneHsNr linkt nur Flurst. |
---|
367 | echo "\n\n<a name='geb'></a><h3><img src='ico/Haus.ico' width='16' height='16' alt=''> Gebäude</h3>"; |
---|
368 | echo "\n<p>mit dieser Lagebezeichnung.</p>"; |
---|
369 | switch ($ltyp) {
|
---|
370 | case "p":
|
---|
371 | $bezart="hat";
|
---|
372 | break;
|
---|
373 | case "m":
|
---|
374 | $bezart="zeigtAuf";
|
---|
375 | break;
|
---|
376 | } |
---|
377 | $sql ="SELECT g.gml_id, g.gebaeudefunktion, g.description, g.name, g.lagezurerdoberflaeche, g.bauweise, g.anzahlderoberirdischengeschosse AS aog, g.grundflaeche, g.individualname, g.zustand, ";
|
---|
378 | $sql.="round(area(g.wkb_geometry)::numeric,2) AS flaeche, h.bauweise_beschreibung, u.bezeichner "; |
---|
379 | $sql.="FROM ax_gebaeude g ";
|
---|
380 | $sql.="JOIN alkis_beziehungen v ON g.gml_id=v.beziehung_von ";
|
---|
381 | $sql.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise = h.bauweise_id "; |
---|
382 | $sql.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion = u.wert "; |
---|
383 | $sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart= $2 ;";
|
---|
384 |
|
---|
385 | $v = array($gmlid,$bezart);
|
---|
386 | $res = pg_prepare("", $sql);
|
---|
387 | $res = pg_execute("", $v);
|
---|
388 | |
---|
389 | if (!$res) echo "<p class='err'>Fehler bei Gebaeude.<br>".$sql."</p>\n";
|
---|
390 | $i=0;
|
---|
391 | while($row = pg_fetch_array($res)) { // Only You! |
---|
392 | echo "<p>"; |
---|
393 | if ($idanzeige) {linkgml($gkz, $row["gml_id"], "Gebäude");} |
---|
394 | echo "</p>"; |
---|
395 | echo "\n<table>"; |
---|
396 | |
---|
397 | echo "\n\t<tr><td>Funktion:</td><td>"; |
---|
398 | if ($showkey) { |
---|
399 | echo "<span class='key'>".$row["gebaeudefunktion"]."</span> "; |
---|
400 | } |
---|
401 | echo $row["bezeichner"]."</td></tr>"; // integer |
---|
402 | |
---|
403 | if (!$row["description"] == "") { |
---|
404 | echo "\n\t<tr><td>Beschreibung:</td><td>".$row["description"]."</td></tr>"; // integer - EntschlÃŒsseln! |
---|
405 | }
|
---|
406 |
|
---|
407 | if (!$row["name"] == "") { |
---|
408 | echo "\n\t<tr><td>Name:</td><td>".$row["name"]."</td></tr>"; // char(25) |
---|
409 | } |
---|
410 | |
---|
411 | if (!$row["lagezurerdoberflaeche"] == "") { |
---|
412 | echo "\n\t<tr><td>Lage zur Erdoberfläche:</td><td>".$row["lagezurerdoberflaeche"]."</td></tr>"; |
---|
413 | } // integer - EntschlÃŒsseln! |
---|
414 | |
---|
415 | if (!$row["bauweise"] == "") { |
---|
416 | echo "\n\t<tr><td>Bauweise:</td><td>"; |
---|
417 | if ($showkey) { |
---|
418 | echo "<span class='key'>".$row["bauweise"]."</span> "; |
---|
419 | } |
---|
420 | echo $row["bauweise_beschreibung"]."</td></tr>"; // integer |
---|
421 | }
|
---|
422 |
|
---|
423 | if (!$row["aog"] == "") { |
---|
424 | echo "\n\t<tr><td>Anz. der oberird. Geschosse:</td><td>".$row["aog"]."</td></tr>"; // |
---|
425 | }
|
---|
426 |
|
---|
427 | if (!$row["grundflaeche"] == "") { |
---|
428 | echo "\n\t<tr><td>Grundfläche:</td><td title='Buchfläche'>".$row["grundflaeche"]."</td></tr>"; // integer |
---|
429 | } |
---|
430 | |
---|
431 | echo "\n\t<tr><td>Geometrische Fläche:</td><td title='berechnete Fläche'>".$row["flaeche"]." m²</td></tr>"; |
---|
432 | |
---|
433 | if (!$row["individualname"] == "") { |
---|
434 | echo "\n\t<tr><td>Individualname:</td><td>".$row["individualname"]."</td></tr>"; // char(7) |
---|
435 | } |
---|
436 | |
---|
437 | if (!$row["zustand"] == "") { |
---|
438 | echo "\n\t<tr><td>Zustand:</td><td>".$row["zustand"]."</td></tr>"; // integer |
---|
439 | }
|
---|
440 |
|
---|
441 | echo "\n</table>"; |
---|
442 | } |
---|
443 | } |
---|
444 | |
---|
445 | ?> |
---|
446 |
|
---|
447 | <form action=''>
|
---|
448 | <div class='buttonbereich noprint'>
|
---|
449 | <hr>
|
---|
450 | <input type='button' name='back' value='<<' title='Zurück' onClick='javascript:history.back()'>
|
---|
451 | <input type='button' name='print' value='Druck' title='Seite Drucken' onClick='window.print()'>
|
---|
452 | <input type='button' name='close' value='X' title='Fenster schließen' onClick='window.close()'>
|
---|
453 | </div>
|
---|
454 | </form> |
---|
455 |
|
---|
456 | <?php footer($gkz, $gmlid, $idumschalter, $idanzeige, $_SERVER['PHP_SELF']."?", $hilfeurl, "&ltyp=".$ltyp , $showkey); ?> |
---|
457 |
|
---|
458 | </body>
|
---|
459 | </html> |
---|
460 |
|
---|