[QGIS-it-user] [Qgis-it-user] Tematizzare tramite regole per posizione

Buongiorno a tutti,
non riesco a trovare il modo corretto di scrivere l’espressione che consente di colorare tramite regole un layer poligoni (es. edifici) in base alla posizione rispetto ad un layer di base (es. zone PRG, aree rischio PAI, ecc.).
Una sorta di selezione per posizione applicata alla tematizzazione tramite regole.
es.

  • layer 1 poligoni → Edifici CTR (senza ulteriori attributi)
  • layer 2 poligoni → aree rischio (con attributi Alto, Moderato, Basso).
    è possibile tematizzare gli edifici sulla base del rapporto con le aree sottostanti?
    risultato atteso: rosso edifici che ricadono sopra ad aree a rischio alto, giallo edifici che ricadono sopra ad aree a rischio moderato, bianco per rischio basso.

E’ un pò che provo a cercare indicazioni in internet senza risultati.

Grazie in anticipo
Danilo

Danilo Procaccini wrote

Buongiorno a tutti,
non riesco a trovare il modo corretto di scrivere l'espressione che
consente di colorare tramite regole un layer poligoni (es. edifici) in
base
alla posizione rispetto ad un layer di base (es. zone PRG, aree rischio
PAI, ecc.).
Una sorta di selezione per posizione applicata alla tematizzazione tramite
regole.
es.
- layer 1 poligoni -> Edifici CTR (senza ulteriori attributi)
- layer 2 poligoni -> aree rischio (con attributi Alto, Moderato, Basso).
è possibile tematizzare gli edifici sulla base del rapporto con le aree
sottostanti?
risultato atteso: rosso edifici che ricadono sopra ad aree a rischio alto,
giallo edifici che ricadono sopra ad aree a rischio moderato, bianco per
rischio basso.

E' un pò che provo a cercare indicazioni in internet senza risultati.

Grazie in anticipo
Danilo

Ciao,
potresti allegare dei layer di esempio??

altrimenti chi vorrebbe provare deve perdere tempo a creare i vari layer.

ciao

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

Ho avuto un problema simile, anche se non dovuto al passaggio su SpatiaLite, ma leggendo un file csv. Ho risolto creando un nuovo campo e trasferendoci i valori dell’attributo letti come “string”, con la funzione to_int. Poi ho cancellato la colonna con le stringhe.
Carlo

···

Carlo TERSIGNI
Via della Badia di cava 104, scala Z, 00142 - ROMA
tel.: 333-4653589
e-mail: carter.012@gmail.com

Scusa. NOn c’entra niente. Ti ho inviato la risposta che doveva essere indirizzata in risposta ad un’altra e-mail del gruppo.
Ciao e scusa

···

Carlo TERSIGNI
Via della Badia di cava 104, scala Z, 00142 - ROMA
tel.: 333-4653589
e-mail: carter.012@gmail.com

Eccolo!
L’idea è quella di agire direttamente sulla tematizzazione, senza aggiungere nuovi campi (es. attributi per posizione) o nuovi shp (es. esportare selezioni), considerando, se possibile, anche i casi in cui i poligoni sono a cavallo delle aree.

Grazie

Il giorno mar 10 dic 2019 alle ore 11:30 Totò <pigrecoinfinito@gmail.com> ha scritto:

Danilo Procaccini wrote

Buongiorno a tutti,
non riesco a trovare il modo corretto di scrivere l’espressione che
consente di colorare tramite regole un layer poligoni (es. edifici) in
base
alla posizione rispetto ad un layer di base (es. zone PRG, aree rischio
PAI, ecc.).
Una sorta di selezione per posizione applicata alla tematizzazione tramite
regole.
es.

  • layer 1 poligoni → Edifici CTR (senza ulteriori attributi)
  • layer 2 poligoni → aree rischio (con attributi Alto, Moderato, Basso).
    è possibile tematizzare gli edifici sulla base del rapporto con le aree
    sottostanti?
    risultato atteso: rosso edifici che ricadono sopra ad aree a rischio alto,
    giallo edifici che ricadono sopra ad aree a rischio moderato, bianco per
    rischio basso.

E’ un pò che provo a cercare indicazioni in internet senza risultati.

Grazie in anticipo
Danilo

Ciao,
potresti allegare dei layer di esempio??

altrimenti chi vorrebbe provare deve perdere tempo a creare i vari layer.

ciao


https://pigrecoinfinito.wordpress.com/

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


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

tema_regole.zip (10.5 KB)

Danilo Procaccini wrote

Eccolo!
L'idea è quella di agire direttamente sulla tematizzazione, senza
aggiungere nuovi campi (es. attributi per posizione) o nuovi shp (es.
esportare selezioni), considerando, se possibile, anche i casi in cui i
poligoni sono a cavallo delle aree.

Ciao,
ho fatto un rapido test e sembra facile la soluzione

tematizza il layer Edifici come categorizzato usando questa espressione:

aggregate(
layer:='aree_rischio',
aggregate:= 'concatenate',
expression:= "Rischio",
filter:= intersects($geometry, geometry(@parent)) )

allego file di progetto, mettilo nella stessa cartella dei dati.

ciao (facci sapere)
progetto.zip <http://osgeo-org.1560.x6.nabble.com/file/t378656/progetto.zip&gt;

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

Funziona!

Grazie

Il giorno mar 10 dic 2019 alle ore 12:05 Totò <pigrecoinfinito@gmail.com> ha scritto:

Danilo Procaccini wrote

Eccolo!
L’idea è quella di agire direttamente sulla tematizzazione, senza
aggiungere nuovi campi (es. attributi per posizione) o nuovi shp (es.
esportare selezioni), considerando, se possibile, anche i casi in cui i
poligoni sono a cavallo delle aree.

Ciao,
ho fatto un rapido test e sembra facile la soluzione

tematizza il layer Edifici come categorizzato usando questa espressione:

aggregate(
layer:=‘aree_rischio’,
aggregate:= ‘concatenate’,
expression:= “Rischio”,
filter:= intersects($geometry, geometry(@parent)) )

allego file di progetto, mettilo nella stessa cartella dei dati.

ciao (facci sapere)
progetto.zip <http://osgeo-org.1560.x6.nabble.com/file/t378656/progetto.zip>


https://pigrecoinfinito.wordpress.com/

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


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user