[GRASS-SVN] r47238 -
grass/branches/releasebranch_6_4/vector/v.generalize
svn_grass at osgeo.org
svn_grass at osgeo.org
Mon Jul 25 12:35:01 EDT 2011
Author: neteler
Date: 2011-07-25 09:35:01 -0700 (Mon, 25 Jul 2011)
New Revision: 47238
Modified:
grass/branches/releasebranch_6_4/vector/v.generalize/description.html
grass/branches/releasebranch_6_4/vector/v.generalize/main.c
Log:
fix if parameter is required or not; NC examples added
Modified: grass/branches/releasebranch_6_4/vector/v.generalize/description.html
===================================================================
--- grass/branches/releasebranch_6_4/vector/v.generalize/description.html 2011-07-23 21:10:12 UTC (rev 47237)
+++ grass/branches/releasebranch_6_4/vector/v.generalize/description.html 2011-07-25 16:35:01 UTC (rev 47238)
@@ -81,24 +81,26 @@
<i>Douglas-Peucker</i> and <i>Douglas-Peucker Reduction Algorithm</i>
use the same method to simplify the lines. Note that
<div class="code"><pre>
-v.generalize input=in output=out method=douglas threshold=eps
+v.generalize input=boundary_county output=boundary_county_dp20 method=douglas threshold=20
</pre></div>
is equivalent to
<div class="code"><pre>
-v.generalize input=in output=out method=douglas_reduction threshold=eps reduction=100
+v.generalize input=boundary_county output=boundary_county_dp_red20_100 \
+ method=douglas_reduction threshold=20 reduction=100
</pre></div>
However, in this case, the first method is faster. Also observe that
<i>douglas_reduction</i> never outputs more vertices than <i>douglas</i>,
and that, in general, <i>douglas</i> is more efficient than
<i>douglas_reduction</i>. More importantly, the effect of
<div class="code"><pre>
-v.generalize input=in output=out method=douglas_reduction threshold=0 reduction=X
+v.generalize input=boundary_county output=boundary_county_dp_red0_30 \
+ method=douglas_reduction threshold=0 reduction=30
</pre></div>
-is that 'out' contains approximately only X% of points of 'in'.
+is that 'out' contains approximately only 30% of points of 'in'.
<h3>SMOOTHING</h3>
-The following smoothing algorithms are implemented in <em>v.generalize</em>
+The following smoothing algorithms are implemented in <em>v.generalize</em>:
<ul>
<li><i>Boyle's Forward-Looking Algorithm</i> - The position of each point
Modified: grass/branches/releasebranch_6_4/vector/v.generalize/main.c
===================================================================
--- grass/branches/releasebranch_6_4/vector/v.generalize/main.c 2011-07-23 21:10:12 UTC (rev 47237)
+++ grass/branches/releasebranch_6_4/vector/v.generalize/main.c 2011-07-25 16:35:01 UTC (rev 47238)
@@ -91,7 +91,6 @@
method_opt->multiple = NO;
method_opt->options =
"douglas,douglas_reduction,lang,reduction,reumann,boyle,sliding_averaging,distance_weighting,chaiken,hermite,snakes,network,displacement";
- method_opt->answer = "douglas";
method_opt->descriptions = _("douglas;Douglas-Peucker Algorithm;"
"douglas_reduction;Douglas-Peucker Algorithm with reduction parameter;"
"lang;Lang Simplification Algorithm;"
@@ -113,20 +112,19 @@
thresh_opt->type = TYPE_DOUBLE;
thresh_opt->required = YES;
thresh_opt->options = "0-1000000000";
- thresh_opt->answer = "1.0";
thresh_opt->description = _("Maximal tolerance value");
look_ahead_opt = G_define_option();
look_ahead_opt->key = "look_ahead";
look_ahead_opt->type = TYPE_INTEGER;
- look_ahead_opt->required = YES;
+ look_ahead_opt->required = NO;
look_ahead_opt->answer = "7";
look_ahead_opt->description = _("Look-ahead parameter");
reduction_opt = G_define_option();
reduction_opt->key = "reduction";
reduction_opt->type = TYPE_DOUBLE;
- reduction_opt->required = YES;
+ reduction_opt->required = NO;
reduction_opt->answer = "50";
reduction_opt->options = "0-100";
reduction_opt->description =
@@ -135,7 +133,7 @@
slide_opt = G_define_option();
slide_opt->key = "slide";
slide_opt->type = TYPE_DOUBLE;
- slide_opt->required = YES;
+ slide_opt->required = NO;
slide_opt->answer = "0.5";
slide_opt->options = "0-1";
slide_opt->description =
@@ -144,7 +142,7 @@
angle_thresh_opt = G_define_option();
angle_thresh_opt->key = "angle_thresh";
angle_thresh_opt->type = TYPE_DOUBLE;
- angle_thresh_opt->required = YES;
+ angle_thresh_opt->required = NO;
angle_thresh_opt->answer = "3";
angle_thresh_opt->options = "0-180";
angle_thresh_opt->description =
@@ -153,7 +151,7 @@
degree_thresh_opt = G_define_option();
degree_thresh_opt->key = "degree_thresh";
degree_thresh_opt->type = TYPE_INTEGER;
- degree_thresh_opt->required = YES;
+ degree_thresh_opt->required = NO;
degree_thresh_opt->answer = "0";
degree_thresh_opt->description =
_("Degree threshold in network generalization");
@@ -161,7 +159,7 @@
closeness_thresh_opt = G_define_option();
closeness_thresh_opt->key = "closeness_thresh";
closeness_thresh_opt->type = TYPE_DOUBLE;
- closeness_thresh_opt->required = YES;
+ closeness_thresh_opt->required = NO;
closeness_thresh_opt->answer = "0";
closeness_thresh_opt->options = "0-1";
closeness_thresh_opt->description =
@@ -170,7 +168,7 @@
betweeness_thresh_opt = G_define_option();
betweeness_thresh_opt->key = "betweeness_thresh";
betweeness_thresh_opt->type = TYPE_DOUBLE;
- betweeness_thresh_opt->required = YES;
+ betweeness_thresh_opt->required = NO;
betweeness_thresh_opt->answer = "0";
betweeness_thresh_opt->description =
_("Betweeness threshold in network generalization");
@@ -178,21 +176,21 @@
alpha_opt = G_define_option();
alpha_opt->key = "alpha";
alpha_opt->type = TYPE_DOUBLE;
- alpha_opt->required = YES;
+ alpha_opt->required = NO;
alpha_opt->answer = "1.0";
alpha_opt->description = _("Snakes alpha parameter");
beta_opt = G_define_option();
beta_opt->key = "beta";
beta_opt->type = TYPE_DOUBLE;
- beta_opt->required = YES;
+ beta_opt->required = NO;
beta_opt->answer = "1.0";
beta_opt->description = _("Snakes beta parameter");
iterations_opt = G_define_option();
iterations_opt->key = "iterations";
iterations_opt->type = TYPE_INTEGER;
- iterations_opt->required = YES;
+ iterations_opt->required = NO;
iterations_opt->answer = "1";
iterations_opt->description = _("Number of iterations");
More information about the grass-commit
mailing list