[QGIS-it-user] la funzione with_variable per ottimizzare espressioni complesse

Totò pigrecoinfinito a gmail.com
Mar 11 Maggio 2021 01:28:37 PDT


Andrea Giudiceandrea wrote
> Per esempio la tua espressione dovrebbe poter essere riscritta e
> funzionare
> in seguente modo:
> 
> with_variable('cucu','array_length(overlay_touches(@layer_name,$id))',maximum(eval(@cucu))
> = eval(@cucu))
> 
> In questo modo alla variabile @cucu viene assegnata una stringa che
> contiene
> l'espressione che poi verrà valutata da eval come se fosse una funzione
> utente.
> 
> Sembra funzionare anche:
> 
> with_variable('cucu',array_length(overlay_touches(@layer_name,$id)),maximum(eval(@cucu))=@cucu)
> 
> quindi senza che sia necessario rendere l'espressione una stringa (ma
> questo
> non è indicato nel manuale).

Buongiorno,
ho provato la prima espressione che suggerisci e funziona, ma impiega un
tempo enorme e quindi non più utile l'uso della with_variable (impiega 126
sec a partire dallo shapefile regioni istat, che ha solo 20 feature; la mia
iniziale espressione impiega 10 sec).

la seconda espressione che proponi:
with_variable('cucu',array_length(overlay_touches(@layer_name,$id)),maximum(eval(@cucu))=@cucu)
non funziona da me (avevo già fatto questa prova).

grazie



-----
https://pigrecoinfinito.com/
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


Maggiori informazioni sulla lista QGIS-it-user