1v.net.visibility(1)           Grass User's Manual          v.net.visibility(1)
2
3
4

NAME

6       v.net.visibility  - Visibility graph construction.
7

KEYWORDS

9       vector, path, visibility
10

SYNOPSIS

12       v.net.visibility
13       v.net.visibility help
14       v.net.visibility   input=name  output=name   [coordinate=x,y[,x,y,...]]
15       [vis=string]   [--overwrite]  [--verbose]  [--quiet]
16
17   Flags:
18       --overwrite
19           Allow output files to overwrite existing files
20
21       --verbose
22           Verbose module output
23
24       --quiet
25           Quiet module output
26
27   Parameters:
28       input=name
29           Name of input vector map
30
31       output=name
32           Name for output vector map
33
34       coordinate=x,y[,x,y,...]
35           One or more coordinates
36
37       vis=string
38           Add points after computing the vis graph
39

DESCRIPTION

41       v.net.visibility Computes the visibility graph of a vector map contain‐
42       ing lines, areas ( boundaries ) and points. The visibility graph is the
43       graph where the nodes are the end point of  the  lines,  boundaries  or
44       simply the points. There is an edge between two nodes if they are 'vis‐
45       ible'. Two nodes are visibible if there is no segments in between them,
46       i.e. the edge doesn't intersect any line or boundary in the vector map.
47       This is useful to compute the sortest path in a vector map from any two
48       points.  To do this, first you need to compute the visibility graph and
49       from it compute the shortest path using v.net.path or  d.path.   IMPOR‐
50       TANT  :  the algorithm doesn't work well with intersecting lines ( that
51       includes overlapping )
52
53       If you compute a shortest path after computing the visibility graph you
54       will notice that this path might go through a vertix of a line. If this
55       is not wanted you might to run the map through v.buffer first  whith  a
56       small value. Example:
57       v.buffer          input=map         output=bufferedmap         buffer=1
58       type=point,line,area,boundary
59
60
61       The first argument is the input map. It supports lines, boudaries (  so
62       areas ) and points. For the algorithm to work lines and boundaries must
63       not be intersecting ( that includes overlapping ).
64       input=map
65        The result map containing the visibility graph is given in the  output
66       map
67       output=map2
68         If  you  need  to  add  additional  points to compute a shortest path
69       between them afterwards you can use the coordinate parameter.
70       coordinate=25556200,6686400,25556400,6686600
71        where 25556200,6686400 are the  coordinate  of  the  first  point  and
72       25556400,6686600 are the coordinates of the second point. Of course you
73       can give as many points as you want. They will be added to the visibil‐
74       ity  graph  and  edges  from  them will be computed. You can always add
75       those points after computing the visibility graph. Simply use  the  vis
76       parameter.  The  input will be the original vector map, the vis will be
77       the computed visibility graph and the output the new  visibility  graph
78       which  will  be  the vis + the new points given with coordinate ( edges
79       will be computed as well ).
80       v.net.visibility  input=map  vis=vis_map   output=new_vis_map   coordi‐
81       nate=25556200,6686400,25556400,6686600
82
83

EXAMPLE 1

85       A simple example showing how to use the module
86       v.net.visibility input=lines output=graph
87       d.vect graph
88       d.vect lines col=red
89
90

EXAMPLE 2

92       An example on how to use v.buffer with the module
93       v.buffer input=lines output=buffered_lines buffer=1
94       v.net.visibility input=buffered_lines output=graph
95       d.vect graph
96       d.vect lines col=red
97
98

EXAMPLE 3

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

EXAMPLE 4

109       An  example on how to use the coordinate parameter with the vis parame‐
110       ter. Here the vector map graph is computed then a new visibility  graph
111       is computed from it with the point 2555678,6686343 extra
112       v.net.visibility input=lines output=graph
113       d.vect graph
114       d.vect lines col=red
115       v.net.visibility   input=lines   vis=graph   output=new_graph   coordi‐
116       nate=2555678,6686343
117       d.erase
118       d.vect new_graph
119       d.vect lines col=red
120
121

KNOWN BUGS

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

SEE ALSO

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

AUTHOR

133       Maximilian Maldacker
134       Mentor : Wolf Bergenheim
135
136       Last changed: $Date: 2007-11-06 08:04:10 +0100 (Tue, 06 Nov 2007) $
137
138       Full index
139
140       © 2003-2008 GRASS Development Team
141
142
143
144GRASS 6.3.0                                                v.net.visibility(1)
Impressum