Fecha de lanzamiento: 2018-10-26
La primera versión a largo plazo (LTR) de QGIS 3. QGIS 3.4 recién lanzado. Después de cinco lanzamientos de puntos de consolidación (3.4.5), reemplazará el LTR anterior en los repositorios de paquetes en febrero de 2019 (ver:ref:calendario de lanzamientos<QGIS-release-schedule>). Este es un gran avance para el proyecto: nuestro primer lanzamiento a largo plazo basado en la plataforma 3.x. Para los usuarios que pasan de la LTR 2.18, hay una gran lista de nuevas funcoinalidades y cambios impactantes en esta nueva versión de LTR. Tenga en cuenta que los complementos 3.x son incompatibles con los complementos 2.x, por lo tanto, revise cuidadosamente su uso de complementos y, si es posible, ayude a migrar los complementos antiguos a la nueva plataforma. Si aún no lo ha hecho, eche un vistazo a los registros de cambios de la:ref:Versión 3.0<changelog30> y:ref:Versión 3.2<changelog32> para comprender el alcance total de los cambios en la versión 3.4.
Gracias
Nos gustaría agradecer a los desarrolladores, documentadores, evaluadores y a todas las personas que ofrecen su tiempo y esfuerzo como voluntarios (o financian a las personas que lo hacen). ¡Desde la comunidad de QGIS esperamos que disfrutes este lanzamiento! Si desea donar tiempo, dinero o involucrarse de otra manera para hacer QGIS más asombroso,QGIS ¡vaya a qgis.org y eche una mano!
QGIS es apoyado por donantes y miembros de apoyo. Puede ver una lista actual de donantes que han realizado contribuciones financieras grandes y pequeñas para el proyecto en nuestra:ref:lista de donantes<list_of_donors>. Si desea convertirse en miembro oficial de sostenimiento, visite:ref:nuestra página de miembros de apoyo<QGIS_sustaining_memberships> para obtener más detalles. El soporte de QGIS nos ayuda a financiar nuestras seis reuniones mensuales de desarrolladores, mantener la infraestructura del proyecto y financiar los esfuerzos de corrección de errores. A continuación se proporciona una lista completa de los seguidores actuales. ¡Muchas gracias a todos nuestros soportes!
QGIS es un software libre y no tiene obligación de pagar nada para usarlo - de hecho, queremos motivar a las personas a lo largo y ancho para que lo usen, independientemente de cuál sea su estado financiero o social - creemos que empoderando a las personas con herramientas para la toma de decisiones espacial dara como resultado una mejor sociedad para toda la humanidad.
QGIS ahora está disponible como una aplicación flatpak en flathub Flatpak (anteriormente xdg-app) es una utilidad de software para implementación de software, administración de paquetes y virtualización de aplicaciones para Computadoras de escritorio Linux. Permite a los usuarios instalar diferentes versiones de QGIS en Linux sin tener que volver a compilar o usar Docker. Es un paquete completo con todas las bibliotecas incluidas, y utiliza sus propias ubicaciones de perfil de usuario. Por lo tanto, necesitará algo de espacio en disco y nuevos hábitos para trabajar con flatpak, ¡pero es genial!
Esta prestación fue fundada por Aleix Pol
Esta prestación fue desarrollada por Aleix Pol
Permite imágenes SVG para simbología, etiquetas, etc para ser directamente embebidas en un archivo de proyecto (o estilo QML, o plantilla impresa QPT!) mediante codificación del SVG como una cadena estádar base64.
Adicionálmente, archivos embebidos pueden ser extraidos de proyectos y símbolos y grabados de nuevo a archivos SVG basada en disco.
Esta prestación fue fundada por SMEC/SJ
Esta prestación fue desarrollada por Nyall Dawson
Esta prestación fue fundada por QGIS.org
Esta prestación fue desarrollada por Alessandro Pasotti
Muchas nuevas funciones de expresión han sido añadidas en QGIS 3.4. Estas incluyen muchas funciones manejables con las que trabajar y manipular matrices y objetos de mapa(diccionario).
json_to_map: Convierte un valor de cadena codificado JSON en un objeto de tipo mapa (diccionario)
map_to_json: Convierte un objeto de tipo mapa (diccionario) en un valor de cadena codificado JSON
hstore_to_map: Convierte un valor de hstore en un objeto de tipo mapa (diccionario)
map_to_hstore: Convierte un objeto de tipo mapa (diccionario) en un valor hstore
array_foreach : Recorre una matriz y ejecuta una expresión en cada elemento de la matriz, devolviendo una nueva matriz que contiene cada valor calculado
array_filter : Filtra una matriz de acuerdo con una expresión
raster_value: Devuelve un valor muestreado de una capa ráster en un punto especificado
to_dms: Convierte un valor numérico en una cadena formateada en grados, minutos y segundos
to_dm: Convierte un valor numérico en una cadena formateada en grados y minutos
line_substring: Devuelve la parte de la geometría de una línea (o curva) que se encuentra entre las distancias de inicio y fin especificadas (medidas desde el principio de la línea). Los valores Z y M se interpolan linealmente de los valores existentes.
generate_series(start,stop,step): Crea una matriz que contiene una secuencia de números.
Además, algunas nuevas variables también se han puesto a disposición para su uso dentro de las expresiones QGIS:
@canvas_cursor_point: Contiene un valor de punto que representa la posición actual del cursor del mouse dentro del lienzo del mapa principal
@map_layers: Contiene una matriz de todas las capas que son visibles dentro del mapa.
@map_layer_ids: Contiene una matriz de todos los ID de capa para capas visibles dentro del mapa
Esta prestación fue desarrollada por Etienne Trimaille, Matteo Ghetta, Matthias Kuhn, Mathieu Pellerin, Nyall Dawson
Autocompletado de código en el editor de expresiones.
Las variables, los nombres de funciones y los nombres de campo se proponen e insertan automáticamente al escribir expresiones
Los parámetros de la función se muestran al llenarlos
Esta prestación fue fundada por OPENGIS.ch
Esta prestación fue desarrollada por Matthias Kuhn (OPENGIS.ch)
A menudo es útil seleccionar/identificar entidades que están cerradas por un polígono existente. Para esto, los usuarios pueden usar las herramientas «Seleccionar entidades por polígono» e «Identificar entidades por polígono», pero fue necesario rastrear manualmente el polígono de interés. Esta nueva función permite al usuario hacer clic derecho en el mapa y elegir una entidad de polígono existente en esa ubicación desde el menú emergente: ese polígono se usará como entrada para la selección o identificación.
Esta prestación fue fundada por Leicestershire County Council
Esta prestación fue desarrollada por Peter Petrik (Lutra Consulting)
Cada vez que un elemento de la barra de mensajes se vincula a un archivo creado (por ejemplo, después de exportar un diseño o capa de mapa), el enlace ahora abrirá directamente la carpeta que contiene este archivo dentro del navegador de archivos del sistema operativo y preseleccionará el archivo creado. ¡Es un atajo súper práctico que acelera las operaciones de archivo después de una exportación desde QGIS!
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Esta nueva opción de click-derecho en el menu contextual para entradas deshabilitadas en la página de bienvenida permite a los usuarios abrir la ruta existente cerrada a la localización del proyecto original en su administrador de archivos, para ayudar a reubicar proyectos faltantes/movidos/renombrados.
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Las capas temporales Scratch en QGIS pueden ser muy útiles cuando se necesita una capa «desechable», como cuando se procesan previamente los datos en varios pasos. Sin embargo, pueden ser una trampa para usuarios desinformados que pueden no darse cuenta de que el contenido de la capa se perderá permanentemente cuando se cierre el proyecto QGIS actual. En consecuencia, se ha agregado un nuevo ícono indicador que aparece junto a cualquier capa temporal scratch en el árbol de capas, lo que deja en claro de inmediato qué capas son temporales solamente.
También es mucho más fácil hacer la transición de estas capas temporales a formatos permanentes basados en disco. Puede hacer clic en el nuevo icono indicador o seleccionar «Hacer permanente» en el menú contextual de la capa. QGIS solicitará una ubicación para guardar la capa temporal y luego la reemplazará en su lugar (manteniendo la misma ID de capa, estilo, configuración de formulario, etc.).
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
El widget del administrador de tareas QGIS (que se muestra en la barra de estado cada vez que se ejecuta una tarea en segundo plano) ahora muestra un tiempo estimado restante y el tiempo de finalización para las tareas en segundo plano de larga ejecución. Este tiempo estimado de llegada se calcula utilizando una interpolación lineal simple basada en el tiempo transcurrido de la tarea y el progreso actual, y permite a los usuarios saber si solo tienen tiempo para preparar un café instantáneo en la cocina de la oficina o dar una vuelta a la manzana a por un café hecho por un buen barista antes de que se complete esa larga tarea de procesamiento …
Además, QGIS utiliza los mecanismos de informes de progreso del sistema operativo estándar en más plataformas y ocasiones en QGIS 3.4. Algunas tareas de ejecución prolongada (que no se ejecutan en segundo plano), como las exportaciones de atlas, ahora muestran su progreso a través del mecanismo del sistema operativo y arrojan notificaciones útiles de finalización.
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Para los conjuntos de datos vectoriales y ráster locales, la pestaña de Información dentro del cuadro de diálogo de propiedades de capa ahora presenta hipervínculos de ruta del archivo fuente. Al hacer clic en el hipervínculo, el navegador de archivos del sistema se abrirá y resaltará automáticamente el conjunto de datos.
Esta prestación fue fundada por iMhere Asia
Esta prestación fue desarrollada por Mathieu Pellerin
El cuadro de diálogo Administrador de estilo QGIS (que permite a los usuarios configurar y administrar sus propias bibliotecas de símbolos y rampas de color) ahora se abre de forma no modal, por lo que ahora se puede usar junto con la ventana principal de QGIS (al igual que el cuadro de diálogo Administrador de diseño y el Diseñador de diseño de impresión ventanas).
También hemos mejorado la vista previa de los símbolos dentro del Muelle de Estilos de Capa, agregando una opción para cambiar entre una vista de icono grande y una vista de lista detallada de símbolos. Al pasar el cursor sobre los símbolos (¡y los colores!) Ahora se muestra una vista previa grande del símbolo. Finalmente, hemos creado listas de símbolos más amigables con alta resolución.
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Se realizaron toneladas de trabajo para esta versión para mejorar la interfaz de usuario y la experiencia del panel del navegador, incluidas las correcciones de HiDPI, las mejoras del conjunto de datos vectoriales/ráster comprimidos y un conjunto de iconos actualizado.
También se ha agregado funcionalidad, incluida la capacidad de crear un nuevo directorio directamente desde el menú contextual del navegador. El navegador ahora también muestra una gama más completa de opciones para las conexiones de SQL Server, que coinciden con las opciones que ya estaban disponibles para otras conexiones de bases de datos.
Esta prestación fue desarrollada por Mathieu Pellerin (iMHere Asia), Nyall Dawson (North Road)
En QGIS 3.4 se ha agregado un nuevo tipo de widget de formulario de capa vectorial para mostrar elementos gráficos atractivos e interactivos como gráficos o dibujos técnicos en el formulario de atributos. El widget tiene una configuración flexible, que incluye plantillas de ejemplo y soporte de expresión.
Esta prestación fue financiada por el Proyecto QGIS
Esta prestación fue desarrollada por David Signer and Matthias Kuhn (OPENGIS.ch)
Agregar conjuntos de datos a la capa de malla desde el panel de propiedades
Panel de información y fuente en el panel de propiedades
Selección del conjunto de datos activo (propiedades o panel de estilo)
Estilo de contornos/escalares (propiedades o panel de estilo)
Estilo del marco de malla (propiedades o panel de estilo)
Diseño de flechas vectoriales (propiedades o panel de diseño)
Esta prestación fue fundada por Lutra Consulting
Esta prestación fue desarrollada por Peter Petrik (Lutra Consulting)
Esta prestación fue fundada por https://github.com/pierreloicq
Esta prestación fue desarrollada por https://github.com/pierreloicq
Al exportar e importar estilos hacia y desde archivos .qml
, ahora es posible seleccionar un subconjunto de secciones. Esto permite guardar y restaurar partes de una configuración de capa mientras se omiten otras. Por ejemplo, es posible exportar solo la simbología de una capa y al importar este archivo de estilo QML a una capa, cualquier configuración en los formularios y widgets u otras propiedades no se ve afectada. También es posible manejar solo secciones individuales de un estilo cuando se usa copiar/pegar.
Esta prestación fue fundada por qwat group
Esta prestación fue desarrollada por Denis Rouzaud (OPENGIS.ch GmbH)
QGIS 3.4 extiende el soporte de rastreo GPS incorporado, agregando parámetros de «intervalo de adquisición» y «umbral de distancia». Estas opciones se pueden usar para mantener el cursor estacionario cuando el receptor está en condiciones estáticas.
Esta prestación fue fundada por Andrea Rossi
Esta prestación fue desarrollada por Andrea Rossi
Se han añadido opciones para permitir pinzar a 5/10/15/18/22.5 grados en el modo de construcción.
Esta prestación fue fundada por lbartoletti
Esta prestación fue desarrollada por lbartoletti
El nuevo vértice es mucho más productivo ahora. Puede mover vértices de todas las capas editables a la vez, lo cual es excelente para preservar la topología de capas cruzadas. Sin embargo, en muchos casos, muchos de nosotros no queremos modificar todas las capas a la vez. Agregamos una variación de la herramienta de mapa de vértices solo para eso.
Esta prestación fue fundada por Oslandia
Esta prestación fue desarrollada por Paul Blottiere (Oslandia)
¡Una característica muy esperada! ¡No más complementos o algoritmos externos para invertir la dirección de una línea!
Esta prestación fue fundada por OSLANDIA
Esta prestación fue desarrollada por Loïc Bartoletti
Las capas vectoriales tienen una opción de configuración de precisión. La precisión define cuán precisa se debe guardar la ubicación de los nodos. Cada nodo de geometrías nuevas o editadas se ajusta a una cuadrícula de esta resolución. Mientras se digitaliza, se muestra la cuadrícula para guiar al usuario.
Esta prestación fue fundada por Kanton Solothurn
Esta prestación fue desarrollada por Matthias Kuhn (OPENGIS.ch)
Al agregar o editar geometrías en una capa vectorial, QGIS puede eliminar automáticamente nodos duplicados de las geometrías. Esta opción es configurable en la pestaña de digitalización de capas vectoriales.
Esta prestación fue fundada por Kanton Solothurn
Esta prestación fue desarrollada por Matthias Kuhn (OPENGIS.ch)
Se puede verificar la validez de cada geometría nueva o editada si esta opción está activada. Esto permite comunicarse de forma transparente con un usuario cuando hay geometrías erróneas producidas por la sesión de edición actual.
Esta prestación fue fundada por Kanton Solothurn
Esta prestación fue desarrollada por Matthias Kuhn (OPENGIS.ch)
Las comprobaciones de topología se pueden activar en una capa. En geometrías recién agregadas y editadas, se pueden ejecutar comprobaciones de topología. Las verificaciones se ejecutarán cuando se guarde la capa o al hacer clic en el botón de verificación de topología en el panel de validación de geometría.
Las siguientes pruebas están disponibles:
Huecos
Superposiciones
Vértices perdidos en polígonos vecinos
Esto se basa en la funcionalidad del complemento de comprobación de geometría implementado por Sourcepole.
Esta prestación fue fundada por Kanton Solothurn
Esta prestación fue desarrollada por Matthias Kuhn (OPENGIS.ch)
Al igual que QGIS y los complementos, los proyectos se traducen con el proceso de traducción Qt. Significa que realiza la traducción de acuerdo con un archivo fuente de traducción compilado Qt (archivo .qm
). Cuando el usuario abre un proyecto, QGIS busca un archivo .qm
que se encuentre en la misma carpeta que el archivo .qgs
, que tenga el mismo nombre que el archivo .qgs
y que tenga el idioma -code como postfix del idioma de los usuarios (el idioma configurado en la configuración de QGIS). Para crear la traducción, en la configuración del proyecto, hay una opción para generar el archivo .ts
, que puede ser editado por programas como Qt Linguist o Transifex.
Mas información en este blog
Esta prestación fue fundada por QGIS Usergroup Switzerland and QGEP Project
Esta prestación fue desarrollada por David Signer (OPENGIS.ch)
Se ha agregado un botón a la barra de herramientas de la Tabla de atributos para cambiar entre el modo acoplado y el modo de ventana a pedido. Anteriormente, los usuarios tenían que cambiar una opción en el cuadro de diálogo de configuración y abrir una nueva tabla para cambiar entre el modo acoplado/desacoplado, pero eso es doloroso si decide después que una tabla ya está abierta que desea acoplarla/desacoplarla. …!
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Se ha agregado un nuevo filtro de localización que permite a los usuarios buscar en todas las capas de su proyecto, por la expresión de visualización de la capa.
El filtro se puede activar utilizando el prefijo “af” o convirtiéndolo en una búsqueda predeterminada a través de las opciones de QGIS -> Localizador -> Características en toda la capa. Las expresiones de visualización se definen en las propiedades de la capa vectorial en la pestaña de visualización. Las capas individuales se pueden marcar como no buscables en el cuadro de diálogo Propiedades del proyecto, en la pestaña Orígenes de datos.
Esta prestación fue fundada por Opengis.ch
Esta prestación fue desarrollada por Denis Rouzaud
Se muestra un nuevo icono indicador «bloqueado» para cualquier capa marcada como «requerida» dentro del proyecto actual. Este icono brinda a los usuarios comentarios instantáneos de que una capa en particular no se puede eliminar del proyecto.
Las capas requeridas se configuran a través del cuadro de diálogo Propiedades del proyecto, pestaña Orígenes de datos.
Esta prestación fue fundada por Arpa Piemonte (Dipartimento Tematico Geologia e Dissesto) dentro del proyecto ERIKUS
Esta prestación fue desarrollada por Martin Dobias (Lutra Consulting) y Faunalia
Mientras salvamos una capa ráster a una base de datos de GeoPackage, ahora es posible adjuntar la capa a un archivo existente.
Esta prestación fue fundada por Borys Jurgiel
Esta prestación fue desarrollada por Borys Jurgiel
Nuevas funciones y lógica en los «Widgets de relación de valor» de QGIS, permiten la implementación de filtros complejos y dinámicos dentro de los formularios de atributos QGIS. La funcionalidad se puede utilizar para implementar formularios de «desglose» dentro de QGIS, donde los valores disponibles en un campo dependen de los valores de otros campos:
Esta prestación fue fundada por QGIS community through crowd-funding
Esta prestación fue desarrollada por Alessandro Pasotti (with North Road)
Esta prestación permite a los usuarios añadir su vista de mapa 3D a la impresora de diseño.
Esta prestación fue financiada por la comunidad QGIS a través de financiación colectiva
Esta prestación fue desarrollada por Lutra Consulting
Gracias a una gran cantidad de generosos patrocinadores, un modo de «edición in situ» financiado mediante crowdfunding se agregó a Processing para 3.4. Cuando una capa vectorial está activa y es editable, este modo permite a los usuarios ejecutar algoritmos adecuados directamente en las entidades de la capa, modificando sus atributos y geometrías en el lugar. Todas las ediciones se agregan al «búfer de edición» de la capa, para que pueda deshacer y rehacer fácilmente los cambios antes de guardarlos nuevamente en la fuente de datos.
Para aquellos usuarios avanzados que realizan ediciones de datos frecuentes, esta funcionalidad también se expone a través de la «Barra de localización» de QGIS 3.0 (esa barra de «escritura para ubicar» que se encuentra en la esquina inferior izquierda). Si escribe ‘ef’ («funciones de edición») seguido del nombre de la operación correspondiente, podrá realizar las ediciones directamente a través del teclado. P.ej.
Seleccione un montón de características de línea
Presione Ctrl+K (activa la barra de localización)
Escriba «ef reverse»
Presione enter - ¡las entidades de línea seleccionadas serán invertidas inmediatamente!
Esta prestación fue fundada por Campaña de Crowdfunding
Esta prestación fue desarrollada por North Road
Algunos modelos de procesamiento están tan intrínsecamente vinculados a la lógica dentro de un proyecto en particular que no tienen significado (o están totalmente rotos) fuera de ese proyecto (por ejemplo, modelos que dependen de la presencia de capas de mapa, relaciones, etc.). En consecuencia, desde QGIS 3.4, los modelos de procesamiento se pueden almacenar dentro de los archivos de proyecto QGIS. Todos los modelos almacenados dentro de un proyecto estarán disponibles tan pronto como se abra ese proyecto. Esto también evita abarrotar al proveedor de modelos «globales» con modelos que no tienen sentido, y facilita la distribución de un solo proyecto con todos los modelos relevantes incluidos.
Los modelos se almacenan dentro de los proyectos haciendo clic en el nuevo botón «Incrustar en el proyecto» en la barra de herramientas del diálogo Modelador. Los modelos se pueden eliminar de un proyecto desde el menú contextual del modelo en la caja de herramientas.
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Un nuevo algoritmo se ha añadido para muestreo de valores de capas ráster en ubicaciones puntuales.
Esta prestación fue fundada por Faunalia
Esta prestación fue desarrollada por Matteo Ghetta (Faunalia)
Este algoritmo convierte una capa ráster en una capa vectorial, con una entidad de polígono correspondiente a cada píxel del ráster y un único campo que contiene el valor de banda del ráster.
Esta prestación fue fundada por SMEC/SJ
Esta prestación fue desarrollada por Nyall Dawson
QGIS 3.4 agrega un algoritmo nativo de «agrupación de k-means». Basado en un puerto de la función ST_ClusterKMeans de PostGIS, este algoritmo agrega un nuevo campo de ID de clúster a un conjunto de entidades de entrada que identifica el clúster de la característica en función de un enfoque de agrupación de k-means. Si se utilizan geometrías sin puntos como entrada, la agrupación se basa en el centroide de las geometrías de entrada.
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Este nuevo algoritmo nativo implementa una aproximación optimizada de agrupación por barrido basado en la densidad DBSCAN para agrupar entidades puntuales 2D.
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Algunas mejoras diversas a algoritmos existentes de procesamiento incluyen:
El algoritmo «Dirección inversa de línea» ahora funciona con entradas de geometría MultiLineString
Extender líneas: añadido soporte para distancias inicial y final dinámicas (definidos por datos)
Compensación de líneas: soporte para compensación dinámica de distancia
Los algoritmos Unir por valor de campo y Unir por localización ahora puede exportar opcionalmente registros no coincidentes
«Unir por valor de campo*: tambien informa recuentos de entidades coincidentes/no coincidentes
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Se agregaron dos nuevos algoritmos para filtrar vértices de línea/polígono por sus valores M o Z. Se puede ingresar un valor M/Z mínimo y máximo, y si los vértices caen fuera de estos rangos, se descartarán de la geometría de salida. Los valores de filtro mínimo y máximo también se pueden definir con datos, por lo que pueden variar según la entidad.
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Este nuevo algoritmo crea copias de entidades en una capa, creando múltiples versiones trasladadas (desplazamiento) de una entidad. Cada copia es desplazada por una pequeña cantidad en el eje x/y/z/m.
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Este nuevo algoritmo crea copias de una entidad lineal en una capa, mediante la creación de múltiples versiones paralelas de cada entidad. Cada copia es desplazada en una distancia preestablecida.
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Cuando un algoritmo tiene un parámetro de distancia en metros/pies/etc (p.ej. distancias no geográficas), se ha añadido un combo box permitiendo elegir el tipo de unidad.
(QGIS no expone esto (y no debería nunca) para distancias en grados; depende de los usuarios en esta situación elegir una proyección local adecuada y reproyectar sus datos para que coincidan).
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson
Estos dos nuevos algoritmos pueden establecer el vértice z o m de una geometría a valores muestreados desde una banda ráster. Los valores se pueden escalar opcionalmente usando un valor de escala (definido por datos).
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Un nuevo algoritmo «pixels a puntos» fue añadido en QGIS 3.4, el cuál crea una entidad de punto en el centro de cada pixel. pixels sin datos son omitidos.
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Este nuevo, muy solicitado, algoritmo devuelve la porción de una línea (o curva) que cae dentro de las distancias inicial y final (medida desde el comienzo de la línea). Los valores Z y M son interpolados linealmente desde valores existentes.
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Este nuevo algorimto crea una geometría puntual interpolada a una distancia fija en la geometría lineal (o límite de polígono). Son completamente admitidas entradas de geometrías curvas. Valores Z o M son linealmente interpoladas a partir de valores existentes.
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Esta prestación fue fundada por https://qgis.org
Esta prestación fue desarrollada por Detlev Neumann, Rudi von Staden
Cuando sea apropiado, los scripts ahora iniciarán un diálogo de algoritmo de procesamiento cuando:
Arrastrar y soltar un script de Python en la ventana principal
Uso de la acción de ejecutar script del panel derecho del panel del navegador
Esta prestación fue fundada por iMhere Asia
Esta prestación fue desarrollada por Mathieu Pellerin
Se agregó un nuevo algoritmo “Reorganizar banda” del proveedor GDAL a la caja de herramientas de procesamiento. El algoritmo permite generar rásteres que continúan un subconjunto de las bandas de un ráster de entrada dado y ofrece la posibilidad de reordenar las bandas.
Esta prestación fue fundada por iMHere Asia
Esta prestación fue desarrollada por Mathieu Pellerin
Una nueva opción está presente para todos los parámetros de uso de una «expresión precalculada». Esta expresión se evalúa una vez antes de que el algoritmo hijo se ejecute y se use durante la ejecución de ese algoritmo.
Esta prestación fue financiada por QGIS
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Este nuevo algoritmo ajusta el renderizado de una capa vectorial a un renderizado categorizado utilizando símbolos coincidentes de una base de datos de estilos.
Se utiliza una expresión especificada (o nombre de campo) para crear categorías para el renderizador, con QGIS creando una categoría para cada valor único dentro de la capa. Cada categoría se corresponde individualmente con los símbolos que existen dentro de la base de datos de estilo XML QGIS especificada. Siempre que se encuentre un nombre de símbolo coincidente, el símbolo de la categoría se establecerá a este símbolo coincidente.
La coincidencia no distingue entre mayúsculas y minúsculas de forma predeterminada, pero se puede distinguir entre mayúsculas y minúsculas si es necesario. Opcionalmente, los caracteres no alfanuméricos tanto en el valor de la categoría como en el nombre del símbolo se pueden ignorar mientras se realiza la coincidencia. Esto permite una mayor tolerancia al combinar categorías con símbolos.
Si lo desea, también se pueden generar tablas que contengan listas de las categorías que no pueden coincidir con los símbolos y símbolos que no coinciden con las categorías.
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
El nuevo modo «Ajustar a los nodos de anclaje (solo una capa)» asegura que cualquiera de los dos vértices de la capa vectorial estén al menos a la distancia dada por el valor umbral.
Este algoritmo es útil cuando se realizan operaciones de superposición de vectores como intersección, unión o diferencia para evitar posibles errores topológicos causados por errores numéricos si las coordenadas están muy cerca una de la otra. Después de ejecutar el algoritmo, algunas geometrías previamente válidas pueden volverse inválidas y, por lo tanto, puede ser útil ejecutar el algoritmo Fix geometries después.
Esta prestación fue fundada por InaSAFE DFAT
Esta prestación fue desarrollada por Martin Dobias (Lutra Consulting)
Soporta código de autenticación, implícito y propietario del recurso de concesión del flujo
Permite par conexiones preconfiguradas, lectura para localizaciones por defecto
Ofrece almacenamiento en caché de la toma de acceso más allá de los reinicios de QGIS
Guardar/cargar configuraciones
Esta prestación fue fundada por Monsanto Company
Esta prestación fue desarrollada por Larry Shaffer, Alessandro Pasotti
Las capas de malla representan datos en una cuadrícula de tamaño variable con componentes adicionales (por ejemplo, tiempo y vector). Con la introducción de MDAL, los usuarios pueden cargar los siguientes formatos directamente en QGIS y explorar todos los demás componentes:
GRIB
XMDF
Netcdf
Esta prestación fue financiada por Lutra Consulting
Esta prestación fue desarrollada por Lutra Consulting
Con esta API, los desarrolladores pueden inspeccionar elementos de malla y obtener valores espacial y temporalmente. Como ejemplo, puede crear un diagrama de series de tiempo desde su capa de malla.
Esta prestación fue fundada por Lutra Consulting
Esta prestación fue desarrollada por Lutra Consulting
Una capa de malla a menudo contiene varias cantidades. Por ejemplo, un netcdf/grib puede contener varias cantidades meteorológicas. Cada cantidad también puede tener múltiples componentes. Por ejemplo, los datos del viento pueden contener velocidad (escalar) y valores (cuadrícula). Con esta opción, puede superponer escalares y cuadrículas de diferentes cantidades. En la imagen a continuación, puede ver la temperatura (cuadrícula) y el viento (escalar).
Esta prestación fue fundada por Lutra Consulting
Esta prestación fue desarrollada por Lutra Consulting
Los datos escalares se generan generalmente en el centro/esquina de cada elemento de malla. Al mostrar los datos escalares, las flechas pueden verse dispersas y, a menudo, no es posible ver la tendencia general. Con esta opción, las flechas se pueden mostrar en una cuadrícula definida por el usuario. Los valores escalares adicionales se interpolarán sobre la marcha y se colocarán en la cuadrícula definida por el usuario.
Esta prestación fue fundada por Lutra Consulting
Esta prestación fue desarrollada por Lutra Consulting
Se admite la lectura de los tipos JSON de PostgreSQL. Los datos JSON se pueden mostrar en los widgets como «Clave/Valor» (mapas), como «Lista» (matrices) o como texto.
Esta prestación fue fundada por Kanton Solothurn
Esta prestación fue desarrollada por David Signer (OPENGIS.ch)
Se ha agregado soporte al sistema de autenticación de QGIS para la autenticación basada en token temporal de ESRI. Esto permite la conexión a ArcGIS Feature and Map Servers a través de un token temporal asignado.
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Las versiones recientes de QGIS han cambiado a un enfoque más seguro para leer las capas de SQL Server, que comprueba automáticamente la validez de la geometría y repara las geometrías cuando sea necesario. Esta solución alternativa es necesaria para evitar problemas con el diseño del manejo de la geometría de SQL Server, donde encontrar filas con geometrías no válidas puede anular silenciosamente una solicitud sin devolver todas las características de una capa. Desafortunadamente, la solución tiene un costo de rendimiento significativo.
En QGIS 3.4 se agregó una nueva configuración para permitir a los usuarios desactivar manualmente el manejo de geometría no válida de SQL Server de QGIS. Al activar la opción «Omitir manejo de geometría no válida» en las propiedades de una conexión de SQL Server, QGIS omite todo el costoso proceso de validación de geometría, pero asume firmemente la responsabilidad de garantizar que todas las características de la base de datos tengan geometrías válidas de nuevo sobre el usuario / administrador de la base de datos. . ** Esta es una configuración de «uso bajo su propio riesgo». Habilitar esta opción de forma incorrecta puede provocar la pérdida de funciones y la pérdida de datos.
Esta prestación fue desarrollada por Nyall Dawson (North Road)
De forma predeterminada, QGIS Server solo almacena en la memoria caché el documento WMS GetCapabilities. Con la implementación de WMTS, es necesario tener una forma de almacenar en caché las teselas. Pero el administrador de caché no se ha desarrollado solo para almacenar en caché teselas.
El complemento del administrador de caché se puede usar para almacenar en caché:
WMS, WFS, WCS, WMTS GetCapabilities documentos
WFS DescribeFeatureType documentos
WCS DescribeCoverage documentos
WMTS GetTile imagenes
WMS GetLegendGraphic imagenes
Aquí hay una clase de administrador de caché de Python, que no verifica si el proyecto QGIS ha cambiado:
class PyServerCache(QgsServerCacheFilter):
""" Used to have cache control """
def __init__(self, server_iface):
super(QgsServerCacheFilter, self).__init__(server_iface)
self._cache_dir = os.path.join(tempfile.gettempdir(), "qgs_server_cache")
if not os.path.exists(self._cache_dir):
os.mkdir(self._cache_dir)
self._tile_cache_dir = os.path.join(self._cache_dir, 'tiles')
if not os.path.exists(self._tile_cache_dir):
os.mkdir(self._tile_cache_dir)
def getCachedDocument(self, project, request, key):
m = hashlib.md5()
paramMap = request.parameters()
urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
m.update(urlParam.encode('utf8'))
if not os.path.exists(os.path.join(self._cache_dir, m.hexdigest() + ".xml")):
return QByteArray()
doc = QDomDocument(m.hexdigest() + ".xml")
with open(os.path.join(self._cache_dir, m.hexdigest() + ".xml"), "r") as f:
statusOK, errorStr, errorLine, errorColumn = doc.setContent(f.read(), True)
if not statusOK:
print("Could not read or find the contents document. Error at line %d, column %d:\n%s" % (errorLine, errorColumn, errorStr))
return QByteArray()
return doc.toByteArray()
def setCachedDocument(self, doc, project, request, key):
if not doc:
print("Could not cache None document")
return False
m = hashlib.md5()
paramMap = request.parameters()
urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
m.update(urlParam.encode('utf8'))
with open(os.path.join(self._cache_dir, m.hexdigest() + ".xml"), "w") as f:
f.write(doc.toString())
return os.path.exists(os.path.join(self._cache_dir, m.hexdigest() + ".xml"))
def deleteCachedDocument(self, project, request, key):
m = hashlib.md5()
paramMap = request.parameters()
urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
m.update(urlParam.encode('utf8'))
if os.path.exists(os.path.join(self._cache_dir, m.hexdigest() + ".xml")):
os.remove(os.path.join(self._cache_dir, m.hexdigest() + ".xml"))
return not os.path.exists(os.path.join(self._cache_dir, m.hexdigest() + ".xml"))
def deleteCachedDocuments(self, project):
filelist = [f for f in os.listdir(self._cache_dir) if f.endswith(".xml")]
for f in filelist:
os.remove(os.path.join(self._cache_dir, f))
filelist = [f for f in os.listdir(self._cache_dir) if f.endswith(".xml")]
return len(filelist) == 0
def getCachedImage(self, project, request, key):
m = hashlib.md5()
paramMap = request.parameters()
urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
m.update(urlParam.encode('utf8'))
if not os.path.exists(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png")):
return QByteArray()
img = QImage(m.hexdigest() + ".png")
with open(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png"), "rb") as f:
statusOK = img.loadFromData(f.read())
if not statusOK:
print("Could not read or find the contents document. Error at line %d, column %d:\n%s" % (errorLine, errorColumn, errorStr))
return QByteArray()
ba = QByteArray()
buff = QBuffer(ba)
buff.open(QIODevice.WriteOnly)
img.save(buff, 'PNG')
return ba
def setCachedImage(self, img, project, request, key):
m = hashlib.md5()
paramMap = request.parameters()
urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
m.update(urlParam.encode('utf8'))
with open(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png"), "wb") as f:
f.write(img)
return os.path.exists(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png"))
def deleteCachedImage(self, project, request, key):
m = hashlib.md5()
paramMap = request.parameters()
urlParam = "&".join(["%s=%s" % (k, paramMap[k]) for k in paramMap.keys()])
m.update(urlParam.encode('utf8'))
if os.path.exists(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png")):
os.remove(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png"))
return not os.path.exists(os.path.join(self._tile_cache_dir, m.hexdigest() + ".png"))
def deleteCachedImages(self, project):
filelist = [f for f in os.listdir(self._tile_cache_dir) if f.endswith(".png")]
for f in filelist:
os.remove(os.path.join(self._tile_cache_dir, f))
filelist = [f for f in os.listdir(self._tile_cache_dir) if f.endswith(".png")]
return len(filelist) == 0
Y la forma de agregarlo al administrador de caché del servidor QGIS.
servercache = PyServerCache(server_iface) server_iface.registerServerCache(servercache, 100)
Esta prestación fue fundada por Ifremer
Esta prestación fue desarrollada por 3Liz
QGIS Server 3.4 es compatible con el estándar WMTS 1.0.0 OGC.
En las propiedades del proyecto QGIS, el usuario puede definir:
qué parte del proyecto (todos los proyectos, grupos de capas o capas) debe publicarse a través del estándar WMTS
la escala mínima de teselas
El servidor QGIS reutiliza el CRS definido en el WMS para WMTS.
Para administrar la memoria caché de teselas, QGIS Server debe instalar y cargar un complemento QGIS Server con una clase QgsServerCacheFilter.
Esta prestación fue fundada por Ifremer
Esta prestación fue desarrollada por 3Liz
Esta prestación fue fundada por https://github.com/rldhont
Esta prestación fue desarrollada por https://github.com/rldhont
Ahora es posible configurar QGIS Server para que escriba sus registros en stderr. Esto se hace estableciendo QGIS_SERVER_LOG_FILE env var en el valor especial «stderr».
Esta prestación fue fundada por OSLANDIA
Esta prestación fue desarrollada por Eric Lemoine
El Administrador de Plugins ahora es capaz de instalar plugins desde archivos locales zip incluso si están encriptados.
Esta prestación fue fundada por Borys Jurgiel
Esta prestación fue desarrollada por Borys Jurgiel
Con la funcionalidad de edición fuera de línea, es posible seleccionar si la exportación debe crear un archivo SpatiaLite o GeoPackage para uso fuera de línea.
Esta prestación fue fundada por Oester Messtechnik
Esta prestación fue desarrollada por David Signer (OPENGIS.ch)
Un índice espacial estático muy rápido para puntos 2D basado en un árbol KD plano, utilizando https://github.com/mourner/kdbush.hpp
En comparación con QgsSpatialIndex, este índice: - solo admite entidades de un solo punto (sin multipuntos) - es estático (las entidades no se pueden agregar o eliminar del índice después de la construcción) - ¡es mucho más rápido! - admite búsquedas verdaderas «basadas en la distancia», es decir, devolver todos los puntos dentro de un radio desde un punto de búsqueda
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Esta es una alternativa al método QgsRasterDataProvider::identidad
, que es menos eficiente pero más potente
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Se ha agregado la nueva API PyQGIS para facilitar la recuperación de una subcadena de una geometría LineString/Curve:
QgsCurve::curveSubstring - Devuelve una nueva curva representando una subcadena de una curva, desde una distancia inicial a una final.
Si hay valores z o m, la salida z y m se interpolarán utilizando los valores z o m de los vértices existentes. El método también maneja geometrías curvas sin pérdida o segmentación.
Esta prestación fue fundada por North Road
Esta prestación fue desarrollada por Nyall Dawson (North Road)
Debido a los cambios ascendentes dentro de la biblioteca PyQt/sip, la forma recomendada de importar este módulo ha cambiado en QGIS 3.4. Para una portabilidad máxima, en lugar de llamar directamente: `` import sip`` complementos deberían usar: from qgis.PyQt import sip
El uso de esta importación de estilo más reciente garantizará que el código funcione correctamente en todas las plataformas y siga siendo funcional en futuras Versiones de QGIS.
Desarrollo de la API, un proveedor de muestras y pruebas que permiten la creación de un proveedor de datos vectoriales en Python puro.
Esta prestación fue financiada por Good will
Esta prestación fue desarrollada por Alessandro Pasotti
Puede crear una animación basada en un conjunto de fotogramas clave: posiciones de la cámara en momentos particulares. QGIS 3D luego interpola las posiciones/rotaciones de la cámara entre los fotogramas clave.
Para crear los fotogramas clave, primero configure la escena para su mapa, girando, haciendo zoom o moviendo la cámara. Luego asigne un tiempo al marco. Existen varios métodos para las interpolaciones entre fotogramas clave.
Esta prestación fue financiada por la comunidad QGIS a través de financiación colectiva
Esta prestación fue desarrollada por Martian Dobias (Lutra Consulting)
Este modo de representación de líneas 3D utilizará la representación de líneas OpenGL en lugar de almacenar las líneas en polígonos y representarlas como mallas.
La ventaja es que las líneas 3D no pierden su coordenada Z, que es el caso actualmente con la representación 3D «ordinaria» después del almacenamiento en búfer.
La desventaja es que las líneas no pueden ser anchas (admitidas en Qt3D solo desde 5.10, pero incluso así su renderización no tendrá buenas combinaciones/finalizaciones) y solo se utiliza el color ambiental del material.
Esta prestación fue fundada por Lutra Consulting
Esta prestación fue desarrollada por Martin Dobias (Lutra Consulting)
Una nueva herramienta de Identificación fue introducida para mapas 3D. Usando esta herramienta, puede inspeccionar entidades desde la escena 3D.
Esta prestación fue fundada por Department of Environment, Land and Infrastructure Engineering (DIATI)
Esta prestación fue desarrollada por Martin Dobias (Lutra Consulting) y Faunalia
Algunas clases de QGIS 3D se han puesto a disposición de los desarrolladores de Python. Ahora es posible consultar o cambiar los renderizadores 3D de las capas del mapa y las propiedades de lectura/escritura de los símbolos 3D contenidos, como los colores de los materiales. Tenga en cuenta que, por ahora, la API se considera experimental, por lo que puede cambiar en futuras versiones 3.x.
Esta prestación fue fundada por Lutra Consulting
Esta prestación fue desarrollada por Martin Dobias (Lutra Consulting)