Come impostare automaticamente i bordi dei poligoni per migliorare la leggibilità delle mappe durante il rendering delle mappe tematiche?


10

Quando si mappa un valore come colore per il rendering di una mappa tematica, i bordi degli oggetti possono alterare molto la leggibilità della mappa. Ad esempio in questa mappa tematica delle contee statunitensi con bordi neri: inserisci qui la descrizione dell'immagine

Ci sono molti piccoli oggetti in alcune aree e li rende più scuri a causa dei bordi senza rispetto per il colore tematico. Se i bordi vengono disegnati con un'opacità del 30%, si otterrà la seguente mappa: inserisci qui la descrizione dell'immagine

Questo è ovviamente migliore per comunicare i dati mappati sugli oggetti. Tuttavia, avere un tasso di opacità statica può anche degradare la leggibilità poiché rende i confini degli oggetti meno visibili, il che è un problema se ci sono solo pochi oggetti di grandi dimensioni. Inoltre, il cambiamento nella leggibilità dipende anche dal contrasto tra bordo e colori di riempimento.

Esistono modi automatici per trovare il buon colore / opacità per i livelli? Quale software GIS fornisce il metodo per gestire correttamente questo problema?

Risposte:


7

Puoi avere un approccio diverso per quel problema.
1) dalla larghezza della linea: unità di larghezza della linea = unità della mappa.
2) regole di scala della mappa: mappe chiuse = linee spesse, mappe lontane = linee sottili.

In QGIS puoi fare entrambe le cose.

inserisci qui la descrizione dell'immagine


5

Il mio effetto preferito per la leggibilità / estetica è un "riempimento sfumato". Se stai usando il software ArcGIS, questo effetto è abbastanza semplice da implementare ... Ecco un buon post sul blog del team ESRI al Mapping Center:

Bande colorate


Mi piace questo effetto, ma solo leggendo il post sul blog mi sembra un po 'più difficile per i miei occhi (forse è dovuto alla loro scelta del colore). Qualcun altro lo trova?
djq

1
Ho fatto una versione simile di questo effetto tamponando gli interni dei poligoni, colorando il buffer come il poli ma cambiando la saturazione del colore del buffer ... Mi è piaciuta quella soluzione meglio delle immagini sfocate mostrate sul blog inviare!
BrianPeasley,

3
Questo effetto non funzionerebbe affatto per le immagini su piccola scala nella domanda. Il gradiente sarebbe impercettibile o riempirebbe completamente i poligoni più piccoli.
Sean,

3

L'esempio che mostri riguarda in realtà la tonalità del colore e l'opacità. Impostando un'opacità maggiore, si cambia il colore di output in grigio chiaro. Prova a impostarlo su un grigio chiaro per iniziare con trasparenza zero, questo ti darà più controllo e avrà un effetto simile.

Un metodo semplice per ottenere un controllo più granulare dell'opacità è semplicemente dividere il set di dati in livelli separati in base all'area del poligono, al perimetro o a una miscela dei due. Quindi imposta semplicemente l'opacità in modo diverso per i diversi livelli. In alternativa, eseguire il rendering dello spessore della linea in base all'area del poligono.


2

In ArcMap è possibile impostare una scala di riferimento per la cornice dati e sul layer Proprietà dello schermo selezionare "Simboli scala quando è impostata una scala di riferimento".

Imposta la scala di riferimento sulla scala più grande che utilizzerai. Questo ridimensionerà l'ampiezza del tratto mentre rimpicciolisci.

Se ciò non dà i risultati desiderati, puoi anche creare copie del livello da visualizzare a varie scale. Per esempio, avere un livello simbolizzato per 1: 24.000 e impostare di non mostrare oltre 1: 24.000, un altro livello su 1: 100.000 e impostare non mostrare oltre 100.000 o tra oltre 24.000, ecc. I numeri effettivi dipenderanno dai tuoi dati e proprie predilezioni di progettazione.


2

Se la tua enfasi è sul colore di riempimento, perché non evitare semplicemente l'uso di un bordo per i poligoni? Ciò dovrebbe ridimensionarsi meglio su piccola scala.


1
ma poi non puoi distinguere tra poligoni adiacenti che hanno lo stesso colore
neuhausr

2

Non sono convinto del metodo 'tinta' di BrianP - suona bene ma poi puoi classificare la tinta solo da un poligono dando alla mappa 'lati' che in realtà non esistono. Vedi il link per vedere cosa ne pensi.

Preferisco una variazione sull'idea di Pablo: fare in modo che i bordi cambino l'opacità mentre si ingrandisce. Ad alto livello si ha una bassa opacità, mentre si ingrandiscono i bordi neri si ottiene l'opacità.

Questo può essere fatto in KML per Google Earth usando la funzionalità "regioni".


2

La soglia di leggibilità del simbolo della mappa per un simbolo lineare è di 0,1 mm (secondo Saliszczew KA, Einfuhrung in die Kartographie e molti altri libri di mappatura).

Per migliorare la leggibilità dei bordi poligonali, prova a conformarti a questa soglia. Per questo, devi sicuramente convertire questo valore in pixel in base alla risoluzione del dispositivo dello schermo.

(Nel caso in cui si legge francese, vedere la fila centrale: inserisci qui la descrizione dell'immagine)


1

In QGIS esiste una semplice alternativa per ottenere lo stesso risultato di "Simboli di scala quando è impostata una scala di riferimento" in ArcGIS. Devi solo definire la larghezza del simbolo in unità della mappa anziché in mm.

Ad esempio, se si desidera impostare una funzione di polilinea per visualizzare una larghezza di 0,8 mm su una mappa a 1: 30.000 (con unità di mappa dei metri) e per ridimensionare su o giù proporzionalmente alla scala della mappa:

  1. Apri le proprietà del livello e scegli la scheda Stile

  2. Cambia l' unità in 'Mappa unità'

  3. Calcola cosa rappresenta 0,8 mm in m su una mappa di scala 1: 30.000: 0,8 / 1000 * 30000 = 24m e inserisci questo valore (24) nella casella Larghezza .

Questo è tutto!

Come metodo alternativo è possibile lasciare l'unità come millimetri e quindi inserire la seguente espressione in "Sostituzione definita dai dati" per la larghezza, a cui si accede facendo clic sull'icona dell'espressione a destra della casella Larghezza

0.8 * 30000 / @map_scale
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.