[QGIS-it-user] Digest di QGIS-it-user, Volume 68, Numero 22

Massimo Figaroli massimo.figaroli a gmail.com
Lun 12 Lug 2021 04:11:28 PDT


Ciao,
dopo una breve pausa rispondo al suggerimento ricevuto da Andrea
Giudiceandrea.
Riscontro positivissimo: in sostanza la tua espressione che utilizza
"array" produce colori praticamente uguali a quelli ottenuti con il metodo
manuale (su alcune combinazioni si riscontrano differenze di ±1 unità sui
canali R, G, B ma è praticamente impercettibile).
La tua espressione, come mi scrivevi, di fatto replica la modalità di
fusione layer "moltiplica" che vado ad applicare al vettore di
sovrapposizione.

Quindi, se da un lato la costruzione della legenda bivariata l'ho fatta con
GIMP, l'elaborazione dell'output cartografico può essere ottenuta mediante
il calcolatore di campi (che poi è la risposta alla domanda che ponevo).

Grazie, un aiuto preziosissimo.

Massimo Figaroli

----------------------------------------------
*Massimo Figaroli*
Ambientologo e Agrotecnico Laureato

Como (CO) - P.IVA 03422160139


@    massimo.figaroli a gmail.com

pec  massimo.figaroli a aisapec.it

cell. 3381471605

Skype  massimofigaroli <https://join.skype.com/invite/ELrAL4vZBh6W>
Web   www.massimofigaroli.it   Linkedin
<https://www.linkedin.com/pub/massimo-figaroli/22/612/816>   ECOSBN
<https://www.ecosbn.it/>

Ai sensi del Regolamento (UE) 2016/679, Le informazioni contenute in questo
messaggio e in ogni documento o file ad esso allegato sono riservate e
confidenziali. Il loro utilizzo è consentito esclusivamente al destinatario
del messaggio o a diversa persona da questo autorizzata, per le finalità
indicate nel messaggio medesimo. Qualora Lei non fosse la persona cui il
presente messaggio è destinato, La invitiamo ad eliminarlo dal Suo Sistema
e a distruggere le varie copie o stampe, dandocene gentilmente
comunicazione. Ogni utilizzo improprio è contrario ai principi del
Regolamento (UE) 2016/679. Regione Lombardia – Giunta Regionale opera in
conformità al Regolamento (UE) 2016/679 citato. Per qualsiasi informazione
a riguardo si prega di contattarci al seguente indirizzo e-mail:
massimo.figaroli a gmail.com


Il giorno gio 1 lug 2021 alle ore 10:52 Andrea Giudiceandrea <
andreaerdna a libero.it> ha scritto:

> Ciao Massimo,
> putroppo continua a non essermi chiaro cosa intendi con "tabella
> attributi con 2 variabili, con 3 valori di RGB". Una tabella attributi
> ha campi (o colonne).
>
> Comunque, se il tuo layer contiene due campi, VAR1 e VAR2 di tipo
> stringa e ognuno contiene una singola stringa contenente una tripletta
> di valori decimali delle componenti colore separati da virgola
> (rappresentante un singolo colore), allora potresti usare una
> espressione come:
>
> array_to_string( array_foreach( generate_series( 0, 2 ), round(
> array_get( string_to_array( VAR1 ), @element ) * array_get(
> string_to_array( VAR2 ), @element ) / 255 ) ) )
>
> che crea una stringa contenente una tripletta di valori decimali delle
> componenti colore separati da virgola, in cui i valori sono calcolati
> moltiplicando il valore di ogni componente colore della stringa nel
> campo VAR1, con il valore della rispettiva componente colore della
> stringa nel campo VAR2 e dividendo il risultato per 255.
>
> In questo modo dovresti ottenere un colore che è il "prodotto" (Blending
> mode: Multiply) dei colori in VAR1 e VAR2 (secondo
> https://en.wikipedia.org/wiki/Blend_modes#Multiply_and_Screen)
>
> Chiaramente puoi adattare l'espressione anche ad altre modalità di
> blending, se conosci la funzione che lega i valori dei colori in input
> ai valori del colore in output.
>
> Un altra possibilità, più elegante, è quella di scrivere una piccola
> funzione in Python che svolge lo stesso compito della precedente
> espressione e poi usare tale funzione al posto dell'espressione nel
> calcolatore di campi.
>
> A presto.
>
> Andrea
>
>
> Il 01/07/2021 08:54, Massimo Figaroli ha scritto:
> >
> > Grazie Andrea.
> > Faccio un esempio pratico
> > Ho uno shapefile poligonale con n feature e una tabella attributi con
> > 2 variabili, con 3 valori di RGB.
> > VAR1: '243,243,243' ; '234,197,221' ; '230,163,208'
> > VAR2: '243,243,243' ; '194,241,213' ; '139,226,174'
> >
> > Duplicando la geometria e dando rappresentazione per le due variabili,
> > impostando per il vettore che si sovrappone la modalità di fusione
> > "moltiplica", ottengo una rappresentazione ben riassumibile con una
> > legenda bivariata.
> >
> > La legenda posso costruirla direttamente nel compositore di stampa o
> > più agevolmente con GIMP (ad es.), andando di fatto ad sovrapporre le
> > due scale colore.
> >
> > Se però potessi combinare direttamente ad es il valore di VAR1
> > '243,243,243' con il valore di VAR2 '139,226,174' mediante il
> > calcolatore di campi, avrei la possibilità di ottenere la stessa
> > elaborazione senza duplicare il layer.
> > Inoltre poi avrei quantomeno una simbologia "reale" nel mio progetto e
> > non solo come elemento grafico nel layout.
> >
>
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.osgeo.org/pipermail/qgis-it-user/attachments/20210712/9364879f/attachment.html>


Maggiori informazioni sulla lista QGIS-it-user