gehoertZu> ax_gebaeude (ringförmige Verbindung Gebäudekomplex) ax_gebaeude (umschliesst) ax_bauteil ax_gebaeude >gehoert> ax_person (Ausnahme) */ session_start(); $allfld = "n"; $showkey="n"; $nodebug=""; // Var. aus Parameter initalisieren $cntget = extract($_GET); // Parameter in Variable umwandeln // strikte Validierung aller Parameter if (!isset($gmlid) or !preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} if (!isset($gkz) or !preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} if ($showkey == "j") {$showkey=true;} else {$showkey=false;} if (!preg_match('#^[j|n]{0,1}$#', $allfld)) {die ("Eingabefehler allfld");} if ($allfld == "j") {$allefelder=true;} else {$allefelder=false;} if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} require_once("alkis_conf_location.php"); if ($auth == "mapbender") {require_once($mapbender);} include("alkisfkt.php"); echo << ALKIS Daten zum Haus END; // Mit URL-Parameter "&nodebug=j" kann man die Entwicklungsumgebung (in Conf definiert) ausschalten. // Manuell an die URL anfügen, wirkt nur temporär und wird nicht in Links weiter gereicht. if ($nodebug == "j") {$debug=0;} $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkishaus.php'"); if (!$con) echo "\n

Fehler beim Verbinden der DB

"; // G e b a e u d e // ... g.qualitaetsangaben, $sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, g.anzahlderoberirdischengeschosse AS aog, g.anzahlderunterirdischengeschosse AS aug, 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, h.beschreibung AS bbauw, h.dokumentation AS dbauw, u.beschreibung AS bfunk, u.dokumentation AS dfunk, z.beschreibung AS zustandv, z.dokumentation AS zustandd, d.beschreibung AS bdach, a.beschreibung AS dgaus, o.beschreibung AS oflv, o.dokumentation AS ofld, round(st_area(g.wkb_geometry)::numeric,2) AS gebflae FROM ax_gebaeude g LEFT JOIN ax_bauweise_gebaeude h ON g.bauweise = h.wert LEFT JOIN ax_gebaeudefunktion u ON g.gebaeudefunktion = u.wert LEFT JOIN ax_zustand_gebaeude z ON g.zustand = z.wert LEFT JOIN ax_dachform d ON g.dachform = d.wert LEFT JOIN ax_dachgeschossausbau_gebaeude a ON g.dachgeschossausbau = a.wert LEFT JOIN ax_lagezurerdoberflaeche_gebaeude o ON g.lagezurerdoberflaeche = o.wert WHERE g.gml_id= $1 AND g.endet IS NULL;"; $v = array($gmlid); $resg = pg_prepare("", $sqlg); $resg = pg_execute("", $v); if (!$resg) { echo "\n

Fehler bei Gebäude.
".pg_last_error()."

"; if ($debug > 2) {echo "\n

SQL=
".$sqlg."
$1 = gml_id = '".$gmlid."'

";} } // Balken echo "\n

ALKIS Haus ".$gmlid." 

"; // ++ Kennzeichen? echo "\n

Haus (Gebäude)

"; // Kennzeichen in Rahmen // - Welches Kennzeichen zum Haus ? echo "\n
"; // Umschalter: auch leere Felder ausgeben? echo ""; $gebnr = 0; while($rowg = pg_fetch_assoc($resg)) { // Schleife, kann aber nur EIN Haus sein. $gebnr++; echo "\n" ."\n\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; $aog=$rowg["aog"]; $aug=$rowg["aug"]; $hoh=$rowg["hochhaus"]; $nam=trim(trim($rowg["name"], "{}"), '"'); // Gebaeude-Name ist ein Array in der DB: '{"A","B"}' // Mehrfachbelegung nur theoretisch. Entklammern reicht. Mal mit und mal ohne "" drum !? /* SELECT name FROM ax_gebaeude WHERE NOT name IS NULL AND array_length(name, 1) > 1; */ $kfunk=$rowg["gebaeudefunktion"]; $bfunk=$rowg["bfunk"]; $dfunk=$rowg["dfunk"]; $baw=$rowg["bauweise"]; $bbauw=$rowg["bbauw"]; $dbauw=$rowg["dbauw"]; $ofl=$rowg["lagezurerdoberflaeche"]; $oflv=$rowg["oflv"]; $ofld=$rowg["ofld"]; $dga=$rowg["dachgeschossausbau"]; // Key $dgav=$rowg["dgaus"]; // Value $zus=$rowg["zustand"]; // Key $zusv=$rowg["zustandv"]; // Value $zusd=$rowg["zustandd"]; // Description $wgf=$rowg["wgf"]; // Array-> kommagetrennte Liste $daf=$rowg["dachform"]; // Key $dach=$rowg["bdach"]; // Value $hho=$rowg["objekthoehe"]; $gfl=$rowg["geschossflaeche"]; $grf=$rowg["grundflaeche"]; $ura=$rowg["umbauterraum"]; $bja=$rowg["baujahr"]; $daa=$rowg["dachart"]; // $qag=$rowg["qualitaetsangaben"]; if (($nam != "") OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; } // 0 bis N L a g e bezeichnungen mit Haus- oder Pseudo-Nummer // HAUPTgebäude $sqll ="SELECT 'm' AS ltyp, lh.gml_id AS gmllag, sh.lage, sh.bezeichnung, lh.hausnummer, '' AS laufendenummer FROM ax_gebaeude gh JOIN ax_lagebezeichnungmithausnummer lh ON lh.gml_id=ANY(gh.zeigtauf) JOIN ax_lagebezeichnungkatalogeintrag sh ON lh.kreis=sh.kreis AND lh.gemeinde=sh.gemeinde AND lh.lage=sh.lage WHERE gh.gml_id= $1 AND gh.endet IS NULL AND lh.endet IS NULL AND sh.endet IS NULL"; // oder NEBENgebäude $sqll.=" UNION SELECT 'p' AS ltyp, ln.gml_id AS gmllag, sn.lage, sn.bezeichnung, ln.pseudonummer AS hausnummer, ln.laufendenummer FROM ax_gebaeude gn JOIN ax_lagebezeichnungmitpseudonummer ln ON ln.gml_id=gn.hat JOIN ax_lagebezeichnungkatalogeintrag sn ON ln.kreis=sn.kreis AND ln.gemeinde=sn.gemeinde AND ln.lage=sn.lage WHERE gn.gml_id= $1 AND gn.endet IS NULL AND ln.endet IS NULL AND sn.endet IS NULL "; $sqll.="ORDER BY bezeichnung, hausnummer ;"; $v = array($gmlid); $resl = pg_prepare("", $sqll); $resl = pg_execute("", $v); if (!$resl) { echo "\n

Fehler bei Lage mit HsNr.

"; if ($debug > 2) {echo "\n

SQL=
".$sqll."
$1 = gml_id = '".$gmlid."'

";} } $zhsnr=0; while($rowl = pg_fetch_assoc($resl)) { // LOOP: Lagezeilen $zhsnr++; $ltyp=$rowl["ltyp"]; // Lagezeilen-Typ $skey=$rowl["lage"]; // Str.-Schluessel $snam=htmlentities($rowl["bezeichnung"], ENT_QUOTES, "UTF-8"); // -Name $hsnr=$rowl["hausnummer"]; $hlfd=$rowl["laufendenummer"]; $gmllag=$rowl["gmllag"]; if ($zhsnr == 1) { echo "\n" ."\n\t" ."\n\t\n\t\n";} // In der 3. Spalte: // p.erklk = Erklärungen zur Kategorie // p.erkli = .. zum Inhalt // Gebäudefunktion echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; // Bauweise if ($baw != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; } // Geschosse if ($aog != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; } // U-Geschosse if ($aug != "" OR $allefelder) { echo "\n" ."\n\t" . "\n\t" ."\n\t" ."\n"; } // Hochhaus if ($hoh != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; } // Lage zur Erdoberfläche if ($ofl != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; } // Dachgeschossausbau, Spalte dokumentation ist immer leer if ($dga != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; } // Zustand if ($zus != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; } // Weitere Gebäudefunktionen // Suche Testfall: SELECT gml_id, gebaeudefunktion, weiteregebaeudefunktion FROM ax_gebaeude WHERE (NOT weiteregebaeudefunktion IS NULL) AND cardinality(weiteregebaeudefunktion) > 1 liMIT 10; if ($wgf != "" OR $allefelder) { // ... ist ein Array echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; } // Dachform, Spalte dokumentation ist immer leer if ($daf != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; } // Objekthöhe if ($hho != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; } // Geschossfläche if ($gfl != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; } // Grundfläche if ($grf != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n"; } // Umbauter Raum if ($ura != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; } // Baujahr if ($bja != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; } // Dachart if ($daa != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; } // Qualitätsangaben /* if ($qag != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n"; } */ echo "\n
AttributWert" ."\n\t\t

Erklärung Kategorie

" ."\n\t\t

Erklärung Inhalt

" ."\n\t
Name".$nam."" ."\n\t\t

'Name' ist der Eigenname oder die Bezeichnung des Gebäudes." ."\n\t

Adresse"; } echo "\n\t\t "; if ($showkey) {echo "(".$skey.") ";} echo "\n\t\t".$snam." ".$hsnr; if ($ltyp == "p") {echo ", lfd.Nr ".$hlfd;} echo "
"; } // Ende Loop Lagezeilen m.H. if ($zhsnr > 0) {echo "\n\t
 
Gebäudefunktion"; if ($showkey) {echo "".$kfunk." ";} echo $bfunk."" ."\n\t\t

'Gebäudefunktion' ist die zum Zeitpunkt der Erhebung vorherrschend funktionale Bedeutung des Gebäudes'

" ."\n\t\t

".$dfunk."

" ."
Bauweise"; if ($showkey) {echo "".$baw." ";} echo $bbauw."" ."\n\t\t

'Bauweise' ist die Beschreibung der Art der Bauweise.

" ."\n\t\t

".$dbauw."

" ."\n\t
Geschosse".$aog."" ."\n\t\t

Anzahl oberirdischer Geschosse.

" ."\n\t
U-Geschosse".$aug."" ."\n\t\t

Anzahl unterirdischer Geschosse.

" ."\n\t
Hochhaus".$hoh."" ."\n\t\t

'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." ."\n\t

Lage zur Erdoberfläche"; if ($showkey) {echo "".$ofl." ";} echo $oflv."" ."\n\t\t

'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.
" ."\n\t\t

".$ofld."

" ."\n\t
Dachgeschossausbau"; if ($showkey) {echo "".$dga." ";} echo $dgav."" ."\n\t\t

'Dachgeschossausbau' ist ein Hinweis auf den Ausbau bzw. die Ausbaufähigkeit des Dachgeschosses." ."\n\t

Zustand"; if ($showkey) {echo "".$zus." ";} echo $zusv."" ."\n\t\t

'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.

" ."\n\t\t

".$zusd."

" ."\n\t
Weitere Gebäudefunktionen"; if ($wgf != "") { // Kommagetrennte Liste aus Array $sqlw="SELECT wert, beschreibung, dokumentation FROM ax_gebaeudefunktion WHERE wert IN ( $1 ) ORDER BY wert;"; $v = array($wgf); $resw = pg_prepare("", $sqlw); $resw = pg_execute("", $v); if (!$resw) { echo "\n

Fehler bei Gebäude - weitere Funktion.

"; if ($debug > 2) {echo "\n

SQL=
".$sqlw."
$1 = Werteliste = '".$wgf."'

";} } $zw=0; while($roww = pg_fetch_assoc($resw)) { // LOOP Funktion if ($zw > 0) {echo "
";} if ($showkey) {echo "".$roww["wert"]." ";} echo "".$roww["beschreibung"].""; $zw++; } } echo "
" ."\n\t\t

'Weitere Gebäudefunktion' ist die Funktion, die ein Gebäude neben der dominierenden Gebäudefunktion hat." ."\n\t

Dachform"; if ($showkey) {echo "".$daf." ";} echo $dach."" ."\n\t\t

'Dachform' beschreibt die charakteristische Form des Daches." ."\n\t

Objekthöhe".$hho."" ."\n\t\t

'Objekthöhe' ist die Höhendifferenz in [m] zwischen dem höchsten Punkt der Dachkonstruktion und der festgelegten Geländeoberfläche des Gebäudes." ."\n\t

Geschossfläche"; if ($gfl != "") {echo $gfl." m²";} echo "" ."\n\t\t

'Geschossfläche' ist die Gebäudegeschossfläche in [qm]." ."\n\t

Grundfläche"; if ($grf != "") {echo $grf." m²";} echo "\n\t" ."\n\t\t

'Grundfläche' ist die Gebäudegrundfläche in [qm]." ."\n\t

Umbauter Raum".$ura."" ."\n\t\t

'Umbauter Raum' ist der umbaute Raum [Kubikmeter] des Gebäudes." ."\n\t

Baujahr".$bja."" ."\n\t\t

'Baujahr' ist das Jahr der Fertigstellung oder der baulichen Veränderung des Gebäudes." ."\n\t

Dachart".$daa."" ."\n\t\t

'Dachart' gibt die Art der Dacheindeckung (z.B. Reetdach) an." ."\n\t

Qualitätsangaben".$qag."" ."\n\t\t

Angaben zur Herkunft der Informationen (Erhebungsstelle). Die Information ist konform zu den Vorgaben aus ISO 19115 zu repräsentieren." ."\n\t

"; } if ($gebnr == 0) {echo "\n


Kein Gebäude gefunden
 

";} // ++ ToDo: -Verschnitt mit FS? -Ausgeben ax_georeferenziertegebaeudeadresse dazz, wenn gefüllt. ?>

zurück  Drucken