Elenco cambiamenti per QGIS 3.24

image1

In memoria: Questo rilascio è chiamato “Tisler” da una piccola isola norvegese che era uno dei luoghi preferiti di Håvard Tveite, scomparso nel maggio 2021. Håvard è stato un membro molto attivo della comunità QGIS, fornendo un prezioso contributo alla documentazione, sviluppando numerosi plugin e occupandosi del QGIS Resources Sharing Repository per citare solo alcuni dei suoi contributi. La mappa sullo splash screen di QGIS 3.24 è una mappa di orienteering che Håvard ha creato. Gli piaceva passare un po” di tempo ogni anno a fare mappe a Tisler.

Vogliamo ringraziare gli sviluppatori, chi cura la documentazione, i tester e tutti coloro che hanno offerto volontariamente il proprio tempo e impegno (o finanziato altri per farlo) per rendere possibili questi rilasci. Da parte della comunità di QGIS, speriamo ti piaccia questa versione! Se vorrai donare tempo, denaro o partecipare in altro modo per rendere QGIS migliore, visita il sito QGIS.ORG e dacci una mano!

Per una carrellata di tutte le nuove funzionalità introdotte, è possibile visualizzare il video highlight reel su youtube all’indirizzo https://youtu.be/gVgR4Oxqtkk

QGIS è sostenuto da donatori e membri sostenitori. Una lista attuale di donatori che hanno dato contributi finanziari grandi e piccoli al progetto può essere vista sulla nostra lista dei donatori. Se vuoi diventare un membro sostenitore ufficiale del progetto, visita la nostra pagina dei membri sostenitori per i dettagli. Sponsorizzare QGIS ci aiuta a finanziare i nostri regolari incontri con gli sviluppatori, a mantenere l’infrastruttura del progetto e a finanziare gli sforzi per risolvere i bug. Una lista completa degli attuali sponsor è fornita qui sotto - il nostro grande ringraziamento a tutti i nostri sponsor!

QGIS è un Software Libero e non c’è alcun obbligo di pagare nulla per utilizzarlo - vogliamo infatti incoraggiare le persone di ogni parte del mondo ad usarlo, indipendentemente dalla propria situazione finanziaria o sociale - crediamo che mettere tutti nella condizione di utilizzare gli strumenti decisionali spaziali produrrà una società migliore per tutta l’umanità.

Interfaccia Utente

Funzionalità: Recupera le estensioni delle mappe direttamente dalle mappe di layout e dai segnalibri

Questo è un comodo risparmio di tempo! Il widget dell’estensione in QGIS ora ti permette di recuperare direttamente l’estensione delle mappe dai segnalibri e dai layout del tuo progetto.

image3

Questa funzionalità è stata sviluppata da`Mathieu Pellerin <https://www.opengis.ch/>`__

Funzionalità: Creazione più facile di sistemi di riferimento di coordinate personalizzati

Abbiamo aggiunto una nuova opzione quando si seleziona un sistema di riferimento di coordinate (SR) che permette di inserire direttamente una definizione SR personalizzata (da stringhe proj o WKT), invece di richiedere di aggiungere specificamente questi SR personalizzati al database delle proiezioni.

È molto più amichevole quando si vuole solo definire una proiezione personalizzata per un singolo scopo, ad esempio una mappa panoramica con una proiezione progettata per una particolare latitudine e longitudine.

image4

Questa funzionalità è stata sviluppata da Nyall Dawson

Simbologia

Funzionalità: Marker/hash line: offset lungo la linea per «percentuale» della lunghezza della linea (e offset negativi!)

È ora possibile specificare lo offset lungo la linea in percentuale per entrambi i tipi di simbolo di linea marker e hash. (Questi offset sono trattati come percentuali della lunghezza totale della linea).

Inoltre, quando l’impostazione offset lungo la linea per un marcatore o un simbolo di linea hash è più lunga della dimensione di un anello chiuso, QGIS ora tratta l’offset come se continuasse a girare intorno all’anello. Per esempio, impostando l’offset al 150%, l’offset viene trattato come il 50% della lunghezza dell’anello chiuso.

Infine, abbiamo anche reso possibile specificare un offset negativo lungo la linea per un anello chiuso. Gli offset negativi sono calcolati all’indietro lungo l’anello.

image5

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Funzionalità: Controllo se i posizionamenti del primo/ultimo vertice si applicano a ogni parte delle geometrie multiparte

Questa nuova opzione di simbologia per i tipi di simboli Marker e Hash line permette di controllare se le opzioni di posizionamento del primo e dell’ultimo vertice devono essere applicate ad ogni parte di una linea (o poligono) in più parti individualmente, o solo al primo e all’ultimo vertice nell’intera geometria in più parti.

image6

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Funzionalità: Opzione di posizionamento del marcatore/linea «sui vertici» sostituito da «sui vertici interni».

La nuova modalità Su Vertici Interni pone i simboli solo su tutti i vertici interni (cioè tutti i vertici tranne il primo o l’ultimo).

In precedenza, la vecchia modalità «Vertice» metteva i simboli sul primo e sull’ultimo vertice così come su tutti i vertici interni, rendendo praticamente impossibile creare uno stile con un marcatore diverso sul primo o sull’ultimo vertice rispetto al resto dei vertici della linea. Con la nuova opzione Sui vertici interni è facile creare uno stile in cui una linea ha un marcatore diverso sul primo o sull’ultimo vertice rispetto al resto dei vertici!

(Questo cambiamento si abbina bene con il passaggio all’uso di caselle di controllo per le opzioni di posizionamento – per ottenere un marcatore da mostrare su tutti i vertici, basta assicurarsi che le opzioni primo, ultimo e vertici interni siano selezionate).

image7

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Funzionalità: Le opzioni di posizionamento nei livelli dei simboli dei marcatori e delle linee di hash sono ora caselle di controllo invece di pulsanti che si escludono a vicenda

Questo miglioramento rende notevolmente più facile creare linee di marcatori (o hash) con i marcatori sia sul primo e ultimo vertice (fra le altre combinazioni utili!)

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Funzionalità: controllo del modello di colore usato quando si interpolano le rampe del gradiente

Quando si esegue il rendering di una rampa di gradiente, alcune combinazioni di colori del gradiente causeranno il passaggio della rampa attraverso mezzitoni grigi se l’interpolazione viene eseguita utilizzando i canali rosso/verde/blu in modo indipendente. Un approccio alternativo è invece quello di interpolare i colori attraverso i loro canali hue/saturation/lightness o value. Questo approccio può evitare questi toni medi desaturati, risultando in gradienti visivamente più piacevoli.

Ora permettiamo che la specificazione del colore sia impostata per stop in un gradiente di colore multi-stop per dare agli utenti il controllo su quale tecnica di interpolazione usare. C’è anche un’opzione per controllare la direzione che l’interpolazione dovrebbe seguire per la componente Hue di un’interpolazione delle specifiche di colore HSL/HSV, il che può aiutare ad evitare un’interpolazione indesiderata attraverso l’intero spettro di tonalità dell’arcobaleno in alcune circostanze!

Questo video mostra la differenza nei mezzitoni di una rampa di colore, dove l’interpolazione RGB risulta in colori torbidi, mentre l’interpolazione HSL/HSV rimane bella e vibrante.

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Funzionalità: Miniature ridimensionabili nella finestra di dialogo del gestore di stili

Abbiamo aggiunto un nuovo cursore per controllare la dimensione delle miniature mostrate nella finestra di dialogo del gestore degli stili, perché a volte queste dimensioni delle miniature sono semplicemente troppo piccole per ottenere una buona rappresentazione di un simbolo!

image8

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Feature: «Lineburst» symbols

We’ve added a brand new «Lineburst» symbol layer type, which renders a gradient along the width of a line (as opposed to the Interpolated Line renderer, which renders a gradient along the length of a line). It’s just like the Shapeburst fill symbol type, but for lines!

image9

Questa funzionalità è stata finanziata da North Road, grazie a SLYR!

Questa funzionalità è stata sviluppata da Nyall Dawson

Feature: «Raster Line» symbols

Siamo super-eccitati di portarvi questo nuovissimo tipo di simbolo di linea, che vi permette di rendere un’immagine raster seguendo la forma di una caratteristica di linea. Questo tipo di simbolo apre un intero nuovo regno di possibilità per la simbologia di QGIS, ed è particolarmente utile quando si creano mappe in uno stile disegnato o dipinto a mano.

Sono disponibili opzioni per il controllo:

  • the picture path (including data defined path)

  • spessore linea

  • opacità

  • line join and cap styles

image10

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Funzionalità: Scelta del comportamento di ritaglio per i riempimenti del modello di linea

È ora possibile controllare come le linee in un simbolo di riempimento del modello di linea sono ritagliate nelle forme poligonali. Le opzioni disponibili includono:

  • Taglio solo durante il rendering: le linee vengono create coprendo l’intero riquadro di delimitazione della feature che viene poi ritagliata durante il disegno. Le estremità della linea (inizio e fine) non saranno visibili (questo è lo stesso comportamento delle vecchie versioni di QGIS).

  • Taglio Linee Prima del Render: le linee sono ritagliate alla forma esatta del poligono prima del rendering. Le estremità delle linee (inclusi gli stili della punta, i simboli delle linee di inizio e fine, ecc.) saranno visibili, e possono talvolta estendersi al di fuori del poligono (a seconda delle impostazioni del simbolo della linea).

  • Nessun taglio: non viene fatto alcun ritaglio - le linee copriranno l’intero riquadro di delimitazione della feature

image11

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Funzionalità: Migliorato il rendering dei riempimenti con motivi di linee

Quando si esporta in un formato vettoriale (ad esempio PDF o SVG) o quando un sottosimbolo di linea ha proprietà dinamiche (definite dai dati), ora si passa automaticamente ad un approccio basato sulla linea per linea per renderizzare il riempimento. (In precedenza, veniva sempre utilizzato un approccio basato su un pattern a piastrelle, che spesso causava artefatti indesiderati e cuciture visibili nel pattern).

Alcuni dei molti benefici di questo cambiamento includono:

  • Dimensioni dei file di output PDF/SVG più piccole: i riempimenti del modello di linea non sono memorizzati come immagini raster nell’output, quindi la dimensione complessiva del file sarà spesso molto più piccola

  • I file esportati in PDF/SVG sono più facili da modificare in applicazioni esterne (come Inkscape o Adobe Illustrator) per la post-produzione, poiché ogni singola linea del modello può essere modificata.

  • Migliore qualità degli output PDF/SVG, dato che il riempimento non dipende dai DPI e sembra perfetto nei pixel indipendentemente da quanto si ingrandisce

  • Nessun difetto visibile a certe angolazioni, distanze o con certi stili di simboli di linea

E, cosa ancora più eccitante, apre la porta a una serie di nuovi stili di simboli, per esempio:

  • modelli di linee in cui le singole linee cambiano colore/larghezza/ trattino/ ecc.

  • modelli di linee con simboli di linee marcate sul punto centrale/ecc.

  • generatore di effetti geometrici per linea, ad esempio modelli di linee ondulate, stili di linee disegnate a mano, ecc.

image12

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Funzionalità: Angolo di rotazione per i riempimenti con pattern di punti

Ora puoi specificare un angolo di rotazione opzionale per i riempimenti del motivo a punti, che fa sì che l’intero motivo a punti sia angolato. Questo può essere estremamente utile quando si sovrappongono più riempimenti di pattern di punti!

image13

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Feature: Randomized point offsets for point pattern fills

Questa impostazione (opzionale) permette ad ogni punto nel riempimento di un motivo a punti di essere spostato casualmente fino alla distanza massima specificata nella direzione x o y. Potete specificare lo spostamento massimo in millimetri, punti, unità di mappa o anche unità «percentuali» (dove la percentuale è relativa alla larghezza o all’altezza del motivo).

È possibile impostare un seme opzionale di numeri casuali per evitare che i modelli di simboli «saltino» tra gli aggiornamenti della mappa. Sono supportati anche scavalcamenti definiti dai dati.

La differenza principale tra questa nuova impostazione e il tipo di simbolo esistente riempimento con marker casuale è che l’offset casuale con un modello di punti permette un posizionamento quasi «regolare» dei marker - perché i punti nel modello sono effettivamente vincolati a una griglia, questo permette la creazione di riempimenti semi-casuali che non hanno aree vuote o marker sovrapposti. (In contrasto con il riempimento casuale dei marcatori, che posizionerà sempre i punti in modo completamente casuale… a volte risultando in gruppi visivi di punti o aree vuote indesiderate).

image14

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Funzionalità: Impostazione della modalità di riferimento delle coordinate per i livelli di riempimento dei simboli del modello a linee e del modello a punti

I livelli dei simboli di riempimento dei modelli di linee e dei modelli di punti hanno una nuova impostazione della modalità di riferimento delle coordinate per regolare l’ancoraggio dei modelli. In pratica, questo permette ai motivi di allinearsi bene attraverso elementi adiacenti e sovrapposti.

relief

image16

Questa funzionalità è stata sviluppata da`Mathieu Pellerin <https://www.opengis.ch/>`__

Funzionalità: Controllo del ritaglio del marcatore per i riempimenti del modello a punti

Questa nuova opzione vi dà il controllo su come i marcatori sono ritagliati in un riempimento con motivo a punti. Le opzioni disponibili includono:

  • Taglio alla forma: i marcatori saranno ritagliati dal confine della forma, quindi i marcatori «tagliati» potrebbero essere visibili (stesso comportamento delle versioni precedenti di QGIS)

  • Centroide del marcatore all’interno della forma: i marcatori saranno disegnati solo se il loro centroide cade all’interno della forma, e i marcatori non saranno ritagliati sul confine della forma

  • Marker Completamente Dentro la Forma: i marcatori saranno disegnati solo se rientrano completamente nella forma

  • No ritaglio: i simboli di marcatori interi saranno disegnati se qualsiasi parte del marcatore cade all’interno della forma

image17

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Funzionalità: Funzioni di espressione per creare onde triangolari/quadrate/curve

Abbiamo aggiunto alcune nuove funzioni di espressione che producono «linee ondulate» lungo i confini della geometria. Sono disponibili diverse forme d’onda, tra cui:

  • Onda (sinusoidale)

  • Triangolare

  • Quadrato

Inoltre, sono state aggiunte funzioni di espressioni per creare onde in modo regolare o con randomizzazione.

Se utilizzate con i generatori di geometria, queste espressioni possono essere usate per alcuni effetti cartografici molto avanzati!

image18

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Etichettatura

Funzionalità: Unità «percentuali» per la dimensione del buffer di testo, l’offset dell’ombra e il raggio di sfocatura

Ora permettiamo che le dimensioni del buffer di testo, dell’offset dell’ombra e del raggio di sfocatura dell’ombra siano impostate come percentuale della dimensione del carattere. Questo è auspicabile in quanto permette la creazione di formati di testo in cui i componenti scalano piacevolmente quando la dimensione del testo viene modificata, invece di avere dimensioni fisse di buffer/ombra che devono essere regolate indipendentemente quando la dimensione del testo cambia.

image19

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Funzionalità: Posizioni delle etichette definite da geometrie di punti

È ora possibile impostare il posizionamento definito dai dati delle etichette in modo che sia legato a un campo di una geometria punto o ad una espressione. (Le versioni precedenti di QGIS permettevano solo di impostare il posizionamento definito dai dati tramite due campi numerici x e y separati).

Questo cambiamento vi permette anche di usare lo strumento Sposta Etichetta per cambiare la posizione di un’etichetta che è legata ad un campo geometrico di un punto, facendo sì che la nuova posizione dell’etichetta sia memorizzata come una geometria punto in quell’attributo.

image20

Questa funzionalità è stata finanziata dal gruppo di utenti svizzeri di QGIS

Questa funzionalità è stata sviluppata da Damiano Lombardi

Funzionalità: Testo allungato per etichette e formati testo

Questo miglioramento permette al vostro testo di essere allungato o condensato orizzontalmente di un fattore percentuale. È spesso utile per modificare le larghezze dei font per inserire un po” di testo extra nelle etichette (se usato con parsimonia, cioè… si può certamente abusare dell’allungamento dei font con alcuni risultati orrendi!)

Nota: Questo miglioramento richiede Qt 6.3+ o il fork 5.15 di KDE. (Su altre build le opzioni di stretch sono nascoste e non possono essere impostate)

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Visualizzazione

Funzionalità: Visualizzazione dei livelli come gruppi

Questo è un altro eccitante miglioramento cartografico che apre una nuova arena di simbologia e visualizzazione di mappe in QGIS!

Prima di questo miglioramento, QGIS supportava il raggruppamento dei layer all’interno dell’albero dei layer come mezzo per strutturare i progetti, ma questi gruppi non avevano alcun impatto su come i layer componenti venivano visualizzati. In QGIS 3.24 abbiamo introdotto una nuova opzione che permette a questi gruppi di layer di «Visualizzare come gruppo», che fa sì che tutti i layer componenti vengano visualizzati come un singolo oggetto appiattito durante il disegno della mappa.

Questa opzione è disponibile all’interno del pannello di stile dei livelli ogni volta che viene selezionato un livello di gruppo. Questo pannello ti permette anche di controllare l’aspetto del gruppo nel suo insieme, con opzioni per l’opacità generale del gruppo, la modalità di fusione e gli effetti di livello!

Inoltre, quando un livello è contenuto in un gruppo che ha la nuova opzione Visualizza come Gruppo attivata, saranno disponibili nuove modalità di fusione che eseguono operazioni in stile «ritaglio» durante la visualizzazione. Queste permettono di ottenere alcuni risultati molto potenti, come il ritaglio della visualizzazione del contenuto di un livello dal contenuto di un secondo livello «maschera»!

image21

Questa funzionalità è stata finanziata da Andrew Fletcher.

Questa funzionalità è stata sviluppata da Nyall Dawson

Funzionalità: Supporto per » Modello di linea» durante la conversione degli stili di livello delle tile vettoriali di Mapbox GL

Facendo uso del nuovissimo strato di simbolo di linea raster, QGIS 3.24 ora visualizza correttamente lo stile del pattern di linea Mapbox GL per gli strati di piastrelle vettoriali appena aggiunti.

image22

Questa funzionalità è stata sviluppata da`Mathieu Pellerin <https://www.opengis.ch/>`__

Funzionalità: Supporto degli stili di sfondo per i livelli di tile vettoriali in stile Mapbox GL

Ora visualizziamo correttamente qualsiasi stile di sfondo predefinito presente nei livelli di tiles vettoriali con stile Mapbox GL. Questo migliora notevolmente l’aspetto dei livelli di tiles vettoriali con stili scuri!

image23

Questa funzionalità è stata sviluppata da`Mathieu Pellerin <https://www.opengis.ch/>`__

Funzionalità 3D

Funzionalità: Rispetta l’ordine Z durante la visualizzazione delle nuvole di punti in 2D

Abbiamo aggiunto un’opzione per rendere le nuvole di punti in base al loro ordine Z nelle viste di mappe 2D. Con la nuova opzione di ordinamento dal basso verso l’alto abilitata, i punti con valori Z più grandi copriranno i punti più bassi - ottenendo l’aspetto di una vera foto ortografica. C’è anche un’opzione per l’ordinamento inverso (dal alto verso il basso), dove la scena appare come se fosse vista dal basso.

image24

Questa funzione è stata finanziata da Crowdfunding: Migliorare i dati di elevazione e le nuvole di punti in QGIS

Questa funzionalità è stata sviluppata da Stefanos Natsis (Lutra Consulting)

Funzionalità: Visualizzazioni 3D Agganciate/Sganciate

Ci siamo resi conto che l’uso dei widget agganciabili per le mappe 3D può essere scomodo, e in molte situazioni questi sono frustranti da ridimensionare e spostare perché sono inclini a ri-agganciarsi quando si regolano le loro dimensioni! Con QGIS 3.24 abbiamo aggiunto la possibilità di passare le mappe 3D da un widget agganciabile a una finestra di primo livello (e di nuovo a un widget agganciabile), in modo che queste viste delle mappe possano essere gestite, ridimensionate e spostate proprio come una finestra standard dell’applicazione.

image25

Questa funzione è stata finanziata da Crowdfunding: Migliorare i dati di elevazione e le nuvole di punti in QGIS

Questa funzionalità è stata sviluppata da Nedjima Belgacem (Lutra Consulting)

Funzionalità: Gestore della vista della mappa 3D

In precedenza, se si chiudeva una vista di mappa 3D e poi si salvava il progetto, la vista di mappa 3D e tutte le sue impostazioni venivano perse quando si riapriva il progetto. Così in QGIS 3.24 abbiamo aggiunto un «Gestore delle viste 3D « che si occupa di elencare, rimuovere, rinominare e duplicare le viste 3D nei vostri progetti!

Abbiamo anche aggiunto un nuovo menu «Viste Mappe 3D», che contiene tutte le tue viste di mappe 3D create per un facile accesso!

image26

Questa funzione è stata finanziata da Crowdfunding: Migliorare i dati di elevazione e le nuvole di punti in QGIS

Questa funzionalità è stata sviluppata da Nedjima Belgacem (Lutra Consulting)

Funzionalità: Navigazione della telecamera migliorata

La modalità di navigazione predefinita nelle versioni precedenti di QGIS a volte si comportava in modo strano quando ci si muoveva, si ruotava o si zoomava in/out. Sono stati fatti molti sforzi per migliorare il controllo della fotocamera, quindi da QGIS 3.24 il comportamento della navigazione della fotocamera dovrebbe essere più naturale e simile a quello di altri software di mappatura 3D.

Per maggiori dettagli, vedere Correzione dei problemi del terreno e della telecamera in 3D

Questa funzione è stata finanziata dalla sovvenzione di QGIS.org (2021)

Questa funzionalità è stata sviluppata da Nedjima Belgacem (Lutra Consulting)

Espressioni

Feature: geometry_type function

La nuova funzione geometry_type restituisce il tipo di alto livello di una geometria (cioè “Point”, “Line” o “Polygon”).

image28

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Funzionalità: Sovrapposizione di intersezioni ordinate per dimensione dell’intersezione

Abbiamo aggiunto ulteriori miglioramenti alla funzione overlay_intersects. La modifica aggiunge due nuovi argomenti opzionali alla funzione esistente:

  • return_details: valido solo se usato con un’espressione, impostalo a true per restituire una lista di mappe contenenti (nomi chiave tra virgolette) la caratteristica “id”, l’espressione “result” e il valore “overlap”, il “radius” del cerchio massimo inscritto è anche restituito quando il livello di destinazione è un poligono.

  • sort_by_intersection_size: only valid when used with an expression, set this to true to return the results ordered by the overlap value in descending order.

image29

Questa funzione è stata finanziata da Kanton Solothurn, Amt für Geoinformation

Questa funzionalità è stata sviluppata da Alessandro Pasotti

Funzionalità: Mostra tutti i nomi dei campi del livello quando si costruiscono le espressioni

Per risparmiare tempo, ora rendiamo disponibile una lista di tutti i nomi dei campi di tutti i livelli del tuo progetto direttamente nel costruttore di espressioni. Se fai doppio clic su uno di questi nomi di campo, verranno aggiunti alla tua espressione come valori di stringa ('field_name').

image30

Questa funzione è stata finanziata da ARPA Piemonte

Questa funzionalità è stata sviluppata da Alessandro Pasotti

Feature: represent_attributes function

Questa nuova funzione restituisce una mappa con tutti i nomi degli attributi (campi) come chiavi e i valori di rappresentazione configurati come valori. Il valore di rappresentazione per gli attributi dipende dal tipo di widget configurato per ogni attributo.

The function can be used with zero, one, or more arguments:

  • Se chiamata senza parametri, la funzione restituisce la rappresentazione degli attributi dell” elemento attuale nel livello corrente.

  • Se chiamata solo con un parametro “feature”, la funzione restituisce la rappresentazione degli attributi dell’elemento specificato dal layer corrente.

  • Se chiamata con un parametro “layer” e un parametro “feature”, la funzione restituirà la rappresentazione degli attributi dell’elemento specificato dal layer specificato.

image31

Questa funzione è stata finanziata da Kanton Solothurn

Questa funzionalità è stata sviluppata da Alessandro Pasotti

Feature: Optional minimum overlap area and circle radius for overlay_intersection

We have added two optional arguments to the overlay_intersection() expression function:

  • min_overlap: for polygons an optional minimum area in current feature squared units for the intersection (if the intersection results in multiple polygons the intersection will be returned if at least one of the polygons has an area greater or equal to the value), for lines an optional minimum length in current feature units (if the intersection results in multiple lines the intersection will be returned if at least one of the lines has a length greater or equal to the value)

  • min_inscribed_circle_radius: for polygons only an optional minimum radius in current feature units for the maximum inscribed circle of the intersection (if the intersection results in multiple polygons the intersection will be returned if at least one of the polygons has a radius for the maximum inscribed circle greater or equal to the value). Read more on the underlying GEOS predicate, as described in PostGIS ST_MaximumInscribedCircle function.

image32

Questa funzione è stata finanziata da Kanton Solothurn

Questa funzionalità è stata sviluppata da Alessandro Pasotti

Feature: map_prefix_keys function

In QGIS 3.24 abbiamo aggiunto una nuova funzione map_prefix_keys che accetta una mappa e un prefisso, la funzione restituisce una mappa con tutte le chiavi precedute dal prefisso.

Esempio:
map_prefix_keys(map('1','one','2','two'), 'prefix-')
restituisce:
{ 'prefix-1': 'one', 'prefix-2': 'two' }

image33

Questa funzione è stata finanziata da Kanton Solothurn

Questa funzionalità è stata sviluppata da Alessandro Pasotti

Feature: densify_by_count and densify_by_distance functions

Questa funzionalità, che prima era disponibile solo attraverso la casella degli strumenti di Processing, è ora disponibile per l’uso nelle espressioni!

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Feature: Rotate parts of multi-part geometries independently with «rotate» expression function

La nuova opzione «per_part» per la funzione di espressione «ruota» permette di ruotare ogni parte di una geometria multiparte attorno al centro di ogni parte (invece che al centro della geometria nel suo insieme). Questo miglioramento è stato progettato per aiutare la simbologia quando la funzione di rotazione è usata come strumento cartografico come parte di un livello di simbolo di un generatore di geometria.

image34

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Feature: apply_dash_pattern function

This exciting new expression function applies a dash pattern to a geometry, returning a MultiLineString geometry which is the input geometry stroked along each line (or ring) using a dashed line pattern.

Le regole possono essere impostate per controllare come il modello dei trattini viene regolato alle estremità delle linee. Se specifichi una regola d’inizio o una regola di fine, allora l’opzione «regolazione» definisce se sia i trattini che gli spazi vuoti, o solo le dimensioni dei trattini o degli spazi vuoti sono regolati per applicare queste regole.

You can also set an optional pattern offset to specify how far along the pattern the result should start at.

image35

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Funzionalità: funzione di scala

Questa nuova funzione di espressione permette di scalare (ridimensionare) una geometria. Proprio come la funzione “ruota”, la funzione accetta una posizione opzionale del punto da cui applicare il ridimensionamento. Se non viene specificato alcun punto di ancoraggio, allora il ridimensionamento viene fatto dal centro del bounding box della geometria.

image36

Questa funzionalità è stata finanziata da North Road, grazie a SLYR

Questa funzionalità è stata sviluppata da Nyall Dawson

Feature: Filter by multiple attributes for get_feature function

Abbiamo esteso la funzione get_feature per permettere il filtraggio multi-attributo, aggiungendo un’opzione per passare un array di valori di filtro all’input.

Questa funzionalità è stata sviluppata da Alex

Gestione Dati

Feature: Multiedit support for relation editor

Abbiamo aggiunto una nuova modalità di modifica multipla per l’editor delle relazioni, che permette la rapida aggiunta di elementi figli a più elementi genitori. Questo migliora l’efficienza per le operazioni di gestione dei dati, come la possibilità di selezionare più alberi e aggiungere un elemento di manutenzione a tutti loro con un solo clic.

image37

Questa funzione è stata finanziata da QGIS Model Baker

Questa funzionalità è stata sviluppata da Damiano Lombardi, OPENGIS.ch

Metadati e Metaricerca

Feature: Support for OGC API - Records in MetaSearch

Abbiamo aggiornato lo strumento MetaSearch per fornire supporto allo standard OGC API - Records (OARec). Come parte dell’evoluzione di OGC API, OGC API - Records è il successore di OGC:CSW (come OGC API - Features lo è per WFS, ecc.).

The OGC API - Records standard is currently in development and the current timeline for a public RFC by OGC is Q1 2022. This we ask you to take note of the draft status of the specification so you are aware that the specification may change a bit more over the next few months. We still need to flesh out how actionable links are handled over the next few months (which should be a significant improvement compared to the CSW publish/find/bind workflow).

Adding this feature to QGIS is a huge win for easier search and will help both users and providers for the long term.

image38

Questa funzionalità è stata sviluppata da Tom Kralidis

Moduli e Widget

Feature: Form submit actions with HTTP POST

In QGIS 3.24 we added two new HTTP POST actions, similar to the existing Open action which uses an HTTP GET request.

The two actions differ in the way the form data are encoded:

  1. application/x-www-form-urlencoded

  2. multipart/form-data

In both cases, data are passed to the action in a URL encoded URL.

A new function url_encode(<map>) is provided to convert a dictionary (a map) to the encoded format.

The response from the submitted URL is opened by delegating to the operating system QDesktopServices::openUrl() after the payload has been stored in a temporary file.

image39

Questa funzione è stata finanziata da Kanton Solothurn

Questa funzionalità è stata sviluppata da Alessandro Pasotti

Feature: New button to open attribute table on filtered features

We’ve added a new button to the attribute form (when in search mode) which enables you to open an attribute table filtered to only show the matching features.

image40

Questa funzione è stata finanziata da ARPA Piemonte

Questa funzionalità è stata sviluppata da Alessandro Pasotti

Analysis Tools

Feature: Add roundness method to curve polygon

We added a «roundness» method to QgsCurvePolygon, allowing the calculation of the «roundness» of an area feature based on the formula Roundness = (4 * pi * Area) / Perimeter^2.

This includes the addition of a new expression and a processing tool for calculating roundness. The processing tool creates a new layer with the roundness of each feature in a new field.

image41

Questa funzionalità è stata sviluppata da Antoine Facchini

Processing

Feature: Extract labels algorithm

For 3.24 we added a new tool to QGIS” processing toolbox: «Extract labels». As its name hints at, this algorithm extracts label information from a rendered map at a specific extent and scale.

Extracted label information include its position (as point geometries), the associated layer name and feature ID, as well as label appearance properties such as rotation, text, alignment, font family, size, weight, etc.

The algorithm also generates a default symbol-less & labelled style for the output layer which allows for those saved layers to be drag and dropped into projects and have the label drawn exactly as they were exported.

If a map theme is specified when extracting labels, the exported labels will match the visibility and symbology of that theme. If left blank, the project’s current visible layers will be used.

image42

Questa funzione è stata finanziata da TEKSI

Questa funzionalità è stata sviluppata da Mathieu Pellerin

Feature: Optional output extent parameter for the GDAL Raster Calculator algorithm

When running against GDAL 3.3 or newer, QGIS processing toolbox’s GDAL Raster Calculator algorithm now allows you to specify an optional «output extent» parameter. This can be quite useful when working with large datasets, often avoiding the need to create an intermediary clipped raster prior to running the calculator algorithm.

image43

Questa funzionalità è stata sviluppata da`Mathieu Pellerin <https://www.opengis.ch/>`__

Feature: Optional extent parameter for the GDAL clip raster by mask algorithm

We added an optional extent parameter to the GDAL «clip raster by mask» algorithm, which can come in handy when working with large raster datasets.

image44

Questa funzionalità è stata sviluppata da`Mathieu Pellerin <https://www.opengis.ch/>`__

Feature: Processing history rework

QGIS 3.24 includes a partial implementation of the framework described in QEP 130, and ports the Processing history log over to this framework.

This is a much more flexible approach to storing Processing history, as it allows us to store unlimited additional information about the executed tool (including all the input parameters, output results, and the full text log too!). The history log is now stored in a sqlite database instead of the text file previously used, which allows for more efficient storage/retrieval/filtering.

The new framework potentially extends to more than just Processing - it could also be used to store the history of other user operations, such as project edits, layout exports etc!

We’ll be using this framework in future to further extend the Processing history dialog. For 3.24, we’re using it to expose a number of helpful additions to the history dialog:

  • Right clicking an entry in the log has a new option to copy the execution parameters as a «qgis_process» command line equivalent, giving you a super-easy way to generate qgis_process commands for execution in a CLI.

  • Right clicking an entry also shows a new «Copy as JSON» option, which copies a JSON string of the input parameters and algorithm settings

image45

This feature was funded by the Research Institute for Nature and Forest, Flemish Govt

Questa funzionalità è stata sviluppata da Nyall Dawson

Feature: Advanced actions in Processing dialogs

We have added new actions on the processing dialog including copy as qgis_process command, and copy/paste as JSON. Together these actions:

  • Allows for easy copying of the equivalent PyQGIS command to run the tool using the parameters defined in the dialog

  • Allow for easy generation of qgis_process commands via the QGIS GUI, including any tricky parameter values like GeoPackage outputs with specific layers

  • Provide a way for you to copy the settings defined in the dialog in a text format, so that you can store these easily and then restore them later by pasting the values.

  • Provides an easy way for you to copy the settings into the JSON format consumed by qgis_process, so that it is easy to see the expected format even for complex parameters (like TIN interpolation parameters).

image46

This feature was funded by the Research Institute for Nature and Forest, Flemish Govt

Questa funzionalità è stata sviluppata da Nyall Dawson

Feature: Single file exports from Atlas to PDF algorithm

You can now export an atlas layout to a single (collated) PDF file using the «Export atlas layout as PDF» processing algorithm.

image47

Questa funzionalità è stata sviluppata da Nyall Dawson

Feature: Project Models are shown in the Project menu

We added a new submenu to the «Project» menu, which will list any Processing models stored within the current project. This gives you a quick way to launch these project-specific models, in either a single or batch mode!

image48

Questa funzione è stata finanziata da Kanton Solothurn

Questa funzionalità è stata sviluppata da Alessandro Pasotti

Feature: Add point cloud destination parameter and output to Processing

We have extended and improved point cloud support in Processing, namely by:

  • Fixing the filtering of point cloud layers in QgsProcessingMapLayerComboBox-based widget used for parameters

  • Adding a destination point cloud parameter type and point cloud output types with corresponding widgets. (Currently these are useful for 3rd party providers and plugins which create point cloud outputs.)

  • Exposing the newly added point cloud output and destination parameters to the algfactory wrapper

Questa funzionalità è stata sviluppata da Alexander Bruy

Feature: Array field support

In QGIS 3.24, we’ve made array field types first-class citizen in the Processing toolbox! The following algorithms have all been updated to support array fields:

  • Refactor algorithm;

  • Aggregate algorithm;

  • Add field to attributes table algorithm;

  • Field calculator algorithm; and

  • Advanced (i.e. python) field calculator algorithm

Questa funzione è stata finanziata da SwissTierras Colombia

Questa funzionalità è stata sviluppata da`Mathieu Pellerin <https://www.opengis.ch/>`__

Applicazioni e Opzioni del progetto

Feature: qgis_process –no-python argument

This new, optional command line parameter for the qgis_process command-line tool allows you to skip launching Processing with Python support when it is not required. This can result in a significant improvement in qgis_process startup times!

Questa funzione è stata finanziata da North Road

Questa funzionalità è stata sviluppata da Nyall Dawson

Feature: Suppress «bad layers» handler on startup

We’ve added support for a new command line flag for the qgis executable, which allows you to disable the default dialog which shows when opening a project with missing/broken layers:

[--skipbadlayers]       don't prompt for missing layers

example invocation:

./qgis --skipbadlayers
or

./qgis -B

The use case for this is that sometimes users have automation or other post-startup processes happen and do not want to have the startup process interrupted if there are bad layers present in the project. After startup, QGIS will ignore any missing layers, but they will still be marked as broken in the layers list.

Questa funzione è stata suggerita da Giuseppe Baiamonte durante il QGIS Open Day del 17 dicembre 2021, e codificata dal vivo.

image49

Questa funzionalità è stata sviluppata da Tim Sutton

Feature: Parameter values for qgis_process can be specified as a JSON object via stdin

We now provide a mechanism to support complex input parameters for algorithms when running the qgis_process command line tool.

To indicate that parameters will be specified via stdin then the qgis_process command must follow the format

qgis_process run algid -

(with a trailing - in place of the usual arguments list).

The JSON object must contain an «inputs» key, which is a map of the input parameter values.

e.g.

echo "{"inputs": {\"INPUT\": \"my_shape.shp\", DISTANCE: 5}}" | qgis_process run native:buffer -

Additionally, extra settings like the distance units, area units, ellipsoid and project path can be included in this JSON object:

{       'ellipsoid': 'EPSG:7019',       'distance_units': 'feet',       'area_units': 'ha',       'project_path': 'c:/temp/my_project.qgs'       'inputs': {'DISTANCE': 5, ..... }     }

(Specifying input parameters via stdin implies automatically the –json output format for results.)

One big motivation behind this enhancement is to provide a way for the qgisprocess R libraries to support parameter types such as aggregates!

This feature was funded by the Research Institute for Nature and Forest, Flemish Govt

Questa funzionalità è stata sviluppata da Nyall Dawson

Feature: Run Python script algorithms directly via qgis_process

The qgis_process command-line tool now supports running a Python script algorithm directly by specifying the path to the .py file, in place of an algorithm ID or model file path!

Questa funzionalità è stata sviluppata da Nyall Dawson

Sorgenti Dati

Feature: Friendlier errors from XYZ raster tiles, WMS and vector tiles

Server errors which occur during XYZ, vector tile or WMS network requests are now shown directly in the QGIS window via the message bar. We’ve made these error messages much more descriptive and helpful, by including the original response error text wherever possible!

image50

Questa funzione è stata finanziata da MapTiler

Questa funzionalità è stata sviluppata da Lutra Consulting (Vincent Cloarec)

Feature: Add out-of-the-box connection to Mapzen Global Terrain tiles

QGIS now sports built-in support for the Terrarium DEM format for WMS/XYZ layers. In addition, we now have out-of-the-box ability to add Mapzen Global Terrain Tiles hosted on AWS. You can find the new MapZen option in the XYZ section of the browser panel. Users now have an immediately accessible global DEM source for their projects!! See also https://registry.opendata.aws/terrain-tiles/

image51

Questa funzionalità è stata sviluppata da Nyall Dawson

Feature: HMAC SHA256 auth method for MapTiler

We’ve added a new authentication method specific for MapTiler which allows you to use a token encrypted with HMAC-SHA256.

image52

Questa funzione è stata finanziata da MapTiler

Questa funzionalità è stata sviluppata da Lutra Consulting (Vincent Cloarec)

Feature: Template parameter {usage} for XYZ raster and vector tiles

For XYZ tile-based raster layers and for vector tile layers, we now allow the possibility to insert {usage} template parameters (in addition to {x}, {y}, {z}). If present, this parameter will be replaced by the context in which the request is being made.

The possible context values are:

  • view - when the request comes from 2D or 3D map canvas

  • export - when the request comes from exporting a layer or exporting a print layout for high-quality output (map previews in print layout designer are classed as “view”)

  • unknown - when coming from some other context, but the source is unknown

This functionality is useful for MapTiler clients, where they need to recognize the context in which tiles are used in order to bill users accordingly.

Questa funzione è stata finanziata da MapTiler

Questa funzionalità è stata sviluppata da Lutra Consulting (Vincent Cloarec)

Feature: Convert WMTS/XYZ raster tiles to terrain (DEM)

In QGIS 3.24 we’ve introduced the possibility to convert WMTS/XYZ raster datasets to a raster layer of single band float type following a predefined encoding scheme.

You can activate this option and choose an encoding scheme (for now, «MapTiler Terrain RGB» or «Terrarium Terrain RGB» are available) in the source settings of the XYZ connection or in the Data Source Manager when adding a WMST layer.

The selected converter will translate the RGB source values to float values for each pixel. After loading, the layer will be presented as a single band floating point raster layer, ready for styling using a pseudocolor or hill shade renderer!

image53

Questa funzione è stata finanziata da MapTiler

Questa funzionalità è stata sviluppata da Lutra Consulting (Vincent Cloarec)

Feature: Array field types for scratch layers

You can now add array field types directly to newly created scratch layers. (While array field types have previously been supported by scratch layers, there was no way for users to add them when creating a new scratch layer.)

image54

Questa funzionalità è stata sviluppata da`Mathieu Pellerin <https://www.opengis.ch/>`__

Feature: JSON field types for new GeoPackage layers

We’ve added support for creating JSON fields directly to newly created GeoPackage layers. (While JSON field types have previously been supported by GeoPackage layers, there was no way for users to add them when creating a new layer.)

image55

Questa funzionalità è stata sviluppata da`Mathieu Pellerin <https://www.opengis.ch/>`__

Feature: Delimited text type overrides and other improvements

We’ve given some love to the delimited text data provider in 3.24, with several enhancements which include:

Boolean type support and automatic detection

Boolean data types are now first-class citizens, which are automatically recognized when all records in a column contain one of the following values (case insensitive):

  • t/f

  • true/false

  • yes/no

  • 0/1

Boolean fields are also detected from a CSVT file, a GDAL/GeoCSV format e.g.

Integer(Boolean)

You can also add custom string representations for TRUE/FALSE (for example a localized «yes»/»no» value).

Column type override

Column types are automatically determined (by an initial limited scan of the file for immediate feedback followed by a full scan of the file which happens in a separate thread to not block the GUI and is user-interruptible), the types are exposed to the GUI as combo boxes and the user can override the automatically determined types.

Enhanced CSVT support.

CoordX, CoordY, Point(X/Y), WKT are now recognized as specified in https://giswiki.hsr.ch/GeoCSV

image56

This feature was funded by Stadt Freiburg im Breisgau

Questa funzionalità è stata sviluppata da Alessandro Pasotti

Feature: New authentication method for HTTP header based authentication

A new authentication method is available for network requests which that supports user defined HTTP header authentication. Multiple custom headers can be included in these requests.

This is useful in various scenarios, such as when a WMS requires an API key that is to be used in a HTTP header with the header key being X-API-KEY, which can now be included in requests from QGIS to authenticate against the WMS endpoint.

image57

Questa funzionalità è stata sviluppata da Tom C

Feature: Expose secondary PostGIS geometry columns as referenced geometries

As discussed in this issue, we have added support for exposing additional geometry columns from the Postgres provider as QgsReferencedGeometry. This allows more efficient interaction with additional geometry columns through the API. For example, in label placement, the additional geometry column can be used instead of the feature geometry. The fields will be represented as WKT [CRS User-Friendly Identifier] in the attribute table.

This can be used in expressions and in the label placement properties tab where you can link the label placement to the second geometry column using the Point property. In the case where you using it for labelling, the second geometry column will be updated automatically if you use the move tool and the columnt type is Geometry. If the column type is text, you could also use that as a second geometry by doing e.g.

geom_from_wkt("my wkt string field")

In this case however, the column will be read only.

So e.g. now in expressions if you have secondary geometry column you can do

buffer("my_second_geom_column", 10)

and it will work.

Warning: This changes the behavior of existing projects.

image58

This feature was funded by OPENGIS.ch

Questa funzionalità è stata sviluppata da Matthias Kuhn, OPENGIS.ch

QGIS Server

Feature: Allow better control of the response flow chain from server filters

New filters allow control of the call chain by implementing new filter callbacks that allow returning a control value for stopping propagation. This allows for the better control of streamed data and response flow.

  • Deprecate bool QgsFilter::onRequestReady(), bool QgsFilter::onSendResponse(), bool QgsFilter::onResponseComplete()

  • Add new methods bool QgsFilter::onRequestReady(), bool QgsFilter::onSendResponse(), bool QgsFilter::onResponseComplete() which return boolean values for controlling data flow

  • Handle flow control in QgsFilterResponseDecorator::flush()

Questa funzionalità è stata sviluppata da David Marteau

Notable Fixes

Bug fixes by Alessandro Pasotti

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.22 backport commit (GitHub)

Wrong raster projection on HIDPI screens

#46882

PR #46931

Da fare

Data Source Manager title not translatable

#46929

PR #46932

Da fare

QGIS 3.22 - Identical map names in print composer

#46927

Works for me

Bold and italic attributes of labels that reinitialize

#46896

Works for me

NameError: name “QGISAPP” is not defined when using stop_app()

#46883

Works for me on Linux/master, might be windows only

Virtual layer not loaded correctly after re-opening a project

#46834

PR #46938

Da fare

QGIS crashes while calling readLayerXml()

#46741

Works for me

Crash when changing orientation of page in layout

#46575

PR #46972

Da fare

«sort» funcionality of attributes table sort numeric fields as text

#34935

PR #47035

Da fare

OAPIF: api-key not included when requesting /collections endpoint

#46535

PR #47145

Da fare

XML notation if missing from tooltips in vector file writer dialog

#46508

PR #47148

Da fare

Ignore out of range option in interpolated symbol renderer creates artifacts if start value is out of range

#46362

PR #47174

Da fare

start width > end width is ignored when using the «exact» color interpolation method

#46371

PR #47195

Da fare

QGIS Layouts: using «Data defined override» for HTML Source URL not working

#34395

works for me (closed - not a bug)

(Un)force hide form in relation widget

#47226

PR #47245

Da fare

Oauth2 authentication protocol does not honors the defined port number in redirect URL in QGIS 3.22.1

#46354

works for me (left open)

HTML/String-ish QByteArray as result of expression function breaks expression preview display

#46174

PR #47229

Da fare

Raster layer exported to GeoPackage with the character “ß” in the name is not immediately loaded in the project

#45965

works for me (closed)

Layout Attribute Table sorting does not work in Print Layouts when column name has spaces

#43744

PR #47249

Da fare

Incorrect scale range legend after applying logarithmic graduated symbology to a vector layer

#45454

PR #47259

Risky?

fix server crash

unreported

PR #47271

Da fare

Load QGIS project from command line from a PostgreSQL project

#47270

PR #47272

Da fare

Aggregate function with filter doesn’t work in layout manager

#45552

Works for me (closed)

Value map widget: «value»/»description» inconsistency when table added to print layouts

#41798

PR #47300

Da fare

Missing entries in attributetable in layout with atlas at page break

#44086

PR #47303

Da fare

Server OAPIF: bbox filter isn’t working if data source CRS is not EPSG:4326/WGS84

#47302

PR #47318

Da fare

Drag & Drop designer control visibility by expression with field IS NOT NULL doesn’t work if the field is configured with html

#47363

PR #47432

Risky?

These bugfixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs fixed by Alessandro Pasotti

Bug fixes by Sandro Santilli

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.22 backport commit (GitHub)

DistanceWithin algorithm failing with PostgreSQL provider

#45352

PR #46971

PR #47076

GH_WORKSPACE -> QGIS_WORKSPACE

PR #47060

Improve documentation about running tests

PR #47057

Use variables to set postgresql connection config in authmanager test

PR #47059

Re-use possibly cached postgis_version from pgsql description method

PR #47393

PR #47401

Trust primary key of layers setup by DBManager TopoViewer plugin

#47389

PR #47390

PR #47403

Improved debugging output in QgsPostgresConn class

PR #47396

These bugfixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs fixed by Sandro Santilli

Bug fixes by Even Rouault

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.22 backport commit (GitHub)

QGIS 3.21.0: preset transform required «nehpgn.gsb» but downloads «nehpgn.tif» which does not work

#45470

PR #46918

PR #46952

Raster layer misaligns when bbox bigger than projected raster layer

#34518

PR #46939

PR #46956

Filter for WFS layer: The «Tables» button is missing

#46887

Not a bug

Something simpler than SQL to filter a WFS layer

#46888

PR #47056

PR #47132

renaming/deleting columns takes a lot of time on large vectors

#47012

GDAL PR 5193

GDAL PR 5204

Opening a Vector Geopackage in QGIS alters its file even when no changes are done by user

#23991

PR #47098

PR #47301

MapInfo CRS not correctly recognized

GDAL issue #5217

PR #47149

PR #47157

Crash exporting dxf using «Symbol layer symbology»

#46245

PR #47277

PR #47297

These bugfixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs fixed by Even Rouault

Bug fixes by Denis Rouzaud

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.22 backport commit (GitHub)

Trying to add GPKG from data source manager crashes QGIS master

#46463

PR #46928

not relevant

Display name in layer properties is not automatically filled

#28353

PR #47016

Fixes to QgsGeometry::addPart + new test cases

unreported

PR #47009

These bugfixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs fixed by Denis Rouzaud

Bug fixes by Alex Bruy

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.22 backport commit (GitHub)

Layout picture: data-defined svg parameters should be disabled for incompatible pictures

#26524

PR #46976

TypeError in MetaSearch when adding WFS data

#46135

PR #46993

PR #47003

Split Vector Layer algorithm does not export both null and empty values

#38105

PR #46997

PR #47030

data source manager not opening with correct sub menu for point cloud datasources

#42881

PR #46998

PR #47002

SLD import doesn’t recognize html enconding in ttf font references

#27263

PR #46975

PR #47040

Error opening data loader dialog from MetaSearch

#40490

Works for me

Display name in layer properties is not automatically filled

#28353

PR #46978

No way to add mbtiles file-based MVT package except drag and drop

#36449

PR #47028

PR #47068

«GDAL rasterize overwrite with attribute» does not refresh/reload output

#45729

PR #47055

PR #47105

Delete Column in Matrix Parameter in Graphic Modeler not Working

#45694

PR #47064

PR #47067

Wrong signature of the QgsProcessingParameterMeshDatasetGroups when exporting to Python

unreported

PR #47152

PR #47156

Error message when GRASS tools cannot be run is (now) wrong

#46052

PR #47163

«Ignore invalid input features» processing setting location is misleading

#42557

PR #47163

Inconsistent number of decimal places in Identify tool

#27929

PR #47173

qgis_process is not showing algorithm providers installed via a python plugin

#41120

PR #47258

PR #47263

Unable to delete files .shp and .dbf using python code (removeMapLayers, deleteShapeFile)

#39428

Works for me

QgsProcessingParameterFile extension option

#45633

Not a bug

Make the labels «edit rule» widget a real dialog with buttons

#36761

PR #47305

Edit form python editor tabs/spaces confusion

#46988

PR #47345

PR #47352

Error when making buffer from empty layer with “Dissolve result” option checked

#46396

PR #47348

PR #47384

QGIS does not replace commas in layer names when exporting to DXF (so is incompatible with AutoCAD)

#47381

PR #47418

PR #47430

These bugfixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs fixed by Alex Bruy

Bug fixes by Paul Blottiere

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.22 backport commit (GitHub)

Fixes WFS EXP_FILTER parsing in GetFeature request

mailing list

PR #47029

Too risky

Fix output filename when a raster is saved in a format without extension

unreported

PR #46992

Da fare

WFS GetFeature document and exceptions

unreported

PR #47198

Da fare

Exluding a print layout in project propteries -> server do not avoid that a GetPrint request can be done for that layout

#46140

PR #47199

Da fare

Server: Can’t enable WFS3 API update endpoint (PUT/PATCH) on layers without geometry

#46119

Works for me

These bugfixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs fixed by Pau Blottiere

Bug fixes by Matthias Kuhn

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.22 backport commit (GitHub)

Fix HTTP Post with MultiPart

#46989

PR #47006

not needed

These bugfixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs fixed by Matthias Kuhn

Bug fixes by Nyall Dawson

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.22 backport commit (GitHub)

Add .tsv extension to delimited text supported files filter

reported on youtube screencast

PR #47181

pending

Fix line anchor placements are reversed for labels which sit below lines

unreported

PR #47181

PR #47181

Fix incorrect return code from QgsProcessingModelAlgorithm::fromFile when file does not exist

unreported

PR #47161

PR #47162

Fix many georeferencer regressions

multiple

unreported

pending

Avoid some unwanted «unhandled exception» message boxes which can pop up while moving the mouse

reported on youtube screencast

PR #47138

PR #47154

Don’t use custom palette in crash handler dialog, this results in unreadable text on dark themes

#47065

PR #47110

PR #47136

Don’t slightly colorise the icons for selected items in lists

#47065

PR #47133

not suitable

Fix python exception raised after running in-place algorithm which requires no parameters

reported on youtube screencast

PR #47108

PR #47130

Fix labelling shown for features out of range of temporal controller dates

#45160

PR #47119

PR #47126

Fix line dependent orientation rendering of curved labels

#45051

PR #47118

PR #47137

When processing is initialized in external scripts, ensure the GRASS, SAGA and OTB providers are included by default

#45935

PR #47114

PR #47121

Show descriptive error when label rotation tool cannot be used because of invalid expressions

#47091

PR #47112

not suitable

QgsRasterDataProvider.block() returns invalid QgsRasterBlock if requested block size exceeds a certain threshold

#47097

PR #47106

PR #47129

Fix missing icons for array field types

#47078

PR #47086

not suitable

Use correct approach to unset data defined field for label position when auxiliary column is removed

#46403

PR #47085

PR #47088

Fix atlas sorting with complex field names

#40332

PR #47083

PR #47103

improve field handling when converting to rule-based

#46459

PR #47081

PR #47104

Fix “Save all Styles/Save current Style” only appears after close/reopen the layer properties window

#46596

PR #47080

not suitable

Fix readability of text when using dark themes

#47065

PR #47071

PR #47074

Fix sqlite errors on startup caused by default style database import logic

unreported

PR #47070

not suitable

Fix color widgets incorrectly change colors when mouse is hovered over widget

unreported

PR #47069

PR #47077

Avoid crs definition errors when closing options dialog

#47014

PR #47061

n/d

Fix duplicate shortcut registered warning on startup

unreported

PR #46983

not suitable

Fix scroll wheel events get «stuck» when scrolling to bottom of areas

unreported

PR #46958

PR #46987

Flag a lot of situations where ballpark transforms are appropriate so warnings are not shown

#45621

PR #46957

PR #46961

Fix crashes when saving layer styles

#46954

PR #46955

not suitable

Fix broken merge features tool

unreported

PR #46924

n/d

[mssql] Fix provider on case-sensitive database locales

#46907

PR #46923

PR #46949

[mssql] Fix inserting features when pk attribute name contains special chars

#42290

PR #46876

PR #46903

These bugfixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs fixed by Nyall Dawson

Bug fixes by Damiano Lombardi

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.22 backport commit (GitHub)

Fix #47089 wrong rotation point for rotate label tool preview

#47089

PR #47124

These bugfixes were funded by QGIS.ORG (through donations and sustaining memberships)

Bugs fixed by Damiano Lombardi