7/24/2019 QGIS 2.8 QGISTrainingManual Es
1/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
2/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
3/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
4/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
5/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
6/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
7/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
8/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
9/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
10/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
11/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
12/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
13/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
14/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
15/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
16/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
17/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
18/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
19/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
20/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
21/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
22/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
23/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
24/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
25/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
26/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
27/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
28/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
29/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
30/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
31/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
32/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
33/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
34/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
35/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
36/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
37/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
38/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
39/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
40/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
41/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
42/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
43/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
44/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
45/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
46/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
47/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
48/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
49/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
50/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
51/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
52/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
53/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
54/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
55/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
56/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
57/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
58/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
59/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
60/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
61/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
62/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
63/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
64/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
65/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
66/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
67/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
68/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
69/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
70/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
71/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
72/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
73/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
74/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
75/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
76/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
77/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
78/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
79/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
80/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
81/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
82/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
83/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
84/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
85/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
86/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
87/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
88/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
89/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
90/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
91/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
92/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
93/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
94/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
95/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
96/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
97/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
98/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
99/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
100/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
101/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
102/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
103/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
104/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
105/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
106/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
107/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
108/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
109/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
110/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
111/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
112/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
113/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
114/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
115/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
116/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
117/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
118/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
119/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
120/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
121/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
122/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
123/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
124/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
125/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
126/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
127/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
128/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
129/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
130/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
131/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
132/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
133/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
134/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
135/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
136/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
137/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
138/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
139/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
140/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
141/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
142/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
143/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
144/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
145/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
146/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
147/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
148/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
149/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
150/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
151/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
152/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
153/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
154/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
155/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
156/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
157/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
158/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
159/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
160/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
161/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
162/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
163/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
164/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
165/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
166/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
167/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
168/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
169/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
170/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
171/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
172/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
173/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
174/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
175/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
176/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
177/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
178/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
179/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
180/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
181/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
182/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
183/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
184/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
185/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
186/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
187/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
188/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
189/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
190/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
191/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
192/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
193/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
194/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
195/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
196/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
197/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
198/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
199/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
200/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
201/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
202/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
203/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
204/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
205/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
206/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
207/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
208/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
209/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
210/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
211/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
212/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
213/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
214/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
215/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
216/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
217/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
218/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
219/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
220/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
221/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
222/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
223/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
224/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
225/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
226/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
227/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
228/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
229/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
230/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
231/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
232/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
233/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
234/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
235/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
236/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
237/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
238/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
239/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
240/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
241/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
242/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
243/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
244/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
245/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
246/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
247/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
248/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
249/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
250/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
251/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
252/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
253/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
254/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
255/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
256/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
257/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
258/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
259/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
260/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
261/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
262/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
263/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
264/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
265/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
266/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
267/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
268/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
269/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
270/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
271/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
272/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
273/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
274/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
275/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
276/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
277/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
278/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
279/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
280/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
281/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
282/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
283/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
284/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
285/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
286/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
287/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
288/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
289/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
290/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
291/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
292/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
293/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
294/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
295/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
296/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
297/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
298/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
299/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
300/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
301/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
302/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
303/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
304/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
305/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
306/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
307/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
308/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
309/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
310/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
311/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
312/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
313/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
314/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
315/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
316/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
317/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
318/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
319/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
320/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
321/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
322/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
323/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
324/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
325/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
326/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
327/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
328/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
329/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
330/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
331/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
332/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
333/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
334/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
335/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
336/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
337/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
338/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
339/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
340/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
341/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
342/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
343/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
344/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
345/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
346/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
347/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
348/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
349/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
350/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
351/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
352/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
353/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
354/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
355/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
356/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
357/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
358/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
359/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
360/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
361/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
362/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
363/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
364/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
365/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
366/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
367/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
368/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
369/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
370/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
371/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
372/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
373/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
374/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
375/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
376/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
377/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
378/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
379/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
380/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
381/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
382/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
383/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
384/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
385/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
386/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
387/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
388/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
389/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
390/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
391/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
392/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
393/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
394/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
395/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
396/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
397/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
398/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
399/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
400/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
401/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
402/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
403/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
404/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
405/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
406/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
407/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
408/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
409/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
410/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
411/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
412/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
413/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
414/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
415/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
416/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
417/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
418/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
419/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
420/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
421/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
422/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
423/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
424/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
425/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
426/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
427/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
428/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
429/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
430/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
431/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
432/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
433/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
434/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
435/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
436/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
437/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
438/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
439/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
440/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
441/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
442/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
443/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
444/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
445/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
446/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
447/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
448/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
449/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
450/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
451/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
452/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
453/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
454/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
455/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
456/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
457/637
7/24/2019 QGIS 2.8 QGISTrainingManual Es
458/637
QGIS Training Manual, Publicacin 2.8
embargo tambin se puede utilizar un geoalgoritmo para hacerlo. Los algoritmos para la creacin de una seleccinse encuentran en la caja de herramientas bajo Vectorial/Seleccin
Abra el algoritmo Seleccin aleatoria
Dejar los valores predeterminados, se seleccionar 10 puntos de la capa actual.
17.7. Seleccin 451
7/24/2019 QGIS 2.8 QGISTrainingManual Es
459/637
QGIS Training Manual, Publicacin 2.8
Se dar cuenta de que este algoritmo no produce ninguna salida, pero modica la capa de entrada (no la propiacapa, pero si su seleccin ). Este es un comportamiento poco comn, ya que todos los otros algoritmos producirnnuevas capas y para no alterar las capas de entrada.Dado que la seleccin no es parte de los datos en si, sino algo que solo existe dentro de QGIS, estos algoritmos deseleccin slo deben utilizarse seleccionando una capa que se abre en QGIS, y no con la opcin de seleccin dearchivo que se puede encontrar en el cuadro de valor de parmetro correspondiente.
La seleccin que hemos hecho, como la mayora de los creados por el resto de algoritmos de seleccin, tambinse puede hacer manualmente desde QGIS, por lo que puede pregutarse, cul es el objetivo de utilizar un algoritmopara eso. Aunque ahora esto podra no tener mucho sentido, ms adelante veremos cmo crear modelos y scripts.Si desea hacer una seleccin en medio de un modelo (que dene un ujo de trabajo de procesamiento), slo ungeoalgoritmo se puede aadir al modelo, y otros elementos de QGIS y operaciones que no se pueden aadir. Esaes la razn por la que algunos algoritmos de procesamiento duplican funcionalidad que tambin est disponibleen otros elementos de QGIS.
Por ahora , slo recuerda que las selecciones se pueden hacer usando geoalgoritmos de procesamiento, y quelos algoritmos slo utilizarn los objetos espaciales seleccionados si existe una seleccin, o todos los objetosespaciales de otra manera.
17.8 Running an external algorithm
Nota: In this lesson we will see how to use algorithms that depend on a third-party application, particularlySAGA, which is one of the main algorithm providers.
All the algorithms that we have run so far are part of processing framework. That is, they are native algorithmsimplemented in the plugin and run by QGIS just like the plugin itself is run. However, one of the greatest featuresof the processing framework is that it can use algorithms from external applications and extend the possibilites of those applications. Such algorithms are wrapped and included in the toolbox, so you can easily use them fromQGIS, and use QGIS data to run them.
Some of the algorithms that you see in the simplied view require third party applications to be installed in yoursystem. One algorithm provider of special interest is SAGA (System for Automated Geospatial Analysis). First,we need to congure everything so QGIS can correctly call SAGA. This is not difcult, but its important tounderstand how it works. Each external application has its own conguration, and later in this same manual wewill talk about some of the other ones, but SAGA is going to be our main backend, so we will discuss it here.
If you are on Windows, the best way to work with external algorithms is to install QGIS using the standaloneinstaller. It will take care of installing all the needed dependencies, including SAGA, so if you have used it, there
is nothing else to do. You can open the settings dialog and go to the Providers/SAGA group.
452 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
460/637
QGIS Training Manual, Publicacin 2.8
The SAGA path should already be congured and pointing to the folder where SAGA is installed.
If you have installed QGIS not using the standalone installer, then you must enter the path to your SAGA installa-tion (which you must have installed separately) there. The required version is SAGA 2.1In case you are using Linux, you do not have to set the path to your SAGA installation in the processing congu-ration. Instead, you must install SAGA and make sure that the SAGA folder is in PATH, so it can be called fromthe console (just open a console and type saga_cmd to check it). Under Linux, the target version for SAGA isalso 2.1, but in some installations (such as the OSGeo Live DVD) you might have just 2.0.8 available. There aresome 2.1 packages available, but they are not commonly installed and might have some issues, so if you prefer touse the more common and stable 2.0.8, you can do it by enabling 2.0.8 compatibility in the conguration dialog,under the SAGA group
17.8. Running an external algorithm 453
7/24/2019 QGIS 2.8 QGISTrainingManual Es
461/637
QGIS Training Manual, Publicacin 2.8
Once SAGA is installed, you can launch a SAGA algorithm double clicking on its name, as with any otheralgorithm. Since we are using the simplied interface, you do not know which algorithms are based on SAGA or
in another externalapplication, but if youhappen to doubleclickon oneof them andthecorresponding applicationis not installed, you will see something like this.
In our case, and assuming that SAGA is correctly installed and congured, you should not see this window, and
you will get to the parameters dialog instead.Lets try with a SAGAbased algorithm, the one called Split shapes layer randomly .
454 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
462/637
QGIS Training Manual, Publicacin 2.8
Use the points layer in the project corresponding to this lesson as input, and the default parameter values, and youwill get something like this (the split is random, so your result might be different).
The input layer has been split in two layers, each one with the same number of points. This result has beencomputed by SAGA, and later taken by QGIS and added to the QGIS project.
If all goes ne, you will not notice any difference between this SAGAbased algorithm and one of the others thatwe have previously run. However, SAGA might, for some reason, not be able to produce a result and not generatethe le that QGIS is expecting. In that case, there will be problems adding the result to the QGIS project, and anerror message like this will be shown.
17.8. Running an external algorithm 455
7/24/2019 QGIS 2.8 QGISTrainingManual Es
463/637
QGIS Training Manual, Publicacin 2.8
This kind of problems might happen, even if SAGA (or any other application that we are calling from the pro-cessing framework) is correctly installed, and it is important to know how to deal with them. Lets produce one of those error messages.
Open the Create graticule algorithm and use the following values.
We are using width and height values that is larger than the specied extent, so SAGA cannot produce any output.
456 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
464/637
QGIS Training Manual, Publicacin 2.8
In other words, the parameter values are wrong, but they are not checked until SAGA gets them and tries to createthe graticule. Since it cannot create it, it will not produce the expected layer, and you will see the error messageshown above.
Understanding this kind of problems will help you solve them and nd an explanation to what is happening. Asyou can see in the error message, a test is performed to check that the connection with SAGA is working correctly,
indicating you that there might be a problem in how the algorithm was executed. This applies not only to SAGA,but also to other external applications as well.
In the next lesson we will introduce the processing log, where information about commands run by geoalgorithmsis kept, and you will see how to get more detail when issues like this appear.
17.9 El registro de procesamiento
Nota: Esta leccin describe el registro de procesamiento.
All the analysis performed with the processing framework is logged in its own logging system. This allows you
to know more about what has been done with the processing tools, to solve problems when they happen, and alsoto rerun previous operations, since the logging system also implements some interactivity.
To open the log, select the corresponding entry in the processing menu. You will see the following dialog.
It contains four blocks of information: Info, Error , Warnings and Algorithms . Here is a description of all of them.
Info. Some algorithms might leave here information about their execution. For instance, those algorithmsthat call an external application usually log the console output of that application to this entry. If you havea look at it, you will see that the output of the SAGA algorithm that we just run (and that fail to executebecause input data was not correct) is stored here.
17.9. El registro de procesamiento 457
7/24/2019 QGIS 2.8 QGISTrainingManual Es
465/637
QGIS Training Manual, Publicacin 2.8
This is helpful to understand what is going on. Advanced users will be able to analyze that output to nd outwhy the algorithm failed. If you are not an advanced user, this will be useful for others to help you diagnose theproblem you are having, which might be a problem in the installation of the external software or an issue with thedata you provided.
Warnings . Even if the algorithm could be executed, some algorithms might leave warnings in case the resultmight not be right. For instance, when executing an interpolation algorithm with a very small amount of points, the algorithm can run and will produce a result, but it is likely that it will not be correct, since morepoints should be used. Its a good idea to regularly check for this type of warnings if you are not sure aboutsome aspect of a given algorithm.
Error . Errors that appear and are not directly related to external applications are logged in this section.
Algorithms . All algorithms that are executed, even if they are executed from the GUI and not from theconsole (which will be explained later in this manual) are stored in this part of the log as a console call.That means that everytime you run an algorithm, a console command is added to the log, and you have thefull history of your working session. Here is how that history looks like:
458 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
466/637
QGIS Training Manual, Publicacin 2.8
This can be very useful when starting working with the console, to learn about the syntax of algorithms. We willuse it when we discuss how to run analysis commands from the console.
The history is also interactive, and you can rerun any previous algorithm just by doubleclicking on its entry.This is an easy way of replicating the work we already did before.
For instance, try the following. Open the data corresponding to the rst chapter of this manual and run thealgorithm explained there. Now go to the log dialog and locate the last algorithm in the list, which corresponds tothe algorithm you have just run. Doubleclick on it an a new result should be produced, just like when you run itusing the normal dialog and calling it from the toolbox.
17.9.1 Advanced
You can also modify the algorithm. Just copy it, open the Plugins Python console , click on Import class Im- port Processing class , then paste it to re-run the analysis; change the text at will. To display the resulting le, typeiface.addVectorLayer(/path/filename.shp, Layer name in legend, ogr) .
17.10 The raster calculator. No-data values
Nota: In this lesson we will see how to use the raster calculator to perform some operations on raster layers. Wewill also explain what are nodata values and how the calculator and other algorithms deal with them
The raster calculator is one of the most powerful algorithms that you will nd. Its a very exible and versatilealgorithm that can be used for many different calculations, and one that will soon become an important part of
17.10. The raster calculator. No-data values 459
7/24/2019 QGIS 2.8 QGISTrainingManual Es
467/637
QGIS Training Manual, Publicacin 2.8
your toolbox.
In this lesson we will be performing some calculation with the raster calculator, most of them rather simple. Thiswill let us see how it is used and how it deals with some particular situations that it might nd. Understanding thatis important to later get the expected results when using the calculator, and also to understand certain techniquesthat are commonly applied with it.
Open the QGIS project corresponding to this lesson and you will see that it contains several raster layers.Now open the toolbox and open the dialog corresponding to the raster calculator.
Nota: The interface is different in recent versions.
The dialog contains 2 parameters.
The layers to use for the analysis. This is a multiple input, that meaning that you can select as many layersas you want. Click on the button on the righthand side and then select the layers that you want to use in
the dialog that will appear. The formula to apply. The formula uses the layers selected in the above parameter, which are named using
alphabet letters (a, b, c... ) or g1, g2, g3... as variable names. That is, the formula a + 2 *b is the same as g1 + 2 * g2 and will compute the sum of the value in the rst layer plus two timesthe value in the second layer. The ordering of the layers is the same ordering that you see in the selectiondialog.
Advertencia: The calculator is case sensitive.
To start with, we will change the units of the DEM from meters to feet. The formula we need is the following one:
h = h * 3.28084
Select the DEM in the layers eld and type a * 3.28084 in the formula eld.
460 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
468/637
QGIS Training Manual, Publicacin 2.8
Advertencia: For non English users: use always ., not ,.
Click Run to run the algorithm. You will get a layer that has the same appearance of the input layer, but withdifferent values. The input layer that we used has valid values in all its cells, so the last parameter has no effect atall.
Lets now perform another calculation, this time on the accow layer. This layer contains values of accumulatedow, a hydrological parameter. It contains those values only within the area of a given watershed, with nodatavalues outside of it. As you can see, the rendering is not very informative, due to the way values are distributed.Using the logarithmof that ow accumulationwill yield a much more informative representation. We cancalculatethat using the raster calculator.
Open the algorithm dialog again, select the accow layer as the only input layer, and enter the following formula:log(a) .
Here is the layer that you will get.
If you select the Identify tool to know the value of a layer at a given point, select the layer that we have just created,and click on a point outside of the basin, you will see that it contains a nodata value.
17.10. The raster calculator. No-data values 461
7/24/2019 QGIS 2.8 QGISTrainingManual Es
469/637
QGIS Training Manual, Publicacin 2.8
For the next exercise we are going to use two layers instead of one, and we are going to get a DEM with validelevation values only within the basin dened in the second layer. Open the calculator dialog and select both layersof the project in the input layers eld. Enter the following formula in the corresponding eld:
a / a * b
a refers to the accumulated ow layer (since it is the rst one to appear in the list) and b refers to the DEM. Whatwe are doing in the rst part of the formula here is to divide the accumulated ow layer by itself, which will resultin a value of 1 inside the basin, and a nodata value outside. Then we multiply by the DEM, to get the elevationvalue in those cells inside the basin (DEM * 1 = DEM) and the nodata value outside (DEM * no_data =no_data )Here is the resulting layer.
This technique is used frequently to mask values in a raster layer, and is useful whenever you want to performcalculations for a region other that the arbitrary rectangular region that is used by raster layer. For instance, anelevation histogram of a raster layer doesnt have much meaning. If it is instead computed using only valuescorresponding to a basin (as in he case above), the result that we obtain is a meaningful one that actually gives
462 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
470/637
QGIS Training Manual, Publicacin 2.8
information about the conguration of the basin.
There are other interesting things about this algorithm that we have just run, apart from the nodata values andhow they are handled. If you have a look at the extents of the layers that we have multiplied (you can do itdoubleclicking on their names of the layer in the table of contents and looking at their properties), you will seethat they are not the same, since the extent covered by the ow accumulation layer is smaller that the extent of the
full DEM.That means that those layers do not match, and that they cannot be multiplied directly without homogenizingthose sizes and extents by resampling one or both layers. However, we did not do anything. QGIS takes care of this situation and automatically resamples input layers when needed. The output extent is the minimum coveringextent calculated from the input layers, and the minimum cell size of their cellsizes.
In this case (and in most cases), this produces the desired results, but you should always be aware of the additionaloperations that are taking place, since they might affect the result. In cases when this behaviour might not be thedesired, manual resampling should be applied in advance. In later chapters, we will see more about the behaviourof algorithms when using multiple raster layers.
Lets nish this lesson with another masking exercise. We are going to calculate the slope in all areas with anelevation between 1000 and 1500 meters.
In this case, we do not have a layer to use as a mask, but we can create it using the calculator.Run the calculator using the DEM as only input layer and the following formula
ifelse( abs (a - 1250 ) < 250 , 1, 0/ 0)
As you can see, we can use the calculator not only to do simple algebraic operations, but also to run more complexcalculation involving conditional sentences, like the one above.
The result has a value of 1 inside the range we want to work with, and no-data in cells outside of it.
The no-data value comes from the 0/0 expression. Since that is an undetermined value, SAGA will add a NaN(Not a Number) value, which is actually handled as a no-data value. With this little trick you can set a no-datavalue without needing to know what the nodata value of the cell is.
Now you just have to multiply it by the slope layer included in the project, and you will get the desired result.
All that can be done in a single operation with the calculator. We leave that as an exercise for the reader.
17.10. The raster calculator. No-data values 463
7/24/2019 QGIS 2.8 QGISTrainingManual Es
471/637
QGIS Training Manual, Publicacin 2.8
17.11 Calculadora vectorial
Nota: In this lesson we will see how to add new attributes to a vector layer based on a mathematical expression,using the vector calculator.
We already know how to use the raster calculator to create new raster layers using mathematical expressions. Asimilar algorithm is available for vector layers, and generates a new layer with the same attributes of the inputlayer, plus an additional one with the result of the expression entered. The algorithm is called Field calculator andhas the following parameters dialog.
Nota: In newer versions of Processing the interface has changed considerably, its more powerful and easier touse.
Here are a couple of examples of using that algorithm.
First, lets calculate the population density of white people in each polygon, which represents a census. We havetwo elds in the attributes table that we can use for that, namely WHITE and SHAPE_AREA. We just have todivide them and multiply by one million (to have density per square km), so we can use the following formula inthe corresponding eld
( WHITE / SHAPE_AREA ) * 1000000
The parameters dialog should be lled as shown below.
This will generate a new eld named WHITE_DENS
Now lets calculate the ratio between the MALES and FEMALES elds to create a new one that indicates if malepopulation is numerically predominant over female population.
Enter the following formula
464 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
472/637
QGIS Training Manual, Publicacin 2.8
"MALES" / "FEMALES"
This time the parameters window should look like this before pressing the OK button.
17.11. Calculadora vectorial 465
7/24/2019 QGIS 2.8 QGISTrainingManual Es
473/637
QGIS Training Manual, Publicacin 2.8
In earlier version, since both elds are of type integer, the result would be truncated to an integer. In this case theformula should be: 1.0 * "MALES" / "FEMALES" , to indicate that we want oating point number a result.
We can use conditional functions to have a new eld with male or female text strings instead of those ratiovalue, using the following formula:
CASE WHEN "MALES" > "FEMALES" THEN male ELSE female END
The parameters window should look like this.
466 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
474/637
QGIS Training Manual, Publicacin 2.8
A python eld calculator is available in the Advanced Python eld calculator , which will not be detailed here
17.11. Calculadora vectorial 467
7/24/2019 QGIS 2.8 QGISTrainingManual Es
475/637
QGIS Training Manual, Publicacin 2.8
17.12 Denir Extensiones
Nota: En esta leccin aprenderemos cmo denir extensiones, necesarias especialmente para algoritmos raster.
Algunos algoritmos requieren una extensin que dena el rea a ser cubierta por el anlisis y, asimismo, que denala extensin de la capa resultante.
Cuando se requiere una extensin, la misma puede ser establecida manualmente ingresando los cuatro valoresque la denen (min X, min Y, max X, max Y); sin embargo en esta leccin veremos otros modos ms prcticos einteresantes para hacer lo mismo.
En primer lugar, abramos un algoritmo que requiera la denicin de una extensin. Abramos el algoritmo Shapesto grid que crea una capa raster a partir de una capa vectorial.
468 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
476/637
QGIS Training Manual, Publicacin 2.8
Todos los parmetros, salvo los ltimos dos, son usados para denir qu capa ser rasterizada y para congurarcmo ser llevada a cabo la rasterizacin. Los ltimos dos parmetros, por su parte, denen las caractersticas dela capa de salida. Esto signica que denen el rea cubierta por la capa de salida (la cual no es necesariamente lamisma de la capa vectorial de entrada) y su resolucin/tamao de celda (que no puede ser inferida del archivo deentrada, ya que las capas vectoriales no tienen tamao de celda)
Lo primero que podemos hacer es ingresar los 4 valores explicados anteriormente, separados por comas.
Ello no requiere de ms explicaciones. Si bien es la opcin ms exible, en algunos casos resulta la menos
prctica, por eso se implementaron otras opciones. Para acceder a ellas es necesario hacer clic en el botn a laderecha del recuadro de extensin.
Veamos cmo funciona cada una de ellas.
La primera opcin es Usar extensin de capa/lienzo que desplegar el recuadro de dilogo mostrado abajo.
17.12. Denir Extensiones 469
7/24/2019 QGIS 2.8 QGISTrainingManual Es
477/637
QGIS Training Manual, Publicacin 2.8
Aqu se puede seleccionar la extensin del lienzo (correspondiente al zum vigente) o la extensin de cualquierade las capas disponibles. Se selecciona, se pulsa OK y el cuadro de texto se completar automticamente con losvalores correspondientes.
La segunda opcin es Seleccionar extensin sobre el lienzo . En este caso, el cuadro de dilogo del algoritmodesaparece y se puede pulsar y arrastrar el cursor en el lienzo de QGIS para denir la extensin deseada.
Una vez que se suelta el botn del ratn, el cuadro de dilogo vuelve a aparecer con los valores correspondientesa la extensin denida.
La ltima opcin es Usar la extensin mnima de cobertura a partir de las capas de entrada . Esta es la opcinpredeterminada. Calcula la extensin mnima que cubre todas las capas usadas para correr el algoritmo y no esnecesario ingresar ningn valor en el cuadro de texto. En el caso de usar una sola capa, como en el algoritmo queestamos usando, la misma extensin puede obtenerse seleccionando la misma capa de entrada en Usar extensinde capa/lienzo . Sin embargo, cuando hay muchas capas de entrada, la mnima extensin no corresponde a laextensin de ninguna de las capas ya que se calcula a partir de todas ellas tomadas en conjunto.
Usaremos este ltimo mtodo para ejecutar el algoritmo de rasterizacin.
Es necesario llenar el cuadro de dilogo de parmetros tal como se muestra a continuacin y se pulsa OK .
470 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
478/637
QGIS Training Manual, Publicacin 2.8
Nota: En este caso ser mejor usar Integer (1byte) en lugar de Floating point (4byte) , dado que el ID es un enterocuyo valor mximo es 63. Esto dar como resultado un archivo ms pequeo y clculos ms veloces.
Obtendremos una capa raster que cubre exactamente el rea cubierta por la capa vectorial original.
17.12. Denir Extensiones 471
7/24/2019 QGIS 2.8 QGISTrainingManual Es
479/637
QGIS Training Manual, Publicacin 2.8
En algunos casos, la ltima opcin Usar la extensin mnima de cobertura a partir de las capas de entradapuede no hallarse disponible. Esto ocurrir en aquellos algoritmos que no requieren capas de entrada sino sloparmetros de otra ndole. En esos casos se deber ingresar los valores manualmente o usar algunas de las otrasopciones.
Hay que tomar en cuenta que cuando existe una seleccin, la extensin de la capa es la del conjunto total deobjetos espaciales y la seleccin no es utilizada para calcular la extensin, aun cuando la rasterizacin se lleva acabo slo sobre los elementos seleccionados. De otro modo sera necesario crear una nueva capa a partir de laseleccin y utilizarla como entrada.
17.13 salidas en HTML
Nota: En esta leccin, aprendemos como maneja QGIS las salidas en el formato HTML, que se utilizan paraproducir texto y grcos.
Todas las salidas producidas hasta el momento eran capas (tanto vectoriales como raster). Sin embargo, algunosalgoritmos generan salidas en forma de texto o grcos. Todas estas salidas se denen mediante archivos enHTML y se muestran en el denominado Results viewer , que es otro elemento del entorno de procesamiento.
Veamos uno de esos algoritmos para comprender cmo funcionan.
Abrir el archivo con los datos que se van a usar en esta leccin y entonces abrir el algoritmo Basic statistics for numeric elds .
472 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
480/637
QGIS Training Manual, Publicacin 2.8
El algoritmo es bastante simple y slo se deben seleccionar la capa a utilizar y uno de sus campos (uno numrico).La salida es de tipo HTML, pero el campo correspondiente funciona exactamente como el que se pueda encontraren el caso de una salida vectorial o raster. Se puede introducir la ruta de un archivo o dejarlo en blanco paraalmacenarla en un archivo temporal. En este caso, sin embargo, slo se permiten las extensiones html and htm ,de modo que no hay manera de alterar el formato de salido utilizando cualquier otra.
Ejecutar el algoritmo seleccionando como entrada la nica capa del proyecto y el campo POP2000 . Una vezque el algoritmo se ejecute y se cierre la ventana con los parmetros, aparecer un nuevo dilogo como el que semuestra a continuacin.
17.13. salidas en HTML 473
7/24/2019 QGIS 2.8 QGISTrainingManual Es
481/637
QGIS Training Manual, Publicacin 2.8
Este es el Results viewer . Mantiene accesibles de forma sencilla todos los resultados HTML generados durante lasesin actual, de forma que puedan ser consultados cuando sea necesario. Al igual que sucede con las capas, si lasalida se ha guardado en un archivo temporal, sta se eliminar al cerrar QGIS. Si se ha guardado en un archivono temporal, ste se mantendr, pero no aparecer en el Results viewer la prxima vez que se inicie QGIS.
Algunos algoritmos generan textos que no se pueden dividir en otros ms detallados. Este es el caso si, porejemplo, el algoritmo captura el texto resultante de la ejecucin de un proceso externo. En otros casos, la salida semuestra como texto, pero internamente se divide en varias salidas ms pequeas, generalmente en forma de datosnumricos. El algoritmo que acabamos de ejecutar es un de ellos. Cada uno de esos valores se maneja como unanica salida y se almacena en una variable. Ahora mismo esto no tiene ninguna importancia, pero conforme nosmovamos al modelador grco, comprobaremos que nos permite utilizar dichos valores como entradas numricaspara otros algoritmos.
17.14 Primer ejemplo de anlisis
Nota: En esta leccin vamos a realizar un anlisis real utilizando slo la caja de herramientas, para que puedatener ms familiaridad con los elementos del rea de trabajo de procesamiento.
Ahora que todo est congurado y podemos usar algoritmos externos, tenemos una herramienta muy poderosapara realizar anlisis espacial. Es tiempo de trabajar un ejercicio ms grande con algunos datos reales -del mundo.
Estaremos utilizando el conjunto de datos conocido que John Snow utiliz en 1854 en su trabajo pionero(http://en.wikipedia.org/wiki/John_Snow_%28physician%29), y obtendremos algunos resultados interesantes. Elanlisis de este conjunto de datos es bastante obvio y no hay necesidad de tcnicas SIG sosticadas para terminar
474 Chapter 17. La gua de procesamiento de QGIS
http://en.wikipedia.org/wiki/John_Snow_%28physician%29http://en.wikipedia.org/wiki/John_Snow_%28physician%29http://en.wikipedia.org/wiki/John_Snow_%28physician%297/24/2019 QGIS 2.8 QGISTrainingManual Es
482/637
QGIS Training Manual, Publicacin 2.8
con buenos resultados y conclusiones, pero es una forma de mostrar cmo estos problemas espaciales pueden seranalizados y resueltos mediante el uso de diferentes herramientas de procesamientos.
El conjunto de datos contiene archivos shape con muertes por clera y ubicaciones de bombas, y un mapa rendidoOSM en formato TIFF. Abra el proyecto de QGIS correspondiente para esta leccin.
Lo primero que debe hacer es calcular el diagrama de Voronoi (a. k. a polgonos de Thyessen) de la capa debombas, para obtener la zona de inuencia de cada bomba. El algoritmo *Diagrama de Voronoi * se puede utilizarpara eso.
17.14. Primer ejemplo de anlisis 475
7/24/2019 QGIS 2.8 QGISTrainingManual Es
483/637
QGIS Training Manual, Publicacin 2.8
Bastante fcil, pero ya nos dar informacin interesante.
476 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
484/637
QGIS Training Manual, Publicacin 2.8
Claramente, muchos de los casos se encuentran dentro de uno de los polgonos
Para obtener un resultado ms cuantitativo, podemos contar el nmero de muertes en cada polgono. Dado quecada punto representa un edicio donde las muertes ocurrieron, y el nmero de muertes se almacena en un atributo,no podemos contar los puntos. Necesitamos un recuento ponderado, por lo que utilizaremos la herramienta Contar puntos en polgono (ponderada) .
17.14. Primer ejemplo de anlisis 477
7/24/2019 QGIS 2.8 QGISTrainingManual Es
485/637
QGIS Training Manual, Publicacin 2.8
El nuevo campo se llamar DEATHS , y usamos elcampoCOUNT como campo de ponderacin. La tabla resultantereeja claramente que el nmero de muertes en el polgono correspondiente a la primera bomba es mucho msgrande que los otros.
478 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
486/637
QGIS Training Manual, Publicacin 2.8
Otra buena forma de visualizar la dependencia de cada punto de la capa Cholera_deaths con un punto enla capa Pumps es dibujar una lnea a la ms cercana. Esto se puede hacer con la herramienta Distancia al mscercano centro , y el uso de la conguracin que se muestra a continuacin.
17.14. Primer ejemplo de anlisis 479
7/24/2019 QGIS 2.8 QGISTrainingManual Es
487/637
QGIS Training Manual, Publicacin 2.8
El resultado se parece a esto:
480 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
488/637
QGIS Training Manual, Publicacin 2.8
Aunque el nmero de lneas es mayor en el caso de la bomba central, no se olvide de que esto no representa elnmero de muertes, pero el nmero de lugares donde se encontraron casos de clera. Es un parmetro representa-tivo, pero no est considerando que algunos lugares podran tener ms casos que otros.
Una capa de densidad tambin nos dar una visin muy clara de lo que est sucediendo. Podemos crearlo con elalgoritmo Densidad de Kernel *. Usar la capa *Cholera_deaths , su campo *COUNT * como campo de peso, conun radio de 100, la extensin y tamao de celda de la capa rster de calles, obtenemos algo como esto.
17.14. Primer ejemplo de anlisis 481
7/24/2019 QGIS 2.8 QGISTrainingManual Es
489/637
QGIS Training Manual, Publicacin 2.8
Recuerde que, para conseguir la extensin de salida, no tiene que escribirla. Haga clic en el botn en el ladoderecho y seleccione Uso capa/extensin del rea del mapa .
482 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
490/637
QGIS Training Manual, Publicacin 2.8
Seleccione la capa de calles rster y su extensin automticamente se aadir al campo de texto. Debe hacer lomismo con el tamao de celda, seleccionando el tamao de celda de esa capa tambin.
La combinacin con la capa de bombas, vemos que hay una bomba claramente en el punto de acceso donde seencuentra la mxima densidad de los casos de muerte.
17.15 Clipping and merging raster layers
Nota: In this lesson we will see another example of spatial data preparation, to continue using geoalgorithms inreal-world scenarios.
For this lesson, we are going to calculate a slope layer for an area surrounding a city area, which is given in avector layer with a single polygon. The base DEM is divided in two raster layers that, together, cover an areamuch larger than that around the city that we want to work with. If you open the project corresponding to thislesson, you will see something like this.
17.15. Clipping and merging raster layers 483
7/24/2019 QGIS 2.8 QGISTrainingManual Es
491/637
QGIS Training Manual, Publicacin 2.8
These layers have two problems:
They cover an area that is too large for what we want (we are interested in a smaller region around the citycenter)
They are in two different les (the city limits fall into just one single raster layer, but, as its been said, wewant some extra area around it).
Both of them are easily solvable with the appropriate geoalgorithms.
First, we create a rectangle dening the area that we want. To do it, we create a layer containing the bounding boxof the layer with the limits of the city area, and then we buffer it, so as to have a raster layer that covers a bit morethat the strictly necessary.
To calculate the bounding box , we can use the Polygon from layer extent algorithm
484 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
492/637
QGIS Training Manual, Publicacin 2.8
To buffer it, we use the Fixed distance buffer algorithm, with the following parameter values.
Here is the resulting bounding box obtained using the parameters shown above
17.15. Clipping and merging raster layers 485
7/24/2019 QGIS 2.8 QGISTrainingManual Es
493/637
QGIS Training Manual, Publicacin 2.8
It is a rounded box, but we can easily get the equivalent box with square angles, by running the Polygon from layer extent algorithm on it. We could have buffered the city limits rst, and then calculate the extent rectangle, savingone step.
You will notice that the rasters has a different projection from the vector. We should therefore reproject thembefore proceeding further, using the Warp (reproject) tool.
486 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
494/637
QGIS Training Manual, Publicacin 2.8
Nota: Recent versions have a more complex interface. Select at least one compression method.
With this layer that contains the bounding box of the raster layer that we want to obtain, we can crop both of theraster layers, using the Clip grid with polygon algorithm.
17.15. Clipping and merging raster layers 487
7/24/2019 QGIS 2.8 QGISTrainingManual Es
495/637
QGIS Training Manual, Publicacin 2.8
Once the layers have been cropped, they can be merged using the GDAL Merge algorithm.
488 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
496/637
QGIS Training Manual, Publicacin 2.8
Advertencia: The following paragraph is obsolete.
A cellsize is needed for the merged layer. We will use the same one of the input ones. You do not need to know itin advance before calling the algorithm. Just click on the button in the righthand size of the text eld and you willhave a dialog to enter small mathematical formulas, and a list of frequently used values, among them the cellsizes
and bounding coordinates of all available layers.
Nota: You can save time merging rst and then cropping, and you will avoid calling the clipping algorithm twice.However, if there are several layers to merge and they have a rather big size, you will end up with a large layerthan it can later be difcult to process. In that case, you might have to call the clipping algorithm several times,which might be time consuming, but dont worry, we will soon see that there are some additional tools to automatethat operation. In this example, we just have two layers, so you shouldnt worry about that now.
With that, we get the nal DEM we want.
Now it is time to compute the slope layer.
A slope layer can be computed with the Slope, Aspect, Curvature algorithm, but the DEM obtained in the last step
is not suitable as input, since elevation values are in meters but cellsize is not expressed in meters (the layer usesa CRS with geographic coordinates). A reprojection is needed. To reproject a raster layer, the Warp (reproject)algorithm can be used again. We reproject into a CRS with meters as units (e.g. 3857), so we can then correctlycalculate the slope, with either SAGA or GDAL.
Here is the reprojected DEM.
17.15. Clipping and merging raster layers 489
7/24/2019 QGIS 2.8 QGISTrainingManual Es
497/637
QGIS Training Manual, Publicacin 2.8
With the new DEM, slope can now be computed.
490 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
498/637
QGIS Training Manual, Publicacin 2.8
And here is the resulting slope layer.
17.15. Clipping and merging raster layers 491
7/24/2019 QGIS 2.8 QGISTrainingManual Es
499/637
QGIS Training Manual, Publicacin 2.8
The slope produced by the Slope, Aspect, Curvature algorithm is expressed in radians, but degrees are a morepractical and common unit. The Metric conversions algorithm will help us to do the conversion (but in case youdidnt know that algorithm existed, you could use the raster calculator that we have already used).
492 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
500/637
QGIS Training Manual, Publicacin 2.8
Reprojecting the converted slope layer back with the Reproject raster layer , we get the nal layer we wanted.
Advertencia: todo: Add image
The reprojection processes have caused the nal layer to contain data outside the bounding box that we calculatedin one of the rst steps. This can be solved by clipping it again, as we did to obtain the base DEM.
17.16 Hydrological analysis
Nota: In this lesson we will perform some hydrological analysis. This analysis will be used in some of thefollowing lessons, as it constitutes a very good example of an analysis workow, and we will use it to demonstratesome advanced features.
In this lesson, we are going to do some hydrological analysis. Starting with a DEM, we are going to extract achannel network, delineate watersheds and calculate some statistics.
The rst thing is to load the project with the lesson data, which just contains a DEM.
17.16. Hydrological analysis 493
7/24/2019 QGIS 2.8 QGISTrainingManual Es
501/637
QGIS Training Manual, Publicacin 2.8
The rst module to execute is Catchment area . You can use anyone of the others named Catchment area . Theyhave different algorithms underneath, but the results are basically the same.
Select the DEM in the Elevation eld, and leave the default values for the rest of parameters.
494 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
502/637
QGIS Training Manual, Publicacin 2.8
Some algorithms calculate many layers, but the Catchment Area one is the only one we will be using.
You can get rid of the other ones if you want.
The rendering of the layer is not very informative.
To know why, you can have a look at the histogram and you will see that values are not evenly distributed (thereare a few cells with very high value, those corresponding to the channel network). Calculating the logarithm of thecatchment area value yields a layer that conveys much more information (you can do it using the raster calculator).
17.16. Hydrological analysis 495
7/24/2019 QGIS 2.8 QGISTrainingManual Es
503/637
QGIS Training Manual, Publicacin 2.8
The catchment area (also known as ow accumulation), can be used to set a threshold for channel initiation. Thiscan be done using the Channel network algorithm. Here is how you have to set it up (note the Initiation threshold Greater than 10.000.000).
496 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
504/637
QGIS Training Manual, Publicacin 2.8
Use the original catchment area layer, not the logarithm one. That one was just for rendering purposes.
If you increase the Initiation threshold value, you will get a more sparse channel network. If you decrease it, youwill get a denser one. With the proposed value, this is what you get.
17.16. Hydrological analysis 497
7/24/2019 QGIS 2.8 QGISTrainingManual Es
505/637
QGIS Training Manual, Publicacin 2.8
The image above shows just the resulting vector layer and the DEM, but there should be also a raster one with thesame channel network. That raster one will be, in fact, the one we will be using.
Now, we will use the Watersheds basins algorithm to delineate the subbasins corresponding to that channel net-work, using as outlet points all the junctions in it. Here is how you have to set the corresponding parametersdialog.
498 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
506/637
QGIS Training Manual, Publicacin 2.8
And this is what you will get.
This is a raster result. You can vectorise it using the Vectorising grid classes algorithm.
17.16. Hydrological analysis 499
7/24/2019 QGIS 2.8 QGISTrainingManual Es
507/637
QGIS Training Manual, Publicacin 2.8
Now, lets try to compute statistics about the elevation values in one of the subbasins. The idea is to have a layerthat just represents the elevation within that subbasin and then pass it to the module that calculates those statistics.
500 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
508/637
QGIS Training Manual, Publicacin 2.8
First, lets clip the original DEM with the polygon representing a subbasin. We will use the Clip grid with polygonalgorithm. If we select a single subbasin polygon and then call the clipping algorithm, we can clip the DEM to thearea covered by that polygon, since the algorithm is aware of the selection.
Select a polygon,
and call the clipping algorithm with the following parameters:
17.16. Hydrological analysis 501
7/24/2019 QGIS 2.8 QGISTrainingManual Es
509/637
QGIS Training Manual, Publicacin 2.8
The element selected in the input eld is, or course, the DEM we want to clip.
You will get something like this.
502 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
510/637
QGIS Training Manual, Publicacin 2.8
This layer is ready to be used in the Raster layer statistics algorithm.
The resulting statistics are the following ones.
We will use both the basin calculations procedure and the statistics calculation in other lessons, to nd out howother elements can help us automate both of them and work more effectively.
17.16. Hydrological analysis 503
7/24/2019 QGIS 2.8 QGISTrainingManual Es
511/637
QGIS Training Manual, Publicacin 2.8
17.17 Starting with the graphical modeler
Nota: In this lesson we will use the graphical modeler, a powerful component that we can use to dene a workowand run a chain of algorithms.
A normal session with the processing tools includes more than running a single algorithm. Usually several of them are run to obtain a result, and the outputs of some of those algorithms are used as input for some of the otherones.
Using the graphical modeler, that workow can be put into a model, which will run all the necessary algorithmsin a single run, thus simplifying the whole process and automating it.
To start this lesson, we are going to calculate a parameter named Topographic Wetness Index. The algorithm thatcomputes it is called Topographic wetness index (twi)
As you can see, there are two mandatory inputs: Slope and Catchment area . There is also an optional input, butwe will not be using it, so we can ignore it.The data for this lesson contains just a DEM, so we do not have any of the required inputs. However, we knowhow to calculate both of them from that DEM, since we have already seen the algorithms to compute slope andcatchment area. So we can rst compute those layers and then use them for the TWI algorithm.
Here are the parameter dialogs that you should use to calculate the 2 intermediate layers.
504 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
512/637
QGIS Training Manual, Publicacin 2.8
17.17. Starting with the graphical modeler 505
7/24/2019 QGIS 2.8 QGISTrainingManual Es
513/637
QGIS Training Manual, Publicacin 2.8
And this is how you have to set the parameters dialog of the TWI algorithm.
506 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
514/637
QGIS Training Manual, Publicacin 2.8
This is the result that you will obtain (the default singleband pseudocolor inverted palette has been used forrendering). You can use the twi.qml style provided.
What we will try to do now is to create an algorithm that calculates the TWI from a DEM in just one single step.That will save us work in case we later have to compute a TWI layer from another DEM, since we will need just
17.17. Starting with the graphical modeler 507
7/24/2019 QGIS 2.8 QGISTrainingManual Es
515/637
QGIS Training Manual, Publicacin 2.8
one single step to do it instead of the 3 ones above. All the processes that we need are found in the toolbox, sowhat we have to do is to dene the workow to wrap them. This is where the graphical modeler comes in.
Open the modeler by selecting its menu entry in the processing menu.
Two things are needed to create a model: setting the inputs that it will need, and dening the algorithm thatit contains. Both of them are done by adding elements from the two tabs in the lefthand side of the modelerwindow: Inputs and Algorithms
Lets start with the inputs. In this case we do not have much to add. We just need a raster layer with the DEM,and that will be our only input data.
Double click on the Raster layer input and you will see the following dialog.
Here we will have to dene the input we want. Since we expect this raster layer to be a DEM, we will call it DEM .Thats the name that the user of the model will see when running it. Since we need that layer to work, we willdene it as a mandatory layer.
Here is how the dialog should be congured.
508 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
516/637
QGIS Training Manual, Publicacin 2.8
Click on OK and the input will appear in the modeler canvas.
Now lets move to the Algorithms tab. The rst algorithm we have to run is the Slope, aspect, curvature algorithm.Locate it in the algorithm list, doubleclick on it and you will see the dialog shown below.
17.17. Starting with the graphical modeler 509
7/24/2019 QGIS 2.8 QGISTrainingManual Es
517/637
QGIS Training Manual, Publicacin 2.8
This dialog is very similar to the one that you can nd when running the algorithm from the toolbox, but theelement that you can use as parameter values are not taken from the current QGIS project, but from the modelitself. That means that, in this case, we will not have all the raster layers of our project available for the Elevationeld, but just the ones dened in our model. Since we have added just one single raster input named DEM , thatwill be the only raster layer that we will see in the list corresponding to the Elevation parameter.
Output generated by an algorithm are handled a bit differently when the algorithm is used as a part of a model.Instead of selecting the lepath where you want to save each output, you just have to specify if that ouput is anintermediate layer (and you do not want it to be preserved after the model has been executed), or it is a nal one.In this case, all layers produced by this algorithm are intermediate. We will only use one of them (the slope layer),but we do not want to keep it, since we just need it to calculate the TWI layer, which is the nal result that wewant to obtain.
When layers are not a nal result, you should just leave the corresponding eld. Otherwise, you have to enter aname that will be used to identify the layer in the parameters dialog that will be shown when you run the modellater.
There is not much to select in this rst dialog, since we do not have but just one layer in or model (The DEM inputthat we created). Actually, the default conguration of the dialog is the correct one in this case, so you just haveto press OK . This is what you will now have in the modeler canvas.
510 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
518/637
QGIS Training Manual, Publicacin 2.8
The second algorithm we have to add to our model is the catchment area algorithm. We will use the algorithmnamed Catchment area (Paralell) . We will use the DEM layer again as input, and none of the ouputs it producesare nal, so here is how you have to ll the corresponding dialog.
17.17. Starting with the graphical modeler 511
7/24/2019 QGIS 2.8 QGISTrainingManual Es
519/637
QGIS Training Manual, Publicacin 2.8
Now your model should look like this.
512 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
520/637
QGIS Training Manual, Publicacin 2.8
The last step is to add the Topographic wetness index algorithm, with the following conguration.
In this case, we will not be using the DEM as input, but instead, we will use the slope and catchment area layersthat are calculated by the algorithms that we previously added. As you add new algorithms, the outputs they
produce become available for other algorithms, and using them you link the algorithms, creating the workow.In this case, the output TWI layer is a nal layer, so we have to indicate so. In the corresponding textbox, enter
17.17. Starting with the graphical modeler 513
7/24/2019 QGIS 2.8 QGISTrainingManual Es
521/637
QGIS Training Manual, Publicacin 2.8
the name that you want to be shown for this output.
Now our model is nished and it should look like this.
Enter a name and a group name in the upper part of the model window, and then save it clicking on the Savebutton.
You can save it anywhere you want and open it later, but if you save it in the models folder (which is the folderthat you will see when the save le dialog appears), you model will also be available in the toolbox as well. Sostay on that folder and save the model with the lename that you prefer.
Now close the modeler dialog and go to the toolbox. In the Models entry you will nd you model.
You can run it just like any normal algorithm, doubleclicking on it.
514 Chapter 17. La gua de procesamiento de QGIS
7/24/2019 QGIS 2.8 QGISTrainingManual Es
522/637
QGIS Training Manual, Publicacin 2.8
As you can see, the parameters dialog, contain the input that you added to the model, along with the outputs thatyou set as nal when adding the corresponding algorithms.
Run it using the DEM as input and you will get the TWI layer in just one single step.
17.18 Modelos ms complejos
Nota: En esta leccin vamos a trabajar con un modelo ms complejo en el modelador grco.
El primer modelo que hemos creado en el captulo anterior era muy simple, con una sola entrada y 3 algoritmos.Los modelos ms complejos se pueden crear, con diferentes tipos de entradas y contienen ms pasos. Para estecaptulo trabajaremos con un modelo que crea una capa vectorial con las cuencas hidrogrcas, en base a un DEMy un valor de umbral. Eso ser muy til para el clculo de varias capas vectoriales correspondientes a diferentes
umbrales, sin tener que repetir cada paso sencillo cada vez.Esta leccin no contiene instrucciones sobre cmo crear su modelo. Ya conoce los pasos necesarios (los vimosen una leccin anterior) y ya ha visto las ideas bsicas sobre el modelador, por lo que debe hacerlo por s mismo.Dedique unos minutos para tratar de crear su modelo, y no se preocupe por cometer errores. Recuerde: agregarprimero las entradas y despus agregar los algoritmos que los usan para crear el ujo de trabajo.
En caso de que no pudiera crear el mode
Top Related