17.12. Definir Extensiones
Nota
En esta lección aprenderemos cómo definir extensiones, necesarias especialmente para algoritmos raster.
Algunos algoritmos requieren una extensión que defina el área a ser cubierta por el análisis y, asimismo, que defina la extensión de la capa resultante.
Cuando se requiere una extensión, la misma puede ser establecida manualmente ingresando los cuatro valores que la definen (min X, min Y, max X, max Y); sin embargo en esta lección veremos otros modos más prácticos e interesantes para hacer lo mismo.
En primer lugar, abra un algoritmo que requiera la definición de una extensión. Abra el algoritmo Rasterize, que crea una capa raster a partir de una capa vectorial.
Todos los parámetros, excepto los dos últimos, se utilizan para definir qué capa se rasterizará y configurar cómo debe funcionar el proceso de rasterización. Los dos últimos parámetros, por otro lado, definen las características de la capa de salida. Eso significa que definen el área que está cubierta (que no es necesariamente la misma área cubierta por la capa de vector de entrada) y la resolución / tamaño de celda (que no se puede inferir de la capa vectorial, ya que las capas vectoriales no tienen un tamaño de celda) .
Lo primero que podemos hacer es ingresar los 4 valores explicados anteriormente, separados por comas.
Ello no requiere de más explicaciones. Si bien es la opción más flexible, en algunos casos resulta la menos práctica, por eso se implementaron otras opciones. Para acceder a ellas es necesario hacer clic en el botón a la derecha del recuadro de extensión.
Veamos cómo funciona cada una de ellas.
La primera opción es Usar extensión de capa/lienzo que desplegará el recuadro de diálogo mostrado abajo.
Aquí se puede seleccionar la extensión del lienzo (correspondiente al zum vigente) o la extensión de cualquiera de las capas disponibles. Se selecciona, se pulsa OK y el cuadro de texto se completará automáticamente con los valores correspondientes.
La segunda opción es Seleccionar extensión sobre el lienzo. En este caso, el cuadro de diálogo del algoritmo desaparece y se puede pulsar y arrastrar el cursor en el lienzo de QGIS para definir la extensión deseada.
Una vez que se suelta el botón del ratón, el cuadro de diálogo vuelve a aparecer con los valores correspondientes a la extensión definida.
La última opción es Usar la extensión mínima de cobertura a partir de las capas de entrada. Esta es la opción predeterminada. Calcula la extensión mínima que cubre todas las capas usadas para correr el algoritmo y no es necesario ingresar ningún valor en el cuadro de texto. En el caso de usar una sola capa, como en el algoritmo que estamos usando, la misma extensión puede obtenerse seleccionando la misma capa de entrada en Usar extensión de capa/lienzo. Sin embargo, cuando hay muchas capas de entrada, la mínima extensión no corresponde a la extensión de ninguna de las capas ya que se calcula a partir de todas ellas tomadas en conjunto.
Usaremos este último método para ejecutar el algoritmo de rasterización.
Es necesario llenar el cuadro de diálogo de parámetros tal como se muestra a continuación y se pulsa OK.
Nota
En este caso será mejor usar Integer (1byte) en lugar de Floating point (4byte), dado que el NAME es un entero cuyo valor máximo =64. Esto dará como resultado un archivo más pequeño y cálculos más veloces.
Obtendremos una capa raster que cubre exactamente el área cubierta por la capa vectorial original.
En algunos casos, la última opción Usar la extensión mínima de cobertura a partir de las capas de entrada puede no hallarse disponible. Esto ocurrirá en aquellos algoritmos que no requieren capas de entrada sino sólo parámetros de otra índole. En esos casos se deberá ingresar los valores manualmente o usar algunas de las otras opciones.
Hay que tomar en cuenta que cuando existe una selección, la extensión de la capa es la del conjunto total de objetos espaciales y la selección no es utilizada para calcular la extensión, aun cuando la rasterización se lleva a cabo sólo sobre los elementos seleccionados. De otro modo sería necesario crear una nueva capa a partir de la selección y utilizarla como entrada.