13.2. Creando capas

Las capas pueden ser creadas de muchas formas, incluyendo:

  • capas vacías desde borrador

  • capas desde capas existentes

  • capas desde el portapapeles

  • capas como resultado de una consultas SQL basada en una o mas capas (virtual layers)

QGIS también proporciona herramientas para importar/exportar desde/a diferentes formatos.

13.2.1. Creando nuevas capas vectoriales

QGIS le permite crear nuevas capas en diferentes formatos. Proporciona herramientas para crear GeoPackage, Shapefile, SpatiaLite, formato GPX y capas temporales borrador (también conocidas como capas de memoria). La creación de una :ref: nueva capa GRASS<creating_new_grass_vectors> es compatible con el complemento GRASS.

13.2.1.1. Creando una nueva capa de GeoPackage

Para crear una nueva capa de GeoPackage, presione el botón newGeoPackageLayer Nueva Capa GeoPackage… en el menú Capa -> Crear Capa -> o desde la barra de herramientas Adinistrador de Fuentes de Datos. Se mostrará el cuadro de diálogo Nueva Capa GeoPackage como se muestra en Figura 13.15.

../../../_images/editNewGeoPackage.png

Figura 13.15 Crear un nuevo diálogo de capa GeoPackage

  1. El primer paso es indicar la ubicación del archivo de la base de datos. Esto se puede hacer presionando el botón a la derecha del campo Base de datos y seleccione un archivo GeoPackage existente o cree uno nuevo. QGIS agregará automáticamente la extensión correcta al nombre que proporcione.

  2. Dá un nombre a la nueva capa/tabla (Nombre Tabla)

  3. Defina el Tipo de geometría. Si no es una capa sin geometría, puede especificar si debe Incluir dimensión Z y/o Incluir valores M.

  4. Especificar el sistema de coordenadas de referencia usando el botón setProjection

Para añadir campos a una capa que estás creando:

  1. Introduce el Nombre del campo

  2. Seleccione los datos Tipo. Los tipos admitidos son Datos de texto, :guilabel:` Número entero` (tanto entero como entero64), Número decimal, :guilabel:` Fecha` y Fecha y hora, Binario (BLOB) y Booleano.

  3. Dependiendo del formato de datos seleccionado longitud Máxima de valores.

  4. Click en el botón newAttribute Añadir a Lista de campos

  5. Repite los pasos anteriores para cada campo que necesites añadir

  6. Una vez contento con los atributos, click Aceptar. QGIS añadirá la nueva capa a la leyenda, y puede editarla como se describe en la sección Digitalizando una capa existente.

Por defecto, al crear una capa de GeoPackage, QGIS genera una columna de identificación de entidad llamada fid que actúa como la clave principal de la capa. El nombre se puede cambiar. El campo de geometría, si está disponible, se denomina geometría y puede elegir Crear un índice espacial en él. Estas opciones se pueden encontrar en: guilabel: Opciones avanzadas junto con Identificador de capa (nombre corto legible por humanos de la capa) y Descripción de capa.

Se puede administrar más capas de GeoPackage con el DB Manager.

13.2.1.2. Crear una nueva capa de archivo shape

Para crear una nueva capa de formato ESRI Shapefile, presione el botón newVectorLayer Nueva Capa Shapefile… en Capa -> Crear Capa -> o desde la barra de herramientas Administrador de Fuentes de Datos. Se mostrará el diálogo Nueva Capa Shapefile como se muestra en Figura 13.16.

  1. Proporcione una ruta y un nombre de archivo usando el botón junto a Nombre de archivo. QGIS agregará automáticamente la extensión correcta al nombre que proporcione.

  2. A continuación, indica el codificación de archivo de los datos

  3. Elija el Tipo de geometría de la capa: Sin geometría(resultando en un archivo de formato .DBF), punto, multipunto, línea o polígono

  4. Especifique si la geometría debe tener dimensiones adicionales: Ninguno, Z (+ M valores) `o :guilabel:`M valores

  5. Especificar el sistema de coordenadas de referencia usando el botón setProjection

../../../_images/editNewVector.png

Figura 13.16 Diálogo Creando una nueva capa de archivo shape

Para añadir campos a una capa que estás creando:

  1. Introduce el Nombre del campo

  2. Selecciona el Tipo de datos. Solo los atributos número decimal, número entero, datos de texto y Fecha son soportados.

  3. En función del formato de datos, introduce la Longitud y Precisión.

  4. Click en el botón newAttribute Añadir a Lista de campos

  5. Repite los pasos anteriores para cada campo que necesites añadir

  6. Una vez contento con los atributos, click Aceptar. QGIS añadirá la nueva capa a la leyenda, y puede editarla como se describe en la sección Digitalizando una capa existente.

Por defecto, una primera columna de enteros id se añade pero puede ser borrada.

13.2.1.3. Crear una nueva capa SpatiaLite

Para crear una nueva capa SpatiaLite, presione el botón newSpatiaLiteLayer Nueva Capa SpatiaLite… en el Capa -> Crear Capa -> o desde la barra de herramientas Administrador de Fuentes de Datos. Nueva Capa SpatiaLite se mostrará como se muestra en Figura 13.17.

../../../_images/editNewSpatialite.png

Figura 13.17 Diálogo de Crear una nueva capa SpatiaLite

  1. El primer paso es indicar la ubicación del archivo de la base de datos. Esto se puede hacer presionando el botón a la derecha del campo Base de datos y seleccione un archivo SpatiaLite existente o cree uno nuevo. QGIS agregará automáticamente la extensión correcta al nombre que proporcione.

  2. Proporciona un nombre (Nombre de capa) para la nueva capa

  3. Defina el Tipo de geometría. Si no es una capa sin geometría, puede especificar si debe Incluir dimensión Z y/o Incluir valores M.

  4. Especifica el sistema de coordenadas de referencia usando el botón setProjection.

Para añadir campos a una capa que estás creando:

  1. Introduce el Nombre del campo

  2. Selecciona el Tipo`de datos. Los tipos soportados son :guilabel:`datos de texto, número entero y número decimal.

  3. Click en el botón newAttribute Añadir a Lista de campos

  4. Repite los pasos anteriores para cada campo que necesites añadir

  5. Una vez contento con los atributos, click Aceptar. QGIS añadirá la nueva capa a la leyenda, y puede editarla como se describe en la sección Digitalizando una capa existente.

Si lo deseas, puedes seleccionar checkbox Crear un clave primaria autoincremental en la sección Opciones avanzadas. Además puedes renombrar la columna Geometría`(``geometría` por defecto).

Administración adicional de capas SpatiaLite se puede hacer con :ref:Àdministrador de DB<dbmanager>`.

13.2.1.4. Crear una nueva capa GPX

Para crear un nuevo archivo GPX, primero debe cargar el complemento GPS. Complementos -> showPluginManager Administrador de Complementos… abre el cuadro de diálogo Administrador de Complementos. Active la checkbox casilla de verificación Herramientas GPS.

Cuando se cargue este complemento, elija Crear capa -> createGPX Crear nueva capa GPX … desde el menú Capa. En el cuadro de diálogo, elija dónde guardar el nuevo archivo y presione Guardar. Se agregan tres nuevas capas al Panel de capas: waypoints, rutas y tracks.

13.2.1.5. Crear una nueva capa borrador temporal

Las capas borrador temporales son capas en memoria, lo que significa que no se guardan en el disco y se descartarán cuando se cierre QGIS. Pueden ser útiles para almacenar entidades que necesita temporalmente o como capas intermedias durante las operaciones de geoprocesamiento.

Para crear una nueva capa temporal de Scratch, elija createMemory Nueva capa temporal temporal… en la entrada Capa -> Crear capa -> o en la barra de herramientas Administrador de Fuentes de Datos. Se mostrará el cuadro de diálogo Nueva capa temporal temporal como se muestra en: numref:figure_create_temporary. Luego:

  1. Proporciona el :guilable:`nombre de capa`

  2. Selecciona el tipo de Geometría. Aquí puede crear una:

    • tipo de capa sin geometría, dotada de una simple tabla,

    • capa Punto o Multipunto,

    • Capa Línea/CurvaCompuesta o Multilínea/MultiCurva,

    • Capa Polígono/PolígonoCurvo o MultiPolígono/Multisuperficie.

  3. Para tipos geométricos, especifique las dimensiones del conjunto de datos: marque si debe Incluir dimensión Z y/o Incluir valores M

  4. Especifica el sistema de coordenadas de referencia usando el botón setProjection.

  5. Agrega campos a la capa. Tenga en cuenta que, a diferencia de muchos formatos, las capas temporales se pueden crear sin campos. Por tanto, este paso es opcional.

    1. Introduce el Nombre del campo

    2. Seleccione el Tipo de datos : Son soportados Texto, Número entero, Número decimal, Booleano, Fecha, Hora, Fecha & Hora y Binario (BLOB).

    3. Dependiendo del formato de datos seleccionado, ingrese Longitud y Precisión

    4. Click en el botón newAttribute Añadir a Lista de campos

    5. Repetir los pasos de arriba para cada campo que necesite agregar

  6. Una vez que esté satisfecho con la configuración, haga click en Aceptar. QGIS agregará la nueva capa al panel Capas, y puede editarlo como se describe en la sección Digitalizando una capa existente.

../../../_images/editNewTemporaryLayer.png

Figura 13.18 Diálogo Crear una nueva capa Borrador Temporal

También puede crear capas temporales precargadas utilizando, por ejemplo, el portapapeles (ver Creando nuevas capas desde el portapapeles) o como resultado de un Algoritmo de procesamiento.

Truco

Almacenar permanentemente una capa de memoria en disco

Para evitar la pérdida de datos al cerrar un proyecto con capas temporales temporales, puede guardar estas capas en cualquier formato vectorial compatible con QGIS:

  • clickando el icono indicador indicatorMemory al lado de la capa;

  • seleccionando la èntrada Hacer permanente en el menú contextual de capa;

  • usando la entrada Exportar ► desde el menú contextual o desde el menú Capa ► Guardar como….

Cada uno de estos comandos abre el diálogo Guardar capa vectorial como descrito en la sección Creando nuevas capas desde una capa existente y el archivo guardado reemplaza al temporal en el panel Capas.

13.2.2. Creando nuevas capas desde una capa existente

Tanto las capas ráster como las vectoriales se pueden guardar en un formato diferente y/o volver a proyectar en un sistema de referencia de coordenadas (CRS) diferente usando el menú Capa -> Guardar como … o haciendo click derecho en la capa en el Panel de capas y seleccionando:

  • Exportar ► Guardar como… para capas ráster

  • Exportar ► Guardar entidades como… o Exportar ► Guardar Entidades seleccionadas como… para capas vectoriales.

  • Arrastre y suelte la capa desde el árbol de capas a la entrada PostGIS en Panel del Navegador. Tenga en cuenta que debe tener una conexión PostGIS en Panel del Navegador.

13.2.2.1. Parámetros comunes

El diálogo Guardar capa como… muestra varios parámetros para cambiar el comportamiento al guardar la capa. Entre los parámetros comunes para ráster y vector se encuentran:

  • nombre de archivo: la ubicación del archivo en el disco. Puede referirse a la capa de salida o a un contenedor que almacena la capa (por ejemplo, formatos similares a bases de datos como GeoPackage, SpatiaLite o Open Document Spreadsheets).

  • CRS: puede ser cambiado para reproyectar los datos

  • Extensión (valores posibles de extensión son capa, visor de Mapa o definido por el usuario)

  • Añadir archivo guardado al mapa: para añadir la nueva capa al lienzo

Sin embargo, algunos parámetros son específicos para formatos ráster y vectoriales:

13.2.2.2. Parámetros específicos ráster

Dependiendo del formato a exportar, algunas de estas opciones pueden no estar disponibles:

  • modo de salida (puede ser datos crudos o imagen renderizada)

  • Formato: exporta a cualquier formato ráster en el que GDAL pueda escribir, como GeoTiff, GeoPackage, MBTiles, PDF geoespacial, SAGA GIS Binary Grid, Intergraph Raster, ESRI .hdr etiquetado…

  • Resolución

  • : guilabel:Opciones de creación: utilice opciones avanzadas (compresión de archivos, tamaños de bloque, colorimetría …) al generar archivos, ya sea desde perfiles de creación predefinidos relacionados con el formato de salida o configurando cada parámetro.

  • Creación de Piramides

  • Teselas VRT en caso de que optes por checkbox Crear VRT

  • valores Sin Datos

../../../_images/saveasraster.png

Figura 13.19 Guardando como una nueva capa ráster

13.2.2.3. Parámetros específicos de Vectorial

Dependiendo del formato a exportar, algunas de estas opciones pueden estar disponibles:

  • Formato: exporta a cualquier formato vectorial en el que GDAL pueda escribir, como GeoPackage, GML, ESRI Shapefile, AutoCAD DXF, ESRI FileGDB, Mapinfo TAB o MIF, SpatiaLite, CSV, KML, ODS, …

  • nombre de capa: disponible cuando el nombre de Archivo se refiere a un formato de contenedor, esta entrada representa la capa saliente.

  • Codificación

  • Guardar solo entidades seleccionadas

  • Seleccionar campos a exportar y sus opciones de exportación. En caso de que establezca el comportamiento de sus campos con algunos widgets de edición, por ejemplo mapa de valores, puede mantener los valores mostrados en la capa marcando checkbox Sustituir todos los valores de los campos en bruto seleccionados por los valores mostrados.

  • exportar Simbología: se puede utilizar principalmente para la exportación DXF y para todos los formatos de archivo que administran estilos de funciones OGR (ver nota a continuación) como formatos de archivo de pestañas DXF, KML:

    • Sin simbología: estilo por defecto de la aplicación que lee los datos

    • Simbología de entidad: guardar estilo con Estilos de funciones OGR (ver nota a continuación)

    • Simbología de la capa de símbolo: guarde con Estilos de entidades OGR (vea la nota a continuación) pero exporta la misma geometría varias veces si se usan varias capas de símbolo de simbología

    • Se puede aplicar un valor de Escala a las últimas opciones

Nota

Los estilos de características de OGR son una forma de almacenar el estilo directamente en los datos como un atributo oculto. Solo algunos formatos pueden manejar este tipo de información. Los formatos de archivo KML, DXF y TAB son tales formatos. Para obtener detalles avanzados, puede leer el documento Especificación de estilos de entidades de OGR.

  • Geometría: puede configurar las capacidades de geometría de la capa de salida

    • tipo de geometría: mantiene la geometría original de las entidades cuando se establece en Automático; de lo contrario, la elimina o la reemplaza con cualquier tipo. Puede agregar una columna de geometría vacía a una tabla de atributos y eliminar la columna de geometría de una capa espacial.

    • Forzar multi tipo: fuerza la creación de entidades multi-geometría en la capa.

    • Incluir dimensión z en geometrías.

Truco

Anular el tipo de geometría de capa permite hacer cosas como guardar una tabla sin geometría (por ejemplo archivos .csv) en un archivo de forma CON cualquier tipo de geometría (punto, línea, polígono), de modo que las geometrías se puedan agregar manualmente a filas con la herramienta addPart Agregar pieza.

  • Opciones de origen de datos, Opciones de capa o Opciones personalizadas que le permiten configurar parámetros avanzados según el formato de salida. Algunos se describen en Explorando campos y formatos de datos pero para obtener detalles completos, consulte la documentación del controlador GDAL. Cada formato de archivo tiene sus propios parámetros personalizados, p. Ej. para el formato GeoJSON eche un vistazo a la documentación GDAL GeoJSON.

../../../_images/saveasvector.png

Figura 13.20 Guardando como una nueva capa vectorial

Al guardar una capa vectorial en un archivo existente, dependiendo de las capacidades del formato de salida (Geopackage, SpatiaLite, FileGDB …), el usuario puede decidir si:

  • sobreescribir el archivo entero

  • sobreescribir solo la capa objetivo (el nombre de capa es configurable)

  • agregar entidades a la capa de destino existente

  • agregar entidades, agregar nuevos campos si los hay.

Para formatos como ESRI Shapefile, MapInfo .tab, también está disponible la función de agregar.

13.2.3. Creando nuevos archivos DXF

Además del diálogo Guardar como… que proporciona opciones para exportar una sola capa a otro formato, que incluye * .DXF, QGIS proporciona otra herramienta para exportar múltiples capas como una sola capa DXF. Es accesible en el menú Proyecto -> Importar / Exportar -> Exportar proyecto a DXF ….

En el diálogo Exportar DXF

  1. Proporciona el archivo destinatario.

  2. Escoge el modo y la escala de simbología (ver la nota OGR Feature Styles ), si es aplicable.

  3. Selecciona la Codificación de los datos

  4. Selecciona el CRS a aplicar: las capas seleccionadas se volverán a proyectar al CRS dado.

  5. Seleccione las capas para incluir en los archivos DXF, ya sea marcándolas en el widget de tabla o seleccionándolas automáticamente de un tema de mapa existente. Los botones Seleccionar todo y :guilabel:` Deseleccionar todo` pueden ayudar a configurar rápidamente los datos para exportar.

    Para cada capa, puede elegir si exportar todas las entidades en una sola capa DXF o confiar en un campo cuyos valores se utilizan para dividir las entidades en capas en la salida DXF.

Opcionálmente, puede además elegir:

  • checkbox Usar el título de la capa como nombre si está configurado en lugar del nombre de la capa en sí;

  • checkbox Exportar entidades que se cruzan con la extensión del mapa actual;

  • unchecked Forzar salida 2d (por ejemplo, para admitir el ancho de polilínea);

  • checkbox Exportar etiqueta como elementos MTEXT o elementos TEXT.

../../../_images/export_dxf.png

Figura 13.21 Diálogo Exportar un proyecto a DXF

13.2.4. Creando nuevas capas desde el portapapeles

Las entidades que están en el portapapeles se pueden pegar en una nueva capa. Para hacer esto, seleccione algunas entidades, cópielas en el portapapeles y luego péguelas en una nueva capa usando Editar -> Pegar entidades como -> y eligiendo:

  • Nueva capa vectorial…: aparece el cuadro de diálogo Guardar capa vectorial como… (ver Creando nuevas capas desde una capa existente para ver los parámetros)

  • o Capa Borrador temporal…: necesitas proporcionar un nombre a la capa

Se crea una nueva capa, llena de entidades seleccionadas y sus atributos (y se agrega al lienzo del mapa).

Nota

Es posible crear capas desde el portapapeles con características seleccionadas y copiadas dentro de QGIS, así como características de otra aplicación, siempre que sus geometrías se definan utilizando texto conocido (WKT).

13.2.5. Creando capas virtuales

Una capa virtual es un tipo especial de capa vectorial. Le permite definir una capa como resultado de una consulta SQL que involucra cualquier cantidad de otras capas vectoriales que QGIS es capaz de abrir. Las capas virtuales no portan datos por sí mismas y pueden verse como vistas.

Para crear una capa virtual, abre el diálogo de capa virtual mediante:

  • escogiendo la entrada addVirtualLayer Añadir/Editar Capa Virtual en el menú Capa ► Añadir Capa ►;

  • habilitando la pestaña addVirtualLayer Agregar capa virtual en el diálogo Administrador de fuentes de datos;

  • o usando el diálogo del árbol :guilabel:Àdministrador de DB`.

El diálogo le permite especificar un Nombre de capa y una Consulta SQL. La consulta puede usar el nombre (o id) de las capas vectoriales cargadas como tablas, así como sus nombres de campo como columnas.

Por ejemplo, si tiene una capa llamada airports, puede crear una nueva capa virtual llamada public_airports con una consulta SQL como:

SELECT *
FROM airports
WHERE USE = "Civilian/Public"

La consulta SQL se ejecutará, independientemente del proveedor subyacente de la capa de airports, incluso si este proveedor no admite directamente consultas SQL.

../../../_images/create_virtual_layers.png

Figura 13.22 Diálogo Crear Capas Virtuales

También se pueden crear combinaciones y consultas complejas, por ejemplo, para unir información sobre aeropuertos y países:

SELECT airports.*, country.population
FROM airports
JOIN country
ON airports.country = country.name

Nota

También es posible crear capas virtuales usando la ventana SQL de Complemento de Administración de BBDD.

13.2.5.1. Incorporación de capas para su uso en consultas

Además de las capas vectoriales disponibles en el lienzo del mapa, el usuario puede agregar capas a la lista Capas incrustadas, que se pueden usar en consultas sin necesidad de que se muestren en el lienzo del mapa o en el panel Capas.

Para incrustar una capa, haz click en Agregar y proporciona Nombre local, Proveedor, Codificación y la ruta a la Fuente.

El botón Importar permite agregar capas en el lienzo del mapa en la lista de capas incrustadas. A continuación, esas capas se pueden eliminar del panel Capas sin interrumpir las consultas existentes.

13.2.5.2. Lenguaje soportado de consultas

El motor subyacente utiliza SQLite y SpatiaLite para operar.

Significa que puede usar todo el SQL que comprenda su instalación local de SQLite.

Las funciones de SQLite y las funciones espaciales de SpatiaLite también se pueden utilizar en una consulta de capa virtual. Por ejemplo, se puede crear una capa de puntos a partir de una capa de solo atributo con una consulta similar a:

SELECT id, MakePoint(x, y, 4326) as geometry
FROM coordinates

Functions of QGIS expressions también se puede utilizar en una consulta de capa virtual.

Para referirse a la columna de geometría de una capa, use el nombre geometry.

A diferencia de una consulta SQL pura, todos los campos de una consulta de capa virtual deben tener un nombre. No olvide usar la palabra clave as para nombrar sus columnas si son el resultado de un cálculo o una llamada a una función.

13.2.5.3. Problemas de Rendimiento

Con los parámetros predeterminados, el motor de capa virtual hará todo lo posible para detectar el tipo de las diferentes columnas de la consulta, incluido el tipo de columna de geometría, si existe una.

Esto se hace con una introspección de la consulta cuando sea posible o obteniendo la primera fila de la consulta (LIMIT 1) como último recurso. Obtener la primera fila del resultado solo para crear la capa puede no ser deseable por razones de rendimiento.

Los parámetros del diálogo creación:

  • Columna de identificador único: especifica un campo de la consulta que representa valores enteros únicos que QGIS puede usar como identificadores de fila. De forma predeterminada, se utiliza un valor entero que aumenta automáticamente. La definición de una columna de identificador único acelera la selección de filas por id.

  • Sin geometría: obliga a la capa virtual a ignorar cualquier campo de geometría. La capa resultante es una capa de solo atributos.

  • Columna Geometría: especifica el nombre de la columna de geometría.

  • Tipo de Geometría: especifica el tipo de geometría.

  • CRS de Geometría: especifica el sistema de referencia de coordenadas de la capa virtual.

13.2.5.4. Comentarios Especiales

El motor de capa virtual intenta determinar el tipo de cada columna de la consulta. Si falla, se recupera la primera fila de la consulta para determinar los tipos de columna.

El tipo de una columna en particular se puede especificar directamente en la consulta mediante algunos comentarios especiales.

La sintaxis es la siguiente: /*:type*/. Debe colocarse justo después del nombre de una columna. type puede ser int para números enteros, real para números de coma flotante o text.

Por ejemplo:

SELECT id+1 as nid /*:int*/
FROM table

El tipo y sistema de referencia de coordenadas de la columna de geometría también se puede configurar gracias a comentarios especiales con la siguiente sintaxis /*:gtype:srid*/ donde gtype es el tipo de geometría (punto, línea, polígono, multipunto, multilínea o multipolígono) y srid un número entero que representa el código EPSG de un sistema de referencia de coordenadas.

13.2.5.5. Uso de índices

Al solicitar una capa a través de una capa virtual, los índices de la capa fuente se utilizarán de las siguientes formas:

  • Si se usa un predicado = en la columna de clave principal de la capa, se le pedirá al proveedor de datos subyacente una identificación particular (FilterFid)

  • para cualquier otro predicado (``> ``, `` <= ``, ``! = ``, etc.) o en una columna sin una clave primaria, se utilizará una solicitud construida a partir de una expresión para solicitar el proveedor de datos vectoriales. Significa que los índices se pueden utilizar en proveedores de bases de datos, si existen.

Existe una sintaxis específica para manejar los predicados espaciales en las solicitudes y desencadena el uso de un índice espacial: existe una columna oculta llamada _search_frame_ para cada capa virtual. Esta columna se puede comparar por igualdad con un cuadro delimitador. Ejemplo:

SELECT *
FROM vtab
WHERE _search_frame_=BuildMbr(-2.10,49.38,-1.3,49.99,4326)

Los predicados binarios espaciales como ST_Intersects se aceleran significativamente cuando se usan junto con esta sintaxis de índice espacial.