Changeset 377 for trunk/info/info/alkisn/alkishaus.php
- Timestamp:
- 12/05/16 10:57:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/info/info/alkisn/alkishaus.php
r375 r377 5 5 Version: 6 6 2016-02-24 Version fuer norGIS-ALKIS-Import 7 2016-11-29 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 8 2016-12-05 Array-Behandlung ax_gebaeude.name 7 9 8 10 ToDo: … … 10 12 - geometrische Suche nach FS, auf denen das Haus steht 11 13 - Template im WMS auf Ebene GebÀude hierhin verknÃŒpfen. 12 - Auch dieseRelationen abbilden:14 - Relationen abbilden: 13 15 ax_gebaeude >gehoertZu> ax_gebaeude (ringförmige Verbindung GebÀudekomplex) 14 16 ax_gebaeude (umschliesst) ax_bauteil 15 ax_gebaeude >gehoert> ax_person 17 ax_gebaeude >gehoert> ax_person (Ausnahme) 16 18 */ 17 19 session_start(); 18 20 $id="n"; 21 $allfld = "n"; 19 22 $cntget = extract($_GET); 20 23 require_once("alkis_conf_location.php"); … … 25 28 if ($allfld == "j") {$allefelder=true;} else {$allefelder=false;} 26 29 ?> 27 <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">28 <html >30 <!doctype html> 31 <html lang="de"> 29 32 <head> 30 <meta name="author" content="b600352" > 31 <meta http-equiv="cache-control" content="no-cache"> 32 <meta http-equiv="pragma" content="no-cache"> 33 <meta http-equiv="expires" content="0"> 34 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 33 <meta charset="utf-8"> 35 34 <title>ALKIS Daten zum Haus</title> 36 35 <link rel="stylesheet" type="text/css" href="alkisauszug.css"> … … 38 37 <style type='text/css' media='print'> 39 38 .noprint {visibility: hidden;} 39 td.mittelspalte {width: 190px;} 40 40 </style> 41 41 </head> … … 43 43 <?php 44 44 45 $con = pg_connect( "host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass);45 $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkishaus.php'"); 46 46 if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 47 47 48 48 // G e b a e u d e 49 // ++ auch .d-Spalten der alkis_werte? 49 50 50 $sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, g.anzahlderoberirdischengeschosse AS aog, g.anzahlderunterirdischengeschosse AS aug, 51 51 g.lagezurerdoberflaeche, g.dachgeschossausbau, g.zustand, array_to_string(g.weiteregebaeudefunktion, ',') AS wgf, g.dachform, g.hochhaus, g.objekthoehe, g.geschossflaeche, g.grundflaeche, g.umbauterraum, g.baujahr, g.dachart, g.qualitaetsangaben, 52 h.v bbauw, u.v AS bfunk, z.v AS zustandv, d.v AS bdach, a.v AS dgaus, o.v AS oflv, 53 round(st_area(g.wkb_geometry)::numeric,2) AS gebflae FROM ax_gebaeude g 52 h.v AS bbauw, h.d AS dbauw, u.v AS bfunk, u.d AS dfunk, z.v AS zustandv, z.d AS zustandd, d.v AS bdach, a.v AS dgaus, o.v AS oflv, o.d AS ofld, 53 round(st_area(g.wkb_geometry)::numeric,2) AS gebflae 54 FROM ax_gebaeude g 54 55 LEFT JOIN alkis_wertearten h ON cast(g.bauweise AS character varying)=h.k AND h.element='ax_gebaeude' AND h.bezeichnung='bauweise' 55 56 LEFT JOIN alkis_wertearten u ON cast(g.gebaeudefunktion AS character varying)=u.k AND u.element='ax_gebaeude' AND u.bezeichnung='gebaeudefunktion' … … 78 79 // Umschalter: auch leere Felder ausgeben? 79 80 echo "<p class='nwlink noprint'>"; 80 echo " <a class='nwlink' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&gmlid=".$gmlid;81 echo "Umschalten: <a class='nwlink' href='".$_SERVER['PHP_SELF']."?gkz=".$gkz."&gmlid=".$gmlid; 81 82 if ($showkey) {echo "&showkey=j";} else {echo "&showkey=n";} 82 if ($allefelder) {echo "&allfld=n'>nur Felder mit Inhalt";} 83 else {echo "&allfld=j'>auch leere Felder";} 83 if ($allefelder) { 84 echo "&allfld=n'>nur Felder mit Inhalt"; 85 } else { 86 echo "&allfld=j'>auch leere Felder"; 87 } 84 88 echo "</a></p>"; 85 89 … … 91 95 ."\n<tr>\n" 92 96 ."\n\t<td class='head' title=''>Attribut</td>" 93 ."\n\t<td class='head' title=''>Wert</td>" 97 ."\n\t<td class='head mittelspalte' title=''>Wert</td>" 98 ."\n\t<td class='head' title=''>Erklärung</td>" 94 99 ."\n</tr>"; 95 100 … … 97 102 $aug=$rowg["aug"]; 98 103 $hoh=$rowg["hochhaus"]; 99 $nam=$rowg["name"]; // Gebaeude-Name 104 $nam=trim(trim($rowg["name"], "{}"), '"'); // Gebaeude-Name ist ein Array in der DB: '{"A","B"}' 105 // Mehrfachbelegung nur theoretisch. Entklammern reicht. Mal mit und mal ohne "" drum !? 106 /* SELECT name FROM ax_gebaeude WHERE NOT name IS NULL AND array_length(name, 1) > 1; */ 107 $kfunk=$rowg["gebaeudefunktion"]; 100 108 $bfunk=$rowg["bfunk"]; 109 $dfunk=$rowg["dfunk"]; 101 110 102 111 $baw=$rowg["bauweise"]; 103 112 $bbauw=$rowg["bbauw"]; 104 105 $ofl=$rowg["lagezurerdoberflaeche"]; // Key 106 $oflv=$rowg["oflv"]; // Value 113 $dbauw=$rowg["dbauw"]; 114 115 $ofl=$rowg["lagezurerdoberflaeche"]; 116 $oflv=$rowg["oflv"]; 117 $ofld=$rowg["ofld"]; 107 118 108 119 $dga=$rowg["dachgeschossausbau"]; // Key … … 111 122 $zus=$rowg["zustand"]; // Key 112 123 $zusv=$rowg["zustandv"]; // Value 124 $zusd=$rowg["zustandd"]; // Description 113 125 114 126 $wgf=$rowg["wgf"]; // Array-> kommagetrennte Liste … … 127 139 if (($nam != "") OR $allefelder) { 128 140 echo "\n<tr>" 129 ."\n\t<td title='\"Name\" ist der Eigenname oder die Bezeichnung des Gebäudes.'>Name</td>"141 ."\n\t<td class='li'>Name</td>" 130 142 ."\n\t<td>".$nam."</td>" 143 ."\n\t<td class='erkl'>'Name' ist der Eigenname oder die Bezeichnung des Gebäudes.</td>" 131 144 ."\n</tr>"; 132 145 } … … 167 180 168 181 if ($zhsnr == 1) { 169 echo "\n<tr>\n\t<td title='Lage mit Hausnummer oder Pseudonummer'>Adresse</td>"; 170 echo "\n\t<td>"; 182 echo "\n<tr>" 183 ."\n\t<td class='li' title='Lage mit Hausnummer oder Pseudonummer'>Adresse</td>" 184 ."\n\t<td class='fett'>"; 171 185 } 172 186 echo "\n\t\t<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''> "; 173 187 if ($showkey) {echo "<span class='key'>(".$skey.")</span> ";} 174 echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&gmlid=".$gmllag."&ltyp=".$ltyp."'>" ;175 echo$snam." ".$hsnr;176 if ($ltyp == "p") { 188 echo "\n\t\t<a title='Hausnummer' href='alkislage.php?gkz=".$gkz."&gmlid=".$gmllag."&ltyp=".$ltyp."'>" 189 .$snam." ".$hsnr; 190 if ($ltyp == "p") {echo ", lfd.Nr ".$hlfd;} 177 191 echo "</a><br>"; 178 192 } // Ende Loop Lagezeilen m.H. 179 if ($zhsnr > 0) {echo "\n\t</td>\n</tr>";} 180 193 if ($zhsnr > 0) {echo "\n\t</td>\n\t<td> </td>\n</tr>";} 194 195 // GebÀudefunktion 181 196 echo "\n<tr>" 182 ."\n\t<td title='\"Gebäudefunktion\" ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Gebäudes'>Funktion</td>"183 ."\n\t<td >";184 if ($showkey) {echo "<span class='key'>".$ rowg["gebaeudefunktion"]."</span> ";}197 ."\n\t<td class='li'>Gebäudefunktion</td>" 198 ."\n\t<td class='fett'>"; 199 if ($showkey) {echo "<span class='key'>".$kfunk."</span> ";} 185 200 echo $bfunk."</td>" 201 ."\n\t<td class='erkl'>'Gebäudefunktion' ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Gebäudes'<br>".$dfunk."</td>" 186 202 ."\n</tr>"; 203 204 // Bauweise 187 205 if ($baw != "" OR $allefelder) { 188 206 echo "\n<tr>" 189 ."\n\t<td title='\"Bauweise\" ist die Beschreibung der Art der Bauweise.'>Bauweise</td>"190 ."\n\t<td >";207 ."\n\t<td class='li'>Bauweise</td>" 208 ."\n\t<td class='fett'>"; 191 209 if ($showkey) {echo "<span class='key'>".$baw."</span> ";} 192 210 echo $bbauw."</td>" 193 . "\n</tr>"; 194 } 211 ."\n\t<td class='erkl'>'Bauweise' ist die Beschreibung der Art der Bauweise.<br>".$dbauw."</td>" 212 ."\n</tr>"; 213 } 214 215 // Geschosse 195 216 if ($aog != "" OR $allefelder) { 196 217 echo "\n<tr>" 197 ."\n\t<td title='Anzahl oberirdischer Geschosse'>Geschosse</td>" 198 . "\n\t<td>".$aog."</td>" 199 . "\n</tr>"; 200 } 218 ."\n\t<td class='li'>Geschosse</td>" 219 ."\n\t<td class='fett'>".$aog."</td>" 220 ."\n\t<td class='erkl'>Anzahl oberirdischer Geschosse</td>" 221 ."\n</tr>"; 222 } 223 224 // U-Geschosse 201 225 if ($aug != "" OR $allefelder) { 202 226 echo "\n<tr>" 203 ."\n\t<td title='Anzahl unterirdischer Geschosse'>U-Geschosse</td>" 204 . "\n\t<td>".$aug."</td>" 205 . "\n</tr>"; 206 } 227 ."\n\t<td class='li'>U-Geschosse</td>" 228 . "\n\t<td class='fett'>".$aug."</td>" 229 ."\n\t<td class='erkl'>Anzahl unterirdischer Geschosse</td>" 230 ."\n</tr>"; 231 } 232 233 // Hochhaus 207 234 if ($hoh != "" OR $allefelder) { 208 235 echo "\n<tr>" 209 ."\n\t<td title='\"Hochhaus\" ist ein Gebäude, das nach Gebäudehöhe und Ausprägung als Hochhaus zu bezeichnen ist. Für Gebäude im Geschossbau gilt dieses i.d.R. ab 8 oberirdischen Geschossen, für andere Gebäude ab einer Gebäudehöhe von 22 m.'>Hochhaus</td>"; 210 echo "\n\t<td>".$hoh."</td>"; 211 echo "\n</tr>"; 212 } 236 ."\n\t<td class='li'>Hochhaus</td>" 237 ."\n\t<td class='fett'>".$hoh."</td>" 238 ."\n\t<td class='erkl'>'Hochhaus' ist ein Gebäude, das nach Gebäudehöhe und Ausprägung als Hochhaus zu bezeichnen ist. Für Gebäude im Geschossbau gilt dieses i.d.R. ab 8 oberirdischen Geschossen, für andere Gebäude ab einer Gebäudehöhe von 22 m.</td>" 239 ."\n</tr>"; 240 } 241 242 // Lage zur ErdoberflÀche 213 243 if ($ofl != "" OR $allefelder) { 214 244 echo "\n<tr>" 215 ."\n\t<td title='\"Lage zur Erdoberfläche\" ist die Angabe der relativen Lage des Gebäudes zur Erdoberfläche. Diese Attributart wird nur bei nicht ebenerdigen Gebäuden geführt.'>Lage zur Erdoberfläche</td>"216 ."\n\t<td >";245 ."\n\t<td class='li'>Lage zur Erdoberfläche</td>" 246 ."\n\t<td class='fett'>"; 217 247 if ($showkey) {echo "<span class='key'>".$ofl."</span> ";} 218 echo $oflv;"</td>" 219 ."\n</tr>"; 220 } 248 echo $oflv."</td>" 249 ."\n\t<td class='erkl'>'Lage zur Erdoberfläche' ist die Angabe der relativen Lage des Gebäudes zur Erdoberfläche. Diese Attributart wird nur bei nicht ebenerdigen Gebäuden geführt.<br>".$ofld."</td>" 250 ."\n</tr>"; 251 } 252 253 // Dachgeschossausbau 254 // nichts dazu in alkis_wertearten.d 221 255 if ($dga != "" OR $allefelder) { 222 256 echo "\n<tr>" 223 ."\n\t<td title='\"Dachgeschossausbau\" ist ein Hinweis auf den Ausbau bzw. die Ausbaufähigkeit des Dachgeschosses.'>Dachgeschossausbau</td>"224 ."\n\t<td >";257 ."\n\t<td class='li'>Dachgeschossausbau</td>" 258 ."\n\t<td class='fett'>"; 225 259 if ($showkey) {echo "<span class='key'>".$dga."</span> ";} 226 260 echo $dgav."</td>" 227 ."\n</tr>"; 228 } 261 ."\n\t<td class='erkl'>'Dachgeschossausbau' ist ein Hinweis auf den Ausbau bzw. die Ausbaufähigkeit des Dachgeschosses.</td>" 262 ."\n</tr>"; 263 } 264 265 // Zustand 229 266 if ($zus != "" OR $allefelder) { 230 267 echo "\n<tr>" 231 ."\n\t<td title='\"Zustand\" beschreibt die Beschaffenheit oder die Betriebsbereitschaft von \"Gebäude\". Diese Attributart wird nur dann optional geführt, wenn der Zustand des Gebäudes vom nutzungsfähigen Zustand abweicht.'>Zustand</td>"232 ."\n\t<td >";268 ."\n\t<td class='li'>Zustand</td>" 269 ."\n\t<td class='fett'>"; 233 270 if ($showkey) {echo "<span class='key'>".$zus."</span> ";} 234 271 echo $zusv."</td>" 235 ."\n</tr>"; 236 } 272 ."\n\t<td class='erkl'>'Zustand' beschreibt die Beschaffenheit oder die Betriebsbereitschaft von 'Gebäude'. Diese Attributart wird nur dann optional geführt, wenn der Zustand des Gebäudes vom nutzungsfähigen Zustand abweicht.<br>".$zusd."</td>" 273 ."\n</tr>"; 274 } 275 276 // Weitere GebÀudefunktionen 237 277 // Suche Testfall: SELECT * FROM ax_gebaeude WHERE NOT weiteregebaeudefunktion IS NULL; 238 278 // Keiner zu finden. Das folgende ungetestet: 239 279 if ($wgf != "" OR $allefelder) { // "weiteregebaeudefunktion" ist ein Array 240 280 echo "\n<tr>" 241 ."\n\t<td title='\"Weitere Gebäudefunktion\" ist die Funktion, die ein Gebäude neben der dominierenden Gebäudefunktion hat.'>Weitere Gebäudefunktionen</td>\n\t<td>"; 281 ."\n\t<td class='li'>Weitere Gebäudefunktionen</td>" 282 ."\n\t<td>"; 242 283 if ($wgf != "") { // Kommagetrennte Liste aus Array 243 284 $sqlw="SELECT k, v, d FROM alkis_wertearten WHERE k IN ( $1 ) AND element='ax_gebaeude' AND bezeichnung='weiteregebaeudefunktion' ORDER BY k;"; … … 258 299 } 259 300 echo "</td>" 260 ."\n</tr>"; 261 } 301 ."\n\t<td class='erkl'>'Weitere Gebäudefunktion' ist die Funktion, die ein Gebäude neben der dominierenden Gebäudefunktion hat.</td>" 302 ."\n</tr>"; 303 } 304 305 // Dachform 306 // nichts dazu in alkis_wertearten.d 262 307 if ($daf != "" OR $allefelder) { 263 308 echo "\n<tr>" 264 ."\n\t<td title='\"Dachform\" beschreibt die charakteristische Form des Daches.'>Dachform</td>"265 ."\n\t<td >";309 ."\n\t<td class='li'>Dachform</td>" 310 ."\n\t<td class='fett'>"; 266 311 if ($showkey) {echo "<span class='key'>".$daf."</span> ";} 267 312 echo $dach."</td>" 268 ."\n</tr>"; 269 } 313 ."\n\t<td class='erkl'>'Dachform' beschreibt die charakteristische Form des Daches.</td>" 314 ."\n</tr>"; 315 } 316 317 // Objekthöhe 270 318 if ($hho != "" OR $allefelder) { 271 319 echo "\n<tr>" 272 ."\n\t<td title='\"Objekthöhe\" ist die Höhendifferenz in [m] zwischen dem höchsten Punkt der Dachkonstruktion und der festgelegten Geländeoberfläche des Gebäudes.'>Objekthöhe</td>" 273 ."\n\t<td>".$hho."</td>" 274 ."\n</tr>"; 275 } 320 ."\n\t<td class='li'>Objekthöhe</td>" 321 ."\n\t<td class='fett'>".$hho."</td>" 322 ."\n\t<td class='erkl'>'Objekthöhe' ist die Höhendifferenz in [m] zwischen dem höchsten Punkt der Dachkonstruktion und der festgelegten Geländeoberfläche des Gebäudes.</td>" 323 ."\n</tr>"; 324 } 325 326 // GeschossflÀche 276 327 if ($gfl != "" OR $allefelder) { 277 328 echo "\n<tr>" 278 ."\n\t<td title='\"Geschossfläche\" ist die Gebäudegeschossfläche in [qm].'>Geschossfläche</td>"279 ."\n\t<td >";329 ."\n\t<td class='li'>Geschossfläche</td>" 330 ."\n\t<td class='fett'>"; 280 331 if ($gfl != "") {echo $gfl." m²";} 281 332 echo "</td>" 282 ."\n</tr>"; 283 } 333 ."\n\t<td class='erkl'>'Geschossfläche' ist die Gebäudegeschossfläche in [qm].</td>" 334 ."\n</tr>"; 335 } 336 337 // GrundflÀche 284 338 if ($grf != "" OR $allefelder) { 285 339 echo "\n<tr>" 286 ."\n\t<td title='\"Grundfläche\" ist die Gebäudegrundfläche in [qm].'>Grundfläche</td>"287 ."\n\t<td >";340 ."\n\t<td class='li'>Grundfläche</td>" 341 ."\n\t<td class='fett'>"; 288 342 if ($grf != "") {echo $grf." m²";} 289 echo "\n</tr>"; 290 } 343 echo "\n\t<td class='erkl'>'Grundfläche' ist die Gebäudegrundfläche in [qm].</td>" 344 ."\n</tr>"; 345 } 346 347 // Umbauter Raum 291 348 if ($ura != "" OR $allefelder) { 292 349 echo "\n<tr>" 293 ."\n\t<td title='\"Umbauter Raum\" ist der umbaute Raum [Kubikmeter] des Gebäudes.'>Umbauter Raum</td>" 294 ."\n\t<td>".$ura."</td>" 295 ."\n</tr>"; 296 } 350 ."\n\t<td class='li'>Umbauter Raum</td>" 351 ."\n\t<td class='fett'>".$ura."</td>" 352 ."\n\t<td class='erkl'>'Umbauter Raum' ist der umbaute Raum [Kubikmeter] des Gebäudes.</td>" 353 ."\n</tr>"; 354 } 355 356 // Baujahr 297 357 if ($bja != "" OR $allefelder) { 298 358 echo "\n<tr>" 299 ."\n\t<td title='\"Baujahr\" ist das Jahr der Fertigstellung oder der baulichen Veränderung des Gebäudes.'>Baujahr</td>" 300 ."\n\t<td>".$bja."</td>" 301 ."\n</tr>"; 302 } 359 ."\n\t<td class='li'>Baujahr</td>" 360 ."\n\t<td class='fett'>".$bja."</td>" 361 ."\n\t<td class='erkl'>'Baujahr' ist das Jahr der Fertigstellung oder der baulichen Veränderung des Gebäudes.</td>" 362 ."\n</tr>"; 363 } 364 365 // Dachart 303 366 if ($daa != "" OR $allefelder) { 304 367 echo "\n<tr>" 305 ."\n\t<td title='\"Dachart\" gibt die Art der Dacheindeckung (z.B. Reetdach) an.'>Dachart</td>" 306 ."\n\t<td>".$daa."</td>" 307 ."\n</tr>"; 308 } 368 ."\n\t<td class='li'>Dachart</td>" 369 ."\n\t<td class='fett'>".$daa."</td>" 370 ."\n\t<td class='erkl'>'Dachart' gibt die Art der Dacheindeckung (z.B. Reetdach) an.</td>" 371 ."\n</tr>"; 372 } 373 374 // QualitÀtsangaben 309 375 if ($qag != "" OR $allefelder) { 310 376 echo "\n<tr>" 311 ."\n\t<td title='Angaben zur Herkunft der Informationen (Erhebungsstelle). Die Information ist konform zu den Vorgaben aus ISO 19115 zu repräsentieren.'>Qualitätsangaben</td>" 312 ."\n\t<td>".$qag."</td>" 377 ."\n\t<td class='li'>Qualitätsangaben</td>" 378 ."\n\t<td class='fett'>".$qag."</td>" 379 ."\n\t<td class='erkl'>Angaben zur Herkunft der Informationen (Erhebungsstelle). Die Information ist konform zu den Vorgaben aus ISO 19115 zu repräsentieren.</td>" 313 380 ."\n</tr>"; 314 381 } … … 321 388 ?> 322 389 323 <form action=''> 324 <div class='buttonbereich noprint'> 325 <hr> 326 <a title="zurück" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zurück"></a> 327 <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a> 328 </div> 329 </form> 390 <div class='buttonbereich noprint'> 391 <hr> 392 <a title="zurück" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zurück"></a> 393 <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a> 394 </div> 330 395 331 396 <?php footer($gmlid, $_SERVER['PHP_SELF']."?", ""); ?>
Note: See TracChangeset
for help on using the changeset viewer.