From d13ec65114c049d8ae6982a38a42771a2dfde760 Mon Sep 17 00:00:00 2001 From: Martin Spott <Martin.Spott@mgras.net> Date: Sat, 24 Aug 2013 07:05:59 -0700 Subject: [PATCH] Test map availability --- gisscripts/grassVMap.sh | 44 ++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/gisscripts/grassVMap.sh b/gisscripts/grassVMap.sh index 7acf9e25..b5c3ff73 100755 --- a/gisscripts/grassVMap.sh +++ b/gisscripts/grassVMap.sh @@ -265,26 +265,30 @@ fn_overlay() { ${PREFIX}_lava \ ${PREFIX}_landmass; do - g.remove vect=${LAYER}_postsplit - v.split input=${LAYER}_dissolved output=${LAYER}_postsplit length=40 units=kilometers --verbose - v.out.ogr input=${LAYER}_postsplit type=area dsn=${DUMPDIR}/${LAYER}_post-split.shp - if [ ${COUNT} -eq 1 ]; then - g.remove vect=${CLEANMAP} - g.copy vect=${LAYER}_postsplit,${CLEANMAP} - else - g.remove vect=tmp - v.overlay ainput=${CLEANMAP} binput=${LAYER}_postsplit output=tmp operator=or snap=0.000001 - v.db.addcolumn map=tmp columns="newcat integer" --verbose - v.db.update map=tmp column=newcat value=b_cat where="a_cat IS NULL" --verbose - v.db.update map=tmp column=newcat value=a_cat where="b_cat IS NULL" --verbose - v.db.update map=tmp column=newcat value=a_cat where="newcat IS NULL" --verbose - v.db.update map=tmp column=newcat value=a_cat where="newcat=0" --verbose - g.remove vect=${CLEANMAP}_reclass - v.reclass input=tmp output=${CLEANMAP}_reclass column=newcat --verbose - g.remove vect=${CLEANMAP} - g.rename vect=${CLEANMAP}_reclass,${CLEANMAP} - fi - COUNT=`expr ${COUNT} + 1` + v.info map=${LAYER} > /dev/null + LAYERVALID=${?} + if [ ${LAYERVALID} -eq 0 ]; then + g.remove vect=${LAYER}_postsplit + v.split input=${LAYER}_dissolved output=${LAYER}_postsplit length=40 units=kilometers --verbose + v.out.ogr input=${LAYER}_postsplit type=area dsn=${DUMPDIR}/${LAYER}_post-split.shp + if [ ${COUNT} -eq 1 ]; then + g.remove vect=${CLEANMAP} + g.copy vect=${LAYER}_postsplit,${CLEANMAP} + else + g.remove vect=tmp + v.overlay ainput=${CLEANMAP} binput=${LAYER}_postsplit output=tmp operator=or snap=0.000001 + v.db.addcolumn map=tmp columns="newcat integer" --verbose + v.db.update map=tmp column=newcat value=b_cat where="a_cat IS NULL" --verbose + v.db.update map=tmp column=newcat value=a_cat where="b_cat IS NULL" --verbose + v.db.update map=tmp column=newcat value=a_cat where="newcat IS NULL" --verbose + v.db.update map=tmp column=newcat value=a_cat where="newcat=0" --verbose + g.remove vect=${CLEANMAP}_reclass + v.reclass input=tmp output=${CLEANMAP}_reclass column=newcat --verbose + g.remove vect=${CLEANMAP} + g.rename vect=${CLEANMAP}_reclass,${CLEANMAP} + fi + COUNT=`expr ${COUNT} + 1` + fi done }