gehoertZu> ax_gebaeude (ringförmige Verbindung Gebäudekomplex) ax_gebaeude (umschliesst) ax_bauteil ax_gebaeude >gehoert> ax_person (Ausnahme) */ session_start(); $id="n"; $cntget = extract($_GET); require_once("alkis_conf_location.php"); if ($auth == "mapbender") {require_once($mapbender);} include("alkisfkt.php"); $keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; if ($keys == "j") {$showkey=true;} else {$showkey=false;} if ($allfld == "j") {$allefelder=true;} else {$allefelder=false;} ?> ALKIS Daten zum Haus Fehler beim Verbinden der DB

\n"; // G e b a e u d e // ++ auch .d-Spalten der alkis_werte? $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, g.qualitaetsangaben, h.v bbauw, u.v AS bfunk, z.v AS zustandv, d.v AS bdach, a.v AS dgaus, o.v AS oflv, round(st_area(g.wkb_geometry)::numeric,2) AS gebflae FROM ax_gebaeude g LEFT JOIN alkis_wertearten h ON cast(g.bauweise AS character varying)=h.k AND h.element='ax_gebaeude' and h.bezeichnung='bauweise' LEFT JOIN alkis_wertearten u ON cast(g.gebaeudefunktion AS character varying)=u.k AND u.element='ax_gebaeude' and u.bezeichnung='gebaeudefunktion' LEFT JOIN alkis_wertearten z ON cast(g.zustand AS character varying)=z.k AND z.element='ax_gebaeude' AND z.bezeichnung='zustand' LEFT JOIN alkis_wertearten d ON cast(g.dachform AS character varying)=d.k AND d.element='ax_gebaeude' AND d.bezeichnung='dachform' LEFT JOIN alkis_wertearten a ON cast(g.dachgeschossausbau AS character varying)=a.k AND a.element='ax_gebaeude' AND a.bezeichnung='dachgeschossausbau' LEFT JOIN alkis_wertearten o ON cast(g.lagezurerdoberflaeche AS character varying)=o.k AND o.element='ax_gebaeude' AND o.bezeichnung='lagezurerdoberflaeche' 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()."

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

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

";} } // Balken echo "

ALKIS Haus ".$gmlid." 

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

Haus (Gebäude)

\n"; // Kennzeichen in Rahmen // - Welches Kennzeichen zum Haus ? echo "\n
"; // Umschalter: auch leere Felder ausgeben? echo ""; $gebnr = 0; while($rowg = pg_fetch_array($resg)) { // Schleife, kann aber nur EIN Haus sein. $gebnr++; echo "\n" ."\n\n" ."\n\t" ."\n\t" ."\n"; $aog=$rowg["aog"]; $aug=$rowg["aug"]; $hoh=$rowg["hochhaus"]; $nam=$rowg["name"]; // Gebaeude-Name $bfunk=$rowg["bfunk"]; $baw=$rowg["bauweise"]; $bbauw=$rowg["bbauw"]; $ofl=$rowg["lagezurerdoberflaeche"]; // Key $oflv=$rowg["oflv"]; // Value $dga=$rowg["dachgeschossausbau"]; // Key $dgav=$rowg["dgaus"]; // Value $zus=$rowg["zustand"]; // Key $zusv=$rowg["zustandv"]; // Value $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"; } // 0 bis N L a g e bezeichnungen mit Haus- oder Pseudo-Nummer // HAUPTgebäude $sqll ="SELECT 'm' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.hausnummer, '' AS laufendenummer FROM ax_gebaeude g JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(g.zeigtauf) JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage WHERE g.gml_id= $1 AND g.endet IS NULL AND l.endet IS NULL"; // oder NEBENgebäude $sqll.=" UNION SELECT 'p' AS ltyp, l.gml_id AS gmllag, s.lage, s.bezeichnung, l.pseudonummer AS hausnummer, l.laufendenummer FROM ax_gebaeude g JOIN ax_lagebezeichnungmitpseudonummer l ON l.gml_id=g.hat JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde AND l.lage=s.lage WHERE g.gml_id= $1 AND g.endet IS NULL AND l.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.

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

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

";} } $zhsnr=0; while($rowl = pg_fetch_array($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"; echo "\n\t\n";} echo "\n" ."\n\t" ."\n\t" ."\n"; if ($baw != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" . "\n"; } if ($aog != "" OR $allefelder) { echo "\n" ."\n\t" . "\n\t" . "\n"; } if ($aug != "" OR $allefelder) { echo "\n" ."\n\t" . "\n\t" . "\n"; } if ($hoh != "" OR $allefelder) { echo "\n" ."\n\t"; echo "\n\t"; echo "\n"; } if ($ofl != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n"; } if ($dga != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n"; } if ($zus != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n"; } // Suche Testfall: SELECT * FROM ax_gebaeude WHERE NOT weiteregebaeudefunktion IS NULL; // Keiner zu finden. Das folgende ungetestet: if ($wgf != "" OR $allefelder) { // "weiteregebaeudefunktion" ist ein Array echo "\n" ."\n\t\n\t" ."\n"; } if ($daf != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n"; } if ($hho != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n"; } if ($gfl != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n"; } if ($grf != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t"; } if ($ura != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n"; } if ($bja != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n"; } if ($daa != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n"; } if ($qag != "" OR $allefelder) { echo "\n" ."\n\t" ."\n\t" ."\n"; } echo "\n
AttributWert
Name".$nam."
Adresse"; } echo "\n\t\t "; if ($showkey) {echo "(".$skey.") ";} echo "\n\t\t"; echo $snam." ".$hsnr; if ($ltyp == "p") { echo ", lfd.Nr ".$hlfd;} echo "
"; } // Ende Loop Lagezeilen m.H. if ($zhsnr > 0) {echo "\n\t
Funktion"; if ($showkey) {echo "".$rowg["gebaeudefunktion"]." ";} echo $bfunk."
Bauweise"; if ($showkey) {echo "".$baw." ";} echo $bbauw."
Geschosse".$aog."
U-Geschosse".$aug."
Hochhaus".$hoh."
Lage zur Erdoberfläche"; if ($showkey) {echo "".$ofl." ";} echo $oflv;"
Dachgeschossausbau"; if ($showkey) {echo "".$dga." ";} echo $dgav."
Zustand"; if ($showkey) {echo "".$zus." ";} echo $zusv."
Weitere Gebäudefunktionen"; if ($wgf != "") { // Kommagetrennte Liste aus Array $sqlw="SELECT k, v, d FROM alkis_wertearten WHERE k IN ( $1 ) AND element='ax_gebaeude' AND bezeichnung='weiteregebaeudefunktion' ORDER BY k;"; $v = array($wgf); $resw = pg_prepare("", $sqlw); $resw = pg_execute("", $v); if (!$resw) { echo "\n

Fehler bei Gebäude - weitere Funktion.

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

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

";} } $zw=0; while($roww = pg_fetch_array($resw)) { // LOOP: w.Funktion if ($zw > 0) {echo "
";} if ($showkey) {echo "".$roww["k"]." ";} echo "".$roww["v"].""; $zw++; } } echo "
Dachform"; if ($showkey) {echo "".$daf." ";} echo $dach."
Objekthöhe".$hho."
Geschossfläche"; if ($gfl != "") {echo $gfl." m²";} echo "
Grundfläche"; if ($grf != "") {echo $grf." m²";} echo "\n
Umbauter Raum".$ura."
Baujahr".$bja."
Dachart".$daa."
Qualitätsangaben".$qag."
"; } if ($gebnr == 0) {echo "


Kein Gebäude gefunden
 

";} // ++ ToDo: Verschnitt mit FS? ?>

zurück  Drucken