Fehler beim Verbinden der DB\n";
// Ein (ALB- ?) Flurstücks-Kennzeichen wurde alternativ zur gml_id übermittelt
if ($gmlid == '' and $fskennz != '') {
// Übergabe Format z.B. "llgggg-fff-nnnn/zz.nn" oder "gggg-ff-nnn/zz"
$arr=explode("-", $fskennz, 4);
$zgemkg=trim($arr[0]);
if (strlen($zgemkg) == 20 and $arr[1] == "") { // Oh, ist wohl schon das Datenbank-Feldformat
$fskzdb=$zgemkg;
} else { // Nö, ist wohl eher ALB-Format
// Das Kennzeichen auseinander nehmen.
if (strlen($zgemkg) == 6) {
$land=substr($zgemkg, 0, 2);
$zgemkg=substr($zgemkg, 2, 4);
} else { // kein schöner Land ..
$land=$defland; // Default-Land aus config
}
$zflur=str_pad($arr[1], 3 , "0", STR_PAD_LEFT); // Flur-Nr
$zfsnr=trim($arr[2]); // Flurstücke-Nr
$zn=explode("/", $zfsnr, 2); // Bruch?
$zzaehler=str_pad(trim($zn[0]), 5 , "0", STR_PAD_LEFT);
$znenner=trim($zn[1]);
if (trim($znenner, " 0.") == "") { // kein Bruch oder nur Nullen
$znenner="____"; // in DB-Spalte mit Tiefstrich aufgefüllt
} else {
$zn=explode(".", $znenner, 2); // .00 wegwerfen
$znenner=str_pad($zn[0], 4 , "0", STR_PAD_LEFT);
}
// nun die Teile stellengerecht wieder zusammen setzen
$fskzdb=$land.$zgemkg.$zflur.$zzaehler.$znenner.'__'; // FS-Kennz. Format Datenbank
}
// 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($fskzdb);
$res = pg_prepare("", $sql);
$res = pg_execute("", $v);
if ($row = pg_fetch_array($res)) {
$gmlid=$row["gml_id"];
} else {
echo "Fehler! Kein Treffer für Flurstückskennzeichen='".$fskennz."' (".$fskzdb.")
";
}
pg_free_result($res);
}
// F L U R S T U E C K
$sql ="SELECT f.name, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche, st_area(f.wkb_geometry) AS fsgeomflae, f.zeitpunktderentstehung, g.gemarkungsnummer, g.bezeichnung
FROM ax_flurstueck f LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer
WHERE f.gml_id= $1 AND f.endet IS NULL;";
$v = array($gmlid); // mit gml_id suchen
$res = pg_prepare("", $sql);
$res = pg_execute("", $v);
if (!$res) {
echo "\nFehler bei Flurstuecksdaten
\n";
if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
}
if ($row = pg_fetch_array($res)) {
$gemkname=htmlentities($row["bezeichnung"], ENT_QUOTES, "UTF-8");
$gmkgnr=$row["gemarkungsnummer"];
$bezirk=$row["regierungsbezirk"];
$kreis=$row["kreis"];
$gemeinde=$row["gemeinde"];
$flurnummer=$row["flurnummer"];
$zaehler=$row["zaehler"];
$nenner=$row["nenner"];
$flstnummer=$zaehler;
if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr
$fsbuchflae=$row["amtlicheflaeche"]; // amtliche Fl. aus DB-Feld
$fsgeomflae=$row["fsgeomflae"]; // aus Geometrie ermittelte Fläche
$fsbuchflaed=number_format($fsbuchflae,0,",",".") . " m²"; // Display-Format dazu
$fsgeomflaed=number_format($fsgeomflae,0,",",".") . " m²";
$entsteh=$row["zeitpunktderentstehung"];
$name=$row["name"]; // Fortfuehrungsnummer(n)
$arrn = explode(",", trim($name, "{}") ); // PHP-Array
} else {
echo "Fehler! Kein Treffer für Flurstück mit gml_id=".$gmlid."
";
if ($debug > 2) {echo "SQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
echo "