Provided by: grass-doc_6.4.3-3_all bug

NAME

       v.net.visibility  - Visibility graph construction.

KEYWORDS

       vector, path, visibility

SYNOPSIS

       v.net.visibility
       v.net.visibility help
       v.net.visibility   input=name   output=name   [coordinate=x,y[,x,y,...]]    [vis=string]    [--overwrite]
       [--verbose]  [--quiet]

   Flags:
       --overwrite
           Allow output files to overwrite existing files

       --verbose
           Verbose module output

       --quiet
           Quiet module output

   Parameters:
       input=name
           Name of input vector map

       output=name
           Name for output vector map

       coordinate=x,y[,x,y,...]
           One or more coordinates

       vis=string
           Add points after computing the vis graph

DESCRIPTION

       v.net.visibility computes the visibility graph of a vector map containing lines, areas  (boundaries)  and
       points.  The  visibility graph is the graph where the nodes are the end point of the lines, boundaries or
       simply the points. There is an edge between two nodes if they are 'visible'. Two nodes are  visibible  if
       there  is no segments in between them, i.e. the edge doesn't intersect any line or boundary in the vector
       map. This is useful to compute the sortest path in a vector map from any two points. To  do  this,  first
       you  need  to  compute  the  visibility  graph  and from it compute the shortest path using v.net.path or
       d.path.  IMPORTANT: the algorithm doesn't work well with intersecting lines (that includes overlapping)

       If you compute a shortest path after computing the visibility graph you will notice that this path  might
       go  through  a  vertix  of  a line. If this is not wanted you might to run the map through v.buffer first
       whith a small value. Example:
       v.buffer input=map output=bufferedmap buffer=1 type=point,line,area,boundary

       The first argument is the input map. It  supports  lines,  boudaries  (so  areas)  and  points.  For  the
       algorithm to work lines and boundaries must not be intersecting (that includes overlapping).
       The result map containing the visibility graph is given in the output map.  If you need to add additional
       points to compute a shortest path between them afterwards you can use the coordinate parameter.
       coordinate=25556200,6686400,25556400,6686600
        where 25556200,6686400 are the coordinate of the first point and 25556400,6686600 are the coordinates of
       the second point. Of course you can give as many points as you want. They will be added to the visibility
       graph  and  edges  from  them  will  be  computed.  You  can  always add those points after computing the
       visibility graph. Simply use the vis parameter. The input will be the original vector map, the  vis  will
       be  the computed visibility graph and the output the new visibility graph which will be the vis + the new
       points given with coordinate (edges will be computed as well).
       v.net.visibility input=map vis=vis_map output=new_vis_map \
             coordinate=25556200,6686400,25556400,6686600

EXAMPLE 1

       A simple example showing how to use the module
       v.net.visibility input=lines output=graph
       d.vect graph
       d.vect lines col=red

EXAMPLE 2

       An example on how to use v.buffer with the module
       v.buffer input=lines output=buffered_lines buffer=1
       v.net.visibility input=buffered_lines output=graph
       d.vect graph
       d.vect lines col=red

EXAMPLE 3

       An example on how to use the coordinate parameter. This will compute the visibility graph of  the  vector
       map lines with the point 2555678,6686343
       v.net.visibility input=lines output=graph coordinate=2555678,6686343
       d.vect graph
       d.vect lines col=red

EXAMPLE 4

       An  example  on how to use the coordinate parameter with the vis parameter.  Here the vector map graph is
       computed then a new visibility graph is computed from it with the point 2555678,6686343 extra
       v.net.visibility input=lines output=graph
       d.vect graph
       d.vect lines col=red
       v.net.visibility input=lines vis=graph output=new_graph \
             coordinate=2555678,6686343
       d.erase
       d.vect new_graph
       d.vect lines col=red

EXAMPLE 5

       An example for connections of points (Spearfish):
       v.net.visibility input=archsites output=graph
       g.region vect=archsites
       d.mon x0
       d.vect graph
       d.vect archsites col=red

KNOWN BUGS

       In some cases when 3 points or nodes are collinear, some wrong edges are added. This happens only  really
       rarly  and  shouldn't be a big problem. When two points have the exact same x coordinate and are visible,
       some wrong edges are added.

SEE ALSO

       d.path, v.net, v.net.alloc, v.net.iso, v.net.salesman, v.net.steiner, v.to.db

AUTHOR

       Maximilian Maldacker
       Mentor: Wolf Bergenheim

       Last changed: $Date: 2013-05-23 13:01:55 -0700 (Thu, 23 May 2013) $

       Full index

       © 2003-2013 GRASS Development Team

GRASS 6.4.3                                                                             v.net.visibility(1grass)