Scegli una sola linea di contorno da etichettare in QGIS?


12

È possibile selezionare solo una linea di contorno per l'etichettatura?

Ho numerose etichette per ogni riga e preferirò etichettare solo quelle principali, come 1000 me1500 m


Non sono sicuro se si tratta di un duplicato, ma puoi dare un'occhiata a gis.stackexchange.com/q/89501/1297 e gis.stackexchange.com/q/59778/1297 per vedere se ti avvicinano a ciò che sei cercando? E poi penso che aiuterebbe la tua domanda se fornissi alcuni dettagli su cosa hai provato e forse dove sta andando storto.
SaultDon

Risposte:


13

In QGIS 2.6 (forse anche nelle versioni precedenti, non lo so) puoi farlo nella sezione Proprietà, Labelsscheda, Renderingsezione Livello . Circa a metà dell'elenco delle opzioni di rendering è presente un pulsante che consente di scrivere un'espressione che definirà l'elenco delle funzionalità che verranno effettivamente etichettate. La tua espressione sarebbe qualcosa di simile "Elevation" IN (1000, 1500). Ecco il pulsante (in giallo), ho impostato questo per etichettare solo i contorni con un valore di elevazione di 32:

inserisci qui la descrizione dell'immagine


11

Un approccio sarebbe quello di caricare lo strato di contorno e modellarlo. Quindi carica di nuovo lo stesso livello e applica un filtro (fai clic con il pulsante destro del mouse sul livello e passa a 'Filtro ..') Usa un'espressione di filtro simile a quella mostrata nell'immagine. Nel mio caso volevo contorni importanti ad intervalli verticali di 50 metri e il campo contenente i valori di elevazione era chiamato "valore prop".

Quando lo strato filtrato che mostra i contorni principali è stato caricato, applicare le etichette dei contorni e (se necessario) rafforzare lo stile della linea come mostrato.

inserisci qui la descrizione dell'immagine

L'espressione del filtro:

("prop_value" % 50) = 0

selezionerà anche i contorni a intervalli verticali di 50 metri. Funziona con i database Spatialite, non sono sicuro dei file di forma.


6

Sto usando questo approccio che rende abbastanza semplice l'etichettatura e la visualizzazione dei contorni per condizione.

Uso le "Proprietà definite dai dati" della larghezza e dei colori del simbolo di linea con un'espressione (vedi screenshot 1) con la quale puoi applicare diverse larghezze di linea in base a condizioni personalizzate e un'espressione simile per l'etichettatura (vedi screenshot 2).

Basta mettere i valori necessari per le espressioni e questo è tutto.

Ad esempio, se si desidera nascondere contorni diversi da 500 m, è possibile utilizzare questa espressione per le proprietà definite dal simbolo della linea:

CASE WHEN Elevation / 500 - floor(Elevation / 500) =  0 then 
   color_rgba(255,255,255,100) 
else 
    color_rgba(255,255,255,0) 
end

cioè per etichettare solo intervalli di 500m usare questa espressione per:

CASE WHEN Elevation /500 - floor(Elevation / 500) = 0 THEN Elevation || ' m' END

cioè per applicare una larghezza di linea diversa utilizzare un'espressione come questa per le proprietà definite dai dati:

CASE WHEN Elevation / 100 - floor(Elevation / 100) = 0 THEN 
    0.25 
WHEN Elevation / 50 - floor(Elevation / 50) = 0 THEN 
    0.15 
ELSE 
    0.1 
END

screenshot 1 screenshot 2


@catindri, mente per controllare una risposta ..
Kay

3

Un'altra espressione utile è "ELEV" LIKE '%00'(passaggio 100m) o "ELEV" LIKE '%00' OR "ELEV" LIKE '%50'(passaggio 50m) o "ELEV" LIKE '%0'(passaggio 10m) ecc., Dove "ELEV" è il mio campo di elevazione dei dati. La seconda opzione funziona solo se 50 è un multiplo dell'intervallo (10m o 5m ...).

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.