Presentazione e manuale · versione sperimentale 0.6.0
Photo viewpoint è un plugin QGIS per collegare le fotografie di sopralluogo alla posizione di presa, alla direzione dello sguardo e alla documentazione cartografica. Permette di creare punti in tre clic oppure importare più immagini usando i metadati GPS, assegnare codice e didascalia, visualizzare gli originali, correggere le prese con maniglie e generare richiami fotografici nei layout di stampa.
I metadati GPS rimangono separati dalla geometria modificabile. Un campo misura lo scostamento dalla posizione GPS originaria. Gli stili riutilizzabili offrono raggi classici, fotocamera orientata vista dall'alto, freccia di direzione o settore semitrasparente. Dati e oggetti del layout restano elementi nativi QGIS.
Il target è QGIS 3.28–3.44 con Qt 5; QGIS 4 non è supportato. Le versioni precedenti sono state collaudate dall'utente su QGIS 3.44.14/macOS. Nuovo schema, stili portabili e conversione dei campi richiedono il collaudo desktop. Installa lo ZIP da Plugin → Gestisci e installa plugin → Installa da ZIP. Per aggiornare salva il lavoro, disabilita il plugin, sostituiscilo e riavvia QGIS.
Il pacchetto interno resta prese_fotografiche: è lo stesso plugin. Dalla 0.6 l'interfaccia del plugin è solo inglese; pulsanti e finestre native QGIS seguono invece la lingua di QGIS. La documentazione è disponibile in inglese e italiano.
Create photo layer apre nome (Photo viewpoint), CRS proiettato in metri, formato e cartella. Puoi scegliere layer temporaneo, GeoPackage, SHP, SQLite o FlatGeobuf, quando il driver è disponibile. La cartella del progetto salvato è proposta inizialmente. Non si sovrascrivono dataset esistenti. Il temporaneo va esportato prima di chiudere; sui file salva normalmente le modifiche. Salva anche il progetto.
I nuovi campi gestiti dal plugin iniziano con code, caption, distGPS, poi seguono quelli di servizio nello stesso ordine relativo precedente. Un provider può aggiungere una propria chiave, come fid nel GeoPackage; l'ordine visualizzato in QGIS mette davanti i tre campi utente.
| Campo | Contenuto |
|---|---|
| code | Nome/identificativo della presa e sua etichetta. |
| caption | Descrizione sotto codice e nome file nel layout. Nei nuovi formati diversi da SHP è lungo 2.000 caratteri. |
| distGPS | Distanza planimetrica in metri fra GPS e geometria; NULL se manca uno dei due. |
| azimuth / fov / distance | Azimut di griglia, apertura totale e lunghezza grafica dei raggi. |
| photo / note | Riferimento all'immagine e note. |
| gps_* / exif_* | Metadati originali e posizione GPS trasformata nel CRS del layer. |
| vp_status | needs_pos oppure positioned, secondo la presenza della geometria. |
| pf_x / pf_y / pf_map / dimX / dimY | Posizione nel foglio, mappa associata e dimensioni effettive della foto in mm. |
Il DBF dello Shapefile ha un limite breve espresso in byte: il plugin usa larghezza 254 e non può garantire almeno 255 caratteri Unicode. Per didascalie lunghe scegli GeoPackage. Non vengono ampliate o riscritte silenziosamente le colonne dei vecchi file.
I vecchi codice e Didascalia restano leggibili e modificabili. In QGIS vengono impostati alias inglesi e ordine delle colonne, senza cambiare i nomi fisici o i dati originali.
Per uno schema fisicamente inglese apri Apply viewpoint style → Create English-field GeoPackage copy…. Scegli un nuovo file. La copia usa code/caption, didascalie lunghe e l'ordine richiesto; l'originale rimane intatto. Seleziona la copia per usarla. La copia ha nuovi ID di feature e layer: rigenera i richiami fotografici dei layout associandoli al nuovo layer.
Esc annulla la presa incompleta, Backspace torna al passaggio precedente. FOV fra 1° e 179°. La lunghezza grafica non è la distanza dei soggetti.
Create viewpoints from photos apre la selezione multipla e il riepilogo GPS/direzione. I default sono azimut 0°, FOV 40° e lunghezza 20 m, modificabili. Ogni foto spuntata crea un record; il nome del file diventa code, con suffissi per duplicati. La direzione EXIF rispetto al nord vero viene convertita in azimut di griglia; direzioni magnetiche o non definite usano il default. FOV e lunghezza restano quelli predefiniti.
Le foto senza GPS utilizzabile si possono escludere o conservare con geometria NULL. Photos to position le elenca: scegli la foto, premi Place on map e clicca la posizione. Non si assegnano coordinate fittizie. Puoi eliminare il record con conferma, senza cancellare il file. Refresh list aggiorna dopo Annulla o altre modifiche. Salva layer e progetto.
Edit viewpoint mostra le maniglie per posizione, asse/lunghezza e apertura. Trascina e rilascia; un clic sul vuoto deseleziona e nasconde le maniglie. Il movimento non cambia i GPS originali. distGPS si aggiorna con un'espressione predefinita QGIS applicata agli aggiornamenti: salva il progetto per conservarne la configurazione. Un altro programma che modifica il solo SHP non esegue quell'espressione.
View photo apre l'anteprima con Open image, Open folder e Change image. Gli URL web si aprono nel browser. Cambiando immagine si aggiornano i metadati e si svuotano quelli non presenti nella nuova foto. Read photo metadata rilegge le feature selezionate, oppure tutte se non c'è selezione.
Si leggono EXIF convenzionali JPEG APP1/TIFF senza dipendenze aggiuntive: latitudine/longitudine, quota e riferimento, direzione e riferimento, data, fotocamera e datum. Per gps_x/gps_y si assume WGS84 se il datum non è dichiarato; altri datum non vengono indovinati. HEIC/RAW, MakerNotes e GPS solo XMP non sono decodificati. Nessun valore viene inventato, nessun originale è modificato o caricato online.
Il pulsante tavolozza apre stile, dimensione del simbolo, etichette e salvataggio riutilizzabile:
Applicare lo stile modifica simbologia ed etichette, non geometrie o parametri. La grafica SVG è incorporata come base64, senza dipendere dalla cartella del plugin.
I nuovi layer locali salvano automaticamente un QML. In Apply viewpoint style lascia attivo Save a reusable QML / database default style per aggiornarlo. Con SHP/FlatGeobuf il file ha lo stesso nome base: rilievo.shp e rilievo.qml. Trasferiscili insieme: QGIS può caricare lo stile corrispondente quando aggiungi i dati.
Per GeoPackage/SQLite viene scritto un QML distinto per tabella e si prova a salvare anche lo stile predefinito nel database tramite QGIS. Provider o blocchi del file possono impedirlo: controlla il messaggio. Se il salvataggio interno non riesce, carica il QML da Proprietà layer → Stile → Carica stile. Salva prima le modifiche del layer. Un progetto che contiene già un proprio stile può continuare a usarlo finché non lo ricarichi.
QML conserva generatori di geometria QGIS, etichette, alias e default. Non si usa SLD come esportazione fedele perché non rappresenta tutte queste funzioni specifiche. Lo stile è portabile fra progetti QGIS, non una proprietà universale del formato SHP.
Layout photos sceglie layout statico, mappa e layer. Larghezza/altezza massime mantengono le proporzioni delle immagini; dimX/dimY salvati hanno precedenza. Le foto possono sovrapporsi a mappa e altri oggetti. Trascina e ridimensiona il riquadro foto con gli strumenti del layout: didascalia e richiamo lo seguono con plugin attivo. Compila caption in tabella e rigenera per aggiornare il testo.
Save positions and sizes registra pf_x/pf_y dall'angolo superiore sinistro della pagina, pf_map, dimX e dimY. Salva layer e progetto. Rigenera dopo cambi di inquadratura, scala, geometrie, foto o descrizione. Atlante, filtri temporali e clipping arbitrario non sono supportati. Conserva gli originali collegati e verifica bordi pagina, leggibilità e incroci dei richiami prima dell'esportazione.
I test Python coprono metadati, default, record senza geometria, annullamento, schema compatibile, percorsi degli stili e calcoli di layout. Rendering nativo, salvataggio predefinito nei database e finestre richiedono il collaudo QGIS. Nel pacchetto trovi smoke_test_styles.py e gli altri test per la console QGIS.
Homepage e materiali GitHub sono preparatori: non è stato creato un repository né ottenuta approvazione QGIS. Prima della distribuzione servono contatti e URL reali, collaudo sui sistemi supportati e revisione ufficiale.
Ideazione, requisiti e collaudo pratico: Riccardo Casoli. Assistenza a codice, icone originali e documentazione: ChatGPT / Codex (OpenAI), mediante lavoro iterativo. La manutenzione pubblica richiede un responsabile umano. Non è un prodotto ufficiale QGIS o OpenAI. GPL-3.0-or-later, testo completo in LICENSE.