Gaya Visual FeatureView

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 di categories. 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 pada mode, lihat bagian Linear dan Interval untuk mengetahui detail selengkapnya.

Hanya berlaku untuk mode 'linear'

  • min — nilai properti yang akan dipetakan ke elemen pertama dalam daftar palette.
  • max — nilai properti yang akan dipetakan ke elemen terakhir dalam daftar palette.

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