Gaya fitur dalam aset FeatureView
ditentukan menggunakan aturan yang ditentukan dalam objek JavaScript. Gaya dapat ditetapkan selama definisi awal
FeatureViewLayer
atau kapan saja setelahnya. Sistem gaya visual memungkinkan Anda menetapkan
aturan gaya luas yang berlaku untuk grup fitur besar, serta aturan
yang lebih spesifik untuk fitur tertentu. Gaya fitur dapat ditentukan oleh nilai konstan atau data, berdasarkan karakteristik fitur.
Objek gaya
Struktur dasar objek gaya ditampilkan di bawah. Ada dua jenis
aturan: aturan luas dan aturan spesifik. Aturan luas memengaruhi semua fitur dalam aset FeatureView
, sedangkan aturan tertentu memengaruhi sebagian fitur.
{
// Broad style rules.
opacity: …,
polygonFillColor: …,
// Specific style rules.
rules: [
{ … },
{ … }
]
};
Aturan luas
Untuk menerapkan properti gaya ke semua fitur (atau fitur dari jenis geometri tertentu), tentukan properti gaya di tingkat teratas dalam objek gaya.
{
opacity: 0.5,
pointShape: 'triangle',
lineWidth: 10,
polygonFillColor: 'green'
};
Aturan spesifik
Untuk menerapkan properti gaya ke sebagian fitur, gunakan kolom rules
. Kolom
rules
menerima daftar objek JavaScript, masing-masing dengan filter
yang
memilih fitur sesuai dengan kondisi yang ditentukan oleh objek ee.Filter
,
diikuti dengan serangkaian properti gaya. Dalam contoh di bawah,
ada aturan yang menetapkan polygonStrokeWidth
dan polygonFillColor
hanya jika
properti "REP_AREA" kurang dari 100. Aturan tertentu akan mengganti properti gaya
dari aturan luas, dan aturan di dekat akhir daftar rules
akan mengganti aturan di dekat awal (aturan tertentu dievaluasi dari yang pertama hingga yang terakhir).
{
rules: [
{
filter: ee.Filter.lt('REP_AREA', 100),
polygonStrokeWidth: 0.5,
polygonFillColor: 'blue'
},
{ … } // Optionally include additional rules.
]
};
Gaya setelan
Gaya fitur dapat ditetapkan saat FeatureViewLayer
dideklarasikan atau kapan saja setelahnya.
Pernyataan FeatureViewLayer
Untuk menetapkan parameter visualisasi saat mendeklarasikan FeatureViewLayer
,
gunakan parameter 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
yang Ada
Untuk menetapkan parameter visualisasi untuk FeatureViewLayer
yang ada, gunakan fungsi setVisParams
. Aturan ini akan menggantikan aturan gaya yang ditentukan sebelumnya; properti yang tidak ditentukan akan ditetapkan ke defaultnya.
var layer = ui.Map.FeatureViewLayer('WCMC/WDPA/current/polygons_FeatureView');
Map.add(layer);
layer.setVisParams({
opacity: 0.5,
lineWidth: 10,
polygonFillColor: 'purple'
});
Simbologi
Untuk setiap properti gaya, Anda dapat menentukan aturan gaya konstan atau aturan gaya berbasis data. Opsi berbasis data menggunakan nilai properti fitur untuk menentukan simbolisasi, yang dapat berupa kategoris atau diinterpolasi. Untuk daftar lengkap properti gaya, lihat tabel properti gaya.
Konstanta
Aturan gaya konstan terdiri dari properti gaya yang akan ditetapkan dan nilainya. Contoh berikut menetapkan warna isian poligon ke biru.
var visParams = {
polygonFillColor: 'blue'
};
Kategoris
Aturan gaya kategoris terdiri dari properti gaya yang akan ditetapkan dan objek JavaScript dengan tiga properti:
property
— nama properti fitur yang nilainya akan memengaruhi gaya.categories
— daftar daftar yang memetakan nilai properti fitur ke simbolografi properti gaya. Setiap kategori menyertakan nilai properti, diikuti dengan nilai simbolografi yang akan diterapkan. Nilai properti yang menentukan kategori harus berupa string.defaultValue
— simbol default yang akan diterapkan ke fitur yang nilai propertinya tidak ditentukan dicategories
. Jika null/tidak ditentukan, setelan gaya default akan diterapkan.
Misalnya, objek berikut menetapkan properti gaya color
berdasarkan properti fitur "MARINE". Fitur dalam kategori "MARINE" "0" ditetapkan sebagai ungu,
"1" sebagai hijau, "2" sebagai biru, dan kategori lainnya sebagai putih.
var visParams = {
color: {
property: 'MARINE',
categories: [
['0', 'purple'],
['1', 'green'],
['2', 'blue']
],
defaultValue: 'white'
}
};
Diinterpolasi
Aturan gaya yang diinterpolasi terdiri dari properti gaya yang akan ditetapkan dan objek JavaScript dengan maksimal lima properti:
property
— nama properti fitur yang nilainya akan memengaruhi gaya.mode
— mode interpolasi,'linear'
atau'interval'
.palette
— daftar warna, opasitas, atau lebar untuk melakukan interpolasi nilai properti input. Formatnya bergantung padamode
, lihat bagian Linear dan Interval untuk mengetahui detail selengkapnya.
Hanya berlaku untuk mode 'linear'
min
— nilai properti yang akan dipetakan ke elemen pertama dalam daftarpalette
.max
— nilai properti yang akan dipetakan ke elemen terakhir dalam daftarpalette
.
Linear
Mode interpolasi linear menetapkan properti gaya fitur dengan memetakan nilai input dalam rentang min
hingga max
secara linear di antara daftar nilai simbol yang ditentukan dalam properti palette
. Nilai input dikunci ke rentang yang ditetapkan oleh
min
dan max
.
Misalnya, objek berikut menetapkan properti gaya color
berdasarkan properti fitur "REP_AREA". Properti palette
adalah daftar warna
yang menunjukkan bahwa nilai input antara min
dan max
harus diberi nilai secara linear
dari kuning ke merah ke biru. Nilai antara 1 dan 500 diinterpolasi
antara kuning dan merah, dan nilai antara 500 dan 1000 diinterpolasi antara
merah dan biru.
var visParams = {
color: {
property: 'REP_AREA',
mode: 'linear',
palette: ['yellow', 'red', 'blue'],
min: 1,
max: 1000
}
};
Interval
Mode interpolasi interval menetapkan properti gaya fitur dengan memetakan nilai input ke jeda class, lalu menerapkan simbol khusus class. Nilai input dari properti fitur yang dipilih ditetapkan ke nilai jeda class terdekat dengan pembulatan ke bawah. Properti palette
diformat sebagai daftar
daftar, dengan setiap daftar dalam berisi nilai jeda class, diikuti dengan nilai properti
gaya. Fitur yang nilai propertinya kurang dari
nilai jeda kelas minimum akan mempertahankan setelan properti gaya defaultnya.
Pada contoh berikut, opasitas isi fitur ditetapkan sesuai dengan
class bergradasi dari properti "REP_AREA". Definisi class dan simbolisme gaya
disediakan di properti palette
sebagai daftar daftar. Ini
menunjukkan bahwa harus ada 4 class dengan jeda pada nilai 0, 80, 2.000, dan
5.000, dengan opasitas fitur masing-masing 0,5, 0,35, 0,22, dan 0,15. Dengan kata lain, fitur dengan nilai "REP_AREA" dalam interval $ 0 \le x < 80 $ akan memiliki opasitas isi 0,5, nilai dalam interval $ 80 \le x < 2000 $ akan memiliki opasitas isi 0,35, dan seterusnya.
var visParams = {
fillOpacity: {
property: 'REP_AREA',
mode: 'interval',
palette: [
[0, 0.5],
[80, 0.35],
[2000, 0.22],
[5000, 0.15]
]
}
};
Semua properti gaya
Berikut adalah semua properti gaya yang dapat Anda tentukan dalam objek gaya.
Menetapkan properti gaya untuk jenis geometri tertentu akan mengganti properti gaya yang sesuai yang ditetapkan untuk "Semua geometri" (misalnya, menetapkan polygonFillColor
akan mengganti nilai yang ditetapkan di fillColor
).
Properti | Jenis | Deskripsi | Mendukung Aturan yang Diinterpolasi |
---|---|---|---|
Semua geometri | |||
isVisible |
Boolean |
Menetapkan apakah fitur terlihat. | Tidak |
color |
String |
Menetapkan warna isi/goresan untuk semua jenis geometri. Harus berupa nilai hex atau warna CSS3. | Ya |
opacity |
Double |
Menetapkan opasitas isi/goresan untuk semua jenis geometri. Harus berupa bilangan ganda antara 0 dan 1. | Ya |
width |
Double |
Menetapkan lebar goresan untuk semua jenis geometri. | Ya |
fillColor |
String |
Menetapkan warna isi untuk semua jenis geometri. Harus berupa nilai hex atau warna CSS3. | Ya |
Geometri titik | |||
pointShape |
String |
Menetapkan bentuk geometri titik. Mendukung
bentuk yang sama dengan ee.FeatureCollection.style (lingkaran, persegi, berlian, salib, plus, pentagram, hexagram, segitiga, segitiga_atas, segitiga_bawah, segitiga_kiri, segitiga_kanan, segilima, segienam, bintang5, bintang6). |
Tidak |
pointSize |
Double |
Menetapkan lebar geometri titik (dalam px). | Ya |
pointFillColor |
String |
Menetapkan warna isi untuk geometri titik. Harus berupa nilai hex atau warna CSS3. | Ya |
pointFillOpacity |
Double |
Menetapkan opasitas isian untuk geometri titik. Harus berupa bilangan ganda antara 0 dan 1. | Ya |
Geometri garis | |||
lineType |
String |
Menetapkan jenis garis. Mendukung jenis yang sama seperti
ee.FeatureCollection.style (solid, putus-putus, bertitik). |
Tidak |
lineWidth |
Double |
Menetapkan lebar garis (dalam px). | Ya |
lineColor |
String |
Menetapkan warna untuk geometri garis. Harus berupa nilai hex atau warna CSS3. | Ya |
lineOpacity |
Double |
Menetapkan opasitas untuk geometri garis. Harus berupa bilangan ganda antara 0 dan 1. | Ya |
Geometri poligon | |||
polygonStrokeWidth |
Double |
Menetapkan lebar goresan poligon (dalam px). | Ya |
polygonStrokeType |
String |
Menetapkan jenis garis untuk poligon. Mendukung jenis yang sama seperti
ee.FeatureCollection.style (solid, putus-putus, bertitik). |
Tidak |
polygonStrokeColor |
String |
Menetapkan warna goresan untuk geometri poligon. Harus berupa nilai hex atau warna CSS3. | Ya |
polygonStrokeOpacity |
Double |
Menetapkan opasitas goresan untuk geometri poligon. Harus berupa bilangan ganda antara 0 dan 1. | Ya |
polygonFillColor |
String |
Menetapkan warna pengisi untuk geometri poligon. Harus berupa nilai hex atau warna CSS3. | Ya |
polygonFillOpacity |
Double |
Menetapkan opasitas isian untuk geometri poligon. Harus berupa bilangan ganda antara 0 dan 1. | Ya |