Ignore:
Timestamp:
04/25/12 11:58:26 (10 years ago)
Author:
frank.jaeger
Message:

delete/replace aus GDAL Patch #5444

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/data/konvert/postnas_0.7/konv_batch.sh

    r165 r178  
    2222##   2012-02-17 Optimierung 
    2323##   2012-02-28 Neuer Parameter 4 um Post-Prozessing zu unterdrücken 
     24##   2012-04-25 Durch GDAL Patch #5444 werden die Löschungen als Trigger auf Tabelle 'delete' verarbeitet 
     25## 
     26## ToDo: Option "-skipfailures" nach Test entfernen ? 
    2427## 
    2528## Konverter:   /opt/gdal-1.9.1/bin/ = GDAL 1.9-DEV / PostNAS 0.7 
     
    7174        fi 
    7275fi 
    73 layer="" 
    74 # leer = alle Layer 
    75 ## Fehlerprotokoll: 
    76 errprot='/data/konvert/postnas_0.7/log/postnas_err_'$DBNAME'.prot' 
     76# Fehlerprotokoll: 
     77  errprot='/data/konvert/postnas_0.7/log/postnas_err_'$DBNAME'.prot' 
    7778# 
    7879# DB-Connection 
    79 con="-p 5432 -d ${DBNAME} " 
    80 echo "Datenbank-Name . . = ${DBNAME}" 
    81 echo "Ordner NAS-Daten . = ${ORDNER}" 
    82 echo "Verarbeitungs-Modus= ${verarb}" 
    83 echo " " 
    84 cd ${ORDNER} 
    85 rm ../temp/*.gfs 
    86 echo "Dateien in " ${ORDNER} " (ls) :" 
    87 ls 
    88 # Alte delete-Eintraege (vorangegangener Abbruch?) loeschen, oder abarbeiten? 
    89 echo 'TRUNCATE table "delete";' | psql $con  
    90 for zipfile in *.zip ; do  
     80  con="-p 5432 -d ${DBNAME} " 
     81  echo "Datenbank-Name . . = ${DBNAME}" 
     82  echo "Ordner NAS-Daten . = ${ORDNER}" 
     83  echo "Verarbeitungs-Modus= ${verarb}" 
    9184  echo " " 
    92   echo "*********" 
    93   echo "* Archiv: " $zipfile 
    94   rm ../temp/*.xml 
    95   unzip ${zipfile}  -d ../temp 
    96   # Es sollte eigentlich immer geneu ein XML-File in jedem ZIP-File stecken, 
    97   # aber es geht auch anders. 
    98   for nasdatei in ../temp/*.xml ; do  
    99     echo "* Datei:  " $nasdatei 
    100     # Zwischenueberschrift im Fehlerprotokoll 
    101     echo "* Datei: " $nasdatei >> $errprot 
    102     if [ $UPD == "e" ] 
    103     then 
    104       # E R S T L A D E N 
    105       /opt/gdal-1.9.1/bin/ogr2ogr -f "PostgreSQL" -append  ${update}  -skipfailures \ 
    106          PG:"dbname=${DBNAME} host=localhost port=5432" \ 
    107          -a_srs EPSG:25832  ${nasdatei}  ${layer}  2>> $errprot 
    108       # Abbruch bei Fehler? 
     85# Alte delete-Eintraege in DB? 
     86  echo 'TRUNCATE table "delete";' | psql $con  
     87# 
     88# Ordner abarbeiten 
     89# 
     90  cd ${ORDNER} 
     91  rm ../temp/*.gfs 
     92  echo "Dateien in " ${ORDNER} " (ls) :" 
     93  ls 
     94  for zipfile in *.zip ; do  
     95    echo " " 
     96    rm ../temp/*.xml 
     97    echo "*********" 
     98   #echo "* Archiv: " $zipfile 
     99    unzip ${zipfile}  -d ../temp 
     100    # Es sollte nur ein XML-File in jedem ZIP-File stecken, aber es geht auch anders. 
     101    for nasdatei in ../temp/*.xml ; do  
     102      # echo "* Datei:  " $nasdatei 
     103      # Zwischenueberschrift im Fehlerprotokoll 
     104      echo "* Datei: " $nasdatei >> $errprot 
     105      # 
     106      # PostNAS Konverter-Aufruf 
     107      # 
     108      /opt/gdal-1.9.1/bin/ogr2ogr -f "PostgreSQL" -append  ${update} -skipfailures \ 
     109         PG:"dbname=${DBNAME} host=localhost port=5432" -a_srs EPSG:25832 ${nasdatei} 2>> $errprot 
    109110      nasresult=$? 
    110111      echo "* Resultat: " $nasresult " fuer " ${nasdatei} 
    111     else 
    112       # A K T U A L I S I E R U N G 
    113       echo "- 1. Nur delete-Layer auswerten"  
    114       /opt/gdal-1.9.1/bin/ogr2ogr -f "PostgreSQL" -append  ${update}  -skipfailures \ 
    115          PG:"dbname=${DBNAME} host=localhost port=5432" \ 
    116          -a_srs EPSG:25832  ${nasdatei}  delete  2>> $errprot 
    117       nasresult=$? 
    118       echo "* Resultat: " $nasresult " fuer delete aus " ${nasdatei} 
    119       # 
    120       # Durch die Funktion 'deleteFeature' in der Datenbank die delete-Objekte abarbeiten 
    121       echo "- 1a. delete-Layer abarbeiten:" 
    122       psql $con  < /data/konvert/postnas_0.7/delete.sql 
    123       # 
    124       echo "- 2. alle Layer auswerten" 
    125       /opt/gdal-1.9.1/bin/ogr2ogr -f "PostgreSQL" -append  ${update}  -skipfailures \ 
    126         PG:"dbname=${DBNAME} host=localhost port=5432" \ 
    127         -a_srs EPSG:25832  ${nasdatei}  ${layer}  2>> $errprot 
    128       nasresult=$? 
    129       echo "* Resultat: " $nasresult " fuer " ${nasdatei} 
    130       # 
    131       echo "- 2a. delete-Layer nochmals leoeschen:" 
    132       echo 'TRUNCATE table "delete";' | psql $con  
    133     fi 
    134   done 
    135   # Ende Zipfile 
    136   echo "*********" 
    137 done 
    138 rm ../temp/*.xml 
    139 echo " " 
    140 echo "** Ende Konvertierung Ordner ${ORDNER}" 
    141 ## 
    142 if [ $PP == "nopp" ] 
    143 then 
    144   echo "** KEIN Post-Processing - Dies Spaeter nachholen." 
    145   # Dies kann sinnvoll sein, wenn mehrere kleine Aktualisierungen hintereinander auf einem großen Bestand laufen 
    146   # Der Aufwand für das Post-Processing ist dann nur bei der LETZTEN Aktualisierung notwendig. 
    147 else 
    148   echo "** Post-Processing (Nacharbeiten zur Konvertierung)" 
    149   echo "** - Optimierte Nutzungsarten neu Laden:" 
    150   psql -p 5432 -d ${DBNAME} < /data/konvert/postnas_0.7/nutzungsart_laden.sql 
    151   ## 
    152   echo "** - Fluren / Gemarkungen / Gemeinden neu Laden:" 
    153   psql -p 5432 -d ${DBNAME} < /data/konvert/postnas_0.7/pp_laden.sql 
    154 fi 
     112    done # Ende Zipfile 
     113  done # Ende Ordner 
     114  rm ../temp/*.xml 
     115  echo " " 
     116  echo "** Ende Konvertierung Ordner ${ORDNER}" 
    155117# 
    156 echo "Das Fehler-Protokoll wurde ausgegeben in die Datei '$errprot' " 
    157 ## 
     118# Post-Processing / Nacharbeiten 
     119# 
     120  if [ $PP == "nopp" ] 
     121  then 
     122    echo "** KEIN Post-Processing - Dies Spaeter nachholen." 
     123    # Dies kann sinnvoll sein, wenn mehrere kleine Aktualisierungen hintereinander auf einem großen Bestand laufen 
     124    # Der Aufwand für das Post-Processing ist dann nur bei der LETZTEN Aktualisierung notwendig. 
     125  else 
     126    echo "** Post-Processing (Nacharbeiten zur Konvertierung)" 
     127    echo "** - Optimierte Nutzungsarten neu Laden:" 
     128    psql -p 5432 -d ${DBNAME} < /data/konvert/postnas_0.7/nutzungsart_laden.sql 
     129    ## 
     130    echo "** - Fluren / Gemarkungen / Gemeinden neu Laden:" 
     131    psql -p 5432 -d ${DBNAME} < /data/konvert/postnas_0.7/pp_laden.sql 
     132  fi 
     133# Durch Einfuegen in Tabelle 'delete' werden Loeschungen anderer Tabellen getriggert 
     134  echo "** delete-Tabelle enthält:" 
     135  echo 'SELECT COUNT(featureid) AS delete_zeilen FROM "delete";' | psql $con 
     136  echo "   delete-Tabelle loeschen:" 
     137  echo 'TRUNCATE table "delete";' | psql $con 
     138# 
     139# Wenn die Datenbank MIT Historie angelegt wurde, man diese aber gar nicht braucht, 
     140# dann hinterher aufräumen der historischen Objekte  
     141  echo "** geendete Objekte entfernen:" 
     142# Function : 
     143  echo 'SELECT alkis_delete_all_endet();' | psql $con 
     144# 
     145  echo "Das Fehler-Protokoll wurde ausgegeben in die Datei\n$errprot" 
     146# 
Note: See TracChangeset for help on using the changeset viewer.