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

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

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

"; return 0; } } } function SuchGmkgName() { // Gemarkung suchen nach Name(-nsanfang) global $con, $gkz, $gemeinde, $debug, $fskennz; $linelimit=120; if(preg_match("/\*/",$fskennz)){ $match = trim(preg_replace("/\*/i","%", strtoupper($fskennz))); } else { $match = trim($fskennz)."%"; } $sql ="SELECT v.gemeindename, g.gemarkungsnummer, g.bezeichnung "; $sql.="FROM ax_gemarkung g JOIN gemeinde_gemarkung v ON g.gemarkungsnummer=v.gemarkung "; $sql.="WHERE bezeichnung ILIKE $1 "; if($gemeinde > 0) {$sql.=" AND v.gemeinde=".$gemeinde;} // wie prepared? $sql.=" ORDER BY g.bezeichnung LIMIT $2 ;"; $v=array($match, $linelimit); $res=pg_prepare("", $sql); $res=pg_execute("", $v); if (!$res) { echo "\n

Fehler bei Gemarkung

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

".$sql."

";} return 0; } $cnt = 0; while($row = pg_fetch_array($res)) { $gnam=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8"); $gnr=$row["gemarkungsnummer"]; $stadt=$row["gemeindename"]; echo "\n
"; echo "\n\t\tGemkg"; echo ""; echo " ".$gnam." (".$gnr.")"; if ($gemeinde == 0) {echo " ".$stadt;} // Kreisweit echo "\n
"; $cnt++; } if($cnt == 0){ echo "\n

Keine Gemarkung.

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

... und weitere

"; } elseif($cnt == 1) { // Eindeutig! return $gnr; } return 0; } function EineGemarkung($AuchGemkZeile) { // Kennzeichen bestehend nur aus Gemarkung-Schlüssel wurde eingegeben global $con, $gkz, $gemeinde, $debug, $zgemkg; $linelimit=120; // max. Fluren je Gemarkung if ($AuchGemkZeile) { $sql ="SELECT bezeichnung FROM ax_gemarkung g WHERE g.gemarkungsnummer= $1 ;"; // WHERE f.land= ? $v=array($zgemkg); $res=pg_prepare("", $sql); $res=pg_execute("", $v); if (!$res) {echo "\n

Fehler bei Gemarkung.

";} $zgmk=0; while($row = pg_fetch_array($res)) { $gmkg=$row["bezeichnung"]; $zgmk++; } if ($zgmk == 0) { echo "\n
"; echo "\n\t\t

Gemkg"; echo " Gemarkung ".$zgemkg." ist unbekannt.

"; echo "\n
"; return; } // > 1 auch möglich ??? echo "\n
"; echo "\n\t\tGemkg "; echo ""; echo $gmkg." (".$zgemkg.")"; // in Gemeinde? echo "\n
"; } $sql ="SELECT gemarkungsteilflur AS flur FROM ax_gemarkungsteilflur f "; $sql.="WHERE gemarkung= $1 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)) { $flur=$row["flur"]; echo "\n
"; echo "\n\t\tFlur "; echo "Flur ".$flur." "; echo "\n
"; $zfl++; } if($zfl == 0) { echo "\n

Keine Flur.

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

... und weitere

"; } return; } function EineFlur() { // Kennzeichen aus Gemarkung und FlurNr wurde eingegeben global $con, $gkz, $gemeinde, $debug, $scalefs, $epsg, $auskpath, $zgemkg, $zflur; $linelimit=600; // Wie groß kann eine Flur sein? $sql ="SELECT bezeichnung FROM ax_gemarkung g WHERE g.gemarkungsnummer= $1 ;"; $v=array($zgemkg); $res=pg_prepare("", $sql); $res=pg_execute("", $v); if (!$res) {echo "\n

Fehler bei Gemarkung.

";} $zgmk=0; while($row = pg_fetch_array($res)) { $gmkg=$row["bezeichnung"]; $zgmk++; } if ($zgmk == 0) { echo "\n
"; echo "\n\t\t

Gemkg"; echo " Gemarkung ".$zgemkg." ist unbekannt.

"; echo "\n
"; return; } echo "\n
"; echo "\n\t\tGemkg "; echo "Gemarkung ".$gmkg." (".$zgemkg.")"; echo "\n
"; echo "\n
"; echo "\n\t\tFlur "; echo "Flur ".$zflur.""; echo "\n
"; $sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, "; $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 WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 "; $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"];} // Bruchnummer $x=$row["x"]; $y=$row["y"]; echo "\n
"; echo "\n\t"; echo "\n\t\tFS"; echo "\n\t "; echo "\n\tFlst.  ".$fskenn." "; echo "\n
"; $zfs++; } if($zfs == 0) { echo "\n

Kein Flurstück.

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

... und weitere

"; } return; } function EinFlurstueck() { // Flurstückskennzeichen komplett bis zum Zaehler eingegeben // Sonderfall: bei Bruchnummer, mehrere Nenner zum Zaehler global $con, $gkz, $debug, $scalefs, $epsg, $auskpath, $zgemkg, $zflur, $zzaehler, $znenner; $sql ="SELECT f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.gemeinde, "; $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.="g.gemarkungsnummer, g.bezeichnung "; $sql.="FROM ax_flurstueck f JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; $sql.="WHERE f.gemarkungsnummer= $1 AND f.flurnummer= $2 AND f.zaehler= $3 "; If ($znenner != "") {$sql.="AND f.nenner=".$znenner." ";} // wie prepared? $sql.="ORDER BY f.zaehler, f.nenner;"; // WHERE f.land= ? $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"]; $gmkg=$row["bezeichnung"]; $flur=$row["flurnummer"]; $fskenn=$row["zaehler"]; if ($row["nenner"] != "") {$fskenn.="/".$row["nenner"];} // Bruchnummer $x=$row["x"]; $y=$row["y"]; echo "\n
"; echo "\n\t"; echo "\n\t\tFS"; echo "\n\t "; echo "\n\tFlst. "; echo $gmkg." ".$flur."-".$fskenn.""; echo "\n
"; $zfs++; } if($zfs == 0) {echo "\n

Kein Flurstück.

";} return; } // =========== // Start hier! // =========== if(isset($epsg)) { if ($debug >= 2) {echo "

aktueller EPSG='".$epsg."'

"; } // aus MB if (substr($epsg, 0, 5) == "EPSG:") {$epsg=substr($epsg, 5);} } else { if ($debug >= 2) {echo "

kein EPSG gesetzt

";} $epsg=$gui_epsg; // aus Conf } if ($debug >= 2) { if(isset($gemeinde)) {echo "

Filter Gemeinde = ".$gemeinde."

"; } else {echo "

Kein Filter Gemeinde

";} } // Eingabe interpretieren switch (ZerlegungFsKennz($fskennz)) { case 0: echo "

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

"; break; case 1: if ($debug >= 2) {echo "

Gemarkungsname ".$zgemkg."

";} $gnr=SuchGmkgName(); if ($gnr > 0) { $zgemkg=$gnr; EineGemarkung(false); }; break; case 2: if ($debug >= 2) {echo "

Gemarkungsnummer ".$zgemkg."

";} EineGemarkung(true); break; case 3: if ($debug >= 2) {echo "

Gemarkung ".$zgemkg." Flur ".$zflur."

";} EineFlur(); break; case 4: if ($debug >= 2) {echo "

Gemarkung ".$zgemkg." Flur ".$zflur." Flurstück ".$zzaehler."

";} EinFlurstueck(); break; case 5: if ($debug >= 2) {echo "

Gemarkung ".$zgemkg." Flur ".$zflur." Flurstück ".$zzaehler."/".$znenner."

";} EinFlurstueck(); break; } ?>