Procházet zdrojové kódy

v.vect.stats: fixed error msgs; examples added

git-svn-id: https://svn.osgeo.org/grass/grass/branches/releasebranch_7_0@65535 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Neteler před 9 roky
rodič
revize
da2054ba88
2 změnil soubory, kde provedl 82 přidání a 13 odebrání
  1. 6 6
      vector/v.vect.stats/main.c
  2. 76 7
      vector/v.vect.stats/v.vect.stats.html

+ 6 - 6
vector/v.vect.stats/main.c

@@ -227,14 +227,14 @@ int main(int argc, char *argv[])
 	    G_fatal_error("Method but no point column selected");
 	}
 	if (!print_flag->answer && !stats_column_opt->answer)
-	    G_fatal_error("Name for stats column is missing");
+	    G_fatal_error("Name for stats_column is missing");
     }
 
     if (point_column_opt->answer) {
 	if (!method_opt->answer)
 	    G_fatal_error("No method for statistics selected");
 	if (!print_flag->answer && !stats_column_opt->answer)
-	    G_fatal_error("Name for stats column is missing");
+	    G_fatal_error("Name for stats_column is missing");
     }
     
     /* Open points vector */
@@ -301,7 +301,7 @@ int main(int argc, char *argv[])
 			  AFi->database, AFi->driver);
 
 	if (!count_column_opt->answer)
-	    G_fatal_error(_("ccolumn is required to upload point counts"));
+	    G_fatal_error(_("count_column is required to upload point counts"));
 
 	/* check if count column exists */
 	G_debug(1, "check if count column exists");
@@ -310,7 +310,7 @@ int main(int argc, char *argv[])
 	    /* check count column type */
 	    if (db_column_Ctype(Adriver, AFi->table, count_column_opt->answer)
 		!= DB_C_TYPE_INT)
-		G_fatal_error(_("ccolumn must be of type integer"));
+		G_fatal_error(_("count_column must be of type integer"));
 
 	    db_free_column(column);
 	    column = NULL;
@@ -329,7 +329,7 @@ int main(int argc, char *argv[])
 
 	if (method_opt->answer) {
 	    if (!stats_column_opt->answer)
-		G_fatal_error(_("scolumn is required to upload point stats"));
+		G_fatal_error(_("stats_column is required to upload point stats"));
 
 	    /* check if stats column exists */
 	    G_debug(1, "check if stats column exists");
@@ -340,7 +340,7 @@ int main(int argc, char *argv[])
 		if (db_column_Ctype
 		    (Adriver, AFi->table,
 		     stats_column_opt->answer) != DB_C_TYPE_DOUBLE)
-		    G_fatal_error(_("scolumn must be of type double"));
+		    G_fatal_error(_("stats_column must be of type double precision"));
 
 		db_free_column(column);
 		column = NULL;

+ 76 - 7
vector/v.vect.stats/v.vect.stats.html

@@ -6,8 +6,7 @@ Optionally statistics on point attributes in <em>points</em> are
 calculated for each area. The results are either uploaded to the
 attribute table of the vector map <em>areas</em> or printed to stdout.
 
-<h3>OPTIONS</h3>
-
+<p>
 <em>Statistical Methods:</em>
 Using numeric attribute values of all points falling into a given area,
 a new value is detmined with the selected method.
@@ -65,17 +64,87 @@ If no points are falling into a given area, the point count is set to 0
 existing. If they do already exist, the <em>count_column</em> must be of
 type integer and the <em>stats_column</em> of type double precision.
 
-<!-- TODO
+<h2>EXAMPLES</h2>
+
+<h3>Preparation for examples</h3>
+
+The subsequent examples are based on randomly sampled
+elevation data (North Carolina sample database):
+
+<div class="code"><pre>
+# work on map copy for attribute editing
+g.copy vector=zipcodes_wake,myzipcodes_wake
+
+# set computational region: extent of ZIP code map, raster pixels
+# aligned to raster map
+g.region vector=myzipcodes_wake align=elev_state_500m -p
+#  generate random elevation points
+r.random elev_state_500m vector=rand5000 n=5000
+v.colors rand5000 color=elevation
+
+# visualization
+d.mon wx0
+d.vect myzipcodes_wake -c
+d.vect rand5000
+</pre></div>
+
+These vector maps are used for the examples below.
+
+<h3>Count points per polygon with printed output</h3>
+
+<i>See above for the creation of the input maps.</i>
+<p>
+Counting points per polygon, print results to terminal:
+
+<div class="code"><pre>
+v.vect.stats points=rand5000 area=myzipcodes_wake -p
+</pre></div>
+
+<h3>Count points per polygon with column update</h3>
+
+<i>See above for the creation of the input maps.</i>
+<p>
+Counting of points per polygon, with update of "num_points" column
+(will be automatically created):
+
+<div class="code"><pre>
+v.vect.stats points=rand5000 area=myzipcodes_wake count_column=num_points
+# verify result
+v.db.select myzipcodes_wake column=ZIPCODE_,ZIPNAME,num_points
+</pre></div>
+
+<h3>Average values of points in polygon with printed output</h3>
+
+<i>See above for the creation of the input maps.</i>
+<p>
+Calculation of average point elevation per ZIP code
+polygon, printed to terminal in comma separated style:
+
+<div class="code"><pre>
+# check name of point map column:
+v.info -c rand5000
+v.vect.stats points=rand5000 area=myzipcodes_wake \
+  method=average points_column=value separator=comma -p
+</pre></div>
 
-<h2>EXAMPLE</h2>
+<h3>Average values of points in polygon with column update</h3>
 
-...
+<i>See above for the creation of the input maps.</i>
+<p>
+Calculation of average point elevation per ZIP code polygon,
+with update of "avg_elev" column and counting of points per polygon,
+with update of "num_points" column (new columns will be automatically
+created):
 
 <div class="code"><pre>
-...
+# check name of point map column:
+v.info -c rand5000
+v.vect.stats points=rand5000 area=myzipcodes_wake count_column=num_points \
+  method=average points_column=value stats_column=avg_elev
+# verify result
+v.db.select myzipcodes_wake column=ZIPCODE_,ZIPNAME,avg_elev
 </pre></div>
 
--->
 
 <h2>SEE ALSO</h2>