Skip to content

Instantly share code, notes, and snippets.

@gacarrillor
Created August 10, 2020 04:10
Show Gist options
  • Save gacarrillor/1e1d6c0515644695badc740ffbb33d22 to your computer and use it in GitHub Desktop.
Save gacarrillor/1e1d6c0515644695badc740ffbb33d22 to your computer and use it in GitHub Desktop.

Ejercicios propuestos para cada sesión

Tarea:

  • Seleccionar manualmente un departamento. Usando análisis espacial (con PyQGIS) cortar las vías (capa "roads") que pasan por ese departamento. Sumar la longitud de las vías cortadas.
  • Opcional: Cargar manualmente las capas "world" y "hackfests" a QGIS. Seleccionar manualmente un país de la capa world. Obtener el nombre del (de los) hackfest(s) realizados en ese país.

Tarea:

  • Con el script de la tarea anterior (vías y departamentos):
    • Obtener en kilómetros la longitud total de vías cortadas.
    • Usar comandos de Processing donde sea posible.
    • Crear un campo en capa Provinces (o Departamentos) y llenar en ese campo la longitud total de las vías que pasan por cada departamento.
  • Hacer una macro personalizada según un caso de uso que elijas.
  • Hacer una acción personalizada según un caso de uso que elijas.

Tarea:

  • Hacer un algoritmo (script) de geoprocesamiento con base en el script de las tareas anteriores (Sumar longitud de vías cortadas). El algoritmo debe recibir: 1) capa de vías, 2) capa de departamentos y 3) el campo de la capa departamentos donde se almacenará la suma. El algoritmo debe modificar la capa actual y no crear una nueva.

Tarea:

  • Llevar el script de la suma de vías cortadas por departamento a un plugin. Para ello, debemos hacer un plugin que tenga un diálogo con los siguientes controles: 1) Combo de capas tipo polígono para seleccionar la capa de Departamentos. 2) Combo de campos de la capa de polígonos donde se almacenará la suma de las vías. 3) Combo de capas tipo línea para seleccionar la capa de vías. 4) Button Box con botones de Aceptar y Cancelar. El botón Aceptar debe ejecutar todo el proceso y al final de la ejecución se debe mostrar un mensaje al usuario.
  1. No hay tarea por ser la sesión final.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment