in .css grau hinterlegen - "Umschalter" (gleiches Modul) anders darstellen als Links zu ANDEREN Nachweisen - Parameter zum Umschalten mit/ohne Bodenschätzung? - Bessere Differenzierung bei den Nutzungsarten (Tabelle dafür aufbauen) */ function werteliste($bez ,$sqlin, $con) { // Eine oder mehrere Entschlüsselungen in eine Zeile ausgeben. // Dient dazu, Schlüssel-ARRAYs auflösen ohne die Zeile im JOIN mehrfach aufzulisten // Anwendung: FS-Nachweis Bodenschätzung global $dbg; if ($bez === 'e') {$tabelle = 'ax_entstehungsartoderklimastufewasserverhaeltnisse_bodensc';} elseif ($bez === 's') {$tabelle = 'ax_sonstigeangaben_bodenschaetzung';} $sql="SELECT wert, beschreibung FROM ".$tabelle." WHERE wert IN (".$sqlin.") ORDER BY wert LIMIT $1 ;"; $v = array('9'); $res = pg_prepare($con, "", $sql); $res = pg_execute($con, "", $v); if (!$res) { echo "\n

Fehler bei Werteliste.

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

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

";} return; } $zeianz=pg_num_rows($res); while($row = pg_fetch_assoc($res)) { echo " ".$row["beschreibung"]; } pg_free_result($res); if ($zeianz === 0) { echo "(kein Treffer)"; if ($dbg > 2) {echo "\n

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

";} } return; } // Start ini_set("session.cookie_httponly", 1); session_start(); $eig="n"; $showkey="n"; $nodebug=""; // Var. initalisieren $cntget = extract($_GET); // alle Parameter in Variable umwandeln // strikte Validierung aller Parameter if (isset($gmlid)) { if (!preg_match('#^[0-9A-Za-z]{16}$#', $gmlid)) {die("Eingabefehler gmlid");} $fskennz=''; } else { // Alternativ $gmlid=''; if (isset($fskennz)) { if (!preg_match('#^[0-9\-_/]{8,20}$#', $fskennz)) {die ("Eingabefehler fskennz");} } else { die("Fehlender Parameter"); } } if (isset($gkz)) { if (!preg_match('#^[0-9]{3}$#', $gkz)) {die("Eingabefehler gkz");} } else { die("Fehlender Parameter"); } if (!preg_match('#^[j|n]{0,1}$#', $eig)) {die("Eingabefehler eig");} if (!preg_match('#^[j|n]{0,1}$#', $showkey)) {die ("Eingabefehler showkey");} if ($showkey === "j") {$showkey=true;} else {$showkey=false;} // "j"/"n" als bool, ist praktischer, oft gebraucht if (!preg_match('#^j{0,1}$#', $nodebug)) {die("Eingabefehler nodebug");} include "alkis_conf_location.php"; include "alkisfkt.php"; ?> ALKIS Flurstücksnachweis Abbruch

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

Fehler beim Verbinden der DB

"; // Ein Flurstücks-Kennzeichen im DB-Format wurde alternativ zur gml_id übermittelt if ($fskennz != '') { // Spalte "flurstueckskennzeichen" ist in DB indiziert. Format z.B.'052647002001910013__' oder '05264700200012______' $sql ="SELECT gml_id FROM ax_flurstueck WHERE flurstueckskennzeichen= $1 AND endet IS NULL;"; $v=array(fskenn_dbformat($fskennz)); $res = pg_prepare($con, "", $sql); $res = pg_execute($con, "", $v); if ($row = pg_fetch_assoc($res)) { $gmlid=$row["gml_id"]; } else { echo "\n

Fehler! Kein Treffer für Flurstückskennzeichen='".$fskennz."' (".$fskzdb.")

"; echo "

Kennzeichen veraltet? Suche in der Flurstücks-Historie

"; echo "\n\n"; return; } pg_free_result($res); } // F L U R S T Ü C K m. Gebiet $sql ="SELECT f.zeigtaufexternes_art, f.zeigtaufexternes_name, f.flurnummer, f.zaehler, f.nenner, f.gemeindezugehoerigkeit_regierungsbezirk, f.gemeindezugehoerigkeit_kreis, f.gemeindezugehoerigkeit_gemeinde, f.amtlicheflaeche, st_area(f.wkb_geometry) AS fsgeomflae, to_char(cast(f.zeitpunktderentstehung AS date),'DD.MM.YYYY') AS zeitpunktderentstehung, f.istgebucht, g.gemarkungsnummer, g.bezeichnung, r.bezeichnung AS rbez, k.bezeichnung AS kbez, m.bezeichnung AS mbez FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.gemeindezugehoerigkeit_land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ".UnqKatAmt("f","g") ."LEFT JOIN ax_regierungsbezirk r ON f.gemeindezugehoerigkeit_regierungsbezirk=r.regierungsbezirk ".UnqKatAmt("f","r") ."LEFT JOIN ax_kreisregion k ON f.gemeindezugehoerigkeit_regierungsbezirk=k.regierungsbezirk AND f.gemeindezugehoerigkeit_kreis=k.kreis ".UnqKatAmt("f","k") ."LEFT JOIN ax_gemeinde m ON m.regierungsbezirk=f.gemeindezugehoerigkeit_regierungsbezirk AND m.kreis=f.gemeindezugehoerigkeit_kreis AND m.gemeinde=f.gemeindezugehoerigkeit_gemeinde ".UnqKatAmt("f","m") ."WHERE f.gml_id= $1 AND f.endet IS NULL AND g.endet IS NULL AND m.endet IS NULL AND k.endet IS NULL AND r.endet IS NULL;"; $v = array($gmlid); // mit gml_id suchen $res = pg_prepare($con, "", $sql); $res = pg_execute($con, "", $v); if (!$res) { echo "\n

Fehler bei Flurstuecksdaten

"; 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.") Flurstücks-Objekt!

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

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

";} } } if ($row = pg_fetch_assoc($res)) { $gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); $gmkgnr=$row["gemarkungsnummer"]; $bezirk=$row["gemeindezugehoerigkeit_regierungsbezirk"]; $rbez=htmlentities($row["rbez"], ENT_QUOTES, "UTF-8"); $kreis=$row["gemeindezugehoerigkeit_kreis"]; $kbez=htmlentities($row["kbez"], ENT_QUOTES, "UTF-8"); $gemeinde=$row["gemeindezugehoerigkeit_gemeinde"]; $mbez=htmlentities($row["mbez"], ENT_QUOTES, "UTF-8"); $flurnummer=$row["flurnummer"]; $zaehler=$row["zaehler"]; $nenner=$row["nenner"]; $flstnummer=$zaehler; if ($nenner == NULL) { $nenner=""; } else { $flstnummer.="/".$nenner; } // BruchNr $fsbuchflae=$row["amtlicheflaeche"]; // amtl. Fl. aus DB-Feld $fsgeomflae=$row["fsgeomflae"]; // aus Geometrie ermittelte Fläche $the_Xfactor = $fsbuchflae / $fsgeomflae; // Multiplikator zur Umrechnung geometrische Abschnittsflächen in Buchfläche $fsbuchflaed=number_format($fsbuchflae,0,",",".") . " m²"; // Display-Format dazu $fsgeomflaed=number_format($fsgeomflae,0,",",".") . " m²"; $gml_buchungsstelle=$row["istgebucht"]; // wird erst im GB-Teil benötigt $entsteh=$row["zeitpunktderentstehung"]; $zeart=$row["zeigtaufexternes_art"]; $zename=$row["zeigtaufexternes_name"]; if (is_null($zename)) {$zename="";} } else { echo "\n

Fehler! Kein Treffer für Flurstück mit gml_id=".$gmlid."

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

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

";} echo "\n\n"; return; } pg_free_result($res); if ($eig==="j") { // Balken echo "

ALKIS Flurstück ".$gmkgnr."-".$flurnummer."-".$flstnummer." 

" ."\n\n

Flurstück mit Eigentümer

"; } else { echo "

ALKIS Flurstück ".$gmkgnr."-".$flurnummer."-".$flstnummer." 

" ."\n\n

Flurstück

"; } // Prüfung der Gebiets-Berechtigung bei gemeinsam genutzten Datenbanken (Kreis und Gemeinde) // Für das gkz (z.B. aus dem Mapfile-Namen) wird in der Konfiguration ein Filter gesetzt. if ( ($filtkreis != '' and $filtkreis != $kreis) or ($filtgem != '' and $filtgem != $gemeinde) ) { // Einer der gesetzten Filter passt nicht if ($dbg > 2) { echo "\n

Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'

" ."\n

Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'

"; } echo "\n

Zugriff nicht erlaubt

" ."\n

Dies Flurstück liegt ausserhalb der zuständigen Stadt oder Gemeinde.

\n\n"; exit; } echo "\n" ."\n\t\n\t\t" // Links ."\n\t\t\n\t\t\n\t\n
Kennzeichen:" // Mitte ."\n\t\t\t\n\t\t\t\t" // darin Tabelle Kennzeichen ."\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t" ."\n\t\t\t\t\n\t\t\t\t\t" ."\n\t\t\t\t\t" ."\n\t\t\t\t\t\n\t\t\t\t" ."\n\t\t\t
GemarkungFlurFlurst-Nr.
".DsKy($gmkgnr, 'Gemarkungsnummer').$gemkname." ".$flurnummer."".$flstnummer."
" ."\n\t\t
"; // Rechts fortfuehrungen($entsteh, $zeart, $zename); echo "\n\t\t
"; echo "\n
\n"; // FS-Teil 6 Spalten echo "\n\n\t\n\t\n\t\n\t\n\t" // 1-5 in erster Zeile kein "colspan" verwenden ."\n\t" ."\n"; echo "\n" // Zeile: Gebietszugehörigkeit - Gemeinde / Kreis / Reg.bez. ."\n\t" ."\n\t" ."\n\t" ."\n\t" ."\n"; // L a g e b e z e i c h n u n g // Lagebezeichnung M I T Hausnummer // ax_flurstueck >weistAuf> AX_LagebezeichnungMitHausnummer $sql="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung, s.gml_id AS kgml FROM ax_flurstueck f JOIN ax_lagebezeichnungmithausnummer l ON l.gml_id=ANY(f.weistauf) 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 f.gml_id= $1 AND f.endet IS NULL AND l.endet IS NULL AND s.endet IS NULL ORDER BY l.gemeinde, l.lage, l.hausnummer;"; $v = array($gmlid); $res = pg_prepare($con, "", $sql); $res = pg_execute($con, "", $v); if (!$res) { echo "\n

Fehler bei Lagebezeichnung mit Hausnummer

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

Fehler:".pg_last_error()."

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

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

";} } } else { $j=0; $kgmlalt=""; while($row = pg_fetch_assoc($res)) { $sname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name if (substr($sname, strlen($sname) -3, 3) === 'weg') { // Versuch fuer korrekten Satzbau $slink=" am ".$sname; } else { $slink=" an der ".$sname; } $hsnr=$row["hausnummer"]; echo "\n"; if ($j === 0) { echo "\n\t"; } else { echo "\n\t"; } echo "\n\t" ."\n\t" ."\n\t" // 6 ."\n"; $j++; } $cnt_adressen=$j; pg_free_result($res); } // Lagebezeichnung O H N E Hausnummer (Gewanne oder nur Strasse) // ax_flurstueck >zeigtAuf> AX_LagebezeichnungOhneHausnummer $sql ="SELECT l.gml_id, coalesce(l.unverschluesselt, '') AS gewann, l.gemeinde, l.lage, s.bezeichnung FROM ax_flurstueck f JOIN ax_lagebezeichnungohnehausnummer l ON l.gml_id=ANY(f.zeigtauf) 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 f.gml_id = $1 AND f.endet IS NULL AND l.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 ohne Hausnummer

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

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

";} } while($row = pg_fetch_assoc($res)) { $skey=$row["lage"]; // Strassenschl. $lgml=$row["gml_id"]; // Key der Lage $gewann = htmlentities($row["gewann"], ENT_QUOTES, "UTF-8"); if ($gewann != '') { echo "\n" ."\n\t" // 1 ."\n\t" ."\n\t" ."\n\t" ."\n"; } elseif ($skey > 0) { $sname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); // Str.-Name if (substr($sname, strlen($sname) -3, 3) === 'weg') { // Versuch fuer korrekten Satzbau $slink=" am ".$sname; } else { $slink=" an der ".$sname; } echo "\n" ."\n\t" ."\n\t\n\t"; echo "\n\t" ."\n"; } } pg_free_result($res); /* Status "N u t z u n g": Die Classic-Tabelle "nutzung" ist eine Zusammenfassung aller Tabellen mit Nutzungs-Flächen Die Classic-Tabelle "nutzung_meta" zeigt die Kategorie und Gruppe des Nutzungs-Abschnitts an. Aus der norGIS-Struktur wird ersatzweise VORLÄUFIG die Tabelle "nutz_21" verwendet, die das alte ALB-Format der Nutzungs-Abschnitte von Flurstücken simuliert. Hier finden sich bereits verschnittene Flächen, aber die gml_id fehlt. Die Entschlüsselung der Nutzungsart in den verschiedenen ALKIS-Varianten ist darin unterentwickelt. Diese ist eigentlich für jede der getrennten Tabellen der Gruppe Nutzungsart individuell. Die Classic-Lösung mit 2 Zusatzfeldern war schon sehr pauschalisiert, aber durch die Rück-Konvertierung in ALB-Strukturen in der norGIS-Version ist das zu stark vereinfacht. z.B. wird "Wohnbaufläche" mit der Zusatzeigenschaft "Art der Bebauung": 'Offen' nun zur Nutzungsart "Offen". Durch JOIN auf die "alkis_elemente" mit einem Teil des Schlüssels wird das zur "Wohnbaufläche, Offen". Es sollte eine Tabellen-Struktur bereit gestellt werden, die auch aussagt, dass der Wert "Offen" zur Zusatz-Eigenschaft "Art der Bebauung" gehört. Dazu muss das PostProcessing erweitert werden. */ $sql="SELECT e.definition, trim(both FROM n.nutzsl) AS nutzsl, trim(both FROM n.fl) AS fl, trim(both FROM s.nutzung) AS nutzung FROM nutz_21 n JOIN nutz_shl s ON n.nutzsl = s.nutzshl JOIN alkis_elemente e ON e.kennung = substring(n.nutzsl from 1 for 5) WHERE n.flsnr = $1 ORDER BY cast(n.fl AS integer) DESC;"; // Flurstueckskennzeichen mit Trennzeichen im ALB-Format wie 'llgggg-fff-zzzzz/nnn' $fskennzalb=$defland.$gmkgnr."-".str_pad($flurnummer,3,"0",STR_PAD_LEFT)."-".str_pad($zaehler,5,"0",STR_PAD_LEFT)."/".str_pad($nenner,3,"0",STR_PAD_LEFT); $v = array($fskennzalb); $res = pg_prepare($con, "", $sql); $res = pg_execute($con, "", $v); if (!$res) { echo "\n

Fehler bei Suche tats. Nutzung

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

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

";} } $j=0; while($row = pg_fetch_assoc($res)) { $flae=$row["fl"]; // Buchfläche $nutzsl=$row["nutzsl"]; // Schlüssel $nutzung=$row["nutzung"]; // Bezeichnung aus ALB-Tabelle, "fein" $defi=$row["definition"]; // Langer Text mit Beschreibung $title=htmlentities($defi, ENT_QUOTES, "UTF-8"); // .. für Anzeige aufbereitet echo "\n\n\t"; if ($j === 0) { // 1 echo ""; } else { echo ""; } $absflaebuch = number_format($flae,0,",",".") . " m²"; // Formatierte Abschnitts-Buch-Fläche echo "\n\t" ."\n\t" // Sp. wie Fl. in Bodenschätzg. ."\n\t" ."\n\t" ."\n\t" ."\n"; $j++; } pg_free_result($res); echo "\n" // Flächen-Summenzeile ."\n\t" // 1 ."\n\t" // 2 ."\n\t" ."\n\t" // 4 ."\n\t" // 5 ."\n\t" // 6 ."\n"; // B o d e n s c h ä t z u n g // --------------------------- // Tabelle "klas_3x" (norbit-ALB): Dort fehlen Bodenart und Zustandsstufe, es ist aber bereits auf Buchfläche umgerechnet. // Bodenschätzungs-Abschnitte mit Flurstücken verschneiden, Spalten entschlüsseln $sql="SELECT b.kulturart AS kulturartk, kulturart.beschreibung AS kulturartv, b.bodenart AS bodenartk, bodenart.beschreibung AS bodenartv, zustbod.beschreibung AS zustbodv, b.entstehungsartoderklimastufewasserverhaeltnisse AS entsteh, b.sonstigeangaben, coalesce(b.bodenzahlodergruenlandgrundzahl, '') as bodenzahl, b.ackerzahlodergruenlandzahl AS ackerzahl, b.jahreszahl, st_area(st_intersection(b.wkb_geometry, f.wkb_geometry)) AS schnittflae FROM ax_flurstueck f JOIN ax_bodenschaetzung b ON st_intersects(b.wkb_geometry, f.wkb_geometry) AND st_area(st_intersection(b.wkb_geometry, f.wkb_geometry)) > 0.05 LEFT JOIN ax_bodenart_bodenschaetzung bodenart ON b.bodenart = bodenart.wert LEFT JOIN ax_kulturart_bodenschaetzung kulturart ON b.kulturart = kulturart.wert LEFT JOIN ax_zustandsstufeoderbodenstufe_bodenschaetzung zustbod ON b.zustandsstufeoderbodenstufe = zustbod.wert WHERE f.gml_id = $1 AND f.endet IS NULL AND b.endet IS NULL ORDER BY schnittflae DESC"; $v = array($gmlid); $res = pg_prepare($con, "", $sql); $res = pg_execute($con, "", $v); if (!$res) {echo "\n

Fehler bei DB-Abfrage zur Klassifizierung Boden

\n";} $gesertragsmz = 0; // Gesamt-ErtragsMesszahl $klasflae = 0; // Summe klassifizierte Fläche $j=0; if(!empty($res) && pg_num_rows($res) > 0) { while ($row = pg_fetch_assoc($res)) { $kulturartk=$row['kulturartk']; // Key - $kulturartv=$row['kulturartv']; // - Value if (substr($kulturartv, 0, 3) === 'Ack') { // A $kbez1="Bodenzahl"; $kbez2="Ackerzahl"; } else { // Gr $kbez1="Grünlandgrundzahl"; $kbez2="Grünlandzahl"; } $absflae = $row['schnittflae']; $absbuchflae = $absflae * $the_Xfactor; $klasflae+=$absbuchflae; $boedenzahl=ltrim($row['bodenzahl'], '0'); if (is_null($row['ackerzahl'])) { $ackerzahl=""; $ertragszahl = 0; } else { $ackerzahl=ltrim($row['ackerzahl'], '0'); $ertragszahl = intval($absbuchflae * $row['ackerzahl'] / 100); } $gesertragsmz+=$ertragszahl; // $absflaedis = number_format($absflae,0,",",".")." m²"; // als Tool-Tip ? $absbuchflaedis = number_format($absbuchflae,0,",",".")." m²"; $jahr=$row['jahreszahl']; $entsteh=$row['entsteh']; $sonst=$row['sonstigeangaben']; if ($j === 0) { // 1 echo "\n\n\t"; } else { echo "\n\n\t"; } echo "\n\t" ."\n\t" ."\n\t" ."\n\t" ."\n\t\n"; $j++; } // Summenzeile $klasflaedis = number_format($klasflae,0,",",".")." m²"; echo "\n\n\t" // 1 ."\n\t" // 2 ."\n\t" // 3 ."\n\t\n"; // 4-6 } // H i n w e i s // auf "Bau-, Raum- oder Bodenordnungsrecht" (Baulast, Flurbereinigung) oder eine "strittige Grenze" // Gemeinsame Fläche suchen: entweder (ST_Intersects and not ST_Touches) oder (2xST_Within OR ST_Overlaps), ST_Intersects liefert auch angrenzende $sql_boden ="SELECT b.artderfestlegung AS wert, a.beschreibung AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez, b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key FROM ax_flurstueck f JOIN ax_bauraumoderbodenordnungsrecht b ON ST_Within(b.wkb_geometry, f.wkb_geometry) OR ST_Within(f.wkb_geometry, b.wkb_geometry) OR ST_Overlaps(b.wkb_geometry, f.wkb_geometry) LEFT JOIN ax_artderfestlegung_bauraumoderbodenordnungsrecht a ON b.artderfestlegung=a.wert LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle ".UnqKatAmt("b","d") ."WHERE f.gml_id = $1 AND f.endet IS NULL AND b.endet IS NULL AND d.endet IS NULL"; pg_prepare($con, "bodeneuordnung", $sql_boden); $res_bodeneuordnung = pg_execute($con, "bodeneuordnung", array($gmlid)); if (!$res_bodeneuordnung) { echo "\n

Fehler bei Bau-, Raum- oder Bodenordnungsrecht

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

SQL=
".str_replace("$1", "'".$gmlid."'", $sql_boden)."

";} } $sql_str="SELECT gml_id FROM ax_besondereflurstuecksgrenze WHERE endet IS NULL AND 1000 = ANY(artderflurstuecksgrenze) AND ST_touches((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL),wkb_geometry);"; pg_prepare($con, "strittigeGrenze", $sql_str); $res_strittigeGrenze = pg_execute($con, "strittigeGrenze", array($gmlid)); if (!$res_strittigeGrenze) { echo "\n

Fehler bei strittige Grenze

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

SQL=
".str_replace("$1", "'".$gmlid."'", $sql_str)."

";} } if (pg_num_rows($res_bodeneuordnung) > 0 OR pg_num_rows($res_strittigeGrenze) > 0) { echo "\n" ."\n\t\n\t\n";// 2-6 if (pg_num_rows($res_bodeneuordnung) > 0) { while ($row = pg_fetch_assoc($res_bodeneuordnung)) { // 3 Zeilen je Verfahren echo "\n" // Zeile 1 - kommt immer, darum hier den Link ."\n\t" // 1 ."\n\t" // 2 "Art der Festlegung" zu lang ."\n\t"; echo "\n\t" ."\n"; $dstell=$row['stelle_key']; // Zeile 2 if ($dstell != '') { echo "\n" ."\n\t" // 1 ."\n\t" // 2 ."\n\t" ."\n\t" ."\n"; } $vbez=$row['verf_bez']; // Zeile 3, ist nicht immer gefüllt $vnam=$row['verf_name']; // noch seltener if ($vbez != '') { echo "\n" ."\n\t" ."\n\t" ."\n\t" ."\n\t" ."\n"; } } } if (pg_num_rows($res_strittigeGrenze) > 0) { // 1 Zeile echo "\n\n" ."" ."\n\n"; } } echo "\n
Gebiet:Gemeinde
Kreis
Regierungsbezirk
".DsKy($gemeinde, 'Gemeinde-Nummer').$mbez."
".DsKy($kreis, 'Kreis-Nummer').$kbez."
".DsKy($bezirk, 'Regierungsbezirk-Nummer').$rbez."
Adresse:  ".DsKy($row["lage"], 'Straßen-*').$sname." ".$hsnr."\n\t\t\n\t
Gewanne:".$gewann."\n\t\t\n\t
Straße:".DsKy($skey, 'Straßen-*').$sname."\n\t\t\n\t
Nutzung: ".$absflaebuch."".DsKy($nutzsl, 'Nutzungsarten-*').$nutzung.""; /* // Derzeit ist keine Gruppe zugeordnet switch ($grupp) { // Icon nach 4 Objektartengruppen case "Siedlung": $ico = "Abschnitt.png"; break; case "Verkehr": $ico = "Strassen_Klassifikation.png"; break; case "Vegetation": $ico = "Wald.png"; break; case "Gewässer": $ico = "Wasser.png"; break; default: $ico = "Abschnitt.png"; break; } // Icon ist auch im Druck sichtbar, class='noprint' ? echo ""; */ echo "
Fläche: " // 3 Flaeche ."".$fsbuchflaed."  " // 6 Link auf Gebäude-Auswertung ."\n\t\t" ."\n\t
Bodenschätzung:
 EMZ ".$ertragszahl."".$absbuchflaedis."".$boedenzahl."/".$ackerzahl.""; echo "\n\t\t".DsKy($kulturartk, 'Kulturart')." ".$kulturartv.""; echo "\n\t\t
".DsKy($row['bodenartk'], 'Bodenart-*')." ".$row['bodenartv'].""; echo "\n\t\t
".$row['zustbodv'].""; // 2 ARRAYs auflösen if (isset($entsteh)) { $ent=trim($entsteh, "{}"); echo "\n\t\t
".DsKy($ent, '*'); werteliste('e', $ent, $con); // ++ Zeilenweise mit
? echo "
"; } if (isset($sonst)) { $son=trim($sonst, "{}"); echo "\n\t\t
".werteliste('s', $son, $con).""; // ++ Zeilenweise mit
? } if (isset($jahr)) { echo "\n\t\t
".$jahr.""; } echo "\n\t
 
Ertragsmesszahl:".$gesertragsmz."".$klasflaedis." 
" // 1 ."Hinweise:
 
BodenrechtFestlegung: ".DsKy($row['wert'], 'Art des Verfahrens').$row['art_verf']."" ."\n\t\t" ."\n\t
 Dienststelle: ".DsKy($dstell, 'Art der Dienststelle').$row['stelle_bez']." 
 Verfahren: "; if ($vnam == "") { echo $vbez; // nur die Nummer } else { // Name oder beides echo DsKy($vbez, 'Nummer des Verfahrens').$vnam; } echo " 
Strittige Grenze:Mindestens eine Flurstücksgrenze ist als strittig zu bezeichnen. Sie kann nicht festgestellt werden, weil die Beteiligten sich nicht über den Verlauf einigen. Nach sachverständigem Ermessen der Katasterbehörde ist anzunehmen, dass das Liegenschaftskataster nicht die rechtmäßige Grenze nachweist. 
"; // B U C H U N G S S T E L L E N zum FS $bartgrp=""; // Buchungsart $barttypgrp=""; // Buchungsart Typ if ($gml_buchungsstelle === '') { echo "\n

Keine Buchungstelle zum Flurstück gefunden.

"; // keine Verweis vorhanden? } else { echo "\n"; // ALLE Buchungen und Eigentümer in 4 Spalten EINER Tabelle ausgeben $stufe=1; // Schleifenzähler Tiefe $gezeigt=buchung_anzg($gml_buchungsstelle, $eig, false, $gmlid, 1); // die ("dienende") Buchung anzeigen, wenn nicht fiktiv. Liefert 1/0 $anzber=ber_bs_zaehl($gml_buchungsstelle); // Anzahl berechtigte Buchungen (nächste Stufe) zu dieser Buchung ermitteln $verf_next = array($gml_buchungsstelle); // Start Recursion mit einem Element //if ($dbg > 1) {echo "

Nach Stufe ".$stufe.", Anzahl: ". $anzber ."

";} while ($anzber > 0 ) { // Stufe - recursiv in die Tiefe, solange es was zu verfolgen gibt $verf_akt=$verf_next; // die nächste Stufe als aktuell übernehmen .. $verf_next=array(); // .. und zum Auffüllen leeren $stufe++; foreach($verf_akt as $gml_ber_bs) { if (ber_bs_zaehl($gml_ber_bs) > 0) { $verf_neu=ber_bs_anzg($gml_ber_bs, $eig, false, $gmlid, ""); // Anzeige ber. Buchungst., ggf. mit Eigentümer. $anz_neu=count($verf_neu); // Das Ergebnis zählen if ($anz_neu > 0) { // wenn neue geliefert $verf_next=array_merge($verf_next, $verf_neu); // die neuen an die Sammlung heften } } } // Ende Buchungs-Array in der Stufe $anzber=count($verf_next); // Sammlung auf Stufe zählen, Steuert die Schleife. } // Ende Stufe echo "\n
\n\n"; // Fehler aus "Modellschwäche" erkennen. // Wenn der Verweis der Buchungsstelle auf ein Grundbuch ins Leere läuft, weil das Grundbuch // nicht im Sekundärbestand vorhanden ist, dann könnte das am NBA-Verfahren liegen. if ( $gezeigt === 0 and $stufe === 1 ) { echo "

Das Grundbuch zur Buchung '".$gml_buchungsstelle."' fehlt in der Datenbank.

"; if ($dbg > 2) { // fehlt die Buchung? echo "

Suchen mit SQL: SELECT * FROM ax_buchungsstelle WHERE gml_id='".$gml_buchungsstelle."';

"; } } } pg_close($con); echo "
\n
" ."\n\tzurück "; if ($PrntBtn==true){echo "\n\tDrucken ";} echo "\n\tExport \n
"; footer($gmlid, selbstverlinkung()."?", "&eig=".$eig); ?>