[QGIS-it-user] funzione Aggregate del Field Calculator

Salve un quesito sul field calc.
Il nostro mentore Salvatore Fiandaca, ci ha presentato vari esempi di
utilizzo della funzione Aggregate, per recuperare dati in un secondo layer,
che abbia delle relazioni geometriche con il primo.
Per esempio, punto contenuto in poligono, per esempio.
Ora peró vorrei fare un passo in piú: la relazione spaziale da usare come
filtro nella funzione, dovrebbe essere la vicinaza, ossia, lavoro sul layer
di punti, e vorrei che a inserire il nuovo punto, prendesse in automatico il
valore di un campo di un layer di poligoni (localitá), scegliendo il
poligono piú vicino.

ho fatto alcune prove, ma la mia capacitá del calc field é molto limitata!

avevo provato con:

aggregate(
  layer:='INEGI_pg_loc_VER',
  aggregate:='concatenate',
  expression:= "NOMLOC",
  filter:= shortest_line(centroid($geometry),geometry(@parent))
)

La formula non da errori, ma non esegue nulla. ho capito che Shortest_line
ritorna una geometria, mentre il filtro si aspetta un 1 o 0 (true o false).

Lascio questo caso d'uso, potrebbe aprire a piú idee!
Ciao

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

Luca Bellani wrote

Salve un quesito sul field calc.
Il nostro mentore Salvatore Fiandaca, ci ha presentato vari esempi di
utilizzo della funzione Aggregate, per recuperare dati in un secondo
layer,
che abbia delle relazioni geometriche con il primo.
Per esempio, punto contenuto in poligono, per esempio.
Ora peró vorrei fare un passo in piú: la relazione spaziale da usare come
filtro nella funzione, dovrebbe essere la vicinaza, ossia, lavoro sul
layer
di punti, e vorrei che a inserire il nuovo punto, prendesse in automatico
il
valore di un campo di un layer di poligoni (localitá), scegliendo il
poligono piú vicino.

ho fatto alcune prove, ma la mia capacitá del calc field é molto limitata!

avevo provato con:

aggregate(
  layer:='INEGI_pg_loc_VER',
  aggregate:='concatenate',
  expression:= "NOMLOC",
  filter:= shortest_line(centroid($geometry),geometry(@parent))
)

La formula non da errori, ma non esegue nulla. ho capito che Shortest_line
ritorna una geometria, mentre il filtro si aspetta un 1 o 0 (true o
false).

Lascio questo caso d'uso, potrebbe aprire a piú idee!
Ciao

Ciao Luca,
la risposta è molto semplice e la trovi nel mio #HfcQGIS
in particolare nell'esercizio nro 33
ecco il link diretto:
http://hfcqgis.opendatasicilia.it/it/latest/esempi/drilldown_form_multiple.html#form-avanzato-con-spatial-join-1-m

--
minimum(distance(@current_geometry ,$geometry))= distance(@current_geometry
,$geometry)

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

Semplice per te... ahaha! potresti darmi dei dettagli in piú sui componenti
del codice?

la variabile @curret_geometry si attiva con un form aperto del value
relation...quindi se ho un semplice layer di punti, senza widget, non
funzionerebbe... facio delle prove..

nel codice: come si fa a differenziare la geometria del punto, e dei
poligoni? chi é tra @current y $geometry?

Ciao e grazie mille

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

Luca Bellani wrote

Semplice per te... ahaha! potresti darmi dei dettagli in piú sui
componenti
del codice?

la variabile @curret_geometry si attiva con un form aperto del value
relation...quindi se ho un semplice layer di punti, senza widget, non
funzionerebbe... facio delle prove..

nel codice: come si fa a differenziare la geometria del punto, e dei
poligoni? chi é tra @current y $geometry?

Ciao e grazie mille

Ciao Luca,
La drill-down forms è stata introdotta nella QGIS 3.2 dopo una raccolta
fondi [0], l'autore è Alessandro Pasotti.
Per implementare questa funzionalità, Pasotti ha introdotto una nuova
funzione current_value() e due variabili: current_geometry e current_feature
[1]; queste sono visibili solo nel contesto del widget.

Nel caso in esame:

current_geometry: è la geometria che stai creando (nel nostro caso il punto)
$geometry: è la geometria corrente che esiste già (nel nostro caso i
poligoni)

ciao

[0] https://north-road.com/drill-down-cascading-forms/
[1]
http://hfcqgis.opendatasicilia.it/it/latest/release/novita_32.html#form-drill-down-a-cascata-widget-value-relation-relazione-valore

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

Grazie! tutto chiarissimo ora!!!
Ciao

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