LAPORAN PRAKTIKUM GEOLOGI PENGINDRAAN JAUH
ACARA: GEE DAN CHIRPS
Disusun Oleh:
Mutiara Suci Pranita 211001201040123
LABORATORIUM SUMBER DAYA GEODINAMIK DEPARTEMEN TEKNIK GEOLOGI
FAKULTAS TEKNIK UNIVERSITAS DIPONEGORO
SEMARANG MEI 2023
BAB II
LANGKAH PENGERJAAN
2.1 Langkah kerja GEE
2.1.1 Upload Shapefile Kavling
1) Membuka website Google Earth Engine (GEE) yaitu (https://code.earthengine.google.com/).
Kemudian akan muncul tampilan sebagai berikut:
2) Kemudian lakukan input data shp kavling daerah penelitian dengan melalui panel Assets, lalu klik New, selanjutnya upload pilih shape file.
3)
4) Pilih select pada bagian source files, lalu pilih shp kavling dan pastikan nama shp kavling tidak ada spasinya. Sesuaikan format extension shp yang diinput, selanjutnya klik Upload.
5) Double klik pada shp kavling pada panel assets, kemudian import untuk memanggil data shp dalam bentuk script
6) Langkah selanjutnya adalah mengubah var ‘table’ menjadi var ‘kavling’, sebagai berikut:
7) Kemudian masukkan script di bawah. Script ini bertujuan untuk memunculkan data shp kavling ke dalam GEE.
var shp = ee.FeatureCollection(kavling)
Map.addLayer(shp, {}, 'kavling') var shp = ee.FeatureCollection(kavling)
*Script tersebut berfungsi untuk menampilkan batas kavling di Google Earth Engine. Batas kavling tersebut diambil dari file shp atau shapefile yang telah diimpor ke dalam Google Earth Engine. Setelah diimpor, script akan memproyeksikan batas kavling tersebut dan menampilkannya di Google Earth Engine. Dengan begitu, pengguna dapat melihat dengan jelas batas-batas kavling pada peta. Hal ini sangat berguna untuk berbagai keperluan, seperti pemetaan lahan, perencanaan pembangunan, atau pemantauan perubahan lahan.
2.1.3 Analisis Banjir : Sentinel-1
1) Buka katalog GEE di https://developers.google.com/earth-engine/datasets/, lalu pilih tab
"Sentinel" dan cari dataset "Sentinel-1 SAR GRD".
2) Silakan klik tab "Bands" untuk memilih band yang ingin digunakan dalam analisis.
Kemudian, salin (copy) skrip yang ingin digunakan dan tempelkan (paste) ke dalam konsol Code Editor di Google Earth Engine. Dengan begitu, dapat menjalankan analisis menggunakan skrip yang telah disiapkan.
3) Sesuaikan skrip dengan karakteristik dan spesifikasi citra yang ingin ditampilkan.
Skrip tersebut bertujuan untuk mengambil data Synthetic Aperture Radar (SAR) dari satelit Copernicus Sentinel-1 yang tersedia di Google Earth Engine (GEE) dengan spesifikasi tertentu, yaitu:
- Memfilter koleksi gambar yang hanya memiliki polarisasi transmitter-receiver VH (vertikal-horizontal), mode instrumen IW (Interferometric Wide Swath), serta gambar yang diambil pada jalur satelit yang bergerak ke arah selatan (DESCENDING) atau ke arah utara (ASCENDING).
- Memfilter gambar yang diambil pada rentang waktu tertentu dan wilayah yang ditentukan oleh variabel kavling.
4) masukkan skrip yang dimaksud dan jalankan dengan menekan tombol "Run".
Fungsi dari skrip tersebut adalah untuk menampilkan informasi terkait koleksi gambar Sentinel-1 yang sudah difilter sebelumnya. Informasi yang ditampilkan meliputi jumlah
citra yang tersedia, informasi mengenai tempat dan waktu pengambilan gambar, serta informasi lain yang relevan, dan dapat dilihat pada tab Console.
5) Untuk memvisualisasikan citra, masukkan skrip berikut ke dalam editor kode, jalankan dengan menekan tombol "Run", dan gunakan opsi Layers pada GEE untuk membandingkan citra.
Fungsi dari skrip tersebut adalah untuk menampilkan visualisasi citra Sentinel-1 yang telah difilter berdasarkan rentang waktu dan wilayah tertentu. Citra pada setiap rentang waktu akan diproses menggunakan metode .mosaic() untuk menggabungkan seluruh citra yang tersedia menjadi satu citra hasil akhir.
6) Gunakan script di bawah ini untuk melakukan speckle filtering pada citra dan mengurangi noise:
//############################
// Speckle Filtering Functions //############################
// Function to convert from d function toNatural(img) {
return ee.Image(10.0).pow(img.select(0).divide(10.0));
}
//Function to convert to dB function toDB(img) {
return ee.Image(img).log10().multiply(10.0);
}
//Apllying a Refined Lee Speckle filter as coded in the SNAP 3.0 S1TBX:
//https://github.com/senbox-org/s1tbx/blob/master/s1tbx-op-sar-
processing/src/main/java/org/esa/s1tbx/sar/gpf/filtering/SpeckleFilters/RefinedLee.java //Adapted by Guido Lemoine
// by Guido Lemoine function RefinedLee(img) {
// img must be in natural units, i.e. not in dB!
// Set up 3x3 kernels
var weights3 = ee.List.repeat(ee.List.repeat(1,3),3);
var kernel3 = ee.Kernel.fixed(3,3, weights3, 1, 1, false);
var mean3 = img.reduceNeighborhood(ee.Reducer.mean(), kernel3);
var variance3 = img.reduceNeighborhood(ee.Reducer.variance(), kernel3);
// Use a sample of the 3x3 windows inside a 7x7 windows to determine gradients and directions var sample_weights = ee.List([[0,0,0,0,0,0,0], [0,1,0,1,0,1,0],[0,0,0,0,0,0,0], [0,1,0,1,0,1,0], [0,0,0,0,0,0,0], [0,1,0,1,0,1,0],[0,0,0,0,0,0,0]]);
var sample_kernel = ee.Kernel.fixed(7,7, sample_weights, 3,3, false);
// Calculate mean and variance for the sampled windows and store as 9 bands var sample_mean = mean3.neighborhoodToBands(sample_kernel);
var sample_var = variance3.neighborhoodToBands(sample_kernel);
// Determine the 4 gradients for the sampled windows
var gradients = sample_mean.select(1).subtract(sample_mean.select(7)).abs();
gradients = gradients.addBands(sample_mean.select(6).subtract(sample_mean.select(2)).abs());
gradients = gradients.addBands(sample_mean.select(3).subtract(sample_mean.select(5)).abs());
gradients = gradients.addBands(sample_mean.select(0).subtract(sample_mean.select(8)).abs());
// And find the maximum gradient amongst gradient bands var max_gradient = gradients.reduce(ee.Reducer.max());
// Create a mask for band pixels that are the maximum gradient var gradmask = gradients.eq(max_gradient);
// duplicate gradmask bands: each gradient represents 2 directions gradmask = gradmask.addBands(gradmask);
// Determine the 8 directions var directions =
sample_mean.select(1).subtract(sample_mean.select(4)).gt(sample_mean.select(4).subtract(samp le_mean.select(7))).multiply(1);
directions =
directions.addBands(sample_mean.select(6).subtract(sample_mean.select(4)).gt(sample_mean.se lect(4).subtract(sample_mean.select(2))).multiply(2));
directions =
directions.addBands(sample_mean.select(3).subtract(sample_mean.select(4)).gt(sample_mean.se lect(4).subtract(sample_mean.select(5))).multiply(3));
directions =
directions.addBands(sample_mean.select(0).subtract(sample_mean.select(4)).gt(sample_mean.se
lect(4).subtract(sample_mean.select(8))).multiply(4));
// The next 4 are the not() of the previous 4
directions = directions.addBands(directions.select(0).not().multiply(5));
directions = directions.addBands(directions.select(1).not().multiply(6));
directions = directions.addBands(directions.select(2).not().multiply(7));
directions = directions.addBands(directions.select(3).not().multiply(8));
// Mask all values that are not 1-8
directions = directions.updateMask(gradmask);
// "collapse" the stack into a singe band image (due to masking, each pixel has just one value (1- 8) in it's directional band, and is otherwise masked)
directions = directions.reduce(ee.Reducer.sum());
//var pal = ['ffffff','ff0000','ffff00', '00ff00', '00ffff', '0000ff', 'ff00ff', '000000'];
//Map.addLayer(directions.reduce(ee.Reducer.sum()), {min:1, max:8, palette: pal}, 'Directions', false);
var sample_stats = sample_var.divide(sample_mean.multiply(sample_mean));
// Calculate localNoiseVariance var sigmaV =
sample_stats.toArray().arraySort().arraySlice(0,0,5).arrayReduce(ee.Reducer.mean(), [0]);
// Set up the 7*7 kernels for directional statistics
var rect_weights = ee.List.repeat(ee.List.repeat(0,7),3).cat(ee.List.repeat(ee.List.repeat(1,7),4));
var diag_weights = ee.List([[1,0,0,0,0,0,0], [1,1,0,0,0,0,0], [1,1,1,0,0,0,0], [1,1,1,1,0,0,0], [1,1,1,1,1,0,0], [1,1,1,1,1,1,0], [1,1,1,1,1,1,1]]);
var rect_kernel = ee.Kernel.fixed(7,7, rect_weights, 3, 3, false);
var diag_kernel = ee.Kernel.fixed(7,7, diag_weights, 3, 3, false);
// Create stacks for mean and variance using the original kernels. Mask with relevant direction.
var dir_mean = img.reduceNeighborhood(ee.Reducer.mean(), rect_kernel).updateMask(directions.eq(1));
var dir_var = img.reduceNeighborhood(ee.Reducer.variance(), rect_kernel).updateMask(directions.eq(1));
dir_mean = dir_mean.addBands(img.reduceNeighborhood(ee.Reducer.mean(), diag_kernel).updateMask(directions.eq(2)));
dir_var = dir_var.addBands(img.reduceNeighborhood(ee.Reducer.variance(), diag_kernel).updateMask(directions.eq(2)));
// and add the bands for rotated kernels for (var i=1; i<4; i++) {
dir_mean = dir_mean.addBands(img.reduceNeighborhood(ee.Reducer.mean(), rect_kernel.rotate(i)).updateMask(directions.eq(2*i+1)));
dir_var = dir_var.addBands(img.reduceNeighborhood(ee.Reducer.variance(), rect_kernel.rotate(i)).updateMask(directions.eq(2*i+1)));
dir_mean = dir_mean.addBands(img.reduceNeighborhood(ee.Reducer.mean(), diag_kernel.rotate(i)).updateMask(directions.eq(2*i+2)));
dir_var = dir_var.addBands(img.reduceNeighborhood(ee.Reducer.variance(), diag_kernel.rotate(i)).updateMask(directions.eq(2*i+2)));
}
// "collapse" the stack into a single band image (due to masking, each pixel has just one value in it's directional band, and is otherwise masked)
dir_mean = dir_mean.reduce(ee.Reducer.sum());
dir_var = dir_var.reduce(ee.Reducer.sum());
// A finally generate the filtered value var varX =
dir_var.subtract(dir_mean.multiply(dir_mean).multiply(sigmaV)).divide(sigmaV.add(1.0));
var b = varX.divide(dir_var);
var result = dir_mean.add(b.multiply(img.subtract(dir_mean)));
return(result.arrayFlatten([['sum']]));
}
Tujuan Script adalah untuk melakukan penyaringan dengan menggunakan filter Refined Lee, yang dapat bermanfaat dalam meningkatkan kualitas citra SAR.
7) Lakukan perubahan satuan citra dengan cara mengeksekusi script berikut → Run.
var before_filtered = ee.Image(toDB(RefinedLee(toNatural(before_image)))) var after_filtered = ee.Image(toDB(RefinedLee(toNatural(after_image)))) Map.addLayer(before_filtered,{min:-25,max:0},'before_filtered')
Map.addLayer(after_filtered,{min:-25,max:0},'after_filtered')
Fungsi dari Script tersebut adalah untuk melakukan perubahan satuan citra agar dapat diaplikasikan filter Refined Lee. Pertama-tama, citra akan diubah dari satuan dB (decibel) ke satuan intensitas backscatter asli menggunakan fungsi toNatural(). Selanjutnya, citra tersebut akan diproses dengan filter Refined Lee. Hasil dari filter Refined Lee kemudian akan diubah kembali ke satuan dB. Setelah itu, citra hasil akhir yang sudah difilter akan disimpan dalam variabel before_filtered dan after_filtered.
8) Untuk memisahkan daerah yang tergenang banjir dari daerah yang tidak tergenang banjir, caranya adalah dengan menentukan nilai threshold. Hal ini dapat dilakukan dengan mengakses tab Inspector, lalu mengklik pada daerah yang tergenang air (berwarna hitam) pada citra after_filtered, tetapi tidak tergenang air pada citra before_filtered. Selanjutnya, bandingkan nilai piksel pada tab Inspector dan lakukan beberapa kali pada titik lainnya.
Dari hasil perbandingan tersebut, tentukan nilai threshold yang menjadi batas antara daerah yang tergenang banjir dan daerah yang tidak tergenang banjir.
9) Silakan masukkan nilai threshold yang telah ditentukan ke dalam script di bawah ini untuk mengetahui daerah yang tergenang banjir → jalankan → lalu akan muncul lapisan sebagai berikut:
var flood = before_filtered.gt(nilai threshold).and(after_filtered.lt(nilai threshold));
var flood_mask = flood.updateMask(flood.eq(1));
Map.addLayer(flood_mask,{palette:['Yellow']},'Flood_Inundation')
Fungsi dari Script tersebut adalah untuk menghasilkan peta inundasi banjir menggunakan citra satelit sebelum dan sesudah banjir pada platform Google Earth Engine dengan memanfaatkan nilai threshold yang telah ditentukan sebelumnya. Citra sebelum banjir akan memiliki nilai piksel yang lebih besar dari nilai threshold, sedangkan citra sesudah banjir akan memiliki nilai piksel yang lebih kecil dari nilai threshold. Peta inundasi banjir ini kemudian akan ditampilkan dalam warna kuning.
10) Isilah nilai threshold yang telah ditentukan pada skrip di bawah ini untuk mengetahui daerah badan air → jalankan → dan akan ditampilkan lapisan berikut.
var water = before_filtered.lt(nilai threshold).and(after_filtered.lt(nilai threshold));
var water_mask = water.updateMask(water.eq(1)) Map.addLayer(water_mask,{palette:['Blue']},'Water')
Fungsi dari Script tersebut adalah untuk memisahkan daerah yang dianggap sebagai badan air dari daratan berdasarkan nilai threshold yang telah ditentukan sebelumnya. Daerah yang diinterpretasikan sebagai badan air kemudian akan ditampilkan dalam warna biru.
11) masukkan script di bawah ini untuk menghitung luas area pada kavling → jalankan → dan periksa hasilnya pada tab Console.
print('Total District Area (Ha)',
kavling.geometry().area().divide(10000)) var stats =
flood_mask.multiply(ee.Image.pixelArea()).reduceRegion({
reducer: ee.Reducer.sum(), geometry: kavling,
scale: 10,
maxPixels: 1e13, tileScale: 16 })
print(stats);
var flood_area =
ee.Number(stats.get('sum')).divide(10000).round();
print('Flooded Area (Ha)', flood_area)
Fungsi dari Script tersebut adalah untuk menghitung luas kavling dan luas daerah terdampak banjir dalam hektar (Ha). Hasil perhitungan tersebut akan ditampilkan pada console.
12) Simpan hasil pekerjaan dengan cara menekan tombol "Simpan" atau "Save" → memberikan nama pada file tersebut → dan menekan tombol "OK" atau "Simpan" untuk menyimpan file.
13) Setelah pekerjaan disimpan, dapat mengaksesnya kembali melalui tab "Script". Di dalam tab ini, akan dapat melihat daftar semua pekerjaan yang telah disimpan sebelumnya.
Kemudian, dapat membuka pekerjaan yang diinginkan dengan mengklik pada nama pekerjaan tersebut.
14) dapat mengekspor hasil analisis banjir dalam format SHP dengan menjalankan script yang telah disediakan dan mengklik tombol Run. Kemudian, pada tab Script, pilih file yang akan diekspor dan klik Run untuk memulai proses eksport.
// Konversi citra biner menjadi vektor
var flood_vector = flood_mask.reduceToVectors({
geometry: kavling,
crs: flood_mask.projection(), scale: 10,
geometryType: 'polygon', eightConnected: false,
labelProperty: 'Flood_Inundation' });
// Mengekspor hasil ke dalam file SHP Export.table.toDrive({
collection: flood_vector,
description: 'flood_inundation_shp', fileFormat: 'SHP'
});
Script tersebut berperan dalam mengubah citra biner banjir menjadi data vektor poligon dan mengekspornya dalam bentuk file SHP (Shapefile) ke Google Drive.
15) . Untuk melakukan export hasil analisis banjir dalam format file SHP ke Google Drive, terlebih dahulu perlu dibuat folder penyimpanan baru dan memberi nama file yang akan diexport. Setelah itu, jalankan script untuk melakukan export tersebut.
16) Cek status pengiriman file pada tab Tugas → Buka di Drive → unduh data untuk dilakukan tata letak atau pemrosesan selanjutnya di ArcGIS.
2.1.4 Analisis MNDWI : Sentinel-2
1) Akses katalog GEE melalui (https://developers.google.com/earth-engine/datasets/) kemudian pilih tab Sentinel dan pilih dataset Sentinel-2 MSI.
2) Memilih tab "Bands" pada katalog GEE untuk menentukan band yang akan digunakan pada analisis. Setelah itu, copy script yang relevan untuk digunakan dalam analisis.
3) Salin script ke Code Editor Console, lalu sesuaikan dengan spesifikasi dan karakteristik citra yang ingin ditampilkan. Kemudian jalankan script tersebut.
// Cloud Masking Function function maskS2clouds(image) {
var qa = image.select('QA60');
// Bits 10 and 11 are clouds and cirrus, respectively.
var cloudBitMask = 1 << 10;
var cirrusBitMask = 1 << 11;
// Both flags should be set to zero, indicating clear conditions.
var mask = qa.bitwiseAnd(cloudBitMask).eq(0) .and(qa.bitwiseAnd(cirrusBitMask).eq(0));
return image.updateMask(mask).divide(10000);
}
//Filtering Image Collections
var image = ee.ImageCollection('COPERNICUS/S2') .filterDate('2022-12-01', '2023-02-28') // Pre-filter to get less cloudy granules.
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 10)) .filterBounds(kavling)
.map(maskS2clouds)
.median() var rgbVis = {
min: 0.004, max: 0.39,
bands: ['B4', 'B3', 'B2'], };
Map.addLayer(image.clip(kavling), rgbVis, 'image');
4) Llakukan analalisis MNDWI dengan cara memasukkannya ke dalam Code Editor, lalu sesuaikan dengan spesifikasi dan karakteristik citra yang ingin ditampilkan, dan akhiri dengan mengeksekusinya dengan mengklik "Run".
//MNDWI
var mndwi = image.normalizedDifference(['B3', 'B11']).rename('MNDWI');
var mndwiParams = { min: 0.004,
max: 0.39,
palette : ['green','blue']
};
print(mndwi, 'MNDWI');
Map.addLayer(mndwi.clip(kavling), mndwiParams, 'MNDWI', 0);
5) Untuk melakukan export hasil analisis banjir dalam format file SHP ke Google Drive, terlebih dahulu perlu dibuat folder penyimpanan baru dan memberi nama file yang akan diexport. Setelah itu, jalankan script untuk melakukan export tersebut.
6) Cek status pengiriman file pada tab Tugas → Buka di Drive → unduh data untuk dilakukan tata letak atau pemrosesan selanjutnya di ArcGIS.
2.2 CHIRPS
1) Untuk membuka dataset CHIRPS, kunjungi halaman web
https://data.chc.ucsb.edu/products/CHIRPS-2.0/. Gambaran awal dari halaman dataset CHIRPS dapat dilihat pada tampilan awal di bawah ini.
2) emukan direktori dengan nama indonesia_monthly/ dan klik folder bils/.
3) Setelah masuk ke folder bils, akan muncul daftar file dataset CHIRPS dengan cakupan wilayah seluruh Indonesia dan rentang waktu bulanan. Pada contoh ini, akan diunduh data mulai dari Januari 2020 hingga Desember 2023. Klik pada masing-masing file untuk mengunduhnya.
4) Untuk memproses data dengan lebih mudah, semua file yang telah di-download dan diekstrak dapat ditempatkan dalam satu folder. Setiap file RAR yang telah diekstrak akan terdiri dari satu file dengan ekstensi .bil dan satu file dengan ekstensi .hdr.
5) Untuk membuka dataset CHIRPS pada ArcMap, klik File, lalu pilih Add Data dan pilih semua file dataset CHIRPS, setelah itu klik Add.
6) Untuk mendapatkan data curah hujan 1 tahun, dilakukan penjumlahan data curah hujan mulai dari bulan 1 hingga 12. Caranya adalah dengan memilih menu Spatial Analyst Tools
- Local - Cell Statistics pada ArcToolbox, atau mencari tool Cell Statistics pada menu Search.
7) Untuk menggunakan menu Cell Statistics, pilih Spatial Analyst Tools - Local - Cell Statistics pada menu ArcToolbox. Selanjutnya, pada kolom Input Raster, pilih semua raster yang ingin digunakan dengan cara men-drag semua layer dari Table of Contents ke kolom Input Raster. Kemudian pada kolom Output Raster, tentukan nama dan lokasi penyimpanan untuk file hasil penghitungan. Pilih opsi SUM pada kolom Overlay Statistics dan biarkan opsi Ignore NoData tercentang. Terakhir, klik OK untuk menjalankan proses penghitungan data curah hujan.
8) Setelah selesai proses Cell Statistics, akan muncul layer baru yang merupakan hasil dari operasi tersebut.
9) Untuk menghilangkan nilai -9999 pada lautan pada dataset CHIRPS yang hanya berisi nilai curah hujan di daratan, gunakan menu ArcToolbox dan pilih Spatial Analyst Tools – Map Algebra – Raster Calculator. Alternatifnya, juga dapat mencari tool Raster Calculator pada menu Search.
10) Pada menu Raster Calculator, gunakan rumus berikut: SetNull(namalayer < 0, namalayer).
Untuk mempermudah, dapat memilih SetNull pada bagian Conditional, kemudian klik nama layer, ketik < 0 setelah t koma, dan kemudian klik nama layer lagi. Selanjutnya, simpan raster tersebut pada kolom Output Raster dan klik OK.
11) Ini adalah data CHIRPS yang telah diproses untuk menghilangkan nilai kurang dari 0.
12) Untuk mengubah format data dari raster menjadi point, gunakan tool Raster to Point pada menu Search.
13) Pada tool Raster to Point, masukkan data curah hujan terakhir pada kolom Input Raster.
Pada kolom Field, isi dengan Value, dan pada kolom Output Point Features, pilih lokasi untuk menyimpan file hasil konversi. Setelah itu, klik OK.
14) Berikut adalah gambaran dari data CHIRPS yang telah diubah dari format raster menjadi format titik:
15) Untuk memberikan sistem koordinat pada data curah hujan, buka menu ArcToolbox dan pilih Data Management Tools - Projections and Transformations - Project. Atau, bisa mencari tool Project (Data Management) pada menu Search.
16) Dalam menu Project, pilih data titik curah hujan pada kolom Input Dataset. Pada kolom Input Coordinate System, pilih WGS 1984. Simpan output pada folder masing-masing pada kolom Output Dataset. Pada kolom Output Coordinate System, pilih zona UTM yang sesuai dengan zona kavling, pada modul ini dipilih zona UTM 50N. Terakhir, klik OK.
17) Untuk menetapkan sistem koordinat pada data frame, klik kanan pada lembar kerja dan pilih Data Frame Properties. Selanjutnya, klik tab Coordinate System dan pilih sistem
koordinat yang sesuai dengan daerah kavling. Terakhir, klik OK untuk menyimpan perubahan.
18) Selanjutnya, shp kavling harus dimasukkan sebelum dilakukan interpolasi dari titik curah hujan yang tersedia.
19) dapat menggunakan tool Select Features untuk memilih titik curah hujan yang berada di sekitar kavling dengan menarik kursor dari titik atas kiri ke titik bawah kanan. Dalam hal ini, titik yang dipilih akan berubah menjadi warna biru. Pastikan untuk memilih beberapa titik di luar batas kavling.
20) Setelah itu, cari alat IDW (Spatial Analyst) pada menu Pencarian.D
21) Di menu IDW, pilihlah layer titik curah hujan pada kolom Input Point Features. Pada kolom Z Value Field, pilih grid_code. Lalu, tentukan nama dan lokasi penyimpanan pada Output Raster. Terakhir, klik Environments.
22) Pada opsi Environments pada menu IDW, buka tab Processing Extent dan pilih layer kavling pada kolom Extent. Kemudian buka tab Raster Analysis dan pilih layer Kavling pada kolom Mask. Setelah itu klik OK pada kedua tab dan klik OK pada menu IDW.
23) Berikut adalah hasil interpolasi IDW terhadap data curah hujan CHIRPS pada daerah kavling
BAB II PEMBAHASAN 3.1 Peta Fluid Innudation
Peta Fluid Inundation adalah peta yang menunjukkan daerah yang dapat tergenang oleh air atau cairan lainnya pada suatu area atau lokasi tertentu, terutama pada saat terjadi banjir atau kondisi aliran air yang meningkat. Peta ini biasanya digunakan untuk memetakan potensi risiko banjir, melacak dan memonitoring pergerakan air, dan membantu dalam perencanaan dan manajemen bencana alam. Daerah lokon dan sekitarnya memiliki potensi banjir yang cukup tinggi karena memiliki lokasi yang relatif dataran rendah
3.2 Peta MNDWI
Peta Modified Normalized Difference Water Index (MNDWI) adalah peta indeks yang digunakan untuk mengidentifikasi dan memetakan area air pada permukaan bumi menggunakan citra satelit. Indeks ini menggunakan nilai reflektansi dari dua band spektral yang berbeda, yaitu band hijau dan band inframerah pendek, dan memberikan hasil berupa skala nilai yang bervariasi antara -1 hingga 1. Nilai positif pada peta MNDWI menunjukkan adanya air, sedangkan nilai negatif menunjukkan permukaan tanah yang kering. Peta MNDWI sering digunakan dalam pemantauan perubahan lahan, penilaian risiko banjir, dan manajemen sumber daya air.
Berdasarkan hasil analisis NDWI pada daerah penelitian, dapat ditarik kesimpulan bahwa pada musim kemarau, tingkat kebasahan di daerah penelitian sangat rendah. Faktor yang mempengaruhinya meliputi cuaca, suhu, dan aspek geologi dan geomorfologi. Namun, terdapat beberapa daerah dengan kebasahan tinggi seperti lembah bentuk lahan struktural dan vulkanik di sekitar Gunung Lokon dan Gunung Bromo, serta Gunung Lokon yang merupakan area badan air. Area tepi kavling yang merupakan bagian lereng atau kaki gunung umumnya memiliki tingkat kebasahan rendah karena suplai air dari hujan dan permukaan rendah.
Pada musim hujan, tingkat kebasahan di daerah penelitian sangat tinggi, dipengaruhi oleh faktor cuaca, suhu, dan aspek geologi dan geomorfologi. Daerah dengan kebasahan tinggi masih terletak di lembah bentuk lahan struktural dan vulkanik di sekitar Gunung Lokon. Tepi kavling pada musim hujan memiliki tingkat kebasahan tinggi karena suplai air yang tinggi dari hujan dan permukaan. Hal ini berpengaruh pada perkembangan vegetasi di daerah tersebut.
Klasifikasi nilai NDWI cocok untuk daerah penelitian karena sesuai dengan hasil citra satelit dan korelasi klasifikasi terbimbing serta peta tata guna lahan yang telah dibuat. Daerah dengan nilai NDWI tinggi umumnya merupakan lembah dan kaki gunung yang memiliki elevasi rendah dan tingkat kebasahan tinggi, yang sesuai dengan karakteristik wilayah tersebut.
3.3 Peta CHIRPS
Peta CHIRPS (Climate Hazards Group InfraRed Precipitation with Station data) adalah peta yang menunjukkan pola curah hujan global berdasarkan pengolahan data satelit dan stasiun cuaca darat. Peta CHIRPS digunakan untuk memonitor kondisi cuaca global, memprediksi kemungkinan terjadinya bencana alam seperti banjir dan kekeringan, serta membantu dalam pengambilan keputusan terkait pertanian dan pengelolaan sumber daya air. Peta ini memiliki resolusi spasial yang tinggi dan mencakup seluruh wilayah di dunia.
Berdasarkan peta curah hujan menggunakan metode Inverse Distance menggunakan data CHIRPS tahun 2020-2022, daerah penelitian menunjukkan tingkat curah hujan yang bervariasi.
Hasil pemetaan menunjukkan bahwa curah hujan tertinggi terjadi di sekitar Gunung Lokon yang berada di sekitar Gunung Lokon, dengan intensitas curah hujan mencapai 2800-3000 mm/tahun. Daerah perbukitan struktural yang masih ditumbuhi hutan dengan vegetasi lebat juga menunjukkan curah hujan yang tinggi, dengan intensitas sekitar 2600-2800 mm/tahun.
Sementara itu, daerah perbukitan bergelombang yang sudah terdapat hunian masyarakat dan aktivitas manusia seperti perkebunan dan pertanian menunjukkan curah hujan sedang, sekitar 2500-2600 mm/tahun, yang dapat membantu sistem ekosistem perkebunan. Daerah sekitar Gunung Bromo, termasuk lereng Gunung Lokon dan lembahannya, menunjukkan curah hujan yang rendah hingga sangat rendah, dengan intensitas sekitar 2100-2500 mm/tahun, yang dipengaruhi oleh kondisi lingkungan yang kering dengan tingkat suhu yang tinggi.