END; $erlaubnis = darf_ich(); if ($erlaubnis === 0) { die('

Abbruch

'); } $dbg=$debug; if ($nodebug === "j") {$dbg=0;} $con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkislage.php'"); if (!$con) echo "\n

Fehler beim Verbinden der DB

"; // L a g e b e z e i c h n u n g $sql ="SELECT s.gml_id AS strgml, s.bezeichnung AS snam, b.bezeichnung AS bnam, r.bezeichnung AS rnam, 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; } // "Left" weil: Bei sub-Typ "Gewanne" von Typ "o" sind keine Schlüsselfelder gefüllt! $sql.="FROM ".$tnam." l 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 ".UnqKatAmt("l","g") ."LEFT JOIN ax_kreisregion k ON l.land=k.land AND l.regierungsbezirk=k.regierungsbezirk AND l.kreis=k.kreis ".UnqKatAmt("l","k") ."LEFT JOIN ax_regierungsbezirk r ON l.land=r.land AND l.regierungsbezirk=r.regierungsbezirk ".UnqKatAmt("l","r") ."LEFT JOIN ax_bundesland b ON l.land=b.land ".UnqKatAmt("l","b") ."LEFT JOIN ax_lagebezeichnungkatalogeintrag s 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 WHERE l.gml_id= $1 AND l.endet IS NULL AND g.endet IS NULL AND k.endet IS NULL AND r.endet IS NULL AND b.endet IS NULL AND s.endet IS NULL;"; $v = array($gmlid); $res = pg_prepare($con, "", $sql); $res = pg_execute($con, "", $v); if (!$res) { echo "\n

Fehler bei Lagebezeichnung.

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

SQL=
".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."

";} } if ($dbg > 0) { $zeianz=pg_num_rows($res); if ($zeianz > 1){ echo "\n

Die Abfrage liefert mehr als ein (".$zeianz.") Lage-Objekt!

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

SQL=
".htmlentities(str_replace("$1","'".$gmlid."'",$sql), ENT_QUOTES, "UTF-8")."

";} } } if ($row = pg_fetch_assoc($res)) { $strgml=$row["strgml"]; // gml_id des Katalogeintrag Straße $land =$row["land"]; $regbez=$row["regierungsbezirk"]; $kreis=$row["kreis"]; $knam=$row["knam"]; $rnam=$row["rnam"]; $bnam=$row["bnam"]; $gem=$row["gemeinde"]; $gnam=$row["gnam"]; $lage=$row["lage"]; // Strassenschluessel $snam=$row["snam"]; //Strassennamen // $kennz=$land."-".$regbez."-".$kreis. .. $kennz=$gem."-".$lage."-"; // ToDo: Kompatibel machen als Eingabe in Navigation/Adresse switch ($ltyp) { case "m": // "Mit HsNr" $hsnr=$row["hausnummer"]; $kennz.=$hsnr; $untertitel="Hauptgebäude mit Hausnummer"; echo "\n

ALKIS Lagebezeichnung mit Hausnummer ".$kennz." 

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

ALKIS Lagebezeichnung Nebengebäude ".$kennz." 

"; // Balken $osub=""; break; case "o": // "Ohne HsNr" $unver=$row["unverschluesselt"]; // Gewanne // 2 Unterarten bzw. Zeilen-Typen in der Tabelle if ($lage == "") { $osub="g"; // Sub-Typ Gewanne $kennz=" - ".$unver; $untertitel="Gewanne (unverschlüsselte Lage)"; echo "\n

ALKIS Lagebezeichnung Ohne Hausnummer ".$kennz." 

"; // Balken } else { $osub="s"; // Sub-Typ Strasse (ohne HsNr) $kennz.=$unver; $untertitel="Straße ohne Hausnummer"; echo "\n

ALKIS Lagebezeichnung Ohne Hausnummer ".$kennz." 

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

Fehler! Kein Treffer fuer Lagebezeichnung mit gml_id='".$gmlid."'

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

SQL=
".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."

"; } echo "\n\n"; exit; } echo "\n

Lagebezeichnung

\n

Typ: ".$untertitel."

"; echo "\n\n\n\t\n\t\n\n
"; // Tab. Kennz. // ToDo: kleiner, wenn ltyp=0 und die Schlüsselfelder leer sind echo "\n\t\t" ."\n\t\t"; if ($osub != "g") { // nicht bei Gewanne echo "\n\t\t\t" ."\n\t\t\t" ."\n\t\t\t" ."\n\t\t\t" ."\n\t\t\t"; } switch ($ltyp) { case "m": // "Mit HsNr" echo "\n\t\t\t"; break; case "p": // "mit PseudoNr" echo "\n\t\t\t" ."\n\t\t\t"; break; case "o": //"Ohne HsNr" if ($osub === "g") { echo "\n\t\t\t"; } break; } echo "\n\t\t\n\t\t"; if ($osub != "g") { // nicht bei Gewanne echo "\n\t\t\t" ."\n\t\t\t" ."\n\t\t\t" ."\n\t\t\t" ."\n\t\t\t"; } switch ($ltyp) { case "m": echo "\n\t\t\t"; break; case "p": echo "\n\t\t\t" ."\n\t\t\t"; break; case "o": if ($osub === "g") { echo "\n\t\t\t"; } break; } echo "\n\t\t" ."\n\t\t
LandReg.-Bez.KreisGemeindeStraßeHaus-NrHaus-Nrlfd.-Nrunverschlüsselte Lage
".DsKy($land, 'Bundesland-*').$bnam." ".DsKy($regbez, 'Regierungsbezirk-*').$rnam." ".DsKy($kreis, 'Kreis-*').$knam." ".DsKy($gem, 'Gemeinde-*').$gnam." ".DsKy($lage, 'Straßen-*'); if ($ltyp === "o") { echo "".$snam.""; } else { echo $snam; } echo " ".$hsnr."".$pseu."".$lfd."".$unver."
"; echo "\n\t
"; // Kopf Rechts: weitere Daten? if ($osub != "g") { // Link zu Strasse echo "\n\t\t"; } echo "\n\t
"; // F L U R S T Ü C K E // ax_Flurstueck >weistAuf> ax_LagebezeichnungMitHausnummer // ax_Flurstueck >zeigtAuf> ax_LagebezeichnungOhneHausnummer // ++ auch Flächenverschneidung? if ($ltyp != "p") { // Pseudonummer linkt nur Gebäude echo "\n\n\n

Flurstücke

" ."\n

mit dieser Lagebezeichnung.

"; switch ($ltyp) { case "m": $bezart="weistauf"; break; case "o": $bezart="zeigtauf"; break; } $sql ="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ".UnqKatAmt("f","g") ."WHERE $1 = ANY(f.".$bezart.") AND f.endet IS NULL AND g.endet IS NULL ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; $v = array($gmlid); $resf = pg_prepare($con, "", $sql); $resf = pg_execute($con, "", $v); if (!$resf) { echo "\n

Fehler bei Flurstück.

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

SQL=
".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."

";} } echo "\n" ."\n" ."\n\t" ."\n\t" ."\n\t" ."\n\t" ."\n\t" ."\n"; $j=0; $zpaar=false; $gwgmkg=""; // Gruppenwechsel $gwflur=""; while($rowf = pg_fetch_assoc($resf)) { $gmkg=$rowf["bezeichnung"]; $flur=str_pad($rowf["flurnummer"], 3, "0", STR_PAD_LEFT); $fskenn=$rowf["zaehler"]; // Bruchnummer if ($rowf["nenner"] != "") {$fskenn.="/".$rowf["nenner"];} $flae=number_format($rowf["amtlicheflaeche"],0,",",".") . " m²"; if ($zpaar) {$trclass='paa';} else {$trclass='unp';} $zpaar=!$zpaar; echo "\n" ."\n\t"; $gwgmkg=$gmkg; $gwflur=""; } else { echo $gmkg.""; } if ($gwflur != $flur) { echo "\n\t"; $gwflur=$flur; } else { echo "\n\t"; } echo "\n\t" ."\n\t" ."\n\t" ."\n"; $j++; } echo "\n
GemarkungFlurFlurst.Fläche
".DsKy($rowf["gemarkungsnummer"], 'Gemarkungsnummer'); if ($gwgmkg != $gmkg) { echo "".$gmkg."".$flur."".$flur."".$fskenn."".$flae."\n\t\t\n\t
"; if ($j > 6) {echo "

".$j." Flurstücke

";} } // L A G E // andere Lage mit gleicher Hausnummer suchen if ($ltyp != "o") { // nicht bei Gewanne (Ohne HsNr) echo "\n\n\n

Lage

" ."\n

Andere Lagebezeichnungen zur gleichen Hausnummer.

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

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

Fehler bei Nebengebäude.

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

SQL=
".htmlentities($sql, ENT_QUOTES, "UTF-8")."

";} // 7 $-Parameter } $neb=0; while($row = pg_fetch_assoc($res)) { echo "\n\tlfd.-Nr ".$row["laufendenummer"]."  "; $neb++; } if ($neb === 0) {echo "keine";} echo "

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

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

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

";} $hg=0; while($row = pg_fetch_assoc($res)) { echo "\n\tHaus-Nr ".$pseu."  "; $hg++; } if ($hg === 0) {echo " Kein Hauptgebäude gefunden.";} echo "

"; echo "\n

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

Fehler bei Nebengebäude.

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

SQL=
".htmlentities($sql, ENT_QUOTES, "UTF-8")."

";} // 7 $-Parameter } $neb=0; while($row = pg_fetch_assoc($res)) { echo "\n\tlfd.-Nr ".$row["laufendenummer"]."  "; $neb++; } if ($neb === 0) {echo "keine";} echo "

"; break; } } // G E B Ä U D E if ($ltyp != "o") { // OhneHsNr linkt nur Flurst. echo "\n\n\n

Gebäude

" ."\n

mit dieser Lagebezeichnung.

"; switch ($ltyp) { case "p": $bezart="g.hat"; break; case "m": $bezart="ANY(g.zeigtauf)"; break; // array } $sql ="SELECT g.gml_id, g.gebaeudefunktion, array_to_string(g.name, ',') AS name, g.bauweise, g.grundflaeche, g.zustand, round(st_area(g.wkb_geometry)::numeric,2) AS flaeche, h.beschreibung AS hv, coalesce(h.dokumentation, '') AS hd, u.beschreibung AS uv, coalesce(u.dokumentation, '') AS ud, z.beschreibung AS zv, coalesce(z.dokumentation, '') AS zd 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 WHERE $1 = ".$bezart." AND g.endet IS NULL;"; // Keine Sortierung (ORDER BY) notwendig weil i.d.R. nur ein (Haupt-)Gebäude diese Hausnummer hat. // Für weiter Eigenschaften dem Link "Haus" folgen. $v = array($gmlid); $res = pg_prepare($con, "", $sql); $res = pg_execute($con, "", $v); if (!$res) { echo "\n

Fehler bei Gebäude.

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

SQL=
".htmlentities(str_replace("$1", "'".$gmlid."'", $sql), ENT_QUOTES, "UTF-8")."

";} } echo "\n" ."\n" ."\n\t" ."\n\t" ."\n\t" ."\n\t" ."\n\t" ."\n\t" ."\n"; $i=0; while($row = pg_fetch_assoc($res)) { $ggml=$row["gml_id"]; $gfla=$row["flaeche"]; $ud=htmlentities($row["ud"], ENT_QUOTES, "UTF-8"); $hd=htmlentities($row["hd"], ENT_QUOTES, "UTF-8"); $zd=htmlentities($row["zd"], ENT_QUOTES, "UTF-8"); echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n\t" ."\n\t" ."\n\t\n"; } echo "\n
NameFlächeFunktionBauweiseZustand
".$row["name"]."".$gfla." m²".DsKy($row["gebaeudefunktion"], 'Gebäudefunktion-*').$row["uv"]."".DsKy($row["bauweise"], 'Bauweise-*').$row["hv"]."".DsKy($row["zustand"], 'Zustand-*').$row["zv"]."
"; } echo "
\n
" ."\n\tzurück "; if ($PrntBtn==true){echo "\n\tDrucken ";} echo "\n
"; footer($gmlid, selbstverlinkung()."?", "&ltyp=".$ltyp); ?>