Anda di halaman 1dari 57

Universitas Brawijaya

Fakultas Perikanan dan Ilmu Kelautan

MODUL PEMBELAJARAN
GOOGLE EARTH ENGINE UNTUK ILMU KELAUTAN
Seftiawan Samsu Rijal (NDH 20)
Peserta Latsar CPNS golongan III tahun 2020
Puslatbang KMP LAN - Makassar

Unit kerja:
Program studi Ilmu Kelautan
Jurusan Pemanfaatan Sumberdaya Perikanan dan Kelautan
Fakultas Perikanan dan Ilmu Kelautan
Universitas Brawijaya
seftiawan.sr@ub.ac.id

Kata Pengantar
Kemajuan teknologi telah membawa peradaban menuju era 4.0
dimana hampir seluruh sendi kehidupan kini telah diliputi oleh internet
(internet of things). Tidak terkecuali dengan perkembangan keilmuan
terkait eksplorasi laut dan pengolahan citra penginderaan jauh yang
menjadi sangat maju berkat adanya hal tersebut. Basis pengolahan citra
kini dapat tidak lagi dilakukan secara konvensional pada komputer
(desktop) melainkan dilakukan pada komputasi awan (cloud) yang aksesibel
dan bersifat kolaboratif antar pembuat/pengguna peta.
Modul Google Earth Engine (GEE) ini berisi penjelasan mengenai cara
memulai dan menggunakan GEE untuk berbagai kajian ilmu kelautan. GEE
adalah salah satu platform pengolah data spasial berbasis cloud yang kini
kegunaannya mulai dilirik oleh berbagai kalangan untuk melakukan kerja
profesional. Pemahaman mengenai GEE diperlukan sebagai amunisi
tambahan bagi mahasiswa program studi Ilmu Kelautan FPIK Universitas
Brawijaya khususnya agar mampu ikut bersaing di dunia kerja.
Penulis berharap modul ini dapat berguna bagi perkembangan
kompetensi mahasiswa dan program studi Ilmu Kelautan. Terlebih, pada
masa pandemi ini kita terbatas dalam melakukan aktivitas namun dituntut
agar tetap produktif menjalankan tridharma perguruan tinggi. Semoga
dengan dukungan platform semacam ini dapat membuat kita selalu
semangat untuk berkontribusi pada ilmu pengetahuan. Masukan dan saran
terhadap pengembangan modul akan penulis terima dengan lapang dada.

Malang, Juli 2020

Seftiawan Samsu Rijal

2
seftiawan.sr@ub.ac.id

==================================================================

Daftar Isi

Kata Pengantar 2

01 Memulai Google Earth Engine 4


1.1. Login dan Signup 4
1.2. Pengenalan JavaScript 7
1.3. Cara memilih citra penginderaan jauh 10
1.4. Cara memilih data DEM dan menentukan Region of Interest (ROI) 12
1.5. Fungsi ekspor dan impor pada GEE 14
1.6. Melihat Dataset pada GEE 17

02 Aplikasi GEE Pada Ilmu Kelautan 19


2.1. Klasifikasi multispektral 19
2.2. Uji akurasi hasil klasifikasi multispektral 22
2.3. Layout 23
2.4. Normalized Difference Vegetation Index (NDVI) 26
2.5. Normalized Difference Water Index (NDWI) 30
2.6. Sea Surface Temperature (SST) dan Chlorophyll-a 33
2.7. Salinitas 36
2.8. Marikultur Ikan Kerapu 38
2.9. Sentinel 1A untuk Memantau Kapal 46
2.10. Ocean Colour SMI: MODIS Aqua 49
2.11. Zona Intertidal 50
2.12. Mangrove 52
2.13. Global Fishing and Vessel Watch 54
Referensi untuk mendapatkan source code 56

03 Latihan Membuat dan Memodifikasi Script 57


==================================================================

3
seftiawan.sr@ub.ac.id

01 Memulai Google Earth Engine


1.1. Login dan Signup
Google Earth Engine (GEE) adalah platform pengolahan citra digital
berbasis komputasi awan (cloud) yang memudahkan penggunanya untuk
mengolah citra digital tanpa harus mengunduhnya terlebih dahulu. Seluruh
proses olah citra dilakukan secara daring. GEE tidak memerlukan memori
komputer yang besar dan spesifikasi laptop/PC yang tinggi. Kestabilan
koneksi internet adalah kebutuhan utamanya. Agar dapat memulai GEE,
langkah berikut dapat dilakukan:
1. Kunjungi https://earthengine.google.com/
2. Klik sign up pada pojok kanan atas tampilan web

3. Isi form yang bertanda bintang. Pada bagian yang diberi tanda panah,
isi dengan minimal 50 karakter. Berikut contoh isian yang dapat anda
tulis di dalamnya: I want to use Google Earth Engine to do a remote
sensing satellite imagery processing

4
seftiawan.sr@ub.ac.id

4. Pada bagian ini, anda hanya perlu mencentang pilihan ‘I agree that
my use of the Earth Engine …’ dan TIDAK perlu mencentang pilihan ‘I
am interested in …’ Kemudian klik pilihan I’m not a robot’, kemudian
Submit,

5. Apabila anda telah memilih Submit, selanjutnya ada pilihan Keep


Exploring, klik pilihan tersebut maka anda akan kembali ke jendela
seperti tampak pada gambar 2. Pada jendela tersebut anda dapat
memilih Platform kemudian pilih Code Editor,

5
seftiawan.sr@ub.ac.id

6. Pada jendela code editor, anda akan melihat tampilan berikut beserta
penjelasannya,

Selamat! Anda telah berhasil masuk ke dalam jendela pemrosesan


citra penginderaan jauh pada GEE. Pada jendela tersebut seluruh proses
mulai pemanggilan citra yang terdapat di dalam basis data GEE hingga
proses ekspor hasil akan dilakukan. Apabila anda telah masuk ke dalam
jendela tersebut, artinya anda telah siap untuk memulai pengolahan citra
penginderaan jauh untuk kajian kelautan. Silahkan melihat bab selanjutnya
untuk memulai proses pembelajaran ini.

6
seftiawan.sr@ub.ac.id

1.2. Pengenalan JavaScript


Perlu diketahui bahwa pemrosesan citra penginderaan jauh pada GEE
sepenuhnya dilakukan menggunakan JavaScript. Anda diwajibkan untuk
berkenalan dengan JavaScript agar semakin familiar dengan bahasa
pemrograman tersebut. JavaScript bersifat case sensitive, artinya kapital
atau tidaknya huruf ketika ia ditulis akan dikenali sebagai sebuah perintah
yang berbeda. Pada masa awal pembelajaran GEE, cukup penting untuk
menumbuhkan sensitivitas terhadap hal ini agar memudahkan pekerjaan
selanjutnya.
Code editor dapat mulai ditulis dengan pendeklarasian variabel
terlebih dahulu. Penulisan variabel berfungsi untuk menghindari terjadinya
error atau pesan yang bersifat undefined. Variabel dapat ditulis dengan
sintaks var (var …) serta dapat dipakai untuk pendeklarasian yang bersifat
lokal atau global. Contohnya sebagai berikut:

Terdapat beberapa penanda dalam JavaScript yang akan digunakan


dalam modul ini yaitu:
1. Dua garis miring (// …) artinya komentar. Apabila terdapat kalimat
yang diawali oleh dua garis miring, maka kalimat tersebut tidak akan
diproses sebagai perintah, sebab ia hanya akan dikenali oleh
JavaScript sebagai komentar,
2. Titik koma atau semicolon ( … ;) artinya akhir perintah. Setiap perintah
sebaiknya diakhiri dengan titik koma. Hal ini sebagai penanda bahwa
perintah telah berakhir dan siap dieksekusi. Apabila perintah yang kita
buat belum ditutup dengan titik koma, umumnya akan ada
peringatan dari sistem untuk menutupnya,

7
seftiawan.sr@ub.ac.id

3. Petik satu atau petik dua yang terletak sebelum dan setelah perintah
(‘ … ‘ atau “ … “), hal ini menandakan tipe data berupa string atau teks,
4. print ( … ), perintah ini digunakan saat kita akan memerintahkan
sistem untuk menampilkan properti data atau hasil yang kita peroleh
pada tab console,
5. Kurung siku ( [ … ] ), digunakan untuk menampilkan properti
data/hasil pada tab console dalam bentuk list atau daftar menurun,
6. Kurung kurawal ( { … } ), digunakan untuk menampilkan list dalam list
pada tab console,
7. Function, digunakan untuk menampilkan perintah yang disertai
dengan parameter. Parameter ditandai dengan kurung buka dan
kurung tutup ( … ) sementara perintah ditandai dengan kurung
kurawal { … } yang diletakkan di dalam parameter kurung buka dan
kurung tutup. Contohnya adalah sebagai berikut:

var myFunction = function(input,{ … },’input’);


secara penerapan, dapat dicontohkan berikut ini:
Map.addLayer(elevation,{min: 0, max:1000},’elevation’)

Code diatas dapat dibaca seperti ini: masukkan layer pada peta, yaitu
layer elevasi dan atur rentang ketinggiannya mulai 0 hingga 1000
mdpl, kemudian hasilnya beri nama dengan Elevation. Code ini biasa
digunakan untuk menampilkan data/hasil pada layar.

Nah, sekarang anda telah mengetahui 7 penanda yang digunakan


dalam JavaScript pada GEE. Agar semakin terbiasa dengan JavaScript
lakukan latihan berikut. Caranya sangat mudah, silahkan copy paste
script/code 1 dibawah ini pada code editor GEE kemudian klik Run dan lihat
hasilnya.

8
seftiawan.sr@ub.ac.id

Source code 1. Pengenalan JavaScript


//Salam pembuka
var salam = 'hello world';
print(salam);

//Angka
var nomor = 99;
print(nomor);

//List
var myList = ['GEE', salam, nomor];
print(myList);

//Dictionary
var myDict = {'a': nomor, 'b': myList, 'c': 1, 'd': 'abc'};
print(myDict);

Bagaimana hasilnya? Mudah bukan? Selamat! anda telah berhasil


menulis script pertama anda pada GEE!. Sekarang saatnya berlatih
membuat script anda sendiri.
Ganti nilai dari setiap variabel sesuai keinginan anda dan klik Run.
Lihat apa yang terjadi kemudian lakukan evaluasi. Dapatkah anda
menjelaskannya kepada dosen/asisten?!

9
seftiawan.sr@ub.ac.id

1.3. Cara memilih citra penginderaan jauh


Terdapat 7 petabyte data citra di dalam GEE. Kita dapat memilihnya
sesuai kebutuhan belajar / penelitian yang akan dilakukan. Cobalah script 2
dibawah ini untuk memilih citra, komposit dan waktu perekaman citra.

Source code 2. Memilih citra, komposit dan waktu perekaman


// Ambil koleksi citra Landsat 8
var L8 = ee.ImageCollection("LANDSAT/LC08/C01/T1_TOA");

// Zoom ke Sulawesi
Map.setCenter(120.0928, -4.2466, 8);

//Filter data sesuai tanggal yang diinginkan


var filtered = L8.filterDate('2019-01-01', '2019-12-31');

//Tampilkan dalam peta


Map.addLayer(filtered);

// Tampilkan dengan kombinasi band


Map.addLayer(filtered, {min: 0, max :0.5, bands:['B6', 'B5',
'B4']}, 'False Colour');

Apakah anda berhasil menerapkannya? Bagaimana jika nilai atau


variabel diatas diganti? Apa yang terjadi?
Script diatas berisi tentang perintah untuk memuat koleksi citra
Landsat 8 dengan level pemrosesan TOA (Top of Atmosphere). Selanjutnya,
kita memerintahkan agar citra yang ditampilkan tersebut berada di wilayah
Sulawesi dengan koordinat titik tengah seperti yang tertulis diatas
(120.0928, -4.2466). Kemudian kita menentukan agar citra yang tampil
berkisar pada rentang tanggal 1 Januari 2019 hingga 31 Desember 2019.
Terakhir, kita tampilkan citra pada komposit warna semu (654). Hasilnya
seperti dibawah ini.

10
seftiawan.sr@ub.ac.id

Gambar 1. Menampilkan citra, komposit dan waktu perekaman

UJI COBA
1. Ubah parameter/nilai pada source code 2 sesuai keinginan anda
masing - masing,
2. Evaluasi perubahan yang terjadi pada tampilan peta milik anda,
3. Deskripsikan perubahan yang terjadi pada form berikut:
https://s.id/ujicoba_GEE

11
seftiawan.sr@ub.ac.id

1.4. Cara memilih data DEM dan menentukan Region of Interest (ROI)
Terdapat beberapa data Digital Elevation Model (DEM) pada GEE
contohnya Shuttle Radar Topographic Mission (SRTM), ALOS DSM,
GTOPO30, GMTED2010, ETOPO1 dan lainnya. Namun, tidak semua data DEM
tersebut meliputi wilayah laut dan ada pula yang hanya terbatas pada
area/negara tertentu. Oleh karena itu, kita hanya akan mempraktekkan
penggunaan DEM ETOPO1 yang cakupannya global dan memiliki data DEM
wilayah laut serta daratan. Berikut ini script 3 untuk menampilkan DEM
ETOPO1.

Source code 3. Menampilkan DEM ETOPO1


//Panggil data ETOPO1
var dataset = ee.Image('NOAA/NGDC/ETOPO1');

//Pilih band yang terdapat pada ETOPO1 untuk menampilkan


ketinggian
var elevation = dataset.select('bedrock');

//Atur warna elevasi


var elevationVis = {
min: -7000.0,
max: 4000.0,
palette: ['011de2', 'afafaf', '3603ff', 'fff477', 'b42109'],
};

//Zoom ke wilayah kajian


Map.centerObject(roi, 5);

//Tampilkan data pada peta


Map.addLayer(elevation, elevationVis, 'Elevation');

Setelah anda menyalin script diatas dan melakukan klik run pada
code editor, kemungkinan masih terdapat kegagalan proses yang ditandai
dengan notifikasi merah pada console. Hal ini terjadi karena anda belum
menentukan Region of Interest (ROI) pada area kajian anda. Agar dapat
menentukan ROI ikuti langkah dibawah ini.

12
seftiawan.sr@ub.ac.id

Langkah membuat ROI


1. Pilih Add a marker
2. Taruh pin point pada area kajian anda
3. Ubah nama ‘geometry’ pada bagian Import menjadi ‘roi’ seperti
dibawah ini,

4. Kemudian klik run dan lihatlah hasilnya

UJI COBA
1. Ubahlah angka pada perintah pengaturan minimum dan maximum
yang terdapat pada script 3 bagian //atur warna elevasi,
2. Ubahlah letak roi, letakkan dimanapun sesuai keinginan anda,
3. Ubah angka 5 dengan angka berapapun dalam rentang antara 1 - 24
pada perintah Map.centerObject (roi, 5);
4. Evaluasi dan deskripsikan hasil nomor 1 - 3 pada form berikut:
https://s.id/ujicoba_GEE

13
seftiawan.sr@ub.ac.id

1.5. Fungsi ekspor dan impor pada GEE


GEE dilengkapi kemampuan untuk ekspor hasil pengolahan citra,
memasukkan data yang kita miliki dalam bentuk shapefile (*.shp) atau citra
lainnya serta membuat tautan dari script yang kita buat agar dapat
digunakan secara kolaborasi dengan orang lain. Penjelasan dari setiap
kemampuan adalah sebagai berikut.

Ekspor Hasil
Ekspor hasil GEE dapat dilakukan menjadi beberapa macam seperti
TIFF, shp, kml, dan juga video. Selain itu, kita dapat mengatur
penyimpanannya baik pada Google Drive, Asset atau Cloud Storage.
Dibawah ini adalah contoh script untuk menyimpan hasil GEE.

Source code 4. Ekspor hasil ke Google Drive


// Export the result to Google Drive
Export.image.toDrive({
image:sr,
description:'L8_sr_semarang',
folder:'GEE',
scale:30,
region: bbox,
maxPixels:1e12
});

Pada script tersebut, hasil pemrosesan GEE akan disimpan ke dalam


Google Drive sesuai dengan akun email yang kita gunakan. Nama image
harus kita sesuaikan dengan nama file yang akan kita simpan demikian
pula dengan description. Perintah folder akan memerintahkan Google Drive
kita membuat sebuah folder untuk menyimpan hasil pemrosesan yang
diekspor. Besaran nilai scale disesuaikan dengan resolusi spasial citra yang
digunakan. Sementara itu, region adalah batas ekspor citra, sebagai
batasan, kita dapat menggunakan shapefile yang diunggah melalui Asset
atau geometri yang kita buat langsung pada tampilan peta. MaxPixels
untuk membatasi besaran nilai citra agar terekspor sesuai dengan batasan
yang kita tetapkan.

14
seftiawan.sr@ub.ac.id

Import data
GEE dapat menerima data yang dimiliki oleh user, atau hal ini
dinamakan impor data. Proses impor data dilakukan melalui tab Assets.
Pada tab tersebut, kita dapat mengunggah file dengan ekstensi *.shp,
*.GeoTIFF dan *.csv. Berikut ini tampilan dari tab Assets.

Share script / data pada GEE


GEE dapat melakukan sharing script sehingga pembuat/pengguna
GEE yang lain dapat mengoreksi/menggunakan script yang sama untuk
melakukan pemetaan yang serupa pada area yang berbeda. Caranya adalah
dengan memilih Get Link kemudian pilih Copy dan kita telah dapat
membagikannya kepada orang lain. Contohnya dibawah ini.

15
seftiawan.sr@ub.ac.id

Selain membagikan script yang telah kita buat pada Code Editor, kita
juga dapat membagikan data yang telah kita unggah pada Asset. Caranya
adalah klik tab Asset, pilih Share, centang pilihan Anyone can read
kemudian pilih Done. Maka script dari data pada Asset kita dapat dibagikan
kepada orang lain. Berikut ini adalah gambarnya.

16
seftiawan.sr@ub.ac.id

1.6. Melihat Dataset pada GEE


GEE terdiri atas 7 petabytes data citra yang dapat digunakan untuk
mengekstrak berbagai macam informasi. Agar kita mengetahui dataset apa
saja yang terdapat pada GEE, kita dapat mengecek ketersedian citra pada
GEE dapat melalui langkah berikut.
1. Pilih Dataset pada tampilan awal Google Earth Engine

2. Maka kita akan masuk ke dalam Earth Engine Data Catalog

17
seftiawan.sr@ub.ac.id

3. Pada Earth Engine Data Catalog, lakukan browsing atau search data
citra sesuai kebutuhan anda. Selain itu, pada tampilan Earth Engine
Data Catalog, kita juga dapat mengecek API Doc yang berisi informasi
dan petunjuk dalam pemrosesan citra pada GEE. Berikut ini adalah
contoh tampilan apabila kita memilih View All Dataset.

18
seftiawan.sr@ub.ac.id

02 Aplikasi GEE Pada Ilmu Kelautan


2.1. Klasifikasi multispektral
1. Salin script dibawah ini
var image =
ee.Image(ee.ImageCollection('LANDSAT/LC08/C01/T1_SR')
.filterBounds(roi)
.filterDate('2019-05-01', '2019-06-30')
.sort('CLOUD_COVER')
.first());
Map.centerObject(roi,12);
Map.addLayer(image, {bands: ['B4', 'B3', 'B2'],min:0,
max: 3000, gamma:1.5}, 'True colour image');

var kelas =
Bangunan.merge(Air).merge(Sawah).merge(Vegetasi);
print(kelas);

var bands = ['B2', 'B3', 'B4', 'B5', 'B6', 'B7'];


var training = image.select(bands).sampleRegions({
collection: kelas,
properties: ['tuplah'],
scale: 30
});
print(training);

var klasifikasi = ee.Classifier.randomForest().train({


features: training,
classProperty: 'tuplah',
inputProperties: bands
});

19
seftiawan.sr@ub.ac.id

//Run the classification


var classified =
image.select(bands).classify(klasifikasi);

//Display classification
Map.centerObject(roi,12);
Map.addLayer(classified,
{min: 0, max: 3, palette: ['red', 'blue',
'yellow','green']},
'klasifikasi');
2. Tentukan letak ROI. Pada modul ini, ROI berada di Kota Semarang
3. Buatlah sampel untuk penentuan kelas klasifikasi

4. Pada modul ini, ditentukan kelas klasifikasi sebanyak 4 kelas yaitu


Bangunan, Air, Sawah dan Vegetasi. Carilah sampel sebanyak minimal
30 titik untuk masing - masing kelas,
5. Buka tab Geometry Import, arahkan kursor ke Bangunan, pilih roda
gerigi (edit layer properties) kemudian atur Configure Geometry
Import. Ubah import as Geometry menjadi FeatureCollection. Isi

20
seftiawan.sr@ub.ac.id

property dengan ‘tuplah’ tanpa tanda petik dan value 0 untuk


Bangunan

6. Ulangi langkah 5 untuk setiap kelas klasifikasi. Value Bangunan


adalah 0, Air adalah 1, Sawah adalah 2 dan Vegetasi adalah 3. Semua
property pada setiap kelas klasifikasi ditulis dengan ‘tuplah’ tanpa
tanda petik.
7. Jalankan klasifikasi / klik Run
8. Ubah metode klasifikasi pada perintah berikut:
ee.Classifier.randomForest(), ganti randomForest dengan
berbagai metode klasifikasi lain yang terdapat pada tab Docs

9. Bandingkan hasil setiap metode klasifikasi yang anda coba. Adakah


perbedaan? Dibawah ini adalah contoh hasil klasifikasi randomForest.

21
seftiawan.sr@ub.ac.id

2.2. Uji akurasi hasil klasifikasi multispektral

1. Sub bab ini merupakan kelanjutan dari sub bab 2.1., jangan lakukan
clear script,
2. Pengujian akurasi dapat dilakukan dengan membagi dua sampel
yang telah kita buat sebelumnya dengan komposisi 80 dan 20. 80%
untuk membangun klasifikasi dan 20% untuk melakukan uji akurasi
3. Salin script berikut
//Membagi ROI menjadi 2 (80% untuk membuat model, 20%
untuk menguji model)
training = training.randomColumn({ seed: 1 });
var training = training.filter(ee.Filter.lt('random',
0.8)); // 80%
var validation = training.filter(ee.Filter.lt('random',
0.2)); // 20%

var trainAccuracy =
klasifikasi.confusionMatrix().accuracy();
print('trainAccuracy', trainAccuracy); // 1.0

var testAccuracy = validation


.classify(klasifikasi)
.errorMatrix('tuplah', 'classification')
.accuracy();
print('testAccuracy', testAccuracy); // 1.0

4. Jalankan script / klik Run


5. Ubah metode klasifikasi dan jalankan ulang script pada langkah 3.
Evaluasi perubahan tingkat akurasi pada setiap metode klasifikasi
melalui angka trainAccuracy dan testAccuracy yang muncul pada tab
Console, mengapa demikian?

22
seftiawan.sr@ub.ac.id

2.3. Layout

1. Sub bab ini merupakan kelanjutan dari sub bab 2.2., jangan lakukan
clear script,
2. Apabila telah selesai memproses citra, maka kita dapat melakukan
layout
3. Salin script dibawah ini untuk dapat melakukan layout
// Tetapkan ukuran dan letak legenda
var legend = ui.Panel({
style: {
position: 'bottom-left',
padding: '8px 15px'
}
});

// Membuat judul
var legendTitle = ui.Label({
value: 'Legenda',
style: {
fontWeight: 'bold',
fontSize: '18px',
margin: '0 0 4px 0',
padding: '0'
}
});

// Menampilkan judul ke panel


legend.add(legendTitle);

// Membuat style
var makeRow = function(color, name) {

23
seftiawan.sr@ub.ac.id

// Mewarnai box
var colorBox = ui.Label({
style: {
backgroundColor: '#' + color,

// Use padding to give the box height and width.


padding: '8px',
margin: '0 0 4px 0'
}
});

// Membuat label
var description = ui.Label({
value: name,
style: {margin: '0 0 4px 6px'}
});

// Mengambalikan panel
return ui.Panel({
widgets: [colorBox, description],
layout: ui.Panel.Layout.Flow('horizontal')
});
};

// Memberi warna
var palette =['ff0000', '0000ff', 'ffff00', '008000'];

// Menamai legenda
var names = ['Bangunan','Air','Sawah','Vegetasi'];

// Menambahkan warna dan nama


for (var i = 0; i < 4; i++) {

24
seftiawan.sr@ub.ac.id

legend.add(makeRow(palette[i], names[i]));
}

// Menambahkan legenda ke peta atau dapat juga di print


pada console
Map.add(legend);

4. Anda dapat mengubah setelan legenda dan warna kemudian lihat


perubahan yang terjadi. Berikut ini adalah contoh hasil klasifikasi
beserta layoutnya.

5. Apabila anda telah selesai melakukan semua proses diatas, Save script
anda dan lakukan Clear Script untuk melanjutkan sub bab
selanjutnya.

25
seftiawan.sr@ub.ac.id

2.4. Normalized Difference Vegetation Index (NDVI)

1. Cari ‘Banyuwangi’ pada bagian Search Places and Datasets …


kemudian klik,
2. Letakkan ROI berupa poin pada Kota Banyuwangi yang telah tampil
pada peta, ubah nama Geometry menjadi Banyuwangi

3. Cari ‘Sentinel 2’ pada bagian Search Places and Datasets … kemudian


pilih Sentinel 2 MSI: MultiSpectral Instrument level 1 C, pilih import,

pada bagian Imports, ubah imageCollection menjadi Sent2, kemudian


Enter

26
seftiawan.sr@ub.ac.id

4. Salin script dibawah ini


// Pilih citra
var image = ee.Image(Sent2

// Pilih tanggal
.filterDate("2015-07-01", "2017-09-30")

// Pilih tempat sesuai Region of Interest (ROI)


.filterBounds(Banyuwangi)

// Pilih property metadata


.sort("CLOUD_COVERAGE_ASSESSMENT")

// Pilih citra yang paling bersih dari awan


.first());

// Print citra
print("A Sentinel-2 scene:", image);

// Pilih komposit true colour


var trueColour = {
bands: ["B4", "B3", "B2"],
min: 0,
max: 3000
};

// Tampilkan citra true colour


Map.addLayer(image, trueColour, "true-colour image");

// Pilih komposit false colour


var falseColour = {
bands: ["B8", "B4", "B3"],

27
seftiawan.sr@ub.ac.id

min: 0,
max: 3000
};

// Tampilkan citra false colour


Map.addLayer(image, falseColour, "false-color
composite");

//Hitung NDVI
var nir = image.select('B8'); //definisikan bandnya
var red = image.select('B4'); //definisikan bandnya
var NDVI =
nir.subtract(red).divide(nir.add(red)).rename('NDVI');

// Tampilkan hasil NDVI dari Sentinel


Map.addLayer(NDVI, {min: 0, max: 1}, "NDVI");
Map.centerObject(Banyuwangi,9);

5. Jalankan script / klik Run


6. Aktifkan tab Inspector, klik di sembarang tempat pada citra hasil
pemrosesan, lihat dan evaluasi nilai yang muncul. Pada contoh
dibawah ini kursor diletakkan pada Alas Purwo, Banyuwangi dan nilai
NDVI yang muncul sebesar 0,68

28
seftiawan.sr@ub.ac.id

7. Lakukan evaluasi hasil nilai NDVI pada beberapa titik. Nilai NDVI akan
berkisar antara -1 hingga +1 dimana mendekati nilai -1 (rona gelap)
menunjukkan daerah lahan terbuka sedangkan mendekati nilai +1
(rona putih / cerah) menandakan area bervegetasi lebat. Dibawah ini
adalah contoh citra hasil pengolahan NDVI (atas) dan citra false colour
komposit 843 (bawah).

8. Save dan clear script untuk melanjutkan sub bab selanjutnya

29
seftiawan.sr@ub.ac.id

2.5. Normalized Difference Water Index (NDWI)

1. Unggah shp lewat Asset seperti yang telah dijelaskan pada sub bab
1.5. Fungsi ekspor dan impor pada GEE, pada modul ini, shp yang
diunggah adalah batas administrasi Provinsi Kalimantan Selatan.
Anda dapat menggunakan batas administrasi wilayah lain.
2. Setelah shp selesai diunggah, pilih Import into script

3. Ubah nama ‘table’ menjadi ‘kalsel’ pada Imports


4. Salin script dibawah ini
// Tampilkan sentinel2
// Tampilkan shp poligon batas kalsel yang telah diupload
var sentinel2 = ee.ImageCollection("COPERNICUS/S2"),
kalsel =
ee.FeatureCollection("users/seftiawansr/Kalsel");

// Potong citra dan pilih periode perekaman


// Pilih citra dengan tutupan awan paling minimal
// Membuat mozaik citra
var image_wet = sentinel2
.filterBounds(kalsel)
.filterDate('2018-10-01', '2019-03-30')
.sort('CLOUDY_PIXEL_PERCENTAGE', false)
.map(function(image) {

30
seftiawan.sr@ub.ac.id

return
image.addBands(image.metadata('system:time_start'));
})
.mosaic()
.clip(kalsel);

var image_dry = sentinel2.filterDate('2019-04-01',


'2019-09-30')
.filterBounds(kalsel)
.sort('CLOUDY_PIXEL_PERCENTAGE', false)
.map(function(image) {
return
image.addBands(image.metadata('system:time_start'));
})
.mosaic()
.clip(kalsel);

// Menghitung NDWI
var ndwi_wet = image_wet.normalizedDifference(['B3',
'B8']);
var ndwi_dry = image_dry.normalizedDifference(['B3',
'B8']);

// Tampilkan hasil NDWI


var waterPalette = ['red', 'yellow', 'green', 'blue'];
Map.addLayer(ndwi_wet, {min: -1, max: 0.5, palette:
waterPalette}, '2019 wet season NDWI');
Map.addLayer(ndwi_dry, {min: -1, max: 0.5, palette:
waterPalette}, '2019 dry season NDWI');
Map.centerObject(kalsel, 8);

5. Jalankan script / klik Run

31
seftiawan.sr@ub.ac.id

6. Evaluasi tampilan hasil pemrosesan citra demikian pula nilai


statistiknya melalui tab Console. Adakah perbedaan nilai area yang
berair dan tidak berair pada tahun perekaman yang berbeda?
Mengapa demikian? Gambar berikut adalah contoh hasil pemrosesan
NDWI dry season (atas) dan wet season (bawah)

7. Save dan clear script anda

32
seftiawan.sr@ub.ac.id

2.6. Sea Surface Temperature (SST) dan Chlorophyll-a

1. Cari Indonesia pada Search Places and Datasets …, kemudian buat ROI
berupa kotak (draw a rectangle) di atas Negara Indonesia, ubah
‘geometry’ menjadi ‘batas’,
2. Salin script dibawah ini untuk identifikasi SST
var dataset =
ee.ImageCollection('NASA/OCEANDATA/MODIS-Aqua/L3SMI')
.filterDate('2019-01-01', '2019-12-31')
.map(function(dataset){return
dataset.clip(batas)});
var remoteSensingReflectance =
dataset.select(['sst']);
var remoteSensingReflectanceVis = {
min: -2,
max: 40,
palette:['040274', '040281', '0502a3', '0502b8',
'0502ce', '0502e6',
'0602ff', '235cb1', '307ef3', '269db1', '30c8e2',
'32d3ef',
'3be285', '3ff38f', '86e26f', '3ae237', 'b5e22e',
'd6e21f',
'fff705', 'ffd611', 'ffb613', 'ff8b13', 'ff6e08',
'ff500d',
'ff0000', 'de0101', 'c21301', 'a71001', '911003']
};

Map.centerObject(roi, 4);
Map.addLayer(
remoteSensingReflectance, remoteSensingReflectanceVis,
'MODIS SST 2019');

33
seftiawan.sr@ub.ac.id

3. Salin script dibawah ini untuk identifikasi Klorofil-a


var dataset =
ee.ImageCollection('NASA/OCEANDATA/MODIS-Aqua/L3SMI')
.filterDate('2019-01-01', '2019-12-31')
.map(function(dataset){return
dataset.clip(batas)});
var remoteSensingReflectance =
dataset.select(['chlor_a']);
var remoteSensingReflectanceVis = {
min: 0,
max: 99.99,
palette:['040274', '040281', '0502a3', '0502b8',
'0502ce', '0502e6',
'0602ff', '235cb1', '307ef3', '269db1', '30c8e2',
'32d3ef',
'3be285', '3ff38f', '86e26f', '3ae237', 'b5e22e',
'd6e21f',
'fff705', 'ffd611', 'ffb613', 'ff8b13', 'ff6e08',
'ff500d',
'ff0000', 'de0101', 'c21301', 'a71001', '911003']
};

Map.centerObject(roi, 4);
Map.addLayer(
remoteSensingReflectance, remoteSensingReflectanceVis,
'MODIS Chlor-a 2019');

4. Jalankan script poin 4 dan poin 5 / klik Run


5. Apabila anda mengamati, kedua script diatas dijalankan dengan
menggunakan data satelit MODIS namun band yang berbeda yaitu
chlor-a dan sst,

34
seftiawan.sr@ub.ac.id

6. Ganti chlor-a pada var remoteSensingReflectance =


dataset.select(['chlor_a']); dengan nflh dan poc. NFLH adalah
Normalized Fluorescence Line Height, sedangkan POC adalah
Particulate Organic Carbon. Lihat dan evaluasi hasil pemrosesan citra
yang anda lakukan. Berikut adalah contoh hasil identifikasi klorofil-a.

7. Simpan script anda dan lakukan clear script

35
seftiawan.sr@ub.ac.id

2.7. Salinitas

1. Unggah shp yang mencakup wilayah laut melalui Asset. Pada modul
ini, shp yang diunggah adalah Batas WPP NKRI.
2. Setelah shp selesai diunggah, pilih Import into script
3. Ubah nama ‘table’ menjadi ‘WPP’
4. Salin script dibawah ini untuk identifikasi Salinitas
var dataset =
ee.ImageCollection('HYCOM/sea_temp_salinity')
.filter(ee.Filter.date('2018-08-01',
'2018-08-15'))
.map(function(dataset){return
dataset.clip(WPP)});
var seaWaterSalinity = dataset.select('salinity_4');
var visParams = {
min: -20000.0,
max: 15000.0,
palette: ['000000', '005aff', '43c8c8', 'fff700',
'ff0000'],
};
Map.centerObject(WPP,4);
Map.addLayer(seaWaterSalinity, visParams, 'Sea Water
Salinity');

5. klik Run
6. Script diatas menggunakan citra HYCOM. Citra HYCOM dapat
merekam data temperatur perairan dan salinitas mulai dari
kedalaman 0 m - 5000 m. Anda dapat mengecek dataset HYCOM
seperti langkah pada sub bab 1.6.
7. Ubah salinity_4 pada var seaWaterSalinity =
dataset.select('salinity_4'); sesuai band yang dimiliki oleh
Hycom dan lihat hasilnya.

36
seftiawan.sr@ub.ac.id

8. Berikut ini adalah contoh hasil pemrosesan script untuk Salinitas

9. Simpan script dan clear script untuk melanjutkan ke sub bab


berikutnya

37
seftiawan.sr@ub.ac.id

2.8. Marikultur Ikan Kerapu

1. Buka tab Assets, unggah shp WPP 713, kemudian Impor dan beri
nama WPP_713. Anda juga dapat mengganti shp tersebut dengan
batas lainnya yang mencakup wilayah laut,
2. Dari “Search Places and Dataset …” cari ETOPO1, kemudian Impor,
ubah nama “Image” menjadi ETOPO1, kemudian tekan Enter,
3. Dari “Search Places and Dataset …” cari Landsat Collection 1 Tier 1 TOA
Reflectance, kemudian Impor, ubah nama “Image” menjadi L8,
kemudian tekan Enter
4. Salin script dibawah ini,
var L8filter = L8.filterDate("2015-04-01","2020-04-01")
.filterMetadata("CLOUD_COVER","less_than",10)
.mean();

//Masking dengan menggunakan polygon batas perairan


var datamask = ee.Image.constant(1).clip(WPP_713).mask();

//Masking dengan data Landsat 8 untuk menghilangkan area


yang tidak memiliki nilai dengan melihat salah satu nilai
band
var datamask2 =
L8filter.expression('b4>=0?1:0',{'b4':L8filter.select('B4'
)}).eq(1);

Map.centerObject(WPP_713);

//masking citra Landsat 8


var L8selection =
L8filter.updateMask(datamask).updateMask(datamask2);

//masking batimetri

38
seftiawan.sr@ub.ac.id

var batimetri = ETOPO.select('bedrock')


.updateMask(datamask)
.updateMask(datamask2)
.rename('batimetri');

//Chla
var Chla = L8selection.expression(
'(0.2818*((Merah/(NIR+SWIR))**3.497))',{
//'((2.41*(NIR/Merah))+0.187)',{
'NIR':L8selection.select('B5'),
'SWIR':L8selection.select('B6'),
'Merah':L8selection.select('B4'),
'Hijau':L8selection.select('B3'),
}
).rename('chlor_a');

//SPL1
var SPL1 = L8selection.expression(

'((BT10-273)+(2.946*((BT10-273)-(BT11-273)))-0.038)',{
'BT10':L8selection.select('B10'),
'BT11':L8selection.select('B11'),
}).rename('SPL');

//MPT
var MPT = L8selection.expression('8.1429**(23.704*B4)',{
'B4':L8selection.select('B4')
}).rename('MPT');

//harkat batimetri
var harkatbati = batimetri.expression(

39
seftiawan.sr@ub.ac.id

'batimetri>-5||batimetri<-35?1'+ //kedalaman <5m


atau >35 bobot 1
':
batimetri<=-5&&batimetri>=-15||batimetri<=-26&&batimetri>=
-35?3'+ //kedalaman 5-15m bobot 3
': batimetri<=-15&&batimetri>=-25?5'+
//kedalaman 15-25m bobot 5
': 0',

{'batimetri':batimetri.select('batimetri')}).rename('harka
tbati')

//harkat klorofil-a
var harkatklorofil = Chla.expression(
'chla<4?1'+ //klorofil <4 bobot 1
': chla>=4&&chla<=10?3'+ //klorofil 4-10 bobot 3
': chla>10?5'+ //klorofil >10 bobot 5
': 0',
{'chla':Chla.select('chlor_a')}
).rename('harkatklorofil')

//harkat suhu permukaan laut


var harkatspl = SPL1.expression(
'spl<25&&spl>35?1'+ //suhu <25C atau >35c bobot
1
': spl>=25&&spl<=27||spl>=31&&spl<=32?3' +
//suhu 25-27C atau 31-32C bobot 3
': spl>=28&&spl<=30?5'+ //suhu 28-30C bobot 5
': 0',
{'spl':SPL1.select('SPL')}
).rename('harkatspl')

40
seftiawan.sr@ub.ac.id

//harkat muatan padatan tersuspensi


var harkatmpt = MPT.expression(
'mpt>50?1'+ //padatan tersuspensi >50mg/l bobot
1
': mpt>=26&&mpt<=50?3'+ //padatan tersuspensi
26-50mg/l bobot 3
': mpt<25?5'+ //padatan tersuspensi <25mg/l
bobot 5
': 0', {'mpt':MPT.select('MPT')}
).rename('harkatmpt')

//pembobotan
var bobot =
harkatbati.multiply(3).add(harkatklorofil.multiply(1)).add
(harkatspl.multiply(2)).add(harkatmpt.multiply(3)).rename(
'bobot')
//bobot batimetri x3, klorofil x1, suhu x2, padatan
tersuspensi x3

//Mengkelaskan hasil pembobotan


var kesesuaian = bobot.expression(
'bobot<=11.25?1'+
': bobot<=22.5?2'+
': bobot<=33.75?3'+
': bobot<=45?4'+
': 0',{
'bobot':bobot.select('bobot')
}
).updateMask(datamask).updateMask(datamask2)

//menentukan simbol warna

41
seftiawan.sr@ub.ac.id

var simbol =
{"min":1,"max":4,"palette":["ff2a1f","ffbb23","e6ff1b","19
ff0a"]}

//menampilkan peta dengan menggunakan simbol


Map.addLayer(kesesuaian, simbol)

5. Jalankan script / klik Run


6. Kemudian salin kembali script dibawah ini untuk membuat layout
pada hasil pemrosesan,
//Membuat Legenda
//Menentukan Posisi Legenda
var legend = ui.Panel({
style: {
position: 'bottom-left',
padding: '8px 15px'
}
});

//Membuat judul legenda


var legendTitle = ui.Label({
value: 'Kesesuaian',
style: {
fontWeight: 'bold',
fontSize: '18px',
margin: '0 0 4px 0',
padding: '0'
}
});
legend.add(legendTitle);

42
seftiawan.sr@ub.ac.id

// Membuat baris legenda yang berisi kotak warna dan nama


kelas
var makeRow = function(color, name) {

// Membuat kotak simbol


var colorBox = ui.Label({
style: {
backgroundColor: '#' + color,
padding: '8px',
margin: '0 0 4px 0'
}
});

// Membuat nama kelas


var description = ui.Label({
value: name,
style: {margin: '0 0 4px 6px'}
});

// memposisikan simbol dan nama kelas


return ui.Panel({
widgets: [colorBox, description],
layout: ui.Panel.Layout.Flow('horizontal')
});
};

// Menentukan warna kelas


var palette =['19ff0a','e6ff1b','ffbb23', 'ff2a1f'];

// Menentukan nama kelas


var names = ['Sangat Sesuai','Sesuai','Cukup
Sesuai','Tidak Sesuai'];

43
seftiawan.sr@ub.ac.id

// Menambahkan warna dan nama kelas sesuai dengan urutan


for (var i = 0; i < 4; i++) {
legend.add(makeRow(palette[i], names[i]));
}
Map.add(legend);

//Membuat Judul Peta


//Menentukan posisi Judul Peta
var title = ui.Panel({
style: {
position: 'bottom-left',
padding: '8px 15px'
}
});

//Membuat isi Judul Peta


var textTitle = ui.Label({
value: 'Kesesuaian Budidaya Ikan Kerapu',
style: {
fontWeight: 'bold',
fontSize: '20px',
margin: '0 0 4px 0',
padding: '0'
}
});
title.add(textTitle);
Map.add(title)

44
seftiawan.sr@ub.ac.id

7. Berikut hasil yang diperoleh

8. Simpan script dan clear script untuk melanjutkan ke sub bab


berikutnya

45
seftiawan.sr@ub.ac.id

2.9. Sentinel 1A untuk Memantau Kapal

1. Buatlah ROI berupa poin di dekat Pelabuhan Tanjung Perak, Surabaya


2. Salin script dibawah ini
// Filter citra VV dari descending track
var collectionVV = ee.ImageCollection('COPERNICUS/S1_GRD')
.filter(ee.Filter.eq('instrumentMode', 'IW'))

.filter(ee.Filter.listContains('transmitterReceiverPolaris
ation', 'VV'))
.filter(ee.Filter.eq('orbitProperties_pass',
'DESCENDING'))
.filterBounds(roi)
.select(['VV']);
print(collectionVV);

// Filter citra VH dari descending track


var collectionVH = ee.ImageCollection('COPERNICUS/S1_GRD')
.filter(ee.Filter.eq('instrumentMode', 'IW'))

.filter(ee.Filter.listContains('transmitterReceiverPolaris
ation', 'VH'))
.filter(ee.Filter.eq('orbitProperties_pass',
'DESCENDING'))
.filterBounds(roi)
.select(['VH']);
print(collectionVH);

// Menuju ROI
Map.centerObject(roi, 13);

var VV = collectionVV.median();

46
seftiawan.sr@ub.ac.id

// Tampilkan citra VV
Map.addLayer(VV, {min: -20, max: -5}, 'VV');

// Stack 3 citra dari 3 periode perekaman


var VV1 = ee.Image(collectionVV.filterDate('2018-01-01',
'2018-04-30').median());
var VV2 = ee.Image(collectionVV.filterDate('2018-05-01',
'2018-08-31').median());
var VV3 = ee.Image(collectionVV.filterDate('2018-09-01',
'2018-12-31').median());

// Tampilkan ke peta
Map.addLayer(VV1.addBands(VV2).addBands(VV3), {min: -12,
max: -7}, 'Season composite');

3. Klik Run
4. Contoh tampilan yang akan dihasilkan

47
seftiawan.sr@ub.ac.id

5. Terdapat titik - titik berwarna biru, hijau, merah diatas perairan, itu
adalah kapal yang terekam oleh Sentinel - 1A
6. Ubah tanggal perekaman sesuai keinginan kalian pada perintah
berikut var VV1 =
ee.Image(collectionVV.filterDate('2018-01-01',
'2018-04-30').median());
var VV2 = ee.Image(collectionVV.filterDate('2018-05-01',
'2018-08-31').median());
var VV3 = ee.Image(collectionVV.filterDate('2018-09-01',
'2018-12-31').median());
7. Amati kembali kapal yang terekam, apakah sama dengan tanggal
perekaman sebelumnya? Mengapa demikian?
8. Simpan script dan clear script untuk melanjutkan ke sub bab
berikutnya

48
seftiawan.sr@ub.ac.id

2.10. Ocean Colour SMI: MODIS Aqua

1. Unggah WPP 713 ke dalam Import dan beri nama dengan ‘batas’
2. Salin script dibawah ini:
var dataset =
ee.ImageCollection('NASA/OCEANDATA/MODIS-Aqua/L3SMI')
.filterDate('2020-01-01', '2020-05-30')
.map(function(dataset){return
dataset.clip(batas)});
var remoteSensingReflectance =
dataset.select(['Rrs_645', 'Rrs_555', 'Rrs_443']);
var remoteSensingReflectanceVis = {
min: 0.0,
max: 0.011,
};

Map.centerObject(batas, 4);
Map.addLayer(
remoteSensingReflectance,
remoteSensingReflectanceVis,
'Remote Sensing Reflectance');

3. Klik Run
4. Contoh hasil yang akan ditampilkan

49
seftiawan.sr@ub.ac.id

2.11. Zona Intertidal

1. Ketik Indonesia pada Search places and datasets …


2. Buat sebuah poin ROI diatas Negara Indonesia, beri nama ‘roi’,
3. Salin script dibawah ini,
var dataset =
ee.ImageCollection('UQ/murray/Intertidal/v1_1/global_inter
tidal');

var visualization = {
bands: ['classification'],
min: 0.0,
max: 1.0,
palette: ['0000FF']
};

Map.centerObject(roi,4);

Map.addLayer(dataset, visualization, 'Intertidal areas');

4. Klik Run,
5. Contoh hasil yang akan ditampilkan

50
seftiawan.sr@ub.ac.id

6. Lakukan perbesaran (zoom) pada beberapa pulau di Indonesia, kalian


akan melihat terdapat warna biru pada pesisir pantai di setiap pulau,
7. Area yang berwarna biru tersebut adalah Zona Intertidal hasil
klasifikasi citra Landsat sejak tahun 1984 - 2017 yang telah diproses
dan disimpan dalam dataset GEE. Anda dapat memanfaatkan dataset
ini untuk penelitian dan membandingkannya dengan kondisi saat ini.
8. Simpan script dan clear script untuk melanjutkan ke sub bab
selanjutnya,

51
seftiawan.sr@ub.ac.id

2.12. Mangrove

1. Ketikkan Indonesia pada Search places and datasets …


2. Buat sebuah poin ROI diatas Indonesia dan beri nama ‘roi’,
3. Salin script dibawah ini,
var dataset =
ee.ImageCollection('LANDSAT/MANGROVE_FORESTS');
var mangrovesVis = {
min: 0,
max: 1.0,
palette: ['d40115'],
};
Map.centerObject(roi, 9);
Map.addLayer(dataset, mangrovesVis, 'Mangroves');

4. Klik Run
5. Hasil yang akan ditampilkan seperti ini,

6. Lakukan perbesaran pada beberapa pulau di Indonesia, akan terlihat


warna merah di wilayah pesisir

52
seftiawan.sr@ub.ac.id

7. Area berwarna merah tersebut adalah wilayah yang ditumbuhi oleh


Mangrove pada tahun 2000 - 2001 hasil klasifikasi citra Landsat
sebanyak 1000 scene dan telah disimpan dalam dataset GEE. Anda
dapat memanfaatkan dataset ini untuk penelitian dan
membandingkannya dengan kondisi saat ini.
8. Simpan script dan clear script untuk melanjutkan ke sub bab
selanjutnya,

53
seftiawan.sr@ub.ac.id

2.13. Global Fishing and Vessel Watch

1. Buka code editor yang baru / clear script


2. Salin script dibawah ini
var dataset =
ee.ImageCollection('GFW/GFF/V1/fishing_hours')
.filter(ee.Filter.date('2016-12-01',
'2017-01-01'));
var trawlers = dataset.select('trawlers');
var trawlersVis = {
min: 0.0,
max: 5.0,
};
Map.setCenter(16.201, 36.316, 7);
Map.addLayer(trawlers.max(), trawlersVis, 'Trawlers');

3. Klik Run
4. Akan muncul hasil seperti ini

5. Atur transparansi layer agar terlihat peta dasarnya,

54
seftiawan.sr@ub.ac.id

6. Ubah area menjadi Indonesia dan ubah var trawlers =


dataset.select('trawlers'); sesuai pilihan band pada dataset
Global Fishing Watch (GFW) di GEE. Anda dapat memanfaatkan
dataset ini untuk penelitian dan membandingkannya dengan kondisi
saat ini.
7. Simpan script dan clear script untuk melanjutkan ke sub bab
selanjutnya.

55
seftiawan.sr@ub.ac.id

Referensi untuk mendapatkan source code

https://github.com/CoralMapping/gee-mapping-source
https://sites.google.com/ugm.ac.id/gee-machine-learning/home
https://spatialmate.com/earth-engine-pemodelan-kesesuaian-lokasi-budida
ya-kerapu/
https://www.geospatialecology.com/
https://www.intertidal.app/home

56
seftiawan.sr@ub.ac.id

03 Latihan Membuat dan Memodifikasi


Script
Pada bab 3 anda diminta untuk membuat dan memodifikasi script
yang sudah anda ketahui pada bab 2. Modifikasi script dapat dilakukan
seputar lokasi, waktu pemantauan, perubahan parameter dan lainnya.

Pilihlah 3 topik dari bab 2 dan lakukan modifikasi terhadap hasil


pemrosesan citra tersebut. Deskripsikan hasilnya dan sertakan hasil print
screen hasil pemrosesan. Kumpulkan hasil pekerjaan anda kepada dosen
pengampu / asisten. Selamat bekerja!

57

Anda mungkin juga menyukai