QGIS 2.8 QGISTrainingManual Es

download QGIS 2.8 QGISTrainingManual Es

of 638

Transcript of QGIS 2.8 QGISTrainingManual Es

  • 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%29
  • 7/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