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

Abbruch

');} // 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_alkisbaurecht.php'"); if (!$con) echo "\n

Fehler beim Verbinden der DB

"; // Spalte "a.dokumentation" ist immer leer $sql ="SELECT r.ogc_fid, r.artderfestlegung as adfkey, r.name, r.stelle, r.bezeichnung AS rechtbez, a.beschreibung AS adfbez, d.bezeichnung AS stellbez, d.stellenart, wd.beschreibung, wd.dokumentation, round(st_area(r.wkb_geometry)::numeric,0) AS flae FROM ax_bauraumoderbodenordnungsrecht r LEFT JOIN ax_artderfestlegung_bauraumoderbodenordnungsrecht a ON r.artderfestlegung = a.wert LEFT JOIN ax_dienststelle d ON r.land=d.land AND r.stelle=d.stelle LEFT JOIN ax_behoerde wd ON d.stellenart = wd.wert WHERE r.gml_id= $1 AND r.endet IS NULL AND d.endet IS NULL;"; $v = array($gmlid); $res = pg_prepare("", $sql); $res = pg_execute("", $v); if (!$res) { echo "\n

Fehler bei Baurecht.

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

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

";} } if ($row = pg_fetch_assoc($res)) { $artfest=$row["adfkey"]; // Art der Festlegung, Key $verfnr=$row["rechtbez"]; // Verfahrens-Nummer $enam=$row["name"]; $stellb=$row["stellbez"]; $stella=$row["stellenart"]; $behb=$row["beschreibung"]; $behd=$row["dokumentation"]; // Balken echo "

ALKIS Bau-, Raum- oder Bodenordnungsrecht ".$artfest."-".$verfnr." 

"; echo "\n

Bau-, Raum- oder Bodenordnungsrecht

"; echo "\n" ."\n" ."\n\t\n\t" ."\n"; if ($enam != "") { echo "\n" ."\n\t" ."\n\t" . "\n"; } if ($verfnr != "") { echo "\n" ."\n\t" ."\n\t" ."\n"; } if ($stellb != "") { // z.B. Umlegung *mit* und Baulast *ohne* Dienststelle, darum bezirk testen echo "\n" ."\n\t\n\t" ."\n"; if ($stella != "") { echo "\n" ."\n\t" ."\n\t" ."\n"; } } echo "\n" ."\n\t"; $flae=number_format($row["flae"],0,",",".")." m²"; echo "\n\t" ."\n" . "\n
Art der Festlegung:"; if ($showkey) {echo "(".$artfest.") ";} echo "".$row["adfbez"]."
Eigenname des Gebietes:".$enam."
Verfahrensnummer:".$verfnr."
Dienststelle:"; if ($showkey) {echo "(".$row["stelle"].") ";} echo $stellb ."
Art der Dienststelle:"; if ($showkey) {echo " (".$stella.") ";} echo "".$behb.""; echo "
Fläche:".$flae."
"; } else { echo "\n

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

"; } echo "\n

betroffene Flurstücke

\n" ."\n

Ermittelt durch geometrische Verschneidung. Nach Größe absteigend.

"; $sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, round(st_area(ST_Intersection(r.wkb_geometry,f.wkb_geometry))::numeric,1) AS schnittflae FROM ax_flurstueck f, ax_bauraumoderbodenordnungsrecht r WHERE r.gml_id= $1 AND f.endet IS NULL AND r.endet IS NULL "; if ($filtgem === '' ) { // ungefiltert $v=array($gmlid); } else { $sql.="AND f.gemeindezugehoerigkeit_kreis = $2 AND f.gemeindezugehoerigkeit_gemeinde = $3 "; // Zuständiges Gebiet $v=array($gmlid, $filtkreis, $filtgem); } $sql.="AND st_intersects(r.wkb_geometry,f.wkb_geometry) = true AND st_area(st_intersection(r.wkb_geometry,f.wkb_geometry)) > 0.05 ORDER BY schnittflae DESC LIMIT 100;"; // > 0.0 ist gemeint, Ungenauigkeit durch st_simplify // Limit: Flurbereinig. kann gross werden! // Trotz Limit lange Antwortzeit, wegen OrderBy -> intersection $res=pg_prepare("", $sql); $res=pg_execute("", $v); if (!$res) { echo "\n

Keine Flurstücke ermittelt.

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

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

";} // ggf. mehrere Parameter! } echo "\n" ."\n" ."\n\t" ."\n\t" ."\n\t" ."\n\t" ."\n"; $fscnt=0; while($row = pg_fetch_assoc($res)) { $fscnt++; echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n\t" ."\n"; } echo "\n
FlurstückFlächevon
".$row["flurnummer"]."-".$row["zaehler"]; $nen=$row["nenner"]; if ($nen != "") {echo "/".$nen;} echo "".$row["schnittflae"]." m²".$row["amtlicheflaeche"]." m²
"; if ($fscnt === 0) { // nicht gefunden if ($filtgem === '' ) { // ungefiltert echo "\n

Kein Flurstück gefunden.

"; } else { // Wahrscheinliche Ursache = Filter echo "\n

Kein Flurstück im berechtigten Bereich.

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

SQL=
".htmlentities($sql, ENT_QUOTES, "UTF-8")."
$1 = ".$gmlid." $2 = ".$filtkreis." $3 = ".$filtgem."

";} } } elseif ($fscnt === 100) { echo "

... und weitere Flurstücke (Limit 100 erreicht).

"; } pg_close($con); echo <<
zurück  Drucken  END; footer($gmlid, selbstverlinkung()."?", ""); ?>