Changeset 178 for trunk/data/konvert/postnas_0.7/konv_batch.sh
- Timestamp:
- 04/25/12 11:58:26 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/data/konvert/postnas_0.7/konv_batch.sh
r165 r178 22 22 ## 2012-02-17 Optimierung 23 23 ## 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 ? 24 27 ## 25 28 ## Konverter: /opt/gdal-1.9.1/bin/ = GDAL 1.9-DEV / PostNAS 0.7 … … 71 74 fi 72 75 fi 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' 77 78 # 78 79 # 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}" 91 84 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 109 110 nasresult=$? 110 111 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}" 155 117 # 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.