<< END; function h_hinten($zahl) { // Testen: Wurde an eine Zahl ein "h" angehängt? // Wenn ja, dann Schalter setzen und nur numerischen Teil zurück geben. global $phist, $debug; $zahl=trim($zahl); $zlen=strlen($zahl) - 1; if ($zlen > 0) { $hinten = ucfirst(substr($zahl, $zlen, 1)); if ($hinten == "H" ) { $vorn=trim(substr($zahl, 0, $zlen)); if (is_ne_zahl($vorn)) { // Zahl *und* "H" $zahl = $vorn; $phist = true; } } } return $zahl; } function ZerlegungFsKennz($fskennz) { // Das eingegebene Flurstücks-Kennzeichen auseinander nehmen. Erwartet wird gggg-fff-zzzz/nnn // Teile der Zerlegung in global-Vars "$z..." global $debug, $zgemkg, $zflur, $zzaehler, $znenner; $arr = explode("-", $fskennz, 4); $zgemkg=trim($arr[0]); $zflur=h_hinten($arr[1]); $zfsnr=trim($arr[2]); if ($debug > 1) {echo "

Gemkg: '".$zgemkg."' Flur: '".$zflur."' NR: '".$zfsnr."'

";} if ($zgemkg == "") { return 0; // Gemeinden oder Gemarkungen listen } elseif ( ! is_ne_zahl($zgemkg)) { return 1; // Such Name } elseif ($zflur == "") { return 2; // G-Nr } elseif ( ! is_ne_zahl($zflur)) { echo "

Die Flurnummer '".$zflur."' ist nicht numerisch

"; return 9; } elseif ($zfsnr == "") { return 3; // Flur } else { $zn=explode("/", $zfsnr, 2); $zzaehler=h_hinten(trim($zn[0])); $znenner =h_hinten(trim($zn[1])); if ( ! is_ne_zahl($zzaehler)) { echo "

Flurstücksnummer '".$zzaehler."' ist nicht numerisch

"; return 9; } elseif ($znenner == "") { return 4; } elseif (is_ne_zahl($znenner)) { return 5; } else { echo "

Flurstücks-Nenner '".$znenner."' ist nicht numerisch

"; return 9; } } } function flurstueckskoordinaten($gml) { // Die Koordinaten zu einem Flurstück aus der Datenbank liefern // Parameter: gml_id des Flurstücke // Return: Array(x,y) global $epsg; $sqlk ="SELECT "; if($epsg == "25832") { // Transform nicht notwendig $sqlk.="x(st_Centroid(wkb_geometry)) AS x, "; $sqlk.="y(st_Centroid(wkb_geometry)) AS y "; } else { $sqlk.="x(st_transform(st_Centroid(wkb_geometry), ".$epsg.")) AS x, "; $sqlk.="y(st_transform(st_Centroid(wkb_geometry), ".$epsg.")) AS y "; } $sqlk.="FROM ax_flurstueck WHERE gml_id= $1 AND endet IS NULL;"; $v=array($gml); $resk=pg_prepare("", $sqlk); $resk=pg_execute("", $v); if (!$resk) {echo "\n

Fehler bei Koordinate.

";} $rowk = pg_fetch_array($resk); $koor=array("x" => $rowk["x"], "y" => $rowk["y"]); return $koor; } function zeile_gemarkung($gkgnr, $gkgname, $aktuell) { // Eine Zeile zu Gemarkung ausgeben global $con, $gkz, $gemeinde, $epsg, $gfilter; if ($gkgname == "") { // Falls Gem.-Name fehlt, in DB nachschlagen $sql ="SELECT g.gemarkungsname FROM pp_gemarkung g WHERE g.gemarkung = $1 AND endet IS NULL LIMIT 1;"; $v=array($gnr); $res=pg_prepare("", $sql); $res=pg_execute("", $v); if (!$res) {echo "\n

Fehler bei Gemarkungsname.

";} $row = pg_fetch_array($res); $gkgname=$row["gemarkungsname"]; } if ($gkgname == "") {$gkgname = "(unbekannt)";} $gnam=htmlentities($gkgname, ENT_QUOTES, "UTF-8"); if ($aktuell) {$cls=" aktuell";} echo "\n
"; echo "\n\t\tGKG"; echo " OT "; echo " ".$gnam." (".$gkgnr.")"; echo "\n
"; return; } function zeile_flur($gkgnr, $flurnr, $histlnk, $aktuell) { // Eine Zeile zur Flur ausgeben global $gkz, $gemeinde, $epsg; if ($aktuell) {$cls=" aktuell";} echo "\n
"; echo "\n\t\tFL "; $url=$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&fskennz=".$gkgnr."-".$flurnr; echo "Flur ".$flurnr." "; if ($histlnk) { // Link zur hist. Suche anbieten echo " Hist."; } echo "\n
"; return; } function zeile_hist_fs($fs_gml, $fskenn, $ftyp, $gknr, $flur, $aktuell) { // Eine Zeile für ein historisches Flurstück ausgeben global $gkz, $gemeinde, $epsg, $auskpath; if ($ftyp == "h") { $ico="Flurstueck_Historisch_Lnk.ico"; $titl="Historisches Flurstück"; } else { $ico="Flurstueck_Historisch_oR_Lnk.ico"; $titl="Historisches Flurstück ohne Raumbezug"; } if ($aktuell) {$cls=" aktuell";} echo "\n
"; // Icon -> Buchnachweis echo "\n\t"; echo "\n\t\tHist"; echo "\n\t"; // Zeile -> tiefer in die Historie $flurl =$_SERVER['SCRIPT_NAME']."?gkz=".$gkz."&gemeinde=".$gemeinde."&epsg=".$epsg."&hist=j"; $flurl.="&fskennz=".$gknr."-".$flur."-"; echo "\n\thist. Flst. ".$fskenn.""; echo "\n
"; return; } function zeile_nachf_fs($gml, $gknr, $flur, $fskenn, $ftyp) { // Eine Zeile für ein Nachfolger-Flurstück eines hist. Fs. ausgeben global $gkz, $gemeinde, $epsg, $auskpath; $fs=$gknr."-".$flur."-".$fskenn; switch ($ftyp) { case "a": // eine FS-Zeile mit Link ausgeben (Einrückung css passt nicht) $koor=flurstueckskoordinaten($gml); zeile_flurstueck($gml, $fskenn, $koor["x"], $koor["y"], "", "", false); return; break; case "h": $ico="Flurstueck_Historisch_Lnk.ico"; $titl="Historisches Flurstück"; $hisparm="&hist=j"; $auskprog="alkisfshist"; break; case "o": $ico="Flurstueck_Historisch_oR_Lnk.ico"; $titl="Historisches Flurstück ohne Raumbezug"; $hisparm="&hist=j"; $auskprog="alkisfshist"; break; } // für die Hist.-Fälle: echo "\n
"; echo "\n\t"; echo "\n\t\tFS"; echo "\n\t "; echo "Flst. ".$fskenn.""; echo "\n
"; return; } function ListGemeinden() { // Bei Leereingabe im Formular die Gemeinden auflisten global $con, $gkz, $gemeinde, $epsg, $debug, $gfilter; $linelimit=60; $sql ="SELECT gemeinde, gemeindename FROM pp_gemeinde "; switch ($gfilter) { case 1: // Einzelwert $sql.="WHERE gemeinde='".$gemeinde."' "; break; case 2: // Liste $sql.="WHERE gemeinde in ('".str_replace(",", "','", $gemeinde)."') "; break; default: break; } $sql.=" ORDER BY gemeindename LIMIT $1 ;"; $res=pg_prepare("", $sql); $res=pg_execute("", array($linelimit)); if (!$res) { echo "\n

Fehler bei Gemeinde

"; #if ($debug >= 3) {echo "\n

".$sql."

";} return 0; } $cnt = 0; while($row = pg_fetch_array($res)) { $gnr=$row["gemeinde"]; $gemeindename=$row["gemeindename"]; zeile_gemeinde($gnr, $gemeindename); $cnt++; } // Foot if($cnt == 0) { echo "\n

Keine Gemeinde.

"; } elseif($cnt >= $linelimit) { echo "\n

".$cnt." Gemeinden ... und weitere

"; } elseif($cnt == 1) { // Eindeutig! return $gnr; } else { echo "\n

".$cnt." Gemeinden

"; } return; } function ListGmkgInGemeinde($gkey, $bez) { // Die Gemarkungen zu einem Gemeinde-Key (aus Link) listen global $con, $gkz, $gemeinde, $epsg, $debug, $gfilter; $linelimit=70; // Head zeile_gemeinde($gkey, $bez, true); // Body $sql ="SELECT gemarkung, gemarkungsname FROM pp_gemarkung WHERE gemeinde= $1 ORDER BY gemarkungsname LIMIT $2 ;"; $res=pg_prepare("", $sql); $res=pg_execute("", array($gkey, $linelimit)); if (!$res) { echo "\n

Fehler bei Gemarkungen

"; return 1; } $cnt = 0; while($row = pg_fetch_array($res)) { $gnr=$row["gemarkung"]; $gnam=$row["gemarkungsname"]; zeile_gemarkung($gnr, $gnam, false); $cnt++; } // Foot if($cnt == 0){ echo "\n

Keine Gemarkung.

"; } elseif($cnt >= $linelimit) { echo "\n

".$cnt." Gemarkungen ... und weitere

"; } elseif($cnt == 1) { // Eindeutig! return $gnr; } else { echo "\n

".$cnt." Gemarkungen

"; } return; } function SuchGmkgName() { // Gemarkung suchen nach Name(-nsanfang) global $con, $gkz, $gemeinde, $epsg, $debug, $fskennz, $gfilter; $linelimit=120; if(preg_match("/\*/",$fskennz)){ $match = trim(preg_replace("/\*/i","%", strtoupper($fskennz))); } else { $match = trim($fskennz)."%"; } $sql ="SELECT g.gemeinde, g.gemarkung, g.gemarkungsname, s.gemeindename "; $sql.="FROM pp_gemarkung g JOIN pp_gemeinde s ON g.gemeinde = s.gemeinde "; $sql.="WHERE g.gemarkungsname ILIKE $1 "; switch ($gfilter) { case 1: // Einzelwert $sql.="AND g.gemeinde='".$gemeinde."' "; break; case 2: // Liste $sql.="AND g.gemeinde in ("."'".str_replace(",", "','", $gemeinde)."'".") "; break; } $sql.=" ORDER BY s.gemeindename, g.gemarkungsname LIMIT $2 ;"; $v=array($match, $linelimit); $res=pg_prepare("", $sql); $res=pg_execute("", $v); if (!$res) { echo "\n

Fehler bei Gemarkung

"; return; } $cnt = 0; $gwgem=""; while($row = pg_fetch_array($res)) { $gemeindename=$row["gemeindename"]; if ($gwgem != $gemeindename) { // Gruppierung Gemeinde $gwgem = $gemeindename; $skey=$row["gemeinde"]; zeile_gemeinde($skey, $gemeindename, false); } $gnam=$row["gemarkungsname"]; $gnr=$row["gemarkung"]; zeile_gemarkung($gnr, $gnam, false); // wenn am Ende nur ein Treffer, dann aktuell=true $cnt++; } // Foot if($cnt == 0){ echo "\n

Keine Gemarkung.

"; } elseif($cnt >= $linelimit) { echo "\n

".$cnt." Gemarkungen ... und weitere

"; } elseif($cnt == 1) { // Eindeutig! return $gnr; } else { echo "\n

".$cnt." Gemarkungen

"; } return; } function gg_head($gkgnr, $gkgaktuell) { // Übergeordnete Zeilen (Head) für Gemeinde und Gemarkung ausgeben // Parameter = Gemarkungsnummer $sqlh ="SELECT g.gemarkungsname, s.gemeinde, s.gemeindename FROM pp_gemarkung g "; $sqlh.="JOIN pp_gemeinde s ON g.gemeinde=s.gemeinde AND g.land=s.land "; $sqlh.="WHERE g.gemarkung = $1 ;"; $v=array($gkgnr); $resh=pg_prepare("", $sqlh); $resh=pg_execute("", $v); if (!$resh) {echo "\n

Fehler bei Gemeinde und Gemarkung.

";} $rowh = pg_fetch_array($resh); $gmkg=$rowh["gemarkungsname"]; $skey=$rowh["gemeinde"]; $snam=$rowh["gemeindename"]; zeile_gemeinde($skey, $snam, false); zeile_gemarkung($gkgnr, $gmkg, $gkgaktuell); return; } function EineGemarkung($AuchGemkZeile) { // Kennzeichen bestehend nur aus Gemarkung-Schlüssel wurde eingegeben // Parameter = $zgemkg global $con, $gkz, $gemeinde, $epsg, $debug, $zgemkg; $linelimit=120; // max.Fluren/Gemkg // Head if ($AuchGemkZeile) {gg_head($zgemkg, true);} // Body $sql ="SELECT gemarkungsteilflur AS flur FROM ax_gemarkungsteilflur f "; $sql.="WHERE gemarkung= $1 AND endet IS NULL ORDER BY gemarkungsteilflur LIMIT $2 ;"; //WHERE f.land=? $v=array($zgemkg, $linelimit); $res=pg_prepare("", $sql); $res=pg_execute("", $v); if (!$res) {echo "\n

Fehler bei Flur.

";} $zfl=0; while($row = pg_fetch_array($res)) { $zflur=$row["flur"]; zeile_flur($zgemkg, $zflur, false, false); $zfl++; } // Foot if($zfl == 0) { echo "\n

Keine Flur.

"; } elseif($zfl >= $linelimit) { echo "\n

".$zfl." Fluren ... und weitere

"; } elseif($zfl > 1) { echo "\n

".$zfl." Fluren

"; } return; } function EineFlur() { // Kennzeichen aus Gemarkung und FlurNr wurde eingegeben, dazu aktuelle Flurstücke suchen global $con, $gkz, $gemeinde, $epsg, $debug, $zgemkg, $zflur; $linelimit=600; // Wie groß kann eine Flur sein? // Head gg_head($zgemkg, false); zeile_flur($zgemkg, $zflur, true, true); // Body $sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, "; if($epsg == "25832") { // Transform nicht notwendig $sql.="st_x(st_Centroid(f.wkb_geometry)) AS x, "; $sql.="st_y(st_Centroid(f.wkb_geometry)) AS y "; } else { $sql.="st_x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, "; $sql.="st_y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y "; } $sql.="FROM ax_flurstueck f WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 AND endet IS NULL "; $sql.="ORDER BY f.zaehler, f.nenner LIMIT $3 ;"; // WHERE f.land=? $v=array($zgemkg, $zflur, $linelimit); $res=pg_prepare("", $sql); $res=pg_execute("", $v); if (!$res) {echo "\n

Fehler bei Flur.

";} $zfs=0; while($row = pg_fetch_array($res)) { $fs_gml=$row["gml_id"]; $flur=$row["flurnummer"]; $fskenn=$row["zaehler"]; if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} zeile_flurstueck($fs_gml, $fskenn, $row["x"], $row["y"], "", "", false); $zfs++; } // Flur-Foot if($zfs == 0) { echo "\n

Kein Flurstück.

"; } elseif($zfs >= $linelimit) { echo "\n

".$zfs." Flurstücke... und weitere

"; } elseif($zfs > 1) { echo "\n

".$zfs." Flurstücke

"; } return; } function HistFlur() { // Kennzeichen aus Gemarkung und FlurNr wurde eingegeben. // Die Flur nach historischen Flurstücken durchsuchen global $con, $gkz, $gemeinde, $epsg, $debug, $scalefs, $auskpath, $land, $zgemkg, $zflur; $linelimit=500; // Head gg_head($zgemkg, false); zeile_flur($zgemkg, $zflur, true, true); // Body $whcl.="WHERE flurstueckskennzeichen like $1 AND endet IS NULL "; $sql ="SELECT 'h' AS ftyp, gml_id, zaehler, nenner, nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueck ".$whcl; $sql.="UNION SELECT 'o' AS ftyp, gml_id, zaehler, nenner, nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueckohneraumbezug ".$whcl; $sql.="ORDER BY zaehler, nenner LIMIT $2 ;"; $fskzwhere =$land.$zgemkg.str_pad($zflur, 3, "0", $STR_PAD_LEFT)."%"; $v=array($fskzwhere, $linelimit); $res=pg_prepare("", $sql); $res=pg_execute("", $v); if (!$res) {echo "\n

Fehler bei Historie Flur.

";} $zfs=0; while($row = pg_fetch_array($res)) { $ftyp=$row["ftyp"]; $fs_gml=$row["gml_id"]; // fuer Buchausk. $fskenn=$row["zaehler"]; if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer zeile_hist_fs($fs_gml, $fskenn, $ftyp, $zgemkg, $zflur, false); $zfs++; } // Foot if($zfs == 0) { echo "\n

Kein historisches Flurstück.

"; #if ($debug > 2) {echo "

SQL=
".$sql."
$1 = ".$fskzwhere."

";} } elseif ($zfs >= $linelimit) { echo "\n

".$zfs." historische Flurst. ... und weitere

"; } elseif($zfs > 1) { echo "\n

".$zfs." historische Flurstücke

"; } return; } function EinFlurstueck() { // Flurstückskennzeichen wurde komplett bis zum Zaehler (oder Nenner) eingegeben // Sonderfall: bei Bruchnummer, mehrere Nenner zum Zaehler suchen wenn kein Nenner eingegeben wurde. global $con, $gkz, $debug, $epsg, $gemeinde, $fskennz, $zgemkg, $zflur, $zzaehler, $znenner; // Head gg_head($zgemkg, false); zeile_flur($zgemkg, $zflur, true, false); // Body $sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, "; if($epsg == "25832") { // Transform nicht notwendig $sql.="x(st_Centroid(f.wkb_geometry)) AS x, "; $sql.="y(st_Centroid(f.wkb_geometry)) AS y "; } else { $sql.="x(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS x, "; $sql.="y(st_transform(st_Centroid(f.wkb_geometry), ".$epsg.")) AS y "; } $sql.="FROM ax_flurstueck f "; $sql.="WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 AND f.zaehler= $3 "; If ($znenner != "") {$sql.="AND f.nenner=".$znenner." ";} // wie prepared? $sql.="AND endet IS NULL ORDER BY f.zaehler, f.nenner;"; $v=array($zgemkg, $zflur, $zzaehler); $res=pg_prepare("", $sql); $res=pg_execute("", $v); if (!$res) {echo "\n

Fehler bei Flurstück.

";} $zfs=0; while($row = pg_fetch_array($res)) { $fs_gml=$row["gml_id"]; $flur=$row["flurnummer"]; $fskenn=$row["zaehler"]; if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} zeile_flurstueck($fs_gml, $fskenn, $row["x"], $row["y"], "", "", true); $zfs++; } // Foot if($zfs == 0) { echo "\n

Kein aktuelles Flurstück.

"; echo "\n
"; echo "\n\t\tHistorisches Flurstück "; echo ""; echo $zgemkg."-".$zflur."-".$zzaehler; if ($znenner != "") {echo "/".$znenner;} echo " h - suchen"; echo "\n
"; } return; } function HistFlurstueck() { // Die Nachfolger-FS-Kennzeichen zu einem Historischen FS sollen recherchiert werden. global $debug, $land, $zgemkg, $zflur, $zzaehler, $znenner; // Head gg_head($zgemkg, false); zeile_flur($zgemkg, $zflur, true, false); echo "\n
"; // Body // Suche ueber das Flurstueckskennzeichen, gml unbekannt $fskzwhere =$land.$zgemkg; // Flurst-Kennz. f. Where $fskzwhere.=str_pad($zflur, 3, "0", $STR_PAD_LEFT); $fskzwhere.=str_pad($zzaehler, 5, "0", $STR_PAD_LEFT); if ($znenner == "") { // Wenn kein Nenner angegeben wurde, //wird mit Wildcard und like nach allen Nennern gesucht. $fskzwhere.="____\_\_"; // für like $whereop=" like "; // Das Wildcard-Zeichen "_" ist mit Zeichen im Feldinhalt identisch // "___" = hier kann auch ein Nenner stehen, "\_\_" hier müssen tatsächlich __ stehen. // WARNUNG: nicht standardkonforme Verwendung von Escape in Zeichenkettenkonstante // z.B.: like '05265600400145____\_\_' } else { // Ein Nenner wurde angegeben $fskzwhere.=str_pad($znenner, 4, "0", $STR_PAD_LEFT)."__"; $whereop=" = "; } $whcl.="WHERE flurstueckskennzeichen ".$whereop." $1 AND endet IS NULL "; $fldlist=" AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner, "; // NICHT in aktuell suchen wenn explizit historisch gesucht wird $sql ="SELECT 'h'".$fldlist."nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueck ".$whcl; $sql.="UNION SELECT 'o'".$fldlist."nachfolgerflurstueckskennzeichen as nachf FROM ax_historischesflurstueckohneraumbezug ".$whcl; $v=array($fskzwhere); $res=pg_prepare("", $sql); $res=pg_execute("", $v); if (!$res) { echo "\n

Fehler bei historischem Flurstück.

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

SQL = '".$sql."'
Parameter: ".$fskzwhere."

";} return; } $zfs=0; while($row = pg_fetch_array($res)) { // Schleife Hist-FS $ftyp=$row["ftyp"]; $fs_gml=$row["gml_id"]; $gknr=$row["gemarkungsnummer"]; $flur=$row["flurnummer"]; $fskenn=$row["zaehler"]; $nachf=$row["nachf"]; if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} zeile_hist_fs($fs_gml, $fskenn, $ftyp, $gknr, $flur, true); if ($nachf == "") { echo "\n

keine Nachfolger

"; } else { echo "\n

Nachfolger-Flurstücke:

"; // Direkte Nachfolger ermitteln. In $nachf steht ein Array von FS-Kennzeichen. // Von den einzelnen Kennz. ist unbekannt, ob diese noch aktuell sind // oder auch schon wieder historisch. // Nachfolger in DB suchen um den Status aktuell/historisch zu ermitteln $stri=trim($nachf, "{}"); $stri="'".str_replace(",", "','", $stri)."'"; $nawhcl="WHERE flurstueckskennzeichen IN ( ".$stri." ) AND endet IS NULL "; $nasql ="SELECT 'a' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_flurstueck ".$nawhcl; $nasql.="UNION SELECT 'h' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_historischesflurstueck ".$nawhcl; $nasql.="UNION SELECT 'o' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_historischesflurstueckohneraumbezug ".$nawhcl; $v=array(); $nares=pg_prepare("", $nasql); $nares=pg_execute("", $v); if (!$nares) { echo "\n

Fehler bei Nachfolger.

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

SQL = '".$nasql."'

";} return; } /* SELECT 'a' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_flurstueck WHERE flurstueckskennzeichen IN ( '05265600400296______' ) AND endet IS NULL UNION SELECT 'h' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_historischesflurstueck WHERE flurstueckskennzeichen IN ( '05265600400296______' ) AND endet IS NULL UNION SELECT 'o' AS ftyp, gml_id, gemarkungsnummer, flurnummer, zaehler, nenner FROM ax_historischesflurstueckohneraumbezug WHERE flurstueckskennzeichen IN ( '05265600400296______' ) AND endet IS NULL ' ==> UNION-Typen character varying und integer passen nicht zusammen gemarkungsnummer */ $zfsn=0; // inner Body while($narow = pg_fetch_array($nares)) { $naftyp=$narow["ftyp"]; $nagml=$narow["gml_id"]; $nagknr=$narow["gemarkungsnummer"]; $naflur=$narow["flurnummer"]; $nafskenn=$narow["zaehler"]; if ($narow["nenner"] != "") {$nafskenn.="/".$narow["nenner"];} zeile_nachf_fs ($nagml, $nagknr, $naflur, $nafskenn, $naftyp); $zfsn++; } // inner Footer if ($zfsn == 0) { echo "\n

keine Nachfolger

"; } elseif ($zfsn > 1) { echo "\n

".$zfsn." Nachfolger-Flst.

"; } echo "\n
"; } #} // aktuell ... $zfs++; } // Foot if($zfs == 0) { echo "\n

Kein historisches Flurstück.

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

SQL= ".$sql."\n
$1 = FS-Kennz = '".$fskzwhere."'

";} } return; } // =========== // Start hier! // =========== if(isset($epsg)) { $epsg = str_replace("EPSG:", "" , $_REQUEST["epsg"]); } else { #if ($debug >= 1) {echo "\n

kein EPSG gesetzt

";} $epsg=$gui_epsg; // Conf } if ($gemeinde == "") { $gfilter = 0; } elseif(strpos($gemeinde, ",") === false) { $gfilter = 1; // Einzelwert } else { $gfilter = 2; // Liste } if ($hist == "j") {$phist = true;} else {$phist = false;} if($gm != "") { // Self-Link aus Gemeinde-Liste $trans="Gemarkungen zur Gemeinde"; $gnr=ListGmkgInGemeinde($gm, $bez); if ($gnr > 0) { $zgemkg=$gnr; EineGemarkung(false); } } else { // Die Formular-Eingabe interpretieren (kann auch ein Link sein) $retzer=ZerlegungFsKennz($fskennz); switch ($retzer) { case 0: // leere Eingabe if ($gfilter == 1) { // Die GUI ist bereits auf EINE Gemeinde gefiltert $trans="Liste der Gemarkungen"; SuchGmkgName(); } else { $trans="Liste der Gemeinden"; ListGemeinden(); } break; case 1: $trans="Suche Gemarkungsname"; $gnr=SuchGmkgName(); if ($gnr > 0) { $trans="1 Gemarkung, Fluren dazu"; $zgemkg=$gnr; EineGemarkung(false); } break; case 2: $trans="Fluren in Gemarkung"; EineGemarkung(true); break; case 3: if ($phist) { $trans="historische Flurst. in Flur"; HistFlur(); } else { $trans="Flurstücke in Flur"; EineFlur(); } break; case 4: if ($phist) { $trans="historisches Flurstück"; HistFlurstueck(); } else { $trans="Flurstück"; EinFlurstueck(); } break; case 5: if ($phist) { $trans="historisches Flurstück"; HistFlurstueck(); } else { $trans="Flurstück"; EinFlurstueck(); } break; case 9: $trans="falsche Eingabe"; echo "\n

Bitte ein Flurstückskennzeichen eingegeben, Format 'gggg-fff-zzzz/nnn

"; break; } } // Titel im Kopf anzeigen echo " "; ?>