15.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.
15.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.
15.2.1.1. Creando una nueva capa de GeoPackage
Para crear una nueva capa de GeoPackage, presione el botón en el menú 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 15.18.
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.
Dá un nombre a la nueva capa/tabla (Nombre Tabla)
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.
Especificar el sistema de coordenadas de referencia usando el botón
Para añadir campos a una capa que estás creando:
Introduce el Nombre del campo
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.
Dependiendo del formato de datos seleccionado longitud Máxima de valores.
Repite los pasos anteriores para cada campo que necesites añadir
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.
15.2.1.2. Crear una nueva capa de archivo shape
Para crear una nueva capa de formato ESRI Shapefile, presione el botón en o desde la barra de herramientas Administrador de Fuentes de Datos. Se mostrará el diálogo Nueva Capa Shapefile como se muestra en Figura 15.19.
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.
A continuación, indica el codificación de archivo de los datos
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ígonoEspecifique si la geometría debe tener dimensiones adicionales: Ninguno, Z (+ M valores) `o :guilabel:`M valores
Especificar el sistema de coordenadas de referencia usando el botón
Para añadir campos a una capa que estás creando:
Introduce el Nombre del campo
Selecciona el Tipo de datos. Solo los atributos número decimal, número entero, datos de texto y Fecha son soportados.
En función del formato de datos, introduce la Longitud y Precisión.
Repite los pasos anteriores para cada campo que necesites añadir
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.
15.2.1.3. Crear una nueva capa SpatiaLite
Para crear una nueva capa SpatiaLite, presione el botón en el o desde la barra de herramientas Administrador de Fuentes de Datos. Nueva Capa SpatiaLite se mostrará como se muestra en Figura 15.20.
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.
Proporciona un nombre (Nombre de capa) para la nueva capa
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.
Especifica el sistema de coordenadas de referencia usando el botón .
Para añadir campos a una capa que estás creando:
Introduce el Nombre del campo
Selecciona el dato Type. Los tipos soportados son Text data, Whole number, Decimal number, Date y Date time.
Repite los pasos anteriores para cada campo que necesites añadir
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 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>`.
15.2.1.4. Crear una nueva capa de malla
Para crear una nueva capa de malla, presione en el menú o desde la barra de herramientas Data Source Manager. El cuadro de diálogo New Mesh Layer se mostrará como se muestra en Figura 15.21.
El primer paso es indicar la ubicación del archivo de malla. Esto se puede hacer presionando el botón … a la derecha del campo File name y seleccionar un archivo de malla existente o crear uno nuevo.
Proporcione un nombre (Layer name), es decir, el nombre con el que se muestra la capa en el panel Layers
Seleccione el File format: los formatos de archivo de malla admitidos actualmente son
2DM Mesh File (*.2dm)
,Selafin File (*.slf)
y ``UGRID (*.nc)` `.Indique el Coordinate Reference System para asignar al conjunto de datos
Los pasos anteriores generarán una capa vacía a la que luego podrá digitalizar vértices y agregar grupos de conjuntos de datos. Sin embargo, también es posible inicializar la capa con una capa de malla existente, es decir, poblar la nueva capa con vértices o caras de la otra. Para hacerlo:
y seleccione una Mesh from the current project o Mesh from a file. La información sobre el archivo de malla seleccionado se muestra para su verificación.
Tenga en cuenta que solo el marco de la capa de malla se transfiere a la nueva capa; sus conjuntos de datos no se copian.
15.2.1.5. Crear una nueva capa GPX
Para crear un nuevo archivo GPX:
En el diálogo, elija dónde guardar el nuevo archivo, asígnele un nombre y presione Save.
Se añaden tres nuevas capas a la Layers Panel:
una capa de puntos para digitalizar ubicaciones (
waypoints
) con campos que almacenan el nombre, la elevación, el comentario, la descripción, la fuente, la URL y el nombre de la URLuna capa de línea para digitalizar secuencias de ubicaciones que conforman una ruta planificada (
routes
) con campos que almacenan el nombre, símbolo, número, comentario, descripción, fuente, URL, nombre de URLy una capa de línea para rastrear el movimiento del receptor a lo largo del tiempo (
tracks
) con campos que almacenan el nombre, símbolo, número, comentario, descripción, fuente, URL, nombre de URL.
Ahora puede editar cualquiera de ellas como se describe en la sección Digitalizando una capa existente.
15.2.1.6. 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 en la entrada 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:
Proporciona el :guilable:`nombre de capa`
Selecciona el tipo de Geometría. Aquí puede crear una:
tipo de capa
sin geometría
, dotada de una simple tabla,capa
Punto
oMultipunto
,Capa
Línea/CurvaCompuesta
oMultilínea/MultiCurva
,Capa
Polígono/PolígonoCurvo
oMultiPolígono/Multisuperficie
.
Para tipos geométricos, especifique las dimensiones del conjunto de datos: marque si debe Incluir dimensión Z y/o Incluir valores M
Especifica el sistema de coordenadas de referencia usando el botón .
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.
Introduce el Nombre del campo
Seleccione el Tipo de datos : Son soportados Texto, Número entero, Número decimal, Booleano, Fecha, Hora, Fecha & Hora y Binario (BLOB).
Dependiendo del formato de datos seleccionado, ingrese Longitud y Precisión
Repetir los pasos de arriba para cada campo que necesite agregar
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.
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:
seleccionando la èntrada Hacer permanente en el menú contextual de capa;
usando la entrada
desde el menú contextual o desde el menú .
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.
15.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ú Panel de capas y seleccionando:
o haciendo click derecho en la capa en elpara capas ráster
o 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.
15.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
Extent: restringe la extensión de la entrada que se va a exportar utilizando el widget :ref:`extent_selector `
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:
15.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
valores Sin Datos
15.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 para exportar y sus opciones de exportación: proporciona medios para exportar campos con nombres personalizados y configuraciones form widget:
Compruebe las filas bajo la columna Nombre para elegir los campos a mantener en la capa de salida o presione los botones Seleccionar Todo o Deseleccionar Todo
Apalanca la caja de confirmación Usar alias para el nombre exportado para poblar la columna Exportar nombre con el correspondiente campo alias o lo reinicia al nombre original del campo. Doble pulsación en una celda editará el nombre también.
Dependiendo de si los widgets personalizados de formulario de atributo están en uso usted puede Reemplazar todos los valores de campo sin procesar por los valores mostrados. P.ej. si se aplica un widget
valor de mapa
a un campo, la capa de salida contendrá los valores de la descripción en lugar de los valores originales. El reemplazo se puede hacer también sobre una base de campo por campo en la columna :guilabel:`Reemplazar con los valores mostrados.
Persist layer metadata: asegura que cualquier capa :ref:`metadata ` presente en la capa de origen se copiará y almacenará:
en la capa recién creada, si la salida tiene formato GeoPackage
como archivo
.qmd
junto con la capa de salida, para otros formatos. Tenga en cuenta que los formatos basados en archivos que admiten más de un conjunto de datos (por ejemplo, SpatiaLite, DXF,…) pueden tener un comportamiento no deseado.
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 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.
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.
15.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ú .
En el diálogo Exportar DXF
Proporciona el archivo destinatario.
Escoge el modo y la escala de simbología (ver la nota OGR Feature Styles ), si es aplicable.
Selecciona la Codificación de los datos
Selecciona el CRS a aplicar: las capas seleccionadas se volverán a proyectar al CRS dado.
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:
15.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
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).
15.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 Añadir/Editar Capa Virtual en el menú ;
habilitando la pestaña 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.
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.
15.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.
15.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.
15.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.
15.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.
15.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.