1v.net.iso(1) Grass User's Manual v.net.iso(1)
2
3
4
6 v.net.iso - Splits subnets for nearest centers by cost isolines.
7 Splits net to bands between cost isolines (direction from center). Cen‐
8 ter node must be opened (costs >= 0). Costs of center node are used in
9 calculation.
10
12 vector, network, cost allocation, isolines
13
15 v.net.iso
16 v.net.iso --help
17 v.net.iso [-tgu] input=name output=name [method=string] cen‐
18 ter_cats=range costs=integer[,integer,...] arc_layer=string
19 arc_type=string[,string,...] node_layer=string [arc_column=name]
20 [arc_backward_column=name] [node_column=name] [turn_layer=string]
21 [turn_cat_layer=string] [--overwrite] [--help] [--verbose]
22 [--quiet] [--ui]
23
24 Flags:
25 -t
26 Use turntable
27
28 -g
29 Use geodesic calculation for longitude-latitude locations
30
31 -u
32 Create unique categories and attribute table
33 Default: one category for each iso-band
34
35 --overwrite
36 Allow output files to overwrite existing files
37
38 --help
39 Print usage summary
40
41 --verbose
42 Verbose module output
43
44 --quiet
45 Quiet module output
46
47 --ui
48 Force launching GUI dialog
49
50 Parameters:
51 input=name [required]
52 Name of input vector map
53 Or data source for direct OGR access
54
55 output=name [required]
56 Name for output vector map
57
58 method=string
59 Use costs from centers or costs to centers
60 Options: from, to
61 Default: from
62
63 center_cats=range [required]
64 Category values
65 Categories of centers (points on nodes) to which net will be allo‐
66 cated, layer for this categories is given by nlayer option
67
68 costs=integer[,integer,...] [required]
69 Costs for isolines
70
71 arc_layer=string [required]
72 Arc layer
73 Vector features can have category values in different layers. This
74 number determines which layer to use. When used with direct OGR
75 access this is the layer name.
76 Default: 1
77
78 arc_type=string[,string,...] [required]
79 Arc type
80 Input feature type
81 Options: line, boundary
82 Default: line,boundary
83
84 node_layer=string [required]
85 Node layer
86 Vector features can have category values in different layers. This
87 number determines which layer to use. When used with direct OGR
88 access this is the layer name.
89 Default: 2
90
91 arc_column=name
92 Arc forward/both direction(s) cost column (number)
93
94 arc_backward_column=name
95 Arc backward direction cost column (number)
96
97 node_column=name
98 Node cost column (number)
99
100 turn_layer=string
101 Layer with turntable
102 Relevant only with -t flag
103 Default: 3
104
105 turn_cat_layer=string
106 Layer with unique categories used in turntable
107 Relevant only with -t flag
108 Default: 4
109
111 v.net.iso splits a network into bands between cost isolines (distance
112 from center). Center nodes must be opened (costs >= 0). The costs of
113 center nodes are used in the calculation.
114
115 Costs may be either line lengths, or attributes saved in a database ta‐
116 ble. These attribute values are taken as costs of whole segments, not
117 as costs to traverse a length unit (e.g. meter) of the segment. For
118 example, if the speed limit is 100 km / h, the cost to traverse a 10 km
119 long road segment must be calculated as
120 length / speed = 10 km / (100 km/h) = 0.1 h.
121 Supported are cost assignments for both arcs and nodes, and also dif‐
122 ferent costs for both directions of a vector line. For areas, costs
123 will be calculated along boundary lines.
124
125 The input vector needs to be prepared with v.net operation=connect in
126 order to connect points representing center nodes to the network.
127
128 The nearest center can be determined using either costs from the near‐
129 est center or costs to the nearest center with option method.
130
131 By default, the iso band number is used as category value for output
132 lines. With the -u flag, output lines become unique categories and an
133 attribute table is created with the fields cat, ocat, center, isonr,
134 isolbl. The ocat field holds the original line category in arc_layer,
135 the center field holds the center category in node_layer, the isonr
136 field holds the iso band number and the isolbl field holds a label for
137 the isoband. Additionally, original line categories are copied from the
138 input arc_layer to layer 2 in the output, together with any attribute
139 table.
140
141 Application of flag -t enables a turntable support. This flag requires
142 additional parameters turn_layer and turn_cat_layer that are otherwise
143 ignored. The turntable allows to model e.g. traffic code, where some
144 turns may be prohibited. This means that the input layer is expanded by
145 turntable with costs of every possible turn on any possible node
146 (intersection) in both directions. Turntable can be created by the
147 v.net module. For more information about turns in the vector network
148 analyses see wiki page.
149
151 Nodes and arcs can be closed using cost = -1.
152
153 Nodes must be on the isolines.
154
156 The map must contain at least one center (point) on the vector network
157 which can be patched into with v.net.
158
159 Isonetwork using distance:
160
161 Isonetwork using time:
162
163 Subdivision of a network using distance:
164 # Spearfish
165 # start node:
166 echo "591280.5|4926396.0|1" | v.in.ascii in=- out=startnode
167 g.copy vect=roads,myroads
168 # connect point to network
169 v.net myroads points=startnode out=myroads_net op=connect thresh=200
170 # define iso networks using distance:
171 v.net.iso input=myroads_net output=myroads_net_iso center_cats=1-100000 costs=1000,2000,5000
172 The network is divided into 4 categories:
173 v.category myroads_net_iso option=report
174 # ... reports 4 categories:
175 #cat | distance from point in meters
176 #1 0 - < 1000
177 #2 1000 - < 2000
178 #3 2000 - < 5000
179 #4 >= 5000
180 To display the result, run for example:
181 g.region n=4928200 s=4922300 w=589200 e=596500
182 d.mon x0
183 d.vect myroads_net_iso col=blue cats=1
184 d.vect myroads_net_iso col=green cats=2
185 d.vect myroads_net_iso col=orange cats=3
186 d.vect myroads_net_iso col=magenta cats=4
187 d.vect myroads_net col=red icon=basic/triangle fcol=green size=12 layer=2
188
189 Subdivision of a network using traveling time:
190 Prepare the network as above:
191 # Spearfish
192 # start node:
193 echo "591280.5|4926396.0|1" | v.in.ascii in=- out=startnode
194 g.copy vect=roads,myroads
195 # connect point to network
196 v.net myroads points=startnode out=myroads_net op=connect thresh=200
197 Define costs as traveling time dependent on speed limits:
198 # set up costs
199 # create unique categories for each road in layer 3
200 v.category in=myroads_net out=myroads_net_time opt=add cat=1 layer=3 type=line
201 # add new table for layer 3
202 v.db.addtable myroads_net_time layer=3 col="cat integer,label varchar(43),length double precision,speed double precision,cost double precision,bcost double precision"
203 # copy road type to layer 3
204 v.to.db myroads_net_time layer=3 qlayer=1 opt=query qcolumn=label columns=label
205 # upload road length in miles
206 v.to.db myroads_net_time layer=3 type=line option=length col=length unit=miles
207 # set speed limits in miles / hour
208 v.db.update myroads_net_time layer=3 col=speed val="5.0"
209 v.db.update myroads_net_time layer=3 col=speed val="75.0" where="label=’interstate’"
210 v.db.update myroads_net_time layer=3 col=speed val="75.0" where="label=’primary highway, hard surface’"
211 v.db.update myroads_net_time layer=3 col=speed val="50.0" where="label=’secondary highway, hard surface’"
212 v.db.update myroads_net_time layer=3 col=speed val="25.0" where="label=’light-duty road, improved surface’"
213 v.db.update myroads_net_time layer=3 col=speed val="5.0" where="label=’unimproved road’"
214 # define traveling costs as traveling time in minutes:
215 # set forward costs
216 v.db.update myroads_net_time layer=3 col=cost val="length / speed * 60"
217 # set backward costs
218 v.db.update myroads_net_time layer=3 col=bcost val="length / speed * 60"
219 # define iso networks using traveling time:
220 v.net.iso input=myroads_net_time output=myroads_net_iso_time arc_layer=3 node_layer=2 arc_column=cost arc_backward_column=bcost center_cats=1-100000 costs=1,2,5
221 To display the result, run for example:
222 # add table with labels and coloring
223 v.db.addtable myroads_net_iso_time columns="cat integer,trav_time varchar(20),GRASSRGB varchar(11)"
224 # labels
225 v.db.update map=myroads_net_iso_time layer=1 column=trav_time value="0 - 1" where="cat = 1"
226 v.db.update map=myroads_net_iso_time layer=1 column=trav_time value="1 - 2" where="cat = 2"
227 v.db.update map=myroads_net_iso_time layer=1 column=trav_time value="2 - 5" where="cat = 3"
228 v.db.update map=myroads_net_iso_time layer=1 column=trav_time value="> 5" where="cat = 4"
229 # colors
230 # cats=1: blue
231 v.db.update map=myroads_net_iso_time layer=1 column=GRASSRGB value="000:000:255" where="cat = 1"
232 # cats=2: green
233 v.db.update map=myroads_net_iso_time layer=1 column=GRASSRGB value="000:255:000" where="cat = 2"
234 # cats=3: orange
235 v.db.update map=myroads_net_iso_time layer=1 column=GRASSRGB value="255:128:000" where="cat = 3"
236 # cats=4: magenta
237 v.db.update map=myroads_net_iso_time layer=1 column=GRASSRGB value="255:000:255" where="cat = 4"
238 # show results
239 g.region n=4928200 s=4922300 w=589200 e=596500
240 d.mon x0
241 d.vect myroads_net_iso_time layer=1 -a rgb_col=GRASSRGB
242 d.vect myroads_net col=red icon=basic/triangle fcol=green size=12 layer=2
243
245 d.path, v.net, v.net.alloc, v.net.path, v.net.salesman, v.net.steiner,
246 v.patch
247
249 Radim Blazek, ITC-Irst, Trento, Italy
250 Documentation: Markus Neteler, Markus Metz
251
252 TURNS SUPPORT
253 The turns support was implemnented as part of GRASS GIS turns cost
254 project at Czech Technical University in Prague, Czech Republic.
255 Eliska Kyzlikova, Stepan Turek, Lukas Bocan and Viera Bejdova partici‐
256 pated at the project. Implementation: Stepan Turek Documentation:
257 Lukas Bocan Mentor: Martin Landa
258
259 Last changed: $Date: 2017-06-23 08:55:26 +0200 (Fri, 23 Jun 2017) $
260
262 Available at: v.net.iso source code (history)
263
264 Main index | Vector index | Topics index | Keywords index | Graphical
265 index | Full index
266
267 © 2003-2019 GRASS Development Team, GRASS GIS 7.4.4 Reference Manual
268
269
270
271GRASS 7.4.4 v.net.iso(1)