Lo stile degli elementi in una risorsa FeatureView
viene specificato utilizzando regole
definite in un oggetto JavaScript. Lo stile può essere impostato durante la definizione iniziale di un
FeatureViewLayer
o in qualsiasi momento successivo. Il sistema di stili ti consente di impostare regole di stile generali che si applicano a grandi gruppi di elementi, nonché regole più specifiche per elementi specifici. Lo stile delle funzionalità può essere definito in base a valori costanti o basati sui dati, in base alle caratteristiche delle funzionalità.
Oggetto stile
La struttura di base di un oggetto stile è mostrata di seguito. Esistono due tipi di regole: regole generali e regole specifiche. Le regole generali influiscono su tutte le funzionalità
in una risorsa FeatureView
, mentre le regole specifiche influiscono su un sottoinsieme di funzionalità.
{
// Broad style rules.
opacity: …,
polygonFillColor: …,
// Specific style rules.
rules: [
{ … },
{ … }
]
};
Regole generali
Per applicare le proprietà di stile a tutte le funzionalità (o a quelle di un tipo di geometria specifico), specifica le proprietà di stile a livello superiore nell'oggetto stile.
{
opacity: 0.5,
pointShape: 'triangle',
lineWidth: 10,
polygonFillColor: 'green'
};
Regole specifiche
Per applicare le proprietà di stile a un sottoinsieme di elementi, utilizza il campo rules
. Il
campo rules
accetta un elenco di oggetti JavaScript, ciascuno con un filter
che
seleziona le funzionalità in base alle condizioni definite da un oggetto ee.Filter
, followed
da una serie di proprietà di stile. Nell'esempio seguente,
esiste una regola che imposta polygonStrokeWidth
e polygonFillColor
solo se
la proprietà "REP_AREA" è inferiore a 100. Le regole specifiche sostituiscono le proprietà di stile delle regole generali e le regole verso la fine dell'elenco rules
sostituiscono quelle verso l'inizio (le regole specifiche vengono valutate dall'inizio alla fine).
{
rules: [
{
filter: ee.Filter.lt('REP_AREA', 100),
polygonStrokeWidth: 0.5,
polygonFillColor: 'blue'
},
{ … } // Optionally include additional rules.
]
};
Impostazione dello stile
Lo stile della funzionalità può essere impostato quando viene dichiarato un FeatureViewLayer
o in qualsiasi momento successivo.
FeatureViewLayer
dichiarazione
Per impostare i parametri di visualizzazione quando dichiari un FeatureViewLayer
,
utilizza il parametro visParams
.
var visParams = {
opacity: 0.5,
lineWidth: 10,
polygonFillColor: 'purple'
};
var layer = ui.Map.FeatureViewLayer({
assetId: 'WCMC/WDPA/current/polygons_FeatureView',
visParams: visParams
});
Map.add(layer);
FeatureViewLayer
esistenti
Per impostare i parametri di visualizzazione per un FeatureViewLayer
esistente, utilizza la funzione setVisParams
. Sostituisce le regole di stile specificate in precedenza.
Le proprietà non specificate vengono impostate sul valore predefinito.
var layer = ui.Map.FeatureViewLayer('WCMC/WDPA/current/polygons_FeatureView');
Map.add(layer);
layer.setVisParams({
opacity: 0.5,
lineWidth: 10,
polygonFillColor: 'purple'
});
Simbologia
Per ogni proprietà di stile, puoi specificare una regola di stile costante o una regola di stile basata sui dati. L'opzione basata sui dati utilizza i valori delle proprietà delle funzionalità per determinare la simbologia, che può essere categorica o interpolata. Per un elenco completo delle proprietà di stile, consulta la tabella delle proprietà di stile.
Costante
Una regola di stile costante è composta da una proprietà di stile da impostare e dal relativo valore. L'Esempio seguente imposta il colore di riempimento del poligono su blu.
var visParams = {
polygonFillColor: 'blue'
};
Categorica
Una regola di stile categorica è composta da una proprietà di stile da impostare e da un oggetto JavaScript con tre proprietà:
property
: il nome di una proprietà della funzionalità il cui valore influisce sullo stile.categories
: un elenco di elenchi che mappano i valori delle proprietà delle funzionalità alle simbologie delle proprietà di stile. Ogni categoria include un valore della proprietà seguito da un valore della simbologia da applicare. Il valore della proprietà che definisce una categoria deve essere una stringa.defaultValue
: una simbologia predefinita da applicare agli elementi il cui valore della proprietà non è definito incategories
. Se è nullo/non definito, verranno applicate le impostazioni di stile predefinite.
Ad esempio, l'oggetto seguente imposta la proprietà di stile color
in base alla proprietà della funzionalità "MARINE". Gli elementi della categoria "MARINE" "0" sono impostati come viola,
"1" come verde, "2" come blu e qualsiasi altra categoria come bianca.
var visParams = {
color: {
property: 'MARINE',
categories: [
['0', 'purple'],
['1', 'green'],
['2', 'blue']
],
defaultValue: 'white'
}
};
Interpolati
Una regola di stile interpolata è composta da una proprietà di stile da impostare e da un oggetto JavaScript con un massimo di cinque proprietà:
property
: il nome di una proprietà della funzionalità il cui valore influisce sullo stile.mode
: la modalità di interpolazione,'linear'
o'interval'
.palette
: un elenco di colori, opacità o larghezze tra cui eseguire l'interpolazione dei valori delle proprietà di input. Il formato dipende damode
. Per ulteriori dettagli, consulta le sezioni Lineare e Intervallo.
Si applica solo alla modalità 'linear'
min
: il valore della proprietà da mappare al primo elemento nell'elencopalette
.max
: il valore della proprietà da mappare all'ultimo elemento nell'elencopalette
.
Lineare
La modalità di interpolazione lineare imposta una proprietà di stile delle funzionalità mappando i valori di input
nell'intervallo min
a max
in modo lineare tra un elenco di valori di simbologia definiti
nella proprietà palette
. I valori inseriti sono limitati all'intervallo impostato da
min
e max
.
Ad esempio, l'oggetto seguente imposta la proprietà di stile color
in base alla proprietà della funzionalità "REP_AREA". La proprietà palette
è un elenco di colori
che indica che i valori di input compresi tra min
e max
devono essere graduati in modo lineare
dal giallo al rosso al blu. Un valore compreso tra 1 e 500 viene interpolato tra giallo e rosso, mentre un valore compreso tra 500 e 1000 viene interpolato tra rosso e blu.
var visParams = {
color: {
property: 'REP_AREA',
mode: 'linear',
palette: ['yellow', 'red', 'blue'],
min: 1,
max: 1000
}
};
Intervallo
La modalità di interpolazione dell'intervallo imposta una proprietà dello stile della funzionalità mappando i valori di input alle interruzioni di classe e applicando una simbologia specifica per la classe. I valori di input della proprietà della funzionalità selezionata vengono assegnati al valore di interruzione della classe più vicino arrotondando per difetto. La proprietà palette
è formattata come un elenco di elenchi, in cui ogni elenco interno contiene un valore di interruzione della classe seguito da un valore della proprietà stile. Gli elementi il cui valore della proprietà è inferiore al valore minimo dell'interruzione della classe mantengono l'impostazione predefinita della proprietà dello stile.
Nell'esempio seguente, l'opacità del riempimento delle funzionalità è impostata in base alle classi graduate della proprietà "REP_AREA". La definizione della classe e la simbologia dello stile vengono fornite nella proprietà palette
come elenco di elenchi. Indica che devono essere presenti 4 classi con interruzioni ai valori 0, 80, 2000 e 5000, con le rispettive opacità delle funzionalità di 0,5, 0,35, 0,22 e 0,15. In altre
parole, gli elementi con valori "REP_AREA" nell'intervallo $ 0 \le x < 80 $ avranno un'opacità di riempimento di 0,5, i valori nell'intervallo $ 80 \le x < 2000 $ avranno un'opacità di riempimento di 0,35 e così via.
var visParams = {
fillOpacity: {
property: 'REP_AREA',
mode: 'interval',
palette: [
[0, 0.5],
[80, 0.35],
[2000, 0.22],
[5000, 0.15]
]
}
};
Tutte le proprietà degli stili
Di seguito sono riportate tutte le proprietà di stile che puoi specificare nell'oggetto style.
L'impostazione delle proprietà di stile per tipi di geometria specifici sostituisce le proprietà di stile corrispondenti impostate per "Tutte le geometrie" (ad esempio, l'impostazione polygonFillColor
sostituisce il valore impostato in fillColor
).
Proprietà | Tipo | Descrizione | Supporta la regola interpolata |
---|---|---|---|
Tutte le geometrie | |||
isVisible |
Boolean |
Imposta se la funzionalità è visibile. | No |
color |
String |
Imposta il colore di riempimento/tratto per tutti i tipi di geometria. Deve essere un valore esadecimale o un colore CSS3. | Sì |
opacity |
Double |
Imposta l'opacità di riempimento/tratto per tutti i tipi di geometria. Deve essere un valore doppio compreso tra 0 e 1. | Sì |
width |
Double |
Imposta la larghezza del tratto per tutti i tipi di geometria. | Sì |
fillColor |
String |
Imposta il colore di riempimento per tutti i tipi di geometria. Deve essere un valore esadecimale o un colore CSS3. | Sì |
Geometria dei punti | |||
pointShape |
String |
Imposta la forma delle geometrie dei punti. Supporta le
stesse forme di ee.FeatureCollection.style (cerchio, quadrato,
rombo, croce, più, pentacolo, esagramma, triangolo, triangle_up,
triangle_down, triangle_left, triangle_right, pentagono, esagono, stella5,
stella6). |
No |
pointSize |
Double |
Imposta la larghezza delle geometrie dei punti (in pixel). | Sì |
pointFillColor |
String |
Imposta il colore di riempimento per le geometrie dei punti. Deve essere un valore esadecimale o un colore CSS3. | Sì |
pointFillOpacity |
Double |
Imposta l'opacità del riempimento per le geometrie dei punti. Deve essere un valore doppio compreso tra 0 e 1. | Sì |
Geometrie delle linee | |||
lineType |
String |
Imposta il tipo di linea. Supporta gli stessi tipi di
ee.FeatureCollection.style (solido, tratteggiati, a puntini). |
No |
lineWidth |
Double |
Imposta la larghezza della linea (in pixel). | Sì |
lineColor |
String |
Imposta il colore per le geometrie delle linee. Deve essere un valore esadecimale o un colore CSS3. | Sì |
lineOpacity |
Double |
Imposta l'opacità per le geometrie delle linee. Deve essere un valore doppio compreso tra 0 e 1. | Sì |
Geometria dei poligoni | |||
polygonStrokeWidth |
Double |
Imposta la larghezza del tratto dei poligoni (in pixel). | Sì |
polygonStrokeType |
String |
Imposta il tipo di linea per i poligoni. Supporta gli stessi tipi di
ee.FeatureCollection.style (solido, tratteggiati, a puntini). |
No |
polygonStrokeColor |
String |
Imposta il colore del tratto per le geometrie poligonali. Deve essere un valore esadecimale o un colore CSS3. | Sì |
polygonStrokeOpacity |
Double |
Imposta l'opacità del tratto per le geometrie poligonali. Deve essere un valore double compreso tra 0 e 1. | Sì |
polygonFillColor |
String |
Imposta il colore di riempimento per le geometrie poligonali. Deve essere un valore esadecimale o un colore CSS3. | Sì |
polygonFillOpacity |
Double |
Imposta l'opacità del riempimento per le geometrie poligonali. Deve essere un valore double compreso tra 0 e 1. | Sì |