Fehler beim Verbinden der DB

\n"; // Lagebezeichnung $sql ="SELECT s.bezeichnung AS snam, k.bezeichnung AS knam, g.bezeichnung AS gnam, l.land, l.regierungsbezirk, l.kreis, l.gemeinde, l.lage, "; switch ($ltyp) { case "m": // "Mit HsNr" $sql.="l.hausnummer "; break; case "p": // "mit PseudoNr" $sql.="l.pseudonummer, l.laufendenummer "; break; case "o": //"Ohne HsNr" $sql.="l.unverschluesselt "; break; } $sql.="FROM ".$tnam." l "; // Gemeinde, Kreis, Strasse entschluesseln $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 "; $sql.="LEFT JOIN ax_kreisregion k ON l.land=k.land AND l.regierungsbezirk=k.regierungsbezirk AND l.kreis=k.kreis "; $sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s "; if ($dbvers == "05") { // bis PostNAS 0.5 // Besonderheit: unterschiedliche Feldformate und Fuellungen!!! // +++ Nach vollstaendiger Umstellung diesen Programmteil entfernen switch ($ltyp) { case "o": //"Ohne HsNr" // hier beide .lage als Char(5) // in ax_lagebezeichnungKatalogeintrag mit führenden Nullen // in ax_lagebezeichnungOhneHausnummer jedoch ohne führende Nullen $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) "; break; default: // "Mit HsNr" + "mit PseudoNr" // ax_LagebezeichnungKatalogeintrag.lage ist char, // ax_LagebezeichnungMitHausnummer.lage ist integer, // ax_lagebezeichnungMitPseudonummer.lage ist integer, $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 "; break; } } else { // ab PostNAS 0.6 char(5) mit fuehr.Nullen $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 "; } $sql.="WHERE l.gml_id= $1;"; $v = array($gmlid); $res = pg_prepare("", $sql); $res = pg_execute("", $v); if (!$res) { echo "\n

Fehler bei Lagebezeichnung.

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

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

";} } if ($row = pg_fetch_array($res)) { $land =$row["land"]; $regbez=$row["regierungsbezirk"]; $kreis=$row["kreis"]; $knam=$row["knam"]; $gem =$row["gemeinde"]; $gnam =$row["gnam"]; $lage =$row["lage"]; // Strassenschluessel $snam =$row["snam"]; //Strassennamen $unver=$row["unverschluesselt"]; // Gewanne $kennz=$land."-".$regbez."-".$kreis."-".$gem."-".$lage."-"; switch ($ltyp) { case "m": // "Mit HsNr" $hsnr=$row["hausnummer"]; $kennz.=$hsnr; $untertitel="Hauptgebäude mit Hausnummer"; // Balken echo "

ALKIS Lagebezeichnung mit Hausnummer ".$kennz." 

\n"; // Balken break; case "p": // "mit PseudoNr" $pseu=$row["pseudonummer"]; $lfd=$row["laufendenummer"]; $kennz.=$pseu."-".$lfd; $untertitel="Nebengebäude mit laufender Nummer (Lagebezeichnung mit Pseudonummer)"; echo "

ALKIS Lagebezeichnung Nebengebäude ".$kennz." 

\n"; // Balken break; case "o": //"Ohne HsNr" if ($lage == "") { $kennz=" - ".$unver; } else { $kennz.=$unver; } $untertitel="Straße ohne Hausnummer und/oder Gewanne (unverschlüsselte Lage)"; echo "

ALKIS Lagebezeichnung Ohne Hausnummer ".$kennz." 

\n"; // Balken break; } } else { echo "

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

"; } echo "\n

Lagebezeichnung

\n"; echo "

Typ: ".$untertitel."

"; echo "\n\n\n\t\n\t\n\n
"; // Tabelle Kennzeichen // ToDo: !! kleiner, wenn ltyp=0 und die Schluesselfelder leer sind echo "\n\t"; echo "\n\t"; echo "\n\t\t"; echo "\n\t\t"; echo "\n\t\t"; echo "\n\t\t"; echo "\n\t\t"; switch ($ltyp) { case "m": // "Mit HsNr" echo "\n\t\t"; break; case "p": // "mit PseudoNr" echo "\n\t\t"; echo "\n\t\t"; break; case "o": //"Ohne HsNr" echo "\n\t\t"; break; } echo "\n\t"; echo "\n\t"; echo "\n\t\t"; echo "\n\t\t"; echo "\n\t\t"; echo "\n\t\t"; echo "\n\t\t"; switch ($ltyp) { case "m": echo "\n\t\t"; break; case "p": echo "\n\t\t"; echo "\n\t\t"; break; case "o": echo "\n\t\t"; break; } echo "\n\t"; echo "\n\t
LandReg.-Bez.KreisGemeindeStraßeHaus-NrHaus-Nrlfd.-Nrunverschlüsselte Lage
".$land."".$regbez.""; if ($showkey) { echo "".$kreis."
"; } echo $knam." 
"; if ($showkey) { echo "".$gem."
"; } echo $gnam." 
"; if ($showkey) { echo "".$lage."
"; } echo $snam." 
".$hsnr."".$pseu."".$lfd."".$unver."
"; echo "\n\t
"; // Kopf Rechts: weitere Daten? // z.B. hier Ausgabe von "georeferenzierte Gebäudeadresse" ? if ($idanzeige) {linkgml($gkz, $gmlid, "Lage"); } echo "\n\t
"; // Ende Seitenkopf // F L U R S T U E C K E if ($ltyp <> "p") { // Pseudonummer linkt nur Gebäude echo "\n\n

Flurstücke

\n"; echo "\n

mit dieser Lagebezeichnung.

"; // ax_Flurstueck >weistAuf> ax_LagebezeichnungMitHausnummer // ax_Flurstueck >zeigtAuf> ax_LagebezeichnungOhneHausnummer switch ($ltyp) { case "m": $bezart="weistAuf"; break; case "o": $bezart="zeigtAuf"; break; } $sql="SELECT g.gemarkungsnummer, g.bezeichnung, "; $sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche "; $sql.="FROM ax_flurstueck f "; $sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von "; $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; $sql.="WHERE v.beziehung_zu= $1 "; // id Lage $sql.="AND v.beziehungsart= $2 "; $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; $v = array($gmlid,$bezart); $resf = pg_prepare("", $sql); $resf = pg_execute("", $v); if (!$resf) { echo "

Fehler bei Flurstück.

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

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

";} } echo "\n"; echo "\n"; // Kopfzeile der Tabelle echo "\n\t"; echo "\n\t"; echo "\n\t"; echo "\n\t"; echo "\n\t"; echo "\n"; $j=0; while($rowf = pg_fetch_array($resf)) { $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); //$fskenn=str_pad($rowf["zaehler"], 5, "0", STR_PAD_LEFT); //if ($rowf["nenner"] != "") {$fskenn.="/".str_pad($rowf["nenner"], 3, "0", STR_PAD_LEFT);} $fskenn=$rowf["zaehler"]; // Bruchnummer (ohne fuehrende Nullen) if ($rowf["nenner"] != "") { $fskenn.="/".$rowf["nenner"]; } $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m²"; echo "\n"; echo "\n\t"; echo "\n\t"; echo "\n\t"; echo "\n\t"; echo "\n\t"; echo "\n"; $j++; } echo "\n
GemarkungFlurFlurst.Fläche
"; if ($showkey) { echo "".$rowf["gemarkungsnummer"]." "; } echo $rowf["bezeichnung"]."".$flur."".$fskenn.""; if ($idanzeige) {linkgml($gkz, $rowf["gml_id"], "Flurstück");} echo "".$flae."\n\t\t\n\t
"; } // L A G E // andere Lage mit gleicher Hausnummer suchen if ($ltyp <> "o") { // nicht bei Gewanne (Ohne HsNr) echo "\n\n

Lage

\n"; echo "\n

andere Lagebezeichnungen zur gleichen Hausnummer.

"; $whereclaus="WHERE land= $1 AND regierungsbezirk= $2 AND kreis= $3 AND gemeinde= $4 AND lage= $5 "; $url=$_SERVER['PHP_SELF']."?gkz=".$gkz."&id=".$id."&gmlid="; // Basis switch ($ltyp) { case "m": // aktuell Hausnummer gefunden // dazu alle Nebengebäude suchen echo "\n

Nebengebäude: "; $sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l "; $sql.=$whereclaus."AND lage= $6 AND pseudonummer= $7 ORDER BY laufendenummer;"; // pseudonummer character varying(5), laufendenummer character varying(2), $v = array($land,$regbez,$kreis,$gem,$lage,$lage,$hsnr); $res = pg_prepare("", $sql); $res = pg_execute("", $v); if (!$res) { echo "\n

Fehler bei Nebengebäude.
".$sql."

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

SQL=
".$sql."

";} } while($row = pg_fetch_array($res)) { echo "\n\tlfd.-Nr ".$row["laufendenummer"]."  "; } echo "\n

"; break; case "p": // aktuell Nebengebäude: Haupt- und Nebengebäude suchen echo "\n

Hauptgebäude: "; $sql ="SELECT l.gml_id FROM ax_lagebezeichnungmithausnummer l "; $sql.=$whereclaus."AND hausnummer= $6;"; $v = array($land,$regbez,$kreis,$gem,$lage,$pseu); $res = pg_prepare("", $sql); $res = pg_execute("", $v); if (!$res) echo "

Fehler bei Hauptgebäude.
".$sql."

\n"; while($row = pg_fetch_array($res)) { echo "\n\tHaus-Nr ".$pseu."  "; } echo "\n

"; echo "\n

weitere Nebengebäude: "; $sql ="SELECT l.gml_id, l.laufendenummer FROM ax_lagebezeichnungmitpseudonummer l "; $sql.=$whereclaus."AND pseudonummer= $6 AND laufendenummer <> $7 ORDER BY laufendenummer;"; $v = array($land,$regbez,$kreis,$gem,$lage,$pseu,$lfd); $res = pg_prepare("", $sql); $res = pg_execute("", $v); if (!$res) { echo "\n

Fehler bei Nebengebäude.

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

SQL=
".$sql."

";} } while($row = pg_fetch_array($res)) { echo "\n\tlfd.-Nr ".$row["laufendenummer"]."  "; } echo "\n

"; break; } } // G E B A E U D E // Mittelfristig ist zu ueberlegen, ob hier weitere Einzelheiten dargestellt werden, // oder ob nicht besser ein eigenes Modul alkisgebaeude.php dies uebernehmen sollte. // Dort sollten auch diese Relationen abgebildet werden: // ax_gebaeude >gehoertZu> ax_gebaeude (ringförmige Verbindung Gebäudekomplex) // ax_gebaeude (umschliesst) ax_bauteil // ax_gebaeude >gehoert> ax_person (Ausnahme) if ($ltyp <> "o") { // OhneHsNr linkt nur Flurst. echo "\n\n

Gebäude

"; echo "\n

mit dieser Lagebezeichnung.

"; switch ($ltyp) { case "p": $bezart="hat"; break; case "m": $bezart="zeigtAuf"; break; } // $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, "; $sql ="SELECT g.gml_id, g.gebaeudefunktion, g.name, g.lagezurerdoberflaeche, g.bauweise, g.anzahlderoberirdischengeschosse AS aog, g.grundflaeche, g.zustand, "; $sql.="round(area(g.wkb_geometry)::numeric,2) AS flaeche, h.bauweise_beschreibung, u.bezeichner "; $sql.="FROM ax_gebaeude g "; $sql.="JOIN alkis_beziehungen v ON g.gml_id=v.beziehung_von "; $sql.="LEFT JOIN ax_gebaeude_bauweise h ON g.bauweise = h.bauweise_id "; $sql.="LEFT JOIN ax_gebaeude_funktion u ON g.gebaeudefunktion = u.wert "; $sql.="WHERE v.beziehung_zu= $1 AND v.beziehungsart= $2 ;"; $v = array($gmlid,$bezart); $res = pg_prepare("", $sql); $res = pg_execute("", $v); if (!$res) { echo "

Fehler bei Gebaeude.

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

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

";} } $i=0; while($row = pg_fetch_array($res)) { // Only You! echo "

"; if ($idanzeige) {linkgml($gkz, $row["gml_id"], "Gebäude");} echo "

"; echo "\n"; echo "\n\t"; // integer // if (!$row["description"] == "") { // echo "\n\t"; // integer - Entschlüsseln! // } if (!$row["name"] == "") { echo "\n\t"; // char(25) } if (!$row["lagezurerdoberflaeche"] == "") { echo "\n\t"; } // integer - Entschlüsseln! if (!$row["bauweise"] == "") { echo "\n\t"; // integer } if (!$row["aog"] == "") { echo "\n\t"; // } if (!$row["grundflaeche"] == "") { echo "\n\t"; // integer } echo "\n\t"; // if (!$row["individualname"] == "") { // echo "\n\t"; // char(7) // } if (!$row["zustand"] == "") { echo "\n\t"; // integer } echo "\n
Funktion:"; if ($showkey) { echo "".$row["gebaeudefunktion"]." "; } echo $row["bezeichner"]."
Beschreibung:".$row["description"]."
Name:".$row["name"]."
Lage zur Erdoberfläche:".$row["lagezurerdoberflaeche"]."
Bauweise:"; if ($showkey) { echo "".$row["bauweise"]." "; } echo $row["bauweise_beschreibung"]."
Anz. der oberird. Geschosse:".$row["aog"]."
Grundfläche:".$row["grundflaeche"]."
Geometrische Fläche:".$row["flaeche"]." m²
Individualname:".$row["individualname"]."
Zustand:".$row["zustand"]."
"; } } ?>