".ltrim(substr($fst, 9, 5),"0");
$nenn=ltrim(substr($fst, 14), "0");
if ($nenn != "") {$zer.="/".$nenn;}
$zer.="";
return $zer;
}
function vornach($dbarr) {
// Datenbank-Array-Feld zeilenweise ausgeben als Selbst-Link
global $gkz, $idanzeige, $showkey;
if ($dbarr == "") {
echo "(keine)";
} else {
$stri=trim($dbarr, "{}");
//$arr = split(",",$stri);
$arr = explode(",",$stri);
foreach($arr AS $val){
echo "Flurstück ".fzerleg($val)."
";
}
}
return 0;
}
function gemkg_name($gkey) {
// Schluessel wird uebergeben, Name in DB nachschlagen
global $con;
$sql ="SELECT bezeichnung FROM ax_gemarkung g WHERE g.gemarkungsnummer= $1 ;";
$v=array($gkey);
$res=pg_prepare("", $sql);
$res=pg_execute("", $v);
if (!$res) {echo "\n
Fehler bei Gemarkung.
";} $zgmk=0; while($row = pg_fetch_array($res)) { // eigentlich nur EINE $gmkg=$row["bezeichnung"]; $zgmk++; } if ($zgmk == 0) { echo "\nGemarkung ".$gkey." ist unbekannt.
"; return; } return $gmkg; } function such_vor_arr($fsk) { // Suchen der Vorgaenger zum aktuellen Flurst. Ausgabe von Selbst-Links Zeilenweise inFehler bei Vorgänger-FS.
"; if ($debug > 2) {echo "SQL=
".$sqlv."
$1='".$fsk."'
DB=".$dbname.", user=".$dbuser."
";} // Such-Parameter bekommen? Welche? if ($gmlid != "") { // Ja, die GML wurde uebergeben $parmtyp="GML"; $parmval=$gmlid; $whereclause="WHERE gml_id= $1 "; $v = array($gmlid); } else { // Alternativ: Flurst.-Kennz. uebergeben if ($fskennz != "") { $parmtyp="Flurstückskennzeichen"; $parmval=$fskennz; $whereclause="WHERE flurstueckskennzeichen= $1 "; // hinten auffuellen mit _ auf 20 Stellen $v = array($fskennz); } else { // Pfui! $parmtyp=""; echo "Parameter 'gmlid' oder 'fskennz' fehlt.
"; } } if ($parmtyp != "") { // einer der beiden erlaubten Fälle // UNION-Abfrage auf 3ähnliche Tabellen, darin aber immer nur 1 Treffer. $felder="gml_id, flurnummer, zaehler, nenner, flurstueckskennzeichen, amtlicheflaeche, zeitpunktderentstehung, gemarkungsnummer, "; $sqlu ="SELECT 'a' AS ftyp, ".$felder."null AS nach, null AS vor, null AS \"name\" FROM ax_flurstueck f ".$whereclause." AND f.endet IS NULL " ."UNION SELECT 'h' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name FROM ax_historischesflurstueck h ".$whereclause." AND h.endet IS NULL " ."UNION SELECT 'o' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, name FROM ax_historischesflurstueckohneraumbezug o ".$whereclause." AND o.endet IS NULL;"; $resu = pg_prepare("", $sqlu); $resu = pg_execute("", $v); if ($rowu = pg_fetch_array($resu)) { $ftyp=$rowu["ftyp"]; $gmkgnr=$rowu["gemarkungsnummer"]; $flurnummer=$rowu["flurnummer"]; $zaehler=$rowu["zaehler"]; $nenner=$rowu["nenner"]; $flstnummer=$zaehler; if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr $fskenn=$rowu["flurstueckskennzeichen"]; $flae=number_format($rowu["amtlicheflaeche"],0,",",".") . " m²"; $name=$rowu["name"]; // in DB ein Array $arrn=explode(",", trim($name, "{}") ); // PHP-Array $gemkname= gemkg_name($gmkgnr); $entsteh=$rowu["zeitpunktderentstehung"]; $vor=$rowu["vor"]; $nach=$rowu["nach"]; if ($gmlid == "") {$gmlid=$rowu["gml_id"];} // fuer selbst-link-Umschalter ueber footer } else { if ($debug > 1) {echo "Fehler! Kein Treffer für ".$parmtyp." = '".$parmval."'
SQL=
".$sqlu."
$1=".$parmtyp." = '".$parmval."'
ALKIS Flurstück ".$gmkgnr."-".$flurnummer."-".$flstnummer."
\n"; echo "\n"; // linke Seite
// darin Tabelle Kennzeichen
echo "\n\t
| \n\t"; // rechte Seite
// FS-Daten 2 Spalten
echo "\n\t
| \n
Flurstück | Vorgänger | Nachfolger |
";
echo " ".$wert;
echo " Fläche ".$flae.""; echo " | ";
// Spalte 2: V o r g ä n g e r
echo "\n\t";
switch ($ftyp) { // Unterschiede Historisch/Aktuell
case 'a':
such_vor_arr($fskenn);
break;
case 'h':
if ($vor == "") {
echo "Geometrische Suche (noch nicht möglich)"; } else { vornach($vor); } break; case 'o': vornach($vor); break; } echo" | ";
// Spalte 3: N a c h f o l g e r
echo "\n\t"; vornach($nach); echo " | \n
Mehr als EIN Eintrag gefunden: '".$ftyp."' (".$z.")
"; $z++; } } ?>