Styl funkcji w zasobie FeatureView
jest określany za pomocą reguł zdefiniowanych w obiekcie JavaScriptu. Styl można ustawić podczas definiowania FeatureViewLayer
lub w dowolnym momencie później. System stylów umożliwia stosowanie ogólnych reguł stylów, które dotyczą dużych grup funkcji, oraz bardziej szczegółowych reguł dotyczących konkretnych funkcji. Styl funkcji może być zdefiniowany na podstawie wartości stałych lub danych na podstawie cech funkcji.
Obiekt style
Poniżej przedstawiono podstawową strukturę obiektu stylu. Istnieją 2 typy reguł: ogólne i szczegółowe. Reguły ogólne wpływają na wszystkie funkcje FeatureView
, a specyficzne – na podzbiór funkcji.
{
// Broad style rules.
opacity: …,
polygonFillColor: …,
// Specific style rules.
rules: [
{ … },
{ … }
]
};
Ogólne reguły
Aby zastosować właściwości stylu do wszystkich cech (lub cech określonego typu geometrii), określ właściwości stylu na najwyższym poziomie obiektu stylu.
{
opacity: 0.5,
pointShape: 'triangle',
lineWidth: 10,
polygonFillColor: 'green'
};
Konkretne reguły
Aby zastosować właściwości stylu do podzbioru funkcji, użyj pola rules
. Pole rules
akceptuje listę obiektów JavaScript, z których każdy ma obiekt filter
, który wybiera funkcje zgodnie z warunkami określonymi przez obiekt ee.Filter
, a następnie przez serię właściwości stylu. W przykładzie poniżej reguła ustawia wartości polygonStrokeWidth
i polygonFillColor
tylko wtedy, gdy wartość właściwości „REP_AREA” jest mniejsza niż 100. Reguły szczegółowe zastępują właściwości stylu reguł ogólnych, a reguły znajdujące się bliżej końca listy rules
zastępują te znajdujące się bliżej początku (reguły szczegółowe są oceniane od pierwszej do ostatniej).
{
rules: [
{
filter: ee.Filter.lt('REP_AREA', 100),
polygonStrokeWidth: 0.5,
polygonFillColor: 'blue'
},
{ … } // Optionally include additional rules.
]
};
Styl ustawień
Styl funkcji można ustawić podczas deklarowania FeatureViewLayer
lub w dowolnym momencie później.
FeatureViewLayer
deklaracja
Aby ustawić parametry wizualizacji podczas deklarowania elementu FeatureViewLayer
, użyj parametru 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);
Obecne FeatureViewLayer
Aby ustawić parametry wizualizacji dla istniejącego FeatureViewLayer
, użyj funkcji setVisParams
. Zastępuje ona wszystkie wcześniej określone reguły stylu. Nieokreślone właściwości są ustawiane domyślnie.
var layer = ui.Map.FeatureViewLayer('WCMC/WDPA/current/polygons_FeatureView');
Map.add(layer);
layer.setVisParams({
opacity: 0.5,
lineWidth: 10,
polygonFillColor: 'purple'
});
Symbology
W przypadku każdej właściwości stylu możesz określić regułę stylu stałego lub regułę stylu opartą na danych. Opcja oparta na danych używa wartości właściwości cech do określenia symbolizacji, która może być kategorialna lub interpolowana. Pełna lista właściwości stylu znajduje się w tabeli właściwości stylu.
Stała
Reguła stylu stałego składa się z właściwości stylu do ustawienia i jej wartości. W tym przykładzie kolor wypełnienia wielokąta jest ustawiony na niebieski.
var visParams = {
polygonFillColor: 'blue'
};
Kategorialna
Reguła stylu kategorycznego składa się z właściwości stylu do ustawienia i obiektu JavaScriptu z 3 właściwościami:
property
– nazwa właściwości funkcji, której wartość będzie miała wpływ na styl.categories
– lista list, które mapują wartości właściwości funkcji na motywy graficzne właściwości. Każda kategoria zawiera wartość właściwości, a za nią wartość symboliki, która ma zostać zastosowana. Wartość właściwości, która definiuje kategorię, musi być ciągiem znaków.defaultValue
– domyślna symbolika stosowana do obiektów, których wartość właściwości nie jest zdefiniowana w elementachcategories
. Jeśli jest ona pusta lub nieokreślona, zostaną zastosowane domyślne ustawienia stylu.
Na przykład obiekt poniżej ustawia właściwość stylu color
na podstawie właściwości funkcji „MARINE”. Cechy w kategorii „MARINE” o wartości „0” są ustawione na fioletowy, „1” na zielony, „2” na niebieski, a inne kategorie na biały.
var visParams = {
color: {
property: 'MARINE',
categories: [
['0', 'purple'],
['1', 'green'],
['2', 'blue']
],
defaultValue: 'white'
}
};
Interpolowane
Reguła stylu interpolowanego składa się z właściwości stylu do ustawienia i obiektu JavaScriptu z maksymalnie 5 właściwościami:
property
– nazwa właściwości funkcji, której wartość będzie miała wpływ na styl.mode
– tryb interpolacji:'linear'
lub'interval'
.palette
– lista kolorów, wartości krycia lub szerokości, na podstawie której mają być interpolowane wartości właściwości wejściowych. Format zależy odmode
. Więcej informacji znajdziesz w sekcji Prostoliniowy i Interwał.
Dotyczy tylko trybu 'linear'
min
– wartość właściwości do zmapowania na pierwszy element na liściepalette
.max
– wartość właściwości do zmapowania na ostatni element na liściepalette
.
Liniowa
Tryb interpolacji liniowej ustawia właściwości stylów cech, mapując wartości wejściowe z zakresu min
do max
w sposób liniowy na podstawie listy wartości symboliki zdefiniowanej w właściwości palette
. Wartości wejściowe są ograniczane do zakresu określonego przez parametry min
i max
.
Na przykład obiekt poniżej ustawia właściwość stylu color
na podstawie właściwości funkcji „REP_AREA”. Właściwość palette
to lista kolorów wskazująca, że wartości wejściowe z zakresu min
–max
powinny zmieniać się liniowo od żółtego przez czerwony do niebieskiego. Wartość od 1 do 500 jest interpolowana między żółtym a czerwonym, a wartość od 500 do 1000 jest interpolowana między czerwonym a niebieskim.
var visParams = {
color: {
property: 'REP_AREA',
mode: 'linear',
palette: ['yellow', 'red', 'blue'],
min: 1,
max: 1000
}
};
Interwał
Tryb interpolacji interwałowej ustawia właściwość stylu obiektu przez mapowanie wartości wejściowych na punkty przecięcia klas, a następnie zastosowanie symboliki specyficznej dla klasy. Wartości wejściowe z wybranej właściwości funkcji są przypisywane do wartości przedziału klasy z najbliższą wartością, zaokrąglając w dół. Właściwość palette
jest sformatowana jako lista list, z których każda zawiera wartość przerwy klasy, a za nią wartość właściwości stylu. Funkcje, których wartość właściwości jest mniejsza niż minimalna wartość przerwy klasy, zachowują domyślne ustawienie właściwości stylu.
W tym przykładzie przezroczystość wypełniania funkcji jest ustawiana zgodnie z klasami stopniowanymi właściwości „REP_AREA”. Definicja klasy i symbolika stylu są podane w właściwości palette
jako lista list. Wskazuje to, że powinny być 4 klasy z przerwami przy wartościach 0, 80, 2000 i 5000, z odpowiednimi wartościami zaciemnienia cech wynoszącymi 0,5, 0,35, 0,22 i 0,15. Innymi słowy, obiekty o wartościach „REP_AREA” w zakresie $ 0 \le x < 80 $ będą miały wypełnienie o przezieralnośc 0,5, wartości w zakresie $ 80 \le x < 2000 $ będą miały wypełnienie o przezieralnośc 0,35 itd.
var visParams = {
fillOpacity: {
property: 'REP_AREA',
mode: 'interval',
palette: [
[0, 0.5],
[80, 0.35],
[2000, 0.22],
[5000, 0.15]
]
}
};
Wszystkie właściwości stylu
Poniżej znajdziesz wszystkie właściwości stylu, które możesz określić w obiekcie stylu.
Ustawienie właściwości stylu dla określonych typów geometrii zastąpi odpowiadające właściwości stylu ustawione dla opcji „Wszystkie geometrie” (np. ustawienie polygonFillColor
zastąpi wartość ustawioną w fillColor
).
Właściwość | Typ | Opis | Obsługuje regułę interpolowaną |
---|---|---|---|
Wszystkie geometrie | |||
isVisible |
Boolean |
Określa, czy funkcja ma być widoczna. | Nie |
color |
String |
Ustawia kolor wypełnienia lub obrysu dla wszystkich typów geometrii. Musi być wartością heksadesimalną lub kolorem w standardzie CSS3. | Tak |
opacity |
Double |
Ustawia przezroczystość wypełnienia lub obrysu dla wszystkich typów geometrii. Musi być liczbą zmiennoprzecinkową z zakresu od 0 do 1. | Tak |
width |
Double |
Ustawia szerokość obrysu dla wszystkich typów geometrii. | Tak |
fillColor |
String |
Ustawia kolor wypełnienia dla wszystkich typów geometrii. Musi być wartością heksadesimalną lub kolorem w standardzie CSS3. | Tak |
Geometria punktu | |||
pointShape |
String |
Ustawia kształt geometrii punktowych. Obsługuje te same kształty co ee.FeatureCollection.style (koło, kwadrat, diament, krzyż, plus, pentagram, heksagram, trójkąt, trójkąt_góra, trójkąt_dół, trójkąt_lewo, trójkąt_prawo, pięciokąt, sześciokąt, gwiazda5, gwiazda6). |
Nie |
pointSize |
Double |
Ustawia szerokość geometrii punktów (w pikselach). | Tak |
pointFillColor |
String |
Ustawia kolor wypełnienia geometrii punktu. Musi być wartością heksadesimalną lub kolorem w standardzie CSS3. | Tak |
pointFillOpacity |
Double |
Ustawia przezroczystość wypełnienia dla geometrii punktów. Musi być liczbą zmiennoprzecinkową z zakresu od 0 do 1. | Tak |
Geometria linii | |||
lineType |
String |
Ustawia typ linii. Obsługuje te same typy co ee.FeatureCollection.style (ciągłe, przerywane, punktowane). |
Nie |
lineWidth |
Double |
Ustawia szerokość linii (w pikselach). | Tak |
lineColor |
String |
Ustawia kolory geometrii linii. Musi być wartością heksadesimalną lub kolorem w standardzie CSS3. | Tak |
lineOpacity |
Double |
Ustawia przezroczystość geometrii linii. Musi być liczbą zmiennoprzecinkową z zakresu od 0 do 1. | Tak |
Geometria wielokąta | |||
polygonStrokeWidth |
Double |
Ustawia szerokość obrysu wielokątów (w pikselach). | Tak |
polygonStrokeType |
String |
Ustawia typ linii dla wielokątów. Obsługuje te same typy co ee.FeatureCollection.style (ciągłe, przerywane, punktowane). |
Nie |
polygonStrokeColor |
String |
Ustawia kolor obrysu dla geometrii wielokątów. Musi być wartością heksadesimalną lub kolorem w standardzie CSS3. | Tak |
polygonStrokeOpacity |
Double |
Ustawia krycie obrysu dla geometrii wielokątów. Musi być liczbą zmiennoprzecinkową z zakresu od 0 do 1. | Tak |
polygonFillColor |
String |
Ustawia kolor wypełnienia dla geometrii wielokątów. Musi być wartością heksadesimalną lub kolorem w standardzie CSS3. | Tak |
polygonFillOpacity |
Double |
Ustawia przezroczystość wypełnienia dla geometrii wielokątów. Musi być liczbą zmiennoprzecinkową z zakresu od 0 do 1. | Tak |