[GRASS-SVN] r68002 - grass/trunk/vector/v.net.steiner
svn_grass at osgeo.org
svn_grass at osgeo.org
Sat Mar 5 00:41:13 PST 2016
Author: marisn
Date: 2016-03-05 00:41:13 -0800 (Sat, 05 Mar 2016)
New Revision: 68002
Modified:
grass/trunk/vector/v.net.steiner/main.c
Log:
v.net.steiner: make less verbose and more translator friendly
Modified: grass/trunk/vector/v.net.steiner/main.c
===================================================================
--- grass/trunk/vector/v.net.steiner/main.c 2016-03-04 23:36:28 UTC (rev 68001)
+++ grass/trunk/vector/v.net.steiner/main.c 2016-03-05 08:41:13 UTC (rev 68002)
@@ -55,14 +55,14 @@
int to, ret, row, col;
double cost;
- G_message(_("Init costs from node %d"), from);
+ G_verbose_message(_("Init costs from node %d"), from);
for (to = 1; to <= nnodes; to++) {
if (from == to)
continue;
ret = Vect_net_shortest_path(Map, from, to, NULL, &cost);
if (ret == -1) {
- /* G_warning ( "Destination node %d is unreachable from node %d\n", to, from); */
+ G_debug(1, "Destination node %d is unreachable from node %d\n", to, from);
cost = -2;
}
@@ -338,7 +338,7 @@
struct cat_list *Clist;
struct line_cats *Cats;
struct line_pnts *Points;
-
+
/* Initialize the GIS calls */
G_gisinit(argv[0]);
@@ -441,23 +441,26 @@
continue;
Vect_read_line(&Map, Points, Cats, i);
+ if (!(Vect_cat_get(Cats, tfield, &cat)))
+ continue;
node = Vect_find_node(&Map, Points->x[0], Points->y[0], Points->z[0], 0, 0);
if (!node) {
- G_warning(_("Point is not connected to the network"));
+ G_warning(_("Point is not connected to the network (cat=%d)"), cat);
continue;
}
- if (!(Vect_cat_get(Cats, tfield, &cat)))
- continue;
if (Vect_cat_in_cat_list(cat, Clist)) {
Vect_list_append(TList, node);
}
}
nterms = TList->n_values;
- fprintf(stdout, "Number of terminals: %d\n", nterms);
+ /* GTC Terminal refers to an Steiner tree endpoint */
+ G_message(_("Number of terminals: %d\n"), nterms);
- if (nterms < 2)
- G_fatal_error(_("Not enough terminals (< 2)"));
+ if (nterms < 2) {
+ /* GTC Terminal refers to an Steiner tree endpoint */
+ G_fatal_error(_("Not enough terminals (< 2)"));
+ }
/* Number of steiner points */
nsp = atoi(nsp_opt->answer);
@@ -469,7 +472,7 @@
nsp = nterms - 2;
}
- fprintf(stdout, "Number of Steiner points set to %d\n", nsp);
+ G_message(_("Number of Steiner points set to %d\n"), nsp);
testnode = (int *)G_malloc((nnodes + 1) * sizeof(int));
for (i = 1; i <= nnodes; i++)
@@ -515,6 +518,7 @@
for (i = 1; i < nterms; i++) {
ret = get_node_costs(terms[0], terms[i], &cost);
if (ret == 0) {
+ /* GTC Terminal refers to an Steiner tree endpoint */
G_fatal_error(_("Terminal at node [%d] cannot be connected "
"to terminal at node [%d]"), terms[0], terms[i]);
}
@@ -526,7 +530,7 @@
ret = get_node_costs(terms[0], i, &cost);
if (ret == 0) {
testnode[i] = 0;
- /* fprintf (stderr, "node %d removed from list of Steiner point candidates\n", i ); */
+ G_debug(2, "node %d removed from list of Steiner point candidates\n", i );
j++;
}
}
@@ -542,7 +546,7 @@
nspused = 0;
for (j = 0; j < nsp; j++) {
sp = 0;
- G_message(_("Search for [%d]. Steiner point"), j + 1);
+ G_verbose_message(_("Search for [%d]. Steiner point"), j + 1);
for (i = 1; i <= nnodes; i++) {
G_percent(i, nnodes, 1);
@@ -580,8 +584,8 @@
}
}
- fprintf(stdout, "\nNumber of added Steiner points: %d "
- "(theoretic max is %d).\n", nspused, nterms - 2);
+ G_message(_("Number of added Steiner points: %d "
+ "(theoretic max is %d).\n"), nspused, nterms - 2);
/* Build lists of arcs and nodes for final version */
ret =
@@ -591,12 +595,12 @@
/* Calculate true costs, which may be lower than MST if steiner points were not used */
if (nsp < nterms - 2) {
- fprintf(stdout, "\nSpanning tree costs on complet graph = %f\n"
- "(may be higher than resulting Steiner tree costs!!!)\n",
+ G_message(_("Spanning tree costs on complet graph = %f\n"
+ "(may be higher than resulting Steiner tree costs!!!)"),
cost);
}
else
- fprintf(stdout, "\nSteiner tree costs = %f\n", cost);
+ G_message(_("Steiner tree costs = %f"), cost);
/* Write arcs to new map */
if (Vect_open_new(&Out, output->answer, Vect_is_3d(&Map)) < 0)
@@ -604,23 +608,19 @@
Vect_hist_command(&Out);
- fprintf(stdout, "\nSteiner tree:\n");
- fprintf(stdout, "Arcs' categories (layer %d, %d arcs):\n", afield,
+ G_debug(1, "Steiner tree:");
+ G_debug(1, "Arcs' categories (layer %d, %d arcs):", afield,
StArcs->n_values);
-
+
for (i = 0; i < StArcs->n_values; i++) {
line = StArcs->value[i];
ltype = Vect_read_line(&Map, Points, Cats, line);
Vect_write_line(&Out, ltype, Points, Cats);
Vect_cat_get(Cats, afield, &cat);
- if (i > 0)
- printf(",");
- fprintf(stdout, "%d", cat);
+ G_debug(1, "arc cat = %d", cat);
}
-
- fprintf(stdout, "\n\n");
-
- fprintf(stdout, "Nodes' categories (layer %d, %d nodes):\n", tfield,
+
+ G_debug(1, "Nodes' categories (layer %d, %d nodes):", tfield,
StNodes->n_values);
k = 0;
@@ -646,17 +646,17 @@
if (!(Vect_cat_get(Cats, tfield, &cat)))
continue;
Vect_write_line(&Out, ltype, Points, Cats);
- if (k > 0)
- fprintf(stdout, ",");
- fprintf(stdout, "%d", cat);
+ G_debug(1, "node cat = %d", cat);
k++;
}
}
- fprintf(stdout, "\n\n");
-
Vect_build(&Out);
+ G_message(n_("A Steiner tree with %d arc has been built",
+ "A Steiner tree with %d arcs has been built", StArcs->n_values),
+ StArcs->n_values);
+
/* Free, ... */
Vect_destroy_list(StArcs);
Vect_destroy_list(StNodes);
More information about the grass-commit
mailing list