Index: trunk/info/info/alkisn/alkisfsnw.php
===================================================================
--- trunk/info/info/alkisn/alkisfsnw.php (revision 393)
+++ trunk/info/info/alkisn/alkisfsnw.php (revision 394)
@@ -15,4 +15,5 @@
2017-10-11 Nachbesserung Formatierung der SchÀtzungs-Zeilen
2017-10-17 Zeitpunkt der Entstehung in deutschen Datumsformat
+ 2017-11-03 Wertelisten fÌr Arrays in BodenschÀtzung ausgeben.
ToDo:
@@ -633,6 +634,10 @@
// Tabelle "klas_3x" (norbit-ALB): Dort fehlen Bodenart und Zustandsstufe, es ist aber bereits auf BuchflÀche umgerechnet.
+// BodenschÀtzungs-Abschnitte mit FlurstÌcken verschneiden, Spalten entschlÌsseln
$sql="SELECT
- kulturart.k as kulturartk, kulturart.v as kulturartv, bodenart.k as bodenartk, bodenart.v as bodenartv, zustbod.v AS zustbodv,
+ kulturart.k AS kulturartk, kulturart.v AS kulturartv,
+ bodenart.k AS bodenartk, bodenart.v AS bodenartv,
+ zustbod.v AS zustbodv,
+ b.entstehungsartoderklimastufewasserverhaeltnisse AS entsteh, b.sonstigeangaben,
b.bodenzahlodergruenlandgrundzahl as bodenzahl, b.ackerzahlodergruenlandzahl AS ackerzahl,
b.jahreszahl, st_area(st_intersection(b.wkb_geometry, f.wkb_geometry)) AS schnittflae
@@ -652,5 +657,7 @@
$klasflae = 0; // Summe klassifizierte FlÀche
$j=0;
+
if(!empty($res) && pg_num_rows($res) > 0) {
+
while ($row = pg_fetch_array($res)) {
$kulturartk=$row['kulturartk']; // Key -
@@ -673,4 +680,9 @@
$boedenzahl=ltrim($row['bodenzahl'], '0');
$ackerzahl=ltrim($row['ackerzahl'], '0');
+ $jahr=$row['jahreszahl'];
+
+ // 2x Array mit SchlÃŒsseln. PostNAS fÃŒllt es nicht, wenn als "integer[]" definiert.
+ $entsteh=$row['entsteh'];
+ $sonst=$row['sonstigeangaben'];
// Sp. 1/4
@@ -688,13 +700,32 @@
echo "\n\t
".$boedenzahl."/".$ackerzahl." | ";
echo "\n\t";
+
if ($showkey) {echo "\n\t\t(".$kulturartk.") ";}
echo "\n\t\t".$kulturartv." ";
+
if ($showkey) {echo "\n\t\t(".$row['bodenartk'].") ";}
echo "\n\t\t".$row['bodenartv']." ";
- echo "\n\t\t".$row['zustbodv']."";
- if (isset($row['jahreszahl'])) {echo "\n\t\t ".$row['jahreszahl']."";}
- // ++ Entstehungsart (Array) derzeit leer. 1:N entschlÃŒsseln. entstehungsartoderklimastufewasserverhaeltnisse
- // $ent = explode(",", trim($entsteh, "{}") ); // [] --> PHP-Array
- // if (isset($row['sonstiges'])) {echo "\n\t\t, ".$row['sonstiges']."";} -- immer leer (Konverter-Fehler?)
+
+ echo "\n\t\t".$row['zustbodv']." ";
+
+ // ARRAYs auflösen ohne den SchÀtzungs-Abschnitt mehrfach aufzulisten
+ if ($entsteh <> '') {
+ $ent="'".str_replace(",", "','", trim($entsteh, "{}"))."'"; // als Liste fÃŒr SQL "WHERE IN ()"
+ echo "\n\t\t ";
+ if ($showkey) {echo "\n\t\t (".$ent.") ";}
+ werteliste ('ax_bodenschaetzung', 'entstehungsartoderklimastufewasserverhaeltnisse', $ent);
+ echo "";
+ }
+ if ($sonst <> '') {
+ $son="'".str_replace(",", "','", trim($sonst, "{}"))."'";
+ echo "\n\t\t ";
+ if ($showkey) {echo "\n\t\t (".$son.") ";}
+ werteliste ('ax_bodenschaetzung', 'sonstigeangaben', $son);
+ echo "";
+ }
+
+ if ($jahr <> '') {
+ echo "\n\t\t".$jahr."";
+ }
echo "\n\t | ";
@@ -703,4 +734,5 @@
$j++;
}
+
// Summenzeile
$klasflaedis = number_format($klasflae,0,",",".")." m²";
@@ -708,4 +740,10 @@
."\n\t".$gesertragsmz." | "
."\n\t".$klasflaedis." | \n\t | \n";
+
+//} else { // Result ist leer
+// if ($debug > 1) {
+// echo "\nKeine BodenschÀtzung gefunden
";
+// if ($debug > 2) {echo "\nSQL=
".$sql."
$1 = gml_id = '".$gmlid."'
";}
+// }
}
Index: trunk/info/info/alkisn/alkisfkt.php
===================================================================
--- trunk/info/info/alkisn/alkisfkt.php (revision 393)
+++ trunk/info/info/alkisn/alkisfkt.php (revision 394)
@@ -12,4 +12,5 @@
2017-06-08 gestreifte Tabelle, Feinkorrekturen
2017-10-17 Deutsches Datumsformat fÃŒr Geburtsdatum der Person
+ 2017-11-03 neue function werteliste()
*/
@@ -521,3 +522,27 @@
} // End function eigentuemer
+function werteliste ($element, $bezeichnung ,$sqlin) {
+ // Eine oder mehrere EntschlÃŒsselungen aus "alkis_wertearten" in eine Zeile ausgeben.
+ // Dient dazu, SchlÌssel-ARRAYs auflösen ohne die Zeile mehrfach aufzulisten (JOIN)
+ // Anwendung: FS-Nachweis BodenschÀtzung "Klimastufe + WasserverhÀltnisse"
+ global $debug;
+ $sql="SELECT k, v FROM alkis_wertearten WHERE element = $1 AND bezeichnung = $2 AND k IN (".$sqlin.") ORDER BY k;";
+ $v = array($element, $bezeichnung);
+ $res = pg_prepare("", $sql);
+ $res = pg_execute("", $v);
+ if (!$res) {
+ echo "\nFehler bei Werteliste aus alkis_wertearten.
";
+ if ($debug > 2) {echo "\nSQL=
".htmlentities($sql, ENT_QUOTES, "UTF-8")."
$1 = '".$sqlin."'
";}
+ return;
+ }
+ $i=0;
+ while($row = pg_fetch_array($res)) {
+ echo " ".$row["v"];
+ $i++;
+ }
+ pg_free_result($res);
+ if ($i == 0 ) {echo "(kein Treffer)";}
+ return;
+}
+
?>
Index: trunk/umn/alkis_n/symbols.sym
===================================================================
--- trunk/umn/alkis_n/symbols.sym (revision 393)
+++ trunk/umn/alkis_n/symbols.sym (revision 394)
@@ -1,7 +1,10 @@
SYMBOLSET
# Symbole fuer ALKIS-Mapfile generiert aus aus Norbit-QGIS-Plugin
+# $ cat alkis_n_muster.map | grep norGIS_alkis | sort -u
# 2017-11-03 aktualisiert und sortiert
SYMBOL NAME "norGIS_alkis3010_1" TYPE SVG IMAGE "/opt/gdi/alkisn/svg/alkis3010_1.svg" END
+SYMBOL NAME "norGIS_alkis3011_1" TYPE SVG IMAGE "/opt/gdi/alkisn/svg/alkis3011_1.svg" END
SYMBOL NAME "norGIS_alkis3020_1" TYPE SVG IMAGE "/opt/gdi/alkisn/svg/alkis3020_1.svg" END
+SYMBOL NAME "norGIS_alkis3021_1" TYPE SVG IMAGE "/opt/gdi/alkisn/svg/alkis3021_1.svg" END
SYMBOL NAME "norGIS_alkis3022_1" TYPE SVG IMAGE "/opt/gdi/alkisn/svg/alkis3022_1.svg" END
SYMBOL NAME "norGIS_alkis3024_1" TYPE SVG IMAGE "/opt/gdi/alkisn/svg/alkis3024_1.svg" END
@@ -24,7 +27,9 @@
SYMBOL NAME "norGIS_alkis3324_1" TYPE SVG IMAGE "/opt/gdi/alkisn/svg/alkis3324_1.svg" END
SYMBOL NAME "norGIS_alkis3326_1" TYPE SVG IMAGE "/opt/gdi/alkisn/svg/alkis3326_1.svg" END
+SYMBOL NAME "norGIS_alkis3332_1" TYPE SVG IMAGE "/opt/gdi/alkisn/svg/alkis3332_1.svg" END
SYMBOL NAME "norGIS_alkis3334_1" TYPE SVG IMAGE "/opt/gdi/alkisn/svg/alkis3334_1.svg" END
SYMBOL NAME "norGIS_alkis3336_1" TYPE SVG IMAGE "/opt/gdi/alkisn/svg/alkis3336_1.svg" END
SYMBOL NAME "norGIS_alkis3338_1" TYPE SVG IMAGE "/opt/gdi/alkisn/svg/alkis3338_1.svg" END
+SYMBOL NAME "norGIS_alkis3340_1" TYPE SVG IMAGE "/opt/gdi/alkisn/svg/alkis3340_1.svg" END
SYMBOL NAME "norGIS_alkis3401_1" TYPE SVG IMAGE "/opt/gdi/alkisn/svg/alkis3401_1.svg" END
SYMBOL NAME "norGIS_alkis3407_1" TYPE SVG IMAGE "/opt/gdi/alkisn/svg/alkis3407_1.svg" END