GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [PHP Manual] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]

  [0-9] [Aa] [Bb] [Cc] [Dd] [Ee] [Ff] [Gg] [Hh] [Ii] [Jj] [Kk] [Ll] [Mm] [Nn] [Oo] [Pp] [Qq] [Rr] [Ss] [Tt] [Uu] [Vv] [Ww] [Xx] [Yy] [Zz]

NAME  - Visibility graph construction.


       vector, path, visibility

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

           Allow output files to overwrite existing files

           Verbose module output

           Quiet module output

           Name of input vector map

           Name for output vector map

           One or more coordinates

           Add points after computing the vis graph

DESCRIPTION  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
       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

       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.
        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). input=map vis=vis_map output=new_vis_map \


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


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


       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 input=lines output=graph coordinate=2555678,6686343
       d.vect graph
       d.vect lines col=red


       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 input=lines output=graph
       d.vect graph
       d.vect lines col=red input=lines vis=graph output=new_graph \
       d.vect new_graph
       d.vect lines col=red


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


       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.




       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

  All copyrights belong to their respective owners. Other content (c) 2014-2018, GNU.WIKI. Please report site errors to
Page load time: 0.114 seconds. Last modified: November 04 2018 12:49:43.