1v.net.visibility(1) Grass User's Manual v.net.visibility(1)
2
3
4
6 v.net.visibility - Visibility graph construction.
7
9 vector, path, visibility
10
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
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
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
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
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
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
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
129 d.path, v.net, v.net.alloc, v.net.iso, v.net.salesman, v.net.steiner,
130 v.to.db
131
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)