[GRASS-SVN] r63891 - in grass/branches/releasebranch_7_0: . vector/v.univar

svn_grass at osgeo.org svn_grass at osgeo.org
Thu Jan 1 04:07:47 PST 2015


Author: martinl
Date: 2015-01-01 04:07:46 -0800 (Thu, 01 Jan 2015)
New Revision: 63891

Modified:
   grass/branches/releasebranch_7_0/
   grass/branches/releasebranch_7_0/vector/v.univar/main.c
   grass/branches/releasebranch_7_0/vector/v.univar/v.univar.html
Log:
v.univar: check if column exists
          extend example in the manual
          (merge r63889-90 from trunk)



Property changes on: grass/branches/releasebranch_7_0
___________________________________________________________________
Modified: svn:mergeinfo
   - /grass/trunk:60817,61096,61141,61994,62105,62179-62180,62182,62190,62403,62422,62424,62437,62466,62469,62487,62491,62494,62501,62506,62508-62509,62515,62518-62519,62521,62526,62533,62539,62541,62555,62562,62566,62570,62573,62575,62585,62588,62597,62603,62606,62608-62609,62614,62618,62628,62632,62638,62642,62648-62649,62652,62654-62657,62666,62691,62705,62709,62723,62730,62739,62741,62743,62746,62750-62752,62757,62762,62785,62798,62800-62801,62803,62805,62812,62822,62824,62828,62831,62838,62845,62847,62850,62856,62879,62881,62886,62904,62907-62908,62910,62912,62914,62916,62918,62920,62925,62932-62933,62935,62940,62942,62944-62946,62949,62955-62956,62958,62960,62962,62964,62966-62968,62970,62973,62975,62977,62981,62983,62985,62987,62989,62991,62993,62995,62997,62999-63000,63003,63005,63007,63009,63011,63013,63015,63017,63020,63022,63024,63026,63028-63031,63033,63035,63037,63040,63043-63044,63047,63049,63051,63053,63055,63057,63060,63062-63064,63066,63068,63070-63071,63074,
 63076,63079,63081,63083,63085,63087,63089,63091,63093,63095,63098,63100,63102,63105,63107,63109,63111,63113-63114,63116,63119,63121,63123,63125,63130,63132-63133,63135,63137,63140,63143,63145,63147,63149,63151,63153-63154,63157,63160,63165,63170,63173,63175,63187,63192-63193,63196,63199-63200,63202,63209,63216,63220-63221,63224,63227,63240,63246,63250,63255,63259,63261,63275-63276,63279,63281,63283,63287,63290,63292,63297,63302,63304-63307,63315,63319,63327,63330,63332,63339,63342,63345,63361-63363,63367,63379,63389,63391,63393,63402,63408-63409,63416-63417,63425,63427,63429,63431,63433,63448,63451,63453,63457,63459,63464-63470,63473,63482,63497,63505,63508,63510,63515,63521-63524,63526,63536-63537,63551-63552,63554,63556,63558-63559,63562,63570,63576,63582,63589-63593,63602,63604,63608-63609,63616,63618,63624,63626,63628,63630,63634,63639,63642,63644,63650,63652,63656,63679,63685,63689,63691,63693,63695,63698,63700-63702,63704,63706-63707,63709,63711,63713,63715,63717-63718
 ,63721-63727,63731,63733,63740-63742,63744,63747-63749,63751-63752,63756,63758,63761,63767,63777,63780,63783,63787,63793,63796-63798,63801,63803,63807-63808,63812,63814,63816,63821,63823-63824,63827-63828,63830-63831,63834-63835,63837-63839,63841,63843-63844,63846-63847,63849,63851,63853,63855-63856,63858-63859,63862,63865,63869,63871,63882,63884
   + /grass/trunk:60817,61096,61141,61994,62105,62179-62180,62182,62190,62403,62422,62424,62437,62466,62469,62487,62491,62494,62501,62506,62508-62509,62515,62518-62519,62521,62526,62533,62539,62541,62555,62562,62566,62570,62573,62575,62585,62588,62597,62603,62606,62608-62609,62614,62618,62628,62632,62638,62642,62648-62649,62652,62654-62657,62666,62691,62705,62709,62723,62730,62739,62741,62743,62746,62750-62752,62757,62762,62785,62798,62800-62801,62803,62805,62812,62822,62824,62828,62831,62838,62845,62847,62850,62856,62879,62881,62886,62904,62907-62908,62910,62912,62914,62916,62918,62920,62925,62932-62933,62935,62940,62942,62944-62946,62949,62955-62956,62958,62960,62962,62964,62966-62968,62970,62973,62975,62977,62981,62983,62985,62987,62989,62991,62993,62995,62997,62999-63000,63003,63005,63007,63009,63011,63013,63015,63017,63020,63022,63024,63026,63028-63031,63033,63035,63037,63040,63043-63044,63047,63049,63051,63053,63055,63057,63060,63062-63064,63066,63068,63070-63071,63074,
 63076,63079,63081,63083,63085,63087,63089,63091,63093,63095,63098,63100,63102,63105,63107,63109,63111,63113-63114,63116,63119,63121,63123,63125,63130,63132-63133,63135,63137,63140,63143,63145,63147,63149,63151,63153-63154,63157,63160,63165,63170,63173,63175,63187,63192-63193,63196,63199-63200,63202,63209,63216,63220-63221,63224,63227,63240,63246,63250,63255,63259,63261,63275-63276,63279,63281,63283,63287,63290,63292,63297,63302,63304-63307,63315,63319,63327,63330,63332,63339,63342,63345,63361-63363,63367,63379,63389,63391,63393,63402,63408-63409,63416-63417,63425,63427,63429,63431,63433,63448,63451,63453,63457,63459,63464-63470,63473,63482,63497,63505,63508,63510,63515,63521-63524,63526,63536-63537,63551-63552,63554,63556,63558-63559,63562,63570,63576,63582,63589-63593,63602,63604,63608-63609,63616,63618,63624,63626,63628,63630,63634,63639,63642,63644,63650,63652,63656,63679,63685,63689,63691,63693,63695,63698,63700-63702,63704,63706-63707,63709,63711,63713,63715,63717-63718
 ,63721-63727,63731,63733,63740-63742,63744,63747-63749,63751-63752,63756,63758,63761,63767,63777,63780,63783,63787,63793,63796-63798,63801,63803,63807-63808,63812,63814,63816,63821,63823-63824,63827-63828,63830-63831,63834-63835,63837-63839,63841,63843-63844,63846-63847,63849,63851,63853,63855-63856,63858-63859,63862,63865,63869,63871,63882,63884,63889-63890

Modified: grass/branches/releasebranch_7_0/vector/v.univar/main.c
===================================================================
--- grass/branches/releasebranch_7_0/vector/v.univar/main.c	2015-01-01 12:05:46 UTC (rev 63890)
+++ grass/branches/releasebranch_7_0/vector/v.univar/main.c	2015-01-01 12:07:46 UTC (rev 63891)
@@ -95,7 +95,7 @@
     G_add_keyword(_("attribute table"));
     G_add_keyword(_("geometry"));
     module->label =
-	_("Calculates univariate statistics for attribute.");
+	_("Calculates univariate statistics of vector map features.");
     module->description = _("Variance and standard "
 			    "deviation is calculated only for points if specified.");
 
@@ -347,17 +347,19 @@
 		      Fi->database, Fi->driver);
     db_set_error_handler_driver(Driver);
 
+    /* check if column exists */
+    ctype = db_column_Ctype(Driver, Fi->table, col_opt->answer);
+    if (ctype == -1)
+        G_fatal_error(_("Column <%s> not found in table <%s>"),
+                      col_opt->answer, Fi->table);
+    if (ctype != DB_C_TYPE_INT && ctype != DB_C_TYPE_DOUBLE)
+	G_fatal_error(_("Only numeric column type is supported"));
+    
     /* Note do not check if the column exists in the table because it may be an expression */
     db_CatValArray_init(&Cvarr);
-    nrec =
-	db_select_CatValArray(Driver, Fi->table, Fi->key, col_opt->answer,
-			      where_opt->answer, &Cvarr);
+    nrec = db_select_CatValArray(Driver, Fi->table, Fi->key, col_opt->answer,
+                                 where_opt->answer, &Cvarr);
     G_debug(2, "db_select_CatValArray() nrec = %d", nrec);
-
-    ctype = Cvarr.ctype;
-    if (ctype != DB_C_TYPE_INT && ctype != DB_C_TYPE_DOUBLE)
-	G_fatal_error(_("Column type not supported"));
-
     if (nrec < 0)
 	G_fatal_error(_("Unable to select data from table"));
 

Modified: grass/branches/releasebranch_7_0/vector/v.univar/v.univar.html
===================================================================
--- grass/branches/releasebranch_7_0/vector/v.univar/v.univar.html	2015-01-01 12:05:46 UTC (rev 63890)
+++ grass/branches/releasebranch_7_0/vector/v.univar/v.univar.html	2015-01-01 12:07:46 UTC (rev 63891)
@@ -1,12 +1,12 @@
 <h2>DESCRIPTION</h2>
 
 <em>v.univar</em> calculates univariate statistics of vector map features.
-This includes the number of features counted, minimum and maximum values,
+This includes the number of features counted, minimum, maximum values,
 and range. 
 Variance and standard deviation is calculated only for points if
 <b>type=point</b> is defined.
 
-<p>Extended statistics adds median, 1st and 3rd quartiles, and 90th
+<p>Extended statistics (<b>-e</b>) adds median, 1st and 3rd quartiles, and 90th
 percentile to the output.
 
 <h2>NOTES</h2>
@@ -31,18 +31,84 @@
 v.db.addtable map=samples columns="heights double precision"
 v.what.rast map=samples rast=elevation column=heights
 v.db.select map=samples
+</pre></div>
 
-# calculate height attribute statistics:
+Calculate height attribute statistics:
+
+<div class="code"><pre>
 v.univar -e samples column=heights type=point
+    
+number of features with non NULL attribute: 100
+number of missing attributes: 0
+number of NULL attributes: 0
+minimum: 57.2799
+maximum: 148.903
+range: 91.6235
+sum: 10825.6
+mean: 108.256
+mean of absolute values: 108.256
+population standard deviation: 20.2572
+population variance: 410.356
+population coefficient of variation: 0.187123
+sample standard deviation: 20.3593
+sample variance: 414.501
+kurtosis: -0.856767
+skewness: 0.162093
+1st quartile: 90.531
+median (even number of cells): 106.518
+3rd quartile: 126.274
+90th percentile: 135.023
+</pre></div>
 
-# compare to statistics of original raster map:
+Compare to statistics of original raster map:
+
+<div class="code"><pre>
 r.univar -e elevation
 
-# calculate distance between sampling points statistics:
+total null and non-null cells: 2025000
+total null cells: 0
+
+Of the non-null cells:
+----------------------
+n: 2025000
+minimum: 55.5788
+maximum: 156.33
+range: 100.751
+mean: 110.375
+mean of absolute values: 110.375
+standard deviation: 20.3153
+variance: 412.712
+variation coefficient: 18.4057 %
+sum: 223510266.558102
+1st quartile: 94.79
+median (even number of cells): 108.88
+3rd quartile: 126.792
+90th percentile: 138.66
+</pre></div>
+
+Calculate distance between sampling points statistics:
+
+<div class="code"><pre>
 v.univar -d samples column=heights type=point
+
+number of primitives: 100
+number of non zero distances: 4851
+number of zero distances: 0
+minimum: 69.9038
+maximum: 18727.7
+range: 18657.8
+sum: 3.51907e+07
+mean: 7254.33
+mean of absolute values: 7254.33
+population standard deviation: 3468.53
+population variance: 1.20307e+07
+population coefficient of variation: 0.478132
+sample standard deviation: 3468.89
+sample variance: 1.20332e+07
+kurtosis: -0.605406
+skewness: 0.238688
 </pre></div>
 
-
 <h2>SEE ALSO</h2>
 
 <em>



More information about the grass-commit mailing list