GLE-Postgis-Reichsbodenschätzung: Unterschied zwischen den Versionen

Aus kvwmap
Wechseln zu: Navigation, Suche
(Script für Postprocessing Bodenwertzahlen pro Flurstück)
 
(5 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 122: Zeile 122:
 
     so1.bezeichner as sonderfall_lang,
 
     so1.bezeichner as sonderfall_lang,
 
     CASE WHEN ka.kurz ~~ 'AGr%' OR ka.kurz ~~ 'GrA%' THEN 'ja' ELSE 'nein' END as wechselland,
 
     CASE WHEN ka.kurz ~~ 'AGr%' OR ka.kurz ~~ 'GrA%' THEN 'ja' ELSE 'nein' END as wechselland,
     ba.kurz||zs.kurz||CASE WHEN ea2.kurz is NULL THEN '' ELSE ea2.kurz END||CASE WHEN ea1.kurz is NULL THEN '' ELSE ea1.kurz END||' '||CASE WHEN bs.bodenzahlodergruenlandgrundzahl is NULL THEN '' ELSE (bs.bodenzahlodergruenlandgrundzahl||'/') END||bs.ackerzahlodergruenlandzahl as bodendefinition,
+
     ba.kurz||zs.kurz||CASE WHEN ea2.kurz is NULL THEN <nowiki>''</nowiki> ELSE ea2.kurz END||CASE WHEN ea1.kurz is NULL THEN <nowiki>''</nowiki> ELSE ea1.kurz END||' '||CASE WHEN bs.bodenzahlodergruenlandgrundzahl is NULL THEN <nowiki>''</nowiki> ELSE (bs.bodenzahlodergruenlandgrundzahl||'/') END||bs.ackerzahlodergruenlandzahl as bodendefinition,
 
     round(area(bs.wkb_geometry)) as flaeche,
 
     round(area(bs.wkb_geometry)) as flaeche,
 
     ST_Multi(bs.wkb_geometry) as geometrie
 
     ST_Multi(bs.wkb_geometry) as geometrie
Zeile 132: Zeile 132:
 
     LEFT JOIN alkis.ax_bodenschaetzung_entstehungsartoderklimastufe ea1 ON bs.entstehungsartoderklimastufewasserverhaeltnisse[1] = ea1.wert
 
     LEFT JOIN alkis.ax_bodenschaetzung_entstehungsartoderklimastufe ea1 ON bs.entstehungsartoderklimastufewasserverhaeltnisse[1] = ea1.wert
 
     LEFT JOIN alkis.ax_bodenschaetzung_entstehungsartoderklimastufe ea2 ON bs.entstehungsartoderklimastufewasserverhaeltnisse[2] = ea2.wert
 
     LEFT JOIN alkis.ax_bodenschaetzung_entstehungsartoderklimastufe ea2 ON bs.entstehungsartoderklimastufewasserverhaeltnisse[2] = ea2.wert
     LEFT JOIN alkis.ax_bodenschaetzung_sonstigeangaben so1 ON bs.sonstigeangaben[1] = so1.wert;
+
     LEFT JOIN alkis.ax_bodenschaetzung_sonstigeangaben so1 ON bs.sonstigeangaben[1] = so1.wert
 +
  WHERE bs.endet IS NULL;
 
   
 
   
 
  "  # Ende SQL
 
  "  # Ende SQL
Zeile 160: Zeile 161:
 
     fi
 
     fi
 
   
 
   
 +
   
 +
echo " " >> $LOGFILE 2>&1
 +
echo "############## Ende `date +%c` ################" >> $LOGFILE 2>&1
 +
echo " " >> $LOGFILE 2>&1
 +
 +
exit 0
 +
 +
 +
== Script für Postprocessing Bodenwertzahlen pro Flurstück ==
 +
 +
#!/bin/sh
 +
 +
###################################################################
 +
# Script lkvr_schaetzungsflaechen_flurstuecke.sh
 +
###################################################################
 +
 +
### setzt Variablen ###
 +
PSQLPATH=/usr/lib/postgresql/9.1/bin; export PSQLPATH
 +
PGUSERNAME=kvwmap; export PGUSERNAME
 +
PGDBNAME=kvwmapsp; export PGDBNAME
 +
SCHEMANAME=alkis; export SCHEMANAME
 +
TABLENAME=lkvr_schaetzungsflaechen_flurstueck; export TABLENAME
 +
LOGFILE=/home/gisadmin/scripte/logs/lkvr_schaetzungsflaechen_flurstueck.log; export LOGFILE
 +
 +
echo " " >> $LOGFILE 2>&1
 +
echo "############## Beginn `date +%c` ################" >> $LOGFILE 2>&1
 +
echo " " >> $LOGFILE 2>&1
 +
 +
$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
 +
 +
TRUNCATE TABLE $SCHEMANAME.$TABLENAME;
 +
 +
"  # Ende SQL
 +
 +
if test $? -eq 0
 +
    then
 +
      echo "  TRUNCATE lkvr_schaetzungsflaechen_flurstueck erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
    else
 +
      echo ">> TRUNCATE lkvr_schaetzungsflaechen_flurstueck konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
fi
 +
 +
$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
 +
 +
CREATE TABLE alkis.schaetzung_temp AS
 +
SELECT
 +
  s.kulturart_kurz,
 +
  s.ackerzahlodergruenlandzahl,
 +
  ST_Multi(ST_Intersection(s.geometrie,b.wkb_geometry)) AS wkb_geometry
 +
FROM
 +
  alkis.lkvr_schaetzungsflaechen s
 +
  JOIN alkis.ax_bewertung b ON ST_Intersects(s.geometrie,b.wkb_geometry)
 +
WHERE s.endet IS NULL AND b.endet IS NULL AND b.klassifizierung >= 2000 AND ST_Area(ST_Intersection(s.geometrie,b.wkb_geometry))>0;
 +
 +
CREATE INDEX ixschaetzung_temp_wkb_geometry_gist
 +
          ON alkis.schaetzung_temp
 +
          USING gist (wkb_geometry);
 +
 +
"  # Ende SQL
 +
 +
if test $? -eq 0
 +
    then
 +
      echo "  CREATE TABLE schaetzung_temp erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
    else
 +
      echo ">> CREATE TABLE schaetzung_temp konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
fi
 +
 +
$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
 +
 +
UPDATE
 +
  alkis.schaetzung_temp
 +
SET
 +
  wkb_geometry = ST_CollectionExtract(wkb_geometry,3)
 +
WHERE
 +
  ST_GeometryType(wkb_geometry) = 'ST_GeometryCollection';
 +
 +
"  # Ende SQL
 +
 +
if test $? -eq 0
 +
    then
 +
      echo "  UPDATE schaetzung_temp erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
    else
 +
      echo ">> UPDATE schaetzung_temp konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
fi
 +
 +
$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
 +
 +
CREATE TABLE alkis.schaetzung_flurstueck_temp AS
 +
SELECT
 +
  f.gml_id AS fsgml_id,
 +
  f.flurstueckskennzeichen,
 +
  st.kulturart_kurz,
 +
  st.ackerzahlodergruenlandzahl,
 +
  f.amtlicheflaeche/ST_Area(f.wkb_geometry) AS ratio,
 +
  ST_Multi(ST_Intersection(f.wkb_geometry,st.wkb_geometry)) AS wkb_geometry
 +
FROM
 +
  alkis.ax_flurstueck f
 +
  JOIN alkis.schaetzung_temp st
 +
  ON ST_Intersects(f.wkb_geometry,st.wkb_geometry)
 +
WHERE f.endet IS NULL AND ST_Area(ST_Intersection(f.wkb_geometry,st.wkb_geometry))>0;
 +
 +
CREATE INDEX ixschaetzung_flurstueck_temp_wkb_geometry_gist
 +
          ON alkis.schaetzung_flurstueck_temp
 +
          USING gist (wkb_geometry);
 +
 +
"  # Ende SQL
 +
 +
if test $? -eq 0
 +
    then
 +
      echo "  CREATE TABLE schaetzung_flurstueck_temp erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
    else
 +
      echo ">> CREATE TABLE schaetzung_flurstueck_temp konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
fi
 +
 +
$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
 +
 +
UPDATE
 +
  alkis.schaetzung_flurstueck_temp
 +
SET
 +
  wkb_geometry = ST_CollectionExtract(wkb_geometry,3)
 +
WHERE
 +
  ST_GeometryType(wkb_geometry) = 'ST_GeometryCollection';
 +
 +
"  # Ende SQL
 +
 +
if test $? -eq 0
 +
    then
 +
      echo "  UPDATE schaetzung_flurstueck_temp erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
    else
 +
      echo ">> UPDATE schaetzung_flurstueck_temp konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
fi
 +
 +
$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
 +
 +
DROP TABLE alkis.schaetzung_temp;
 +
 +
"  # Ende SQL
 +
 +
if test $? -eq 0
 +
    then
 +
      echo "  DROP schaetzung_temp erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
    else
 +
      echo ">> DROP schaetzung_temp konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
fi
 +
 +
$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
 +
 +
CREATE TABLE alkis.schaetzung_flurstueck_temp_gruenland AS
 +
SELECT
 +
  fsgml_id,
 +
  round(sum(ST_Area(wkb_geometry)*ratio)) AS flaeche_gesamt,
 +
  round(sum(((st_area(wkb_geometry)*ratio)/100)*ackerzahlodergruenlandzahl)) AS emz_gesamt,
 +
  round(sum(((st_area(wkb_geometry)*ratio)/100)*ackerzahlodergruenlandzahl)*100/sum(ST_Area(wkb_geometry)*ratio)) AS bwz_gesamt
 +
FROM alkis.schaetzung_flurstueck_temp
 +
WHERE kulturart_kurz = 'Gr'
 +
GROUP BY fsgml_id;
 +
 +
DELETE FROM alkis.schaetzung_flurstueck_temp_gruenland WHERE flaeche_gesamt=0;
 +
 +
"  # Ende SQL
 +
 +
if test $? -eq 0
 +
    then
 +
      echo "  CREATE TABLE/DELETE FROM schaetzung_flurstueck_temp_gruenland erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
    else
 +
      echo ">> CREATE TABLE/DELETE FROM schaetzung_flurstueck_temp_gruenland konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
fi
 +
 +
$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
 +
 +
CREATE TABLE alkis.schaetzung_flurstueck_temp_acker AS
 +
SELECT
 +
  fsgml_id,
 +
  round(sum(ST_Area(wkb_geometry)*ratio)) AS flaeche_gesamt,
 +
  round(sum(((st_area(wkb_geometry)*ratio)/100)*ackerzahlodergruenlandzahl)) AS emz_gesamt,
 +
  round(sum(((st_area(wkb_geometry)*ratio)/100)*ackerzahlodergruenlandzahl)*100/sum(ST_Area(wkb_geometry)*ratio)) AS bwz_gesamt
 +
FROM alkis.schaetzung_flurstueck_temp
 +
WHERE kulturart_kurz = 'A'
 +
GROUP BY fsgml_id;
 +
 +
DELETE FROM alkis.schaetzung_flurstueck_temp_acker WHERE flaeche_gesamt=0;
 +
 +
"  # Ende SQL
 +
 +
if test $? -eq 0
 +
    then
 +
      echo "  CREATE TABLE/DELETE FROM schaetzung_flurstueck_temp_acker erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
    else
 +
      echo ">> CREATE TABLE/DELETE FROM schaetzung_flurstueck_temp_acker konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
fi
 +
 +
$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
 +
 +
CREATE TABLE alkis.schaetzung_flurstueck_temp_ackergruenland AS
 +
SELECT
 +
  fsgml_id,
 +
  round(sum(ST_Area(wkb_geometry)*ratio)) AS flaeche_gesamt,
 +
  round(sum(((st_area(wkb_geometry)*ratio)/100)*ackerzahlodergruenlandzahl)) AS emz_gesamt,
 +
  round(sum(((st_area(wkb_geometry)*ratio)/100)*ackerzahlodergruenlandzahl)*100/sum(ST_Area(wkb_geometry)*ratio)) AS bwz_gesamt
 +
FROM alkis.schaetzung_flurstueck_temp
 +
WHERE kulturart_kurz = 'AGr'
 +
GROUP BY fsgml_id;
 +
 +
DELETE FROM alkis.schaetzung_flurstueck_temp_ackergruenland WHERE flaeche_gesamt=0;
 +
 +
"  # Ende SQL
 +
 +
if test $? -eq 0
 +
    then
 +
      echo "  CREATE TABLE/DELETE FROM schaetzung_flurstueck_temp_ackergruenland erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
    else
 +
      echo ">> CREATE TABLE/DELETE FROM schaetzung_flurstueck_temp_ackergruenland konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
fi
 +
 +
$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
 +
 +
CREATE TABLE alkis.schaetzung_flurstueck_temp_gruenlandacker AS
 +
SELECT
 +
  fsgml_id,
 +
  round(sum(ST_Area(wkb_geometry)*ratio)) AS flaeche_gesamt,
 +
  round(sum(((st_area(wkb_geometry)*ratio)/100)*ackerzahlodergruenlandzahl)) AS emz_gesamt,
 +
  round(sum(((st_area(wkb_geometry)*ratio)/100)*ackerzahlodergruenlandzahl)*100/sum(ST_Area(wkb_geometry)*ratio)) AS bwz_gesamt
 +
FROM alkis.schaetzung_flurstueck_temp
 +
WHERE kulturart_kurz = 'GrA'
 +
GROUP BY fsgml_id;
 +
 +
DELETE FROM alkis.schaetzung_flurstueck_temp_gruenlandacker WHERE flaeche_gesamt=0;
 +
 +
"  # Ende SQL
 +
 +
if test $? -eq 0
 +
    then
 +
      echo "  CREATE TABLE/DELETE FROM schaetzung_flurstueck_temp_gruenlandacker erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
    else
 +
      echo ">> CREATE TABLE/DELETE FROM schaetzung_flurstueck_temp_gruenlandacker konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
fi
 +
 +
$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
 +
 +
DROP TABLE alkis.schaetzung_flurstueck_temp;
 +
 +
"  # Ende SQL
 +
 +
if test $? -eq 0
 +
    then
 +
      echo "  DROP schaetzung_flurstueck_temp erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
    else
 +
      echo ">> DROP schaetzung_flurstueck_temp konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
fi
 +
 +
$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
 +
 +
CREATE TABLE alkis.schaetzung_flurstuecksliste_temp AS
 +
SELECT
 +
  DISTINCT f.gml_id,
 +
  f.flurstueckskennzeichen,
 +
  f.amtlicheflaeche
 +
FROM
 +
  alkis.ax_flurstueck f
 +
  JOIN alkis.ax_bewertung b
 +
  ON ST_Intersects(f.wkb_geometry,b.wkb_geometry)
 +
WHERE
 +
  f.endet IS NULL
 +
  AND b.endet IS NULL
 +
  AND b.klassifizierung >= 2000;
 +
 +
"  # Ende SQL
 +
 +
if test $? -eq 0
 +
    then
 +
      echo "  CREATE TABLE schaetzung_flurstuecksliste_temp erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
    else
 +
      echo ">> CREATE TABLE schaetzung_flurstuecksliste_temp konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
fi
 +
 +
$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
 +
 +
INSERT INTO $SCHEMANAME.$TABLENAME
 +
(SELECT
 +
  f.gml_id AS fsgml_id,
 +
  f.flurstueckskennzeichen,
 +
  a.flaeche_gesamt AS a_flaeche_gesamt,
 +
  a.emz_gesamt AS a_emz_gesamt,
 +
  a.bwz_gesamt AS a_bwz_gesamt,
 +
  gr.flaeche_gesamt AS gr_flaeche_gesamt,
 +
  gr.emz_gesamt AS gr_emz_gesamt,
 +
  gr.bwz_gesamt AS gr_bwz_gesamt,
 +
  agr.flaeche_gesamt AS agr_flaeche_gesamt,
 +
  agr.emz_gesamt AS agr_emz_gesamt,
 +
  agr.bwz_gesamt AS agr_bwz_gesamt,
 +
  gra.flaeche_gesamt AS gra_flaeche_gesamt,
 +
  gra.emz_gesamt AS gra_emz_gesamt,
 +
  gra.bwz_gesamt AS gra_bwz_gesamt,
 +
  f.amtlicheflaeche-(CASE WHEN a.flaeche_gesamt IS NULL THEN 0 ELSE a.flaeche_gesamt END)-(CASE WHEN gr.flaeche_gesamt IS NULL THEN 0 ELSE gr.flaeche_gesamt END)-(CASE WHEN agr.flaeche_gesamt IS NULL THEN 0 ELSE agr.flaeche_gesamt END)-(CASE WHEN gra.flaeche_gesamt IS NULL THEN 0 ELSE gra.flaeche_gesamt END) AS nicht_geschaetzt
 +
FROM alkis.schaetzung_flurstuecksliste_temp f
 +
FULL OUTER JOIN alkis.schaetzung_flurstueck_temp_acker a ON f.gml_id = a.fsgml_id
 +
FULL OUTER JOIN alkis.schaetzung_flurstueck_temp_gruenland gr ON f.gml_id = gr.fsgml_id
 +
FULL OUTER JOIN alkis.schaetzung_flurstueck_temp_ackergruenland agr ON f.gml_id = agr.fsgml_id
 +
FULL OUTER JOIN alkis.schaetzung_flurstueck_temp_gruenlandacker gra ON f.gml_id = gra.fsgml_id);
 +
 +
"  # Ende SQL
 +
 +
if test $? -eq 0
 +
    then
 +
      echo "  INSERT INTO lkvr_schaetzungsflaechen_flurstueck erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
    else
 +
      echo ">> INSERT INTO lkvr_schaetzungsflaechen_flurstueck konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
fi
 +
 +
$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
 +
 +
DELETE FROM $SCHEMANAME.$TABLENAME WHERE
 +
  a_flaeche_gesamt IS NULL
 +
  AND a_emz_gesamt IS NULL
 +
  AND a_bwz_gesamt IS NULL
 +
  AND gr_flaeche_gesamt IS NULL
 +
  AND gr_emz_gesamt IS NULL
 +
  AND gr_bwz_gesamt IS NULL
 +
  AND agr_flaeche_gesamt IS NULL
 +
  AND agr_emz_gesamt IS NULL
 +
  AND agr_bwz_gesamt IS NULL
 +
  AND gra_flaeche_gesamt IS NULL
 +
  AND gra_emz_gesamt IS NULL
 +
  AND gra_bwz_gesamt IS NULL;
 +
 +
"  # Ende SQL
 +
 +
if test $? -eq 0
 +
    then
 +
      echo "  DELETE FROM lkvr_schaetzungsflaechen_flurstueck erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
    else
 +
      echo ">> DELETE FROM lkvr_schaetzungsflaechen_flurstueck konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
fi
 +
 +
$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
 +
 +
DROP TABLE alkis.schaetzung_flurstueck_temp_acker;
 +
 +
DROP TABLE alkis.schaetzung_flurstueck_temp_ackergruenland;
 +
 +
DROP TABLE alkis.schaetzung_flurstueck_temp_gruenland;
 +
 +
DROP TABLE alkis.schaetzung_flurstueck_temp_gruenlandacker;
 +
 +
DROP TABLE alkis.schaetzung_flurstuecksliste_temp;
 +
 +
"  # Ende SQL
 +
 +
if test $? -eq 0
 +
    then
 +
      echo "  DROP temporärer Tabellen erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
    else
 +
      echo ">> DROP temporärer Tabellen konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
fi
 +
 +
if test $? -eq 0
 +
    then
 +
      echo "  Import Schaetzungsflaechen erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
    else
 +
      echo ">> Import Schaetzungsflaechen konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
fi
 +
 +
# Tabelle analysieren
 +
    $PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
 +
   
 +
        VACUUM ANALYZE $SCHEMANAME.$TABLENAME;
 +
       
 +
    "  # Ende SQL
 +
   
 +
    if test $? -eq 0
 +
      then
 +
        echo "  VACUUM erfolgreich durchgeführt" >> $LOGFILE 2>&1
 +
      else
 +
        echo ">> VACUUM konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
 +
    fi
 
      
 
      
 
  echo " " >> $LOGFILE 2>&1
 
  echo " " >> $LOGFILE 2>&1

Aktuelle Version vom 4. August 2015, 09:40 Uhr

Datenmodell Klassifizierte Bodenwertzahlen pro Schätzungsfläche

CREATE TABLE alkis.lkvr_schaetzungsflaechen
(
 id integer,
 beginnt character varying,
 endet character varying,
 kulturart_kurz character varying,
 kulturart_lang character varying,
 bodenart_kurz character varying,
 bodenart_lang character varying,
 zustandsstufe_kurz character varying,
 zustandsstufe_lang character varying,
 entstehungsart_kurz character varying,
 entstehungsart_lang character varying,
 klimastufe_kurz character varying,
 klimastufe_lang character varying,
 bodenzahlodergruenlandgrundzahl integer,
 ackerzahlodergruenlandzahl integer,
 sonderfall_kurz character varying,
 sonderfall_lang character varying,
 wechselland character varying,
 bodendefinition character varying,
 flaeche double precision
)
WITH (
 OIDS=TRUE
);
SELECT AddGeometryColumn('alkis', 'lkvr_schaetzungsflaechen','geometrie',25833,'MULTIPOLYGON', 2);
CREATE INDEX ixlkvrschaetz_geometrie_gist
 ON alkis.lkvr_schaetzungsflaechen
 USING gist
 (geometrie);

Datenmodell Klassifizierte Bodenwertzahlen pro Flurstück

CREATE TABLE alkis.lkvr_schaetzungsflaechen_flurstueck
(
  fsgml_id character varying(16),
  flurstueckskennzeichen character(20),
  a_flaeche_gesamt double precision,
  a_emz_gesamt double precision,
  a_bwz_gesamt double precision,
  gr_flaeche_gesamt double precision,
  gr_emz_gesamt double precision,
  gr_bwz_gesamt double precision,
  agr_flaeche_gesamt double precision,
  agr_emz_gesamt double precision,
  agr_bwz_gesamt double precision,
  gra_flaeche_gesamt double precision,
  gra_emz_gesamt double precision,
  gra_bwz_gesamt double precision,
  nicht_geschaetzt double precision
)
WITH (
  OIDS=FALSE
);
COMMENT ON TABLE alkis.lkvr_schaetzungsflaechen_flurstueck IS 'Gesetzl. Klassifizierung Bodenschaetzung (flurstuecksbezogen)';
COMMENT ON COLUMN alkis.lkvr_schaetzungsflaechen_flurstueck.fsgml_id IS 'gml_id des zugehoerigen Flurstueck-Objektes';
COMMENT ON COLUMN alkis.lkvr_schaetzungsflaechen_flurstueck.a_flaeche_gesamt IS 'Ackerland Flaeche gesamt';
COMMENT ON COLUMN alkis.lkvr_schaetzungsflaechen_flurstueck.a_emz_gesamt IS 'Ackerland Ertragsmesszahl gesamt';
COMMENT ON COLUMN alkis.lkvr_schaetzungsflaechen_flurstueck.a_bwz_gesamt IS 'Ackerland Bodenwertzahl gesamt';
COMMENT ON COLUMN alkis.lkvr_schaetzungsflaechen_flurstueck.gr_flaeche_gesamt IS 'Gruenland Flaeche gesamt';
COMMENT ON COLUMN alkis.lkvr_schaetzungsflaechen_flurstueck.gr_emz_gesamt IS 'Gruenland Ertragsmesszahl gesamt';
COMMENT ON COLUMN alkis.lkvr_schaetzungsflaechen_flurstueck.gr_bwz_gesamt IS 'Gruenland Bodenwertzahl gesamt';
COMMENT ON COLUMN alkis.lkvr_schaetzungsflaechen_flurstueck.agr_flaeche_gesamt IS 'Acker_Gruenland Flaeche gesamt';
COMMENT ON COLUMN alkis.lkvr_schaetzungsflaechen_flurstueck.agr_emz_gesamt IS 'Acker_Gruenland Ertragsmesszahl gesamt';
COMMENT ON COLUMN alkis.lkvr_schaetzungsflaechen_flurstueck.agr_bwz_gesamt IS 'Acker_Gruenland Bodenwertzahl gesamt';
COMMENT ON COLUMN alkis.lkvr_schaetzungsflaechen_flurstueck.gra_flaeche_gesamt IS 'Gruenland_Acker Flaeche gesamt';
COMMENT ON COLUMN alkis.lkvr_schaetzungsflaechen_flurstueck.gra_emz_gesamt IS 'Gruenland_Acker Ertragsmesszahl gesamt';
COMMENT ON COLUMN alkis.lkvr_schaetzungsflaechen_flurstueck.gra_bwz_gesamt IS 'Gruenland_Acker Bodenwertzahl gesamt';
COMMENT ON COLUMN alkis.lkvr_schaetzungsflaechen_flurstueck.nicht_geschaetzt IS 'nicht geschaetzte Flaeche';


Script für Postprocessing Bodenwertzahlen pro Schätzungsfläche

#!/bin/sh

###################################################################
# Script lkvr_schaetzungsflaechen.sh
###################################################################

### setzt Variablen ###
PSQLPATH=/usr/lib/postgresql/9.1/bin; export PSQLPATH
PGUSERNAME=kvwmap; export PGUSERNAME
PGDBNAME=kvwmapsp; export PGDBNAME
SCHEMANAME=alkis; export SCHEMANAME
TABLENAME=lkvr_schaetzungsflaechen; export TABLENAME
LOGFILE=/home/gisadmin/scripte/logs/lkvr_schaetzungsflaechen.log; export LOGFILE


echo " " >> $LOGFILE 2>&1
echo "############## Beginn `date +%c` ################" >> $LOGFILE 2>&1
echo " " >> $LOGFILE 2>&1

$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "


DROP INDEX $SCHEMANAME.ixlkvrschaetz_geometrie_gist;

TRUNCATE $SCHEMANAME.$TABLENAME;

INSERT INTO $SCHEMANAME.$TABLENAME 
 SELECT	
   bs.ogc_fid as id,
   bs.beginnt, 
   bs.endet, 
   ka.kurz as kulturart_kurz,
   ka.bezeichner as kulturart_lang,
   ba.kurz as bodenart_kurz,
   ba.bezeichner as bodenart_lang,
   zs.kurz as zustandsstufe_kurz,
   zs.bezeichner as zustandsstufe_lang,
   ea1.kurz as entstehungsart_kurz,
   ea1.bezeichner as entstehungsart_lang,
   ea2.kurz as klimastufe_kurz,
   ea2.bezeichner as klimastufe_lang,
   bs.bodenzahlodergruenlandgrundzahl, 
   bs.ackerzahlodergruenlandzahl,
   so1.kurz as sonderfall_kurz,
   so1.bezeichner as sonderfall_lang,
   CASE WHEN ka.kurz ~~ 'AGr%' OR ka.kurz ~~ 'GrA%' THEN 'ja' ELSE 'nein' END as wechselland,
   ba.kurz||zs.kurz||CASE WHEN ea2.kurz is NULL THEN '' ELSE ea2.kurz END||CASE WHEN ea1.kurz is NULL THEN '' ELSE ea1.kurz END||' '||CASE WHEN bs.bodenzahlodergruenlandgrundzahl is NULL THEN '' ELSE (bs.bodenzahlodergruenlandgrundzahl||'/') END||bs.ackerzahlodergruenlandzahl as bodendefinition,
   round(area(bs.wkb_geometry)) as flaeche,
   ST_Multi(bs.wkb_geometry) as geometrie
 FROM 
   alkis.ax_bodenschaetzung bs
   LEFT JOIN alkis.ax_bodenschaetzung_kulturart ka ON bs.kulturart = ka.wert
   LEFT JOIN alkis.ax_bodenschaetzung_bodenart ba ON bs.bodenart = ba.wert
   LEFT JOIN alkis.ax_bodenschaetzung_zustandsstufe zs ON bs.zustandsstufeoderbodenstufe = zs.wert
   LEFT JOIN alkis.ax_bodenschaetzung_entstehungsartoderklimastufe ea1 ON bs.entstehungsartoderklimastufewasserverhaeltnisse[1] = ea1.wert
   LEFT JOIN alkis.ax_bodenschaetzung_entstehungsartoderklimastufe ea2 ON bs.entstehungsartoderklimastufewasserverhaeltnisse[2] = ea2.wert
   LEFT JOIN alkis.ax_bodenschaetzung_sonstigeangaben so1 ON bs.sonstigeangaben[1] = so1.wert
 WHERE bs.endet IS NULL;

"  # Ende SQL

if test $? -eq 0
   then
     echo "   Import Schaetzungsflaechen erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> Import Schaetzungsflaechen konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

# Tabelle analysieren
    $PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
    
       VACUUM ANALYZE $SCHEMANAME.$TABLENAME;
        CREATE INDEX ixlkvrschaetz_geometrie_gist
         ON $SCHEMANAME.$TABLENAME
         USING gist (geometrie);

    "  # Ende SQL
   
    if test $? -eq 0
      then
        echo "   INDEX erfolgreich angelegt" >> $LOGFILE 2>&1
      else
        echo ">> INDEX konnte nicht angelegt werden" >> $LOGFILE 2>&1
    fi

   
echo " " >> $LOGFILE 2>&1
echo "############## Ende `date +%c` ################" >> $LOGFILE 2>&1
echo " " >> $LOGFILE 2>&1

exit 0


Script für Postprocessing Bodenwertzahlen pro Flurstück

#!/bin/sh

###################################################################
# Script lkvr_schaetzungsflaechen_flurstuecke.sh
###################################################################

### setzt Variablen ###
PSQLPATH=/usr/lib/postgresql/9.1/bin; export PSQLPATH
PGUSERNAME=kvwmap; export PGUSERNAME
PGDBNAME=kvwmapsp; export PGDBNAME
SCHEMANAME=alkis; export SCHEMANAME
TABLENAME=lkvr_schaetzungsflaechen_flurstueck; export TABLENAME
LOGFILE=/home/gisadmin/scripte/logs/lkvr_schaetzungsflaechen_flurstueck.log; export LOGFILE

echo " " >> $LOGFILE 2>&1
echo "############## Beginn `date +%c` ################" >> $LOGFILE 2>&1
echo " " >> $LOGFILE 2>&1

$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "

TRUNCATE TABLE $SCHEMANAME.$TABLENAME;

"  # Ende SQL

if test $? -eq 0
   then
     echo "   TRUNCATE lkvr_schaetzungsflaechen_flurstueck erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> TRUNCATE lkvr_schaetzungsflaechen_flurstueck konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "

CREATE TABLE alkis.schaetzung_temp AS
SELECT 
  s.kulturart_kurz,
  s.ackerzahlodergruenlandzahl,
  ST_Multi(ST_Intersection(s.geometrie,b.wkb_geometry)) AS wkb_geometry
FROM 
  alkis.lkvr_schaetzungsflaechen s
  JOIN alkis.ax_bewertung b ON ST_Intersects(s.geometrie,b.wkb_geometry)
WHERE s.endet IS NULL AND b.endet IS NULL AND b.klassifizierung >= 2000 AND ST_Area(ST_Intersection(s.geometrie,b.wkb_geometry))>0;

CREATE INDEX ixschaetzung_temp_wkb_geometry_gist
         ON alkis.schaetzung_temp
         USING gist (wkb_geometry);

"  # Ende SQL

if test $? -eq 0
   then
     echo "   CREATE TABLE schaetzung_temp erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> CREATE TABLE schaetzung_temp konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "

UPDATE 
  alkis.schaetzung_temp 
SET 
  wkb_geometry = ST_CollectionExtract(wkb_geometry,3)
WHERE 
  ST_GeometryType(wkb_geometry) = 'ST_GeometryCollection';

"  # Ende SQL

if test $? -eq 0
   then
     echo "   UPDATE schaetzung_temp erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> UPDATE schaetzung_temp konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "

CREATE TABLE alkis.schaetzung_flurstueck_temp AS
SELECT
  f.gml_id AS fsgml_id,
  f.flurstueckskennzeichen,
  st.kulturart_kurz,
  st.ackerzahlodergruenlandzahl,
  f.amtlicheflaeche/ST_Area(f.wkb_geometry) AS ratio,
  ST_Multi(ST_Intersection(f.wkb_geometry,st.wkb_geometry)) AS wkb_geometry
FROM
  alkis.ax_flurstueck f
  JOIN alkis.schaetzung_temp st
  ON ST_Intersects(f.wkb_geometry,st.wkb_geometry)
WHERE f.endet IS NULL AND ST_Area(ST_Intersection(f.wkb_geometry,st.wkb_geometry))>0;

CREATE INDEX ixschaetzung_flurstueck_temp_wkb_geometry_gist
         ON alkis.schaetzung_flurstueck_temp
         USING gist (wkb_geometry);

"  # Ende SQL

if test $? -eq 0
   then
     echo "   CREATE TABLE schaetzung_flurstueck_temp erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> CREATE TABLE schaetzung_flurstueck_temp konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "

UPDATE 
  alkis.schaetzung_flurstueck_temp 
SET 
  wkb_geometry = ST_CollectionExtract(wkb_geometry,3)
WHERE 
  ST_GeometryType(wkb_geometry) = 'ST_GeometryCollection';

"  # Ende SQL

if test $? -eq 0
   then
     echo "   UPDATE schaetzung_flurstueck_temp erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> UPDATE schaetzung_flurstueck_temp konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "

DROP TABLE alkis.schaetzung_temp;

"  # Ende SQL

if test $? -eq 0
   then
     echo "   DROP schaetzung_temp erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> DROP schaetzung_temp konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "

CREATE TABLE alkis.schaetzung_flurstueck_temp_gruenland AS
SELECT 
  fsgml_id, 
  round(sum(ST_Area(wkb_geometry)*ratio)) AS flaeche_gesamt,
  round(sum(((st_area(wkb_geometry)*ratio)/100)*ackerzahlodergruenlandzahl)) AS emz_gesamt,
  round(sum(((st_area(wkb_geometry)*ratio)/100)*ackerzahlodergruenlandzahl)*100/sum(ST_Area(wkb_geometry)*ratio)) AS bwz_gesamt
FROM alkis.schaetzung_flurstueck_temp
WHERE kulturart_kurz = 'Gr'
GROUP BY fsgml_id;

DELETE FROM alkis.schaetzung_flurstueck_temp_gruenland WHERE flaeche_gesamt=0;

"  # Ende SQL

if test $? -eq 0
   then
     echo "   CREATE TABLE/DELETE FROM schaetzung_flurstueck_temp_gruenland erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> CREATE TABLE/DELETE FROM schaetzung_flurstueck_temp_gruenland konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "

CREATE TABLE alkis.schaetzung_flurstueck_temp_acker AS
SELECT 
  fsgml_id, 
  round(sum(ST_Area(wkb_geometry)*ratio)) AS flaeche_gesamt,
  round(sum(((st_area(wkb_geometry)*ratio)/100)*ackerzahlodergruenlandzahl)) AS emz_gesamt,
  round(sum(((st_area(wkb_geometry)*ratio)/100)*ackerzahlodergruenlandzahl)*100/sum(ST_Area(wkb_geometry)*ratio)) AS bwz_gesamt
FROM alkis.schaetzung_flurstueck_temp
WHERE kulturart_kurz = 'A'
GROUP BY fsgml_id;

DELETE FROM alkis.schaetzung_flurstueck_temp_acker WHERE flaeche_gesamt=0;

"  # Ende SQL

if test $? -eq 0
   then
     echo "   CREATE TABLE/DELETE FROM schaetzung_flurstueck_temp_acker erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> CREATE TABLE/DELETE FROM schaetzung_flurstueck_temp_acker konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "

CREATE TABLE alkis.schaetzung_flurstueck_temp_ackergruenland AS
SELECT 
  fsgml_id, 
  round(sum(ST_Area(wkb_geometry)*ratio)) AS flaeche_gesamt,
  round(sum(((st_area(wkb_geometry)*ratio)/100)*ackerzahlodergruenlandzahl)) AS emz_gesamt,
  round(sum(((st_area(wkb_geometry)*ratio)/100)*ackerzahlodergruenlandzahl)*100/sum(ST_Area(wkb_geometry)*ratio)) AS bwz_gesamt
FROM alkis.schaetzung_flurstueck_temp
WHERE kulturart_kurz = 'AGr'
GROUP BY fsgml_id;

DELETE FROM alkis.schaetzung_flurstueck_temp_ackergruenland WHERE flaeche_gesamt=0;

"  # Ende SQL

if test $? -eq 0
   then
     echo "   CREATE TABLE/DELETE FROM schaetzung_flurstueck_temp_ackergruenland erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> CREATE TABLE/DELETE FROM schaetzung_flurstueck_temp_ackergruenland konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "

CREATE TABLE alkis.schaetzung_flurstueck_temp_gruenlandacker AS
SELECT 
  fsgml_id, 
  round(sum(ST_Area(wkb_geometry)*ratio)) AS flaeche_gesamt,
  round(sum(((st_area(wkb_geometry)*ratio)/100)*ackerzahlodergruenlandzahl)) AS emz_gesamt,
  round(sum(((st_area(wkb_geometry)*ratio)/100)*ackerzahlodergruenlandzahl)*100/sum(ST_Area(wkb_geometry)*ratio)) AS bwz_gesamt
FROM alkis.schaetzung_flurstueck_temp
WHERE kulturart_kurz = 'GrA'
GROUP BY fsgml_id;

DELETE FROM alkis.schaetzung_flurstueck_temp_gruenlandacker WHERE flaeche_gesamt=0;

"  # Ende SQL

if test $? -eq 0
   then
     echo "   CREATE TABLE/DELETE FROM schaetzung_flurstueck_temp_gruenlandacker erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> CREATE TABLE/DELETE FROM schaetzung_flurstueck_temp_gruenlandacker konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "

DROP TABLE alkis.schaetzung_flurstueck_temp;

"  # Ende SQL

if test $? -eq 0
   then
     echo "   DROP schaetzung_flurstueck_temp erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> DROP schaetzung_flurstueck_temp konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "

CREATE TABLE alkis.schaetzung_flurstuecksliste_temp AS
SELECT 
  DISTINCT f.gml_id, 
  f.flurstueckskennzeichen, 
  f.amtlicheflaeche
FROM 
  alkis.ax_flurstueck f 
  JOIN alkis.ax_bewertung b 
  ON ST_Intersects(f.wkb_geometry,b.wkb_geometry)
WHERE 
  f.endet IS NULL 
  AND b.endet IS NULL 
  AND b.klassifizierung >= 2000;

"  # Ende SQL

if test $? -eq 0
   then
     echo "   CREATE TABLE schaetzung_flurstuecksliste_temp erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> CREATE TABLE schaetzung_flurstuecksliste_temp konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "

INSERT INTO $SCHEMANAME.$TABLENAME
(SELECT
  f.gml_id AS fsgml_id,
  f.flurstueckskennzeichen,
  a.flaeche_gesamt AS a_flaeche_gesamt,
  a.emz_gesamt AS a_emz_gesamt,
  a.bwz_gesamt AS a_bwz_gesamt,
  gr.flaeche_gesamt AS gr_flaeche_gesamt,
  gr.emz_gesamt AS gr_emz_gesamt,
  gr.bwz_gesamt AS gr_bwz_gesamt,
  agr.flaeche_gesamt AS agr_flaeche_gesamt,
  agr.emz_gesamt AS agr_emz_gesamt,
  agr.bwz_gesamt AS agr_bwz_gesamt,
  gra.flaeche_gesamt AS gra_flaeche_gesamt,
  gra.emz_gesamt AS gra_emz_gesamt,
  gra.bwz_gesamt AS gra_bwz_gesamt,
  f.amtlicheflaeche-(CASE WHEN a.flaeche_gesamt IS NULL THEN 0 ELSE a.flaeche_gesamt END)-(CASE WHEN gr.flaeche_gesamt IS NULL THEN 0 ELSE gr.flaeche_gesamt END)-(CASE WHEN agr.flaeche_gesamt IS NULL THEN 0 ELSE agr.flaeche_gesamt END)-(CASE WHEN gra.flaeche_gesamt IS NULL THEN 0 ELSE gra.flaeche_gesamt END) AS nicht_geschaetzt
FROM alkis.schaetzung_flurstuecksliste_temp f
FULL OUTER JOIN alkis.schaetzung_flurstueck_temp_acker a ON f.gml_id = a.fsgml_id
FULL OUTER JOIN alkis.schaetzung_flurstueck_temp_gruenland gr ON f.gml_id = gr.fsgml_id
FULL OUTER JOIN alkis.schaetzung_flurstueck_temp_ackergruenland agr ON f.gml_id = agr.fsgml_id
FULL OUTER JOIN alkis.schaetzung_flurstueck_temp_gruenlandacker gra ON f.gml_id = gra.fsgml_id);

"  # Ende SQL

if test $? -eq 0
   then
     echo "   INSERT INTO lkvr_schaetzungsflaechen_flurstueck erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> INSERT INTO lkvr_schaetzungsflaechen_flurstueck konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "

DELETE FROM $SCHEMANAME.$TABLENAME WHERE
  a_flaeche_gesamt IS NULL
  AND a_emz_gesamt IS NULL
  AND a_bwz_gesamt IS NULL
  AND gr_flaeche_gesamt IS NULL
  AND gr_emz_gesamt IS NULL
  AND gr_bwz_gesamt IS NULL
  AND agr_flaeche_gesamt IS NULL
  AND agr_emz_gesamt IS NULL
  AND agr_bwz_gesamt IS NULL
  AND gra_flaeche_gesamt IS NULL
  AND gra_emz_gesamt IS NULL
  AND gra_bwz_gesamt IS NULL;

"  # Ende SQL

if test $? -eq 0
   then
     echo "   DELETE FROM lkvr_schaetzungsflaechen_flurstueck erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> DELETE FROM lkvr_schaetzungsflaechen_flurstueck konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

$PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "

DROP TABLE alkis.schaetzung_flurstueck_temp_acker;

DROP TABLE alkis.schaetzung_flurstueck_temp_ackergruenland;

DROP TABLE alkis.schaetzung_flurstueck_temp_gruenland;

DROP TABLE alkis.schaetzung_flurstueck_temp_gruenlandacker;

DROP TABLE alkis.schaetzung_flurstuecksliste_temp;

"  # Ende SQL

if test $? -eq 0
   then
     echo "   DROP temporärer Tabellen erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> DROP temporärer Tabellen konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

if test $? -eq 0
   then
     echo "   Import Schaetzungsflaechen erfolgreich durchgeführt" >> $LOGFILE 2>&1
   else
     echo ">> Import Schaetzungsflaechen konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
fi

# Tabelle analysieren
    $PSQLPATH/psql -U $PGUSERNAME -d $PGDBNAME -c "
    
       VACUUM ANALYZE $SCHEMANAME.$TABLENAME;
       
    "  # Ende SQL
    
    if test $? -eq 0
      then
        echo "   VACUUM erfolgreich durchgeführt" >> $LOGFILE 2>&1
      else
        echo ">> VACUUM konnte nicht durchgeführt werden" >> $LOGFILE 2>&1
    fi
   
echo " " >> $LOGFILE 2>&1
echo "############## Ende `date +%c` ################" >> $LOGFILE 2>&1
echo " " >> $LOGFILE 2>&1

exit 0