QGIS 4.0: Le Novità Tecnologiche e il Passaggio a Qt6

Analisi delle Innovazioni e della Migrazione a QGIS 4.0

1. Introduzione e Svolta Tecnologica: Il Passaggio a Qt6

Il rilascio di QGIS 4.0 rappresenta il punto di arrivo di una migrazione tecnologica di vasta scala: la transizione dell’intero core verso il framework Qt6. Da un punto di vista architetturale, questa evoluzione non è meramente estetica, ma strutturale. Il passaggio a Qt6 garantisce una manutenibilità a lungo termine, riducendo il debito tecnico accumulato e abilitando l’accesso a librerie moderne, con impatti diretti sulla sicurezza del codebase e sull’efficienza del rendering.

Prima di entrare nel dettaglio, gli screenshot allegati aiutano a leggere il changelog con una lente quantitativa: la distribuzione per categoria mostra un forte peso di Processing (22 voci), seguita da Print Layouts e Programmability; la tabella per developer evidenzia il contributo molto ampio di Nyall Dawson (24 voci), Mathieu Pellerin (15) e Jan Caha (13); infine la vista sui funders indica che quasi metà delle novità non riporta un finanziatore esplicito (51, circa 49%), mentre Ocean Winds, LINZ e Stadt Frankfurt am Main risultano tra i principali soggetti citati.

Categorie
Sviluppatori
Finanziatori

Logo e identità visiva

Prima di tutto, una curiosità che molti si chiedono: il brand logo di QGIS non cambierà, anche se sono passati oltre 8 anni dall’ultimo restyling (2018). Secondo il PSC, al momento non ci sono risorse sufficienti per affrontare un rebranding completo e, in più, il logo attuale continua a piacere molto alla comunità.

Note per gli sviluppatori e integrità delle API

Per salvaguardare l’ecosistema dei plugin, sono state mantenute le API deprecate laddove tecnicamente possibile. Tuttavia, architetture legacy come la Processing API 2.x (risalente a QGIS 2.x) sono state rimosse per garantire la coerenza con i nuovi standard. Gli sviluppatori sono invitati a consultare la Qt6compatibilityguide per il porting dei plugin e a monitorare la transizione verso i nuovi tipi di dati Qt6.

2. Interfaccia Utente (UX/UI) e Personalizzazione

L’interfaccia di QGIS 4.0 riflette una filosofia di design modulare e orientata all’utente enterprise.

  • Nuova Welcome Page: Implementata seguendo le specifiche del QEP347, presenta un design estensibile che facilita l’accesso ai progetti recenti e alle risorse della community.
  • Gestione dei Temi (Night Mapping & Blend of Gray): Storicamente inclusi nel core, i temi scuri e personalizzati sono ora supportati tramite API plugin. Questa scelta architetturale evita il “bloat” del core e i costi di manutenzione eccessivi per stili che richiedono neutralità, permettendo alla community di innovare senza vincoli di rilascio del software principale.
  • Customizzazione Avanzata (QEP#343): Introdotta la possibilità di creare menu e barre degli strumenti definite dall’utente. Questa granularità permette di costruire interfacce verticali per flussi di lavoro specifici senza ricorrere a complessi script Python.
  • Interazione Tabellare: L’interazione con i dati è stata velocizzata tramite lo zoom istantaneo con doppio clic nella tabella degli attributi, che seleziona e centra simultaneamente la feature sulla mappa.
Il tema scuso dipende anche dal tema usato in windows

3. Innovazioni nella Gestione dei Dati e Integrazione PostgreSQL

Come Senior Architect, è fondamentale sottolineare il rafforzamento di QGIS come client d’elezione per database spaziali e formati cloud-native.

Integrazione Nativa PostgreSQL

Il provider PostgreSQL è stato potenziato per supportare flussi di lavoro multi-utente complessi:

  • Gestione Progetti: Supporto nativo per il salvataggio dei progetti nel database. È stata introdotta una funzione di importazione massiva (batch import) di progetti QGIS da cartelle locali direttamente negli schemi PostgreSQL, con gestione automatica delle collisioni di nomi tramite suffissi incrementali.
  • Commenti e Tooltip: QGIS ora legge e permette di editare i commenti delle tabelle DB, visualizzandoli come tooltip nel browser.
  • Versionamento dei Progetti: Implementazione di un sistema di controllo versione basato su trigger e funzioni database, che permette il ripristino di revisioni storiche dei progetti salvati su DB.
Data Management e Standard Moderni
  • Cloud Optimized GeoTiff (COG): Il supporto alle esportazioni raster COG è ora esplicito (richiede GDAL >= 3.13.0). Sono stati migliorati i report sui progressi, la gestione delle piramidi e il threading durante la generazione.
  • Field Domains: Il supporto ai domini di campo (Gpkg) include ora le operazioni di aggiornamento e cancellazione (richiede GDAL >= 3.12).
  • Copia Valori Raw: La funzione “Copy Raw Cell Content” permette di copiare negli appunti il valore letterale memorizzato nel dataset, ignorando localizzazioni, widget di visualizzazione o espressioni di formattazione.
Browser e Operazioni Bulk

Il browser supporta ora lo spostamento simultaneo di più tabelle tra diversi schemi e offre un menu di gestione per la creazione o cancellazione degli indici spaziali direttamente dal menu contestuale.

4. Visualizzazione Avanzata 3D e Point Clouds

Il motore 3D è stato trasformato per supportare Digital Twin e analisi di precisione.

  • Rendering 3D: Introdotto l’highlighting delle feature identificate tramite una silhouette spessa e un overlay semi-trasparente. Il motore di simbologia 3D supporta ora i “piani” (floors) e un’architettura di tassellazione rifattorizzata per estrusioni più efficienti.
  • Point Clouds:
    • Supporto per Virtual Point Clouds (VPC) remoti e ottimizzazioni per il formato COPC.
    • Introduzione del nuovo algoritmo Compare Point Clouds (richiede PDAL > 2.10).
    • Capacità di renderizzare le nuvole di punti come linee di elevazione continue nei profili altimetrici, superando il limite della visualizzazione a punti singoli.
    • Controllo granulare sulla scala di rendering tramite un nuovo combobox dedicato negli stili VPC.
  • Annotazioni 3D: Renderizzate come “billboards” (elementi che fronteggiano sempre la camera). Supportano il controllo di offset, terrain clamping e linee di richiamo (callouts) verticali verso il suolo.

5. Cartografia: Simbologia, Etichettatura e Mascheramento

Le capacità cartografiche sono state espanse per gestire la complessità dei progetti su larga scala.

Mascheramento Selettivo e Preset

Una delle innovazioni più rilevanti è l’introduzione dei Selective Masking Presets. Invece di configurare le maschere per ogni singolo layer, gli architetti possono definire set di maschere riutilizzabili. Qualsiasi modifica al preset si riflette automaticamente su tutti i layer collegati, semplificando la gestione di progetti con centinaia di livelli.

Etichettatura Curva e Multipart

È stato implementato il supporto avanzato per il posizionamento dei glifi su geometrie lineari:

ModalitàCaso d’Uso TipicoDescrizione Tecnica
Place characters at verticesLinee di confine con vertici marcatiOgni carattere è ancorato a un vertice della geometria.
Stretch character spacingIdrografia (fiumi stretti)Modifica la spaziatura tra i singoli glifi per coprire l’intera linea.
Stretch word spacingToponomastica stradale estesaAumenta lo spazio tra le parole per adattarsi alla lunghezza della geometria.

Per le geometrie multipart, la funzione “Split label text lines over parts” permette di distribuire le righe di un’etichetta (separate da \n) tra le diverse parti della geometria. Inoltre, è ora possibile ignorare gli spazi bianchi per il calcolo delle collisioni nelle etichette curve.

Print Layout e Atlas
  • Legend Sync: La modalità “Synchronize to Visible Layers” è ora l’impostazione globale predefinita per le nuove legende, ottimizzando l’esperienza out-of-the-box in progetti complessi.
  • Atlas Enhancements: Nuova funzione Clip Frame per sagomare il frame della mappa sulla geometria dell’atlante e opzione per limitare il rendering del layer di copertura alla sola feature corrente.
  • Grafica: Introduzione dei grafici a torta (pie charts) e gestione dinamica della visibilità dei reticoli tramite variabili @grid_index e @grid_count.

6. Strumenti di Digitalizzazione e Precisione CAD

Il set di strumenti per la produzione di dati è stato allineato agli standard CAD.

  • Bézier Maptool: Nuovo strumento per curve NURBS con ancore e maniglie. Nota tecnica: l’uso di Alt+Click permette di resettare le maniglie di un punto durante la digitalizzazione.
  • Edit Blank Segments (QEP#345): Strumento cruciale per la cartografia professionale; permette di definire segmenti “vuoti” su una linea per impedire il rendering di simboli (hash o marker) in punti specifici, memorizzando l’informazione in attributi ausiliari.
  • CAD Floater: Il pannello mobile mostra ora area e perimetro in tempo reale, con un selettore esplicito per passare da calcoli Cartesiani a Ellissoidali.
  • Copia in Serie: Nuovo tool per copiare feature in un array lungo una linea guida.

7. Analisi Spaziale e Processing Framework

L’architettura del framework di analisi ha ricevuto aggiornamenti significativi sia nel backend che nell’interfaccia.

Model Designer

Il Model Designer non è più vincolato da finestre modali:

  • Configurazione Inline: Un pannello laterale permette di editare i nodi in tempo reale.
  • Visual Indexing: I parametri sono ora codificati per colore in base al tipo di dato (es. stringa, layer vettoriale, layer raster), facilitando la lettura di modelli complessi.
  • Monitoraggio: Visualizzazione del conteggio delle feature che scorrono tra i nodi (richiede una prima esecuzione del modello).
  • Canvas: Lo spazio di lavoro è ora illimitato e a scorrimento dinamico.
Algoritmi e SFCGAL
  • Validazione di Rete: Nuovi strumenti per identificare errori topologici (dangles, direzioni errate).
  • LiDAR DEM Smoothing: Algoritmo per la rimozione della rugosità preservando le rotture di pendenza (edge-preserving).
  • Integrazione SFCGAL (QEP#340): L’integrazione nativa introduce le classi QgsSfcgalEngine e QgsSfcgalGeometry, riducendo drasticamente l’overhead di conversione delle geometrie per calcoli avanzati come il Medial Axis.

8. Espressioni e Programmabilità

Il motore delle espressioni include funzioni vitali per la formattazione professionale: unaccent() per la rimozione dei diacritici, substr_count() e le funzioni di estrazione sessagesimale (extract_degrees/minutes/seconds).

Modelli Magnetici e Fusi Orari

Introdotte funzioni per il calcolo della declinazione e inclinazione magnetica basate sulla posizione, oltre a una gestione completa dei fusi orari tramite il database IANA (convert_timezone, set_timezone).

Novità PyQGIS

Per gli sviluppatori, QGIS 4.0 introduce il metodo as_geopandas() (richiede la libreria GeoPandas nell’ambiente) e l’esposizione totale delle API per il ray casting e i tool di sezione trasversale nel canvas 3D.

9. Sicurezza e Server

Meccanismo di Project Trust

Per mitigare i rischi legati all’esecuzione di codice arbitrario, QGIS 4.0 implementa il sistema Project Trust. Il software richiede ora l’autorizzazione esplicita dell’utente per eseguire quattro tipi di codice Python incorporato:

  1. Macro di progetto.
  2. Funzioni di espressione personalizzate.
  3. Azioni Python.
  4. Codice di inizializzazione dei form degli attributi.
QGIS Server

È stata introdotta l’opzione QGIS_SERVER_RETRY_BAD_LAYERS. Se abilitata, il server tenterà di ricaricare i layer precedentemente non validi (es. causa timeout database) a ogni nuova richiesta, garantendo maggiore resilienza ai servizi web. È stato inoltre implementato il supporto GetFeatureInfo per i mesh layer.

10. Conclusioni: Una Visione per il Futuro

QGIS 4.0 non è solo un aggiornamento tecnologico verso Qt6, ma una riaffermazione della potenza del software libero nel settore geospaziale. L’integrazione di strumenti avanzati per il monitoraggio dei profili altimetrici (tramite l’Elevation Profile Manager di progetto) e la gestione enterprise dei dati PostgreSQL pongono QGIS come leader indiscusso per l’analisi spaziale complessa. Il continuo supporto dei membri sostenitori e della community globale garantisce che questo strumento rimanga accessibile, sicuro e all’avanguardia per le sfide della gestione territoriale moderna.


Riferimenti tecnici

Changelog ufficiale

Changelog QGIS 4.0

Link utili aggiuntivi

Guida compatibilità plugin Qt5/Qt6:

QGIS HUB

QGIS Blog

Novità legate al Field Calc e tabella attributi

Se il blog post Ti è piaciuto cliccate su ‘Mi piace’, grazie!!!
if you liked the blog post click on ‘Like’, thank you !!!

SE IL POST/BLOG TI È STATO UTILE CONTRIBUISCI A MANTENERLO AGGIORNATO PAYPAL


Lascia un commento

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.