Come usare gli stili nidificati in QGIS?


10

Come posso usare gli stili nidificati?

Ho trovato il post di Nathan W. "Miglioramenti al rendering basato su regole QGIS" sugli stili nidificati, ma non capisco come usare?


Benvenuto su gis.stackexchange! Si noti che una buona domanda su questo sito dovrebbe mostrare un certo grado di ricerca da parte vostra, vale a dire ciò che avete provato e, se applicabile, il codice finora. Per maggiori informazioni, puoi consultare le nostre domande frequenti .
underdark

Risposte:


14

Speriamo che la seguente immagine possa aiutare un po ':

Stile nidificato

In sostanza, puoi spostare una regola "dentro" un'altra trascinandola attraverso. Questo crea uno stile nidificato. Nell'immagine, ho trascinato le ultime 2 regole (blu e giallo) all'interno della regola verde. Ora se aggiungi un filtro (espressione) alla regola verde e se si applica a qualsiasi funzione, le funzioni non solo diventeranno verdi ma potrebbero anche diventare blu e gialle a seconda dei filtri per queste regole.

Se la regola verde non si applica a nessuna funzione, diventa rossa poiché la regola rossa è esterna allo stile nidificato. Quindi uno stile nidificato può quasi essere visto come IF, THEN, ELSEun'istruzione standard .


@CarlosPires - Benvenuto! Spero sia stato utile =)
Joseph,

@Rostranimin - Mille grazie per la modifica, molto più chiaro ora :)
Joseph

@Joseph - benvenuto - Sono venuto sul sito per porre la stessa domanda e la risposta mi ha aiutato per lo più. Il post di Nathan mi è stato utile e mi sono imbattuto anche in questo ... lists.osgeo.org/pipermail/qgis-developer/2012-January/… La prova e l'errore mi hanno fatto passare il resto. Se hai tempo di aggiungere un'immagine del simbolo QGIS on / off la casella di controllo sarebbe utile.
Rostranimin,

1
@Rostranimin - Grazie ma sarei stato più felice se avessi pubblicato una risposta (che dovresti considerare) con la tua spiegazione con l'immagine che hai proposto considerando la quantità di dettagli che hai aggiunto. Se invii una risposta, eseguirò il rollback delle modifiche su questo post =)
Joseph,

1
@Joseph - è abbastanza giusto. Pensavo che la tua risposta fosse davvero buona, quindi non volevo aggiungere qualcosa che sembrava competere, ma d'altra parte capisco come potresti sentirti, in particolare una volta aggiunta l'immagine grande. Farò del mio meglio per arrivare a questo presto.
Rostranimin,

5

Gli stili nidificati sono possibili per lo stile basato su regole. (nota: non ho controllato altri tipi di stile)

Non è solo la leggenda di styling e simbologia ad essere nidificata. Anche la valutazione delle regole di stile è nidificata.

Per impostare l'annidamento, utilizzare il trascinamento della selezione.

Ad esempio - vedi immagine. Questo è per un set di dati con campi denominati "altezza" e "flusso". L'impostazione iniziale, che ho creato a mano (uno stile dopo l'altro) potrebbe apparire così. Si noti che ho creato stili duplicati per un flusso maggiore o minore di 5.

Immagine dello stile basato su regole prima della nidificazione creata

Combineremo le regole che valutano il flusso con le regole che valutano l'altezza. Le regole che valutano il flusso vengono trascinate sopra quelle che valutano l'altezza. Quindi le regole 3 e 4 nell'elenco vengono eliminate in cima alla regola 1 - e ovviamente le regole 5 e 6 vengono eliminate in cima alla regola 2. Ora abbiamo questo (vedi immagine):

Immagine dello stile basato su regole dopo l'annidamento applicato

Dovrebbe essere ovvio che dopo aver trascinato quelle che potremmo chiamare le categorie 'figlio' nelle categorie 'genitore' per vedere le categorie figlio (le categorie che valutano il flusso) devi espandere l'albero di stile usando la piccola casella quadrata +/- che può essere visto a sinistra degli stili (immagine).

immagine che mostra il controllo di espansione sullo stile basato su regole

Ora - non abbiamo (in questa occasione) bisogno di avere simboli per le regole dei genitori. Tutti i casi saranno coperti dalle categorie secondarie (il flusso sarà inferiore a 5 o maggiore / uguale a 5), ​​quindi non abbiamo bisogno delle linee nere. Per nasconderli, fai doppio clic sul singolo stile per accedere alla normale finestra di dialogo di progettazione dello stile. Quindi deseleziona / deseleziona la casella accanto alla parola "simbolo" (vedi immagine).

Immagine che mostra come nascondere lo stile principale

Ci resta uno stile impostato come mostrato.

Immagine che mostra lo stile nidificato completato

Quindi nel nostro esempio se 'height'> 2 AND 'flow'> 5 otteniamo una semplice linea rossa - mentre se 'height' <= 2 AND 'flow'> 5 otteniamo una linea rossa tratteggiata.

Immagine che mostra gli stili finali

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.