23. Integracion GRASS SIG
La integración de GRASS proporciona acceso a las bases de datos y funcionalidades de GRASS GIS (ver GRASS-PROJECT en Referencias bibliográficas y web). La integración consta de dos partes: proveedor y complemento. El proveedor permite navegar, administrar y visualizar capas raster y vectoriales de GRASS. El complemento se puede utilizar para crear nuevas ubicaciones y conjuntos de mapas de GRASS, cambiar la región de GRASS, crear y editar capas vectoriales y analizar datos de GRASS 2-D y 3-D con más de 400 módulos de GRASS. En esta sección, presentaremos las funcionalidades del proveedor y el complemento y daremos algunos ejemplos de cómo administrar y trabajar con datos de GRASS.
El proveedor es compatible con GRASS versión 6 y 7, el complemento es compatible con GRASS 6 y 7 (a partir de QGIS 2.12). La distribución de QGIS puede contener un proveedor / complemento para GRASS 6 o GRASS 7 o para ambas versiones al mismo tiempo (los binarios tienen diferentes nombres de archivo). Sin embargo, solo se puede cargar una versión del proveedor/complemento en tiempo de ejecución.
23.1. Conjuntos de datos demostración
Como ejemplo, usaremos el conjunto de datos QGIS Alaska (ver sección Descargando datos de muestra). Incluye una pequeña muestra de GRASS LOCATION
con tres capas vectoriales y un mapa de elevación ráster. Cree una nueva carpeta llamada grassdata
, descargue el conjunto de datos de QGIS “Alaska” qgis_sample_data.zip
de https://qgis.org/downloads/data/ y descomprima el archivo en grassdata
.
Más muestras de GRASS LOCATIONs
están disponibles en la página web GRASS en https://grass.osgeo.org/download/data/.
23.2. Cargar capas ráster y vectorial de GRASS
Si el proveedor está cargado en QGIS, el elemento de ubicación con GRASS | grass | El icono se agrega en el árbol del navegador debajo de cada elemento de carpeta que contiene la ubicación de GRASS. Vaya a la carpeta grassdata
y expanda la ubicación alaska
y mapset demo
.
Puede cargar capas ráster y vectoriales de GRASS como cualquier otra capa desde el navegador, ya sea haciendo doble clic en el elemento de capa o arrastrando y soltando al lienzo del mapa o la leyenda.
Truco
Cargando datos GRASS
Si no ve el elemento de ubicación de GRASS, verifique en
si está cargado el proveedor de vectores GRASS.23.3. Importar datos dentro de una UBICACIÓN DE GRASS mediante arrastrar y soltar
Esta sección ofrece un ejemplo de cómo importar datos ráster y vectoriales en un conjunto de mapas de GRASS.
En el navegador QGIS, navegue hasta el conjunto de mapas en el que desea importar datos.
En el navegador QGIS busque una capa que desee importar a GRASS, tenga en cuenta que puede abrir otra instancia del navegador (Panel del navegador (2)) si los datos de origen están demasiado lejos del conjunto de mapas en el árbol.
Arrastre una capa y suéltela en el conjunto de mapas de destino. La importación puede llevar algún tiempo para capas más grandes, verá el icono animado delante del nuevo elemento de capa hasta que finalice la importación.
Cuando los datos ráster están en diferentes SRC, pueden reproyectarse usando una transformación Aproximada (rápida) o Exacta (precisa). Si se crea un enlace al ráster de origen (utilizando r.external
), los datos de origen están en el mismo CRS y el formato es conocido por GDAL, se utilizará el SRC de datos de origen. Puede configurar estas opciones en la pestaña Navegador en Opciones GRASS.
Si un ráster de origen tiene más bandas, se crea un nuevo mapa de GRASS para cada capa con el sufijo .<band number> y grupo de todos los mapas con Se crea el icono. Los rásteres externos tienen un icono diferente .
23.4. Administrar datos de GRASS en el navegador QGIS
Copia de mapas: los mapas de GRASS se pueden copiar entre conjuntos de mapas dentro de la misma ubicación usando arrastrar y soltar.
Eliminación de mapas: haga clic con el botón derecho en un mapa de GRASS y seleccione Eliminar del menú contextual.
Cambiar el nombre de los mapas: haga clic con el botón derecho en un mapa de GRASS y seleccione Renombrar en el menú contextual.
23.5. Opciones GRASS
Las opciones de GRASS se pueden configurar en el cuadro de diálogo Opciones de GRASS, que se puede abrir haciendo clic con el botón derecho en la ubicación o el elemento del conjunto de mapas en el navegador y luego eligiendo Opciones de GRASS.
23.6. Iniciar el complemento GRASS
Para usar las funcionalidades de GRASS en QGIS, debe seleccionar y cargar el complemento de GRASS usando el Administrador de complementos. Para hacer esto, vaya al menú , seleccione GRASS y haga clic en Aceptar.
Las siguientes funciones principales se proporcionan con el menú de GRASS (
) cuando inicia el complemento de GRASS:23.7. Abrir directorio de mapas
Se debe abrir un conjunto de mapas de GRASS para obtener acceso a las herramientas de GRASS en el complemento (las herramientas están deshabilitadas si no hay ningún conjunto de mapas abierto). Puede abrir un conjunto de mapas desde el navegador: haga clic con el botón derecho en el elemento del conjunto de mapas y luego elija Open mapset del menú contextual.
23.8. LOCALIZACIÓN y DIRECTORIO DE MAPA GRASS
Los datos de GRASS se almacenan en un directorio denominado GISDBASE. Este directorio, a menudo llamado grassdata
, debe crearse antes de comenzar a trabajar con el complemento GRASS en QGIS. Dentro de este directorio, los datos de GRASS GIS están organizados por proyectos almacenados en subdirectorios llamados LOCATIONs
. Cada LOCATION
se define por su sistema de coordenadas, proyección de mapa y límites geográficos. Cada LOCATION
puede tener varios MAPSETs
(subdirectorios del LOCATION
) que se utilizan para subdividir el proyecto en diferentes temas o subregiones, o como espacios de trabajo para miembros individuales del equipo (ver Neteler & Mitasova 2008 en literatura_y_web). Para analizar capas vectoriales y ráster con módulos GRASS, generalmente debe importarlas a un archivo GRASS LOCATION
. (Esto no es estrictamente cierto; con los módulos GRASS r.external
y :file:` v.external` puede crear enlaces de solo lectura a conjuntos de datos externos compatibles con GDAL/OGR sin importarlos. Esto es no es la forma habitual para que los principiantes trabajen con GRASS, por lo que esta funcionalidad no se describirá aquí.)
23.9. Importar datos dentro de una LOCALIZACIÓN DE GRASS
Ver sección Importar datos dentro de una UBICACIÓN DE GRASS mediante arrastrar y soltar para descubrir cómo se pueden importar fácilmente los datos arrastrando y soltando en el navegador.
Esta sección ofrece un ejemplo de cómo importar datos ráster y vectoriales en el archivo GRASS de “alaska” :file:”LOCATION” proporcionado por el conjunto de datos de QGIS “Alaska” de forma tradicional, utilizando módulos GRASS estándar. Por lo tanto, usamos el mapa ráster de cobertura terrestre landcover.img
y el archivo vectorial GML :file:` lakes.gml` del conjunto de datos QGIS “Alaska” (ver Descargando datos de muestra).
Inicie QGIS y asegúrese que el complemento GRASS está cargado.
En la barra de herramientas de GRASS, haga clic en el icono Abrir directorio de mapas para que aparezca el asistente DIRECTORIO DE MAPA.
Seleccione como base de datos GRASS la carpeta: archivo: grassdata en el conjunto de datos de QGIS Alaska, como
LOCATION
“alaska”, comoMAPSET
“demo” y haga clic en Aceptar.Ahora haga clic en el icono Abrir herramientas de GRASS. El diálogo de la caja de herramientas de GRASS (vea la sección La caja de herramientas GRASS) aparece.
Para importar el mapa ráster
landcover.img
, haga clic en el modulor.in.gdal
en la pestaña Árbol de módulos. Este modulo GRASS le permite importar archivos ráster GDAL-admitidos en unLOCALIZACIÓN
de GRASS. El diálogo del módulo para quer.in.gdal
aparezca.Navegue al navegador
raster
en el conjunto de datos de QGIS “Alaska” y seleccione el archivolandcover.img
.Como nombre de ráster saliente, define
landcover_grass
y click en Ejecutar. en la pestaña Salida, ve el comando GRASS que se está ejecutando actualmenter.in.gdal -o input=/path/to/landcover.img output=landcover_grass
.Cuando dice finalizado satisfactoriamente, click en Ver salida. La capa ráster
landcover_grass
ahora se importa a GRASS y se visualizará en el lienzo de QGIS.Para importar el archivo vector GML
lakes.gml
, haga clic en el modulov.in.ogr
en la pestaña Árbol de módulos. Este modulo GRASS le permite importar archivos vectoriales OGR-admitidos en unaLOCAZACIÓN
de GRASS. El diálogo del modulo para quev.in.ogr
aparezca.Busque la carpeta
gml
en el conjunto de datos de QGIS “Alaska” y seleccione el archivolakes.gml
como archivo OGR.Como nombre de salida del vector, defina
lakes_grass
y haga clic en Ejecutar. No tiene que preocuparse por las otras opciones en este ejemplo. En la pestaña Salida, verá el comando GRASS que se está ejecutando actualmentev.in.ogr -o dsn=/path/to/lakes.gml output=lakes\_grass
.Cuando diga Finalizado satisfactoriamente, haga clic en Ver salida. La capa vectorial
lakes_grass
ahora se importa a GRASS y se visualizará en el lienzo de QGIS.
23.9.1. Crear una nueva LOCALIZACIÓN GRASS
Como ejemplo, aquí está el ejemplo de GRASS LOCATION alaska
, que se proyecta en la proyección Albers Equal Area usando pies como unidades. Este archivo de ejemplo de GRASS LOCATION alaska
se utilizará para todos los ejemplos y ejercicios de las siguientes secciones relacionadas con GRASS. Es útil descargar e instalar el conjunto de datos en su computadora (ver: ref: label_sampledata).
Inicie QGIS y asegúrese que el complemento GRASS está cargado.
Visualice el shapefile
alaska.shp
(ver sección Cargando una capa desde archivo) del conjunto de datos QGIS Alaska (ver Descargando datos de muestra).En la barra de herramientas de GRASS, haga clic en el icono Nuevo mapaset para traer al wizard MAPSET.
Seleccione una carpeta de base de datos GRASS (GISDBASE) existente
grassdata
, o crea uno para la nuevaLOCATION
usando un administrador de archivos en su computadora. Luego haga clic en Siguiente.Podemos usar este asistente para crear un nuevo
MAPSET
dentro de unLOCATION
existente (ver sección Añadir un nuevo DIRECTORIO DE MAPA) o para crear un nuevoLOCATION
por completo. Seleccione Crear nueva ubicación (ver Figura 23.2).Introduzca un nombre para
LOCATION
– nosostros usamos “alaska” – y haga click en Siguiente.Defina la proyección haciendo clic en el botón de radio Proyección para habilitar la lista de proyección.
Estamos usando la proyección Albers Equal Area Alaska (pies). Puesto que nos ha tocado saber que está representado por el EPSG ID 2964, ingresamos en el cuadro de búsqueda. (Nota: Si desea repetir este proceso para otra
LOCALIZACIÓN
y proyección y no ha memorizado el EPSG ID, haga clic en el icono SRC actual en la esquina inferior derecha de la barra de estado (vea sección Trabajar con Proyecciones)).En Filtrar, inserte 2964 para seleccionar la proyección.
Haz clic en Siguiente.
Para definir la región predeterminada, tenemos que ingresar los límites de
LOCATION
en dirección norte, sur, este, y oeste. Aquí, simplemente hacemos clic en el botón Establecer la extensión actual de QGIS, para aplicar la extensión de la capa cargadaalaska.shp
como la extensión de región predeterminada de GRASS.Haz clic en Siguiente.
También necesitamos definir un
MAPSET
dentro de nuestro nuevaLOCATION
(esto es necesario al crear una nuevaLOCATION
). Puedes nombrarlo como quieras, usamos “demo”. GRASS crea automáticamente un especialMAPSET
llamadaPERMANENT
, diseñado para almacenar los datos centrales del proyecto, su extensión espacial predeterminada y las definiciones del sistema de coordenadas (ver Neteler & Mitasova 2008 en Referencias bibliográficas y web).Consulte el resumen para asegurarse de que sea correcto y haga clic en Finalizar.
La nueva
LOCALIZACIÓN
, “alaska”, y los dosDIRECTORIO DE MAPAS
, “demo” y “PERMANENT”, son creados. El conjunto de trabajo abierto actualmente es “demo”, como se ha definido.Tenga en cuenta que algunas de las herramientas en la barra de herramientas de GRASS que estaban inhabilitadas ahora están habilitadas.
Si eso parecía como una gran cantidad de pasos, en realidad no es tan malo y una forma muy rápida de crear una LOCALIZACIÓN
. La LOCALIZACIÓN
“alaska” ahora está listo para la importación de datos (vea la sección Importar datos dentro de una LOCALIZACIÓN DE GRASS). También puede utilizar los datos ya existentes vectoriales y ráster en el ejemplo LOCALIZACIÓN
“alaska” de GRASS, incluido en el conjunto de datos “Alaska” de QGIS Descargando datos de muestra, ya pasar a la sección El modelo de datos vectoriales de GRASS.
23.9.2. Añadir un nuevo DIRECTORIO DE MAPA
Un usuario sólo tiene acceso de escritura a un DIRECTORIO DE MAPA
GRASS que él o ella crearon. Esto significa que además de acceder a su propio DIRECTORIO DE MAPA
, se pueden leer mapas de otros usuarios” DIRECTORIO DE MAPAS
(y ellos pueden leer los tuyos), pero sólo puede modificar o eliminar su propio DIRECTORIO DE MAPA
.
Todos los DIRECTORIO DE MAPAS
incluyen un archivo WIND
que almacena los valores de las coordenadas de los límites actuales y la resolución ráster actualmente seleccionado (vea Neteler & Mitasova 2008 en Referencias bibliográficas y web, y la sección La herramienta de región GRASS).
Inicie QGIS y asegúrese que el complemento GRASS está cargado.
En la barra de herramientas de GRASS, haga clic en el icono Nuevo mapaset para traer al wizard MAPSET.
Seleccione la base de datos GRASS (GISDBASE) la carpeta
grassdata
con laLOCALIZACIÓN
“alaska”, donde queremos añadir otroDIRECTORIO DE MAPA
llamado “test”.Haz clic en Siguiente.
Podemos usar este asistente para crear un nuevo
MAPSET
dentro de unaUBICACIÓN
existente o para crear una nuevaUBICACIÓN
por completo. Haga click en el botón de opción Seleccionar ubicación (ver Figura 23.2) y haga click en Siguiente.Introduzca el nombre
test
para el nuevoMAPSET
. Abajo en el asistente, verá una lista deMAPSETs
y propietarios correspondientes.Click en Siguiente, consulte el resumen para asegurarse de que esté todo correcto y haga clic en Finalizar.
23.10. El modelo de datos vectoriales de GRASS
Es importante comprender el Modelo de datos vectoriales de GRASS antes de digitalizar. En general, GRASS utiliza un modelo vectorial topológico. Esto significa que las áreas no se representan como polígonos cerrados, sino por uno o más límites. Un límite entre dos áreas adyacentes se digitaliza solo una vez y es compartido por ambas áreas. Los límites deben estar conectados y cerrados sin espacios. Un área se identifica (y etiqueta) por el centroide del área.
Además de los límites y centroides, un mapa vectorial también puede contener puntos y líneas. Todos estos elementos geométricos se pueden mezclar en una vector y serán representados en diferentes denominadas “capas” dentro de un mapa vectorial GRASS. Por lo que en GRASS, una capa no es un mapa vectorial o ráster pero un nivel dentro de una capa vectorial. Esto es importante para distinguir cuidadosamente. (aunque es imposible mezclar elementos, es inusual e incluso en GRASS, sólo se utiliza en casos especiales como análisis de redes vectoriales. Usualmente, se debe preferir almacenar diferentes elementos geométricos en diferentes capas.)
Es posible almacenar varias “capas” en un conjunto de datos vectoriales. Por ejemplo, campos, bosques y lagos se pueden almacenar en un vector. Un bosque y lago adyacente pueden compartir el mismo límite, pero tienen tablas de atributos separados. También es posible adjuntar atributos a límites. Un ejemplo podría ser el caso donde los límites entre un lago y un bosque es una carretera, por lo que puede tener una tabla de atributos diferente.
La “capa” del objeto espacial es definido por la “capa” dentro de GRASS. “Capa” es el número que define si hay más de una capa dentro del conjunto de datos (por ejemplo, si la geometría es bosque o lago). Por ahora, sólo puede ser un número. En el futuro, GRASS también implementara nombres como campos en la interfaz de usuario.
Los atributos se pueden almacenar dentro de la LOCALIZACIÓN
en GRASS como dBase o SQLite3 o en tablas de base de datos externa, por ejemplo, PostgreSQL, MySQL, Oracle, etc.
Los atributos en la tabla de base de datos están enlazadas a los elementos geométricos utilizando un valor “categoría”.
“Categoría” (llave, ID) es un entero adjunto a la geometría primitiva, y se utiliza como el enlace a una columna llave en la tabla de base de datos.
Truco
Aprendizaje del modelo vectorial GRASS
La mejor manera de aprender el modelo vectorial GRASS y sus capacidades es descargar uno de los muchos tutoriales de GRASS donde se describe el modelo vectorial en más profundidad. Vea en https://grass.osgeo.org/learn/manuals/ más información, libros y tutoriales en diversos idiomas.
23.11. Crear una nueva capa vectorial GRASS
Para crear una nueva capa vectorial de GRASS, seleccione uno de los siguientes elementos del menú contextual del conjunto de mapas en el navegador:
Nueva Capa de Puntos
Nueva Capa de Líneas
Nueva capa de polígonos
e ingrese un nombre en el diálogo. Se creará un nuevo mapa vectorial, se agregará una capa al lienzo y se iniciará la edición. La selección del tipo de capa no restringe los tipos de geometría que se pueden digitalizar en el mapa vectorial. En GRASS, es posible organizar todo tipo de tipos de geometría (punto, línea y polígono) en un mapa vectorial. El tipo solo se usa para agregar la capa al lienzo, porque QGIS requiere que una capa tenga un tipo específico.
También es posible agregar capas a mapas vectoriales existentes seleccionando uno de los elementos descritos anteriormente del menú contextual del mapa vectorial existente.
En GRASS, es posible organizar todo tipo de tipos de geometría (punto, línea y área) en una capa, porque GRASS utiliza un modelo de vector topológico, por lo que no es necesario seleccionar el tipo de geometría al crear un nuevo vector de GRASS. Esto es diferente de la creación de shapefile con QGIS, porque los shapefiles usan el modelo vectorial de entidades simples (ver sección Creando nuevas capas vectoriales).
23.12. Digitalizar y editar una capa vectorial GRASS
Las capas vectoriales de GRASS se pueden digitalizar utilizando las herramientas de digitalización estándar de QGIS. Sin embargo, existen algunas particularidades que debe conocer debido a
Modelo topológico de GRASS versus entidad simple de QGIS
complejidad del modelo GRASS
múltiples capas en mapas únicos
múltiples tipos de geometría en un solo mapa
compartir geometría por múltiples entidades de múltiples capas
Las particularidades se discuten en las siguientes secciones.
Guardar, descartar cambios, deshacer, rehacer
Advertencia
Todos los cambios realizados durante la edición se escriben inmediatamente en el mapa vectorial y las tablas de atributos relacionados.
Los cambios se escriben después de cada operación, sin embargo, es posible deshacer/rehacer o descartar todos los cambios al cerrar la edición. Si se usa deshacer o descartar cambios, el estado original se reescribe en el mapa vectorial y las tablas de atributos.
Hay dos razones principales para este comportamiento:
Es la naturaleza de los vectores GRASS que surge de la convicción de que el usuario quiere hacer lo que está haciendo y es mejor tener los datos guardados cuando el trabajo se interrumpe repentinamente (por ejemplo, apagón)
La necesidad de una edición eficaz de los datos topológicos es la información visualizada sobre la corrección topológica; dicha información solo se puede adquirir del mapa vectorial de GRASS si se escriben cambios en el mapa.
Barra de herramientas
La “Barra de herramientas de digitalización” tiene algunas herramientas específicas cuando se edita una capa de GRASS:
Icono |
Herramienta |
Propósito |
---|---|---|
Nuevo punto |
Digitalizar un nuevo punto |
|
Nueva línea |
Digitalizar nueva línea |
|
Nuevo límite |
Digitalizar nuevo borde |
|
Nuevo centroide |
Digitalizar nuevo centroide (etiqueta de área existente) |
|
Nuevo Contorno Cerrado |
Digitalizar nuevo borde cerrado |
Mesa GRASS Digitalización: Herramientas de digitalización GRASS
Truco
Digitalizando polígonos en GRASS
Si desea crear un polígono en GRASS, primero debe digitalizar el límite del polígono. Luego agrega un centroide (punto de etiqueta) en el límite cerrado. La razón de esto es que un modelo vectorial topológico vincula la información de atributo de un polígono siempre al centroide y no al límite.
Categoría
La categoría, a menudo llamada gato, es una especie de identificación. El nombre proviene de tiempos en los que los vectores GRASS solo tenían un atributo «categoría». La categoría se utiliza como vínculo entre la geometría y los atributos. Una única geometría puede tener varias categorías y, por tanto, representar varias entidades en diferentes capas. Actualmente es posible asignar solo una categoría por capa usando las herramientas de edición de QGIS. Las nuevas funciones han asignado automáticamente una nueva categoría única, excepto los límites. Los límites generalmente solo forman áreas y no representan entidades lineales; sin embargo, es posible definir atributos para un límite más adelante, por ejemplo, en una capa diferente.
Las nuevas categorías siempre se crean solo en la capa que se está editando actualmente.
No es posible asignar más categorías a la geometría mediante la edición de QGIS, dichos datos se representan correctamente como múltiples entidades y las entidades individuales, incluso de diferentes capas, pueden eliminarse.
Atributos
Los atributos de la capa editada actualmente solo se pueden modificar. Si el mapa vectorial contiene más capas, las entidades de otras capas tendrán todos los atributos establecidos en “<not editable (layer #)>” para advertirle que dicho atributo no es editable. La razón es que otras capas pueden tener y generalmente tienen un conjunto de campos diferente, mientras que QGIS solo admite un conjunto fijo de campos por capa.
Si una primitiva de geometría no tiene una categoría asignada, se asigna automáticamente una nueva categoría única y se crea un nuevo registro en la tabla de atributos cuando se cambia un atributo de esa geometría.
Truco
Si desea realizar una actualización masiva de atributos en la tabla, por ejemplo, usando “Calculadora de campo” (Usando la Calculadora de Campos), y hay entidades sin categoría que no desea actualizar (generalmente límites), puede filtrar eliminarlos configurando “Filtro avanzado” en cat is not null
.
Editar Estilo
La simbología topológica es esencial para la edición eficaz de datos topológicos. Cuando se inicia la edición, se establece un renderizador especializado “GRASS Edit” en la capa automáticamente y el renderizador original se restaura cuando se cierra la edición. El estilo se puede personalizar en la pestaña “Estilo” de las propiedades de capa. El estilo también se puede almacenar en un archivo de proyecto o en un archivo separado como cualquier otro estilo. Si personaliza el estilo, no cambie su nombre, ya que se utiliza para restablecer el estilo cuando se vuelve a iniciar la edición.
Truco
No guarde el archivo del proyecto cuando se edita la capa, la capa se almacenaría con “Editar estilo” que no tiene ningún significado si la capa no se edita.
El estilo se basa en información topológica que se agrega temporalmente a la tabla de atributos como campo “topo_symbol”. El campo se elimina automáticamente cuando se cierra la edición.
Truco
No elimine el campo “topo_symbol” de la tabla de atributos, eso haría invisibles las entidades porque el renderizador se basa en esa columna.
Autoensamblado
Para formar un área, los vértices de los límites conectados deben tener exactamente las mismas coordenadas. Esto se puede lograr utilizando la herramienta de ajuste solo si el lienzo y el mapa vectorial tienen el mismo SRC. De lo contrario, debido a la conversión de coordenadas de mapa a lienzo y viceversa, la coordenada puede volverse ligeramente diferente debido a errores de representación y transformaciones de SRC.
Truco
Utilice el SRC de la capa también para el lienzo al editar.
Limitaciones
No se admite la edición simultánea de varias capas dentro del mismo vector al mismo tiempo. Esto se debe principalmente a la imposibilidad de manejar múltiples pilas de deshacer para una sola fuente de datos.
En Linux y macOS, solo se puede editar una capa de GRASS a la vez. Esto se debe a un error en GRASS que no permite cerrar los controladores de la base de datos en orden aleatorio. Esto se está resolviendo con los desarrolladores de GRASS.
Truco
Editar permisos de GRASS
Debe ser el propietario del DIRECTORIO DE MAPA
de GRASS que desee editar. Es imposible editar capas de datos en un DIRECTORIO DE MAPA
que no sea suyo, incluso si tiene permisos de escritura.
23.13. La herramienta de región GRASS
La definición de la región (ajuste una ventana de trabajo espacial) en GRASS es importante para trabajar con capas ráster. Análisis vectorial esta por defecto no limitado a cualquier definición de región definida. Pero todas los rásters recién creados tendrán la extensión espacial y resolución de la región GRASS definida actualmente, independientemente de su extensión y resolución original. La región GRASS actual es almacenada en el archivo $LOCALIZACIÓN/$DIRECTORIO DE MAPA/WIND
, y define los límites norte, sur, este y oeste, número de columnas y filas, resolución espacial horizontal y vertical.
Es posible prender y apagar la visualización de la región GRASS en el lienzo de QGIS utilizando el botón Mostrar región actual de GRASS.
La región se puede modificar en la pestaña “Región” en el widget de muelle “GRASS Tolls”. Escriba los límites y la resolución de la nueva región y haga clic en Aplicar. Si hace clic en Seleccionar la extensión arrastrando sobre el lienzo, puede seleccionar una nueva región de forma interactiva con el ratón en el lienzo de QGIS arrastrando un rectángulo.
El modulo GRASS g.region
proporciona muchos más parámetros para definir una extensión de región apropiada y resolución para su análisis ráster. Se puede utilizar estos parámetros con la caja de herramientas GRASS, descrito en la sección La caja de herramientas GRASS.
23.14. La caja de herramientas GRASS
La caja Abrir herramientas GRASS proporciona funcionalidades de modulo GRASS para trabajar con datos dentro un LOCALIZACIÓN
GRASS seleccionada y DIRECTORIO DE MAPA
. Para utilizar la caja de herramientas GRASS necesita abrir una LOCALIZACIÓN
y DIRECTORIO DE MAPA
que tiene permisos de escritura para (normalmente se concede si ha creado el DIRECTORIO DE MAPA
). Esto es necesario, porque las capas ráster y vector creadas durante análisis necesitan estar escritos a la LOCALIZACIÓN
y DIRECTORIO DE MAPA
actualmente
23.14.1. Trabajando con módulos GRASS
La consola GRASS dentro de la caja de herramientas proporciona acceso a casi todo (más de 300) los módulos GRASS en una interfaz de línea de comando. Para ofrecer un entorno de trabajo más fácil de usar, cerca de 200 de los módulos de GRASS disponibles y funcionalidades también son proporcionados por diálogos gráficos dentro de la caja de herramientas del complemento GRASS.
Una lista completa de los módulos GRASS disponibles en la caja de herramientas gráfica en la versión QGIS 3.22 está disponible en la wiki de GRASS en https://grasswiki.osgeo.org/wiki/GRASS-QGIS_relevant_module_list.
También es posible personalizar el contenido de la caja de herramientas GRASS. Este procedimiento se describe en la sección Personalizar la caja de herramientas GRASS.
Como se mostró en Figura 23.3, puede buscar el módulo GRASS apropiado usando la pestaña agrupada temáticamente Árbol de módulos o la pestaña de búsqueda Lista de módulos.
Al hacer clic en un icono de modulo gráfico, una nueva pestaña se añadirá al diálogo de Caja de herramientas, proporciona tres nuevas sub-pestañas Opciones, Salida y Manual.
Opciones
La pestaña Opciones proporciona un cuadro de diálogo de módulo simplificado donde normalmente puede seleccionar una capa ráster o vectorial visualizada en el lienzo de QGIS e ingresar más parámetros específicos del módulo para ejecutar el módulo.
Los parámetros del módulo proporcionados a menudo no están completos para que el diálogo sea sencillo. Si desea utilizar más parámetros y banderas del módulo, debe iniciar el shell de GRASS y ejecutar el módulo en la línea de comandos.
Una nueva característica desde QGIS 1.8 es la implementación de un botón Mostrar opciones avanzadas abajo del diálogo del modulo simplificado en la pestaña Opciones. Por el momento, sólo se añade al modulo v.in.ascii
como ejemplo de uso, pero probablemente es parte de más o todos los módulos en la caja de herramientas GRASS en futuras versiones de QGIS. Esto le permite usar las opciones del modulo de GRASS completo sin la necesidad de cambiar la consola de GRASS.
Salida
La pestaña Salida proporciona información sobre el estado de salida del módulo. Cuando hace clic en el botón Ejecutar, el módulo cambia a la pestaña Salida y ve información sobre el proceso de análisis. Si todo funciona bien, finalmente verá un mensaje de Finalizado correctamente
.
Manual
La pestaña Manual muestra la página de ayuda HTML del modulo GRASS. Se puede utilizar para comprobar otros parámetros de los módulos y las banderas o para obtener un conocimiento más profundo acerca de la finalidad del módulo. Al final de cada página del manual del módulo, se ven otros enlaces al Índice de ayuda principal
, al Índice temático
y al Índice completo
. Estos enlaces proporcionar información de ejemplo como el modulo g.manual
.
Truco
Mostrar resultados inmediatamente
Si desea mostrar sus resultados de cálculo inmediatamente en su lienzo de mapa, se puede utilizar el botón “Ver Salida” en la parte inferior de la pestaña de módulo.
23.14.2. Ejemplos del módulo GRASS
Los siguientes ejemplos demostrarán el poder de algunos módulos GRASS.
23.14.2.1. Crear curvas de nivel
El primer ejemplo crea un mapa de curvas de nivel vectoriales de un ráster de elevación (DEM). Aquí, se asume que se tiene LOCALIZACIÓN
Alaska configurado como se explica en la sección Importar datos dentro de una LOCALIZACIÓN DE GRASS.
Primero, abra la ubicación haciendo clic en el botón Abrir mapset y elegir la ubicación de Alaska.
Ahora abra la caja de herramientas con el botón Abrir herramientas de GRASS.
En la lista de categorías de herramientas, haga doble clic
.Ahora, un solo clic en la herramienta r.contour abrirá el cuadro de diálogo de la herramienta como se explicó anteriormente (ver Trabajando con módulos GRASS).
En el Nombre del mapa ráster de entrada introduce
gtopo30
.Escriba en Incremento entre niveles de contorno el valor 100 (esto creará curvas de nivel a intervalos de 100 metros).
Escriba en Nombre de salida del mapa vectorial el nombre
ctour_100
.Haga clic en Ejecutar para iniciar el proceso. Espere unos momentos hasta que aparezca el mensaje
Finalizado satisfactoriamente
en la ventana de salida. Luego haga clic en Ver salida y Cerrar.
Dado que esta es una región grande, tomará un tiempo para mostrarla. Después de que termine la presentación, puede abrir la ventana de propiedades de la capa para cambiar el color de línea así el contorno aparece claramente sobre el ráster de elevación, como en El Diálogo de las Propiedades del Vector.
El siguiente acercamiento a una pequeña y montañosa área en el centro de Alaska. Al acercarse, se puede observar que las curvas de nivel tienen esquinas afiladas. GRASS ofrece la herramienta v.generalize para alterar ligeramente mapas vectoriales, manteniendo su forma general. La herramienta utiliza varios algoritmos diferentes con propósitos diferentes. Algunos de los algoritmos (es decir, Douglas Peucker y Vertex Reduction) simplificar la línea mediante la eliminación de algunos de los vértices. El vector resultante se carga más rápido. Este proceso es útil cuando se tiene un vector muy detallado, pero va a crear un mapa de escala muy pequeña, por lo que el detalle es innecesario.
Truco
La herramienta de simplificar
Tenga en cuenta que QGIS tiene una
que funciona como el algoritmo de GRASS v.generalize Douglas-Peuker.Sin embargo, el proposito de este ejemplo es diferente. Las líneas de curvas de nivel creadas por r.contour
tiene ángulos agudos que deben ser suavizados. Entre el algoritmo v.generalize hay Chaiken’s, lo que hace precisamente eso (también astillas de Hermite). Tenga en cuenta que estos algoritmos se pueden añadir vértices adicionales al vector, haciendo que se cargue más lentamente
Abra la caja de herramientas GRASS y haga doble clic en las categorías
,Compruebe que el vector “ctour_100” aparece como el Nombre del vector de entrada.
De la lista de algoritmos, elija Chaiken’s. Deje todas las demás opciones en sus valores predeterminados y desplácese hacia abajo hasta la última fila para ingresar en el campo Nombre del mapa vectorial de salida “ctour_100_smooth”, y haga click en Ejecutar.
El proceso lleva varios minutos. Una vez que aparezca
Finalizado con éxito
en las ventanas de salida, haga clic en Ver salida y luego Cerrar.Se puede cambiar el color del vector para que se muestre claramente sobre el fondo del ráster y para contrastar con las curvas de nivel originales. Se dará cuenta de que las nuevas curvas de nivel tienen esquinas más suaves que el original durante su estancia fiel a la original de forma general.
Truco
Otros usos de r.contour
El proceso descrito anteriormente se puede utilizar en otras situaciones equivalentes. Si tiene un mapa ráster de datos de precipitación, por ejemplo, entonces el mismo método se utilizará para crear un mapa vectorial de líneas isoyetas (lluvia constante).
23.14.2.2. Crear un efecto sombreado de relieve 3-D
Varios métodos se utilizan para mostrar capas de elevación y da un efecto #-D a mapas. El uso de líneas de curvas de nivel, como se mostro anteriormente, es un método popular regularmente elejido para producir mapas topológicos. El efecto de sombreado se crea de un ráster (elevación) DEM calculando primero la pendiente y el aspecto de cada celda, entonces simula la posición del sol en el cielo y da un valor de reflectancia a cada celda. De este modo se obtienen pendientes frente al sol iluminadas; las pendientes orientadas lejos del sol(en la sombra) se oscurecen.
Comience este ejemplo cargando el ráster de elevación
gtopo30
. Inicie la caja de herramientas GRASS y bajo la categoría ráster, haga doble clic para abrir .A continuación haga clic en r.shaded.relief para abrir el módulo.
Ingrese
gtopo30_shade
para el nuevo ráster de sombreado y haga clic en Ejecutar.Cuando el proceso finalice, añada el ráster de mapa de sombras al mapa. Debe verlo desplegado en escala de grises.
Para ver ambos sombreados y los colores de la gtopo30` juntos, mueva el mapa de sombreado abajo del mapa
gtopo30
en la tabla de contenido, a continuación abra la ventana degtopo30
, cambie a la pestaña de Transparencia y establezca su nivel de transparencia a cerca de 25%.
Ahora debe tener la elevación gtopo30
con su mapa de color y ajuste de transparencia mostrado arriba el mapa de sombras en escala de grises. Con el fin de ver los efectos visuales en el mapa de sombras, apague el mapa gtopo30_shade
, a continuación, vuelva a encenderla.
Utilizar la consola de GRASS
El complemento GRASS en QGIS está diseñado para usuarios que son nuevos en GRASS y no están familiarizados con todos los módulos y opciones. Como tal, algunos módulos en la Caja de herramientas no muestran todas las opciones disponibles y algunos módulos no aparecen en absoluto. El shell (o consola) de GRASS le da al usuario acceso a los módulos GRASS adicionales que no aparecen en el árbol de la Caja de herramientas, y también a algunas opciones adicionales a los módulos que están en la Caja de herramientas con los parámetros predeterminados más simples. Este ejemplo demuestra el uso de una opción adicional en el módulo r.shaded.relief que se mostró arriba.
El modulo r.shaded.relief puede tomar un parámetro zmult
, que multiplica los valores de elevación relativas a las unidades de las coordenadas X-Y por lo que el efecto de sombreado es incluso más pronunciado.
Cargue el ráster de elevación
gtopo30
como se muestra arriba, luego inicie la Caja de herramientas de GRASS y haga clic en el shell de GRASS. En la ventana del shell, escriba el comandor.shaded.relief map = gtopo30 shade = gtopo30_shade2 azimuth = 315 zmult = 3
y presione Enter.Una vez finalizado el proceso, cambie a la pestaña Examinar y haga doble clic en el nuevo ráster
gtopo30_shade2
para mostrarlo en QGIS.Como se explicó anteriormente, mueva ráster del relieve sombreado a bajo del ráster
gtopo30
en la tabla de contenido, entonces valide la transparecia de la capa coloreadagtopo30
. Debe ver que el efecto 3-D destaca más fuertemente comparada con el primer mapa de relieve sombreado.
23.14.2.3. Estadísticas de ráster en un mapa vectorial
El siguiente ejemplo muestra como un módulo GRASS puede agregar datos ráster y añadir columnas de una estadística para cada polígono en un mapa vectorial.
Nuevamente usando los datos de Alaska, consulte Importar datos dentro de una LOCALIZACIÓN DE GRASS para importar el archivo
shapefiles/trees.shp
en GRASS.Ahora un paso intermedio es necesario: los centroides se deben añadir al mapa de árboles importado para que sea una zona de GRASS completa del vector (incluyendo ambos límites y centroides).
De la caja de herramientas, elija
, y abra el modulo v.centroids.Introduzca como el Mapa vectorial de salida “forest_areas” y ejecute el módulo.
Ahora cargue el vector
forest_areas
y muestre los tipos de bosque - caducifolio, árbol de hoja perenne, mixto - en diferentes colores: En la ventana Propiedades de la capa, la pestaña Simbología, elija de Tipo de leyenda “Valor único” y establezca el Campo de clasificación a “VEGDESC”. (Consulte la explicación de la pestaña de simbología en Propiedades de simbología de la sección vectorial.)A continuación vuelva a abrir la caja de herramientas de GRASS y abra
.Haga clic en el modulo v.rast.stats. Ingrese
gtopo30
yforest_areas
.Solo se necesita un parámetro adicional: Ingrese prefijo de columna
elev
y haga clic en Ejecutar. Esta es una operación computacionalmente pesada, que se ejecutará durante mucho tiempo (probablemente hasta dos horas).Finalmente, abra la tabla de atributos
forest_areas
, y verifique que varias de las nuevas columnas se han añadido, incluyendoelev_min
,elev_max
,elev_mean
, etc., para cada polígono de bosque.
23.14.3. Personalizar la caja de herramientas GRASS
Casi todos los módulos de GRASS se pueden añadir a la caja de herramientas de GRASS. Una interfaz XML se proporciona para analizar los archivos XML muy sencillos que configuran la apariencia y los parámetros de los módulos dentro de la caja de herramientas.
Un ejemplo del archivo XML para generar el módulo v.buffer
(v.buffer.qgm) luce como esto:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">
<qgisgrassmodule label="Vector buffer" module="v.buffer">
<option key="input" typeoption="type" layeroption="layer" />
<option key="buffer"/>
<option key="output" />
</qgisgrassmodule>
El analizador lee esta definición y crea una nueva pestaña dentro de la Caja de herramientas cuando selecciona el módulo. Puede encontrar una descripción más detallada para agregar nuevos módulos, cambiar el grupo de un módulo, etc. en https://qgis.org/en/site/getinvolved/development/addinggrasstools.html.