Explorar o código

add shell script style flag

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@42904 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz %!s(int64=15) %!d(string=hai) anos
pai
achega
79df4f15b6
Modificáronse 1 ficheiros con 38 adicións e 16 borrados
  1. 38 16
      scripts/v.db.univar/v.db.univar.py

+ 38 - 16
scripts/v.db.univar/v.db.univar.py

@@ -24,6 +24,10 @@
 #%  key: e
 #%  description: Extended statistics (quartiles and 90th percentile)
 #%END
+#%flag
+#%  key: g
+#%  description: Print stats in shell script style
+#%END
 #%option
 #% key: table
 #% type: string
@@ -95,6 +99,7 @@ def main():
     tmp = grass.tempfile()
 
     extend = flags['e']
+    shellstyle = flags['g']
     table = options['table']
     column = options['column']
     database = options['database']
@@ -150,18 +155,29 @@ def main():
     if N <= 0:
         grass.fatal(_("No non-null values found"))
 
-    print ""
-    print "Number of values:", N
-    print "Minimum:", minv
-    print "Maximum:", maxv
-    print "Range:", maxv - minv
-    print "-----"
-    print "Mean:", sum/N
-    print "Arithmetic mean of absolute values:", sum3/N
-    print "Variance:", (sum2 - sum*sum/N)/N
-    print "Standard deviation:", math.sqrt((sum2 - sum*sum/N)/N)
-    print "Coefficient of variation:", (math.sqrt((sum2 - sum*sum/N)/N))/(math.sqrt(sum*sum)/N)
-    print "-----"
+    if not shellstyle:
+        print ""
+        print "Number of values:", N
+        print "Minimum:", minv
+        print "Maximum:", maxv
+        print "Range:", maxv - minv
+        print "-----"
+        print "Mean:", sum/N
+        print "Arithmetic mean of absolute values:", sum3/N
+        print "Variance:", (sum2 - sum*sum/N)/N
+        print "Standard deviation:", math.sqrt((sum2 - sum*sum/N)/N)
+        print "Coefficient of variation:", (math.sqrt((sum2 - sum*sum/N)/N))/(math.sqrt(sum*sum)/N)
+        print "-----"
+    else:
+        print "n=%d" % N
+        print "min=%f" % minv
+        print "max=%f" % maxv
+        print "range=%f" % (maxv - minv)
+        print "mean=%f" % (sum/N)
+        print "mean_abs=%f" % (sum3/N)
+        print "variance=%f" % ((sum2 - sum*sum/N)/N)
+        print "stddev=%f" % (math.sqrt((sum2 - sum*sum/N)/N))
+        print "coeff_var=%f" % ((math.sqrt((sum2 - sum*sum/N)/N))/(math.sqrt(sum*sum)/N))
 
     if not extend:
         return
@@ -196,10 +212,16 @@ def main():
 
     q50 = (q50a + q50b) / 2
 
-    print "1st Quartile: %f" % q25
-    print "Median (%s N): %f" % (eostr, q50)
-    print "3rd Quartile: %f" % q75
-    print "90th Percentile: %f" % q90
+    if not shellstyle:
+        print "1st Quartile: %f" % q25
+        print "Median (%s N): %f" % (eostr, q50)
+        print "3rd Quartile: %f" % q75
+        print "90th Percentile: %f" % q90
+    else:
+        print "first_quartile=%f" % q25
+        print "median=%f" % q50
+        print "third_quartile=%f" % q75
+        print "percentile_90==%f" % q90
 
 if __name__ == "__main__":
     options, flags = grass.parser()