".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, $showkey;
if ($dbarr == "") {
echo "(keine)";
} else {
$stri=trim($dbarr, "{}");
$arr = explode(",",$stri);
foreach($arr AS $val){
echo "Flurstück ".fzerleg($val)."
";
}
}
return 0;
}
function gemkg_name($gkey) {
// Schluessel wird übergeben, Name dazu in der DB nachschlagen
global $con;
$sql ="SELECT bezeichnung FROM ax_gemarkung g WHERE g.gemarkungsnummer= $1 AND g.endet IS NULL LIMIT 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_assoc($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 Vorgaenger zum aktuellen Flurst. Ausgabe von Selbst-Links Zeilenweise inFehler bei Vorgänger-FS.
"; if ($debug > 2) {echo "\nSQL=
".$sqlv."
$1='".$fsk."'
Fehler beim Verbinden der DB
"; // Such-Parameter bekommen? Welche? if ($gmlid != "") { // Ja, die GML wurde uebergeben $parmtyp="GML"; $parmval=$gmlid; $whereclause="WHERE gml_id= $1 "; $v = array($gmlid); } elseif ($fskennz != "") { // Alternativ: Flurst.-Kennz. uebergeben $parmtyp="Flurstückskennzeichen"; $parmval=$fskennz; $whereclause="WHERE flurstueckskennzeichen= $1 "; $v=array(fskenn_dbformat($fskennz)); } else { // Pfui! $parmtyp=""; die("Parameter 'gmlid' oder 'fskennz' fehlt.
"); // Weitermachen sinnlos } if ($parmtyp != "") { // einer der beiden erlaubten Fälle // UNION-Abfrage auf 3ähnliche Tabellen, darin aber immer nur 1 Treffer. $felder="gml_id, flurnummer, cast(zaehler AS character varying), cast(nenner AS character varying), flurstueckskennzeichen, amtlicheflaeche, to_char(cast(zeitpunktderentstehung AS date),'DD.MM.YYYY') AS zeitpunktderentstehung, gemarkungsnummer, "; if ($filtgem == '') { // Filter Gemeinde ? $wheref=''; $whereh=''; $whereo=''; } else { // Zusätze zur WHERE-Clausel $wheref=" AND f.gemeindezugehoerigkeit_kreis = '".$filtkreis."' AND f.gemeindezugehoerigkeit_gemeinde = '".$filtgem."' "; $whereh=" AND (h.gemeindezugehoerigkeit_kreis IS NULL OR h.gemeindezugehoerigkeit_kreis = '".$filtkreis."' ) AND (h.gemeindezugehoerigkeit_gemeinde IS NULL OR h.gemeindezugehoerigkeit_gemeinde = '".$filtgem."') "; $whereo=" AND (o.gemeindezugehoerigkeit_gemeinde IS NULL OR o.gemeindezugehoerigkeit_gemeinde = '".$filtgem."') "; } $sqlu ="SELECT 'a' AS ftyp, ".$felder."null::character varying[] AS nach, null::character varying[] AS vor, zeigtaufexternes_art AS zart, zeigtaufexternes_name AS zname FROM ax_flurstueck f ".$whereclause.$wheref." AND f.endet IS NULL " ."UNION SELECT 'h' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, null AS vor, zeigtaufexternes_art AS zart, zeigtaufexternes_name AS zname FROM ax_historischesflurstueck h ".$whereclause.$whereh." AND h.endet IS NULL " ."UNION SELECT 'o' AS ftyp, ".$felder."nachfolgerflurstueckskennzeichen AS nach, vorgaengerflurstueckskennzeichen AS vor, zeigtaufexternes_art AS zart, zeigtaufexternes_name AS zname FROM ax_historischesflurstueckohneraumbezug o ".$whereclause.$whereo." AND o.endet IS NULL;"; $resu = pg_prepare("", $sqlu); $resu = pg_execute("", $v); if ($rowu = pg_fetch_assoc($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²"; $gemkname= gemkg_name($gmkgnr); $vor=$rowu["vor"]; $nach=$rowu["nach"]; $entsteh=$rowu["zeitpunktderentstehung"]; $zeart=$rowu["zart"]; $zename=$rowu["zname"]; if ($gmlid == "") {$gmlid=$rowu["gml_id"];} // fuer selbst-link-Umschalter ueber footer switch ($ftyp) { // Diff. Hist./Akt. case 'a': $wert = "aktuell"; $ico= "Flurstueck.png"; $cls= "kennzfs"; break; case 'h': $wert = "historischFehler! Kein Treffer für ".$parmtyp." = '".$parmval."'
SQL=
".$sqlu."
$1=".$parmtyp." = '".$parmval."'
ALKIS Flurstück ".$gmkgnr."-".$flurnummer."-".$flstnummer."
"; echo "\n" ."\n\t | ||||||||
Kennzeichen: | " // Links ."\n\t\t" // Mitte
."\n\t
| \n\t"; fortfuehrungen($entsteh, $zeart, $zename); echo "\n\t | \n
Flurstück | Vorgänger | Nachfolger |
"
." ".$wert
." Fläche ".$flae."" ." | ";
// Spalte 2: V o r g ä n g e r
echo "\n\t"; switch ($ftyp) { // Diff. Hist./Akt. case 'a': such_vor_arr($fskenn); break; case 'h': such_vor_arr($fskenn); 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++; } } ?>