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

NAME

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

KEYWORDS

12       vector, network, cost allocation, isolines
13

SYNOPSIS

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

DESCRIPTION

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

NOTES

151       Nodes and arcs can be closed using cost = -1.
152
153       Nodes must be on the isolines.
154

EXAMPLES

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

SEE ALSO

245        d.path, v.net, v.net.alloc, v.net.path, v.net.salesman, v.net.steiner,
246       v.patch
247

AUTHOR

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

SOURCE CODE

260       Available at: v.net.iso source code (history)
261
262       Main index | Vector index | Topics index | Keywords index  |  Graphical
263       index | Full index
264
265       © 2003-2019 GRASS Development Team, GRASS GIS 7.8.2 Reference Manual
266
267
268
269GRASS 7.8.2                                                       v.net.iso(1)
Impressum