Stile di FeatureView

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 in categories. 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 da mode. 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'elenco palette.
  • 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.
opacity Double Imposta l'opacità di riempimento/tratto per tutti i tipi di geometria. Deve essere un valore doppio compreso tra 0 e 1.
width Double Imposta la larghezza del tratto per tutti i tipi di geometria.
fillColor String Imposta il colore di riempimento per tutti i tipi di geometria. Deve essere un valore esadecimale o un colore CSS3.
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).
pointFillColor String Imposta il colore di riempimento per le geometrie dei punti. Deve essere un valore esadecimale o un colore CSS3.
pointFillOpacity Double Imposta l'opacità del riempimento per le geometrie dei punti. Deve essere un valore doppio compreso tra 0 e 1.
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).
lineColor String Imposta il colore per le geometrie delle linee. Deve essere un valore esadecimale o un colore CSS3.
lineOpacity Double Imposta l'opacità per le geometrie delle linee. Deve essere un valore doppio compreso tra 0 e 1.
Geometria dei poligoni
polygonStrokeWidth Double Imposta la larghezza del tratto dei poligoni (in pixel).
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.
polygonStrokeOpacity Double Imposta l'opacità del tratto per le geometrie poligonali. Deve essere un valore double compreso tra 0 e 1.
polygonFillColor String Imposta il colore di riempimento per le geometrie poligonali. Deve essere un valore esadecimale o un colore CSS3.
polygonFillOpacity Double Imposta l'opacità del riempimento per le geometrie poligonali. Deve essere un valore double compreso tra 0 e 1.