[GRASS-dev] doc 'upgrade' request for v.net.path

Eric,

Here’s something to add to the rapidly growing list. I was helping one of my students work with vector networking, something I don’t do a lot of. The shortest path module, v.net.path is actually pretty easy to work with. But the docs are so confusing that it took us quite awhile to figure out how to specify the start and end point. There seems to be a fair amount of extraneous stuff in the example that is not necessary to use the module–maybe because most of this help file dates from the early days of GRASS 5.7. It would be nice if someone who knows these modules well take a look at them. I’m also copying the student, Andrea, in order to give her your email because she is interested in helping develop documentation in Spanish and has colleagues who might be able to help.

Here is a wish for someone else on the list…

Deciphering the docs for v.net.path, I figured out that the only ways to specify start and end points (AFAICT, but I could be missing something) are 1) to pipe them into the command or 2) put them into a text file and open the text file with the command. Both seem overkill, since all you have to give the command is the following string:

“1 [startcat] [endcat]”

…where [startcat] = the cat number of the starting node and [endcat]= the cat number of the ending node. It is still unclear to me what the “1” is for since it doesn’t seem to apply to layer (i.e., the nodes in a network are normally in layer 2).

It would seem a lot easier to simply have a “startend=” option built into v.net.path that takes 2 cats separated by a comma.

Michael


Michael Barton, Professor of Anthropology
Director of Graduate Studies
School of Human Evolution & Social Change
Center for Social Dynamics & Complexity
Arizona State University

phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton

On 15/11/07 16:30, Michael Barton wrote:

Eric,

Here's something to add to the rapidly growing list. I was helping one of my students work with vector networking, something I don't do a lot of. The shortest path module, v.net.path is actually pretty easy to work with. But the docs are so confusing that it took us quite awhile to figure out how to specify the start and end point. There seems to be a fair amount of extraneous stuff in the example that is not necessary to use the module--maybe because most of this help file dates from the early days of GRASS 5.7. It would be nice if someone who knows these modules well take a look at them. I'm also copying the student, Andrea, in order to give her your email because she is interested in helping develop documentation in Spanish and has colleagues who might be able to help.

Here is a wish for someone else on the list...

Deciphering the docs for v.net.path, I figured out that the only ways to specify start and end points (AFAICT, but I could be missing something) are 1) to pipe them into the command or 2) put them into a text file and open the text file with the command. Both seem overkill, since all you have to give the command is the following string:

"1 [startcat] [endcat]"

...where [startcat] = the cat number of the starting node and [endcat]= the cat number of the ending node. It is still unclear to me what the "1" is for since it doesn't seem to apply to layer (i.e., the nodes in a network are normally in layer 2).

1 is the id you wish to give to the resulting line. v.net.path automatically creates a category number, but it also creates an id column which contains this number.

This is linked to the fact that you are not limited to two points, i.e. two paths, but you can feed as many start and end points as you want to v.net.path.

It would seem a lot easier to simply have a "startend=" option built into v.net.path that takes 2 cats separated by a comma.

This would then limit the use to one path, unless you actually allow entry of multiples of 3 in the form id,start,end,id,start,end,...

Moritz

On 11/16/07 5:48 AM, "Moritz Lennert" <mlennert@club.worldonline.be> wrote:

On 15/11/07 16:30, Michael Barton wrote:

Eric,

Here's something to add to the rapidly growing list. I was helping one
of my students work with vector networking, something I don't do a lot
of. The shortest path module, v.net.path is actually pretty easy to work
with. But the docs are so confusing that it took us quite awhile to
figure out how to specify the start and end point. There seems to be a
fair amount of extraneous stuff in the example that is not necessary to
use the module--maybe because most of this help file dates from the
early days of GRASS 5.7. It would be nice if someone who knows these
modules well take a look at them. I'm also copying the student, Andrea,
in order to give her your email because she is interested in helping
develop documentation in Spanish and has colleagues who might be able to
help.

Here is a wish for someone else on the list...

Deciphering the docs for v.net.path, I figured out that the only ways to
specify start and end points (AFAICT, but I could be missing something)
are 1) to pipe them into the command or 2) put them into a text file and
open the text file with the command. Both seem overkill, since all you
have to give the command is the following string:

"1 [startcat] [endcat]"

...where [startcat] = the cat number of the starting node and [endcat]=
the cat number of the ending node. It is still unclear to me what the
"1" is for since it doesn't seem to apply to layer (i.e., the nodes in a
network are normally in layer 2).

1 is the id you wish to give to the resulting line. v.net.path
automatically creates a category number, but it also creates an id
column which contains this number.

This is linked to the fact that you are not limited to two points, i.e.
two paths, but you can feed as many start and end points as you want to
v.net.path.

Thanks very much for the clarification. This is far from clear in the docs.
Are the entries for each path (cat,start,path) to be separated by spaces or
a return in the text file?

1 start end 2 start end 3 start end...

OR

1 start end
2 start end
3 start end
...

It would seem a lot easier to simply have a "startend=" option built
into v.net.path that takes 2 cats separated by a comma.

This would then limit the use to one path, unless you actually allow
entry of multiples of 3 in the form id,start,end,id,start,end,...

Multiple entries of 3 separated by a comma or semicolon in a module option
(e.g., "startend=1 start end,2 start end,3 start end,...") would be no more
difficult to type and easier for non-unix types to understand than piping
the same info to the command (i.e., 1 start end 2 start end | v.net.path...)

Michael

\
__________________________________________
Michael Barton, Professor of Anthropology
Director of Graduate Studies
School of Human Evolution & Social Change
Center for Social Dynamics & Complexity
Arizona State University

phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton

On 16/11/07 16:04, Michael Barton wrote:

On 11/16/07 5:48 AM, "Moritz Lennert" <mlennert@club.worldonline.be> wrote:

On 15/11/07 16:30, Michael Barton wrote:

It is still unclear to me what the
"1" is for since it doesn't seem to apply to layer (i.e., the nodes in a
network are normally in layer 2).

1 is the id you wish to give to the resulting line. v.net.path
automatically creates a category number, but it also creates an id
column which contains this number.

This is linked to the fact that you are not limited to two points, i.e.
two paths, but you can feed as many start and end points as you want to
v.net.path.

Thanks very much for the clarification. This is far from clear in the docs.
Are the entries for each path (cat,start,path) to be separated by spaces or
a return in the text file?
1 start end 2 start end 3 start end...

OR

1 start end
2 start end
3 start end

Try it :wink:
I think only the second works, but am not 100% sure.

...

It would seem a lot easier to simply have a "startend=" option built
into v.net.path that takes 2 cats separated by a comma.

This would then limit the use to one path, unless you actually allow
entry of multiples of 3 in the form id,start,end,id,start,end,...

Multiple entries of 3 separated by a comma or semicolon in a module option
(e.g., "startend=1 start end,2 start end,3 start end,...") would be no more
difficult to type and easier for non-unix types to understand than piping
the same info to the command (i.e., 1 start end 2 start end | v.net.path...)

Yes, obviously, it should be space, not comma separated. If you want a comma between every path, then you will probably have to modify v.net.path even more, although I'm not sure that it would be an enormous effort.

Moritz

Michael,

I'll add the request to the list of modules needing work - although I will forewarn you that I rarely have need to work with modules like the v.net* suite, so I'll have to spend some time figuring out how it works.

~ Eric.