Changeset 190 for trunk/data/konvert/postnas_0.7/konv_batch.sh
- Timestamp:
- 12/08/12 19:14:37 (11 years ago)
- Location:
- trunk/data/konvert/postnas_0.7
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/data/konvert/postnas_0.7
-
Property
svn:ignore
set to
alkis-trigger.sql
-
Property
svn:ignore
set to
-
trunk/data/konvert/postnas_0.7/konv_batch.sh
r183 r190 1 #!/bin/bash1 #!/bin/bash 2 2 ## ------------------------------------------------- 3 ## Konvertierung von ALKIS NAS-Format nach Pos GIS-3 ## Konvertierung von ALKIS NAS-Format nach PostGIS - 4 4 ## NAS-Daten in einem Ordner konvertieren - 5 5 ## Batch-Teil, Aufruf mit geprueften Parametern - … … 13 13 ## /temp/ 14 14 ## Auf der gleichen Ebene wie die Datenordner muss ein Ordner /temp/ existieren. 15 ## Dort werden die NAS-Daten tempor är ausgepackt.15 ## Dort werden die NAS-Daten temporaer ausgepackt. 16 16 ## Relativ zum mitgegebenen Parameter ist das: '../temp/' 17 17 ## Parallel laufende Konvertierungen zum gleichen Mandanten 18 ## w ürden hier durcheinander geraten. Vermeiden!18 ## wuerden hier durcheinander geraten. Vermeiden! 19 19 ## 20 20 ## Stand: 21 21 ## 2012-02-10 Umbennung nach 0.7 22 22 ## 2012-02-17 Optimierung 23 ## 2012-02-28 Neuer Parameter 4 um Post-Prozessing zu unterdr ücken24 ## 2012-04-25 Durch GDAL Patch #5444 werden die L öschungen als Trigger auf Tabelle 'delete' verarbeitet23 ## 2012-02-28 Neuer Parameter 4 um Post-Prozessing zu unterdruecken 24 ## 2012-04-25 Durch GDAL Patch #5444 werden die Loeschungen als Trigger auf Tabelle 'delete' verarbeitet 25 25 ## 2012-05-18 Umzug neue GDI, GDAL-Trunk unter Pfad 26 ## 2012-10-30 Umgebungsvariable setzen, delete-Tabelle am Ende für Analyse gefüllt lassen. 26 ## 2012-06-04 SQL-Skripte in deren Verzeichnis ausfuehren (Voraussetzung fuer \i Includes) 27 ## 2012-10-30 Umgebungsvariable setzen, delete-Tabelle am Ende fuer Analyse gefuellt lassen. 27 28 ## Test als 0.7a mit gepatchter gdal-Version (noch 2.0dev) 28 29 ## 29 ## Konverter: /opt/gdal-2.0/bin/ = GDAL 2.0-DEV / PostNAS 0.7 30 ## ToDo: Option "-skipfailures" nach Test entfernen ? 31 ## 30 32 ## Koordinaten: EPSG:25832 UTM, Zone 32 31 33 ## -a_srs EPSG:25832 - bleibt im UTM-System (korrigierte Werte) 32 34 ## 35 36 POSTNAS_HOME=$(dirname $0) 37 38 # Konverterpfad 39 PATH=/opt/gdal-2.0/bin:$PATH 40 EPSG=25832 41 42 33 43 echo "**************************************************" 34 44 echo "** K o n v e r t i e r u n g PostNAS 0.7a **" … … 76 86 fi 77 87 # Fehlerprotokoll: 78 errprot=' /data/konvert/postnas_0.7a/log/postnas_err_'$DBNAME'.prot'88 errprot='$POSTNAS_HOME/log/postnas_err_'$DBNAME'.prot' 79 89 # 80 90 # DB-Connection … … 109 119 export GML_FIELDTYPES=ALWAYS_STRINGS # PostNAS behandelt Zahlen wie Strings, PostgreSQL-Treiber macht daraus Zahlen 110 120 export OGR_SETFIELD_NUMERIC_WARNING=YES # Meldung abgeschnittene Zahlen? 111 #export CPL_DEBUG=ON # Meldung, wenn Attribute überschrieben werden121 #export CPL_DEBUG=ON # Meldung, wenn Attribute ueberschrieben werden 112 122 # 113 123 # PostNAS Konverter-Aufruf … … 115 125 # -skipfailures # 116 126 # -overwrite # 117 /opt/gdal-2.0/bin/ogr2ogr -f "PostgreSQL" -append ${update} -skipfailures\118 PG:"dbname=${DBNAME} host=localhost port=5432" -a_srs EPSG: 25832${nasdatei} 2>> $errprot127 ogr2ogr -f "PostgreSQL" -append ${update} -skipfailures \ 128 PG:"dbname=${DBNAME} host=localhost port=5432" -a_srs EPSG:$EPSG ${nasdatei} 2>> $errprot 119 129 nasresult=$? 120 echo "* Resultat: " $nasresult " fuer " ${nasdatei} 121 echo "* Resultat: " $nasresult " fuer " ${nasdatei} >> $errprot 130 echo "* Resultat: " $nasresult " fuer " ${nasdatei} | tee -a $errprot 122 131 done # Ende Zipfile 123 132 done # Ende Ordner … … 130 139 if [ $PP == "nopp" ] 131 140 then 132 echo "** KEIN Post-Processing - Dies Spaeter nachholen."133 # Dies kann sinnvoll sein, wenn mehrere kleine Aktualisierungen hintereinander auf einem gro ßen Bestand laufen134 # Der Aufwand f ür das Post-Processing ist dann nur bei der LETZTEN Aktualisierung notwendig.141 echo "** KEIN Post-Processing - Dies spaeter nachholen." 142 # Dies kann sinnvoll sein, wenn mehrere kleine Aktualisierungen hintereinander auf einem grossen Bestand laufen 143 # Der Aufwand fuer das Post-Processing ist dann nur bei der LETZTEN Aktualisierung notwendig. 135 144 else 136 145 echo "** Post-Processing (Nacharbeiten zur Konvertierung)" 137 146 echo "** - Optimierte Nutzungsarten neu Laden:" 138 psql -p 5432 -d ${DBNAME} < /data/konvert/postnas_0.7a/nutzungsart_laden.sql147 (cd $POSTNAS_HOME; psql -p 5432 -d ${DBNAME} -f nutzungsart_laden.sql) 139 148 ## 140 149 echo "** - Fluren / Gemarkungen / Gemeinden neu Laden:" 141 psql -p 5432 -d ${DBNAME} < /data/konvert/postnas_0.7a/pp_laden.sql150 (cd $POSTNAS_HOME; psql -p 5432 -d ${DBNAME} -f pp_laden.sql) 142 151 fi 152 153 if [ "$(readlink $POSTNAS_HOME/alkis-trigger.sql)" = "alkis-trigger-kill.sql" ]; then 143 154 # Durch Einfuegen in Tabelle 'delete' werden Loeschungen anderer Tabellen getriggert 144 echo "** delete-Tabelle enthält:"145 echo 'SELECT COUNT(featureid) AS delete_zeilen FROM "delete";' | psql $con146 #echo " delete-Tabelle loeschen:"147 #echo 'TRUNCATE table "delete";' | psql $con155 echo "** delete-Tabelle enthaelt:" 156 echo 'SELECT COUNT(featureid) AS delete_zeilen FROM "delete";' | psql $con 157 #echo " delete-Tabelle loeschen:" 158 #echo 'TRUNCATE table "delete";' | psql $con 148 159 # Fuer Analyse-Zwecke sollten die Delete-Eintraege erhalten bleiben bis zum naechsten Lauf. 149 160 # TRUNCATE erfolgt VOR der Konnvertierung. 150 161 # 151 162 # Wenn die Datenbank MIT Historie angelegt wurde, man diese aber gar nicht braucht, 152 # dann hinterher aufr äumen der historischen Objekte153 #echo "** geendete Objekte entfernen:"154 # Function 155 #echo 'SELECT alkis_delete_all_endet();' | psql $con156 #echo " ... geendete Objekte entfernen wurde fuer Test dektiviert."157 #echo " Bitte manuell ausfuehren: SELECT alkis_delete_all_endet(); "163 # dann hinterher aufraeumen der historischen Objekte 164 #echo "** geendete Objekte entfernen:" 165 # Function: 166 #echo 'SELECT alkis_delete_all_endet();' | psql $con 167 #echo " ... geendete Objekte entfernen wurde fuer Test dektiviert." 168 #echo " Bitte manuell ausfuehren: SELECT alkis_delete_all_endet(); " 158 169 # 159 echo "Das Fehler-Protokoll wurde ausgegeben in die Datei $errprot"160 #echo "HINWEIS: -skipfailures fuer Produktion wieder einschalten."161 # 170 echo "Das Fehler-Protokoll wurde ausgegeben in die Datei $errprot" 171 #echo "HINWEIS: -skipfailures fuer Produktion wieder einschalten." 172 fi
Note: See TracChangeset
for help on using the changeset viewer.