Fehler beim Verbinden der DB

\n"; // Flurstueck $sqlf ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, f.zeitpunktderentstehung, "; $sqlf.="g.gemarkungsnummer, g.bezeichnung "; $sqlf.="FROM ax_flurstueck f "; $sqlf.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; $sqlf.="WHERE f.gml_id= $1;"; $v = array($gmlid); $resf = pg_prepare("", $sqlf); $resf = pg_execute("", $v); if (!$resf) { echo "\n

Fehler bei Flurstücksdaten.

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

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

";} } if ($rowf = pg_fetch_array($resf)) { $gemkname=htmlentities($rowf["bezeichnung"], ENT_QUOTES, "UTF-8"); $gmkgnr=$rowf["gemarkungsnummer"]; $flurnummer=$rowf["flurnummer"]; $flstnummer=$rowf["zaehler"]; $nenner=$rowf["nenner"]; if ($nenner > 0) { // BruchNr $flstnummer.="/".$nenner; } $flstflaeche = $rowf["amtlicheflaeche"] ; } else { echo "

Fehler! Kein Treffer fuer gml_id=".$gmlid."

"; } // Balken echo "

ALKIS Flurstück (Gebäude) ".$gmkgnr."-".$flurnummer."-".$flstnummer." 

\n"; echo "\n

Flurstück (Gebäude)

\n"; // Kennzeichen in Rahmen echo "\n\n\n\n\n\n
"; echo "\n\t"; echo "\n\t"; echo "\n\t\t"; echo "\n\t\t"; echo "\n\t\t"; echo "\n\t"; echo "\n\t"; echo "\n\t\t"; echo "\n\t\t"; echo "\n\t\t"; echo "\n\t"; echo "\n\t
GmkgFlurFlurst-Nr.
"; if ($showkey) { echo "".$gmkgnr."
"; } echo $gemkname." 
".$flurnummer."".$flstnummer."
"; echo "\n
"; // Links zu anderen Nachweisen echo "\n\t"; if ($idanzeige) {linkgml($gkz, $gmlid, "Flurstück"); } echo "\n\t
"; // Ende Seitenkopf echo "\n

Flurstücksfläche: ".number_format($flstflaeche,0,",",".") . " m²

"; echo "\n\n

Gebäude

"; echo "\n

.. auf oder an dem Flurstück. Ermittelt durch Verschneidung der Geometrie.

"; // G e b a e u d e // $sqlg ="SELECT g.gml_id, g.name, g.description, g.bauweise, g.gebaeudefunktion, g.anzahlderoberirdischengeschosse AS aog, "; $sqlg ="SELECT g.gml_id, g.name, g.bauweise, g.gebaeudefunktion, g.anzahlderoberirdischengeschosse AS aog, "; $sqlg.="h.bauweise_beschreibung, u.bezeichner, v.beziehungsart, v.beziehung_zu, s.lage, s.bezeichnung, l.hausnummer, "; // Gebaeudeflaeche komplett auch ausserhalb des FS $sqlg.="round(area(g.wkb_geometry)::numeric,2) AS gebflae, "; // wie viel vom GEB liegt im FS? $sqlg.="round(st_area(ST_Intersection(g.wkb_geometry,f.wkb_geometry))::numeric,2) AS schnittflae, "; // liegt das GEB komplett im FS? $sqlg.="st_within(g.wkb_geometry,f.wkb_geometry) as drin "; // FS und GEB geometrisch verschneiden $sqlg.="FROM ax_flurstueck f, ax_gebaeude g "; // Entschluesseln $sqlg.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise = h.bauweise_id "; $sqlg.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion = u.wert "; // Weitere Schlüsseltabellen (ab 11.2011) // ++ ax_gebaeude_zustand // ++ ax_gebaeude_weiterefunktion // ++ ax_gebaeude_dachform // Beziehungen verfolgen (holt die Hausnummer Hauptgeb.) $sqlg.="LEFT JOIN alkis_beziehungen v ON g.gml_id=v.beziehung_von "; $sqlg.="LEFT JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Straßen-Name $sqlg.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; if ($dbvers=="05") { $sqlg.="AND to_char(l.lage, 'FM00000') = lpad(s.lage,5,'0') "; } else { // ab PostNAS 06. $sqlg.="AND l.lage=s.lage "; } // Alternativ zur Hauptgebaeude-Hausnummer auch die Nebengebaeude-Pseudo-Nummern suchen? // $sqlg.="LEFT JOIN ax_lagebezeichnungmitpseudonummer p ON ... "; // oder in Loop: Wenn HsNr leer ist, eine kurze Abfrage auf Nebengebäude-Nr. $sqlg.="WHERE f.gml_id= $1 "; // ID des akt. FS // "within" liefert nur Gebaeude, die komplett im Flurstueck liegen // "intersects" liefert ueberlappende Flaechen $sqlg.="AND st_intersects(g.wkb_geometry,f.wkb_geometry) = true "; // RLP: keine Relationen zu Nebengebaeuden: // auf Qualifizierung verzichten, sonst werden Nebengebäude nicht angezeigt //$sqlg.="AND (v.beziehungsart='zeigtAuf' OR v.beziehungsart='hat') "; $sqlg.="ORDER BY schnittflae DESC;"; $v = array($gmlid); $resg = pg_prepare("", $sqlg); $resg = pg_execute("", $v); if (!$resg) { echo "\n

Keine Gebäude ermittelt.

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

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

";} } $gebnr=0; echo "\n
\n"; // Header echo "\n\n"; //echo "\n\t"; echo "\n\t"; echo "\n\t"; echo "\n\t"; echo "\n\t"; echo "\n\t"; echo "\n\t"; echo "\n\t"; echo "\n"; // Body while($rowg = pg_fetch_array($resg)) { $gebnr = $gebnr + 1; $gebflsum = $gebflsum + $rowg["schnittflae"]; $skey=$rowg["lage"]; // Strassenschluessel $gnam=$rowg["name"]; echo "\n"; if ($skey.$gnam != "") { // Hausnummer und Strassenname oder Gebaeudename echo "\n\t"; } else { echo "\n\t"; } if ($rowg["drin"] == "t") { // 3 komplett enthalten echo "\n\t"; echo "\n\t"; } else { if ($rowg["schnittflae"] == "0.00") { // angrenzend echo "\n\t"; echo "\n\t"; } else { // Teile enthalten echo "\n\t"; echo "\n\t"; } } echo "\n\t"; echo "\n\t"; echo "\n\t"; echo "\n\t"; echo "\n"; } // Footer if ($gebnr == 0) { echo "\n
Lfd. Nr.Nr/NameFläche Gesch.FunktionBauweise
"; if ($showkey) { echo "(".$skey.") "; } echo htmlentities($rowg["bezeichnung"], ENT_QUOTES, "UTF-8")." "; // Str.-Name echo $rowg["hausnummer"]." ".$gnam; if ($idanzeige) { linkgml($gkz, $rowg["gml_id"], "Gebäude"); } echo ""; echo "(Nebengebäude)"; // +++ nur vorlaeufiger Platzhalter! Hier kommt lfd-Nr hin. // +++ SQL-Abfrage auf ax_LagebezeichnungMitPseudonummer echo "".$rowg["schnittflae"]." m²  angrenzend".$rowg["schnittflae"]." m²(von ".$rowg["gebflae"]." m²)".$rowg["aog"]." "; if ($showkey) { echo "".$rowg["gebaeudefunktion"]." "; } echo $rowg["bezeichner"].""; if ($showkey) { echo "".$rowg["bauweise"]." "; } echo $rowg["bauweise_beschreibung"]." 
"; echo "


Keine Gebäude auf diesem Flurstück.
 

"; } else { echo "\n"; echo "\n\tSumme:"; // 1 echo "\n\t".number_format($gebflsum,0,",",".")."    m²"; echo "\n\t "; // 3 echo "\n\t "; // 4 echo "\n\t "; // 5 echo "\n\t "; // 6 echo "\n\t "; // 7 echo "\n"; echo "\n"; $unbebaut = number_format(($flstflaeche - $gebflsum),0,",",".") . " m²"; echo "\n

Flurstücksfläche abzüglich Gebäudefläche: ".$unbebaut."


"; } ?>